4 lines
1.3 KiB
Markdown
4 lines
1.3 KiB
Markdown
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`。探针副本及其独立构建目录已删除。
|