在前一篇隨筆中,我詳細討論了字體的分類及用途,也以 Fedora 20 為例,展示了字體配置的思路和方法。我在配置 Fedora 20 系統字體的時候,采用的是一種釜底抽薪的方法,完全拋開了系統原有的配置文件,所有的配置從頭開始。事實上,任何一個 Linux 發行版本身已經做了很多的字體配置工作,完全將系統默認的配置棄之不用並不是最好的辦法。配置系統字體還可以采用錦上添花的方式,也就是保持系統原有的配置文件不變,只針對我們自己的需求補充幾個配置文件即可。
在這里,我准備將我新安裝的 Ubuntu 14.10 系統的字體進行一點美化。考慮到很多人在使用 Linux 系統的時候喜歡和 Windows 系統進行對比,所以我決定借用 Windows 中的字體,將 Ubuntu 配置為和 Windows 相同的顯示效果。基本思路如下:
1.在 Ubuntu 的界面中使用 Tahoma 字體搭配微軟雅黑字體,英文為 Tahoma 字體,中文為微軟雅黑;
2.控制台和編程的時候使用 Consolas 字體搭配微軟雅黑字體,英文為 Consolas,中文為微軟雅黑;
3.借用 Windows 中常用的六套中文字體:宋體、仿宋、黑體、楷書、隸書、幼圓,這樣在 Ubuntu 中進行排版工作的時候,可以達到和在 Windows 中排版一樣的效果;
4.英文的 Serif 字體搭配中文的宋體,Sans-Serif 字體搭配中文的微軟雅黑;
5.對於小字號的宋體開啟點陣,其它字體不需要開啟點陣。
目標一旦確定,具體的配置工作就比較好進行了。下面開始具體的配置過程。
設置系統字體
設置系統字體需要一個工具,那就是 Unity Tweak Tool。在 Ubuntu 系統下,該工具比 Gnome Tweak Tool 好用。安裝該工具后,就可以使用它對系統字體進行配置。從下圖可以看出,系統中用到字體的地方可以分為四類,其中默認字體和窗口標題字體我都將之設置為 Ubuntu 字體,大小為 11pt。這里 Ubuntu 字體就是 UI 字體,經常用在程序的對話框、菜單欄等地方,Windows 中與之對應的是 Tahoma。文檔字體我設置為 11pt 的 Sans,等寬字體我設置為 12pt 的 Monospace,Sans 和 Monospace 都只能算是字體分類,具體對應什么字體就看我們的配置了。
安裝微軟的英文字體
微軟是一個很不錯的公司,它將其系統中使用的幾套英文字體如 Arial、Verdena 等開放了,可以供大家免費使用。當然,這些開放的字體中不包含 Tahoma 和 Consolas。在 Ubuntu 中,可以直接從軟件源中安裝 ttf-mscorefonts-installer,該軟件安裝的時候會自動下載安裝微軟提供的幾套英文字體。如下圖:
查看系統的配置文件
系統的配置文件,除了 /etc/fonts.conf 外,其余的配置文件都在 /etc/fonts/conf.d 目錄中。進入該目錄 ls 一下,可以看到配置文件還真不少,其中每一個文件前面都有一個編號。如下圖:
這些編號有什么用呢?或者說 Ubuntu 對字體的配置采取的是一個什么樣的思路呢?這個問題很好回答,看一下 README 就可以了。如下圖:
從上圖可以看出,編號 00 到 09 的配置文件主要用來設置存放字體的目錄,編號 10 到 19 的配置文件用來設置系統中的全局屬性,比如 hinting 啊、antialias 啊什么的,而編號 20 到 29 的配置文件用來設置某些字體的顯示屬性,30 到 39 就是針對特定的字體進行替換,如果系統中有某些著名的字體沒有安裝的話,可以把它替換成其它與之相似的字體,40 到 49 是對字體進行分類,50 到 59 是載入其它的配置文件,60 到 69 則是針對分類選擇具體的字體,后面的懶得講了。可以看出,這里的字體配置思路和我前面一篇隨筆中使用的思路是一模一樣的。呵呵,其實是我借鑒了它。
同時,通過 50-user.conf 文件可以看到,我們完全可以把自己的配置文件放到 ~/.fonts.conf.d 目錄中。在后面的配置過程中,我的配置文件將遵守同樣的編號原則。
借用 Windows 的字體
微軟只公開了幾個英文字體,而 Tahoma 和 Consolas 以及所有的中文字體我們只有親自動手去 Windows 系統下 copy 了。將借用的字體放到 ~/.fonts 目錄下,如下圖:
編寫配置文件
最后,進入 ~/.fonts.conf.d 目錄,編寫相應的配置文件。
第一步,設置 dpi 為 96,因為這是一個全局設置,所以我取的文件名是 10-dpi.conf。該配置文件內容很簡單,如下圖:
第二步,設置宋體在 12px、13px、14px、15px、16px 和 18px 的時候使用點陣,由於這是針對某個特定字體的配置,所以我取的文件名是 26-simsun-render.conf。如下圖:
第三步,設置等寬字體為 consolas 搭配微軟雅黑,該配置內容也很簡單,由於是為某個類別指定字體,所以我取的文件名是 66-monospace.conf。如下圖:
第四步,設置 Sans-Serif 為 Verdana 搭配微軟雅黑,文件名為 67-sans.conf。如果不想使用點陣就不用安裝文泉驛點陣正黑,如果不喜歡微軟雅黑就把 Droid Sans Fallback 放到微軟雅黑的前面。如下圖:
第五步,設置 Serif 的中文字體為宋體,文件名為 68-serif.conf,如下圖:
第六步,設置界面字體,將 Ubuntu 替換成 Tahoma 搭配微軟雅黑,文件名為 69-ui.conf,內容如下圖:
配置完成后,fc-cache 一下,就可以發現控制台中的字體從 Dejavu Sans Mono 變成 Consolas 了,中文為微軟雅黑。打開網頁看我之前編寫的字體測試,發現顯示效果也很不錯哦。如下圖:
和之前的那一篇隨筆相比,這里使用的配置方法要簡潔明了得多。可以說,只要掌握的字體配置的原理,在 Linux 系統下配置字體將再也不是什么難事。
(京山游俠於2015-01-17重新選題編輯后發布於博客園,轉載請注明出處。)