android fonts简介

 
关于Android的字体 2012-08-24 15:12:50

分类: 嵌入式

一。背景

尽量写简单一点这次就不废话了。

二。分析

2.1.
文件系统中字体的位置:

/system/fonts/ 其中的ttf文件都是字库 对于源码/frameworks/data/fonts/下的字体文件

DroidSans-Bold.ttf 粗体的无衬线字体(拉丁字母等)

DroidSans.ttf 常规的无衬线字体(拉丁字母等)

DroidSansFallback.ttf 常规的无衬线字体(中文字符等,一般换字库就是替换此文件)

DroidSansMono.ttf 等宽的无衬线字体(拉丁字母等)

DroidSerif-Bold.ttf 粗体的衬线字体(拉丁字母等)

DroidSerif-BoldItalic.ttf 粗体+斜体的衬线字体(拉丁字母等)

DroidSerif-Italic.ttf 斜体的衬线字体(拉丁字母等)

DroidSerif-Regular.ttf 常规的衬线字体(拉丁字母等)

Clockopia.ttf (显示数字时钟时用的字体,非必须)

frameworks/fonts/下有三个xml文件,分别是fallback_fonts.xmlsystem_fonts.xmlvendor_fonts.xml,最终被编进系统的是前面两个。

 

改变字体有不外乎两种方法,一是强制替换掉系统的默认字体,也就是把你想要替换的字体重命名成DroidSansFallback.ttf,替换掉/system/fonts/下原来的那个,另外一种方法就是通过定义vendor fonts xml的方法来设置,对于我们来说,第一种方法太过于暴力,且没有选择的余地。所以第二种方法更为可行

暴力替换法就不说了,现在说说厂商字体法:

2.2.vendor fonts方法:

假设你要添加一个XXXXX.ttf格式的字体文件:

按照android用例vendor_fonts.xml文件中注释介绍的方法,/vendor/etc/目录下创建一个fallback_fonts.xml,例如

<familyset>

    <family order="9">

        <fileset>

            <file>XXXXX.ttf</file>

        </fileset>

    </family>

</familyset>

其中family order就表示描述的插入的vendor字体的需要代替的位置,即/system/etc/fallback_fonts.xml中描述的第10family(从0开始),也就是DroidSansFallback.ttf,使用这种方法前也需要将“XXXXX.ttf”拷贝到/system/fonts



三。总结:

这次也不废话了,不过要提醒一下,字库大部分都是有版权的,所以用别人的字库前都要小心,这也是为什么Android不再Settings中添加字体的选择栏的原因,如果你用了别人的字库没有交保护费的话而产品又买了不少钱的话,呵呵,律师函估计已经在抵达的途中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值