Files
ElyOffice/tasks/reviews/P-14-r2.md
T
2026-10-10 00:29:44 -04:00

4 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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`。探针副本及其独立构建目录已删除。