mirror of
https://github.com/2234839/web-font.git
synced 2026-09-04 23:02:27 +08:00
原 emitCoverage 对输入 newGids 做 slice().sort()——防御性复制+排序。 但 readCoverageRemapped 的输出(fmt3/writeChainFormat2 coverage)因 原gid→新gid 映射不保序而可能乱序,必须排序;type1/2/3/4 的 entries.map(e=>from) 虽已按 from 排序故升序,却仍付出 slice+sort 开销。 将排序职责上移到 readCoverageRemapped 缓存入口(covCache 命中率极高,FiraCode 604 引用/83 独立 coverage,排序分摊几乎免费),使所有调用方输出天然升序无重复。 emitCoverage 据此改为直接扫描区间(不 slice、不 sort、不分配 ranges 对象数组), 同时两遍扫描统一为 rangeCount 计数。 FiraCode subsetGSUB 417→390μs(-6.5%),输出 sha 全字体一致,SSIM 全不变。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>