Next Previous Contents

4. TrueType 字型 (少数 Windows 做的很好的事情)

因为在 Redmond 的那群家伙非常关心他们软体的外观而不是内容,他们在 Windows 里加上对 TrueType 字型的支援。Window 95 和其他的 Windows 都内含 Arial,Times New Roman,和 Courier New。他们约等於 Helvetica,Times,和 Courier。TrueType 字型是能缩放的,所以它们在放大时很好看,而它们也被好好的调整过,故在缩小的时候依然可读。有许多的 Windows 应用程式附送好几打的 TrueType 字型。先别急著把您的 Windows CD 拿去微波,您得先拿到这些字型。

4.1 xfstt

不幸的是 XFree86 并没有内部支援 TrueType 字型,所以必须自己加入。最简单的方式使用 xfstt,一个免费的 TrueType 字型伺服器。(译注: 这里免费是 free,严格来说,并不是免费,而是自由的意思)

Installation

xfstt 安装非常容易。首先从网站上下载 tarball。最新的版本是 http://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz

有了 tarball後,把它解开

tar -zxvf Xfstt-0.9.10.tgz

然後编译和安装它。INSTALL 档有简单的说明。有个不用大脑的方法 make; make install 就可以了。当做好後,把由各式管道取得的 TrueType 字型拷贝到 /usr/ttfonts 就可以了。键入下面的指令来启动 xfstt

xfstt --sync              # 更新 xfstt 的字型资料库
xfstt &                   # 在背景执行 xfstt

然後键入

xset +fp unix/:7100       # 让 X 使用 xfstt

或是在您的 XF86Config 档中加入下面的指令,让 X 使用这项服务

FontPath "unix/:7100"

调整预设字型的大小

若您的 TrueType 字型显得相当小,下面的指令可能有帮助

在 X server 命令列加上 -dpi (请参考第 3 章)。

使用 --res 来告诉 xfstt 增加预设的解析度。用下面的指令

xfstt --res 120

4.2 xfs

xfs 是另一种字型伺服器的选择。它已经包含在以 RedHat 为基础的 distribution 中。xfs 是基於 FreeType Font library,提供了类似於 xfstt 的功能。xfs 不只能处理 TrueType 和 Type 1 字型,也可以对付原本的 X 字型。

安装

第一步是将 TrueType 字型加入您的 linux 里。su 为超级使用者,建一个目录来存放这些字型:

mkdir /usr/share/fonts/ttfonts

然後将字型放入这个目录里。您可以从您的 Windows 系统中拷贝过去

cp /mnt/win/path_to_fonts/*ttf /usr/share/fonts/ttfonts/

或是从 Microsoft 直接下载。

这些字型是自解压缩的 zip 档。您仍可在 linux 中安装

unzip <FONT.EXE>

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

ls *TTF | while read f 
do
 [ -f "$f" ] && mv -f "$f" "`echo \"$f\" | tr A-Z a-z`"
done

您在键入每一行得时候会有 ">" 的提示符号,在上述每一行的最後按下 return。 注意标点符号 -- 那些 "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 <font>' 命令来加入字型。当使用时,您或许也会想要更改您的字型的预设点数。

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

现在您应该有个可以使用的字型伺服器了。您可以检查那些字型有被使用

xlsfonts | less

或用 xfontsel 甚至更好的 gfontsel 来检查它们。


Next Previous Contents