如下所示,我的 Xft 设置与我的 fontconfig 设置完全匹配:
$ xrdb -query | grep -i xft
Xft.antialias: 1
Xft.autohint: 1
Xft.dpi: 96
Xft.hinting: 1
Xft.hintstyle: hintmedium
Xft.lcdfilter: lcddefault
Xft.rgba: none
$ fc-match --verbose :family=Mono:size=12 | grep '^.\(hint\|anti\|auto\|dpi\|rgba\|lcd\)'
antialias: True(w)
hintstyle: 2(i)(w)
hinting: True(w)
autohint: True(w)
dpi: 96(f)(w)
rgba: 5(i)(w)
lcdfilter: 1(i)(w)
不幸的是,Xft 似乎忽略了这些设置,并且根本没有做任何暗示。我可以在 GUI Emacs 或运行命令中看到这一点
pango-view --backend=xft --font='Mono, 12' -t 'Xft - X FreeType interface library'
将渲染结果与 Cairo 后端生成的渲染结果进行比较:
pango-view --backend=cairo --font='Mono, 12' -t 'Xft - X FreeType interface library'
答案1
事实证明,在 Xft 中hintmedium
是 的同义词hintslight
,而在 fontconfig 中hintmedium
是 的同义词hintfull
。因此,该选项hintmedium
实际上根据程序使用 Cairo 还是 Xft 选择不同的提示方法。
据我所知,这在任何地方都没有记录。我必须通过反复试验来弄清楚。