一年前,我還在用 Kubuntu 的時候,某次 Discord 的更新把字體改掉了
我不喜歡那個字體,當時費盡心力的研究該怎麼把字體改回來 ?
很遺憾的是當時束手無策,所以漸漸的看習慣那個字體了
不過一年後的今天終於研究出解答了
首先,Linux 要怎麼下載並且安裝新字體呢 ?
/etc/fonts/fonts.conf 這個檔案的第 28 行開始有告訴你,字體檔案放在哪些資料夾 ?
然後把你想要的字體,盡量以英文去 Google ( 即使它是中文字體 )
然後加個 GitHub 之類的關鍵字,通常都找的到
找到以後把字體檔案丟進資料夾就算完成了
~/.fonts 家目錄很適合放自己下載的字體,不過註解有提到未來可能會移除
/usr/share/fonts 這是系統字體預設會存放的位置
/usr/local/share/fonts 這裡是空的,不考慮家目錄的話,也可以放這裡
字體安裝完成了,如何套用新字體 ?
/etc/fonts/conf.d/50-user.conf 的第 9 行開始有告訴你,使用者自訂的 fontconfig 可以放哪 ?
~/.config/fontconfig/fonts.conf 可以放自己偏好的字體調用順序
~/.config/fontconfig/conf.d 可以放更多個別的設定檔,比如說拉丁和非拉丁文字的規則等等 ...
由於我沒有太深入研究,且需求只有變更中文字體,所以只修改 ~/.config/fontconfig/fonts.conf
我偏好的中文字體是微軟正黑體,就把三個地方的 prefer 都變成微軟正黑體就完成了
你可以複製以下的 XML 副本,然後在 ~/.config/fontconfig/fonts.conf 建立一個自己的版本
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Microsoft JhengHei</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Microsoft JhengHei</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Microsoft JhengHei</family> </prefer> </alias> </fontconfig>
|
如何知道字體的 family ?
以微軟正黑體舉例,我下載到的時候,它的檔案名稱是 Microsoft-JhengHei.ttf
首先把它放到字體資料夾裡面,我個人是放在 /usr/local/share/fonts
接著下 $ fc-list | grep Microsoft-JhengHei 會得到 :
/usr/local/share/fonts/Microsoft-JhengHei.ttf: Microsoft JhengHei,微軟正黑體:style=Normal ...
總之第一個冒號後面就是答案了,也就是 Microsoft JhengHei
如果你很懷疑應用程式有沒有成功套用字體 ?
可以下 $ lsof /usr/local/share/fonts/Microsoft-JhengHei.ttf 檢查所有使用該檔案的 Process
如果你希望的應用程式有出現就代表成功了
顯然一年後的我,終於成功客製化 Discord 的字體了 ...