[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 应用专题 > 其它 > 正文
 

优化改善 Fedora Core 4 的中文字体显示

作者:zerolin 来源:Linuxsir.Org (2006-04-17 10:41:55)

摘要:刚刚安装好的 Fedora Core 4 无论桌面应用还是网页文字都存在中文字体发虚的问题,而且也不支持粗体和斜体显示。本文介绍一种相对简单的非 simsun 解决方案,实现中文宋体的粗体和斜体显示效果,让您可以更舒服地使用 Fedora Linux。

适用发行版:Fedora Core 4

内容索引

  • 安装 firefly TrueType 宋体点阵字体
  • 重排字体顺序
  • 安装或升级 freetype 到 2.1.10 版本
  • 安装或升级 fontconfig 到 2.3.2 版本
  • 安装或升级 libXft 到 2.1.7 版本
  • 调整字体设置

一. 安装 firefly TrueType 宋体点阵字体

Fedora 下字体发虚,原因是缺少内嵌点阵的字体。很明显解决的方法就是添加一个有内嵌点阵的字体。

1. 下载字体

从以下网址下载 fireflysung 1.3.0 :

http://www.study-area.org/apt/firefly-font/

2. 安装字体

把下载回来的压缩包解压后,把其中的 fireflysung.ttf 字体文件复制到 /usr/share/fonts/chinese/TrueType 文件夹中 。可以在终端命令行以 root 身份运行:

#cp fireflysung.ttf /usr/share/fonts/chinese/TrueType/



二. 重排字体顺序

fireflysung 的英文字体不是很好看。可以考虑用 Hevetica 或者Bitsteam Vera配合fireflysung中文字体。所以首先要对字体进行重排。Fedora已经带了 Hevetica 字体的,看不到是因为字体路径没有被加进配置文件。

在 /etc/fonts/conf.d/ 目录下建立一个用户自定义配置文件10myfonts.conf 。该配置是一个非AA(字体边沿反锯齿)的显示方案。建立该文件的方法可以是,在终端命令行以 root 身份运行:

#gedit /etc/fonts/conf.d/10myfonts.conf

10myfonts.conf 的内容如下:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- conf.d/myfont.conf -->
<fontconfig>
 <dir>/usr/share/fonts</dir>
 <dir>/usr/share/fonts/local</dir>
 <dir>/usr/local/share/fonts</dir>
 <dir>~/.fonts</dir>
<!--加入点阵字体路径-->
<dir>/usr/X11R6/lib/X11/fonts</dir>
<!--
配置粗体中文显示,要配合freetype-2.1.10,libxft-2.1.7,fontconfig-2.3.X
  -->
     <match target="font">
         <!-- check to see if the font is just regular -->
         <test name="weight" compare="less_eq">
             <int>100</int>
         </test>
         <!-- check to see if the pattern requests bold -->
         <test target="pattern" name="weight" compare="more_eq">
             <int>180</int>
         </test>
         <!-- set the embolden flag -->
         <edit name="embolden" mode="assign">
             <bool>true</bool>
         </edit>
     </match>
<!--
default settings for all fonts.
-->
<match target="font" >
<!-- 打开字体的反锯齿即AA,大号字用AA会更美观 -->
<edit mode="assign" name="antialias" >
<bool>t</bool>
</edit>
<edit mode="assign" name="hintstyle" >
<const>hintslight</const>
</edit>
<!-- 打开hint -->
<edit mode="assign" name="hinting" >
<bool>t</bool>
</edit>
<!-- 关闭autohint -->
<edit mode="assign" name="autohint" >
<bool>false</bool>
</edit>
</match>
<!-- 关闭 8到17号字体的AA -->
 <match target="font" >
                <!--
                <test compare="contains" name="lang" >
                        <string>zh-cn</string>
                        <string>zh-tw</string>
                        <string>ja</string>
                        <string>ko</string>
                </test>
                -->
                <test compare="more_eq" name="pixelsize" qual="any" >
                        <double>8</double>
                </test>
                <test compare="less_eq" name="pixelsize" qual="any" >
                        <double>17</double>
                </test>
                <edit mode="assign" name="antialias" >
                        <bool>false</bool>
                </edit>
</match>
<!-- 解决英文字体间距过宽 -->
<match target="font">
                <test target="pattern" name="lang" compare="contains">
                        <string>zh-tw</string>
                        <string>zh-cn</string>
                        <string>ja</string>
                        <string>ko</string>
                </test>
                <edit name="spacing">
                        <const>proportional</const>
                </edit>
                <edit name="globaladvance">
                <bool>false</bool>
                </edit>
</match>
<!--
 设定中文最小字号,使得小字的中文美观
-->
  <match target="font" >
<test name="family" qual="any" >
<string>SimSun</string>
<string>NSimSun</string>
<string>SimHei</string>
<string>AR PL ShanHeiSun Uni</string>
<string>AR PL SenKai Uni</string>
<string>AR PL New Sung</string>
<string>FZSongTi</string>
<string>FZMingTiB</string>
<string>FangSong_GB2312</string>
<string>KaiTi_GB2312</string>
</test>
<test compare="more_eq" name="pixelsize" >
<int>8</int>
</test>
<test compare="less_eq" name="pixelsize" >
<int>12</int>
</test>
<edit compare="eq" name="pixelsize" >
<int>12</int>
</edit>
 </match>
<!--
  把serif ,sans,monospace的family(字体族)重新排序,适应中文用户的用字习惯
-->
   <alias>
      <family>serif</family>
      <prefer>
         <family>Times New Roman</family>
         <family>Nimbus Roman No9 L</family>
         <family>Luxi Serif</family>
         <family>Times</family>
<family>Bitstream Vera Serif</family>
         <family>Simsun</family>
         <family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL SenKai Uni</family>
         <family>AR PL New Sung</family>
<family>FZSongTi</family>
<family>FZMingTiB</family>
         <family>Kochi Mincho</family>
         <family>AR PL SungtiL GB</family>
         <family>AR PL Mingti2L Big5</family>
         <family>Baekmuk Batang</family>
      </prefer>
   </alias>
   <alias>
      <family>sans-serif</family>
      <prefer>
<family>Helvetica</family>
<family>Verdana</family>
<family>Arial</family>
<family>Tahoma</family>
<family>Bitstream Vera Sans</family>
         <family>SimSun</family>
         <family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL SenKai Uni</family>
         <family>AR PL New Sung</family>
<family>FZSongTi</family>
<family>FZMingTiB</family>
         <family>Kochi Gothic</family>
         <family>AR PL KaitiM GB</family>
         <family>AR PL KaitiM Big5</family>
         <family>Baekmuk Dotum</family>
      </prefer>
   </alias>
   <alias>
      <family>monospace</family>
      <prefer>
<family>Courier</family>
<family>Courier New</family>
         <family>Andale Mono</family>
         <family>Luxi Mono</family>
         <family>Nimbus Mono L</family>
<family>Bitstream Vera Sans Mono</family>
<family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
         <family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL SenKai Uni</family>
         <family>AR PL New Sung</family>
<family>FZSongTi</family>
<family>FZMingTiB</family>
         <family>Kochi Gothic</family>
         <family>AR PL KaitiM GB</family>
         <family>Baekmuk Dotum</family>
      </prefer>
   </alias>
</fontconfig>
 

三. 安装或升级 freetype 到 2.1.10 版本

1. 下载 freetype 源代码压缩包

下载地址:
http://prdownloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2

把下载回来的压缩包解压。

2. 打开 freetype 的 hinting 内嵌属性

用文本编辑器打开以下文件:

freetype-2.1.10/include/freetype/config/ftoption.h

把439行的注释符号(/* ...... */)去掉,改成如下这样:

#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 

保存并退出文本编辑器。

3. 编译安装

进入 freetype-2.1.10 文件夹,并以 root 身份在终端命令行运行:

#cd freetype-2.1.10 (这一步是进入 freetype-2.1.10 文件夹的操作)
#./configure --prefix=/usr
#make
#make install
 

四. 安装或升级 fontconfig 到 2.3.2 版本

1. 下载源代码压缩包

下载地址:
http://www.fontconfig.org/release/

2. 编译安装

进入 fontconfig-2.3.2 文件夹,并以 root 身份在终端命令行运行:

#cd fontconfig-2.3.2 (这一步是进入 fontconfig-2.3.2 文件夹的操作)
#./configure --disable-docs --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man
#make
#make install
 

五. 安装或升级 libXft 到 2.1.7 版本

1. 下载源代码压缩包

下载地址:
http://xlibs.freedesktop.org/release/?C=N;O=D

2. 编译安装

进入 libXft-2.1.7 文件夹,并以 root 身份在终端命令行运行:

#cd libXft-2.1.7 (这一步是进入 libXft-2.1.7 文件夹的操作)
#./configure --prefix=/usr/X11R6
#make
#make install
 

六. 调整字体设置

从 GNOME 的顶部面板上的菜单中选择:桌面 / 首选项 / 字体 ,把四种字体都设置为 Hevetica 。保存设置后重新启动计算机。

再次进入 Fedora ,你会发现桌面应用程序和网页上的中英文字体都比原来的漂亮多了。 ^_^


(http://www.fanqiang.com)

原文链接:http://www.linuxsir.org/main/?q=node/94

 
 相关文章
Fedora Core 3上安装oracle9i(9.2.0.4) 2005-03-30 11:28:38
Fedora下声卡驱动全功略(入门篇) 2005-03-30 11:55:31
fedora core4 下 oracle10g安装笔记 2005-07-05 10:37:19
 

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com