如何將一個字體系列的粗體別名為另一個字體系列的粗體?

如何將一個字體系列的粗體別名為另一個字體系列的粗體?

我有一個字體——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 粗體字體庫的前名稱連接到您想要的任何庫。

你必須重建你的字體緩存,但這種事情是有效的。

相關內容