标签: xft

urxvt 中的字体渲染问题——字符之间的空间太大

从今天早些时候开始,我遇到了 rxvt-unicode 的字体渲染问题。特别是对于许多字体,我在字符之间获得了大量的额外空间。在其他字体中,rxvt 拒绝更改大小。

这是 urxvt 和 xterm 之间的间距问题的示例。

字体资源:

URxvt*font:     xft:Terminus:medium:size=10
xterm*faceName: xft:Terminus:medium:size=10
Run Code Online (Sandbox Code Playgroud)

还有效果图

  • 虚拟机 坏字体
  • 终端 好字体

我已经尝试了暗示和抗锯齿的所有排列。更改大小或像素大小确实会调整 urxvt 中的字体大小,但这也会增加额外的间距。

有没有人有我可以尝试解决这个问题的想法?

fonts urxvt xft

40
推荐指数
4
解决办法
5万
查看次数

为什么 Xft 忽略字体设置?

如下所示,我的 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)
Run Code Online (Sandbox Code Playgroud)

不幸的是,Xft 似乎忽略了这些设置,并且根本没有做任何暗示。我可以在 GUI Emacs 或运行命令中看到这一点

pango-view --backend=xft --font='Mono, 12' -t 'Xft - X FreeType interface library'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

将渲染与开罗后端生成的渲染进行比较:

pango-view --backend=cairo --font='Mono, 12' -t 'Xft - X FreeType interface library'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

fonts fontconfig xft

9
推荐指数
1
解决办法
2029
查看次数

标签 统计

fonts ×2

xft ×2

fontconfig ×1

urxvt ×1