2010-05-27

Monaco + LiHei 字型優化 on Ubuntu 10.04+

看到 KaLUG 前輩的 EvilWM 後真的發覺 Linux 的自訂度真的很高,有些時候只需改個小小的設定就可以很漂亮,凍仁喜歡用 Ubuntu 的原因之一就是因為它可以用又大又美的字體,雖說 Windows 7 在這部份已經改善不少了,但個人認為還有待加強 :P

先看看三種組合的差別。

LiHei Pro

Monaco + Wen Quan Yi(文泉驛微米黑)

Monaco + LiHei Pro

Ubuntu 10.04 裡 Wen Quan Yi 的順序較優先,若單純使用 Monaco 時會有 Monaco + Wen Quan Yi 的效果出現,這是因為 Monoco 本身只有英文字型,在找不到中文字型的情況下會向下搜尋順位較高的中文字型,所以只要在 Wen Quan Yi 前加入 LiHei Pro 就可以同時使用 Monoco 的英文字型 + LiHei Pro 的中文字型。

這裡以 monospace 為範例 (monospace = Monoco + LiHei Pro)。
jonny@lucid:~$ sudo vi /etc/fonts/conf.d/69-language-selector-zh-tw.conf [Enter]
<match target="pattern">
  <test qual="any" name="family">
    <string>monospace</string>
  </test>
  <edit name="family" mode="prepend" binding="strong">
    <string>Monaco</string>
    <string>LiHei Pro</string>

    <string>DejaVu Sans Mono</string>
    <string>Bitstream Vera Sans Mono</string>
    <string>WenQuanYi Micro Hei Mono</string>
    <string>WenQuanYi Zen Hei Mono</string>
    <string>Droid Sans Fallback</string>
    <string>AR PL UMing TW</string>
    <string>AR PL UMing HK</string>
    <string>AR PL ShanHeiSun Uni</string>
    <string>AR PL New Sung</string>
    <string>HYSong</string>
    <string>AR PL UKai TW</string>
    <string>AR PL UKai HK</string>
    <string>AR PL ZenKai Uni</string>
  </edit>
</match>

前人提到的 Firefox 字型不會動的部份,凍仁都是手動將以下語系字型皆改過就會動了:P
  • Simplified Chinese - 簡體中文
  • Traditional Chinese(Hong Kong) - 正體中文(繁體,香港)
  • Traditional Chinese(Taiwan) - 正體中文(繁體,台灣)
  • Western - 英文/西歐語言
  • Other lanaguages - 其他語言

2010-05-29


補上 Debian, RedHat 設定檔路徑。
  • Debian:/etc/fonts/conf.d/65-nonlatin.conf
  • Red Hat:/etc/fonts/conf.d/64-nonlatin-fedora.conf

2010-06-18


使用 find 搭配 grep 尋找包含 monospace 檔案。
jonny@lucid:~$ find /etc/fonts/ -name '*.conf' -type f -exec grep -il "monospace" {} \; [Enter]
/etc/fonts/fonts.conf
/etc/fonts/conf.avail/65-fonts-persian.conf
/etc/fonts/conf.avail/60-latin.conf
/etc/fonts/conf.avail/53-monospace-lcd-filter.conf
/etc/fonts/conf.avail/69-language-selector-ka-ge.conf
/etc/fonts/conf.avail/69-language-selector-ko-kr.conf
/etc/fonts/conf.avail/65-nonlatin.conf
/etc/fonts/conf.avail/64-ttf-thai-tlwg.conf
/etc/fonts/conf.avail/69-language-selector-ja-jp.conf
/etc/fonts/conf.avail/45-latin.conf
/etc/fonts/conf.avail/69-language-selector-zh-sg.conf
/etc/fonts/conf.avail/69-unifont.conf
/etc/fonts/conf.avail/69-language-selector-zh-cn.conf
/etc/fonts/conf.avail/69-language-selector-zh-hk.conf
/etc/fonts/conf.avail/69-language-selector-zh-tw.conf
/etc/fonts/conf.avail/40-nonlatin.conf
/etc/fonts/conf.avail/41-ttf-arphic-uming.conf
/etc/fonts/conf.avail/49-sansserif.conf
/etc/fonts/conf.avail/69-language-selector-zh-mo.conf
/etc/fonts/conf.avail/64-ttf-arphic-uming.conf
/etc/fonts/conf.avail/44-wqy-zenhei.conf
/etc/fonts/conf.avail/20-fix-globaladvance.conf
/etc/fonts/conf.d/65-khmer.conf

# grep -i, --ignore-case 不分大小寫
# grep -l, --files-with-matches 印出符合的檔案

2012-05-02


直接把找到的檔案全丟到 Vim 一起編輯比較方面,可使用 :N, :n 來切換前後檔案。
jonny@lucid:~$ sudo vim $(find /etc/fonts/conf.d/ -name "*.conf" -type f -exec grep -il "monospace" {} \; | sort) [Enter]

2012-05-03


感謝 CrBoy 分享 Vim 的 -p 參數,它能使用分頁(Tab)方式開啟多個檔案,並使用 gT, gt 來切換前後檔案。
jonny@lucid:~$ sudo vim -p $(find /etc/fonts/conf.d/ -name "*.conf" -type f -exec grep -il "monospace" {} \; | sort) [Enter]


2012-09-29


補上新的方法,只需四個步驟即可。

1. 下載字型檔以及 fonts.conf

2. 將 MonacoLiHei Pro 移至 $HOME/.fonts/ 底下。
jonny@lucid:~$ mkdir ~/.fonts/ && mv *.ttf ~/.fonts/ [Enter]

3. 將 fonts.conf 移至 $HOME 底下,並重新命名成 .fonts.conf。
jonny@lucid:~$ mv fonts.conf ~/.fonts.conf [Enter]

4. 重新載入字型設定。
jonny@lucid:~$ fc-cache -v [Enter]


資料來源:
Ubuntu大改造 - Part 1 by 小迪克

延伸閱讀:
Programmer 專用最佳字型 - Monaco font by Tsung
[轉]grep命令介紹 by H's 手札

6 則留言 :

  1. google chrome 5 的字型該如何調整成儷黑體呢?
    拜了google大神好幾天了,都還搞不定。

    有某些網頁是沒辦法被強制顯示成瀏覽器自訂的字型。很麻煩。像pixnet的很多網誌都是。

    用你這些設定可以解掉這個問題嗎?

    回覆刪除
  2. 你說得問題也是凍仁很納悶的部份,在語系以及字型上的設定的卻沒Firefox來的好:P

    回覆刪除
  3. 原本還在想 Debian 改完 gnome-terminal 不會跟著改,沒想到今天把語系改為 en_US.UTF8, eu_US:en 就可以了:P

    回覆刪除
  4. chrome可以用stylish套件強制把網頁的字型變更

    回覆刪除
  5. 感謝樓上「匿名」提點。我用chrome加上stylish套件弄成功了!
    配上
    DIV {
    font-family:'LiHei Pro', '微軟正黑體', 'Microsoft YaHei', 'Microsoft JhengHei';
    background-color: transparent;
    }
    就OK了!(div改成半形)
    yahoo新聞的字變漂亮了!耶!!

    回覆刪除

謝謝您的寶貴意見,凍仁一定會盡快處理 ~^^