Skip to main content
Skip table of contents

(v13) SeparationDetails keys affecting colorant families

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

The keys in the pagedevice SeparationDetails sub-dictionary that control matching of color channels to output formats are:



ColorantFamilies is primarily a container for a set of Colorants arrays. However, it is organized in a hierarchy for historical reasons. The entries of this array are for individual colorant families. Although there is no semantic meaning to a colorant family, it is conventional to collect together the Colorants arrays according to their color model, but other organizations are possible. The keys in a colorant family dictionary are:


name|string. This is the name of the colorant family (for example, /DeviceGray, /DeviceCMYK, or (Hex)). The name has no semantic meaning.


array. This array contains a set of DeviceTypes dictionaries, each containing the entries listed in Entries in a DeviceTypes dictionary (below).

Entries in a DeviceTypes dictionary

A DeviceTypes dictionary is a container for a set of Colorants arrays, each associated with a Plugin and DeviceType. The entries in the dictionary are:


string. A name used in conjunction with DeviceType to identify the printing device this entry is compatible with.


string. A name used in conjunction with Plugin to identify the printing device this entry is compatible with.


string. This is only used if the ProcessColorModel is DeviceN, otherwise ignored except for syntax. And for DeviceN, it is ignored if color management is configured such that the standard process colors are converted to process colorants from the Colorants array.

If used, the string is executed to define an array of three procedures for converting Gray, RGB, or CMYK colors to the process (only) colorants of the Colorants array, and in the same order. The string may either define the conversions directly, or may load and run a file to define them. The execution of the string is expected to leave an array containing three executable procedures on the stack. The RIP executes these procedures at unpredictable times.


array. This defines a set of colorants that the device supports, and their properties. The entries in the array are dictionaries, each containing the entries listed in Entries in a Colorants array (below). The process colorants (ColorantType 1 and 2) must appear before any other entries. If CustomConversions are used, the order of the process colorants must be consistent with them. Otherwise the order of the colorants has no meaning.

Entries in a Colorants array

Each entry in the Colorants array is a dictionary containing the following keys which describe the properties of each color channel:


array. The array contains one or more strings, defining the name and any aliases for the colorants that may be mapped onto this color channel. Output colorants are compared with these names. A colorant is mapped to a color channel if it matches the name or one of the aliases.

Aliases may be equivalently added later using the addcolorantalias operator (see Extensions manual, "Operators controlling separations, colorants, and color channels").


integer. This integer indicates the type of the channel colorant. The channel colorant type is used to distinguish between process and spot colors for separation omission, and to determine the black channel colorant for calibration, photoink handling, and separation omission.

The values this integer can take are:

1          Process colorant

2          Process Black

3          Spot colorant

4          Reserved for dynamic spot colorants (see the Extensions manual, "Dynamic control of separation production".)

5          Reserved for future use.

6          Object type, potentially modified by ObjectTypeMap (see the Extensions manual, "The object map").


integer. This integer defines how this colorant interacts with overprints and knockouts. This can be used to ensure that varnishes and special inks (for example, white, metallic) interact correctly. This integer is interpreted as a combination of the values:

1          This channel is not knocked out. If a device color is used that does not include this channel's colorants, it does not knock out this channel. (If a device color is used which does include this channel's colorants, it is painted appropriately.)

2          This channel's colorants do not knock out other channels. If a device color is painted where all of the colorants' channels have this bit set, no other channels are knocked out. If any colorant's channel in a device color does not have this bit set, all channels that do not have bit 0 (value 1) set are knocked out.

If this key is not present, a knockout type of 0 is assumed, causing the colorant to knockout other colorants (where permitted) and to be knocked out by other colorants. This key may be present from Harlequin RIP version 11.x onwards.


integer. This integer defines whether the colorant can be omitted by the output device. The values it can take are:

1          This channel can be omitted. The Presence value is combined with the value in the ColorantRender dictionary to determine whether the channel is always omitted (if ColorantRender value is 0), or omitted if all colorants mapped to the channel are blank (if the ColorantRender value is 1, and separation omission is enabled), or not omitted (if the ColorantRender value is 1, and separation omission is not enabled).

2          This channel cannot be omitted, unless all channels are omitted. If separation omission is enabled, the channel is tested to determine if it has any marked content; if all channels can be omitted then the entire page is omitted.

3          This channel cannot be omitted, unless all other channels are omitted. The difference between this and the previous value is that in this case the content of the channel is never tested for marks. The decision to omit the channel is based entirely on the state of the other channels. This value is useful to control omission of object type channels (ColorantType 6 above) and other technical separations. Object type channels cannot usefully be tested for omission themselves. Using this Presence value allows an object type channel to be omitted if all of the colorant channels were blank, but to be present if any colorant channel was rendered. This value was introduced in Harlequin RIP version 12.

4          You can omit this channel unless all other channels are omittable. This value is useful for devices that require a raster for some colorant for each page, even if the page is blank. For example, using Presence value 1 for Cyan, Magenta, and Yellow, and Presence value 4 for Black forces rendering of a Black separation if there is no content on a page, but can omit Black if there is only Cyan, Yellow, and/or Magenta content on the page. This value was introduced in Harlequin RIP version 12.

5          This channel can never be omitted, even if all channels have no marks and separation omission is enabled. This value was introduced in Harlequin RIP version 12.


array. An array of three numbers, defining an sRGB equivalent for the channel. The sRGB equivalent is used for colorant output for previewing. It is also passed to the output raster device.

JavaScript errors detected

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

If this problem persists, please contact our support.