以下步骤都是建立在XFree86-4.3.0.1 GTK+-1.2.10 GTK+-2.2.4 Pango-1.2.5 FreeType-2.1.5 Fontconfig-2.2.1 ,Locale=zh_CN.GB2312上.
一.添加TrueType字体.用到了Windows下simsun.ttf tahoma.ttf tahomabd.ttf
安装完XFree86后,会自动生成了一个TrueType字体目录:
/usr/X11R6/lib/X11/fonts/TTF.这个目录已经包含了一些TrueType字体并且已经配置完毕.
您可以复制其他TrueType字体到这个目录中.也可以在/usr/X11R6/lib/X11/fonts/
目录下建立一个新目录然后把您的TrueType字体放到进去.
创建文件 fonts.scale 和 fonts.dir :
现在进入你放置TrueType字体的目录,然后运行:
mkfontscale &&
mkfontdir
注意:由于SimSun是可缩放字体,你应该要先运行mkfontscale。(XFree4.3才支持的).详情见: http://www.xfree86.org/4.3.0/fonts2.html
另外:你可能需要手动修改这两个文件。参考:
http://fractal.csie.org/~eric/wiki/Fontconfig#fonts.conf
http://freedesktop.org/software/fontconfig
修改XF86Config以加载支持TrueType的模块
"Module"部份应该是这样:
Section "Module"
...
Load "freetype"
...
EndSection
修改XF86Config中的FontPath部分加入TrueType目录
"Files"部份应该像这样:
Section "Files"
...
FontPath "YOUR FONTS DIR"
...
EndSection
更新字体缓存文件
最后,更新在 /etc/fonts/fonts.conf
文件中指明的所有字体的缓存文件,命令如下:
fc-cache
现在XFree86在重起后可以使用TrueType字体了. 您可以使用 xlsfonts 或
xfontsel 程序来查看一下是否已经有了新字体.
注: 在增加或减少了 TrueType字体后,你必须再次运行 mkfontscale 和
mkfontdir.不管增加和减少的是不是 TrueType字体,你必须再次运行 fc-cache.
二.GTK1中程序字体的设置(包括XMMS,Mplayer等).
中文字体主要修改文件/etc/gtk/gtkrc.zh_CN,以下是我的,你也可以在前面两个 * 处指定字体,如-adobe-helvetica,-misc-simsun等.用 * 可以让程序自己选择字体。‘14’则表示字体大小。后面为对应的Locale设置。
style "gtk-default-zh-cn" {
fontset = "-*-*-medium-r-normal--14-*-*-*-*-*-iso8859-1,\-*-*-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
或
style "gtk-default-zh-cn" {
fontset = "-microsoft-Tahoma-medium-r-normal--14-*-*-*-*-*-iso8859-1,\-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
三.GTK2中程序字体的设置(如,gaim,gqview等)
中文字体主要修改文件/etc/gtk-2.0/gtkrc,以下是我的供参考
style "default"
{
font_name = "Tahoma,SimSun 12"
}
widget_class "*" style "default"
英文字体要在前面,不然英文中文都会用SimSun显示。
最后,在Gnome,Xfce4等WM选择Tahoma字体。
这样中英文显示效果都不错。
参考:
一部分: www.linuxfromscratch.org ; www.xfree86.org
三部分: http://www.ajgenius.us/gnome/gnome2-gtk2-themes.html