Files
ElyOffice/tasks/reviews/R2.17-r2.md
T

1.1 KiB
Raw Blame History

FAIL

crates/ely-pdf-engine/shim/ely_pen.c:29 — own_codes 在字体存在 ToUnicode 时只查该表,遗漏文字提取器对未映射字符使用的 cid_to_ucs 后备映射,导致面板可识别且字体已有的字被误报缺字,违反 R2.17 与 PDF-03。具体复现:构造一页 PDF,字体为 /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding /ToUnicode 6 0 R,ToUnicode 的 codespace 为 <00> <FF>,唯一映射为 <41> <0041>,正文为 BT /F1 24 Tf 72 700 Td (AB) Tj ET。text_blocks 返回 text="AB", editable=true;保持字体、字号和框位置,将文字改为 BA,选择 original,put_text 返回 Missing('B');同一请求显式选择 helvetica 返回 Done("1")。独立探针重复复现,现有 108 项测试全部通过,遗漏此编码路径。修复方向:按文字提取相同的逐字符优先级解析 Unicode,ToUnicode 未提供该 CID 的映射时继续查 cid_to_ucs,增加部分 ToUnicode 下原字体编辑、保存重开的回归。证据:/private/tmp/ely-r217-r2-probes.log、/private/tmp/ely-r217-r2-partial-repeat.log、/private/tmp/ely-r217-r2-suite.log。