mirror of
https://github.com/2234839/web-font.git
synced 2026-09-12 20:11:51 +08:00
原实现遍历每个 ClassDef range 的 [start..end] 全部 gid 查 gidLookup (FiraCode 实测 33 次 readClassDefMap 展开共 9686 gid 仅命中 19,命中率 0.2%,子集仅 89 gid)。改为对每个 range 在升序子集 gid 数组上二分定位 [start,end] 内的 gid,仅对命中的 set class——从「展开 range 全部 gid」转为 「只处理落在 range 内的子集 gid」。 subsetGSUB: 0.330ms → 0.284ms (-14%),FiraCode woff2 min 2.1→1.8ms GSUB 输出 sha256 三字体全一致,SSIM 不变(FiraCode 0.9923) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>