Skip to main content
Skip table of contents

Alternate CMMs: ICC color management modules

This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP


Color conversions in a RIP environment means converting color spaces from the PDL to the color space of the output device. Frequently, the RIP will be configured to perform the color management part of this conversion with ICC profiles. The RIP’s built-in CMS includes a capable ICC CMM which is used by default. This section describes the replacement of the built-in ICC CMM with that of an alternate CMM. It is intended for those cases where the built-in CMM is insufficient, for example; proprietary ICC tags are required to be taken account of in the transform, or the alternate CMM performs a non-standard transformation such as pure color preservation.

ICC CMMs are managed via the Alternate CMM API, which describes how to write a C module to make an ICC CMM available to the RIP. Briefly, an alternate CMM module contains C code to handle ICC transforms that would normally be processed by the RIP’s built-in CMM. An ICC transform consists of either a source/destination profile pair, or a single DeviceLink profile. This section describes some of the high-level features of the API. For examples of CMM modules, see color management examples in the Core SDK. In particular, the LittleCMS CMM example replaces the built-in CMM with LittleCMS; whilst Pure color preservation with ICC transforms modifies some colors, with the remainder transformed by the built-in CMM.

When /NextDevice transforms are configured in the setreproduction operator, a color pipeline may contain several ICC transforms in sequence. Each of these transforms are provided to the alternate CMM in turn.

An Alternate CMM is installed using the setalternatecmm operator in a configuration file, for example:

(customers-icc-cmm) setalternatecmm

otherwise, an ICC configuration is exactly the same as for the built-in CMM. Examples of color pipelines using ICC transforms are used and described throughout this color section.

Note: The Alternate CMM API contains functionality for both ICC CMMs and CMM custom color spaces. If an Alternate CMM is only implementing an ICC CMM, the CMM custom color space specific parts of the API may be ignored except to set the declare_custom_colorspace and open_custom_colorspace entries to NULL. For an illustration of this, see the LittleCMS CMM example.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.