X Window 系统是 UNIX 下强而有力的图形环境。XFree86 由 MIT X Window 系统 X11R6 改版而来,它是免费的。
中文 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/
如果你有 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
, taipeik20
与 taipeik24
.
请按照下一节方法来安装这些中文字型。
很可能你的系统已经安装了某些中文字型。你可以用下法找出已安装的 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 字型。
假设你取得一 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 时就可使用这些字型了。
由 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
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/