4.5. fontconfig 與 xft

Fontconfig 提供字型選擇的機制, 讓使用的程式不必自己實作字型選取的方法, 應用程式利用 Fontconfig 所得到的字型名稱去畫字。 fontconfig 目前由 freedesktop.org 維護中。

fontconfig 安裝完後的設定檔在 /usr/X11R6/etc/fonts/fonts.conf, 它是個 xml 格式的檔案,一般不建議直接更改它,如果要加東西則是另外寫在 ~/.fonts.conf

使用 fontconfig 只需要將字型檔拷貝到 fonts.conf 所指定的目錄下(<dir>/usr/X11R6/lib/X11/fonts</dir>), 然後執行 fc-cache -f -v 來建立字型資料庫, 也可以用 fc-list 來取得已經建立的資料。

# fc-cache -f -v
      :
      fc-cache: "/usr/X11R6/lib/X11/fonts/TrueType": caching, 8 fonts, 0 dirs
      :
fc-cache: "/root/.fonts": no such directory, skipping
fc-cache: succeeded
# fc-list :lang=zh-tw
AR PL KaitiM Big5:style=Regular
AR PL Mingti2L Big5:style=Reguler

Note: 如果是簡體使用者請用 fc-list :lang=zh-cn

但是在使用 fontconfig/xft 時,中文方面還有些比較特殊的需求。 例如字型顯示破碎的問題,必須修改 freetype2 將 BYTECODE INTERPRETER 給啟用。 本身沒有粗體、粗斜體的設計。字距過大是因為某些字型是固定字距, 因為含有 CJK 字型,系統以 CJK 字型的寬度作為英數字型的寬度。 字型名稱(family)目前不支援中文的使用。

而 Xft 則是類似 xtt,它們是負責具體把字體顯示到螢幕, 像是反鋸齒(Anti-Alias)的之援是由 Xft 負責的。