kevinliu 发表于 2003-7-17 14:49:58

RH9 Refence Guide about Fonts

Red Hat Linux 9: Red Hat Linux Reference Guide

7.4 字体

红帽linux使用两种方法管理并在XFree86中显示字体.较新的方法是Fontconfig字体子系统,它简化了字体管理,并提供了先进的显示特性:例如反锯齿(anti-aliasing).使用Qt3或GTK+2图形包的应用程序自动地使用这一系统.

出于兼容性的考虑,红帽linux也包含了原来的字体子系统:核心X(core X)字体子系统.这一系统基于X字体服务器(xfs),已经使用了15年.

这一节讨论如何为使用上述两种系统的XFree86配置字体.

7.4.1 Fontconfig

Fontconfig子系统允许应用程序直接使用系统中的字体,并用Xft或其他提取(rending)机制来提取具有先进的反锯齿特性的字体.图形化(Graphical)应用程序可以使用Fontconfig和Xft库在屏幕上显示文字。

再过一段时间,Fontconfig/Xft字体子系统将取代核心X字体子系统.

        重要信息:
        OpenOffice.org和Abiword不使用Fontconfig字体子系统,他们使用自己的字体提取技术.

重要的是,注意到Fontconfig使用/etc/fonts/fonts.conf作为配置文件,取代了/etc/X11/Xftconfig.最好不要手工编辑Fontconfig配置文件.
       
        Tip:
        因为新的字体系统的使用,字体首选项对话框(选择 主菜单-->首选项-->字体)中的任何改动对使用GTK+1.2的应用程序不起作用. 对于这些应用程序,可以在文件~/.gtkrc.mine中增加以下的语句来配置字体:
        style "user-font" {
        fontset = "<font-specification>"
        }
        widget_class "*" style "user-font"
        用一个传统X应用程序中使用的字体描述代替<font-specification>,例如-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*.运行xlsfonts可以获得一个所有核心字体的列表,运行xfontsel可以交互地生成字体列表.

7.4.1 向Fontconfig增加字体

向Fontconfig子系统增加字体非常简单.
        1. 要向整个系统增加字体,拷贝新的字体到目录/usr/share/fonts/local/
           要给单个用户增加字体,拷贝新的字体到该用户的目录~/.fonts/
        2. 使用fc-cache命令来更新字体信息,就象下面的例子:
           fc-cache <path-to-font-directory>
        在这一命令中,用存放新字体的目录(/usr/share/fonts/local或~/.fonts/)替换<path-to-font-directory>

        Tip
        个人用户可以用图形化的方式安装字体,在Nautilus的地址栏中输入fonts:///,查看已安装字体,然后将新的字体文件拖入其中即可.
       
        重要提示:
        如果字体文件名带有后缀.gz,该文件是压缩文件,只能在解压后使用.要解压文件,使用gunzip命令或者在Nautilus中双击该文件,然后将字体文件拖入一个目录.

7.4.2. 核心X字体系统

出于兼容性的考虑,红帽Linux仍然提供核心X字体子系统,该系统使用X字体服务器(xfs)来向X应用程序提供字体.

XFree86服务器由/etc/X11/XF86Config配置文件中的Files section的FontPath项指定的路径找到字体服务器.参考Section 7.3.1.4 Files,可以得到更多的关于FontPath项的信息.

XFree86服务器连接xfs服务器的指定端口,来获取字体信息.因此,在启动X之前,xfs服务要运行起来.参考Red Hat Linux Customization Guide的Controlling Access to Services一节,可获得如何在一个运行级别(runlevel)上配置服务的信息.

7.4.2.1 xfs配置

/etc/rc.d/init.d/xfs脚本用于启动xfs服务器.在文件/etc/X11/fs/config中可以配置几个选项.

下面是常用选项的列表
        alternate-servers--指定如果这个服务器不可用,其他可用的字体服务器的列表。列表中的每个字体服务器必须用逗号分隔.
        catalogue--指定一个按顺序排列,使用的字体路径列表.每一个字体路径后和下一个字体路径之间用逗号分隔.
        在字体路径后紧接着字符串:unscaled可以使路径中不可缩放(unscaled)字体首先被调入.然后再指定整个路径一次,其他的可缩放(scaled)字体也被调入.
        client-limit--指字体服务器的客户的最大数目,缺省值是10.
        clone-self--允许字体服务器在达到最大客户数上限时,自动克隆一个新的服务器,这一选项为on.
        default-point-size--指定未指定大小的字体的缺省字体大小.这一选项的计算单位为1/10点.缺省值为120,表示12点的字体.
        default-resolution--指定XFree86服务器支持的分辨率列表.列表中的每个分辨率用逗号隔开.
        deferglyphs--指定是否延迟调入glyphs(用来表示字体的图形).使用none来关闭这一特性,使用all为所有字体打开这一特性,用16只为16-bit的字体打开这一特性.
        error-file--指定xfs错误日志存放的路径和文件名.
        no-listen--禁止xfs侦听(listening)某个特殊协议.这一选项的缺省值设定为tcp,出于安全的原因,进制xfs侦听TCP端口.如果使用xfs为网络提供字体,删除这一行.
        port--指定在no-list选项被关闭或注释掉后,xfs侦听的TCP端口号.
        use-syslog--指定是否使用系统错误日志.

7.4.2.2 向xfs增加字体

向核心X字体子系统(xfs)增加字体,需要以下几步:
        1.如果目录/usr/share/fonts/local/不存在,使用root用户,用下面的命令创建目录:
           mkdir /usr/share/fonts/local/
          如果创建了/usr/share/fonts/local/目录,必须用下面的命令将该目录加到xfs的路径中:
           chkfontpath --add /usr/share/fonts/local/
        注:空目录运行chkfontpath命令会报错,可以先作step2,3,再做step1.
        2.拷贝新的字体文件到目录/usr/share/fonts/local/
        3.用root用户,使用下面命令更新字体信息:
           ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale
        4.用下面命令重启xfs字体服务器.
           service xfs reload

翻译匆忙,望大家指正

黯然销魂 发表于 2003-8-2 19:47:56

谢谢,一些原理的东西,明白不少。:)。
页: [1]
查看完整版本: RH9 Refence Guide about Fonts