Reviews for P-07

This commit is contained in:
ZacharyZhang-NY committed 2026-10-09 22:51:33 -04:00
1 parent a28e618c07
commit 547dbf2cc5
3 files changed
+7

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
FAIL
crates/ely-pdf-engine/shim/ely_text.c:85 — Unicode 连字码点仍无法编辑,违反 PRD PDF-03。复现:将新增测试 a_ligature_block_edits_like_any_other 的 ToUnicode 映射 `<01> <00660069>` 改为 `<01> <FB01>`,其余内容保持原样;实际读取的文字块仍为 `find`,但 `editable` 为 false,调用 put_text 返回 `this text is not in the page's own content`。U+FB02(fl)与 U+FB03(ffi)同样复现,已独立运行并重复验证。stext 会展开这些码点,而 take_glyph 用原始 Unicode 值匹配目标字符;匹配失败后跳过 spelled,且 spelled 的 ucslen < 2 分支也无法计入展开后的字符。修复方向:在匹配与命中计数前按 stext 的规则展开 Unicode 连字,让整页判定、单块检查与删除使用一致的字符序列,并补充单码点连字的编辑回归测试。
+3
View File
@@ -0,0 +1,3 @@
FAIL
crates/ely-pdf-engine/shim/ely_text.c:104 — 新增的展开循环静默截断较长的 ToUnicode 一对多映射,违反 PRD PDF-03。`spelt[64]` 配合每次预留 18 个位置的条件,使普通字符最多处理 47 个。具体复现:沿用 `a_ligature_block_edits_like_any_other` 的 PDF,将 `<01>` 的 ToUnicode 目标改为 48 次 `0066`;文字块完整读取为 48 个 `f` 加 `nd`,但 `editable=false`,`put_text` 报 `this text is not in the page's own content`;47 次映射可以编辑。目标改为 17 次 `FB03` 时同样失败,16 次可以编辑。独立副本中移除新增展开逻辑后,48、64 个普通字符的映射均能替换并保存重开;仅将展开缓冲区扩大为 `18 * PDF_MRANGE_CAP` 后,全部 27 个扩展用例通过替换与保存重开验证;恢复当前代码后再次复现截断失败。原有 fonts、content、redact、independent 共 41 项测试通过,FB01 回归测试在移除展开逻辑后按预期失败。修复方向:按 MuPDF 支持的完整映射长度及最大展开长度容纳所有字符,确保整页判定、单块检查与删除均处理完整序列,并加入容量边界回归测试。
+1
View File
@@ -0,0 +1 @@
PASS