(v13) Retry transforms with built-in CMM


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


The alternate CMM may be written to only handle certain kinds of ICC transforms. When a transform that it cannot handle is encountered, the RIP will usually process the transform using its built-in CMM. There are various ways this can happen:

  • a transform uses a profile that the alternate CMM has declared it cannot handle, for example; a DeviceLink, via the support_devicelink_profiles capability flag.

  • a transform requires a capability that the alternate CMM has declared it does not have, for example; BPC. via the support_black_point_compensation capability flag.

  • the alternate CMM rejects a profile by returning a failure from a call to open_profile.

  • the alternate CMM rejects a transform by returning a failure from a call to open_transform2.

An alternate CMM may be written to only handle certain device spaces, for example; CMYK. This can be implemented by returning a failure from open_profile if a non-CMYK profile is seen.

An alternate CMM may disable the allow_retry capability flag to prevent the RIP retrying the transform with the built-in CMM. The RIP will throw an error and abort the job if this were to happen.