[FreeBSD]
贴上自己的local.conf 配置,较好的解决了FreeBSD上中文网页的显示问题
自己用的一个配置文件,感觉显示效果还是不错的,还可以很好的支持Big5编码的网页显示。Linux下当然也能使用,只是需要放置在 /etc/fonts 下。
需要安装的字体主要是开源字体:WenQuanYi ,DejaVu,FireflySung,还有Arphic字体(uMing, uKai)等等,如果愿意使用微软字体,如雅黑,当然不错,但没有的话,也不会影响中文显示效果。但要注意的是,MingLiU是不能安装的,因为要想正确使用,需要用到Apple的专利技术,根据<FreeBSD Chinese HowTo>所言,当Big5码的网页上文字放大时,会出现破碎的效果,此问题当前尚无法解决。
下面的设置,请根据您的DPI在首个设定中作出相应修正。另外,在粗体字替换中,感觉微软的Verdana字体比较合适,当然微软雅黑也可以,或者用其它合适的字体代替。
<fontconfig>
<!--//
<match target="pattern">
<edit name="dpi" mode="assign" >
<double>96</double>
</edit>
</match>
//-->
<!--// 对字体优先顺序重新排序 //-->
<alias>
<family>serif</family>
<prefer>
<family>DejaVu Serif</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL New Sung ExtB</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
<family>Microsoft YaHei</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL New Sung ExtB</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
<family>Microsoft YaHei</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Serif Mono</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL New Sung Mono</family>
<family>AR PL ZenKai Uni</family>
<family>Microsoft YaHei</family>
</prefer>
</alias>
<!--// 字体的别名设定 //-->
<match target="pattern">
<test name="family"><string>宋体</string></test>
<edit name="family" mode="assign"><string>SimSun</string></edit>
</match>
<match target="pattern">
<test name="family"><string>新宋体</string></test>
<edit name="family" mode="assign"><string>SimSun</string></edit>
</match>
<match target="pattern">
<test name="family"><string>細明體</string></test>
<edit name="family" mode="assign"><string>AR PL ShanHeiSun Uni</string></edit>
</match>
<match target="pattern">
<test name="family"><string>新細明體</string></test>
<edit name="family" mode="assign"><string>AR PL ShanHeiSun Uni</string></edit>
</match>
<match target="pattern">
<test name="family"><string>黑体</string></test>
<edit name="family" mode="assign"><string>SimHei</string></edit>
</match>
<match target="pattern">
<test name="family"><string>微软雅黑</string></test>
<edit name="family" mode="assign"><string>Microsoft YaHei</string></edit>
</match>
<match target="pattern">
<test name="family"><string>楷体</string></test>
<edit name="family" mode="assign"><string>AR PL ZenKai Uni</string></edit>
</match>
<match target="pattern">
<test name="family"><string>幼圆</string></test>
<edit name="family" mode="assign"><string>YouYuan</string></edit>
</match>
<!--// 所有字体关于AA、Hint、AutoHint的默认全局设定 //-->
<match target="font">
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintnone</const>
</edit>
<edit name="rh_prefer_bitmaps" mode="assign">
<bool>false</bool>
</edit>
</match>
<!--// 禁止英文字和CJK字等宽//-->
<match target="font">
<test name="lang" compare="contains">
<string>zh</string>
<string>ja</string>
<string>ko</string>
</test>
<test name="spacing" compare="eq">
<const>dual</const>
</test>
<edit name="globaladvance" mode="assign">
<bool>false</bool>
</edit>
<edit name="spacing" mode="assign">
<const>proportional</const>
</edit>
</match>
<!--// 解决英文字体间距过宽 //-->
<match target="font">
<test target="pattern" name="lang" compare="contains">
<string>zh</string>
<string>ja</string>
<string>ko</string>
</test>
<edit name="spacing">
<const>proportional</const>
</edit>
<edit name="globaladvance">
<bool>false</bool>
</edit>
</match>
<!--// CJK字体关于AA、Hint、AutoHint的设定 //-->
<match target="font">
<test name="lang" compare="contains">
<string>zh</string>
<string>ja</string>
<string>ko</string>
</test>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
<!--// 对CJK字体中8~18号的字体不做AA处理 //-->
<match target="font">
<test name="lang" compare="contains">
<string>zh</string>
<string>ja</string>
<string>ko</string>
</test>
<!--// 微软雅黑字体需要启用AA,故排除在外 //-->
<test qual="all" name="family" compare="not_eq">
<string>Microsoft YaHei</string>
</test>
<test name="pixelsize" compare="more_eq">
<int>8</int>
</test>
<test name="pixelsize" compare="less_eq">
<int>18</int>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
<!--// 设定中文最小字号 //-->
<match target="font">
<test name="family" qual="any">
<string>STHeiti</string>
<string>SimSun</string>
<string>NSimSun</string>
<string>MingLiU</string>
<string>PMingLiU</string>
<string>WenQuanYi Bitmap Song</string>
<string>SimHei</string>
<string>Microsoft YaHei</string>
<string>YouYuan</string>
<string>AR PL ShanHeiSun Uni</string>
<string>AR PL ZenKai Uni</string>
<string>AR PL New Sung ExtB</string>
</test>
<test name="pixelsize" compare="more_eq">
<int>8</int>
</test>
<test name="pixelsize" compare="less_eq">
<int>12</int>
</test>
<edit name="pixelsize" mode="assign">
<int>12</int>
</edit>
</match>
<!--// 当文泉驿字号超过18时替换成宋体 //-->
<match target="pattern" >
<test name="family">
<string>WenQuanYi Bitmap Song</string>
</test>
<test compare="more_eq" name="pixelsize">
<int>18</int>
</test>
<edit name="family" mode="assign">
<string>AR PL New Sung ExtB</string>
<string>AR PL ShanHeiSun Uni</string>
</edit>
</match>
<!--// 对中文字体的粗体进行替换//-->
<match target="pattern">
<test name="weight" compare="more">
<const>medium</const>
</test>
<test name="family" compare="eq">
<string>SimSun</string>
<string>NSimSun</string>
<string>MingLiU</string>
<string>PMingLiU</string>
<string>WenQuanYi Bitmap Song</string>
<string>AR PL ShanHeiSun Uni</string>
</test>
<edit name="family" mode="assign">
<!--// <string>AR PL New Sung ExtB</string>
<string>Microsoft YaHei</string>
//-->
<string>Verdana</string>
</edit>
</match>
<!--// 设定中文粗体 //-->
<match target="font">
<test name="family" compare="contains">
<string>Song</string>
<string>Sun</string>
<string>Kai</string>
<string>Ming</string>
</test>
<test name="weight" compare="less_eq">
<int>100</int>
</test>
<test name="weight" compare="more_eq">
<int>180</int>
</test>
<edit name="embolden" mode="assign">
<bool>true</bool>
</edit>
</match>
<!--// 优先使用内嵌点阵字 //-->
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>true</bool>
</edit>
</match>
</fontconfig>
复制代码
[ 本帖最后由 cwjiof 于 2007-10-22 09:35 编辑 ]