从 fontconfig 中删除字体结果

从 fontconfig 中删除字体结果

我想从 Firefox 的 fontconfig 匹配结果中删除一些字体。

我知道有<rejectfont>,但它完全删除了每个人的字体,就像系统中不存在它一样。

我尝试过prepend_first,但事实证明 Firefox 有自己的字体选择算法,可以从 fontconfig 获取所有匹配项并对它们重新排序(如果它无法从位图字体中找到精确大小的匹配项,则似乎它更喜欢可缩放字体,这与fontconfig本身具有更复杂和可配置的字体匹配逻辑),因此不需要的字体应该完全排除在列表之外。

delete并且delete_all编辑模式似乎不适用于此问题。

有没有比修补 Firefox 本身更好的方法来处理这个问题?

答案1

您可以使用FONTCONFIG_FILEFONTCONFIG_PATH环境变量来仅更改某个进程及其后代的字体配置设置:

$ cp /etc/fonts/fonts.conf /path/to/fonts-for-firefox.conf

# modify /path/to/fonts-for-firefox.conf as you see fit
# don't forget to change the include ..>conf.d< to >/etc/fonts/conf.d<

$ FONTCONFIG_FILE=/path/to/fonts-for-firefox.conf firefox ...

相关内容