设置Fedora8及其火狐字体

0、安装 Fedora8

安装过程中需要注意的是:要选择简体中文安装界面,这样中文相关软件(如输入法等)和中文语言包才会被缺省安装。否则等安装完成后再手工安装这些东西将会非常繁琐。

另外,如果你想亲自编译这些软件包,安装系统时,在选择软件包时,要把“软件开发”选上,否则在下面的步骤里你就无法编译 RPM 包了。不过,本文提供了已经编译好的 RPM 包,所以,不想自己编译的朋友也可以不安装开发包。

安装完毕后,第一次引导后的配置系统时,我一般会禁用 SELinux,一则因为这玩意对一般个人桌面系统没啥必要,更重要的是它会给你以后手工安装的一些软件的运行造成麻烦(比如,一些不是用 RPM 包安装的动态库(如 flash 插件等)无法加载,必须使用复杂的 chcon 命令改变相关安全属性后才可以加载)。

下面,就是用 yum 安装所有的官方升级包。建议升级前先修改 /etc/yum.conf 文件(红色行):

[main]
cachedir=/home/joe/fc8/yum
keepcache=1
debuglevel=2
......

这样 yum 将不会删除下载回来的 RPM 包,而把它保留在 cachedir 指定的另一个分区的目录里;当你下次重新安装 Fedora 后升级时,就不用重新下载一遍这些文件了。

安装、升级完毕后,我们就要开始对一些软件包进行与中文相关的修改了。下面的操作都必须以 root 用户登录执行。
1、FreeType:激活 bytecode interpreter 和 subpixel rendering

从 Fedora 的官方 FTP 或 HTTP 服务器下载最新的 FreeType 源码包,如 freetype-2.3.5-3.fc8.src.rpm。然后重新编译和安装 RPM 包(注意在编译时要加上激活 bytecode interpreter 和 subpixel rendering 的选项):

# rpmbuild --rebuild --with bytecode_interpreter --with subpixel_rendering \

--define='dist .zfc8' freetype-2.3.5-3.fc8.src.rpm

# cd /usr/src/redhat/RPMS/i386

# rpm -Fvh freetype*.rpm

本地下载:

freetype-2.3.5-3.zfc8.i386.rpm

freetype-devel-2.3.5-3.zfc8.i386.rpm

freetype-demos-2.3.5-3.zfc8.i386.rpm

2、Cairo:点阵字体“伪粗体”(Embolden)算法的优化

从 Fedora 的官方 FTP 或 HTTP 服务器下载最新的 Cairo 源码包,如 cairo-1.4.14-1.fc8.src.rpm。下载 sunmoon1997 提供的补丁,这个补丁对特定条件下点阵字体“伪粗体”算法进行了优化。修改 cairo.spec 以包含这个补丁。然后重新编译和安装 RPM 包:

# cd /usr/src/redhat/SPECS

# rpmbuild -ba --define='dist .zfc8' cairo.spec

# cd ../RPMS/i386

# rpm -Fvh cairo*.rpm

本地下载(从源代码编译:rpmbuild --rebuild --define='dist .zfc8' cairo-1.4.14-1.zfc8.src.rpm):

cairo-1.4.14-1.zfc8.i386.rpm

cairo-devel-1.4.14-1.zfc8.i386.rpm

3、libXft:点阵字体“伪粗体”(Embolden)算法的优化

从 Fedora 的官方 FTP 或 HTTP 服务器下载最新的 libXft 源码包,如 libXft-2.1.12-3.fc8.src.rpm。下载 sunmoon1997 提供的补丁,这个补丁对特定条件下点阵字体“伪粗体”算法进行了优化。修改 libXft.spec 以包含这个补丁。然后重新编译和安装 RPM 包:

# cd /usr/src/redhat/SPECS

# rpmbuild -ba --define='dist .zfc8' libXft.spec

# cd ../RPMS/i386

# rpm -Fvh libXft*.rpm

本地下载(从源代码编译:rpmbuild --rebuild --define='dist .zfc8' libXft-2.1.12-3.zfc8.src.rpm):

libXft-2.1.12-3.zfc8.i386.rpm

libXft-devel-2.1.12-3.zfc8.i386.rpm

4、安装中文字体

拷贝 Windows 2000/XP 的 C:\WINDOWS\FONTS 目录下的所有 TrueType 字体(扩展名为 .ttf、.ttc、.TTF 的文件)到你的 Fedora 下的一个目录(例如:/home/joe/fonts)下。
5、添加字体配置文件

把字体配置文件 f8-local.conf 拷贝为 /etc/fonts/local.conf 文件,注意要把其中指定 Windows TrueType 字体目录的一行(红色行)改为你在上一步中使用的目录:

<dir>/home/joe/fonts</dir>

然后运行下面的命令:

# fc-cache /home/joe/fonts

6、修改 Firefox 中文字体下划线位置

Firefox 对中文字体的支持中,一直存在中文字符下划线离字符太近的问题。 所幸的是,有人为 Firefox 写了一个 patch,解决了 Firefox 使用 Pango 引擎时的这个问题;更幸运的是,Fedora缺省使用的就是 Pango 引擎。有兴趣的朋友可以下载这个补丁:mozilla-1.5-pango-underline.patch.bz2,重新编译 Fedora 中的 Firefox。不过,由于编译 Firefox 是个比较漫长的过程,没有耐心的朋友可以下载我编译好模块:libgfx_gtk.so,然后把它拷贝到系统的 Firefox 相应目录下,替换原来的模块:

# cp libgfx_gtk.so /usr/lib/firefox-2.0.0.8/components/

# chcon system_u:object_r:lib_t /usr/lib/firefox-2.0.0.8/components/libgfx_gtk.so

上面第 2 条命令是针对使用 SELinux 的用户的;对已经自动升级过的用户,Firefox 的目录是 firefox-2.0.0.9/。
7、注销、重新登录,设置 GNOME 字体

运行“系统──首选项──观感──字体”程序,选择“次像素平滑(LCD)”。

OK!现在你的 Fedora 已经拥有漂亮的中文字体了!

你可能感兴趣的:(windows,算法,redhat,XP,firefox)