崮生(子虚) fb721a216b perf(gpos): 预扫描 coverage 未命中的 subtable 直接写空跳过 serializeSinglePos/PairPos
anyHit lookup 内逐 subtable 序列化时,subtableCoverageHits 预扫描已判定
coverage 是否含子集字形。初夏 96~98% SinglePos subtable coverage 完全不含
子集字形(hits[j]==false),原实现仍 readCoverageGids + 构建 kept(空) +
emit 空 coverage 走完整 serializeSinglePos,纯浪费。

coverageHit=false 时直接 writeEmptyPosSubtable(与 lookup 全空折叠同性质
等价变换:空 coverage 浏览器查不到字形即跳过,valueFormat 0 与原值渲染等价),
跳过 readCoverageGids/kept/emit 全部开销。

A/B(min 微基准,checksum 因空 subtable valueFormat 0 替代原值变化,SSIM 全不变):
- 初夏纯标点 subsetGPOS 0.110→0.084ms (-24%)
- 初夏汉字标点 0.101→0.073ms (-28%)
- FiraCode 0.002ms(无 GPOS 热点,符合预期)

全量基准 SSIM 全部不变(初夏纯标点 0.9920/汉字标点 1.0000/霞鹜 0.9987/FiraCode 0.9923 等固有值)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 18:08:49 +08:00
..
2026-04-08 22:05:17 +08:00
2024-08-19 18:10:09 +08:00