基于 zFont 3 更改小米 HyperOS 3.0 国行外语字体教程
前提概括
小米 HyperOS 3.0 国行系统对部分外语字体的显示效果并不算理想,尤其是泰语这类文字,日常生活中虽然很多那种艺术字,但是对于外国人或者初学者来说,misans的泰语非常难(甚至我的泰国朋友也很难理解)。本文记录一下通过 zFont 3 + Shizuku 更改外语字体的方法,示例字体使用泰语常用的 Sarabun。
本文只更改系统外语字体显示效果,不涉及 Root。整个流程的核心是:让 zFont 3 通过 Shizuku 获得文件处理权限,然后使用 Method 4 将字体应用到系统主题字体中。
准备工作
需要提前准备以下应用:
- zFont 3
- Shizuku
- 国际版小米主题商店
- ADB 环境
- Google Fonts
其中 zFont 3 和 Shizuku 正常安装即可。国际版小米主题商店建议通过系统自带的应用管理器安装,不要直接用第三方安装器覆盖,避免安装后权限或组件识别异常。
安装国际版小米主题商店的大致路径如下:
- 下载国际版小米主题商店 APK。
- 打开系统自带的应用管理器。
- 选择安装本地 APK。
- 找到下载好的主题商店安装包并安装。
如果系统提示该应用已经存在,可以先确认当前主题商店版本和安装包版本是否冲突。不要随便卸载系统主题商店,避免主题、字体入口异常。
第一步:开启 Shizuku
Shizuku 需要先通过 ADB 授权启动。
手机端先开启开发者选项:
- 打开系统设置。
- 进入我的设备。
- 连续点击系统版本号,开启开发者选项。
- 返回设置,进入更多设置。
- 打开开发者选项。
- 开启 USB 调试。
然后把手机连接到电脑,在电脑端确认 ADB 可以识别设备:
1 | adb devices |
手机上会弹出 USB 调试授权窗口,勾选始终允许后确认。
接着打开手机上的 Shizuku,进入通过 ADB 启动页面。也可以直接在电脑终端中执行下面这条 Shizuku 启动命令:
1 | adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh |
运行完成后回到 Shizuku,首页状态应该会显示正在运行。只要 Shizuku 处于运行状态,后面 zFont 3 才能调用它处理字体文件。
第二步:修改 zFont 3 的 File Handler
打开 zFont 3 后,先把文件处理方式改成 Shizuku。
操作路径大致如下:
- 打开 zFont 3。
- 进入设置。
- 找到 File Handler。
- 将 File Handler 改为 Shizuku。
- zFont 3 弹出 Shizuku 授权时选择允许。

这一步很关键。如果 File Handler 仍然是默认方式,后面即使下载了字体,也可能无法正常导入或应用到 HyperOS 3.0。
第三步:下载想要替换的字体
在 zFont 3 里进入 Google Sans 字体列表,选择自己想要的字体下载。也可以从 Google Fonts 下载字体文件后手动导入。
我这里要优化的是泰语显示,所以选择 Sarabun。Sarabun 是很常见的泰文字体,字形清晰,和中文、英文混排时观感也比较自然。
下载完成后,确认字体已经出现在 zFont 3 的字体列表里。如果没有出现,可以重新打开 zFont 3,或者检查下载是否完整。
第四步:裁剪只包含 Thai Unicode 的字体
如果只想替换泰语字体,建议先把 Sarabun 裁剪成只包含 Thai Unicode 区段的 TTF。这样生成出来的字体文件更干净,也能尽量避免影响其他语言的显示。
如果不裁剪,字体影响范围可能会变大,导致系统里一些原本不需要替换的文本也被带着换掉,混排时观感会比较奇怪。

