如何将一个字体系列的粗体别名为另一个字体系列的粗体?

如何将一个字体系列的粗体别名为另一个字体系列的粗体?

我有一种字体——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 粗体字体库的旧名称连接到您想要的任何库。

你必须重建你的字体缓存,但这种事情是有效的。

相关内容