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 gb2312
-kc-kai-medium-r-normal-fantizi-0-0-75-75-c-0-gb2312.eten.3.10-1
-kc-kai-medium-r-normal-fantizi-20-200-75-75-c-200-gb2312.eten.3.10-1
-kc-kai-medium-r-normal-fantizi-24-240-75-75-c-240-gb2312.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-0-0-75-75-c-0-gb2312.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-15-150-75-75-c-160-gb2312.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-24-240-75-75-c-240-gb2312.eten.3.10-1
-uw-ming-medium-r-normal-fantizi-0-0-75-75-c-0-gb2312.eten.3.10-1
-uw-ming-medium-r-normal-fantizi-16-160-75-75-c-160-gb2312.eten.3.10-1
-uw-ming-medium-r-normal-fantizi-20-200-75-75-c-200-gb2312.eten.3.10-1
-uw-songti-medium-r-normal-fantizi-0-0-75-75-c-0-gb2312.eten.3.10-1
-uw-songti-medium-r-normal-fantizi-20-200-75-75-c-200-gb2312.eten.3.10-1
-uw-songti-medium-r-normal-fantizi-24-240-75-75-c-240-gb2312.eten.3.10-1
如果你还没有安装任何字型,或是想装更多的字型,都可以在 ftp://ftp.ifcss.org/pub/software/fonts/ 取得。其中 gb/bdf/ 是 GB 字型,gb2312/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-gb2312.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-gb2312.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