Files
ElyOffice/tasks/reviews/R7.4-r2.md
T
ZacharyZhang-NYandClaude Opus 5.5 6b676e06e6 R7.4: an unembedded font is no damage (#5)
The warning watch skips MuPDF's non-embedded font notice and its
repeat counts. Text and search reads are watched too: damage they meet
is kept on the document, told by the next draw or picture check, and
fails image and text exports until then.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-16 13:44:17 -04:00

1.2 KiB
Raw Blame History

FAIL

  1. crates/ely-pdf-engine/shim/ely_mupdf.c:86 — Flushing before installing the warning collector discards genuine damage found by an earlier unwatched text/search read. Reproduction: a PDF with a sound cross-reference table and two distinct 4×4 RGB image objects with /Filter [/FlateDecode /ASCIIHexDecode], each containing zlib-compressed ff0000 repeated 16 times followed by >, with its checksum replaced by four zero bytes. Call text or search before rendering: MuPDF caches the images and leaves a repeated checksum warning pending; the new flush discards it, so rendering returns damaged = false and no repair report. Text extraction followed by either PNG or text export also succeeds. HEAD reports damage and rejects those exports. A single RGB image with /Mask [null null null null null null] reproduces the same loss; after the text read, even check_pictures returns false, removing the overwrite protection required by PDF-14. Capture and classify warnings during the earlier reads and retain damage for the affected document, excluding only the harmless font notice and its repeats; add regressions that read/search damaged images before rendering, exporting, or checking them. Windows comparison evidence: .work/R7.4-r2-compare.log.