Linux中文化之如何在RedHat7.0中安装Chinput3.0中文输入法
作者:Wu YuLun (migr@operamail.com)目录
下载所需要的软件
locale
中文 TrueType 字体
Chinput
致谢
1. 下载所需要的软件
为了顺利的完成安装,你将需要以下软件:
zh_CN (使用 RedHat 7.0 beta 需要下载该文件)
从 RedHat 的 CVS 中下载最新的版本。http://sources.redhat.com/glibc/ 或从我的主页 http://homepage.sanxia.net.cn/~migr 下载。
pth
GNU 的可移植线程库,从 http://www.gnu.org/software/pth 中下载。
unicon2-im
Chinput-3.0.tar.gz
Chinput-3.0-1.patch
ZWinControl.tar.gz (可选)
以上程序从于明俭的主页下载,http://go.163.com/~易做图jian。
2. Locale
当你使用 RedHat 7.0 beta 版时:
你需要下载中文 locale 定义文件 zh_CN。
编译新 locale,以 root 身份执行:localedef -f GB2312 -i zh_CN zh_CN.gb2312 若无错误提示,则编译成功,在 /usr/lib/locale 下会增加 zh_CN.gb2312 目录。
确定在 /usr/lib/gconv/gconv-modules 文件中包含了 alias GB2312-1980// EUC-CN// 一行,若没有,加入它。
使用 export LC_ALL=zh_CN.gb2312 启用中文 locale 支持。执行命令 date,看看有无变化?
为在下一次自动进入中文支持状态,在 HOME 目录下的 .bashrc 中加入:
export LANG=zh_CN.gb2312
export LC_ALL=zh_CN.gb2312
或根据你的需要来设置。
3. 中文 TrueType 字体
为了在 RedHat 7.0 中使用中文 TrueType 字体,应禁用 xfs 字体服务器,xfs 在启动时会自动更新字体目录下的 fonts.dir 文件,这样会影响到我们所作的修改。切换至 root 身份,``su root,执行 setup 工具,关闭 xfs。
进入 /etc/X11 目录,打开 XF86Config-4 文件,将 FontPath 改为你所需要的字体路径。
Section "Files"
# FontPath "unix/:7100"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/default/TrueType"
FontPath "/usr/share/fonts/default/Type1"
EndSection
加载 X-TrueType 字体解释器。
Section "Module"
...
Load "xtt"
EndSection
将你的 Windows 的中文 TrueType 字体复制到 /usr/share/fonts/default/TrueType 目录下,
cp /你的windows映射/windows/fonts/simsun.ttf /usr/share/fonts/default/TrueType
执行 ttmkfdir > fonts.dir,生成 fonts.dir 文件,将 simsun 的字符集改为 gb2312.1980-0。生成 fonts.scale 文件,cat fonts.dir > fonts.scale。
例:fonts.dir
3
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
若你使用 freetype 字体解释器,需将 /usr/X11R6/lib/X11/fonts/encodings.dir 复制到 /usr/share/fonts/default/TrueType。
将 /etc/gtk/gtkrc.zh_CN 中的字体定义改变为 TrueType 字体定义。
style "gtk-default-zh-cn" {
"-misc-SimSun-medium-r-normal--12-0-0-0-p-0-*-*"
}
至此,中文 TrueType 字体安装完成!
4. Chinput
首先完成安装 pth (pth 安装参见其安装说明)。
将 unicon2-im 解到 /usr/lib 目录下。
解开 Chinput-3.0.tar.gz,进入 Chinput-3.0 目录,
patch -p1 < Chinput-3.0-1.patch,make,make install (详细过程参见其安装说明)。
修改 /usr/lib/ZWinPro/Chinput.ad 文件:
由于 XFree86 没有自带的 BIG5 码字体,若你不需要输入 BIG5 码字符,则对 Chinput.ad 做以下调整:
...
chinput.gblocale = zh_CN.gb2312
chinput.big5locale = zh_CN.gb2312
...
chinput.gbfont = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0
chinput.big5font = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0
注意:在 Chinput.ad 的字体定义中,不能出现空格,这是由于 Chinput 的限制。
将 export XMODIFIERS=@im=Chinput 加入你的 HOME 目录下的 .bashrc 文件中。并重新登录,使其生效。
由于 Chinput 需要 libstdc++-lib6.1-2.so.3,而 RedHat 的 compat-libstdc++ 兼容库中只包含 libstdc++-2-lib6.1-1-2.9.0.so,则需手动建立一个库链接:
# ln -s libstdc++-2-lib6.1-1-2.9.0.so libstdc++-lib6.1-2.so.3
安装 ZWinControl,Chinput 控制程序。
至此,Chinput 的安装也完成了!
将 Chinput 加入到你的 GNOME 桌面的自启动程序中吧。
5. 致谢
感谢于明俭及其它的程序员们为 Linux 中文化所作出的贡献。特别感谢 rigel 为 glibc 2.2 重写了中文 locale 文件,并给予我帮助。