由於 Xorg 內建的預設字型用在典型的桌面出版應用程式並不是很理想,大字型會呈現鋸齒狀邊緣,看起來很不專業,小字型幾乎完全看不清楚。不過,這裡有幾個免費高品質的 Type1 (PostScript®) 字型可用,且能容易的在 Xorg 使用。例如,URW 字型集 (Times Roman®, Helvetica®, Palatino® 及其他)。 Freefont 字型集 (x11-fonts/freefonts) 包含了更多的字型,但其中大部分是給圖形軟體如 GIMP 所使用的字型,並不能完全作為螢幕字型使用。此外,Xorg 可以簡單的設定使用 TrueType® 字型。更多有關本主題的詳細資訊,請參考 X(7) 操作手冊或 節 5.5.2, “TrueType® 字型”。
要由 Binary 套件安裝上述的 Type1 字型集可執行以下指令:
#
pkg install urwfonts
或由 Port 套件集編譯,可執行以下指令:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
同樣的安裝方式也適用 Freefont 或其他字型集。要讓 X 伺服器偵測到這些新安裝的字型,可加入適當的設定到 X 伺服器設定檔 (/etc/X11/xorg.conf
),內容為:
FontPath "/usr/local/share/fonts/urwfonts/"
或者在 X session 的指令列執行:
%
xset fp+ /usr/local/share/fonts/urwfonts
%
xset fp rehash
這樣便可,但在 X session 關閉時將會失效,除非將該設定加入啟動檔 (一般的 startx
session 可在 ~/.xinitrc
設定,若透過圖型化登入管理程式如 XDM 登入時則在 ~/.xsession
設定)。第三種方式是使用新 /usr/local/etc/fonts/local.conf
,如 節 5.5.3, “反鋸齒字型” 的示範。
Xorg 內建支援繪製 TrueType® 字型,目前有兩個模組可以支援這項功能。在本例中使用 freetype 模組,由於此模組與其他字型繪製後端較為一致。要開啟 freetype 模組只需要將下行加入到 /etc/X11/xorg.conf
中的 "Module"
section。
Load "freetype"
現在要建立一個儲存 TrueType® 字型的目錄 (例如,/usr/local/share/fonts/TrueType
) 然後複製所有 TrueType® 字型到這個目錄。要注意 TrueType® 字型並無法直接取自 Apple® Mac®,Xorg 使用的字型必須為 UNIX®/MS-DOS®/Windows® 的格式。檔案複製到讓目錄之後,使用 mkfontscale 來建立 fonts.dir
來讓 X 字型繪製程式知道安裝了新的檔案。mkfontscale
可用套件的方式安裝:
#
pkg install mkfontscale
然後在目錄中建立 X 字型檔的索引:
#
cd /usr/local/share/fonts/TrueType
#
mkfontscale
接著加入 TrueType® 目錄到字型路徑。這個動作與 節 5.5.1, “Type1 字型” 中所介紹的方式相同:
%
xset fp+ /usr/local/share/fonts/TrueType
%
xset fp rehash
或直接加入 FontPath
一行到 xorg.conf
。
現在 Gimp, Apache OpenOffice 以及其他 X 應用程式應可以辨識到已安裝的 TrueType® 字型。極小的字型 (以高解析度在網頁中顯示的文字) 與極大的字型 (在 StarOffice™ 中) 現在會看起來比較像樣了。
所有可在 /usr/local/share/fonts/
及 ~/.fonts/
找到的 Xorg 字型均可在 Xft-aware 的應用程式使用反鋸齒的效果。大多最近的應用程式均為 Xft-aware 的,包括 KDE, GNOME 以及 Firefox。
要控制那一些字型要做反鋸齒或設定反鋸齒的屬性,需建立 /usr/local/etc/fonts/local.conf
檔案 (若檔案存在則編輯)。在這個檔案中可以調整 Xft 字型系統的數項進階功能,本章節僅介紹部份簡單的項目,要取得進一步資訊,請參考 fonts-conf(5)。
這個檔案必須使用 XML 格式,小心文字大小寫,且要確定所有標籤均有正常結尾。檔案的開頭使用常見的 XML 檔首,接著為 DOCTYPE 定義,然後是 <fontconfig>
標籤:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
如同前面所提到的,所有在 /usr/local/share/fonts/
與 ~/.fonts/
的字型均可在 Xft-aware 的應用程式做反鋸齒效果,若您想要加入除了上兩者以外的目錄,可加入如下行設定到 /usr/local/etc/fonts/local.conf
:
<dir>/path/to/my/fonts</dir>
加入新字型及額外的新字型目錄之後,需重新建立字型快取:
#
fc-cache -f
反鋸齒效果會讓文字的邊緣變模糊,這會讓非常小的文字更能閱讀且去除大型文字的 “鋸齒”,但套用在一般的文字可能會造成眼睛的疲勞。要排除小於 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>
反鋸齒所產生的間距對於部份等寬字型並不合適,尤其是在使用 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,在使用反鋸齒時可能會發生問題,通常會呈現像垂直切成兩半的字型,最差還可能會導致應用程式當掉。要避免這個問題,可考慮加入以下設定到 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>
標籤結尾,若沒有使用會讓所做的更改被忽略。
使用者可透過建立自己的 ~/.config/fontconfig/fonts.conf
來加入個人化的設定,此檔案使用與上述說明相同的 XML 格式。
最後一點:若有使用 LCD 螢幕,可能會想要使用子像素取樣 (Sub-pixel sampling),這基本上會分開處理 (水平分隔) 紅、綠、藍色彩組成來提高垂直解析度,結果可能是無法預料的。要開啟這個功能,加入下行到 local.conf
的任一處:
<match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>
依據不同的顯示器類型可能會需要將 rgb
更改為 bgr
, vrgb
或 vbgr
:可實驗看看然後看那一個效果最好。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。