The content hint constants let your application specify hints about what kind of data is being processed. A CMM can use these hints to better convert the data as your application requests. For instance, these hints may be used to adjust the gamut-mapping technique (the approach used to map the colors falling outside a device's capability to colors that the device can produce).
The "C" API defines the following constants:
KcsContImage describes photographic data, photorealistic data, or some 3-D rendering schemes. In this kind of data, fine gradations of luminance and relative color differences are important.
KcsContGraphics describes computer-generated color data, which is likely to have large flat regions of highly saturated colors. In graphics data, an attempt is made to maintain the brightness and distinctness of the colors.
KcsContColorimetric describes colors in terms of CIE specifications intended to be reproduced without modification. This is important when specific spot colors have been selected.
KcsContUnknown describes color data content that is not known by the application. The CMM provides a general default for this case.
ICC content hints are called rendering hints. Currently, the following rendering hints defined are:
icPerceptual = KcsContImage icRelativeColorimetric = KcsContColormetric icSaturation = KcsContGraphics icAbsoluteColorimetric = <no equivalent>
If your application has input color data that matches more than one of these content hints (for example, a complicated page layout), it can specify KcsContUnknown to produce adequate results. For best results, your application may have to divide color data into different parts (for example, separate graphics and images parts). After dividing, your application can process each part separately, applying the appropriate content hint to each part.
If your application specifies KcsContAll as an argument to KcsConnectProfiles(), the resultant profile has the full range of content hints available to it. If it does not, the resultant profile is restricted to the content hints supplied by the function.
CMMs can define additional custom content hints, for example:
To indicate what kind of output is being produced, such as a photograph or a computer-generated graphic.
To indicate that speed is more important than color image quality; therefore, compromised color is acceptable.