上次在《RedHat 6.2 中文显示与输入的设置》中提到中文TrueType字体的使用时,否认了 XFree86 3.3.6 对中文 TTF 字体的支持能力,实在不好意思,其实该版 X 视窗系统对此已具备了能力。
以下是使用步聚:
建立字体存放目录,如:
$ mkdir /usr/X11R6/lib/X11/fonts/TrueType
使用 Windows 所带的字体:
$ cd "where_is_your_windows"/fonts/
$ cp simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType <-- 拷贝简宋体
生成 fonts.dir 文件
$ cd /usr/X11R6/lib/X11/fonts/TrueType
$ ttmkfdir > fonts.dir
注:mkfontdir 用于生成点阵字体的 fonts.dir 文件,ttmkfdir 用于生成 TrueType 字体的 fonts.dir 文件。
由于 ttmkfdir 不能识某些汉字TTF的编码,需手工修改。
生成的 fonts.dir 如下:
fonts.dir
======
1
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.1980-0
生成 fonts.alias 文件
$ cat fonts.dir > fonts.alias
将 fonts.alias 内容改为:
SimSun -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
将字体路径加入配置:
如果你的字体搜索路径是 FontPath "unix/:-1" 的话,说明你是使用 xfs 作为字体搜索代理的,这是 RedHat 的默认配置。此配置适用于网络用户,对于PC用户并无意义。建议在 XFree86 的配置文件中直接指定常用字体搜索路径。以下对这两种方法的设置做个简要的说明:
1. 使用 xfs (RedHat 的默认配置)
勿需修改 /etc/X11/XF86Config 文件。
$ su
# chkfontpath -add /usr/X11R6/lib/X11/fonts/TrueType
如无问题的话,可使用chkfontpath --list 显示所有的搜索路径。
2. 不使用 xfs (推荐)
打开 /etc/X11/XF86Config 文件,将原 FontPath 取消:
# FontPath "unix/:-1"
加入所有的字体路径:
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
取消 xfs 的后台执行:
# setup
在 System services 中取消 xfs。
启动 X,查看中文TTF字体:
$ xfd -fn simsun & <-- 显示字体内容
在 Netscape 中使用 TTF 字体。
启动 netscape,打开属性设置 Edit->Preferences... 在 Appearance(外观)中选择 Fonts(字体)。
For the Encoding: 选择 Simplified Chinese (gb 2312-80)
Variable Width Font(变宽字体): 选择 Simsum (Misc)
Allow Scaling (允许缩放)选中
再次启动 Netscape 使改动生效。