mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-26 11:08:48 -06:00
The special colourant name All refers to every colourant of the output device at once, and on an additive device its subtractive tint is complemented before it is applied (ISO 32000-2 §8.6.6.4). The vendored colour code treated All as an ordinary spot colourant and drew it through its tint transform, so a /DeviceCMYK transform giving cyan drew 0.5 scn as light cyan instead of a 50% gray. Vendored hayro-interpret patch 66: Separation::convert_f32 writes the gray 1 − t for each tint of an All space without evaluating the tint transform. Fills, strokes, images and shadings in that space all convert through it, and so does the RGB print raster. /None still paints nothing, other names still use their alternate, and a DeviceN space naming All keeps its alternate (the clause defines the name for Separation spaces). Tests: crates/render/tests/it/separation_all.rs (synthetic). Claude-Session: https://claude.ai/code/session_0175FWj4xFhMhSH3UpMU8DSC Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>