53 FreeBSD连载:中文X服务器

中文X服务器【53 FreeBSD连载:中文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的进一步发展,各个问题才会被逐渐解决 。
未完,待续 。。。

    推荐阅读