1.添加原因
项目中客户提供的字库仅仅包括Baisc Latin,即基本的英文字母等,这个字库现替换了原生的Roboto-Regular。而原生的Roboto-Regular字库包括了更多的语系,包括不能正常显示的斯洛文尼亚语,因此需要将原生字库添加至系统中。
2.添加步骤:
涉及修改文件路径为framework/base/data/fonts
1)添加ttf:
附件原生的Roboto-Regular.tff改名为RobotoOther-Regular.tff,拷贝至framework/base/data/fonts下。
2)修改Android.mk:
else # !MINIMAL_FONT
font_src_files += \
……
RobotoCondensed-LightItalic.ttf \
RobotoOther-Regular.ttf
3)修改fonts.mk:
PRODUCT_PACKAGES := \
……
NotoSansCJK-Regular.ttc \
RobotoOther-Regular.ttf \
以上1、2、3步保证ttf安装到系统
4)修改system_fonts.xml
或者修改fallback_fonts.xml,添加如下family:
<family>
<fileset>
<file>RobotoOther-Regular.ttf</file>
</fileset>
</family>
5)修改fonts.xml
5.1之后,需要同步修改fonts.xml,添加如下family
<family>
<font weight="400" style="normal">RobotoOther-Regular.ttf</font>
</family>
注意添加位置,fonts.xml中<alias name是紧随 <family name之后的,不要插入到二者之间。目前放在了前面。