用True Type字体让X-Windows靓起来
下面,我以Red Hat 6.2版本为例具体说明一下设置的步骤。
1.取得TrueType字体文件
在我们常用的Windows系统中都内含了Times New Roman和Courier New等美观实用的TrueType字体,它们就在Windows安装目录下的fonts子目录中,那些后缀为ttf的文件都是TrueType字体。当然我们钟爱的中文TrueType字体也在这里,simsun.ttf是宋体,simkai.ttf是楷体,等等;如果你安装了繁体中文支持,那么你还可以看到一个文件mingliu.ttf,那就是繁体中文的字体文件。这么多好东西,尽管放心地拿来用吧!
2.在Linux下建立、设置字体的目录
$ mkdir -p /usr/local/share/fonts/TrueType
将你选定的TrueType字体拷贝到上述目录下,在这里有一个重要的步骤是将字体文件的名称全部修改为小写字母。
在新建的字体目录下,还需要生成一些文件指示字体的信息,我们可以借助一些实用程序,运行以下命令:
$ ttmkfdir -o fonts.scale
将生成字体说明文件:fonts.scale。遗憾的是对于中文字体文件,自动生成的信息不对,好在这是一个文本文件,我们可以人工编辑。我们先来看看fonts.scale文件的例子:
4
simsun.ttf -misc-Simsun- medium-r -normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-Simsun- medium-r -normal--0-0-0-0-p-0-gb2312-0
simkai.ttf -misc-Sim Kai GB2312- medium-r -normal--0-0-0-0-p-0-ascii-0
simkai.ttf -misc-Sim Kai GB2312- medium-r -normal--0-0-0-0-p-0-gb2312-0
第一行的数字代表了本文件中字体信息的行数。从第二行开始每一行说明一种字体,由于即使在同一个字体文件中,不同语言的字符在Linux中都认为是不同的字体,所以一个字体文件的说明可能有好几行。在上面的例子中,定义了四种字体,它们是宋体英文字母、宋体汉字、楷体英文字母和楷体汉字。
看起来好像很复杂,其实看不懂没有关系,真正需要我们进行的修改非常简单,找到中文TrueType字体所在的行,程序自动生成的信息会有英文字母(ascii-0)的那一行,我们只要将该行复制到新的一行,然后将ascii-0替换成gb2312-0即可(对繁体中文应该是big5-0)。别忘了对第一行的数字进行相应的修改,增加了几行就加几。最后一步很简单:
$ mkfontdir
将上面我们得到的fonts.scale文件复制到fonts.dir中。现在目录下有了fonts.scale和fonts.dir两个文件,字体目录设置完成。
3.字体服务器xfs的设置
Red Hat Linux 6.x通过字体服务器xfs来提供对TrueType字体的支持,因此还必须对xfs进行设置才能让X-Window正常使用TrueType字体。运行下面的命令添加新的字体目录:
$ chkfontpath --add /usr/local/share/fonts/TrueType
接着,更新xfs字体服务器:
$ /etc/rc.d/init.d/xfs restart
如果字体目录设置正确,将可以使用新的字体了。如果不行可以试着重新启动X-Xindow。
如果发现没有安装xfs,它是在 XFree86-xfs*rpm中,马上放入安装盘添加。然后设置让它开机后自动启动:
$ chkconfig --add xfs
接着检查在 /etc/X11/XF86Config 文件中的X-Window的字体目录是否有包含有
FontPath “unix/:-1”
这是使用xfs必须的,否则xfs即使运行也无法提供字体给X-Window使用。