1.3 KiB
FAIL
crates/ely-pdf-engine/shim/ely_annot.c:26 — fz_chartorune 会接受 U+D800–U+DFFF,fz_runetochar 又将其原样编码,故共享 JSON 写入函数仍会输出非法 UTF-8,违反 PRD PDF-03。具体复现:单页 PDF 的字体为 << /Type /Font /Subtype /Type1 /BaseFont /Review#ED#A0#BD#ED#B8#80Font /Encoding /WinAnsiEncoding >>,内容为 BT /F1 24 Tf 72 700 Td (ABC) Tj ET。真实 worker 的 text 返回 ABC,text_blocks 报 invalid unicode code point at line 1 column 76,整页文字块无法读取;隔离副本中只将字体输出恢复为原 %q 时,同一探针通过并返回 Review😀Font。修复方向:编码前校验 Unicode 标量,将代理码点等非法序列规范化为有效 Unicode,并增加上述多字节异常字体名的 worker 回归测试。上一轮 /Review#E9Font 已确认修复,旧按字节写法的变异测试会使新增测试失败;当前引擎 117 项测试通过,恢复源码并重建后原有 5 项字体测试通过,上述新增探针仍失败。证据:/tmp/ely-p14-r2-probes.log、/tmp/ely-p14-r2-original-font-writer.log、/tmp/ely-p14-r2-byte-mutant.log、/tmp/ely-p14-r2-restored.log、/tmp/ely-p14-r2-reconfirmed.log、/tmp/ely-p14-r2-probe-source.log。探针副本及其独立构建目录已删除。