(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.