Fedora 中文字体设置

Posted on In Linux

Fedora 一直有中文字体难看的问题, 尤其是在英文环境中. 使用本文中的配置方法可以得到令人满意的中文效果. 此方案中使用字体都为开源且在Fedora源中自带. 此方案对 Fedora 9 – 20 有效. 对于后续版本支持我会确认并更新此文章.

此方案对Gnome, KDE都有效. Firefox 中也有中文难看的问题, 后面会提到.

快速配置方法

如果你想马上配置好,请使用如下命令。此方法测试使用效果良好。

# yum install cjkuni-ukai-fonts cjkuni-uming-fonts
# wget https://raw.githubusercontent.com/zma/config_files/master/others/local.conf \
-O /etc/fonts/local.conf

相关英文字体配置可以参考:Improving Fedora Font Rendering with Open Software and Fonts Only.

Fedora 系统中文字体的配置方案

使用uming和ukai字体,即AR PL UMing CN等. 中文字体和等宽字体效果如图所示(点击看大图, Firefox 中文字体设置在后面会提到).

方法如下:

安装字体

首先安装这两个字体:

cjkuni-ukai-fonts
cjkuni-uming-fonts
(在Fedora 10及早些版本字体包名字为: cjkunifonts-uming, cjkunifonts-ukai)
Fedora 11及之后版本请使用如下命令:

# yum install cjkuni-ukai-fonts cjkuni-uming-fonts

如使用Fedora 11之前版本:

# yum install cjkunifonts-uming cjkunifonts-ukai

关键在于配置~/.fonts.conf文件.

Fedora 19及以后设置: 使用~/.fonts.conf依然有效, 但是此方法被标记为deprecated且在将来会被停止使用. 替代方法为将此文件复制到/etc/fonts/local.conf . 我的local.conf文件可以在这里下载: https://github.com/zma/config_files/blob/master/others/local.conf .

在~/.fonts.conf中设置各种字体如sans-serif serif字体的默认使用字体. 使中文sans-serif serif monospace字体使用uming/ukai.

我的.fonts.conf文件可以从这里下载(两种选择, 我喜欢Liberation和UMing/UKai字体方式):
https://github.com/zma/config_files

使用Liberation和UMing/UKai字体请下载: .fonts.conf.libration
使用dejavu和UMing/UKai字体请下载: .fonts.conf.dejavu

下载后放到自己的$HOME下改名为.fonts.conf就可以了。

其中sans-serif部分的简单解释:

 <alias>
  <family>sans-serif</family>
  <prefer>
   <family>Liberation Sans</family>
   <family>AR PL UMing CN</family>
  </prefer>
 </alias>

对于sans-serif字体会首选Libration Sans,如果无法显示那么会使用AR PL UMing CN字体。这样英文字体使用Libration Sans正常显示。而对于中文字体,由于Libration Sans中没有中文字体,实际使用AR PL UMing CN字体显示。这样实现显示中英文的sans-serif字体实际是不同的两种字体类型中的Sans字体。

Gnome 3 中文字体设置

Fedora 15 开始使用 Gnome 3, 系统字体使用不同的配置方法. 默认系统使用 Cantarell 11 字体. 如果不希望使用此字体或者改变字体字号大小, 可以使用gsettings命令修改.

将系统字体修改为使用 Sans 10号字体:

$ gsettings set org.gnome.desktop.interface font-name 'Sans 10'

使用默认字体 (Cantarell 11号字体):

$ gsettings set org.gnome.desktop.interface font-name 'Cantarell 11'

修改为10号 Cantarell 字体:

$ gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'

查询使用的字体:

$ gsettings get org.gnome.desktop.interface font-name

将字体平滑选项打开

KDE和gnome 2都有相关设置方法。在gnome的apperance中的字体中使用默认的字体就可以了,不必另外选择 (适用于Gnome 2)。在Gnome 3中可以使用gnome-tweak-tool来设置字体平滑:

# yum install gnome-tweak-tool

Firefox中文字体设置

对于Firefox中中文字体显示的问题,将中文字体设置为:

除了等宽字体使用Monospace外,其它全部设置为Sans Serif就可以了。

Eric Ma

Eric is a systems guy. Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.

13 comments

  1. # yum install cjkunifonts-uming cjkunifonts-ukai

    提示:
    No package cjkunifonts-uming available.
    No package cjkunifonts-ukai available.

    1. @Fed

      Thanks for pointing out the mistake. In Fedora 12, the font package’s name has been changed. The command should be:

      # yum install cjkuni-ukai-fonts cjkuni-uming-fonts

      I have also changed the post. Thanks!

  2. 安装这个两个字体之后,使用fedora12自带的Document Viewer看中文的pdf就无法显示了,全都是小方块。(之前是可以使用的)

    1. Evince? 我试了下在我这里没有问题啊. 你是英文环境还是中文啊.
      其实还是用Adobe Reader吧, 我平时都用它. 处理效果好, 虽然占用资源多些.

  3. 原来这个方法是你总结的呀,最近在更改字体,总算明白一点原理了。

  4. Fedora 19设置: 使用~/.fonts.conf依然有效, 但是此方法被标记为deprecated且在将来会被停止使用. 替代方法为将此文件复制到/etc/fonts/local.conf

  5. Pingback: 再装 Fedora | 堇荼如饴
  6. 对于在gnome3中的设置,也可以使用`dconf-editor`。对于设置的选项,以’.’为分割按照树结构即可找到相关选项。

Leave a Reply

Your email address will not be published. Required fields are marked *