ICCBased Rendering

Rendering and colour management

Version 3.282.0 applies embedded ICC profiles while rendering imported PDF vector colours, function and mesh shadings, Indexed palettes, raw bitmap, CCITT and JBIG2 image streams, CMYK JPEG images, and JPEG 2000 images

The renderer validates the ICC profile header and requires the profile channel count to match the ICCBased colour-space /N value

Valid one-channel, three-channel, and four-channel profiles are transformed to the built-in sRGB output profile through Windows Color System

The system transform is sampled once into a bounded lookup table and repeated uses of the same profile and rendering intent share that table across vector colours, patterns, shadings, and images

ICCBased /Range values and image /Decode arrays are applied before conversion, while colour-key masks continue to compare the original encoded samples

Both the content-stream ri operator and an ExtGState /RI entry select the active rendering intent, with the profile intent used as the fallback

Malformed, unsupported, or unavailable profiles fall back to the compatible /Alternate colour space or the device colour space implied by /N

Encrypted indirect ICC streams are decoded through the document crypt callbacks without leaving the shared object tree decrypted