mirror of
https://github.com/2234839/web-font.git
synced 2026-09-13 04:15:42 +08:00
LigatureSubst 第一分量(coverage gid)不在子集时整条 ligature 不会触发, 原实现在 first 不在子集时仍读取 setOff/ligCount/每条 ligature 的 ligOff/compCount/target 后才 continue。改为 first 检查上提到 LigatureSet 展开之前,不在子集直接跳过,省掉内部全部 u16 读取。 初夏明朝 type4 first gid 常全不在子集(首轮 coverage 多为非子集字形), 此短路消除每条 ligature 的无谓读取。 collectReachableGsubTargets min(checksum 与改动前完全一致): - 初夏汉字标点 0.070→0.059ms(-16%) - 初夏纯标点 0.081→0.068ms(-15%) - FiraCode 0.105→0.101ms(-4%) 全字体 SSIM/输出字节均不变。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>