我有一個字體——PragmataPro。這種字體的粗體版本屬於另一個家族,Essential PragmataPro。我希望應用程式使用 Essential PragmataPro大膽的當它嘗試使用 PragmataPro 時大膽的。
另外,不存在PragmataPro的粗體字重,也不存在Essential PragmataPro的常規字重。第一句話是我的問題的根源。
這是我嘗試過的:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family"><string>PragmataPro</string></test>
<test name="weight" compare="more_eq"><const>bold</const></test>
<edit name="family" mode="assign"><string>Essential PragmataPro</string></edit>
<edit name="embolden" mode="assign"><bool>false</bool></edit>
</match>
</fontconfig>
它所做的只是應用DejaVu Sans
粗體。
有什麼建議麼?
答案1
添加綁定=“強”到你的第一個編輯行,如下所示:
<edit name="family" mode="assign" binding="strong"><string>Essential PragmataPro</string></edit>
應該可以解決問題。看來你的第二個編輯行:
<edit name="embolden" mode="assign"><bool>false</bool></edit>
不需要。
答案2
將目前使用的粗體庫移至另一個目錄。虛擬連結 (ln -s) 將您的 DejaVu Sans 粗體字體庫的前名稱連接到您想要的任何庫。
你必須重建你的字體緩存,但這種事情是有效的。