连载:Linux系统的字型设定方法

发表于:2007-07-04来源:作者:点击数: 标签:
这次我们来讲解如何调整各式各样的字型设定,如何安装新字体,和其他可以大大改善Xwindow字型的外观和可读性的方法。这是藉由调整XF86Config文件中的字型路径(FontPath),在startx或xdm加上Xserver命令列选项(command line options),加入新的字型,安装True

  这次我们来讲解如何调整各式各样的字型设定,如何安装新字体,和其他可以大大改善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
  注意字型的名文件必须小写。一个快速又容易的转换方法是将它们拷贝到一个 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

原文转自:http://www.ltesting.net