openSUSE Leap 15.2 安装好以后,还需要配置一下才能使中文字体可用。
我使用的中文字体是Noto Sans系列,如果需要其他中文字体请替换为相应的字体。
首先是Konsole中的中英文混排。需要在/etc/sysconfig/fonts-config里面重新定义Monospace字体:
PREFER_MONO_FAMILIES=”Cascadia Code:Noto Sans Mono CJK SC”
然后是浏览器中的英中日文混排,需要在/etc/sysconf/fonts-config里面重新定义Sans Serif字体:
PREFER_SANS_FAMILIES=”Noto Sans:Noto Sans SC:Noto Sans JP”
最后是在$HOME/.config/config/fonts.conf里面加入自己喜欢的字体配置:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Fuck Helvetica -->
<match>
<test name="family">
<string>Helvetica</string>
</test>
<edit binding="same" mode="assign" name="family">
<string>Noto Sans</string>
</edit>
</match>
<!-- Fuck Arial -->
<match>
<test name="family">
<string>Arial</string>
</test>
<edit binding="same" mode="assign" name="family">
<string>Noto Sans</string>
</edit>
</match>
<!-- Fuck Courier New -->
<match>
<test name="family">
<string>Courier New</string>
</test>
<edit binding="same" mode="assign" name="family">
<string>Noto Sans</string>
</edit>
</match>
<!-- Fuck Microsoft YaHei -->
<match>
<test name="family">
<string>Microsoft YaHei</string>
</test>
<edit binding="same" mode="assign" name="family">
<string>Noto Sans</string>
</edit>
</match>
<!-- /etc/fonts/conf.d/49-sansserif.conf fall back fonts to sans-serif if non-generic family -->
<!-- so we manually add monospace family here -->
<alias>
<family>Cascadia Code</family>
<default>
<family>monospace</family>
</default>
</alias>
<!-- by default fontconfig assumes any unrecognized font is sans-serif, so -->
<!-- the fonts above now have /both/ families. fix this. -->
<!-- note that "delete" applies to the first match, so only sans-serif is deleted -->
<match>
<test compare="eq" name="family">
<string>sans-serif</string>
</test>
<test compare="eq" name="family">
<string>Cascadia Code</string>
</test>
<edit mode="delete" name="family"/>
</match>
</fontconfig>