修改安卓字体续篇:针对4.0(ICS)修改字体

彩虹网

此文是针对我去年日志《网上的方法都过时了!一个字体搞定安卓英中日韩显示,你懂的!》的追加。原文讲的是2.x时代的字体文件用途,到了4.x(最新的4.1尚未测试,估计变化不大),中英文字体都有较大变动,需要写一篇新的日志说明下。

4.x以后最显著的变化是新增了Roboto家族,有Regular/Bold/Italic/BoldItalic四种变体,相比原来的DroidSans多了两个斜体。原来的DroidSans家族还在,但是已经被指向到Roboto家族,再修改原来的文件是无效的。

由于中文字体至今未出现独立斜体和独立粗斜体,因此我在这里建议大家中英文分开替换,这样可以保证英文有斜体和粗斜体,同时中英文有更多种独立搭配。

为了替换英文字体,我们需要准备四个字体(蛮多字体都有独立斜体的,很容易找)分别替换以下四个文件:

Roboto-Regular.ttf

Roboto-Italic.ttf

Roboto-Bold.ttf

Roboto-BoldItalic.ttf

更换的前期准备和操作要领见文首引用的那篇日志。

针对中文,4.x还是一个DroidSansFallback.ttf完成。有的固件可能是DroidSansFallbackFull.ttf一类名称,总之体积最大的那个是我们需要替换的。个人是对字体要求比较高的,也喜欢针对中日韩文字使用独立粗体,因此我针对独立粗体又进行了探索,收获见下。

用RootExplorer进入/System/etc目录下可以找到fallback_fonts.xml这个文件。这是4.x后对新增语种文字的配置文件,可以用记事本打开进行修改。熟悉Linux的朋友会对这种文件结构了如指掌,之中定义好了字体家族和不同的变体。我们可以发现,这里中日韩还是一行如下的编码:

DroidSansFallback.ttf

这就是说,系统没有给我们准备好粗体。不必气馁,我们发现文件开头有定义粗体的语句:

DroidSansHebrew-Regular.ttf

DroidSansHebrew-Bold.ttf

这是希伯来文,谷歌为它打造了独立粗体。我们仿照上面的语句,在DroidSansFallback.ttf后面另起一行加入:

DroidSansFallback-Bold.ttf

保存。把这个文件用RootExplorer覆盖掉原来目录中同名文件,设置好权限。

然后把我们需要的中文的常规体和粗体分别命名为DroidSansFallback.ttf和DroidSansFallback-Bold.ttf,覆盖掉原来的字体,并将覆盖后的字体和新加入到的DroidSansFallback-Bold.ttf的权限都如同我上一篇教程那样修改。

这样一番工作完成后可以重启查看效果了,这样保证了英文替换的同时中文新增了粗体,对于字体控们来说赏心悦目。

当然,上面的fallback_fonts.xml理论上可以无限增加字体家族。譬如我刚刚替换的字体只有中日文(蛮多字体没有韩文),我在后面定义新的家族如DroidSansKorean.ttf和DroidSansKorean-Bold.ttf(随便自己取名)然后新增字体理论上也是可以继续fallback的,fallback的顺序就是fallback_fonts.xml中上下顺序决定。

囿于本人的手机可用空间太小就没有尝试验证上面的假说,有兴趣的网友可以自己试试。

效果和上一篇教程基本一致,就没有插图了,希望谅解。

原文链接:http://lethean.me/archives/649

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。