除了在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的进一步发展,各个问题才会被逐渐解决。
未完,待续。。。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器