[gs-devel] PDF rasterization for driverless printing: Color Management

Jonas Smedegaard jonas at jones.dk
Wed May 19 08:02:10 UTC 2021

Quoting Till Kamppeter (2021-05-19 09:35:06)
> [ Michael Vrhel, please "Reply to All", so that the answer also goes
>    onto the list, thanks ]
> Michael, thank you very much.
> Now I have the following question:
> Generally, I have these possibilities to send output to the printer 
> (printer is driverless IPP):
> 1. SGRay:      -sOutputICCProfile="sgray.icm"  (is this name correct?)
> 2. SRGB:       -sOutputICCProfile="srgb.icm"
> 3. AdobeRGB:   -sOutputICCProfile="a98.icm"
> 4. DeviceGray: -sOutputICCProfile="my_gray_profile.icm"
> 5. DeviceRGB:  -sOutputICCProfile="my_rgb_profile.icm"
> 6. DeviceCMYK: -sOutputICCProfile="my_cmyk_profile.icm"
> The printer usually does not support all profiles (mono printers 
> generally only 1 and 4, some color printers support AdobeRGB others 
> not, some printers support your own profile, some not, ...), therefore 
> I cannot simply, blindly apply the input file's output intent 
> (-dUsePDFX3Profile) as the printer will perhaps not support it, am I 
> right?

Sounds wrong: color intent is about user intent, not device support.

(this is a color management principle, not specific to Ghostscript)

> What I want to do is to use the PDF files output intent if the printer 
> supports it (the response to a get-printer-attributes IPP request to 
> the printer tells which color spaces are supported), meaning if it is 
> AdobeRGB only print in AdobeRGB if the printer supports it, otherwise 
> fall back to sRGB.

It sounds wrong to set an output intent simply based on support by the 
targeted printer.

As I understand it, output intent means "whatever the currently targeted 
device is capable of, this (potentially different) color space is the 
truly intended one".  I.e. setting output intent is not normally wanted 
at all.

With the above in mind, try read this again:

> > If you use both -sOutputICCProfile="ICC_profile.icm" and 
> > -dUsePDFX3Profile and there is an output intent included in the PDF 
> > file, the output intent is an intermediate mapping (i.e. proofing 
> > profile) that will be used.
> > 
> > Unless you really want that, it would be my recommendation that you 
> > just use
> > 
> > -sOutputICCProfile="ICC_profile.icm" and not -dUsePDFX3Profile

...and notice the "you really want that" part.  You _really_ want CUPS 
to do proofing by default for devices that supports it?

 - Jonas

 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: signature
URL: <http://ghostscript.com/pipermail/gs-devel/attachments/20210519/915eb9b2/attachment.sig>

More information about the gs-devel mailing list