添加字體文件到系統

如何添加新的字庫
新增字庫有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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章