chihya72andClaude Fable 5.1 937c45ba8c fix: 汉化后特效大字随机缺字
游戏的 TMP_FontAsset 是全局共享的 Dynamic 资产,特效大字与普通 UI
共用同一张 2048² 图集,单页只装约 735 个字形,主页几屏就会溢出到
第 1 页。第 1 页字形拿到第二个材质进入 meshInfo[1],而特效文字组件
只提交 meshInfo[0],于是这些字消失(保留 advance,表现为空格)。

修法(UpdateFont):
- 替换字体时把图集抬到 4096²(约 2900 字形),开启多图集;
- 用 ClearFontAssetData(false) 代替 UpdateFontAssetData,后者会把
  原字符表全集重新加回来白占第 0 页;
- 清空后广播 ON_FONT_PROPERTY_CHANGED,让已生成网格的文字重排,
  否则 ruby 等先排版的文字会拿着失效的图集坐标显示错字或空白;
- 以 (fontAsset 地址, InstanceID, sourceFont InstanceID) 追踪资产,
  只有真正新资产才重建;Resources.UnloadUnusedAssets 回收替换字体
  后重新赋值即可,不再清空图集。
- 图集溢出到第 1 页时记录错误日志,便于观察天花板。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 16:17:05 +08:00
2025-03-17 21:53:55 +00:00
2026-05-09 20:52:51 +08:00
2025-03-17 21:53:55 +00:00
2025-03-17 21:53:55 +00:00
2025-03-17 21:53:55 +00:00
2025-03-17 21:53:55 +00:00
2025-03-17 21:53:55 +00:00
2025-03-17 21:53:55 +00:00
2025-03-17 21:53:55 +00:00

gkms-localify-dmm

  • Gakumas Localify DMM Version
S
Description
gkms localify dmm version
Readme GPL-3.0
8.1 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 88.1%
C 11.7%
Assembly 0.1%