Next Previous Contents

5. 中文 X Window

X Window 系統是 UNIX 下強而有力的圖形環境。XFree86 由 MIT X Window 系統 X11R6 改版而來,它是免費的。

5.1 CXWin

中文 X Window (以下簡稱 CXWin)是 XFree86 的一個修補(patch),使得它可以在 X Window 下顯示中文字型。 作者為交大 李欣叡。 目前的 CXWin 僅支援 BIG5 編碼。CXWin 能讓你擁有中文的下拉選單,中文視窗標題,以及在各種不同的視窗管理員及應用軟體中顯示中文。

如何取得

你可以在此取得 CXWin 3.3:

ftp://linux.cis.nctu.edu.tw/packages/X/Xserver/CXwin/3.3/

如果你使用的是 XFree86 3.2, 你可以在這裡取得 3.2 版的 Linux ELF 格式:

ftp://linux.cis.nctu.edu.tw/packages/chinese/CXwin/binaries/

你僅需要取得你所需要的 X server 即可。例如你用的是 XF86_SVGA, 就取回 XF86_SVGA.gz 就行了。 XF86_SVGA.gz 應該可以在大部份的顯示卡上工作。

如果你的系統是 RPM 相容的,你也可以取得 RPM 包裝的最新版 CXWin 3.3.1:

ftp://linux.cis.nctu.edu.tw/packages/X/Xserver/CXwin/3.3.1/

修補檔(Patches)

如果你有 XFree86 的原始程式碼,你可以在同樣的地點取得修補檔並自行編譯成執行檔。

如何安裝

如果你安裝的是 CXWin 3.3, 首先要確定你有這些 shared libraries(可以用 ldconfig -p 來觀察):

libm.so.5 => /lib/libm.so.5.0.6
libdl.so.1 => /lib/libdl.so.1.7.14
libc.so.5 => /lib/libc.so.5.3.12

如果你用的是 CXWin 3.2, 你需要的是 libc-5.2.18 或以後的版本。

首先,解開以 gzip 壓縮的檔案:

# gzip -d XF86_SVGA.gz
然後以 root 的身份,先將原來的 X server 備份下來:
# cd /usr/X11R6/bin
# mv XF86_SVGA XF86_SVGA_BACKUP
把剛解開的 CXWin 放在適當的地方,並建立適當的符號連結(symbolic link):
# mv /tmp/XF86_SVGA /usr/X11R6/bin
# chown root.bin XF86_SVGA
# chmod 4755 XF86_SVGA
# ln -sf XF86_SVGA X

如果你要安裝的是 RPM 包裝就更簡單了:

# rpm -Uvv XFree86-SVGA-3.3.1-1c.i386.rpm

CXwin 還需要下面四種 BIG5 字型才能正常使用: taipei15, taipei16, taipeik20taipeik24. 請按照下一節方法來安裝這些中文字型。

5.2 安裝中文字型

何處取得字型

很可能你的系統已經安裝了某些中文字型。你可以用下法找出已安裝的 GB 字型:

# xlsfonts | grep gb
-cclib-song-medium-r-normal--0-0-72-72-c-0-gb2312.1980-1
-cclib-song-medium-r-normal--16-160-72-72-c-160-gb2312.1980-1
-isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
-isas-song ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
hanzigb13fs
hanzigb13st
hanzigb16fs
hanzigb16st
hanzigb24st
最後五個是前五個的別名。要得知已安裝的 BIG5 字型用:
# xlsfonts | grep big5
-kc-kai-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1
-kc-kai-medium-r-normal-fantizi-20-200-75-75-c-200-big5.eten.3.10-1
-kc-kai-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-15-150-75-75-c-160-big5.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1
-uw-ming-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1
-uw-ming-medium-r-normal-fantizi-16-160-75-75-c-160-big5.eten.3.10-1
-uw-ming-medium-r-normal-fantizi-20-200-75-75-c-200-big5.eten.3.10-1
-uw-songti-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1
-uw-songti-medium-r-normal-fantizi-20-200-75-75-c-200-big5.eten.3.10-1
-uw-songti-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1
如果你還沒有安裝任何字型,或是想裝更多的字型,都可以在 ftp://ftp.ifcss.org/pub/software/fonts/ 取得。其中 gb/bdf/ 是 GB 字型,big5/bdf 是 BIG5 字型。

