崮生(子虚) 6c59c3e7e6 perf(gsub-subset): parseChainRuleFormat1or2 边读边 remap 提前失败
原实现对 back/input/look 先读到 backRaw/inputRaw/lookRaw 三个临时数组,
再二次遍历 remapSeq 重映射,format1 含子集外 gid 时规则失效(return null),
但 raw 数组已分配——FiraCode 多数 fmt1 规则因 input gid 不在子集而失效,raw 分配纯浪费。

改为 readSeq 边读边重映射(format1):遇子集外 gid 立即返回 null,省掉三个
临时数组与二次遍历。format2(class index 始终有效)原样读取不重映射,行为不变。

subsetGSUB min(checksum 与改动前完全一致):
- FiraCode 0.296→0.290ms(-2%)
- 初夏纯标点 0.075→0.071ms(-5%)

全字体 SSIM/输出字节均不变。

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