Konsole 下中文字体的问题

我的 konsole 的字体有点问题,中文在显示的时候感觉很大,仔细看可以发现下面的边被切掉了,这是怎么回事呢? 我的英文等宽字体是 consolas。

KDE 的字体配置页如下:


konsole 可以在自己设置里改变的字体设置

设过了,只能设置一种等宽的,已经设成 consolas 了,中文的怎么设?

中文本来就是等宽的啊。只不过你这个只指定英文于是中文乱 fallback 而已。

所以更加好的方式是调整 monospace 这个类似 symlink 的字体,去分别适配中文与英文:

你可以去 /usr/share/fontconfig/conf.avail/{60-latin.conf, 65-nonlatin.conf} 下面,

把相应的顺序调整下,比如在 60-latin 里面把你的 consolas 加进去,65 把 WenQuanYi Micro Hei Mono 调到第一个。konsole 里面直接指定 monospace 就行了。怕下次升级被覆盖可以学下怎么写,写到 $HOME/.config/fontconfig/fonts.conf 里面。

我为什么在所有「konsole 光标错位」这样的帖子都建议去设成 Droid Sans Mono 是有原因的,因为这套字体里有中文,行高是统一的。自己调整的可能就存在比如同样字号,但两个字体设计的高度不同,就好比同样是 48x48 的 png 图标,但有的占满了有的没占满,放在一起默认用的是英文的行高,于是中文没头没尾。你要是 VIM 的话应该可以调行高的。

学习了,有没有系统介绍字体的 fallback 和配置的文章,我想去看看。

那你得等我写了,在 todo list 上,但是一直没什么之间,其它的比如 U 坛那边都是瞎搞的,理论上差的远了。

坐等 :sunglasses: