近日,看到很多兄弟的贴图都里显示的都有粗体。(原来我也没注意我的系统中文没粗体─),羡慕之余,心痒难耐,禁不住也动手美化一番。其间系统有3此进不了X,好在现在都解决了。遂想把经验写下,方便和我一样还在迷茫于美化的兄弟。
总结论坛上实现中文粗体的法子不外乎三种(我只发现这么多哦)。
一是,使用修改过的粗体字。
二是,使用“替换”法,用方正粗宋或方正大黑,粗圆来显示中文的粗体部分。
三是,使用firefly的补丁。
从我使用的结果看,
第一种方法不改动系统的任何配置,只需下载到粗体字,安装上即可。这也是最彻底的方法,不仅在浏览网页时能显示粗体,而且在openoffice中也能显示。但显示的字体质量好坏,与你安装的粗体字的质量有很大的关系(这句话有点乱嚼舌头的嫌疑)。我得到的两套粗体字,一是公社cnhnln的作品,一是一位还不知道名字的大侠作的。都是他们汉水的结晶,在此对他们深表感谢。
下面可下到cnhnln作的VeraSansYuanTi全部8套字体。
http://www.ubuntu.org.cn/downloa ... nTi.tar.gz/download
下面是修改后的simsun粗体及粗斜体。
http://www.magiclinux.org/people/kanker/tools/fonts/?C=S;O=D
(感谢 blxiao 提供的链接)参见:http://www.linuxsir.org/bbs/show ... hlight=%B4%D6%CC%E5
第二种方法,先安装一个粗体的文字(像方正粗宋,大黑,粗圆等),然后在/etc/fonts/fonts.conf或家目录的.fonts.conf中添加一段代码。下面是我的fonts.conf的片段:
<match target="pattern">
<test name="weight" compare="more">
<const>medium</const>
</test>
<test name="family" compare="eq">
<string>SimSun</string>
</test>
<edit name="family" mode="assign">
<string>FZCuSong-B09S</string>
</edit>
</match>
<match target="pattern">
<test name="weight" compare="more">
<const>medium</const>
</test>
<test name="family" compare="eq">
<string>NSimSun</string>
</test>
<edit name="family" mode="assign">
<string>FZCuSong-B09S</string>
</edit>
</match>
说明:当SimSun遇到需要粗体显示时,用FZCuSong-B09S(方正粗宋)显示其粗体部分。
这种方法,好处是对系统只做些许修改,比较安全。而且,还可以换着花样玩粗体,每隔一段时间就变换一种粗体字。
缺点,由于我所得到的粗体字,方正粗宋,大黑,粗圆。不打开AA字体就支离破碎,打开AA大字十分漂亮,小字体就有点模糊。
第三种方法,是通过firefly的补丁,修改xft2字体渲染,虚拟出的粗体。是现在粗体显示最好的。但openoffice不通过xft2实现粗体,所以在openoffice要想显示粗体还得打相应的补丁。
废话说的太多了^_^,讲讲怎么做,我们只需要对xft2作修改就行了。
先说明,我的系统是sarge,对应的xft2是libxft2_2.1.7-1_i386.deb。
在做之前,我们先做好万一改坏后的应对方法:
1,最简单的,到http://debian.cn99.com/debian/po ... t2_2.1.7-1_i386.deb“把libxft2_2.1.7-1_i386.deb下载到硬盘。出了问题,重装。
2,备份/usr/lib/中的libXft.so.2.1.2(下面我要替换的就是此文件)
正式修改:
1,到“http://debian.okey.net/debian-uo ... 2-6firefly_i386.deb”下载打了firefly补丁的libxft2的beb包。.
2,把这个deb包解压开,用ark就能办到。然后再解压其中的data.tar.gz。
3,到解压后的目录中(具体是/usr/lib/),找到libXft.so.2.1.1把它拷到你系统的/usr/lib/目录。然后把/usr/lib/目录里的libXft.so.2.1.2删处,再把libXft.so.2.1.1改名为libXft.so.2.1.2
4,在家目录的.fonts.conf中加入以下代码:(也可以第一步就先改好)
在此感谢zerolin兄提供的代码!参见:http://www.linuxsir.org/bbs/showthr...ht=%B4%D6%CC%E5
下面是我的.fonts.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>~/.fonts</dir>
<match target="font" >
<test compare="eq" name="family" qual="any" >
<string>Tahoma</string>
<string>SimSun</string>
<string>SimHei</string>
<string>AR PL New Sung</string>
</test>
<test compare="more_eq" name="pixelsize" >
<double>8</double>
</test>
<test compare="less_eq" name="pixelsize" >
<double>16</double>
</test>
<edit name="antialias" >
<bool>false</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintslight</const>
</edit>
</match>
<!--
Add by firefly@firefly.idv.tw
Artificial bold for fonts without a bold version.
-->
<match target="font">
<!-- check to see if the pattern requested > "medium" -->
<test target="pattern" name="weight" compare="more">
<const>medium</const>
</test>
<!-- pretend the font is bold now -->
<edit name="weight" mode="assign">
<const>bold</const>
</edit>
</match>
</fontconfig>
兰色的是我添加的部分。
5,重启X。
6,后记,我在一个多星期前下了http://www.linuxsir.org/bbs/attachment.php?attachmentid=27043 压缩包。一直未明使用方法,就始终闲置在我的硬盘中,今日打开一看,原来是已编译好的“libxft2_2.1.2-7firefly_i386.deb”安装包。试了一下,效果和上面的法子一样。想省事的朋友可下载。(由于时间久了,忘了是哪位兄台提供的链接,深感惭愧。不知是哪位打的包,在此感谢!)