mirror of
https://github.com/2234839/web-font.git
synced 2026-09-17 14:45:55 +08:00
原实现对 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>