Skip to main content
Skip table of contents

CMM hints

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


As from Harlequin 12.1r2 the alternate CMM array may optionally include a fifth item; a dictionary containing additional configuration items or ‘hints’ to the CMM interface.

CODE
[ /CMM <name> <input-color-space> <output-color-space> <hints> ]

CMYKPassThrough

From Harlequin v12.1r2 the optional CMYKPassThrough hint is defined. This hint may be set to true if it is known that the selected transform will not change CMYK values if only CMYK color values are non-zero, i.e. if non-CMYK values are all zero. Setting this hint will allow the RIP to avoid some processing steps and therefore increase throughput. It should only be set to true if there is confidence that CMYK values are unchanged, although the RIP will perform some validation and turn the hint off if the validation fails. An example CMM color space that adjusts the device spots by applying a gamma, but leaving CMYK unchanged, could be configured as in this example:

CODE
<<
  ...
  /SeparationColorNames [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet)]
  /SeparationOrder [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet)]
  ...
>> setpagedevice

(MyAlternateCMM) setalternatecmm

/InputColorants  [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet)] def
/OutputColorants [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet)] def

<<
  ...
  /NextDevice <<
    /InputColorSpace [
      /CMM
      (SpotAdjust)
      [ /DeviceN InputColorants  /DeviceCMYK {pop pop pop pop} ]
      [ /DeviceN OutputColorants /DeviceCMYK {pop pop pop} ]
      <<
        /CMYKPassThrough true
      >>
    ]
  >>
  ...
>> setreproduction]

IndependentSpots

From Harlequin v13.0r0 the optional, IndependentSpots hint is defined. It is intended to be used to identify spot colorants that are transformed independently of all other process or spot colors in the custom color space. Each of the colorants identified may be transformed by the CMM, but only if they are unaffected by other colorants. If a second spot name in the job maps onto the same device colorant as an independent spot, then it, too, may be identified as an independent spot.

Marking spots as independent allows the RIP to avoid some steps in managing overprints in particular, increasing throughput. This will help most often with white and varnish overprints, where it is common to paint them on top of other artwork and set them to overprint in the PDF.

All independent spot names must also be present in SeparationColorNames; they may be omitted from SeparationOrder if they’re not device colorants.

The value of IndependentSpots should be an array of spot names, as strings or name objects such as in this example, which extends the example for CMYKPassThrough:

CODE
<<
  ...
  /SeparationColorNames [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet) (White) (Weiss)]
  /SeparationOrder [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet) (White)]
  ...
>> setpagedevice

(MyAlternateCMM) setalternatecmm

/InputColorants  [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet) (White) (Weiss)] def
/OutputColorants [(Cyan) (Magenta) (Yellow) (Black) (Orange) (Violet) (White)] def

<<
  ...
  /NextDevice <<
    /InputColorSpace [
      /CMM
      (SpotAdjust)
      [ /DeviceN InputColorants  /DeviceCMYK {pop pop pop pop} ]
      [ /DeviceN OutputColorants /DeviceCMYK {pop pop pop} ]
      <<
        /CMYKPassThrough true
        /IndependentSpots [/White (Weiss)]
      >>
    ]
  >>
  ...
>> setreproduction
JavaScript errors detected

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

If this problem persists, please contact our support.