Ubuntu 所須要的中文字體美化操做步驟

中文字體美化是個很討厭的事情,無數初學者在這裏面浪費了無數時間,作了無數沒有意義的事情。但這也是不得不作的,我把 Debian/Ubuntu 所須要的中文字體美化操做步驟詳細記錄在這裏,但願能節約你們一部分時間。vim

1 安裝必要的字體包

Debian 和 Ubuntu 下對中文支持比較好的字體有:ttf-droidttf-wqy-zenheifonts-notottf-wqy-microhei 等,除了文泉驛系列字體外,比較流行的免費中文字體還有文鼎提供的楷體和上海宋,包名分別是:ttf-arphic-ukaittf-arphic-uming。把這些字體都裝上以後,應該就已經具有一個基本能用的中文環境了。app

2 修改字體配置文件

在 Ubuntu Precise 以前,中文默認的字體配置效果已經很是好了。但到了 Precise 的時候,韓國新推出了幾個免費韓文字體。固然了,免費字體這東西,原本就是多多宜善,但問題就在於,韓國人作的韓文字體裏不只僅有韓文,還包含了中文。而這些字體裏的中文部分,不客氣地說,實在是醜得能夠。而韓國人把這個字體設置成 Ubuntu 裏的中文默認字體,這就太讓人難以接受了。工具

爲了讓中文顯示效果更讓人能夠接受一些,滇狐決定徹底屏蔽那幾個韓文字體。反正滇狐不懂韓語,所以少了幾個韓文字體,對正常生活影響不大了。你們能夠參考如下滇狐本身的字體配置文件。將如下內容寫到 ~/.config/fontconfig/fonts.conf字體

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <alias>
  <family>serif</family>
  <prefer>
   <family>Noto Serif</family>
   <family>DejaVu Serif</family>
   <family>Bitstream Vera Serif</family>
   <family>Droid Serif</family>
   <family>AR PL UMing CN</family>
   <family>AR PL ShanHeiSun Uni</family>
   <family>Droid Sans Fallback</family>
   <family>WenQuanYi Micro Hei</family>
   <family>WenQuanYi Zen Hei</family>
  </prefer>
 </alias>
 <alias>
  <family>sans-serif</family>
  <prefer>
   <family>Roboto</family>
   <family>Noto Sans</family>
   <family>DejaVu Sans</family>
   <family>Bitstream Vera Sans</family>
   <family>Droid Sans</family>
   <family>Droid Sans Fallback</family>
   <family>WenQuanYi Micro Hei</family>
   <family>WenQuanYi Zen Hei</family>
   <family>AR PL UMing CN</family>
   <family>AR PL ShanHeiSun Uni</family>
  </prefer>
 </alias>
 <alias>
  <family>monospace</family>
  <prefer>
   <family>DejaVu Sans Mono</family>
   <family>Bitstream Vera Sans Mono</family>
   <family>Droid Sans Mono</family>
   <family>Droid Sans Fallback</family>
   <family>WenQuanYi Micro Hei Mono</family>
   <family>WenQuanYi Zen Hei Mono</family>
   <family>AR PL UMing CN</family>
   <family>AR PL ShanHeiSun Uni</family>
  </prefer>
 </alias>
 <!-- Default Alias -->
 <alias>
  <family>Roboto</family>
  <default>
   <family>sans-serif</family>
  </default>
 </alias>
 <!-- Generic font families -->
 <match target="pattern">
  <test name="family" qual="any">
   <string>serif</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>Noto Serif</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>sans-serif</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>Roboto</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>monospace</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>DejaVu Sans Mono</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>monospace</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>DejaVu Sans Mono</string>
  </edit>
 </match>
 <!-- Disable ugly Nanum fonts -->
 <match target="pattern">
  <test name="family" qual="any">
   <string>NanumGothic</string>
  </test>
  <test name="family" qual="any">
   <string>NanumGothicCoding</string>
  </test>
  <test name="family" qual="any">
   <string>NanumMyeongjo</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>Droid Sans Fallback</string>
  </edit>
 </match>
 <!-- Aliases -->
 <match target="pattern">
  <test name="family" qual="any">
   <string>KaiTi</string>
  </test>
  <test name="family" qual="any">
   <string>SimKai</string>
  </test>
  <test name="family" qual="any">
   <string>楷體</string>
  </test>
  <test name="family" qual="any">
   <string>楷體_GB2312</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>AR PL UKai CN</string>
   <string>AR PL ZenKai Uni</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>NSimSun-18030</string>   
