Chapter 8. 中文的顯示及輸入

Table of Contents
8.1. Console 下的中文終端機
8.2. X Window 下的中文輸入平台
8.3. X Window 下支援 XIM 的中文終端機
8.4. X Window 下的內建輸入法中文終端機
8.5. 新增輸入法
8.6. 在 Shell 底下的中文輸入
8.7. big5fs - Joliet, VFAT 和 NTFS 檔案系統的中文顯示
8.8. gnuls - 特殊中文檔名和目錄的顯示
8.9. xpdf - 中文 PDF 的顯示

如果您總是從 DOS 的中文系統或是中文 Windows 95 之類的環境下透過 telnet 來利用 FreeBSD 主機的話,您是不需要看本節的 。只有當您直接在一部 FreeBSD 主機螢幕前操作時您才需要在 FreeBSD 上安裝中文系統。

進行中文化的工作,我們先從最簡單的中文終端機做起,若要讓 Virtual Console 擁有顯示及輸入中文的能力,目前有:big5con、zhcon 等中文虛擬終端機軟體可以選擇。

若是打算使用 X Window 的中文環境,則必須安裝一套中文 XIM Server, xcin25 在輸入的部分支援 locale 與 XIM 協定,在 X Window 下的中文輸入是遵循的 X11R6 的標準,也就是說, 只要應用軟體只要有 XIM 的標準,都可以正常的輸入中文,未來的 X window 應用軟體應該漸漸會朝向 XIM 的標準,這樣才可以真正做到 xcin anywhere。 目前已知支援 XIM 的軟體如 bluefishrxvtmozillapyDictgnomeicu

8.1. Console 下的中文終端機

8.1.1. big5con - 類似倚天中文的虛擬終端機

一種在主控台(console)上提供顯示,輸入的中文文字顯示程式, 操作介面類似倚天中文。

big5con 的安裝:

    # cd /usr/ports/chinese/big5con
    # make install

在 console(vty or ttyv?) login 後直接打 et 會進入 big5con

    Ctrl-Alt-9: 嘸蝦米
    Ctrl-Alt-3: 注音
    Ctrl-Alt-6: 詞音

其它按鍵習慣大部分和 et3 同。

若要增加其它輸入法,如倉頡,可編輯 /usr/local/bin/et /usr/local/bin/b5c -altmeta 1 -in9 Boshiamy.tab -in1 cj.tab 加上 -in1 cj.tab 表示 Ctrl-Alt-1 切換到 cj.tab (倉頡)。 /usr/local/lib/xcin/*.tab 有其它輸入法可選用。 其它參數的使用法:/usr/local/lib/xcin/xcin.help

通常 b5cscreen 一起搭配使用,以發揮 buffer & cut-paste & .... 的功效,執行順序為: et(b5c) 先, screen 後,也就是 b5c 儘量在 console login 後立即執行,進入 big5 console 後再跑其它輔助功具。

b5c 造成 console 失常, 可透過 watch -W v0 遠端回復 -- man watch ftp://freebsd.ntu.edu.tw/freebsd/woju/source/vgalib.txt

若螢幕偏掉或花掉,通常是 scan freq 的問題,可利用螢幕硬體 微調開關調整顯示區域的位置和大小。若有裝 XFree86,也可啟動 X 後使用 xvidtune 調整妥當,將最佳參數記入 /usr/local/etc/big5con.cfg

若使用 telnet 無法輸入中文(出現亂碼), 請參考 telnet 一節。

如果執行時有問題,先檢查 /dev/vga 是不是 symlink 到 ttyv0? ls -l /dev/vga,如果不是的話請執行 ln -sf /dev/ttyv0 /dev/vga

snapshot: http://freebsd.sinica.edu.tw/~statue/snapshot/big5con.png

更多的資訊: ftp://www.tw.freebsd.org/pub/taiwan/NTU/woju/binary/b5c.html

WWW: http://sourceforge.net/projects/big5con/

8.1.2. zhcon - 基於 FrameBuffer 的控制台多內碼中文平台

zhcon 是一個基於 FrameBuffer 的控制台多內碼中文平台。他能夠透過 FrameBuffer 在控制台上顯示簡體中文、繁體中文、日文、韓文。

目前版本的 zhcon 擁有以下的特性:

完全支持 FrameBuffer 設備(從640x480x8bpp 到 1024x768x32bpp), 支持多種內碼(GB2312,GBK,BIG5,JIS,KSCM), 並可使用熱鍵在五種內碼間動態切換自動識別GB2312/BIG5內碼, 並能在二者間自動切換可正確識別各種制表符號, 不會出現亂碼可用熱鍵瀏覽歷史螢幕, 支持所有基于碼表的Windows98輸入法和UCDOS輸入法(系統內建12種輸入法)。

zhcon 的安裝:

    # cd /usr/ports/chinese/zhcon
    # make install

功能鍵說明:

    CTRL_SPACE:                     打開/關閉輸入法
    ALT_SPACE:                      顯示/隱藏輸入條
    CTRL_,:                         切換全角/半角
    CTRL_.:                         切換中文標點
    CTRL_F1:                        切換至GB2312內碼
    CTRL_F2:                        切換至GBK內碼
    CTRL_F3:                        切換至BIG5內碼
    CTRL_F4:                        切換至JIS內碼
    CTRL_F5:                        切換至KSCM內碼
    CTRL_F9:                        切換GB2312/BIG5自動識別模式
    CTRL_F10:                       進入選單
    CTRL_ALT_1 - CTRL_ALT_9:        切換輸入法
    CTRL_ALT_0:                     英文輸入

輸入法選項:

    CTRL_ALT_1:                     無蝦米
    CTRL_ALT_2:                     倉頡
    CTRL_ALT_3:                     注音
    CTRL_ALT_8:                     行列30
    CTRL_ALT_9:                     無蝦米

Note: 注音在選字上必須用 ALT_數字 才能選字, 用 + 或 = 換頁。

歷史瀏覽:

    SHIFT_PAGEUP:                   上捲半個螢幕
    SHIFT_PAGEDOWN:                 下捲半個螢幕
    SHIFT_ARROWUP:                  上捲一行
    SHIFT_ARROWDOWN:                下捲一行

snapshot: http://freebsd.sinica.edu.tw/~statue/snapshot/zhcon.png

sourceforge WWW: http://sourceforge.net/projects/zhcon/

main WWW: http://zhcon.gnuchina.org/

8.1.3. cce - 簡體中文終端機環境

該程序是一個類似WZCE,yact和chdrv的控制台中文平台。 進入該環境可以用 "空格+Ctrl" 鍵來切換中文/英文的不同輸入方式, "Ctrl+Alt+0~9" 可以用來改變不同的輸入法。 "Ctrl+Alt+9" 是內碼輸入法。"Ctrl+Alt+0" 是拼音輸入法。 默認情況下,CCE以全拼輸入法作為默認輸入法, 並將五筆輸入法作為第二輸入法。你可以通過使用工具軟件cin2tab (安裝在/usr/lib/ccek中)和tab2cin來創建自己的輸入法。 cin2tab會將輸入法的源文件格式(*.cin)轉換成二進制格式, 而tab2cin完成的是相反的工作。

     Ctrl+Space              切換中文/英文輸入法 
     Ctrl+Alt+0              拼音輸入法 
     Ctrl+Alt+9              內碼輸入法 
     Ctrl+Alt+1              全拼輸入法 
     Ctrl+Alt+2              五筆輸入法 
     Ctrl+Alt+3-Ctrl+Alt+8   其它輸入法

WWW: http://programmer.lib.sjtu.edu.cn/cce/cce.html