zFont3 中文文档 下载 App

创建字体模块与字体映射规则详解

为什么字体模块比 Emoji 模块复杂

字体模块不是替换一个文件,而是要把你选的字体映射到系统原有字体家族上。只映射 Regular 字重 = 粗体和斜体还是系统默认字体——这是新手最容易犯的错。

英文 Roboto 家族映射规则

Android 系统默认英文字体是 Roboto 家族,四种字重必须全部映射:

你的字体文件映射到系统字体
MyFont-Regular.ttf→ Roboto-Regular.ttf
MyFont-Bold.ttf→ Roboto-Bold.ttf
MyFont-BoldItalic.ttf→ Roboto-BoldItalic.ttf
MyFont-Italic.ttf→ Roboto-Italic.ttf

少一个都不行。比如只映射了 Regular,界面上的按钮文字(粗体)还是系统默认字体,看起来就像「换了一半」。

中文 CJK 字体家族

Android 系统中文字体家族因品牌而异:

品牌系统中文字体家族
原生 AOSP(Pixel)NotoSansSC / NotoSansTC / NotoSansHK
Samsung OneUISamsungSans
Huawei HarmonyOSHarmonyOS Sans
Xiaomi HyperOSMiSans
OPPO / realmeOPPOSans
vivovivo Sans

你的中文字体文件需要映射到对应品牌的字体家族,同样要覆盖所有字重(Regular / Bold / Medium 等)。

缅文等其他语言

zFont3 官方帮助中心提到:

zFont3 的自动映射 vs 手动映射

创建模块前仔细检查一下映射表,确认每个字重都配对了再生成。

映射错误的表现

错误类型表现修复
漏映射 Bold正文字体换了,按钮粗体还是默认补 Bold 字重映射
只映射 Regular换了一半,斜体和粗体都没变补全四种字重
中文字体没映射英文换了,中文还是默认添加 CJK 家族映射
映射到不存在的家族模块刷入后字体全部变成方框乱码检查系统真实字体目录