</test>   
<test name="family" qual="any">    
<string>NSimSun</string>   
</test>   
<test name="family" qual="any">    
<string>SimSun-18030</string>   
</test>   
<test name="family" qual="any">    
<string>SimSun</string>   
</test>   
<test name="family" qual="any">    
<string>宋體</string>   
</test>   
<test name="family" qual="any">    
<string>新宋體</string>   
</test>   
<edit binding="strong" mode="prepend" name="family">    
<string>AR PL UMing CN</string>    
<string>AR PL ShanHeiSun Uni</string>   
</edit>  
</match>  
<match target="pattern">   
<test name="family" qual="any">    
<string>Microsoft YaHei</string>   
</test>   
<test name="family" qual="any">    
<string>STHeiti</string>   
</test>   
<test name="family" qual="any">    
<string>SimHei</string>   
</test>   
<test name="family" qual="any">    
<string>微軟雅黑</string>   
</test>   
<test name="family" qual="any">    
<string>黑體</string>   
</test>   
<edit binding="strong" mode="prepend" name="family">    
<string>Droid Sans Fallback</string>    
<string>WenQuanYi Micro Hei</string>    
<string>WenQuanYi Zen Hei</string>   
</edit>  
</match>  
<!-- Anti-alias -->  
<match target="font">   
<edit name="embeddedbitmap">    
<bool>false</bool>   
</edit>  
</match>  
<!-- End -->  
<match target="font">   
<edit mode="assign" name="rgba">    
<const>rgb</const>   
</edit>  
</match>  
<match target="font">   
<edit mode="assign" name="hinting">    
<bool>true</bool>   
</edit>  
</match>  
<match target="font">   
<edit mode="assign" name="hintstyle">    
<const>hintfull</const>   
</edit>  
</match>  
<dir>~/.fonts</dir>  
<match target="font">   
<edit mode="assign" name="antialias">    
<bool>true</bool>   
</edit>  
</match>
</fontconfig>

雖然 fontconfig 將配置文件的路徑改到了 ~/.config/fontconfig/ 下,再也不從 ~/.fonts.conf~/.fonts.conf.d/ 讀取配置,但有一些舊的軟件仍然會試圖從原先的位置讀取配置。所以咱們須要建立這兩個符號連接:spa

$ ln  -s ~/.config/fontconfig/fonts.conf ~/.fonts.conf
$ ln -s ~/.config/fontconfig/conf.d ~/.fonts.conf.d

3 修復 LibreOffice 中文方塊問題

若是你在安裝系統的時候選擇系統默認語言不是中文,安裝了 Droid 系列字體的話,系統界面字體又是 Sans-serif 字體族的話,你頗有可能遇到打開 LibreOffice 以後看到全部的菜單都是方塊的問題。解決這個問題有不少方法,你能夠到 /etc/fonts/conf.d/ 下刪除 65-droid-sansj-fonts.conf,也能夠在那個目錄裏建立兩個符號連接,分別指向 ../conf.avail/69-language-selector-zh-cn.conf../conf.avail/69-language-selector-zh-cn.conf,或者若是不想修改系統配置文件,而想 per-user 修改的話,還能夠在本身家目錄的 ~/.fonts.conf.d/ 裏連接那兩個文件。code

4 修改桌面環境字體設置

修改完字體配置後,中文的顯示效果應該能夠上很大一個層次。可是,爲了獲得更好的效果,咱們還須要對具體應用程序裏的字體進行更多配置。xml

4.1 KDE 下的字體配置

滇狐平時只用 KDE 桌面環境,若是你的桌面環境不是 KDE 的話,以後的部分你也許不能直接照着作,請本身摸索,若是有意見或建議想要分享的話,請於滇狐聯繫。utf-8

