Linux目前在全球的使用者已經超過900萬人,在中國的使用者也已經超過10萬人,去年的增長率超過200%。據IOS++發布的統計資料表明,Linux佔有全球Web伺服器總數的28%,比第二名的Windows NT多出5個百分點,在中國的應用也越來越廣泛。
一種作業系統在中國的推廣很大程度上取決於運行於它上面的軟體對中文的處理能力。Linux誕生於國外,其曆史不到十年,但由於它作為最流行的免費UNIX作業系統的獨特魅力,很多其它UNIX系統上的中文軟體已經被移植到Linux上,一些專門為Linux設計的中文軟體也紛紛出現,Linux上的中文環境正在一步步完善。
一個中文環境一般應該具有中文的顯示輸入和列印功能,在目前的Internet環境下還應該包括英漢字典和內碼轉換工具等等。下面將分別介紹Linux平台上的各種中文軟體。
字元中文環境
字元環境下的中文終端對於記憶體小的使用者和系統管理員來說是一個非常有用的工具,目前中文Console分為直接操作硬體和調用svgalib兩種方式,IME大多使用CXterm的tit格式和Xcin的cin格式。
●chdrv是運行在VGA/SVGA控制台上的中文終端類比程式。chdrv由台灣的王佑中維護,目前最新的版本是chdrv-1.0.10,可從ftp://linux.cis.nctu.edu.tw/packages/chinese/chdrv/下載,chdrv的特點是必須用root啟動,支援多個虛擬終端。
●yact 與 chdrv 最大不同的地方是: yact 是通過 svgalib 來顯示,如果你的 svgalib 沒有包含你所使用的顯示卡資料,可能無法使用這個系統。yact的特點是支援1024×768解析度和24點陣的字型檔。下載地址為ftp://linux.cis.nctu.edu.tw/packages/chinese/yact/yactp4.tar.gz
●bcs16 :由於 yact 需要使用 svgalib 1024×768 模式,顯示卡支援並不十分良好, bcs16 就是針對此缺點而由 yact 修改而來的。它僅需 640×480 解析度,因而能在大部分的顯示卡上執行。下載地址為ftp://linux.cis.nctu.edu.tw/packages/chinese/bcs/bcs007a.tgz
●WZCE 是為眾中文系統,是shareware,支援多種IME,可以在ftp://ftp.ihep.ac.cn/pub/chinese/system/wzce-linux-elf-2.22n.tgz下載。
●CCE 是從bcs16改編而來,支援GB內碼,由清華大學的何悅開發。可以在ftp://ftp.turbolinux.com.cn/pub/chinese/system/下載。
●A4TTY 可以同時支援Big5和GBK內碼,可以在ftp://linux.okstation.com/下載。
●KONGB 由筆者從日文版KON移植而來,可以在Linux和FreeBSD上運行。在ftp://ftp.turbolinux.com.cn/pub/chinese/system下載。
X Window 下的中文軟體
X Window下的中文軟體可以分為單獨的應用軟體和中文平台兩種方式。最早出現的中文軟體就是CXterm。這是一個經過修改的XTerm,可以直接在Term中輸入和顯示中文,支援Big5、GB、HZ等內碼,下載地址為ftp://ftp.ifcss.org/pub/software/x-win/cxterm/。其次是台灣的Xcin+Rxvt,是在台灣地區使用比較廣泛的一種輸入解決方案,其特點是加上XA之後可以在不同的X Window應用程式中輸入中文。GB版本下載地址為ftp://ftp.ihep.ac.cn/pub/chinese/system/xcingb-2.2.tar.gz。
目前在X Window下的中文平台的實現方法有兩種,一種是利用封裝原理(Wrapper):“封裝”(WRAP)方案利用了很多UNIX系統運行動態串連的程式時的PRELOAD機制,對X Window系統函數動態庫中的某些函數進行了“封裝”和替換,使之實現支援中文顯示,並可與中文輸入伺服器串連實現中文輸入。
利用動態串連的PRELOAD機制,我們可以對X Window系統的某些函數進行“封裝”,以使原來只是用來處理ASCII碼的函數可以根據輸入情況有區別地處理ASCII碼和中文的編碼,並把“封裝”後的函數做成共用庫,利用設定LD―PRELOAD變數使一個應用程式調用“封裝”後的X函數,而不是直接調用X函數庫中的函數,從而實現不用更改應用程式的原始碼而使它們支援中文處理!
一般來說需要修改的是XDrawString等顯示字串的X11函數。目前實現封裝機制的中文平台有XA、Zhwin、ZWinPro等。
其中XA是最早出現的封裝程式,相對比較簡陋;Zhwin是由宮敏先生開發,基於Chinput的;ZWinPro為於明儉和陳向陽先生開發,比較完善,能夠支援多內碼和螢幕抓詞,並且支援True Type Fonts。
目前已經有可以支援True Type Fonts的X Server,可以通過freetype這套程式庫實現X下的中文字的無級縮放功能。
支援GBK,可以在ftp://ftp.turbolinux.com.cn下載。至於其他的中文軟體如: chpower、hztty、cdict、xdict、xemacs+mule、hc、lyx、ezwgl、chinput,此處不再一一詳細敘述。