崮生(子虚) 98b56b4f35 perf(otf): assembleSfnt wholeSum 复用各表 checksum,消除全文件二次遍历
head.checkSumAdjustment 原先两遍遍历 ~750KB 输出:
1. calcTableChecksum 对每表(CFF 742KB 最大)算 checksum
2. wholeSum 再次遍历整个 out 文件 4 字节步进算全文件 sum

数学等价:全文件 sum = 目录区 sum + Σ 各表数据段 checksum,
而各表数据段 padded sum 正是写表记录时已算的 calcTableChecksum。
故 wholeSum 改为「dirSize(156B) 目录区 sum + 累加的 tablesDataSum」,
消除数百 KB 大表的第二次整段遍历。

思源 otf 8字 subsetOTF:min 1.836→1.321ms(-28%)、p50 2.433→1.720ms(-29%);
字节级零回归(cmp 优化前后输出逐字节一致,含 checkSumAdjustment);
基准测试全字体 SSIM 与优化前完全一致。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 23:12:05 +08:00
..