1.3 KiB
1.3 KiB
Harmony 字体策略
第一优先级使用系统字体;应用字体只允许由产品明确提供的开源字体;libass 使用 mpv 已配置的字体 provider,不新增商业字体包。当前 OHOS 字体栈按 scripts/build-font-stack-ohos.sh 构建:FreeType + HarfBuzz + FriBidi + libass,libass 明确关闭 fontconfig、DirectWrite、CoreText 和 iconv provider,因此不依赖 Linux fonts.conf。
Playback Lab 初始化时将 mpv sub-fonts-dir 指向 /system/fonts;模拟器已确认该目录存在,/system/etc/fontconfig 与 /system/etc/fonts 不存在。libass 的 ass_set_fonts_dir 会从该目录加载字体,sub-font-provider=auto 在当前无系统 provider 时仍可使用目录字体和字幕内嵌字体。中文、英文、日文、韩文的缺字由目录字体顺序、libass fallback 与内嵌字体共同决定;应用若需补充字体,应通过 Resource Manager/应用沙箱提供明确的开源字体目录并在产品层映射到 sub-fonts-dir,不修改核心、不提交商业字体。
Playback Lab 只验证字幕渲染和缺字表现,不把字体文件或用户凭证提交到仓库。设备侧若系统字体目录、provider 行为或 fallback 顺序不同,应记录实际字体、脚本和缺字结果。