FreeBSD连载53:中文X服务器

来源:岁月联盟 编辑:zhu 时间:2008-01-17
FreeBSD连载53:中文X服务器内容简介:【FreeBSD教程】中文X服务器 除了在X11的库函数级汉化,以支持显示中文的能力之外,另一种使 X Window系统显示中文的方法是在X服务器级进行汉化。汉化X服务器就使得所有的西文软件能正常显示中文,当然它必须没有

  【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的进一步发展,各个问题才会被逐渐解决。

图片内容