问题
前不久给自己的电脑安装上了Fedora39,但是在使用的时候经常能遇到程序内中文字体无法正常显示这一问题。刚开始以为是常用的字体缺失所致,后来安装了常见的中文字体发现问题并为解决。于是便在互联网中寻找解决方案。
最后在RedHat的论坛中找到了这一篇问答:Chinese text in Java GUI apps is displayed as squares in the default install of Fedora 38.
其中指出此类问题可能是 google-noto-sans-cjk-vf-fonts 这一个可变字体导致的。很多程序对这一个新的可变字体有着及其糟糕的兼容性,这也是该类问题的成因。
解决方案
只需将 google-noto-sans-cjk-vf-fonts 这个字体卸载,并安装 google-noto-sans-cjk-fonts 字体即可。
# dnf install google-noto-sans-cjk-fonts.noarch --allowerasing # dnf install google-noto-sans-cjk-ttc-fonts
同样也可以改变字体的优先级来解决这一问题。