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

sli*_*ice 6 fonts fontconfig

我有一种字体——PragmataPro。这种字体的粗体版本属于另一个系列,Essential PragmataPro。我想应用程序使用基本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>
Run Code Online (Sandbox Code Playgroud)

它所做的只是应用DejaVu Sans粗体。

有什么建议?

小智 3

绑定=“强”添加到您的第一个编辑行,如下所示:

<edit name="family" mode="assign" binding="strong"><string>Essential PragmataPro</string></edit>
Run Code Online (Sandbox Code Playgroud)

应该可以解决问题。看来你的第二个编辑行:

<edit name="embolden" mode="assign"><bool>false</bool></edit>
Run Code Online (Sandbox Code Playgroud)

不需要。