我有一种字体——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 粗体字体库的旧名称连接到您想要的任何库。
你必须重建你的字体缓存,但这种事情是有效的。