网上关于中文输入的文章很多,此处只是想疏理一下几个概念。
1。输入法平台: windows下输入法与输入法平台好像是分不清的,而在Linux下他们的概念还是分开的好,输入法平台是输入法的基础,有时候你安装了某个输入法,却怎么也调不出来,则有可能就是它所需要的平台还没有建立。 几个输入法平台: xcin(x-ChineseInput) ; iiimf(Intranet/Internet Input Method Framework) ; chinaput; ami; XIM(X-InputMethod); 现在很多Linux都是使用xcin,但不巧,Fedora使用了iiimf。有一个地方可以增前一点直观概念:在Fedora中启动gedit,在文件中点右键,会出现输入框架的选择,一些朋友说在Fedora中ctrl+space怎么也唤不出输入法,在这里选择iiimf则可以实现。我想原因是某些软件讲原来Fedora默认使用的iiimf更改成了xcin。 2。输入法: 在 http://www.linuxfans.org 有中文输入法软件专栏,受到好评的有:Fcitx、Scim、Skim、红旗输入法等。 Fcitx:不是基于iiimf平台的,所以Fedora中用ctrl+space是唤不出的,除非你修改配置文件(/etc/gtk-2.0/gtk.immodules),或设置shell变量 “GTK_IM_MODULE=xim” 将你的输入法平台默认启动为XIM; 37c37 < "xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:zh" --- > "xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:zh"
然后修改/etc/X11/xinit/xinitrc.d/xinput文件,配置默认启动的输入法,或者有朋友只修改“XMODIFIERS”、“XIM”两个shell变量,在终端中输入(或放在自己的 ~/.bashrc 中): export XMODIFIERS=@im=fcitx export XIM=fcitx
很遗憾,其他几个输入法和Fcitx一样,都不是基于 iiimf平台的; 还有,scim输入法还需要自己的scim平台支持,分别对应文件:scim-chinese-0.4.1-1fc2.i386.rpm 、 scim-1.0.0-1fc2.i386.rpm; 更加遗憾地告诉你,现在支持iiimf的中文输入只有自带的拼音,叫做 iiimf-le-inpinyin ,所以如果你想使用前述几种nice的输入法,还是做好更换平台的准备。 如果想跟踪RH关于iiimf的测试:http://www.apac.redhat.com/iiimftest/ 一篇讲述Fedora下中文输入的必看文章:http://www.erning.net/zh_CN/archives/000002.html
3。字符集(charset) 字符集(charset)和字体(font)又是一对在Linux中必须搞清楚的概念。简言之,charset负责将文件中字节里的1、0序列按照那种约定标准来解释,字体则负责将一个字以何种美观的造型展现给用户。 Fedora默认使用en_US.UTF-8(英文)、zh_CN.UTF-8(中文)作为charset;使用“locale”命令可以看到与此相关的变量,当然他们都可以被更改;我曾经遇到这样的问题: 安装eclipse3.0后,默认的charset被更改为 zh_CN.GB01830 ,当然这是一个very good的字符集,但Fedora中的工具栏、窗口、title、对话框等很多默认的不是这个,则显示出乱码。 更改默认charset并不难,昨天我只用了两个命令,就由 zh_CN.GB01830 改为 zh_CN.UTF-8: <1>终端下:locale >> ~/.bashrc <2>用gedit打开 .bashrc文件,替换全部 zh_CN.GB01830 为 zh_CN.UTF-8,形如: …… export LANG="zh_CN.UTF-8" export LANG="zh_CN.UTF-8" export LC_CTYPE="zh_CN.UTF-8" export LC_NUMERIC="zh_CN.UTF-8" export LC_TIME="zh_CN.UTF-8" export LC_COLLATE="zh_CN.UTF-8" export LC_MONETARY="zh_CN.UTF-8" export LC_MESSAGES="zh_CN.UTF-8" export LC_PAPER="zh_CN.UTF-8" export LC_NAME="zh_CN.UTF-8" export LC_ADDRESS="zh_CN.UTF-8" export LC_TELEPHONE="zh_CN.UTF-8" export LC_MEASUREMENT="zh_CN.UTF-8" export LC_IDENTIFICATION="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" …… 当然,这样有些鲁莽,呵呵,不过很简单、有效。 
|