崮生(子虚) fee9e49164 perf(gsub-reachable): coverageFirstExcludedGid 边解析边查不展开 coverage 数组
原实现调用 readCoverageGids(off, cache) 完整展开 coverage 到数组再遍历找首个 excluded,
对 format2 range(初夏明朝 coverage 常覆盖上千 gid)即使首个 gid 就 excluded 也要展开全量,
是「展开全量命中极少」浪费(同类见 gsub-classdef-format2-bsearch)。

改为 cache 命中遍历缓存数组,miss 时直接边解析 coverage 边查 inSubset,命中即返回,
不分配数组、不填 cache。fmt3 失败路径的 coverage 永不被 collectSubtableTargets 读
(失败不产 target),故不填 cache 无碍。

reachable 集合 sha256 三字体完全一致,SSIM/ink 全不变。
初夏纯标点 collectReachable p50 0.159→0.136ms(-14%)。
2026-07-24 16:52:23 +08:00
..
2026-04-08 22:05:17 +08:00
2024-08-19 18:10:09 +08:00