Ubuntu環境下,手動安裝思源字型
Script
已經寫好的「Script」。
說明
下載「Google版」。
1 | $ wget -c https://noto-website.storage.googleapis.com/pkgs/Noto-hinted.zip |
我是放在這個資料夾「/usr/local/share/fonts/Noto」,參考這篇提到的。
解壓縮1
$ unzip Noto-hinted.zip -d Noto
移到「/usr/local/share/fonts/Noto」
1 | $ sudo mv Noto /usr/local/share/fonts/ |
或是複製到「/usr/local/share/fonts/Noto」
1 | $ sudo cp Noto /usr/local/share/fonts/ -a |
設定擁有者1
$ sudo chown root.staff /usr/local/share/fonts/Noto -R
或是執行,設定擁有者
1 | $ sudo chown root:staff /usr/local/share/fonts/Noto -R |
設定檔案權限
1 | sudo chmod 644 /usr/local/share/fonts/Noto/* -R |
安裝字型1
sudo fc-cache -fv
以上的步驟,就可以將字型安裝完成
你可以執行下面的指令驗證
1 | fc-match -a | grep Noto |
若要在「/etc/fonts/conf.d」做額外的設定,可以參考「這篇」和「這篇」,相關的gist - (1), (2),或是根據「這篇」的說明,改成自己的設定。
不過字型的名稱已經改變了,如下:1
2
3
4<string>Noto Sans CJK TC</string>
<string>Noto Sans CJK SC</string>
<string>Noto Sans CJK JP</string>
<string>Noto Sans CJK KR</string>
用下面的指令就可以查到1
$ fc-match -a | grep CJK
另外在「這個PPA」也有看到一個套件「fonts-noto-cjk」,也可以參考他的設定
1 | $ wget -c https://ppa.launchpad.net/createsc/3beol/ubuntu/pool/main/f/fonts-noto-cjk/fonts-noto-cjk_20140912-1~utopic0918~3beol_all.deb |
1 | $ dpkg -x fonts-noto-cjk_20140912-1\~utopic0918\~3beol_all.deb fonts-noto-cjk |
目前Ubuntu 14.04也有一個套件叫「fonts-noto」,不過目前應該沒有包含「CJK」字型。
1 | $ apt-get download fonts-noto |
輔助工具
在「「/etc/fonts/conf.d」裡面的設定檔,真的是「百家爭鳴」,
所以只好利用「Fontconfig Designer」這個工具,產生一個設定檔,
裡面建議的路徑是「~/.fonts.conf」。
不過目前「~/.fonts.conf」這個路徑,
要改放到「~/.config/fontconfig/fonts.conf」。
當你執行1
fc-match
就會看到下面的訊息
1 | Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", |
觀看「/etc/fonts/conf.d/50-user.conf」的內容
1 | $ vi /etc/fonts/conf.d/50-user.conf |
就會看到
1 | <?xml version="1.0"?> |
也就是說個人的設定,要使用「~/.config/fontconfig/fonts.conf」和「~/.config/fontconfig/conf.d」裡面的檔。
而「~/.fonts.conf」和「~/.fonts.conf.d」這兩個地方就不建議使用了。
另外還有一個要注意的,就是,你有安裝「font-manager」這個套件。
當你執行這個程式的時候,會寫入「~/.config/fontconfig/fonts.conf」這個檔。
內容如下(假設使用者的帳號是「user」)。
1 | <?xml version="1.0"?> |
所以最佳的建議是寫到「~/.config/fontconfig/conf.d」裡面的檔案,可以參照「/etc/fonts/conf.d/」的作法。
例如你可以把剛剛利用「Fontconfig Designer」這個工具,所產生的內容。
寫到「~/.config/fontconfig/conf.d/70-select.conf」。
若你要確認「~/.config/fontconfig/conf.d/10-select.conf」有沒有真的被載入。
只要在「~/.config/fontconfig/conf.d/70-select.conf」第一行,第一字,雖便亂填一個字。例如:a。這樣就會導致xml格式錯誤。
然後在執行1
$ fc-match
你就會看到下面的錯誤訊息。
1 | Fontconfig error: "/home/user/.config/fontconfig/conf.d/70-select.conf", line 1: not well-formed (invalid token) |
也就是說,我們可以確定「~/.config/fontconfig/conf.d/70-select.conf」是有被載入的。
然後你要測試你的字型查找的順序是否跟你的設定檔相符合,可以用下面指令來測試
1 | $ fc-match -s monospace | less |
1 | $ fc-match -s serif | less |
1 | $ fc-match -s sans-serif | less |
1 | $ fc-match -s mono | less |
1 | $ fc-match -s sans | less |
也可以直接測試你某個「字型名稱」,確認查找的順序是不是你要的。
1 | $ fc-match -s 標楷體 | less |
結論
基本上,只要了設定檔的原理,還有查找的順序,就可以依照自己想要的設定去設摟,以上只是當作範例來說明,了解如何設定。