关于Android的字体
来源:互联网 发布:中国招标软件 编辑:程序博客网 时间:2024/05/21 08:00
原文链接:http://blog.chinaunix.net/uid-26926660-id-3325421.html
分类: 嵌入式
尽量写简单一点这次就不废话了。
二。分析
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.xml、system_fonts.xml、vendor_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中描述的第10个family(从0开始),也就是DroidSansFallback.ttf,使用这种方法前也需要将“XXXXX.ttf”拷贝到/system/fonts下
三。总结:
这次也不废话了,不过要提醒一下,字库大部分都是有版权的,所以用别人的字库前都要小心,这也是为什么Android不再Settings中添加字体的选择栏的原因,如果你用了别人的字库没有交保护费的话而产品又买了不少钱的话,呵呵,律师函估计已经在抵达的途中。
- 关于Android的字体
- 关于Android的字体
- 关于Android的字体
- 关于Android系统字体的一些知识
- 关于android 字体
- 关于字体的网站
- 关于XP的字体
- 关于字体的疑问
- 关于Android 中TextView字体设置的那点事
- 关于android增添第三方字体的方法
- Android中关于字体宽高的获取
- 关于H5限制android字体放大缩小的方法
- 关于Android如何更换整个应用字体的总结
- android 关于app内设置字体样式的研究
- 关于android自定义字体解决方法
- android 字体的使用
- Android字体的使用
- android 字体的设置
- Android技术积累:图片缓存管理
- adb server is out of date. killing问题
- OpenCV中一个连通域处理函数
- PB运行库(PB6.5,PB7,PB8,PB9)
- short cut使用动态图片
- 关于Android的字体
- Java字符串各种连接方式性能比较
- mysql 出现 Cannot proceed because system tables used by Event Scheduler were found damaged at server
- MyReport报表引擎2.7.4.0新功能
- mysql 存储过程-动态表名
- .NET强签名及混淆解决方案
- WinCE如何使用PictureBox的Image属性通过图片路径显示图片
- LFS<0531-1>
- Ubuntu下为Firefox安装Adobe Flash Player