Fonts
如何覆蓋預設字型別名優先級
對於草書字型,我同時安裝了 URW Z003 和 Écolier Court 字型。我想使用 Écolier Court,但
fc-match cursive
顯示正在選擇 Z0003。我無法刪除 Z003 字型包,因為它是我想要保留的許多軟體包的依賴項。我嘗試製作一個 fontconfig conf 文件來更改選擇的內容,但沒有任何運氣。URW Z003 中的相關 fontconfig 行
/etc/fonts/conf.d/61-urw-z003.conf
是:<alias> <family>cursive</family> <prefer> <family>Z003</family> </prefer> </alias> <alias> <family>Z003</family> <default> <family>cursive</family> </default> </alias>
Écolier Court 的相關 fontconfig 行,在
/etc/fonts/conf.d/61-ecolier-court.conf
,是<alias> <family>cursive</family> <prefer> <family>Écolier court</family> </prefer> </alias> <alias> <family>Écolier court</family> <default> <family>cursive</family> </default> </alias>
我寫的fontconfig文件是:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>cursive</family> <prefer> <family>Écolier court</family> </prefer> </alias> <alias> <family>Écolier court</family> <prefer> <family>cursive</family> </prefer> </alias> </fontconfig>
我在我的 fontconfig 文件名前加上了
00-
和99-
,但無論哪種情況都fc-match
表明 fontconfig 在被要求輸入草書字型時總是選擇 Z003。
首先,您錯誤配置了一條規則,您使用了
<prefer> <family>cursive</family> </prefer>
鑑於,您應該使用
<default> <family>cursive</family> </default>
其次,您可能還使用了錯誤的姓氏。通常,字型名稱不帶有重音符號。檢查正確的姓氏
≻ fc-scan ecolier-court.ttf family: "Ecolier_court"(s) lang: aa|bi|fj|gv|ho|ia|id|ie|io|nr|om|so|sq|ss|st|sw|ts|uz|vo|xh|yap|zu|jv|kj|kwm|ms|ng|rn|rw|sg|sn|su|za(s)
如果那裡的姓氏變成Ecolier_court,那麼您必須在配置中使用它。
第三,請注意我從網上下載的版本沒有
en
語言,這意味著如果您$LANG
設置為en
fc-match cursive
永遠不會匹配此字型。fc-match cursive:lang=fr
您可以使用或env LANG=fr fc-match cursive
例如根據您的外殼顯式匹配不同語言的字型。可能還有其他原因,但讓我們看看這三個是否會首先解決您的問題。