由于项目需要,需要将第三方提供的.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:

在frameworks/base/data/fonts$ 单编,执行mm

Step5:

Check 是否成功

Rebuild 之后,如果编译成功,在out/target/product/msm8610/system/fonts 会有Xxx.ttf文件,反之则可能并未成功。 
注意:/product 下的/msm8610 这个目录跟平台有关,不同的平台会是不同的目录,例如有可能是 
out/target/product/generic/system/fonts 等。

Step6:检查out/target/product/msm8610/system/fonts 有Xxx.ttf文件,push到设备,在设备上查看即可

致此,就将添加自定义.ttf字库文件到系统的过程走完了。要注意的是,这些步骤仅仅只是将.ttf文件编译进了系统,至于怎么使用,那就是另外一回事了

(二) :由于添加到字体库都显示的英文,不知道他是什么字体,下面我们可以改字体库的名称

如何修改字体在系统中显示的名称  ??

Font Creator是一款优秀的国外软件,主要功能是修改、制作字体库。但由于制作中文字库工作量太大,所以通常情况下,个人很少用它来制作字库。  该软件目前有汉化版本推出,大家可以到网上自行搜索。  不少中文字体在系统中显示的名称是英文,有的朋友想把它显示的名称改成中文以方便查找,此时Font Creator就可以派上用场了。  下面以Windows XP操作系统、Font Creator 5.0英文版为例,简要介绍下如何修改字体在系统中显示的名称。 先以英文字体Kabel Medium BT为例。  安装并打开Font Creator,单击“File(文件)—Open(打开)—Installed Font(已安装的字体)或者Font File(字体文件)”,打开需要修改的字体文件。打开字体文件后,单击“Format(格式)—Naming(命名)”,在Naming(命名)窗口中,字体的相关信息,比如名称、版本、版权等,便呈现在我们面前,此时即可以对这些信息进行任何修改。修改字体在系统中显示的名称,只须修改“Include font family name(包括字体家族名称)”这一项,完成后单击“OK”,然后保存即可。关于Naming窗口中各项信息与Windows系统的字体查看器窗口中显示的信息之间的对应关系,见图: 

注意:改过后,重新替换frameworks\base\data\fonts下的字体库,把改过名字的放进去,重现编译:

在frameworks/base/data/fonts$ 单编,执行mm,然后push就OK了!

参考文章(一):http://blog.csdn.net/CrystalDestiny/article/details/50986888
参考文章(二):http://blog.csdn.net/wwwsq/article/details/8207762
参考文章(三):http://wenku.baidu.com/link?url=gPsk5zNHpejStHf3hjgwGKYlnwEOviA2UH4WvOfiVPv9BYAJlY7P9MYem0Z1VFrq1nmEISt6559XU-YVF1aAJXWrV_ZMGypw4sjaehswKRW
(三)修改系统默认的字体
1,修改myandroid\frameworks\base\data\fonts\system_fonts.xml文件
,2,修改完成后  adb push Z:\myandroid\frameworks\base\data\fonts\system_fonts.xml   /system/etc/   记得push到/system/etc/ 下,然后reboot就可以看到效果啦
参考文章,里面有字体库加载原理,如何修改默认字体,删除不想要的字体等等:
http://chenggoi.com/2015/01/07/Android_Fonts_Customizing/

