目录 | Table of Contents

前言

在我使用 Fedora 的时候出现了一个问题,某些中文字体没有正确显示而是显示成了日文中的中文字体。比如”“会显示成
u5c06.png

造成这种问题的原因是由于我的系统默认语言是英文,需要显示中文时,系统调用 VL Gothic 字体显示成了日文中的写法,这种情况只有当你的系统语言默认是英文时才会出现。经过折腾,解决这个问题的办法如下。

第一种方法

直接删除 VL Gothic 字体:

$ sudo dnf remove vlgothic-fonts

第二种方法

  1. /usr/share/fontconfig/conf.avail/ 目录下修改或创建文件64-language-selector-prefer.conf
$ cd /usr/share/fontconfig/conf.avail/
$ sudo vim 64-language-selector-prefer.conf
  1. 然后添加下面的内容:
<?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
 <alias>
 <family>sans-serif</family>
 <prefer>
 <family>Source Han Sans CN</family>
 <family>Source Han Sans TW</family>
 <family>Source Han Sans HW</family>
 <family>Source Han Sans K</family>
 </prefer>
 </alias>

 <alias>
 <family>monospace</family>
 <prefer>
 <family>Source Han Sans CN</family>
 <family>Source Han Sans TW</family>
 <family>Source Han Sans HW</family>
 <family>Source Han Sans K</family>
 </prefer>
 </alias>
 </fontconfig>
  1. 随后在 /etc/fonts/conf.d/ 目录下创建指向 /usr/share/fontconfig/conf.avail/64-language-selector-prefer.conf 的同名软链接:
$ sudo ln -s /usr/share/fontconfig/conf.avail/64-language-selector-prefer.conf /etc/fonts/conf.d/64-language-selector-prefer.conf
  1. 最后更新字体缓存:
$ fc-cache -fv

然后重启系统,字体显示正常。

参考

Arch Linux Localization

一个汉字引发的血案

    分享到:
分类: Linux

发表评论

电子邮件地址不会被公开。 必填项已用*标注

验证码 *