这篇文章介绍将 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.eucCNexport LANG=zh_CN.eucCN
export XMODIFIERS=@im=fcitxexport XIM=fcitxexport XIM_PROGRAM=fcitxpkgsrc 包下载
fcitx-3.1.1-NetBSD.tar.bz2 这是一个打好的 fcitx pkgsrc 软件包,将它解压到 inputmethod 目录, 执行 make && make install 即可安装 Fcitx。 如果遇到什么问题,参考上面说明,稍做修改即可。