Type1字體
X11 使用的默認字體不是很理想。 大型的字體顯得參差不齊,看起來很不專業, 並且, 在 Netscape® 中,中的小字體簡直難以看懂。 有好幾種免費、 高質量的字體可以很方便地用在 X11 中。例如,URW字體集合 (x11-fonts/urwfonts) 就包括了高質量的 標准 type1 字體 (Times Roman®, Helvetica®, Palatino® 和其他一些).在 Freefont 集合中 (x11-fonts/freefonts) 也包括更多的字體,但它們中的絕大部分使用在圖形軟件中,如 Gimp,在屏幕字體中使用並不完美。另外, 只要花很少的功夫,可以將 XFree86™ 配置成能使用 TrueType® 字體。要安裝上面的Type1字體,您只需要運行下面的命令:
# cd /usr/ports/x11-fonts/urwfonts # make install cleanfreefont 或其他的字庫和上面所說的大體類似。 為了讓 X 服務器能夠檢測到這些字體, 需要在 X 服務器的配置文件 /etc/X11/ (Xorg 是 xorg.conf 而 XFree86 則是 XF86Config) 中增加下面的配置: FontPath "/usr/X11R6/lib/X11/fonts/URW/" 或者,也可以在命令行運行:
% xset fp+ /usr/X11R6/lib/X11/fonts/URW % xset fp rehash這樣會起作用,但是當 X 會話結束後就會丟失, 除非它被添加到啟動文件 (~/.xinitrc 中, 針對一個尋常的 startx 會話,或者當您通過一個類似 XDM 的圖形登陸管理器登陸時添加到 ~/.xsession 中)。 第三種方法是使用新的 /usr/X11R6/etc/fonts/local.conf 文件。
# cd /usr/X11R6/lib/X11/fonts/TrueType # ttmkfdir > fonts.dir 現在把 TrueType 字體目錄添加到字體路徑中。 這和上面 Type1 字體的步驟是一樣的, 那就是,使用 % xset fp+ /usr/X11R6/lib/X11/fonts/TrueType % xset fp rehash
或者把 FontPath 這行加到 xorg.conf (或 XF86Config) 文件中。 就是這樣。現在 Netscape, Gimp, StarOffice™ 和其他所有的 X 應用程序 應該可以認出安裝的 TrueType 字體。一些很小的字體(如在 Web 頁面上高分辨率顯示的文本) 和一些很大的字體(在 StarOffice 下) 現在看起來已經很好了。
Anti-Aliased字體
X11 從 XFree86 4.0.2 開始支持字體的反走樣。 但是, 字體配置在 XFree86 4.3.0 之前是非常繁瑣的。 從 XFree86 4.3.0 開始, 對於所有支持 Xft 的應用程序, 所有放到 X11 /usr/X11R6/lib/X11/fonts/ 和 ~/.fonts/ 中的字體都自動地被加入反走樣支持。並不是所有的應用程序都支持 Xft, 但已經有相當多的程序提供 Xft 支持了。 支持 Xft 的應用程序包括 Qt 2.3 以及更高版本 (用以開發 KDE 桌面的工具包)、 GTK+ 2.0 和更高版本 (用於開發 GNOME 桌面的工具包), 以及 Mozilla 1.2 和更高版本。 要控制哪些字體是 anti-aliased,或者配置 anti-aliased 特性,創建(或者編輯,如果文件已經存在的話)文件 /usr/X11R6/etc/fonts/local.conf。Xft 字體系統的幾個高級特性都可以使用這個文件來調節;這一部分只描述幾種最簡單的情況。要了解更多的細節,請查看 fonts-conf(5). 這個文件一定是 XML 格式的。注意確保所有的標簽都完全的關閉掉。 這個文件以一個很普通的 XML 頭開始, 後跟一個 DOCTYPE 定義, 接下來是
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
像前面所做的那樣,在 /usr/X11R6/lib/X11/fonts/ 和 ~/.fonts/ 目錄下的所有字體已經可以被支持 Xft 的應用程序使用了。如果您想添加這兩個目錄以外的其他路徑, 簡單的添加下面這行到 /usr/X11R6/etc/fonts/local.conf文件中:
<dir>/path/to/my/fonts</dir>
添加了新的字體,尤其是添加了新的字體目錄後, 您應該運行下面的命令重建字體緩存:
# fc-cache -f
Anti-aliasing 會讓字體邊緣有些模糊,這樣增加了非常小的文本的可讀性,並從大文本字體中刪除 “鋸齒”。 但如果使用普通的文本, 則可能引起眼疲勞。 要禁止 14磅以下字體的反走樣, 需要增加如下配置:
<match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>
用 anti-aliasing 來間隔一些等寬字體也是不適當的。 這似乎是 KDE 的一個問題。要修復這個問題需要確保每個字體之間的間距保持在100。 加入下面這些行:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match>
(這裡把其他普通的修復的字體作為 "mono"),然後加入:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
某些字體,比如 Helvetica,當 anti-aliased 的時候可能存在問題。通常的表現為字體本身似乎被垂直的切成兩半。 糟糕的時候,還可能導致應用程序比如 Mozilla 崩潰。 為了避免這樣的現象,考慮添加下面幾行到 local.conf文件裡面:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
一旦您完成對 local.conf 文件的編輯,確保您使用了 </fontconfig> 標簽來結束文件。不這樣做將會導致您的更改被忽略。
X11 默認的字庫當使用反走樣時會比較難看。 更好的字庫可以在 x11-fonts/bitstream-vera port 中找到。 這個 port 會創建一個 /usr/X11R6/etc/fonts/local.conf 文件, 如果這個文件不存在的話。反之, port 將創建 /usr/X11R6/etc/fonts/local.conf-vera 文件。將其內容合並到 /usr/X11R6/etc/fonts/local.conf 中, 則 Bitstream 字體將自動地代替默認的 X11 Serif, Sans Serif, 以及單倍距字體。 最後,用戶可以通過他們個人的 .fonts.conf 文件來添加自己的設定。 要完成此項工作, 用戶只需簡單地創建 ~/.fonts.conf 並添加相關配置。 此文件也必須是 XML 格式的。 最後:對於LCD屏幕, 可能希