在前一篇隨筆中,我詳細討論了字體的分類及用途,也以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系統下配置字體將再也不是什麼難事。