Linux 下设置回落字体来避免Konsole里中文以宋体显示
Published on 2024-07-01 05:15 in 分类: 折腾 with 写python的叮叮叮
分类: 折腾

Linux 下设置回落字体来避免Konsole里中文以宋体显示

Linux 下设置回落字体来避免Konsole里中文以宋体显示

起因

最近一段时间突然发现我的 konsole 终端里面的中文字体开始显示为宋体,倒不是说宋体一定不好看,而是跟英文字体显得有些格格不入。不过突然想起之前似乎在哪里看到过这个,后来想起是 archlinux cn 的 TG 频道里有提到这个,并且给出了 解决方案 。不过既然提到了 fontconfig 我觉得还是应该去了解一下,知其然也知其所以然。

image-20240701044115916

fontconfig 是什么

这个问题已经有诸位大佬讲的比较清楚,比如 这篇文章,如果想要相对详细了解的可以仔细阅读一番,收获会比较大。

而我们这里就简单的知道 fontconfig 可以提供字体回落,也就是如果某个字体不能正常显示一些文字,比如英文字体想要显示中文,那么这个时候 fontconfig 就可以控制回落的时候选择什么字体,也就解决了我们上面的默认回落为宋体的问题。

如何配置 fontconfig

就像上面那片大佬的文章里面讲到的,我个人也是推荐在 ~/.config/fontconfig/fonts.conf 中配置 fontconfig。

fontconfig 的配置文件格式为 xml 格式,简单的示例如下:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match>
        <test name="family" compare="eq">
            <string>Hack Nerd Font Mono</string>
        </test>
        <edit name="family" mode="append">
            <string>Source Han Mono SC</string>
        </edit>
    </match>
</fontconfig>

对于这个配置文件来说,Hack Nerd Font Mono 是需要被配置的字体,而 Source Han Mono SC 则是回落字体。由于我们目前配置的是为 konsole 配置,所以中文字体我们也选择了等宽字体 Source Han Mono, 当然你也可以选择其他的等宽字体,比如 maple-font

然后我们也需要确定目前 konsole 使用的字体,点击右上角 菜单——编辑当前方案——外观, 即可在下方看到自己选择的字体,之后你可以执行 fc-list | grep 字体名 来找到这款字体并且复制其名称。

更改完上面两个值,保存之后执行 fc-cache -fv 来刷新字体缓存即可。

后面我们举一反三就可以更改其他英文字体的回落字体,只需要将 match 以及其中间的内容复制到下面新加一个配置即可。

posted @   写python的叮叮叮  阅读(357)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示