Android aosp rro 添加自定义字体

链接
原文
1、制作字体包
如需制作字体包,请执行以下操作:
将所有字体 ttf 文件添加到 vendor 分区中的字体包内。例如:

vendor/[oem]/fonts/[oem]-sans/

为字体包创建 Android.mk 文件。例如:

vendor/[oem]/fonts/[oem]-[fontname]/Android.mk

确保模块将安装在 product 分区的 etc 文件夹中。为此,请确认该模块是否具有以下标志:

LOCAL_MODULE_CLASS := ETC
LOCAL_PRODUCT_MODULE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts

上面提供的示例代码展示了字体包模块的完整定义。
为字体包创建一个名为 fonts.mk 的文件,然后将字体 ttf 文件添加到 PRODUCT_PACKAGES 中。例如:

vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk

例如:

PRODUCT_PACKAGES := \
[font name].ttf \

2、创建设备叠加层软件包
创建一个名为 fonts_customization.xml 的模块,以供添加到 build 中。此模块指向包含字体系列的 fonts_customization.xml 文件,并会调用所有字体包的 Makefile。例如:

vendor/[oem]/[device]_overlay/fonts/Android.mk

创建字体系列:

vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml

该文件的根级别必须是 fonts-modification 标记。为此元素下的每个字体包添加字体系列。此外,请向每个字体系列添加 customizationType="new-named-family",并确保每个字体系列都具有 name 属性。此名称稍后将用于访问相应的字体系列。必须将此文件添加到先前在 Android.mk 中定义的 fonts_customizations.xml 模块内。
上面提供的示例包含有效的 fonts_customization.xml 文件。
创建 fonts.mk。例如:

vendor/[oem]/[device]_overlay/fonts/fonts.mk

在 PRODUCT_PACKAGES 标志下添加 fonts_customization.xml。
调用先前创建的每个字体包。

$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)

将字体模块添加到 PRODUCT_PACKAGES 下的 build 中,然后重新构建。相应字体将安装到系统中。
验证 ttf 字体文件是否位于设备上的 /product/fonts 文件夹中。
验证 /product/etc/ 是否位于设备上的 fonts_customization.xml 文件夹中。
4、使用新的系统字体系列
如需使用新的系统字体系列,请使用以下代码:

<style name="customstyle">
    <item name="android:fontFamily">customfontfamily</item>
</style>
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容