Xft:无法启用字体提示

Xft:无法启用字体提示

我无法在(据我所知)不使用全局 fontconfig 设置的程序中启用字体提示。

我首先认为这仅与 urxvt 有关。

urxvt -fn "xft:Consolas:pixelsize=15:hinting=true:hintstyle=hintfull:antialias=true"

或者grep hint .Xresources

Xft.hinting:    true
Xft.hintstyle:  hintfull
URxvt.font:     xft:Consolas:pixelsize=15:hinting=true:hintstyle=hintfull:antialias=true

没有任何暗示。但在尝试其他终端(例如 xterm 或 st)时,他们也存在忽略提示的相同问题。

和另一个问题类似这里,我还可以使用pango-view:

$ export FC_DEBUG=1

$ pango-view --hinting=full --backend=xft --font=Consolas -t 'Hello world' | grep hint
    hintstyle: 3(i)(w)
    hinting: True(s)

$ pango-view --hinting=none --backend=xft --font=Consolas -t 'Hello world' | grep hint
    hintstyle: 3(i)(w)
    hinting: False(s)

尽管调试消息暗示 True/False 差异,但字体渲染完全没有区别:两者都渲染为hinting=none.但是,使用 option--backend=cairo时,会发生提示并且渲染的字体有明显的差异。

我已经尝试过hintfull,,hintmedium-hintslight没有任何效果。

我的故事是,事实上我已经使用带有提示的 urxvt 几年了。我一直在使用这个“infinality”freetype 补丁和配置,但现在不再有效。所以,我现在使用 Arch Linux 提供的默认 freetype(版本 2.9-2)包。

我所做的唯一配置是在全局配置中启用提示,如下所示:

~/.config/fontconfig/fonts.conf

<match target="font">
  <edit name="hintstyle" mode="assign">
    <const>hintmedium</const>
  </edit>
</match>

这成功地将提示应用于除 urxvt 和朋友之外的所有程序。 (这里的一个不规则之处是我hintmedium在这里使用了hintfull- 由于未知的原因,内部 fonts.confhintfull没有任何效果并且与 相同hintnone

那么,关于为什么暗示可能不适用于 urxvt 或 st 的任何想法吗?

相关内容