Fcitx 中文输入法在 NetBSD 下的使用
2006-08-09 22:57:00 来源:WEB开发网这篇文章介绍将 Fcitx 3.1.1 移植到 NetBSD-current(3.99.7) 的方法和步骤。
NetBSD 对中文的支持
NetBSD 支持的简体中文编码有 GB2312 和 GB18030。但不支持 GBK,这点需要注意。
源码补丁
Fcitx 虽然是在 Linux 上基于 GNU 库开发的,但跨平台性很好,只需修改一处源码。
--- src/ui.c.orig 2005-03-09 13:14:49.000000000 +0800
+++ src/ui.c
@@ -84,7 +84,7 @@ Bool InitX (void)
SetMyXErrorHandler ();
iScreen = DefaultScreen (dpy);
- convUTF8 = iconv_open ("UTF-8", "GBK");
+ convUTF8 = iconv_open ("UTF-8", "GB18030");
return True;
}
编译选项
NetBSD 系统里面有自己的 iconv,与 Fcitx 所使用的 GNU iconv 不完全兼容, 编译 Fcitx 前需要先安装 converters/libiconv。
Fcitx 可以选择是否使用 Xft,而 Xft 依赖 Fontconfig 软件包。 由于 Fontconfig 2.3 较 2.2 旧版本有大的改动,据我测试,发现与 Xft 2.1.6 不兼容。 造成 Fcitx 不能读取 fontconfig 中信息,无法显示汉字。 你可以根据 NetBSD 系统上这些软件包的版本,使用或禁止 Xft。
环境变量设置
与 GNU/Linux 系统上类似,NetBSD 里面呼叫 Fcitx 也要设置相应的环境变量。 如果你使用的 shell 是 bash,可以在 .xinitrc 或 .xsession 中可以这样设置:
export LC_ALL=zh_CN.eucCN
export LANG=zh_CN.eucCN
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
pkgsrc 包下载
fcitx-3.1.1-NetBSD.tar.bz2 这是一个打好的 fcitx pkgsrc 软件包,将它解压到 inputmethod 目录, 执行 make && make install 即可安装 Fcitx。 如果遇到什么问题,参考上面说明,稍做修改即可。
更多精彩
赞助商链接