添加字体文件到系统

如何添加新的字库
新增字库有2种方法,一是替换原有的字库、二是加入到系统字库,其具体方法如下:
一、替换系统原有的字库:
如替换中文字库,把这个三方字库重命名为DroidSansFallBack.ttf,并拷贝到
alps\frameworks\base\data\fonts下进行替换,重新编译就行。
如需替换其他字库(请参考FAQ12255 ,FAQ04224 )找出对应的字库并替换。
二、添加到系统字库
1. 把对应的字库文件拷贝到frameworks/base/data/fonts下
2. 修改fallback_fonts.xml (frameworks/base/data/fonts)文件( 如果不是系统使用,而是用应用去掉用的话就不用加
<family>
<fileset>
<file>myfont.ttf </file>
</fileset>
</family>
添加字库的时候需要把自己需要添加的字库写到fallback_fonts.xml 文件的前面,
如果写到结尾处如果之前的字库有该字体就会使得自己添加的字库无法生效。
(2.1) 在ANDROID L上同时需要在framework/base/data/fonts/目录下FONTS.XM文件
中加入定义如( 如果不是系统使用,而是用应用去掉用的话就不用加
<font weight="100" style="normal">Roboto-Thin.ttf</font>
(weight代表字体的粗细 style是字体风格。可以根据贵司自定义字库和FONT文件中
的字库定义)(其他android版本无需这个步骤)
3. 修改fonts.mk (frameworks/base/data/fonts)
a、ICS
PRODUCT_COPY_FILES := \
......
frameworks/base/data/fonts/NewFontFile.ttf:system/fonts/myfont.ttf \
b、JB
PRODUCT_PACKAGES:= \
myfont.ttf \
DroidSansFallback.ttf \
......
4. 对于JB2,JB3,JB5,JB9,KK,L还需修改Android.mk
ifeq ($(MINIMAL_FONT_FOOTPRINT),true)
……
else # !MINIMAL_FONT
font_src_files +=
myfont.ttf \
……
5.对于GB版本的添加方法如下
1)拷贝myfont.ttf文件到 alps\frameworks\base\data\fonts下
2)修改frameworks/base/data/fonts/Android.mk文件:
copy_from := \
DroidSansMono.ttf \
myfont.ttf\
……
3) 修改external/skia/src/ports/SkFontHost_android.cpp 文件:
//增加以下语句
{"myfont.ttf", gFBNames},

6. 重新编译工程,download bin到手机测试。

编译完应该会在/system/fonts/  下。

转自:https://www.douban.com/note/567038947/

猜你喜欢

转载自blog.csdn.net/b1480521874/article/details/80528051