中文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的進一步發展,各個問題才會被逐漸解決。