v1.3.8
遇到问题请发一份诊断报告(在「遇到问题?」里点「一键上报」)。
🐞 修好了「中文一直是系统原来的字体」(重要)
三星等机型的中文来自 .ttc 合集(例如 SECCJK-Regular.ttc,字体配置里写 index="2"),
模块要把你的字体包成"同样多 face 的合集"才能顶替它。
从 v1.3.5 起这一步一直没有生效:安装时保存"哪个合集的哪几号是中文"的那份清单,
写的时候先把它自己截断成了空文件;读取端又把"空"当成"这台机器没有中文合集",
于是合集替换被永久关掉。
结果就是:清单里的 151 个 .ttf 槽位全都换掉了(界面显示 151/151 全部生效),
但中文走的那几个合集没换,所以看着还是系统原来的字体。
现在:
- 写清单改成先写临时文件再替换,不会再把自己清空
- 读到清单后正确输出(原来读到了内容却没有输出,只能退化成"只换 2 号")
- 升级时清掉旧清单、重新算一次 —— 装了旧版的机器升级即自愈,不用手动删文件
- 合集只换中文那几号 face,日文/韩文保留原字形,不会被牵连
🐞 修好了「字体大小显示成 1 KB」
大小改成读导入时记下的真实字节数;读不到就显示「—」,
不会再编一个 1 KB 出来。升级时还会把老记录里缺失的大小补齐。
🐞 修好了「切保留锁屏时钟开关后,软重启不生效」
切换这个开关会让要替换的槽位变少(151 → 119),少掉的正是时钟槽位。
而软重启只"挂新的",没人去撤旧的,所以时钟看起来还是被替换了。
现在重新应用时会记下上一份计划,软重启前按差集把旧槽位撤掉,再挂新的。
🐞 修好了「界面一直显示正在读取」
list 不再对字体文件做 stat。之前只要字体库里有一个失效的挂载点,
stat 就会卡在不可中断状态,界面就一直等在那里。
⚡ 变快
- 「免重启」第二步不再重复挂载(原来把第一步刚挂好的又卸了重挂一遍)
- 挂载合并成一次调用(bind + 只读),每个槽位少一次进程
- 已经挂好的槽位批量查表跳过,不再逐槽 stat
- 免重启第一步只撤"该撤的",不再全量 151 个
🔧 其它
- 升级(版本变化)会重新扫描槽位、重新合成中文合集,旧版留下的派生数据一律作废
- 安装日志如实反映"是复用扫描结果还是重新扫了一遍"
- 诊断报告里「建议补进清单的字体」那一节之前是空的(函数定义写在调用之后),已修
- 卸载:字体库删不干净时会明确告诉你(Download 里留说明);
卸载请求排队后你又把模块装回来了,则不会误删字体库 - 包内不再带开发备注 / 备份文件
📌 说明
- 字体、设置、当前选择都不会丢
- 更新模块不会动字体库;只有卸载才会删
- 若选字体后开不了机,下次开机会自动恢复为「无字体」