SUSE Linux Enterprise 上安裝其他字型非常簡單。只要將字型複製到位於 X11 字型路徑中的任何目錄即可 (請參閱第 26.2.1 節「X11 核心字型」)。安裝目錄應為 /etc/fonts/fonts.conf
(請參閱第 26.2.2 節「Xft」) 中所設目錄的子目錄,或包含於檔案 /etc/fonts/suse-font-dirs.conf
中。
以下內容摘自 /etc/fonts/suse-font-dirs.conf
。該檔案已包含在組態中,因為它連結至 /etc/fonts/fonts.conf
包含的 /etc/fonts/conf.d
目錄。在此目錄中,所有以兩位數值開頭的檔案或符號連結將由 fontconfig 載入。關於此功能的詳細說明,請參閱 /etc/fonts/conf.d/README
。
<!-- Font directory list --> <dir>/usr/share/fonts</dir> <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/opt/kde3/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir> <dir>~/.fonts/kde-override</dir> <include ignore_missing="yes">suse-font-dirs.conf</include>
/etc/fonts/suse-font-dirs.conf
是自動產生的,以將包含於 (多半是協力廠商) 應用程式,如 OpenOffice.org、Java 或 Adobe Acrobat Reader 中的字型拉進來。某些 /etc/fonts/suse-font-dirs.conf
中的典型項目看起來像這樣:
<dir>/usr/lib/ooo-2.0/share/fonts</dir> <dir>/usr/lib/ooo-2.0/share/fonts/truetype</dir> <dir>/usr/lib/jvm/java-1.5.0-sun-1.5.0_update10/jre/lib/fonts</dir> <dir>/usr/X11R6/lib/Acrobat7/Resource/Font</dir> <dir>/usr/X11R6/lib/Acrobat7/Resource/Font/PFM</dir>
若要在整個系統上安裝其他字型,請以 root
身份手動將字型檔案複製到合適的目錄,如 /usr/share/fonts/truetype
。此外,這個作業可以透過「KDE 控制中心」中的 KDE 字型安裝程式來執行。結果完全相同。
您也可以建立符號連結,來替代複製實際字型。例如,如果您擁有裝載 Windows 分割區上的授權字型並且想要使用它們,便可能需要這樣做。接下來,請執行 SuSEconfig --module fonts
。
SuSEconfig --module fonts
會執行指令碼 /usr/sbin/fonts-config
來處理字型組態。關於此指令碼的詳細資訊,請參閱其手冊頁 (man fonts-config
)。
點陣字型、TrueType 與 OpenType 字型以及 Type1 (PostScript) 字型的程序完全相同。所有這些字型類型可安裝到任何目錄。
X.Org 包含兩種完全不同的字型系統:舊的
與新設計的 系統。以下數節簡短描述這兩種系統。目前,X11 核心字型系統不僅支援點陣字型,也支援縮放字型如 Type1 字型、TrueType 與 OpenType 字型。縮放字型僅只支援不需要消除鋸齒及子像素 (subpixel) 處理的字型,含有更多語言的文字符號的縮放字型所需的載入時間也越長。也支援 Unicode 字型,但是處理速度較慢且需要更多的記憶體。
X11 核心字型系統具有某些先天性的弱點。該字型系統已過時,無法再以有效的方法擴充。保留這種字型是為了回溯相容,但最好儘可能使用更先進的 Xft 和 fontconfig 系統。
為了能夠進行作業,X 伺服器必須知道它有哪些字型可用,以及系統中的哪些地方可以找到這些字型。這是由 FontPath
變數負責處理,該變數包含所有有效系統字型目錄的路徑。每個目錄中的 fonts.dir
檔案,可以列出目錄中可用的字型有哪些。FontPath
是 X 伺服器在啟動時產生的。它會在 /etc/X11/xorg.conf
組態檔案的 FontPath
項目中,搜尋一個有效的 fonts.dir
檔案。這些項目會在 Files
區段中找到。使用 xset q
顯示實際的 FontPath
。也可以使用 xset 在執行時變更此路徑。若要新增其他路徑,請使用 xset+fp <path>
。若要移除不要的路徑,請使用 xset-fp <path>
。
如果 X 伺服器已經啟動,裝載目錄中新安裝的字型可以透過指令 xsetfp rehash
來設成可用。這個指令以 SuSEconfig--module fonts
執行。由於指令 xset 必須存取執行中的 X 伺服器,因此只有在 SuSEconfig--module fonts
是從可存取之執行中 X 伺服器的外圍程序啟動時才有效。實現此目的的最簡單方法是輸入 su 和 root
密碼,採用 root
權限。su 可以將啟動 X 伺服器之使用者的存取權傳送到 root
外圍程序。要檢查字型是否安裝正確以及是否可以透過 X11 核心字型系統來使用,請使用 xlsfonts 指令來列出所有可用字型。
根據預設,SUSE Linux Enterprise 使用 UTF-8 語言環境。因此,最好使用 Unicode 字型 (在 xlsfonts 的輸出中,字型名稱的結尾為 iso10646-1
)。xlsfonts| grep iso10646-1
可以列出所有可用的 Unicode 字型。SUSE Linux Enterprise 隨附的 Unicode 字型絕大部分都具有歐洲語言所需的文字符號 (舊編碼方式為 iso-8859-*
)。
從一開始,Xft 的程式設計人員便保證,會支援平滑美觀的可縮放字型。如果使用 Xft,字型將由使用字型的應用程式處理,而不是如 X11 核心字型系統那樣由 X 伺服器處理。在這種方式,個別的應用程式需要存取實際字型檔並完全控制文字符號的處理方式。多種語言文字的正確顯示基礎便是由此構成。直接存取字型檔對於在列印中內嵌字型,來保證列印出的外觀和螢幕輸出一致非常有用。
在 SUSE Linux Enterprise 中,KDE 和 GNOME 這兩個桌面環境、Mozilla 以及其他許多應用程式已經預設使用 Xft。越來越多的應用程式已經從舊 X11 核心字型系統改用 Xft。
Xft 使用 fontconfig 程式庫來尋找字型以及操作字型的處理方式。fontconfig 的內容是由全域組態檔 /etc/fonts/fonts.conf
和使用者專屬組態檔 ~/.fonts.conf
控制。這些 fontconfig 組態檔每一個都必須以下列開頭
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
並以下列結束
</fontconfig>
要新增字型搜尋目錄,請附加下列行:
<dir>/usr/local/share/fonts/</dir>
不過,通常並不需要這樣做。依預設,使用者專屬目錄 ~/.fonts
已經輸入到 /etc/fonts/fonts.conf
中。因此,安裝額外的字型時,只要將它們複製到 ~/.fonts
即可。
您還可以插入操作字型外觀的規則。例如,輸入
<match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
可以關閉所有字型的消除鋸齒效果,
<match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match>
可以關閉特定字型的消除鋸齒效果。
依預設,大部份的應用程式都是使用字型名稱 sans-serif
(或相等的 sans
)、serif
或 monospace
。這些都不是真實的字型,而是可以解析為適當字型的別名,視語言設定而定。
使用者很容易在 ~/.fonts.conf
新增規則來將這些別名解析為屬意的字型:
<alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias>
因為幾乎所有的應用程式都預設使用這些別名,所以幾乎整個系統會受到影響。這樣,您幾乎可以簡單地隨處使用喜歡的字型而不必針對個別應用程式修改字型設定。
請使用指令 fc-list 來找出已安裝且可用的字型。例如,指令 fc-list 指令可傳回所有字型的清單。要找出含有希伯來文 (:lang=he
) 所有文字符號的可用縮放字型 (:scalable=true
)、這些字型的名稱 (family
)、樣式 (style
)、粗細 (weight
) 以及包含這些字型的檔案名稱,請輸入下列指令:
fc-list ":lang=he:scalable=true" family style weight
這個指令的輸出看起來如下:
FreeSansBold.ttf: FreeSans:style=Bold:weight=200 FreeMonoBoldOblique.ttf: FreeMono:style=BoldOblique:weight=200 FreeSerif.ttf: FreeSerif:style=Medium:weight=80 FreeSerifBoldItalic.ttf: FreeSerif:style=BoldItalic:weight=200 FreeSansOblique.ttf: FreeSans:style=Oblique:weight=80 FreeSerifItalic.ttf: FreeSerif:style=Italic:weight=80 FreeMonoOblique.ttf: FreeMono:style=Oblique:weight=80 FreeMono.ttf: FreeMono:style=Medium:weight=80 FreeSans.ttf: FreeSans:style=Medium:weight=80 FreeSerifBold.ttf: FreeSerif:style=Bold:weight=200 FreeSansBoldOblique.ttf: FreeSans:style=BoldOblique:weight=200 FreeMonoBold.ttf: FreeMono:style=Bold:weight=200
可以使用 fc-list 來查詢的重要參數:
表格 26.2. fc-list 的參數
參數 |
意義及可用值 |
---|---|
|
字型系列的名稱,例如, |
|
字型的製造商,例如, |
|
字型樣式,例如, |
|
字型支援的語言,例如, |
|
字型粗細,例如, |
|
通常,斜度 |
|
字型檔案的名稱。 |
|
|
|
|
|
|
|
以點表示的字型大小。這個選項和 fc-list 一起使用時只對點陣字型有意義。 |