这次我们来讲解如何调整各式各样的字型设定,如何安装新字体,和其他可以大大改善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