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