冰雪

Ubuntu下 Firefox 字体配置参考方案

2019-09-13 19:35:45来源:励志吧0次阅读

Ubuntu Linux 6.06 下 Firefox 2.0b1 字体配置参考方案

大家可以看到,无论是中文网页还是英文网页,浏览效果都和Windows下的IE相差不大。

也许你注意到了,英文字体不如Windows下的锐利。这是因为启用了Anti-aliasing 的结果。

在 Windows XP 下,如果你安装了微软的 ClearType 字体美化软件,那么英文字体的美化效果和AA是相似的。

ClearType 和 Anti-aliasing 都是很先进的显示技术,有利于缓解视觉疲劳,保护眼睛。微软的下一代操作系统 Windows Vista 将应用 ClearType 显示技术。锋利的字体将成为 Windows 的历史。

这样的显示效果是怎么样配置出来的呢?

首先,你手头上要有支持 XFT 的 Firefox。Firefox 默认是不带 XFT 的。你最好自己编译一份。我现在下载的版本是2.0Beta1。

源码下载地址:

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0b1/source/firefox-2.0b1-source.tar.bz2

注意解压的源码不能直接编译,必须先在解压出来的mozilla目录下创建一个名为mozconfig的文件,指定编译参数。

具体方法参见源码包中的README.

下面把我的mozconfig文件内容贴出来给大家参考.

# Build Firefox

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/release/firefox-static

. $topsrcdir/browser/config/mozconfig

ac_add_options --enable-optimize=-O2

ac_add_options --disable-debug

ac_add_options --enable-default-toolkit=gtk2

ac_add_options --enable-xft #这是必须的

ac_add_options --enable-static

ac_add_options --disable-shared

ac_add_options --disable-tests

mozconfig创建完毕就可以编译安装了。

# ./configure

# make

# make install

下面安装常用中文字体。文泉驿、文鼎等都是不错的选择。如果你没有这些字体,那么考虑用Windows下已经安装的,包括中易公司的sim* 系列字体看看效果。比较简单的做法是,把Windows目录下的Fonts文件夹中几个重要字体,比如宋体、楷体、仿宋、细黑、Tohama、Arial等复制到 /usr/share/fonts/other 文件夹中。然后执行

# fc-cache /usr/share/fonts/other

更新字体缓存。

以下步骤是假定你拷贝了Windows\Fonts下的所有主要字体。如果你使用了其他字体,参照下面的步骤修改具体参数即可。

检查一下 /etc/fonts/fonts.conf 文件有没有被修改过。如果被修改了,最好恢复到最原始的版本。

下面在 /etc/fonts/ 目录下创建文件 local.conf ,文件内容如下:

<?xmlversion="1.0"?>

<!DOCTYPEfontconfigSYSTEM"fonts.dtd">

<!--/etc/fonts/local.conffileforlocalcustomizations-->

<fontconfig>

<matchtarget="font">

<editname="autohint">

<bool>true</bool>

</edit>

<editname="hintstyle">

<const>hintfull</const>

</edit>

<editname="antialias">

<bool>true</bool>

</edit>

</match>

<matchtarget="font">

<editname="embeddedbitmap"mode="assign">

<bool>true</bool>

</edit>

</match>

<matchtarget="font">

<!--checktoseeifthefontisjustregular-->

<testname="weight"compare="less_eq">

<const>medium</const>

</test>

<!--checktoseeifthepatternrequestsbold-->

<testtarget="pattern"name="weight"compare="more">

<const>medium</const>

</test>

<!--

settheemboldenflag

neededforapplicationsusingcairo,e.g.gucharmap,gedit,...

-->

<editname="embolden"mode="assign">

<bool>true</bool>

</edit>

<!--

setweighttobold

neededforapplicationsusingXftdirectly,e.g.Firefox,...

-->

<editname="weight"mode="assign">

<const>bold</const>

</edit>

<!--

HintingwillbedonebeforeEmboldeninfreetype2,

butinsuchcase,Emboldenwillgetwrongresult

onsomeglyphcontoursafterapplyinghinting.

Actually,hintingshouldbedoneafterembolden,butwecan't

fixitincurrentfreetype2.Soasaworkaround,justturnoff

hintingifwewanttodoembolden.

-->

<!--<editname="hintstyle"mode="assign">

<const>hintnone</const>

</edit>-->

</match>

<matchtarget="font">

<testtarget="pattern"name="lang"compare="contains">

<string>zh</string>

<string>ja</string>

<string>ko</string>

</test>

<editname="spacing">

<const>proportional</const>

</edit>

<editname="globaladvance">

<bool>false</bool>

</edit>

</match>

<matchtarget="pattern">

<testname="family">

<string>SimSun</string>

<string>SimHei</string>

<string>KaiTi_GB2312</string>

<string>FangSong_GB2312</string>

<string>Batang</string>

<string>Gulim</string>

<string>MSGothic</string>

<string>MingLiU</string>

<string>SimSun-18030</string>

<string>ARPLSungtiLGB</string>

<string>ARPLShanHeiSunUni</string>

<string>ARPLNewSung</string>

<string>PMingLiU</string>

</test>

<editbinding="strong"mode="prepend"name="family">

<string>Tahoma</string>

