Reed,
a print looks often different to the monitor. Quite
normal – many monitor colors cannot be printed.
They are out-of gamut for the printing CMYK space.
The RGB image data are converted via the RGB profile
to Lab, which is large enough to represent real world
photos without loss.
From Lab the data are converted to CMYK via the CMYK
profile. Here is loss because of the smaller gamut.
The colors have to be mapped from the larger RGB gamut
into the smaller CMYK gamut. This can be done
a) automatically by Rendering Intent Relative Colorimetric: in-gamut colors are not changed. Out-of-gamut colors
are mapped to the gamut boundary; this process isn’t
accurately defined by standards.
b) automatically by Rendering Intent Perceptual:
all colors – even those which were in-gamut – are
shifted towards the gray axis. This process depends
very much on the scientist or programmer and is nowhere
defined by standards.
So far one doesn’t need human interaction, but the results are not always pleasing. The third and optimal method is
c) image based gamut compression. Reduce the saturation
and eventually rotate the hue in regions which are out-
of-gamut until Photoshop’s Proof Color Gamut Warning
doesn’t show larger out-of-gamut gamut areas.
Gamut compression algorithms and the color science behind are explained in this excellent book:
Jan Morovic (accents omitted)
Color Gamut Mapping
John Wiley & Sons, 2008
Image based gamut compression is demonstrated here by many examples (but it’s called ‘Editing in Lab’):
<
http://www.fho-emden.de/~hoffmann/labproof15092008.pdf> Attention: 3.4 MBytes.
IMO you’re seeking the impossible (if I’m understanding
you correctly).
Best regards –Gernot Hoffmann