mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-03 15:05:02 -06:00
#5461 made Document::decoded_image read JBIG2, page exactly the image's size, and kept the optimizer's monochrome step off it until it could weigh JBIG2 again. Now one_bit reads JBIG2 last after any filters, within the raster's allowance, and mono treats it as it does any black-and-white image: - above the threshold it is averaged, and stored as the compression asks, the smallest of what that may store; under Retain it is stored as JBIG2 again, its kind of compression kept; - not resampled, it is stored again as the compression asks when that is smaller: a generic region becomes symbols with JBIG2 asked for, and JBIG2 behind ASCIIHex is stored again alone (as Group 4 where that is smaller); - a JBIG2 image stored again refers to no /JBIG2Globals; one whose page isn't its size isn't read, and stays. jbig2_images_are_left_as_they_are becomes jbig2_scans_are_averaged_and_stored_again: a JBIG2 scan at 600 ppi, alone, behind ASCIIHex and with globals, averages to the same samples as its Flate copy under each compression (Retain keeping JBIG2); at 300 ppi a generic region of rendered text stays under Group 4 (larger) and Retain and becomes symbols under JBIG2 (under half the size); behind ASCIIHex it is stored again alone, as Group 4 where the hex is spaced out; a taller page stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>