Fedora 8中字体设置方法有好几种,有《Fedora 8 中文字体设置技巧 》,不过被盾了,需要带tor浏览,这个是从源代码开始整的,看过之后应该会对linux字体的处理有所了解,作者还提供了已经编译好的rpm包下载,应该说还是有用的,不过我试了效果不明显,需要的朋友去看看吧。见http://www.linuxidc.com/Linux/2007-12/10158.htm
另一种:普适版的字体安装方法(这个方法好像流传比较广):
创建字体目录,并拷贝字体文件到创建的目录
#mkdir -p 自定义目录 一般在/usr/share/fonts目录下新建比较合理
#cp -f 字体位置 目标位置
进入自定义目录,建立fonts.scale文件和生成字体目录索引
#cd /usr/share/fonts/custom
#ttmkfdir -o fonts.scale 建立fonts.scale文件
#mkfontdir 生成字体目录索引
#fc-cache -fv 更新字体缓存信息
这个方法对于很多字体都有效果,但是字体多少会有很多小问题,尤其是类似雅黑等truetype字体的显示效果令人不爽,这时候就需要对字体进行微调:
fontconfig字体调配法-《Linux 字体微调- windows 效果版- LinuxSir.Org》 和《Linux 字体微调 – Vista 效果版》。
读了不少这方面的文章,我把自己安装使用某黑字体的学习体会写出来供大家参考,也是给自己做个记录:
首先,将某黑字体下载后按照普适版的字体安装方法进行安装,最重要的是进行微调,辑/etc/fonts/local.conf文件,对字体进行配置。
关于这个文件的配置方法参见:《fontconfig用户手册》–译者:Conner Mo 文章好像是linuxfans.org翻译的,但是排版实在是太丑了,因此我选择了排版比较好的linux技术中坚站的版本,文中对于 local.conf文件的配置语法和参数描述的很详细,使用local.conf可以实现对字体的部分替换,例如某字体的中文显示效果很好,但是英文很 丑,就可以将你中意的英文字体引入替换原有字体的英文部分;可以实现系统调用不同字体的时候自动进行不同种类的渲染和微调,比如有两种字体,一种需要渲 染,一种不需要,就可以分别设置,十分灵活,而且针对性强,可以精确到字体-字号或者其他符合的条件。
略有编程基础的兄弟应该很容易看明白设置,如果要实现更好更精确的效果,则需对这个文档研究透彻点。
关于某黑字体的具体设置参见:fontconfig字体调配法-《Linux 字体微调- windows 效果版- LinuxSir.Org》 和《Linux 字体微调 – Vista 效果版》会有更多收获!
如果你比较懒也可以直接使用我的local.conf文件内容,不过本人也是半吊子水平,因此不对local.conf文件负责,不过如果有问题,可以上IRC问人,那里的兄弟都是很热心的:
local.conf文件:
4、libXft:点阵字体“伪粗体”(Embolden)算法的优化
从 Fedora 的官方 FTP 或 HTTP 服务器下载最新的 libXft 源码包,如 libXft-2.1.12-3.fc8.src.rpm(http://download.fedora.RedHat.com/pub/fedora/linux/releases/8/Fedora/source/SRPMS/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)(http://sandajian.googlepages.com/libXft-2.1.12-3.zfc8.src.rpm):
libXft-2.1.12-3.zfc8.i386.rpm(http://sandajian.googlepages.com/libXft-2.1.12-3.zfc8.i386.rpm)
libXft-devel-2.1.12-3.zfc8.i386.rpm(http://sandajian.googlepages.com/libXft-devel-2.1.12-3.zfc8.i386.rpm)
5、安装中文字体
拷贝 Windows 2000/XP 的 C:\WINDOWS\FONTS 目录下的所有 TrueType 字体(扩展名为 .ttf、.ttc、.TTF 的文件)到你的 Fedora 下的一个目录(例如:/home/joe/fonts)下。
6、添加字体配置文件
把字体配置文件 f8-local.conf (http://sandajian.googlepages.com/f8-local.conf)拷贝为 /etc/fonts/local.conf 文件,注意要把其中指定 Windows TrueType 字体目录的一行(红色行)改为你在上一步中使用的目录:
<dir>/home/joe/fonts</dir>然后运行下面的命令:
# fc-cache /home/joe/fonts
7、修改 Firefox 中文字体下划线位置
Firefox 对中文字体的支持中,一直存在中文字符下划线离字符太近的问题。 所幸的是,有人为 Firefox 写了一个 patch,解决了 Firefox 使用 Pango 引擎时的这个问题;更幸运的是,Fedora缺省使用的就是 Pango 引擎。有兴趣的朋友可以下载这个补丁:mozilla-1.5-pango-underline.patch.bz2(http://sandajian.googlepages.com/mozilla-1.5-pango-underline.patch.bz2),重新编译 Fedora 中的 Firefox。不过,由于编译 Firefox 是个比较漫长的过程,没有耐心的朋友可以下载我编译好模块:libgfx_gtk.so(http://sandajian.googlepages.com/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/。
8、注销、重新登录,设置 GNOME 字体
运行“系统──首选项──观感──字体”程序,选择“次像素平滑(LCD)”。
OK!现在你的 Fedora 已经拥有漂亮的中文字体了!
<?xml version=”1.0″?><!DOCTYPE fontconfig SYSTEM “fonts.dtd”>
<!– /etc/fonts/fonts.conf file to configure system font access –>
<fontconfig>
<match target=”pattern”>
<edit name=”dpi” mode=”assign” >
<double>96</double>
</edit>
</match>
<!– 配置字体目录 –>
<dir>/usr/share/fonts/zh_CN/vista</dir>
<!– 配置雅黑字体
<match target=”font”>
<test name=”family” qual=”any” compare=”eq”>
<string>微软雅黑</string>
<string>Microsoft YaHei</string>
</test>
<test compare=”more_eq” name=”pixelsize”>
<double>12</double>
</test>
<test compare=”less_eq” name=”pixelsize”>
<double>18</double>
</test>
<edit name=”rgba” mode=”assign”>
<const>vrgb</const>
</edit>
<edit name=”antialias” mode=”assign” >
<bool>true</bool>
</edit>
<edit name=”autohint” mode=”assign” >
<bool>false</bool>
</edit>
<edit name=”hinting” mode=”assign” >
<bool>true</bool>
</edit>
<edit name=”hintstyle” mode=”assign” >
<const>hintfull</const>
</edit>
</match>
–>
<match target=”font” >
<test qual=”any” name=”family” compare=”eq” >
<string>none</string>
</test>
<edit name=”rgba” mode=”assign”>
<const>vrgb</const>
</edit>
<edit name=”antialias” mode=”assign” >
<bool>true</bool>
</edit>
<edit name=”autohint” mode=”assign” >
<bool>false</bool>
</edit>
<edit name=”hinting” mode=”assign” >
<bool>true</bool>
</edit>
<edit name=”hintstyle” mode=”assign” >
<const>hintfull</const>
</edit>
</match>
<!– 配置 –>
<match target=”font” >
<test qual=”any” name=”family” compare=”eq” >
<string>Segoe UI</string>
</test>
<edit name=”rgba” mode=”assign”>
<const>none</const>
</edit>
<edit name=”antialias” mode=”assign” >
<bool>true</bool>
</edit>
<edit name=”autohint” mode=”assign” >
<bool>false</bool>
</edit>
<edit name=”hinting” mode=”assign” >
<bool>true</bool>
</edit>
<edit name=”hintstyle” mode=”assign” >
<const>hintfull</const>
</edit>
</match>
<!–
已注释,不会被读取
English portion substitution 将指定字体中的英文字体替换成Segoe UI字体
<match target=”pattern” >
<test name=”family” >
<string>微软雅黑</string>
<string>Microsoft YaHei</string>
</test>
<edit name=”family” mode=”prepend” binding=”strong” >
<string>Segoe UI</string>
</edit>
</match>
<match target=”pattern” >
<test name=”family” >
<string>微软雅黑</string>
<string>Microsoft YaHei</string>
</test>
<edit name=”family” mode=”prepend” binding=”strong” >
<string>Segoe UI</string>
</edit>
</match>
–>
</fontconfig>总而言之,如果掌握了fontconfig,那么字体的美化和微调就真是易如反掌了,相信到那个时候你一定会有一览众山小的感觉!