Linux Mint 楷体问题
很多人都遇见过刚装完的 Linux Mint 界面字体是黑体,然后莫名其妙就变成楷体的问题。
先不说技术层面的原因,只说怎么解决。
造成这种情况,多数是安装输入法或其他某种软件的时候,同时安装了 AR PL UKai、AR PL UMing 字体,所以网上大多的解决办法都是删除这两个字体,如果只删除 AR PL UKai,界面字体会换成明体(宋体):
$sudo apt-get remove fonts-arphic-ukai fonts-arphic-uming
如果后悔了,就再把字体装回来:
$sudo apt-get install fonts-arphic-ukai fonts-arphic-uming
也可以安装 ubuntu 的字体管理器,然后禁用 ukai 和 uming。(见 https://wenku.baidu.com/view/d5bc427904a1b0717fd5ddd2.html)
如果想有楷体和宋体用,又想让界面显示为默认黑体,可以删除对应的字体配置文件,通常是这两个文件:
$sudo rm /etc/fonts/conf.d/65-fonts-arphic-ukai.conf /etc/fonts/conf.d/65-fonts-arphic-uming.conf
如果想还原:
$sudo ln -s /etc/fonts/conf.avail/65-fonts-arphic-ukai.conf /etc/fonts/conf.d/65-fonts-arphic-ukai.conf
$sudo ln -s /etc/fonts/conf.avail/65-fonts-arphic-uming.conf /etc/fonts/conf.d/65-fonts-arphic-ukming.conf
有时候还会出现系统中已有 AR PL Ukai 和相关配置文件,却依然显示为黑体,通常是因为有 Droid-sans-fallback 字体被安装。想让界面显示为楷体:
$sudo rm /etc/fonts/conf.d/65-droid-sans-fallback.conf
恢复的方法:
$sudo ln -s /etc/fonts/conf.avail/65-droid-sans-fallback.conf /ect/fonts/conf.d/65-droid-sans-fallback.conf
原因:
linux在使用字体的时候,是按照fontconfig的配置来处理的。
在一个字体中,找不到指定的文字时,就会按照指定的替代字体顺序,查找替代字体,直到找到可以显示这些文字的字体为止。
这个顺序有三个,一是如果使用了硬绑定,则优先使用硬绑定的字体;没有硬绑定,或者硬绑定级别相同的字体,则按照其字体覆盖范围决定优先级;覆盖范围也相同,则按照配置指定的顺序。
出现上文的情况,是因为三种替换字体的优先级分别是 Droid-sans-fallback > AR PL UKai > 默认黑体
只要把优先级高的配置文件删除,就会使用低一级的字体配置了。
配置文件默认读取 /etc/fonts/conf.d 文件夹中的 .conf 文件,但这些文件的原始文本在 /etc/fonts/conf.avail 文件夹中,/etc/fonts/conf.d 中的文件仅是软件连接。因此删除后要恢复,只要把原来的配置文件 link 到 /etc/fonts/conf.d 中就可以了。