mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-09 04:22:20 +00:00
* M2: a form XObject that draws itself is drawn once (hayro-interpret patch 89) A form whose content names itself, directly or through another form, a pattern or a glyph, drew itself again at every level until the page's nested-paint budget (50,000) ran out. PDFBOX-5782's poppler-748 page 2, whose form names a /Pages dictionary as /X0 and so finds itself in the page's resources, took 38 s. hayro-interpret now keeps the forms being drawn on the context and skips a form already on it, reporting ContentTruncated (ISO 32000-2 §8.10.1: a form is a self-contained description). The lenient fallback from a form's own resources to the page's stays: MuPDF, Poppler and PDFium all draw a name from the page's resources when the form's /Resources has no XObject subdictionary (MuPDF and Poppler also when it has an empty one). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyDBXygTf7jcqdsjcfn * fix(render): a form that reaches itself through a pattern or a glyph is drawn once (hayro-interpret patch 89) The forms being drawn are now kept per page and thread rather than per context, so the tiling patterns, Type 3 glyphs, soft masks and groups painted inside a form, which hayro interprets in contexts of their own, see that the form is being drawn and skip it inside themselves. A form drawn again after it has finished draws as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZA * chore: re-run CI after the Fill & Sign save comparison failed on the clock (#6066) `fill_sign_enter_adds_lines_outside_click_commits_and_escape_cancels` compares two saves whose /ModDate fell in different seconds; it passes locally on this commit. No change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZA --------- Co-authored-by: mtlcl410 <chuanlin@niar.org.tw> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>