下一页 上一页 目录

5. 中文 X Window 系统

X Window 系统是一个在 UNIX 系统下提供强大图形用户界面环境的软件。XFree86 是从 MIT X Window 系统修改而来的版本,并且也是自由发布的。

5.1 CXWin

中文 X,缩写为 CXWin,实际上是 XFree86 的一个补丁,使得它可以在 X Window 系统下显示中文。它的创始人是 srlee。CXWin 目前只支持 BIG5 码,并且可以让你拥有中文弹出菜单、中文窗口标题,以及在各种窗口管理器和应用程序下显示中文的能力。

如何获取它?

你可以从下面的 ftp 站点获取 CXWin 3.3 版本

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

如果你使用 XFree86 3.2,你可以获取 Linux ELF 格式的 3.2 版本。

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

你所需要做的就是获取相应的 X 服务器。例如,如果你的显卡与 XF86_SVGA 匹配,只需将 XF86_SVGA.gz 下载回家。XF86_SVGA.gz 应该可以在大多数显卡上正常工作。

如果你的系统兼容 rpm,你可以获取最新的 CXWin 3.3.1 rpm 版本。

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

补丁

如果你已经拥有 XFree86 的源代码,你可以在相同的地点获取补丁,自行编译成二进制文件。

安装

如果你的选择是 CXWin 3.3,请确保你拥有这些共享库(你可以使用 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,那么你需要 5.2.18 或更新版本的 libc。

首先,解压缩 gzip 压缩的文件。

# gzip -d XF86_SVGA.gz
复制原始的 X 服务器,作为 root 身份的备份。
# cd /usr/X11R6/bin
# mv XF86_SVGA XF86_SVGA_BACKUP
将解压缩后的 CXWin 放到正确的位置,并创建合适的符号链接。
# 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 字体 才能正常工作:taipei15taipei16taipeik20taipeik24。请按照下一节的方法安装这些中文字体。

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://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
你可以为这些字体创建其他别名,以便在使用中文软件时节省输入时间。在 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 服务器重新加载这些字体,
# xset fp rehash
如果一切正常,你现在就可以使用新字体了
# cxterm -GB -fn 12x24 -fh gb24st &

你也可以将这些字体放在另一个目录中,例如,/usr/X11R6/lib/X11/fonts/chinese。如果这样做,你需要在 /etc/XF86Config 文件的 "Files" Section 中添加这一行,

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

这样,当你下次启动 X 时,你就可以毫无问题地使用这些字体了。

从其他字体到 X 字体的转换

有一个名为 TTF2BDF 的程序,由 lwj 编写,可以让你将 Windows 的 TTF 字体转换为 BDF 字体。你可以从下面这里获取它

ftp://linux.cis.nctu.edu.tw/packages/chinese/TTF2BDF.EXE
这是一个 Win32 程序,因此你必须在 Windows 95 或 NT 上执行它。

下一步是将 BDF 转换为 PCF,然后你就可以在 X 下使用它了。(你也可以直接在 X 下使用 BDF;但 BDF 文件通常尺寸较大,这意味着 PCF 将会是更好的选择。)

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

你也可以将 HBF 转换为 BDF 和 PCF 字体。以下是转换工具的 ftp 站点。

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 下的中文能力问题。如果我们能够完成它们,那么 X 下中文 I/O 带来的问题就可以得到彻底解决。

TaBE 的作者 shawn 已经去台湾服兵役了,TaBE 的主页也已经被移除(太糟糕了?),所以这个项目从那时起就停止了。

B5LE 的作者是 Thinker < Thinker.bbs@bbs.yzu.edu.tw>。然而,主要的平台是 FreeBSD。如果有人在 Linux 平台上成功安装了 B5LE,请告知我。相关的主页列出如下

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


下一页 上一页 目录