我想从 Firefox 的 fontconfig 匹配结果中删除一些字体。
我知道有<rejectfont>
,但它完全删除了每个人的字体,就像系统中不存在它一样。
我尝试过prepend_first
,但事实证明 Firefox 有自己的字体选择算法,可以从 fontconfig 获取所有匹配项并对它们重新排序(如果它无法从位图字体中找到精确大小的匹配项,则似乎它更喜欢可缩放字体,这与fontconfig
本身具有更复杂和可配置的字体匹配逻辑),因此不需要的字体应该完全排除在列表之外。
delete
并且delete_all
编辑模式似乎不适用于此问题。
有没有比修补 Firefox 本身更好的方法来处理这个问题?
答案1
您可以使用FONTCONFIG_FILE
或FONTCONFIG_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 ...