Linux系统的字型设定方法

这次我们来讲解如何调整各式各样的字型设定,如何安装新字体,和其他可以大大改善Xwindow字型的外观和可读性的方法。这是藉由调整XF86Config文件中的字型路径(FontPath),在startx或xdm加上Xserver命令列选项(command line options),加入新的字型,安装TrueType字型服务器(font server) xfs,和使用K Desktop Environment 1.1的功能来调整许多应用程序的字型设定,包含设定让非KDE应用程序的颜色和字型能够与KDE一致。

  XF86Config文件


  要想解决字型的问题,首先得看看XF86Config文件。(通常放在/etc/X11/


  XF86Config)。这个文件中关于字型最重要的部分就是FontPath。在我们研究它之前,最好先检查X的其他设定。错误的屏幕设定比错误的字型设定更令人头痛。请确定您屏幕的更新频率(refresh rate)。


  设定FontPath


  用vi文字编辑器编辑XF86Config,在档案的开头,应该会看到类似下面的东西:


  FontPath “unix/:7100”


  FontPath “/usr/X11R6/lib/X11/fonts/TrueType”


  FontPath “/usr/X11R6/lib/X11/fonts/75dpi/”


  FontPath “/usr/X11R6/lib/X11/fonts/100dpi/”


  FontPath告诉X到那里去找在屏幕上显示用的字型。顺序是很重要的,当一个X的应用程序向X要求使用一些字型,X server通常偏好使用正在用的字型。然后它去看看FontPath,使用最先看到能满足X client要求的字型。


  预设的FontPath通常将75dpi的字型放在100dpi的字型前面。若有一台高分辨率的屏幕,这表示非常小的字。首先就是将75dpi和100dpi的FontPath对调。


  FontPath “/usr/X11R6/lib/X11/fonts/misc/”


  FontPath “/usr/X11R6/lib/X11/fonts/Type1/”


  FontPath “/usr/X11R6/lib/X11/fonts/100dpi/”


  FontPath “/usr/X11R6/lib/X11/fonts/75dpi/”


  然后指出偏好使用不能缩放的点阵字。若曾经使用Netscape或是其他使用较大字型来显示标题的程序,将会发现这些字型呈现锯齿状的。这样很丑,需要修改。所以在misc,100dpi和75dpi的最后加上:unscaled。也可以同时使用能缩放和不能缩放的字,只要将不能缩放的字的FontPath放在前面,告诉X说若可能的话,尽量使用不能缩放的字。


  FontPath “/usr/X11R6/lib/X11/fonts/misc:unscaled”


  FontPath “/usr/X11R6/lib/X11/fonts/100dpi:unscaled”


  FontPath “/usr/X11R6/lib/X11/fonts/75dpi:unscaled”


  FontPath “/usr/X11R6/lib/X11/fonts/Type1”


  FontPath “/usr/X11R6/lib/X11/fonts/Speedo”


  FontPath “/usr/X11R6/lib/X11/fonts/misc”


  FontPath “/usr/X11R6/lib/X11/fonts/100dpi”


  FontPath “/usr/X11R6/lib/X11/fonts/75dpi”


  在做了这些改变后,重新启动X。


  X server命令列选项


  下面一件要做的事是调整X server的命令列选项。可用-dpi来指定显示的分辨率是每英寸几点。现在很多的系统使用高分辨率的显示器,可能它们会要用100dpi。


  在console下启动X,键入


  startx -dpi 100


  若用xdm这种图形登录界面,需要编辑/usr/X11/lib/X11/xdm/Xservers文件。在里面有Xserver的命令列。我的文件里有下面这一行:


  :0 local /usr/X11R6/bin/X -dpi 100 -gamma 1.6


TrueType 字型



  在 Windows 里加上了对 TrueType 字型的支持。Windows 95 和其他的Windows 都内含 Arial、Times New Roman和 Courier New。约等于 Helvetica、Times和 Courier。TrueType 字型是能缩放的,所以在放大时很好看,而它们也被好好地调整过,故在缩小的时候依然可读。


  xfs


  xfs 是一种字型服务器的选择,XteamLinux 4.0默认的就是使用该字型服务器。xfs 是基于 FreeType Font library, 不只能处理 TrueType 和 Type 1 字型,也可以对付原本的 X 字型。


  安 装


  第一步是将 TrueType 字型加入Xteamlinux 4.0 里。su 为超级用户,建一个目录来存放这些字型: mkdir /usr/share/fonts/ttfonts。


  然后将字型放入这个目录里。您可以从Windows 系统中拷贝过去 cp /mnt/win/path_to_fonts/*ttfusr/share/fonts/ttfonts/或是从 Microsoft 直接下载。


  这些字型是自解压缩的ZIP文件。也可按如下方法安装:


  unzip

#p#副标题#e#


  注意字型的名文件必须小写。一个快速又容易的转换方法是将它们拷贝到一个 DOS(FAT16) 档案系统中,然后再拷贝回来。DOS 不处理大写。另一个方法是先进入到存放字型的目录下,然后键入:


  ls *TTF | while read f


  do


  [ -f “” ] &&&& mv -f “” “`echo “” | tr A-Z a-z`”


  done


  注意标点符号——那些“backquotes”很重要。当 TrueType 字型正确安装后,以超级用户执行:


  ttmkfdir -o fonts.scale


  mkfontdir


  当字型目录下的内容改变后,重新执行上面的命令。接下来,编辑你的 xfs 字型设定文件/etc/X11/fs/config 在字型表中加入你的 TrueType 字型:


  catalogue =


  /usr/X11R6/lib/X11/fonts/misc:unscaled,


  /usr/X11R6/lib/X11/fonts/100dpi:unscaled,


  /usr/X11R6/lib/X11/fonts/75dpi:unscaled,


  /usr/X11R6/lib/X11/fonts/misc,


  /usr/X11R6/lib/X11/fonts/Type1,


  /usr/X11R6/lib/X11/fonts/Speedo,


  /usr/share/fonts/default/Type1,


  /usr/share/fonts/ttfonts,


  /usr/X11R6/lib/X11/fonts/100dpi,


  /usr/X11R6/lib/X11/fonts/75dpi


  也可以用“chkfontpath –add ”命令来加入字型。当使用时,按如下方法更改字型的预设点数。


  default-point-size = 140


  这使我从预设的 12 点字变为 14 点字。有些 X 的应用程序使用这个,有些则不。接下来,确定XF86Config 文件中的 FontPath 是:


  FontPath “unix/:-1”


  注意“unix/:7100”也可以做到,但是在刚出来时无法使用。将所有的 FontPath 用“#”让它变成注解,反正你也不用它们了。xfs 的 packages 应该和其他XFree 的 packages 一起安装了。要确定它是预设的服务,可以使用 “ntsysv” 或是 chkconfig –add xfs


  现在 xfs 在您每一次开机的时候都会启动。重新启动 X 来读入新的 FontPath。用下面的方式 启动/重新启动 xfs


  /etc/rc.d/init.d/xfs restart


  这样Xteamlinux 4.0就有个可以使用的字型服务器了,而且它已经启动了,可以检查哪些字型正在被使用:


  xlsfonts | less