Fedora 中文字体设置

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 中文字体设置在后面会提到).

fedora-chinse-font-config.png

方法如下:

安装字体

首先安装这两个字体:

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字体方式):
http://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 Zhiqiang Ma

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

Leave a Reply

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