Android 添加自定义的.ttf字库文件到系统
来源:互联网 发布:三维地理信息系统软件 编辑:程序博客网 时间:2024/05/06 06:38
由于项目需要,需要将第三方提供的.ttf字库文件编译至系统源码中,在百度上找了好久,都没有找到想要的,最后还是Google解决了问题,这里作下记录。
Reference:
http://stackoverflow.com/questions/9627806/android-add-custom-fonts-to-system
其实Reference 中介绍的方法,已经非常简单明了,无需赘述,但这里还是将自己的实践记录一下,顺便备注一下需要注意的地方,方便自己以后查阅学习。
Step1:
Copy custom font .ttf into frameworks/base/data/fonts
很简单,就是copy待添加的 Xxx.ttf 文件到 ../LINUX/android/frameworks/base/data/fonts 目录下
Step2:
Modify framworks/base/data/fonts/Android.mk ,Add your custom font into list of ‘font_src_files’
修改同目录下的Android.mk文件,将Xxx.ttf文件添加到‘font_src_files ’,具体如下:
font_src_files := \
Roboto-Regular.ttf \
….
AndroidClock_Solid.ttf \
Xxx.ttf \
这里要注意的是,‘font_src_files’在Android.mk文件中有多处定义,要注意比对,不要找错位置,一般在上面那段代码上面会有一段如下的注释:
# Build the rest of font files as prebuilt.
# $(1): The source file name in LOCAL_PATH.
# It also serves as the module name and the dest file name.
相信如果看明白了这段注释,也就该大概知道添加在这里的原因了吧。
Step3:
Modify frameworks/base/data/fonts/fonts.mk ,Add your custom font into list of PRODUCT_PACKAGES
修改同目录下的fonts.mk文件,在PRODUCT_PACKAGES末尾添加Xxx.ttf文件,如下:
PRODUCT_PACKAGES := \
DroidSansFallback.ttf \
…
AndroidClock_Solid.ttf \
Xxx.ttf \
Step4:
Rebuild 整个工程
注意这里最好是全编,我在作的时候,单编没有成功生效,但是在全编之后成功生效。
Step5:
Check 是否成功
Rebuild 之后,如果编译成功,在out/target/product/msm8610/system/fonts 会有Xxx.ttf文件,反之则可能并未成功。
注意:/product 下的/msm8610 这个目录跟平台有关,不同的平台会是不同的目录,例如有可能是
out/target/product/generic/system/fonts 等。
致此,就将添加自定义.ttf字库文件到系统的过程走完了。要注意的是,这些步骤仅仅只是将.ttf文件编译进了系统,至于怎么使用,那就是另外一回事了。
了解更多,可参考其他文章:
http://chenggoi.com/2015/01/07/Android_Fonts_Customizing/#添加字体
- Android 添加自定义的.ttf字库文件到系统
- ttf字库
- TextView使用指定的TTF字库
- 让Android支持自定义的ttf字体
- Android支持自定义的ttf字体Demo
- iOS开发 -- 添加自定义ttf字体的方法
- iOS开发 -- 添加自定义ttf字体的方法
- android 添加字库
- cocos2d-x自定义ttf文件支持想要的英文中文。压缩ttf大小
- 提取TTF字库字模
- 字库 TTC TTF
- ttf字库下载
- MTK 字库的添加
- (libgdx小结)TTF字库的使用(优美字体的绘制)
- android的widget中使用自定义的字体TTF~
- libgdx基础教程——TTF字库的使用
- ttf字库瘦身,只保留自己想要的字
- ttf字库瘦身,只保留自己想要的字
- XStream解析xml,并分享
- Java中的抽象类和接口
- 叠加图片切片工具:可以处理大图了
- 《Python核心编程》读书笔记—正则表达式
- jQuery异步框架探究2:jQuery.Deferred方法
- Android 添加自定义的.ttf字库文件到系统
- js中设置显示和隐藏
- 导致页面顶部空白一行解决方法
- Raspberry Pi For Windows
- 我在达内学安卓-基于ArrayAdapter创建单一对象列表方式创建联系人列表!
- Android学习笔记
- 一则C语言题
- Java笔记---CenOS下配置Mysql
- VB-计时器程序设计1