KDE 下的字體配置很簡單,直接到「系統設置」裏找到「公共外觀和行爲」、「應用程序外觀」、「字體」,把全部類別的字體都改爲「Noto Sans UI」,等寬字用「DejaVu Sans Mono」便可。此外,建議啓用「圓整字體邊角」,併到「配置」對話框中把次像素渲染打開,微調樣式改成「完整」,這樣能夠在液晶顯示器下取得最好的效果。ci

4.2 GNOME 下的字體配置

滇狐並無「系統純潔強迫症」,雖然滇狐不用 GNOME,但 GNOME 下的軟件,滇狐仍是用的。爲了讓 GNOME 下的軟件在 KDE 下不至於太突兀,咱們仍是須要對 GNOME 下的字體進行必定的配置。文檔

4.2.1 GNOME 字體

在低版本的 GNOME 下,配置字體能夠經過 gnome-appearance-properties 進行,運行該配置工具,將全部字體均設成「DejaVu Sans」,等寬字體設爲「DejaVu Sans Mono」便可,很簡單。

在最新版本的 GNOME 下,gnome-appearance-properties 配置工具已經被移除了,全部的配置工做只能經過 gnome-control-center 來完成。但悲劇的是,gnome-control-center 只要檢測到你在 KDE 底下,就會拒絕提供配置字體的選項,所以修改 GNOME 程序的字體就只能經過 gconf-editor 進行了。gnome-appearance-properties 裏字體配置的各個選項對應的位置分別是:

應用程序字體:/desktop/gnome/interface/font_name

文檔字體:/desktop/gnome/interface/document_font_name

桌面字體:/apps/nautilus/preferences/desktop_font

窗口標題字體:/apps/metacity/general/titlebar_font

等寬字體:/desktop/gnome/interface/monospace_font_name

鍵值的格式是「字體名 空格 尺寸」,例如「Noto Sans UI 9」。在 KDE 下工做時,GNOME 的桌面和標題欄都是不可見的,所以只須要改應用程序字體、文檔字體和等寬字體三項就足夠了。

4.2.2 GTK 系統字體

在 KDE 下,gnome-settings-daemon 沒法啓動運行爲 GTK/GNOME 程序提供字體配置信息,有的程序可以直接讀取 gconf 下的字體配置信息,但還有不少程序會改成讀取主目錄下的配置文件獲取字體相關的配置,若是讀不到的話,就會變成很是醜陋的默認樣式。爲了不出現這樣的情 況,咱們須要在主目錄下爲這些程序建立配置文件。因爲不一樣版本的程序讀取的配置文件名都不太同樣,爲了讓儘量多的程序都能讀到正確的配置,咱們就多建立 幾個配置文件。在主目錄下建立這幾個文件:

.gtkrc

.gtkrc-1.2-gnome2

.gtkrc-2.0

.gtkrc-2.0-kde

文件的內容以下:

include ".gtkrc-2.0-kde4"

而後建立 .gtkrc-2.0-kde4,內容以下:

# This file was written by KDE
# You can edit it in the KDE control center, under "GTK Styles and Fonts"

include "/usr/share/themes/Oxygen-Molecule/gtk-2.0/gtkrc"

style "user-font"
{
    font_name="Noto Sans UI"
}
widget_class "*style "user-font"

gtk-theme-name="Oxygen-Molecule"
gtk-font-name="Noto Sans UI Regular 9"
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = "full"
gtk-xft-rgba = "rgb"
gtk-enable-event-sounds=0
gtk-cursor-theme-name = "oxy-white"

注意:開頭 include 後面包含的文件和 gtk-theme-name 指定的主題名須要根據你的我的習慣做相應的修改,不要直接照抄我這裏的配置。由於首先,我選擇的 GTK 主題未必是你喜歡的,其次,我安裝的 GTK 主題你未必也安裝了,所以務必根據你的我的習慣做相應的修改。

4.3 其它軟件

完成以上配置後,整個系統就已經很是適合人類生活了,接下來咱們再對部分程序作一些簡單的微調。

4.3.1 QTerm

QTerm 有本身的字體配置,並不直接遵循系統字體來,根據本身的喜愛配置一下就好。

相關文章
相關標籤/搜索