創作內容

7 GP

用 fontconfig 修改 Linux 應用程式字體

作者:Yotsuba│2021-08-28 10:29:45│巴幣:115│人氣:701
一年前,我還在用 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 的字體了 ...
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=5250635
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 2 篇留言

你聽我說我說他
現在才發現這篇文章...Ubuntu 默認下 Discord 的字體真的難看

02-25 07:42

Yotsuba
小屋沒流量的下場 XD 沒事,有幫到你就好02-25 20:58
正義
我也是現在才看到lol 不然本來是利用語言改成English(US)的fallback才比較好看

03-23 16:05

我要留言提醒:您尚未登入,請先登入再留言

7喜歡★happy819tw 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:教你如何在 Linux ... 後一篇:用 dconf 修改 G...

追蹤私訊切換新版閱覽

作品資料夾

airsky00大家
爆肝中(゚∀。)看更多我要大聲說10小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】