随着Linux系统易用性越来越好,由此有很多原本追随Windows系统的计算机用户都开始在自己的电脑上安装Linux。在众多的Linux发行版本之中,由Redhat支持的Fedora core 6(以下简称FC6)使用者最多。这都是由于FC6易于安装、易于使用、完美的X系统及安全的上网环境等如此众多的优点,才引起了广大Linux爱好者对它的亲来。但跟所有流着西洋血统的Linux系统一样,在向中国本土化的变化过程中,总有一些不合我们的使用习惯。比如,FC6在提供了完美的X系统画面及性能的同时,却对中文字体一直都支持得不够好,例如OpenOffice办公软件、Firefox浏览器以及MP3播放软件XMMS等,在显示中文时不是不圆滑就是乱码。要怎样才能让FC6如Windows系统一样能够显示出完美的字体效果来呢?这就是我写这篇文章的目的。下面,我将会详细地说明FC6管理字体的方式,希望对想了解FC6字体管理特性的朋友有所帮助。
FC6跟RedHat所发行的企业版本一样,在其X系统下提供两种字体管理方式。一种是新增加的“Fontconfig”字体管理子系统,此字体管理子系统提供了相对简单的字体管理方式和提供一些高级显示特性,当使用QT3或GTK+2的图形工具集时,此字体管理子系统能为应用程序自动加载相应的字体;另一种是为了向下兼容,在FC6中同时还提供了原来的字体管理子系统叫“core X font”字体子系统,其服务名为“Xfs”。
  以下是详细说明如何使用这两种字体管理系统来为X配置字体:
一、Fontconfig
  (1)、简介。
   “Fontconfig”字体子系统允许应用程序直接访问系统中的字体和使用Xft或其它访问机构访问“Fontconfig”字体跟高级“anti-aliasing”,图形应用程序能使用Xft库跟“Fontconfig”把相应文本内容描画在屏幕上。
   要注意的是,“Fontconfig”字体子系统不能用于OpenOffice办公软件。同时,“Fontconfig”是使用/usr/fonts/fonts.conf配置文件的,用户最好不要手工编辑此文件。
  (2)、添加字体到“Fontconfig”。
    用户如果要添加新字体到“Fontconfig”子系统时请使用以下的处理方法:
   a、在/etc/share/fonts/目录下新建一个目录,例如local/,然后复制新的字体文件到此新建的目录中,如windows目录下的simsun字体。如果机器上同时装有windowsxp系统,可用如下方式将“simsun.ttf”复制到上述所建目录下:
      # cd /mnt
      # mkdir c
      # mount /dev/hda1 /mnt/c
      # cp /mnt/c/windows/fonts/simsun.ttc /usr/share/fonts/local/simsun.ttf
b、使用fc-cache命令更新字体信息缓存,如:fc-cache <新字体所在目录路径>,其中<新字体所在目录路径>为上新建的目录路径/usr/share/fonts/local/,其具体命令如下:
  # fc-cache /usr/share/fonts/local/
  在FC6中如果使用此字体子系统增加TrueType字体,会出现Kde登录界面字体错乱,以及FC6自带的浏览器Firefox的菜单字体错乱的现象,这时可以先删除此新建目录中的所有内容,然后重启xfs,用命令“service xfs reload”,重启KDE即可恢复正常。如果要解决这个问题,做到两全齐美的话,就需要用到以下介绍的字体子系统来添加TrueType字体了。
二、核心X字体系统(core X font system)
  (1)、简介。
   此字体子系统时是通过“Xfs”为X客房应用程序提供字体。使用“Xfs”时,X服务器读取/etc/X11/Xorg.conf配置文件中的“Files”节中所添加的字体路径项(FontPath项),X服务器是通过指定的端口来获得xfs服务的字体信息的。由于这种原因,当启动X时应先启动“xfs”服务。
  (2)、“xfs”的配置。
    使用“/etc/rc.d/init.d/xfs start”命令来启动“xfs”服务。“xfs”是使用/etc/X11/xfs/config配置文件,其中一些重要的选项说明如下:
     alternate-servers-指定字体服务列表;
     catalogue-指定系统可以使用的字体路径顺序列表,此项必须指定。如果在此项的字体路径后指定“unscaled”,那么此字体路径所在的字体将优先于其它没有指定的路径启用,如果所有的路径后都指定有此信息,那么所有路径中的字体将全部启用;
     client-limit-指定客房能使用的最多数量的字体服务,缺省为10;
     clone-self-允许字体服务自身复制新版本,缺省为on;
     default-point-size-指定缺省字体大小,缺省为120相当于12点大小;
     default-resolutions-指明所用X服务能支持的解析率,所有支持的都必须分别列出;
     deferglyphs-指定可以加载glyphs(一种图形使用的字体),此项不能为none,可以指定为all或16;
     error-file-指定当“xfs”出错时日志保存路径及文件名;
     no-listen-保证“xfs”服务只监听指定的个别端口,缺省为tcp是为了防止xfs监听所有TCP端口影响网络连接;
     prot-指定哪一个TCP端口由“xfs”服务监听;
     use-syslog-指定是否启用系统错误日志。
(3)、添加新字体到“xfs”。
  a、在/usr/share/fonts/目录下新建local/子目录,其目录也可自定,复制所要添加的新字体文件到此新建的目录中,如windows目录下的“simsun.ttf”字体.如果电脑上同时装有WindowsXP系统,那么可以通过如下方法把上述字体复制到“/usr/share/fonts/local/”目录下:
       # cd /mnt
       # mkdir c
       # mount /dev/hda1 /mnt/c
       # cp /mnt/c/windows/fonts/simsun.ttc /usr/share/fonts/local/simsun.ttf
b、然后用如下命令更新字体信息:
   # cd /usr/share/fonts/local
       # ttmkfdir -o fonts.dir
       再用以下命令建立fonts.scale文件:
    # cp fonts.dir fonts.scale
  c、通过如下命令添加以上新建的字体路径到xfs服务字体路径中:
    # chkfontpath --add /usr/share/fonts/local/
d、重新加载xfs服务:
# service xfs reload。
  此时用ls查看“/usr/share/fonts/local”目录中的内容,发现除了刚才建立的“fonts.dir”和“fonts.scale”这两个文件外,还多出了一个“fonts-cache.1”的文件。这时重启X终端如KDE就可以在Firefox浏览器或Openoffice办公软件中选择新加入的字体如simsun来美化我们的应用程序,以及在“控制中心”中选择simsun字体来美化我们的桌面。
  如果在FC6中安装有使用GTK+1.2的应用程序,那么就必须再使用以下的方法为其增加字体。通过修改“~/.gtkrc.mine”文件,在其中加入如下内容:
    style "user-font"{
        fontset="<字体名称>"
        }
        widget_class "*" style "user-font"
其中<字体名称>应为此格式“-misc-simsun-medium-r-normal--*-120-*-*-*-*-*-*”。
到这里,FC6中的两种字体管理系统就全部介绍完毕。如果各位读者朋友能仔细阅读过这篇文章,那么一定能通过上述所讲解的两种字体管理方法为自己的FC6添加更多更美的字体,让FC6更适合自己的使用习惯。

文章如转载,请注明转载自:http://www.5iadmin.com/post/568.html