<string>Arial</string>

<string>Verdana</string>

<string>DejaVuSans</string>

<string>BitstreamVeraSans</string>

</edit>

</match>

<alias>

<family>serif</family>

<prefer>

<family>NimbusRomanNo9L</family>

<family>ThorndaleAMT</family>

<family>DejaVuSerif</family>

<family>BitstreamVeraSerif</family>

<family>TimesNewRoman</family>

<family>LuxiSerif</family>

<family>Likhan</family>

<family>FreeSerif</family>

<family>Times</family>

<family>SimSun</family>

<family>SimHei</family>

<family>KaiTi_GB2312</family>

<family>FangSong_GB2312</family>

<family>Batang</family>

<family>Gulim</family>

<family>MSGothic</family>

<family>MingLiU</family>

<family>SimSun-18030</family>

<family>WenQuanYiBitmapSong</family>

<family>ARPLShanHeiSunUni</family>

<family>ARPLNewSung</family>

<family>FZSongTi</family>

<family>FZMingTiB</family>

<family>ARPLSungtiLGB</family>

<family>ARPLMingti2LBig5</family>

<family>KochiMincho</family>

<family>UnBatang</family>

<family>BaekmukBatang</family>

<family>HanyiSong</family>

<family>ZYSong18030</family>

</prefer>

</alias>

<alias>

<family>sans-serif</family>

<prefer>

<family>DejaVuSans</family>

<family>BitstreamVeraSans</family>

<family>LuxiSans</family>

<family>Arial</family>

<family>Verdana</family>

<family>AlbanyAMT</family>

<family>NimbusSansL</family>

<family>FreeSans</family>

<family>Helvetica</family>

<family>SimSun</family>

<family>SimHei</family>

<family>KaiTi_GB2312</family>

<family>FangSong_GB2312</family>

<family>Batang</family>

<family>Gulim</family>

<family>MSGothic</family>

<family>MingLiU</family>

<family>SimSun-18030</family>

<family>WenQuanYiBitmapSong</family>

<family>ARPLShanHeiSunUni</family>

<family>ARPLNewSung</family>

<family>FZSongTi</family>

<family>FZMingTiB</family>

<family>ARPLSungtiLGB</family>

<family>ARPLMingti2LBig5</family>

<family>KochiGothic</family>

<family>UnDotum</family>

<family>BaekmukGulim</family>

<family>BaekmukDotum</family>

</prefer>

</alias>

<alias>

<family>monospace</family>

<prefer>

<family>DejaVuSansMono</family>

<family>BitstreamVeraSansMono</family>

<family>LuxiMono</family>

<family>CourierNew</family>

<family>CumberlandAMT</family>

<family>NimbusMonoL</family>

<family>AndaleMono</family>

<family>FreeMono</family>

<family>SimSun</family>

<family>SimHei</family>

<family>KaiTi_GB2312</family>

<family>FangSong_GB2312</family>

<family>Batang</family>

<family>Gulim</family>

<family>MSGothic</family>

<family>MingLiU</family>

<family>NSimSun</family>

<family>NSimSun-18030</family>

<family>PMingLiU</family>

<family>WenQuanYiBitmapSong</family>

<family>ARPLShanHeiSunUni</family>

<family>ARPLNewSung</family>

<family>FZSongTi</family>

<family>FZMingTiB</family>

<family>ARPLSungtiLGB</family>

<family>ARPLMingti2LBig5</family>

<family>KochiGothic</family>

<family>UnDotum</family>

<family>BaekmukGulim</family>

<family>BaekmukDotum</family>

<family>HanyiSong</family>

<family>ZYSong18030</family>

</prefer>

</alias>

</fontconfig>

这份配置文件能适应大多数情况。

注意中间有一段是分别指定中文字体和其他字体的渲染顺序的,大家可以根据自己的需要修改。

最后打开 Firefox 浏览器,在地址栏中输入 about:config

修改一些键值。

以下左边为 Preference Name, 右边为修改后的值Value。

font.FreeType2.unhinted false

browser.display.use_document_fonts 0

font.default.zh-CN SimSun

font.language.group x-western

font.name.monospace.zh.CN SimSun

font.name.sans-serif.zh-CN SimSun

font.name.serif.zh-CN SimSun

inti.charset.default GB2312

以上只是针对简体中文的设置。如果你浏览繁体中文网页,可将 font.default.zh-HK 等设置为 -arphic-Ming for ISO10646-big5hkscs-0 等。

把 browser.display.use_document_fonts 置0是最关键的,否则下面的字体设置都不起作用。

SimSun就是你要使用的宋体的字体名称。使用字体查看器打开字体文件时可以看到字体名称。

好了,打开几个网页看看效果。

附带说一句,按照上面的方法创建文件 local.conf 后,在支持XFT的Opera中不能再选SimSun作为首选字体了,否则网页文字会变得模糊不清。

依次打开 工具->首选项->高级->字体, 把网页普通文字改为NSimSun,再在"国际字体"的"书写系统"选"简体中文", ",把"普通字体"也改为NSimSun。(Veiz)

小孩脾胃虚弱吃什么好
三岁宝宝晚上咳嗽厉害怎么办
孩子营养不良的表现
婴儿高烧不退怎么办
分享到: