|
本人对LINUX下字体的理解,不当之处,请大家斧正,谢谢。
1.字体的查找匹配方式
Linux下字体查找匹配有2种方式,一种是fonts.dir和fonts.scale。可以用ttmkfdir来生成这2个文件。
并将新增字体的目录配置在/etc/X11/XF86Config-4里就可以了。举例说明:
Section "Files"
#新增字体路径/usr/X11R6/lib/X11/fonts/TrueType
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
常用的指令有xset -q(查看字体配置),xlsfonts(列出所有可用字体),xfontsel(以图形界面显示所有字体)
xset fp rehash(使新增的字体生效)等。
另一种是FontConfig方式,将字体放入目录,并在fonts.conf里添加该字体路径,即可以使用新增的字体。
举例说明:
<!-- 新增字体路径/usr/X11R6/lib/X11/fonts/TrueType -->
<dir>/usr/X11R6/lib/X11/fonts/TrueType</dir>
并可以在fonts.conf里配置使用字体的属性
常用的指令有fc-list(列出所有字体),fc-cache(使新增的字体生效)
具体的fonts.dir和fonts.conf的配置方法我在这里暂不说明。
2.字体的显示方式
当程序找到匹配的字体后,要在屏幕上把字体画出来,也有2种方式。一种是X11核心字体系统(如xtt或freeftype等),
配置文件是fonts.dir,主要是GTK1程序(如xmms)使用。它们使用的字体引擎是freetype2(xtt使用的是freetype1)。
另外一种是Xft,配置文件是fonts.conf。现在大部分程序如GTK2和QT等都是使用的这种方式。
Xft会看情况而决定要不要使用X11核心字体系统或XRender来画字。使用的字体引擎是freetype2
3.应用程序使用xft的配置
对于xterm,使用 "-fa" 的命令行选项就可以使用Xft: xterm -fa "Courier"
对GTK+ 2.0(GNOME 2程序)程序来说,把`GDK_USE_XFT'设为 1 即可:$ export GDK_USE_XFT=1
GTK+ 2.2 缺省即使用 Xft 。
对KDE程序来说,应在KDE的控制中心里打开字体面板,选择"使用字体平滑"。
4.xfs字体服务器
这个是Redhat提供的字体服务器,如果在/etc/X11/XF86Config-4里看到有"FontPath unix/:7100"的
配置,表明使用了字体服务器来提供字体。xfs服务的默认端口是7100。xfs默认的配置是不对远端开放的。
这个可以参看man xfs就知道了,默认服务参数是xfs -droppriv -daemon。
要在Windows下的X终端(例如xmanager)里使用xfs提供的字体,就必须修改xfs的配置文件:/etc/X11/fs/config,
将最后一行no-listen = tcp注释掉(#no-listen = tcp), 然后停掉xfs服务:service xfs stop,
重启服务xfs -daemon。这时在xmanager里配置xfs字体服务器的IP和端口,
就可以使用linux上的字体了(另外说一句,xmanager对中文的支持还可以,但是为了用上simsun,
就必须使用到这个xfs字体服务器了)
xfs字体服务器也是使用的fonts.dir和fonts.scale。 |
|