先确认电脑上已经安装 fontTools:
1 | python -m pip install fonttools |
然后把 Sarabun-Regular.ttf 放到当前工作目录,执行下面的命令:
1 | python -m fontTools.subset "Sarabun-Regular.ttf" ` |
这里的 U+0E00-0E7F 是泰文 Unicode 区段,--layout-scripts=thai 用来保留泰语排版相关信息。执行完成后,会在 build\sarabun-thai-only 目录下得到 Sarabun-Regular-ThaiOnly.ttf。
第五步:导入字体到 zFont 3
下载好的字体需要先导入 zFont 3,确认 zFont 3 能正确识别字体名称和字体文件。
如果字体已经在 zFont 3 内下载,通常会自动进入可用字体列表。如果是自己手动下载或裁剪好的字体文件,可以使用 zFont 3 的本地导入功能,选择对应的 .ttf 或 .otf 文件。
以 Sarabun 为例,这里导入上一步生成的 Sarabun-Regular-ThaiOnly.ttf。导入后可以先预览一下泰语文本。如果预览正常,说明字体文件本身没有问题。
第六步:使用 Method 4 应用字体
字体准备好后,进入 zFont 3 的应用流程:
- 选择已经下载或导入的 Sarabun 字体。
- 点击 Apply。
- 设备类型选择 Xiaomi / MIUI / HyperOS 相关选项。
- 方法选择 Method 4。
- 根据 zFont 3 提示完成主题字体生成和应用。

Method 4 会配合前面设置好的 Shizuku File Handler 使用。如果前面 Shizuku 没有运行,或者 zFont 3 没有拿到 Shizuku 授权,这一步通常会失败。
应用完成后,进入系统主题或字体页面,确认新生成的字体主题已经被应用。然后重启一次手机,让系统字体缓存刷新。
效果检查
重启后可以打开包含泰语的页面检查效果,例如:
- 浏览器中的泰语网页
- Telegram、LINE 等聊天软件里的泰语文本
- 系统内置翻译或输入法候选栏
如果字体替换成功,泰文字形会明显从系统默认回退字体变成 Sarabun,字符宽度、行高和整体观感都会更统一。
常见问题
Shizuku 显示未运行
重新连接电脑,打开 Shizuku,按页面提示再次执行 ADB 启动命令。手机重启后 Shizuku 通常需要重新启动。
zFont 3 无法调用 Shizuku
检查三个地方:
- Shizuku 是否正在运行。
- zFont 3 的 File Handler 是否已经改成 Shizuku。
- Shizuku 授权列表里是否允许了 zFont 3。
如果授权状态异常,可以在 Shizuku 中撤销 zFont 3 授权,然后重新打开 zFont 3 再授权一次。
Method 4 应用失败
优先检查国际版小米主题商店是否安装正常。HyperOS 国行系统对主题组件限制比较多,如果主题商店版本不兼容,zFont 3 生成的字体主题可能无法正常应用。
也可以尝试清理 zFont 3 缓存,重新下载字体后再执行 Method 4。
字体应用后没有变化
先重启手机,再检查目标 App 是否有自己的内置字体。有些 App 不完全使用系统字体,所以替换系统字体后不一定每个页面都会变化。
如果只有部分页面变化,这是正常情况。系统界面、浏览器网页、普通文本控件通常更容易看出效果。
总结
整套流程最关键的是四点:
- Shizuku 必须通过 ADB 正常启动。
- zFont 3 的 File Handler 必须改成 Shizuku。
- 泰语字体建议先裁剪成只包含 Thai Unicode 的 TTF。
- 字体应用时选择 Method 4。
以泰语为例,Sarabun 在 HyperOS 3.0 国行系统上的显示效果比默认回退字体更舒服。其他外语字体也可以按同样思路处理,只需要在 zFont 3 中换成对应语言更适合的字体即可。
- Title: 基于 zFont 3 更改小米 HyperOS 3.0 国行外语字体教程
- Author: Insider
- Created at : 2026-06-12 05:35:54
- Updated at : 2026-06-12 06:47:02
- Link: https://blog.insider.baby/2026/06/12/基于zFont3更改小米HyperOS3国行外语字体教程/
- License: This work is licensed under CC BY-NC-SA 4.0.