我有好几台的 Ubuntu 22.04,都是英文的系统,然后有一天我发现其中在实验室的那台 ubuntu(不然我还以为是 ubuntu 的中文bug),字体显示不正常,图就没放了,因为忘记截图了,症状总的来说就是不管是 Joplin 还是 Firefox 这些软件,中文字体都是一个大一个小,要么连着几个字都是大的,要么连着几个字都是小的,而且 Firefox 的字体不是正常的 ubuntu 的这种字体,是偏宋体的那种,就很不一致很难看。
上面描述问题只是为了各位对照自己的问题。然后下面是解决过程,一开始为搜了很多,有的人说是要修改 /etc/fonts/conf.d/64-language-selector-prefer.conf
这个文件
<alias>
<family>sans-seriffamily>
<prefer>
<family>Noto Sans CJK JPfamily>
<family>Noto Sans CJK SCfamily>
<family>Noto Sans CJK TCfamily>
prefer>
alias>
<alias>
<family>monospacefamily>
<prefer>
<family>Noto Sans Mono CJK JPfamily>
<family>Noto Sans Mono CJK SCfamily>
<family>Noto Sans Mono CJK TCfamily>
prefer>
alias>
要让这个 SC
和 TC
在前面,我改了,重启了,没用。
之后我就随便乱搞了,我先列出整个系统安装了的中文字体有哪些,执行命令(最好有一台字体正常的 ubuntu 22.04 做对比):
fc-list :lang=zh-cn
当然上述命令会列出很多字体,我们两台电脑上分别执行命令
Ubuntu 22.04 正常
fc-list :lang=zh-cn > 1.txt
Ubuntu 22.04 不正常
fc-list :lang=zh-cn > 2.txt
然后把这两个文件放到一个机器上,对比字体
diff 1.txt 2.txt
然后就可以发现问题了,那台字体显示不正常的 Ubuntu 上,多了两个叫什么文鼎的字体,还是 gb
开头的,瞬间秒懂,,然后我还对比了这个 truetype
目录下的文件夹,发现字体不正常的那台电脑,多了这么几个目录 arphic-*
:
正常的目录
问题到这里基本就找到了,直接删掉多余的 arphic-*
目录
sudo rm -rf /usr/share/fonts/truetype/arphic-*
清除字体缓存
fc-cache -f -v
之后重启问题就解决了
这样的字体才是正常的 Ubuntu 中文字体: