GNOME Terminal 中文环境下行间距变大问题

全部默认安装的新系统里,GNOME,15.5 的中文环境下的 terminal,比英文环境下的 terminal 高一截,看起来很别扭,拉到一样大小,显示的内容就少,中文环境下每行之间的距离莫名变大
15.4 好像没这毛病,15.3 和 15.2 肯定没这毛病

Ubuntu 也是这样,我虚拟机里有 Ubuntu22.04,也是这个毛病,之前的 ubuntu 版本就挺正常

好像是从去年某个时间开始,各发行版 gnome 里的 terminal 开始统一变形了

截个图看下,盲猜字体问题(


这是论坛里找到的一年多前帖子的图片,这个问题现在依然存在

字体的原因应该不是,虚拟机里试验过,安装时能默认的全都默认,还是变形,天生就这个有毛病的样子

看不懂鸟文,好像洋鬼子也没能解决掉?

看起来是 Noto Sans CJK 字体的问题。

1赞

试试在设置中将字体替换为 DejaVu Sans Mono

我尝试了很多字体,只要切换中英文环境,terminal 的宽高比都会变形,快放弃的时候发现了一款居然能岿然不动的字体,文泉驿等宽正黑,就是这个字体在终端下忒难看了,下载了文泉驿微米黑,改字体为文泉驿等宽微米黑,一切 OK 了

文泉驿功德无量

2赞

VTE 上游的意思是因为 Noto Mono CJK 里有几个特别高的字符,你使用了 fontconfig 的 prepend 最终的 fontset 会导致用 pango_context_get_metrics() 取到的 metrics 会特别大,它作为终端绘制的库必须把方块(bounding box)全涂满,就造成行间距大了。

Noto 的意思是跟它没什么关系,我们是有特别高的字符,但我们的垂直 metrics 计算的时候已经把它们排除了。还是你没取对。

然后就一直僵了这么多年

2赞

…这都能僵着,