Fontconfig 文档相当不透明。我希望查找“Helvetica”系列的应用程序改为接收“Helvetica LT Std”系列并显示该字体,尤其是浏览器。我写入 ~/.fontconfig/fonts.conf 的最新 XML 文件是
<fontconfig>
<match target="pattern">
<test name="family" target="default" compare="eq">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>Helvetica LT Std</string>
</edit>
</match>
</fontconfig>
我做错了什么?表达这种替代的正确方法是什么?
答案1
这对我来说可以用 Ubuntu 替换 Arial
<!--?xml version="1.0"?>-->
<!--DOCTYPE fontconfig SYSTEM "fonts.dtd">-->
<!-- ~/.fonts.conf for per-user font configuration -->
<fontconfig>
<match>
<test name="family"><string>Arial</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>Ubuntu</string>
<string>Arial</string>
</edit>
</match>
</fontconfig>
我发现 fc-match 非常有用。
另外,我使用的是 Precise,所以我使用 ~/.fonts.conf。在 Quntal 中,我理解您应该使用 ~/.config/fontconfig/fonts.conf
答案2
这与我使用的替换完全相同!这是我的配置,但它仅在指定字体不可用时才有效。如果指定的字体可以通过 fontconfig 访问,则名为海尔维提卡,别名将不适用。但是,这在我的所有 Ubuntu 安装中都运行正常,因此我建议在使用匹配标签。
<fontconfig>
<!-- Excerpt -->
<alias>
<family>Helvetica</family>
<accept>
<family>Helvetica LT Std</family>
</accept>
</alias>
<!-- Excerpt -->
</fontconfig>