🔨Ubuntu Linux '门' '复' 显示不标准 / 显示非同一种中文字体
原因:因为 Noto Sans CJK 中包含日文,而日文显示的优先级高于中文
解决:调高具体字体的显示优先级
创建并修改此文件 ~/.config/fontconfig/fonts.conf
如果用的是
adobe-source-han-sans-otc-fonts
将代码中的Noto Sans CJK SC替换为Source Han Sans SC即可
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Default system-ui fonts -->
<match target="pattern">
<test name="family">
<string>system-ui</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>sans-serif</string>
</edit>
</match>
<!-- Default sans-serif fonts-->
<match target="pattern">
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK SC</string>
<string>Noto Sans</string>
<string>Twemoji</string>
</edit>
</match>
<!-- Default serif fonts-->
<match target="pattern">
<test name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Serif CJK SC</string>
<string>Noto Serif</string>
<string>Twemoji</string>
</edit>
</match>
<!-- Default monospace fonts-->
<match target="pattern">
<test name="family">
<string>monospace</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans Mono CJK SC</string>
<string>Symbols Nerd Font</string>
<string>Twemoji</string>
</edit>
</match>
</fontconfig>
验证
fc-match -s :lang=zh | head -n 5
可以看到第一行是 NotoSansCJK-Regular.ttc: "Noto Sans CJK SC" "Regular"
如果看不到就更新字体缓存后再查看
fc-cache -fv
如果输入法的字体没有改变,那就注销

浙公网安备 33010602011771号