mirror of
https://github.com/2234839/web-font.git
synced 2026-09-04 23:02:27 +08:00
collectReachableGsubTargets 的 SingleSubst 反转遍历路径(reachable 小、coverage 大) 原 readCoverageGids 先把 coverage 全部 gid 展开到数组再二分。思源 locl lookup 的 coverage 达 8881/12000/11632 gid,展开是 reach 阶段 #1 热点(0.060ms / 0.165ms)。 新增 coverageIndexOf(format1 二分 / format2 range 二分+累计)与 coverageCount(不展开得 gid 总数),反转路径直接对 coverage 字节二分得 index,完全省掉大数组展开: - 思源 collectReachable 0.165→0.042ms(-74%) - 白狐 0.026→0.007ms(-73%) - FiraCode 持平(coverage 小不走反转路径) reachable 结果逐字体一致(思源 19 / 白狐 4 / FiraCode 89),基准测试全过: 思源 OTF ssim=1.0000、FiraCode 0.9923 保持。 otf-subset 顺带 findTable 去重(reachable 收集与布局表子集化共用提前解析的 GSUB/GPOS)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>