bash-2.02$ ls /usr/ports/chinese
CJK big5fonts gbfonts nvi-big5 ted
CVS c2t gbscript nvi-euc-cn tin
Makefile celvis hc nvi-euc-tw xcin
README.html cless hztty pine3
Wnn cnsfonts kcfonts pine4
bg5ps cxterm lunar pkg
big5con gb2ps mule-wnn4 rxvt
- 中文X应用软件Software
Packages Collection中chinese类别中也提供了其他些BIG5和GB 编码字体如gbfonts、kcfonts、big5fongs等软件Software包需要使用pkg_add命令将其安装入系统在真正执行中文X应用时可以使用xlsfont命令可以查看系统中是否有相应字库如:
$ xlsfonts *gb*
-cc-song-medium-r-normal-jiantizi-0-0-75-75-c-0-gb2312.1980-0
-cc-song-medium-r-normal-jiantizi-40-400-75-75-c-400-gb2312.1980-0
-cc-song-medium-r-normal-jiantizi-48-480-75-75-c-480-gb2312.1980-0
-isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
-isas-song ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
hanzigb16fs
hanzigb16st
hanzigb24st
当个字体不存在但同时存在同样编码其他字体时候可以通过在 fonts.alias中定义别名思路方法来帮助解决这个问题除了Packages Collection提供字体的外从网络上也可以得到其他些中文字体在ftp://ftp.css.org站点中收集了很多自由或共享中文字体和中文软件Software
- cxterm
直接启动cxterm只能用于浏览中文而不能进行输入这是由于cxterm需要X系统些资源设置以使用快捷键切换区别输入法并根据设置寻找其输入法对应数据文件要输入中文必须进行设置将资源文件预先载入指定热键、输入法和输入字典所在目录cxterm软件Software包中提供了个缺省资源文件 CXterm.ad些使用者将这个文件中相应资源定义放入~/.Xdefault中用户登录进入X Window时就载入这些资源另外cxterm还提供了个shell脚本 ── CXterm可以在启动cxterm的前完成相应资源设置工作所以般应该 用如下CXterm命令来启动cxterm这种启动方式更为简易
$ CXterm &
在中文仿真终端下使用bash作为shell时会发现在命令行中无法输入中文这是bash对输入进行了额外处理可以在~/.bashrc中设置bash让其通过中文(另个可能原因为stty终端设置):
stty pass8
bind ' convert-meta off'
bind ' meta-flag _disibledevent=/usr/X11R6/lib/wrap.so
export LD_PRELOAD
chinput &
^D
$ cat ~/.xinitrc.orig >> ~/.xinitrc
然而由于这些中文包装软件Software需要处理键盘以用于输入中文直接让包装软件Software接管窗口管理器就使得它也影响窗口键盘控制就使得些热键不能正常使用虽然通过包装KDE使KDE能显示中文菜单和中文提示但为了使用正常键盘操作还是推荐对每个需要中文能力软件Software分别进行包装而不要直接对窗口管理器进行包装所有这些中文包装库都比较新没有经过足够实战考验或测试因此存在问题是难免当包装了窗口管理器时如果包装库出现问题就可能造成X服务器键盘死锁对使用者操作没有反应然而此时系统并没有停止运行可以使用网络连接上去杀死X服务器更改包装设置
中文X服务器
除了在X11库级汉化以支持显示中文能力的外另种使 X Window系统显示中文思路方法是在X服务器级进行汉化汉化X服务器就使得所有西文软件Software能正常显示中文当然它必须没有对8位进行特殊过滤处理并且由于是在服务器低层对中文进行支持因此速度和兼容性也很好XFree86汉化版本称为CXwin也是由台湾开发者首先进行开发当前移植到GB版本为CXwin 0.5为了安装CXwin必须重新编译X Server这样首先就要下载XFree86 服务器源展开后使用Patch命令打上CXwin补丁后重新编译X服务器最后才能生成针对区别硬件中文X服务器那么就可以使用CXwinX 服务器代替原有同样硬件X服务器在X Window下就能够正常显示中文了
X服务器被放到/usr/X11R6/bin目录下例如S3显示卡对应X服务器为XF86_S3需要使用同名CXwin服务器替换原有除了标准 XFree86设置文件的外CXwin还使用配置文件/etc/X11/ChineseConfig来设置中文字体等设置般缺省设置文件就能满足正确显示中文要求由于CXWin是直接替换原有X服务器因此必须保证安装CXwin的前XFree86已经安装和设置正常了
从显示效果来看CXwin 0.5有最佳显示效果会根据区别英文字体大小而选择对应大小中文字体因此除了有时由于汉字字体过大而使得字体被切去部分的外对于字体大小和间距处理最好然而中文输入还要依靠XA或Chinput因此最佳效果应该是使用CXwin用于基本显示XA 或Chinput用于包装某个应用提供中文输入并设置了中文为缺省语言KDE作桌面环境有了这些的后FreeBSD系统就具有了中文桌面操作环境基本中文处理能力了
为了利用CXwin显示而不被包装软件Software截去中文显示能力最好使用不带中文显示能力xa(无CV代码)来管理中文输入此外Chinput也使用了多种区别大小字体来提供输出其显示效果也不错带CV能力xa 使用字体缩放技术来产生合适大小字体但字体缩放会消耗额外系统资源ZhXwin最简单适合简单浏览中文情况
由于CXwin需要针对每个区别X服务器进行修改因此对于区别X 服务器其显示效果存在差异有X服务器具有相当不错显示效果而有效果较差或不能正常显示而有X服务器还不支持中文显示能力需要随着CXwin进步发展各个问题才会被逐渐解决
最新评论