安卓系统添加字体库和修改系统默认的字体相关推荐

  1. Android 系统(72)---Android系统增加字体库及修改系统默认字体

    Android系统增加字体库及修改系统默认字体 阅读数:53 转载出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上 ...

  2. Android 系统增加字体库及修改系统默认字体

    本文基于android9,看了android10.11.12基本也是一样: 一.Android系统增加字体库 1.把下面需要增加字体文件库copy到frameworks\base\data\fonts ...

  3. Android系统增加字体库及修改系统默认字体

    转载请注明出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上需要修改android系统默认字体,现把总结记录下,便于 ...

  4. 微信小程序中使用字体库_小程序使用自定义字体库

    一.使用前端字体库 小程序前端默认不支持woff2/woff文件加载.但浏览器支持base64编码图片解析. 处理方案蒋woff2转码成base64编码即可. 自定义前端库使用阿里iconfont的即 ...

  5. 修改Typora默认的字体为好看秀美的中文字体“华康手札体“

    一 下载并安装"华康手札体W5P"字体 (1)下载方式: 1. 方式一 http://www.downcc.com/font/341067.html 2.百度云链接: 链接:htt ...

  6. 修改Typora默认的字体为好看秀美的中文字体“华康手札体“并配置一些高级定制功能(20210404已成功测试)

    本次测试环境 winodws10操作系统 typora软件:0.0.98(相近版本一般都可以进行验证操作) 1.请客官先体验下最终效果图 大家可先瞅一瞅最终修改后的效果图如何,再根据自己需求是否决定要 ...

  7. windows7更换系统时间服务器,win7如何修改系统时间

    不知道win7是怎么样修改系统时间的吗,那么win7是如何修改系统时间的呢?下面是学习啦小编收集整理的win7如何修改系统时间,希望对大家有帮助~~ win7修改系统时间的方法 工具/原料 cmd命令 ...

  8. linux 修改系统时间和日期,Linux 修改系统日期和时间

    Linux 修改系统日期和时间 一.文本模式下修改 命令及参数选项:date -s 示例如下: #date -s 04/11/2008 ------将系统时间设定成2008年4月11日 #date - ...

  9. linux7系统改成中文,centos7修改系统语言为简体中文

    centos7修改系统语言为简体中文和时区 说明 自己装系统时一般都可以自定义选择系统语言.可是云端服务器一般都是安装好的镜像,默认系统语言为英文,对于初学者可能还会有搞不懂的计算机词汇.这里简单说一 ...

  10. android 标题字体大小,如何修改android studio标题字体大小

    匿名用户 1级 2017-03-08 回答 之前为大家讲解了android studio怎么修改字体大小和颜色?其实android studio代码字体样设置位置和之前将的设置位置是一样的,这里再给大 ...

最新文章

  1. 关于TypeError: ‘numpy.ndarray‘ object is not callable报错
  2. NETCONF 环境搭建
  3. python猜数游戏在程序中预设一个_一道Python简单程序结构练习题
  4. 英特尔分拆McAfee:31亿美元将多数股权卖给投资公司TPG
  5. k8s多master建议用几个_K8s 还是 k3s?This is a question
  6. RabbitMQ消息
  7. teamcity mysql 配置_CentOS 7 上 TeamCity 安装
  8. [转载] python并行处理任务_Python 并行任务技巧
  9. 自定义控件之圆形的image
  10. Ubuntu18.04设置系统默认音频设备:使用pavucontrol命令
  11. spss导入Excel显示连接服务器超时,Excel里的日期在spss里怎么不正常显示
  12. 2023考研路上,恭祝诸君只争朝夕,不负韶华
  13. 将VSCode设置成中文
  14. STM32f429开发中USB读写文件涉及到的库移植
  15. poi导出Excel合并单元格、设置打印参数页眉页脚等
  16. 2021年上半年系统集成项目管理工程师上午试题参考解析(二)
  17. EDM邮件营销推广方法分享
  18. 聊天机器人之语音识别科大讯飞 Node.js SDK
  19. 十六进制数据的CRC16校验码自写软件
  20. DEI脉冲发生器维修高压电源维修PVX-5500

热门文章

  1. Python自动化模拟键盘操作
  2. android app后台收不到消息,Android APP被关闭后无法收到推送消息(尝试)
  3. ps图片去水印-图片一键去水印的app
  4. 使用脚本自制 SSL 域名证书
  5. 结构设计——常用机械设计软件对比
  6. 【RFID】阅读器和应答器之间的电感耦合
  7. 2 电感耦合方式的射频前端
  8. Ubuntu联网安装GCC
  9. CocosCreator如何制作微信小游戏
  10. linux中source命令详解,在Linux中,Source命令是什么如何使用它?