Linux中文化之在非XFree86的XServer下使用中文TrueType字库
由于不能获得相关的技术资料, XFree86-3.3.3.1对目前市场上较为流行的一些新型显示卡尚不能提供相应的支持. 这些显示卡包括使用i740芯片的AGP显示卡等. 幸运的是, Precision Insight公司的XBF_i740 X Server提供了对这种显示芯片的支持. 您可以从ftp://ftp.redhat.com/pub/XBF/或ftp://ftp.precisioninsight.com/pub/pi/XBF/ 取来最新的XBF_i740 X Server.由于我们无法获得XBF_i740 X Server的源代码, 所以无法将对中文TrueType字库的支持编译进这种X Server. 您必须使用X Font Server (xfs)为XBF_i740 X Server提供对中文TrueType字库的支持. 具体的做法如下:
1.
获取并安装XBF_i740 X Server
请参照软件包中的相关说明.
2.
配置并运行X Font Server (xfs)
1)
建立X Font Server配置文件
X Font Server的缺省配置文件是/usr/X11R6/lib/X11/fs/config. 如果您的系统上不存在/usr/X11R6/lib/X11/fs这个目录或目录中不存在config文件, 可以检查/etc/X11/fs目录并把其中的config文件拷贝为/usr/X11R6/lib/X11/fs/config. 您必须对这个文件作适当修改. 其中最重要的两点是: 将中文TrueType字库目录 /usr/X11R6/lib/X11/fonts/tt/加进"catalogue"一行和增加一行"deferglyphs = 16". 修改后的config文件大致如下:
# font server configuration file
# $XConsortium: config.cpp,v 1.7 91/08/22 11:39:59 rws Exp $
clone-self = on
use-syslog = off
catalogue = /usr/X11R6/lib/X11/fonts/misc/,
/usr/X11R6/lib/X11/fonts/Speedo/,
/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/75dpi/,
/usr/X11R6/lib/X11/fonts/100dpi/,/usr/X11R6/lib/X11/fonts/tt/
deferglyphs = 16
error-file = /usr/X11R6/lib/X11/fs/fs-errors
# in decipoints
default-point-size = 120
default-resolutions = 75,75,100,100
2)
运行X Font Server
您可在命令行运行下面的命令以启动X Font Server:
[tlc@pht /]# /usr/X11R6/bin/xfs &
X Font Server将在7100端口等待请求. 为方便起见, 您最好把这一行加进系统启动文件, 如/etc/rc.d/rc.local, 以使系统每次启动时都能自动启动X Font Server.
3.
设置X Server启动参数
若要在非XFree86的X Server下使用中文TrueType字库, 启动X Server时必须加上选项"-deferglyphs 16". 如果您设定的系统启动模式是文本模式(runlevel是3), 必须修改/usr/X11R6/bin/startx文件, 把最后一行改为
xinit $clientargs -- -deferglyphs 16 $serverargs
如果您设定的系统启动模式是图形模式(runlevel是5), 即用xdm启动X Server, 必须修改/usr/X11R6/lib/X11/xdm/Xservers文件, 把最后一行改为
:0 local /usr/X11R6/bin/X -deferglyphs 16
4.
运行XBF_i740 X Server并设置中文TrueType字库路径
对于启动为文本模式的系统, 您可以在命令行上用
[tlc@pht /]# startx
启动X Server. 对于启动为图形模式的系统, 在xdm登录窗口登录, xdm程序就会启动 X Server. 然后您必须在X模式下的终端命令行上输入命令
[tlc@pht /]# xset fp+ tcp/localhost:7100
以设置X Server的中文TrueType字库路径. 为避免每次启动X Server都必须手动运行这条命令, 您可以把这条命令加进系统的/usr/X11R6/lib/X11/xinit/xinitrc(对于文本模式)或/usr/X11R6/lib/X11/xdm/Xsession(对于图形模式)文件中, 这样 X Server在每次启动时将自动执行上面这条命令.
现在, 您就可以在非XFree86的X Server下使用中文TrueType字库了.