电脑技术学习

FreeBSD连载(53):中文X服务器

dn001

中文X服务器

  除了在X11的库函数级汉化,以支持显示中文的能力之外,另一种使 X Window系统显示中文的方法是在X服务器级进行汉化。汉化X服务器就使得 所有的西文软件能正常显示中文,当然它必须没有对8位字符进行特殊的过 滤处理。并且由于是在服务器低层对中文进行支持,因此速度和兼容性也很 好。XFree86的汉化版本称为CXwin,也是由台湾开发者首先进行开发,当前 移植到GB的版本为CXwin 0.5。

  为了安装CXwin,必须重新编译X Server,这样首先就要下载XFree86 的服务器源程序,展开后使用Patch命令打上CXwin的补丁后,重新编译X服务 器。最后才能生成针对不同硬件的中文X服务器,那么就可以使用CXwin的X 服务器代替原有的同样硬件的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的显示,而不被包装软件截去中文显示能力,最好使 用不带中文显示能力的xa(无CV代码)来管理中文输入。此外,Chinput也 使用了多种不同大小的字体来提供输出,其显示效果也不错。带CV能力的xa 使用字体缩放技术来产生合适大小的字体,但字体缩放会消耗额外的系统资 源。ZhXwin最简单,适合简单浏览中文的情况 。

  由于CXwin需要针对每个不同的X服务器进行修改,因此对于不同的X 服务器,其显示效果存在差异,有的X服务器具有相当不错的显示效果,而有 的效果较差,或不能正常显示,而有的X服务器还不支持中文显示能力。需要 随着CXwin的进一步发展,各个问题才会被逐渐解决。

未完,待续。。。  

标签: