分类: LINUX
2009-10-09 08:39:48
RHEL下添加Fonts
Author: Jaylin Zhou
Date: 10/09/2009
环境:装有Red Hat Enterprise Linux 5 update 3的机器一台
RHEL使用两种方式管理字体:Fontconfig和XFS。
Fontconfig
通过Fontconfig管理的font在OpenOffice.org中不起作用。
Fontconfig的配置文件为/etc/fonts/fonts.conf。
向Fontconfig中添加字体:
1. 将新的字体拷贝到/usr/share/fonts/目录下。建议先创建一个子目录,然后将字体拷贝到子目录下,以便区别系统默认的字体和用户自己安装的字体。
# mkdir /usr/share/fonts/jaylin_fonts/
如何获得字体文件?可以从Windows中C盘的WINDOWS下的Fonts目录中得到,此目录下都是Windows的字体文件,它们都是以“.ttf”或者“.TTF”结尾的。这里将它们放在了桌面上。
# cp /root/Desktop/*ttf /root/Desktop/*TTF /usr/share/fonts/jaylin_fonts
如果只给某个用户添加字体,那么将字体文件复制到对应用户家目录的.fonts/目录下。默认此目录是不存在的,需要手动创建。
2. 使用fc-cache命令更新字体信息缓存:
# fc-cache /usr/share/fonts/jaylin_fonts
或
# fc-cache /home/jaylin/.fonts/
XFS(X Font System)
X server从/etc/X11/xorg.conf文件中找到FontPath所设定的字体服务。默认的xorg.conf文件里没有FontPath环境变量。
/etc/rc.d/init.d/xfs脚本用来启动xfs服务。
xfs的配置文件为/etc/X11/fs/config,其中下面几个选项常用:
alternate-servers:指定一个font服务的列表,做当前字体服务的配用。每两个字体服务 之间用逗号分隔。
catalogue:指定一个有序的字体路径列表。每两个字体路径之间用逗号分隔。
catalogue = /usr/share/X11/fonts/misc:unscaled,
/usr/share/X11/fonts/75dpi:unscaled,
/usr/share/X11/fonts/100dpi:unscaled,
/usr/share/X11/fonts/Type1,
/usr/share/fonts/default/Type1,
其中unscaled指定的字体会被先加载。
向XFS添加字体:
1. # mkdir /usr/share/fonts/jaylin_fonts/
2. # cp /root/Desktop/*ttf /root/Desktop/*TTF /usr/share/fonts/jaylin_fonts
3. 执行下面的命令更新字体信息,并汇总字体信息到fonts.scale文件:
# ttmkfdir -d /usr/share/fonts/jaylin_fonts -o /usr/share/fonts/jaylin_fonts/fonts.scale
(ttmkfdir -d 字体所在目录 -o 字体所在目录/fonts.scale)
4. 将fonts.scale文件复制到字体目录下,并改名为fonts.dir:
# cp fonts.scale fonts.dir
如果不加这一步,可能会出现下面的错误:
# chkfontpath --add /usr/share/fonts/jaylin_fonts
chkfontpath: error opening /usr/share/fonts/jaylin_fonts/fonts.dir, unwilling to add path
5. 将字体目录添加到xfs路径中:
# chkfontpath --add /usr/share/fonts/jaylin_fonts/
执行完这步,发现在/etc/X11/fs/config文件的catalogue选项里多了一行:
catalogue = /usr/share/X11/fonts/misc:unscaled,
/usr/share/X11/fonts/75dpi:unscaled,
/usr/share/X11/fonts/100dpi:unscaled,
/usr/share/X11/fonts/Type1,
/usr/share/fonts/default/Type1,
/usr/share/fonts/jaylin_fonts,
说明字体路径添加正确。
6. 重新加载xfs服务
# servive xfs reload
检验
System—>Preferences—>Fonts中多了新添加的字体。