These also assume no dot gain
and a perfect match of the color gamuts, independent of substrate.
Unfortunately, these assumptions
are not true for any real printing inks.
Prior to electronic methods, elaborate
manual methods of correcting for non-ideal inks were developed including
manual hand etching of films and film masking. Some of these were incorporated
into early scanners.
The actual conversion equations are
complicated and highly nonlinear. They are computationally intensive enough
that often a color look up table (CLUT) is employed rather than calculate
each value every time.
Photoshop handles all conversions
based on the best match the CIELAB values.
To convert from RGB to CMYK it first
converts to Lab and then from Lab to CMYK. (These transformations each
may use CLUTs, but for our purposes this can be thought of as a numerical
analysis problem.)
This is then based on a device independent
representation, but still depends on the assumed properties of the monitor
and inks. We’ll illustrate this again with the color picker.
PostScript Level 2 supports the use
of CLUTs as well as transfer functions (nonlinear corrections for the
output device).