安裝 X 字型

假設你取得一 BIG5 字型 eb5-24k2.bdf.gz 與 GB 字型 gb24st.bdf.gz。首先將其轉換為 .pcf 格式

# gzip -cd eb5-24k2.bdf.gz | bdftopcf -t > eb5-24k2.pcf
# gzip -cd gb24st.bdf.gz | bdftopcf -t > gb24st.pcf
# compress *.pcf
然後安裝在 /usr/X11R6/lib/X11/fonts/misc
# mv *.pcf.Z /usr/X11R6/lib/X11/fonts/misc/
# cd /usr/X11R6/lib/X11/fonts/misc
# mkfontdir .
請觀察 fonts.dir,現在應該包括下面兩行
eb5-24k2.pcf.Z -kc-kai-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1
gb24st.pcf.Z -isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
你可以為這些字型名稱建立別名(aliases)。這樣當你使用中文軟體時可以節省打字時間。 在 fonts.alias 加下面兩行
gb24st    "-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0"
taipeik24 "-kc-kai-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1"
再來告訴 X Server 重新讀入字型
# xset fp rehash
如果一切順利,你就可以使用新字型了:
# cxterm -GB -fn 12x24 -fh gb24st &

你也可以將字型放到另外一個目錄下,如 /usr/X11R6/lib/X11/fonts/chinese. 這樣的話你必須加這行到 /etc/XF86Config 的 Section "Files" 中

    FontPath    "/usr/X11R6/lib/X11/fonts/chinese/"

這樣你下次啟動 X Window 時就可使用這些字型了。

將其它字型轉換為 X 字型

由 lwj 所寫的一個 TTF2BDF 程式能讓你將 Windows 的 TTF 字型轉換為 BDF 字型。可從下面地點取得:

ftp://linux.cis.nctu.edu.tw/packages/chinese/TTF2BDF.EXE
這是一個 Win32 程式。因此你必須在 Windows 95/NT 上執行。

再來將 BDF 轉換為 PCF 字型就可以在 X Window 下使用了。(X Window 也可直接用 BDF 字型,但 BDF 字型較大,還是轉換為 PCF 再用較佳。)

# bdftopcf -t < ming.bdf > ming.pcf

你也可將 HBF 字型轉換為 BDF 與 PCF 字型。在此可取得轉換的工具程式:

ftp://ftp.ifcss.org/pub/software/fonts/utils/hbf.tar.gz

# hbftobdf ccfs24.hbf > ccfs24.bdf
# bdftopcf -t < ccfs24.bdf > ccfs24.pcf

其它的字型轉換工具還有:

ftp://crl.nmsu.edu/CLR/multiling/General/ttf2bdf-1.8-ELF.tar.gz
ftp://crl.nmsu.edu/CLR/multiling/General/xmbdfed-3.0.tar.gz
亦為不錯的工具。

5.3 TaBE 及 B5LE

TaBE 及 B5LE(Big5 Locale Environment) 是從 locale 著手為 X Window 加入中文能力的計畫。 若能完成的話可望徹底解決 X Window 下的中文顯示及輸入問題。

因為 TaBE 的作者 shawn 去當兵了,TaBE 的網頁己經被移除了(太慘了吧?),目前計畫也已停擺。

B5LE 的作者是 Thinker < Thinker.bbs@bbs.yzu.edu.tw>. 然而其主要的發展平台是 FreeBSD. 若有人成功在 Linux 上安裝 B5LE 請讓我知道。 相關的網頁資料請見

http://ftp-cnpa.yzit.edu.tw/~thinker/B5LE/


Next Previous Contents