Mauro Boscarol  

Digital Color Management 

 

How PostScript renders color: Color Rendering Dictionary

PostScrip Level 1

CSA and CRD are not defined in PostScript Level 1. That means that the colors must be ready for printing before being printed (color is managed in the application, on-host).

Colors CMYK are printed as they are (by the numbers).

The conversion from RGB to CMYK is described in the PostScript Level 2 Reference Manual:

c = 1 - R

m = 1 - G

y = 1 - B

k = min (c, m, y)

C = min (1, max (0, c - UCR(k)))

M = min (1, max (0, m - UCR(k)))

Y = min (1, max (0, y - UCR(k)))

K = min (1, max (0, BG(k)))

Here R, G and B are the color coordinates normalized between 0 and 1 (that is the usual values between 0 and 255 divided by 255); c, m, y and k are intermediate values, k in particular is the part of black that can be removed from the other colors. C, M, Y and K are the final values, normalized between 0 and 1 (for having the values percentages these numbers are to be multiplied by 100).

UCR (Under Color Removal) and BG (Black Generation) are two rip procedures.

PostScript Level 2
From Level 2, CSA is defined (but not with 4 channels) and in the rip can reside various CRD.

When a three channels CSA reaches the rip, a CRD is selected that matches the print conditions (paper, inks, screen) and the conversion takes place. You can't download other CRD nor modify those residents.

Since a four channels CSA is not defined, it is necessary to convert CMYK in CSA Lab, send it to the rip to make the color conversion. There is however no way to control the conversion.

Last it is not possible to download a CRD that corresponds to printing conditions.

PostScript Level 3
From version 2016 of Level 2 (or shortly from Level 3) a table CSA with 3 and 4 channels (CIEBaseDEFG) has been introduced. It is also possible to have multiples CRDs, with different rendering intents, for the same printing process. In this case the detection mechanism enables a family of CRDs, and a color rendering procedures sets up which CRD to use. If the application writes a findcolorrendering command, then the CRD is enabled that matches this request.

If the application does not write a findcolorrendering command then the default CRD is used. This is the more common case, because common graphical applications don't support findcolorrendering command.

 

Home | Comments to Mauro Boscarol | Last updated April 4, 2001