RHEL用两种方式来显示字体:Fontconfig和xfs(core X font system)
Fontconfig字体子系统允许应用程序直接访问系统中的字体和使用Xft或其它访问机构访问
xfs是通过Xfs为Xguest应用程序提供字体。使用Xfs时,X服务器读取/etc/X11/Xorg.conf配置文件中的 “Files”节中所添加的字体路径项(FontPath项),X服务器是通过指定的端口来获得xfs服务的字体信息的。由于这种原因,当启动X时应先启动xfs服务。
环境:rhel4.4
Fontconfig方法添加字体
/usr/share/fonts 里面有存有可用的字体,要添加字体要添加到这个目录下
#cd /usr/share/fonts
1#mkdir local
2# cp /root/Desktop/simhei.ttf local/ 把要添加的字体拷到该目录
字体可直接用XP下 C盘/windows/fonts下的字体
3#fc-cache /usr/share/fonts/local/ 更新字体信息缓存
重新登录后字体就被添加成功了(ctrl+alt+backspace)
但是用同样的方法在rhel5.4中添加字体后,KDE登录界面(以及firefox菜单字体)出现了乱码现象,其他的部分都正常,这是就要用xfs的方法来添加字体。因为作为KDE底层支持的X,它使用xfs对安装的字体进行管理。基本配置原理是xfs使用可维护的字体安装目录和fonts.dir文件对字体进行操作。
#rm -rf /usr/share/fonts/local/ 首先要删除这个目录的所有内容#service xfs reload 再重启KDE就能恢复正常
在rhel5U3下添加字体:
前两步的操作方法与第一种的1,2处一样,然后
#ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/
fonts.scale
在这个ttmkfdir-3.0.9-23.el5.i386包里
这个命令的作用是更新目录中所有的字体信息,汇总生成fonts.scale文件
ttmkfdir格式为
ttmkfdir -d 字体所在目录 -o 字体所在目录/fonts.scale
(也能在字体目录中# ttmkdir > fonts.dir,就生成font.scale和font.dir两个文件,但是font.dir是空的。)
# cp fonts.scale fonts.dir 如果没有这一步执行的时候再执行添加路径的操作时会报错如下
(chkfontpath: error opening /usr/share/fonts/local/fonts.dir, unwilling to add path)
# chkfontpath --add /usr/share/fonts/local/ 注意用绝对路径
执行完这个命令以后查看/etc/X11/fs/config文件,发现多了一条路径 /usr/share/fonts/local
#service xfs reload 这是重启xfs服务器,fc-cache是更新字体信息
检查:
在system->preference->font下就可以找到新添加的字体,选择后重新登录一下就可以使用啦。