mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-01 05:58:12 -06:00
- Halftones and dithers: most of their new pixels cover both black and white, and taking the sample that covers more turned their tones solid (a 50% screen black, a 25% one white). An image whose new pixels mostly cover both is now left at its resolution; text covers both only along its edges and is still averaged down. downsample_bits says how many new pixels cover both. - A counter for each column: an image wider than a fax row (MAX_CCITT_COLUMNS) isn't averaged, so a strip of 80 million columns can't make the counters 640 MB. - A fax image's decoding is bounded at about a byte a pixel, as redaction's is (decoded_image_within), not 1 GiB; behind a Flate bomb it is left alone. - An indexed image's tie went to sample 0, which an inverting decode array maps to entry 1, though the docs say entry 0. It goes to the sample that decodes to entry 0 now (ISO 32000-2 §8.9.5.2). Each has a test that fails without it. From reviews with the pdfcraft-review skill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P6yUtvWGPsJpMLyh6pxSXG