Created Date: 16 Mar, 2022 15:05
Last Modifed Date: 06 Jun, 2022 14:10

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

The value of Intercepts is an array of dictionaries/objects, each of which identifies a construct within the submitted job file that is intercepted and exported to the OutputFile identified in the same item in the same item in Outputs.

Each Intercepts object may contain the following properties:

ExportAllPages

(Boolean, Optional) By default data is only exported for pages from the job that include contours that should be exported (for example, because they are drawn in a spot color matching a SpotName intercept). If ExportAllPages is set to true , then the information normally emitted at the start of each page is delivered even for pages on which there were no contours to be exported. Default = false .

Mode

(Enumeration of names, Required) The value must be one of:

/SpotName Matches a spot separation with a name exactly the same as the key for this dictionary.

/SpotPrefix Matches a spot separation with a name that starts with the value of the key for this dictionary.

/RGB Matches a DeviceRGB color where the RGB values match those specified in the RGBVals key.

/AllStrokes All strokes in the job are intercepted and exported, regardless of the color used.

/ProcStep Matches when the current optional content group's GTS metadata group and type match the values of /ProcStepsGroup and /ProcStepsType .

Names

(Array of names or strings, required if Mode is SpotName or SpotPrefix ) Contours painted in a spot color matching one of the names in this array are intercepted and exported.

All use of the specified color(s) is removed from the output, including from images as well as text.

If an exact match is not found between a spot color name specified in the job and an item in the Names array, then further attempts to match the job spot separation name are made by interpreting it as UTF-8 and as each of the encodings provided by the HqnLocal / GetJobEncodings procedure. This allows, for example, a PDFDoc -encoded spot separation name from the job to be matched against its UTF-8-encoded equivalent supplied as an item in the Names array. The values in the Names array must be encoded as UTF-8 for this extended matching functionality to be useful. By default, GetJobEncodings includes /ibm-5348_P100-1997 (WinAnsi), /macos-0_2-10.2 (MacRoman), /ISO-8859-1 (ISOLatin1), /PDFDoc and /ibm-943_P15A-2003 (Shift-JIS). If you need to amend or extend the list, use the SetJobEncodings call in the HqnLocal procset:

[ /ibm-5348_P100-1997 /macos-0_2-10.2 /ISO-8859-1 ] /HqnLocal /ProcSet findresource /SetJobEncodings get exe c

RGBVals

(Array of three numbers, Required if Mode = /RGB ) Contours defined in DeviceRGB with color values within RGBTolerance of the elements within this array are exported if Mode = /RGB . Each number should be in the range of 0 to 1.

In some cases, the RGBVals may also be used when encoding the color of contours into the output file (see ColorAction).

RGBTolerance

(Number) The tolerance used for matching DeviceRGB color values from a job with RGBVals when Mode = /RGB . The default of 0.001 ensures that any reasonable attempt by creation software to represent a 1/255 integer color value as a decimal number is matched. If necessary, RGBTolerance may be overridden in the contour export configuration; as an example, increasing it to something like 0.002 would mean that a value of 0.5 in RGBVals would match either 127/255 or 128/255 from the input job.

MatchCase

(Boolean, Optional) From Harlequin v12.1r1: If /Mode is /SpotName or /SpotPrefix determines if the match is case-sensitive (/MatchCase = true) or case-insensitive (/MatchCase = false) . Default = true .

ProcStepsGroup

(name or string, Required if Mode = /ProcStep ) From Harlequin v12.1r1: If Mode is /ProcStep , the value is the name of the processing step group to match, or /GGS_ProcStepsAny to match any group value.

ProcStepsType

(name or string, Optional) From Harlequin v12.1r1: If Mode is /ProcStep , the value is the name of the processing step type to match, or /GGS_ProcStepsAny to match any type value. Ignored when ProcStepsGroup is /GGS_ProcStepsAny . Default = /GGS_ProcStepsAny .

ID

(name or string, Optional) An identifier for this intercept. Provides the value for /Contour in the array form of OutputFile and supplied to an output module as CurrentContour .

Default is the first item in a Names array, or constructed from RGBVals or ProcStepsGroup and ProcStepsType .

PreCheck

(Boolean, procedure (PostScript) or procedure string (JSON) that returns a Boolean, Optional) If PreCheck returns true when a specific contour is encountered in the PDL, that contour is exported; if false , it is rendered as a normal graphic.

Default = { true }

FillAction

(Enumeration of names or strings, Optional) Strokes are always regarded as contours. This value defines how the outline of fills are acted on. The value must be one of:

/Ignore Fills are not exported, but they they are rendered.

/Outline The outline of fills is exported in the same way that a stroke would be (see also FillWidth ).

/Fill The outline is filled in the exported file. Note that some export formats do not support filling, in which case /Fill is treated as identical to /Outline .

/Error A fill using any of the colors or color spaces triggers an error. Default = /Ignore

Up to Harlequin v12.1r1, the FillAction key was ignored for Intercepts where Mode was set to /AllStrokes ; as from Harlequin v12.1r2, FillAction is acted on for all values of Mode.

Inheriting HqnContour option values

Most properties listed above must be provided in either an Outputs dictionary/object or an Intercepts dictionary/object, as specified. The FillAction , MatchCase , and RGBTolerance properties may, however, be specified in either. If specified in an Intercepts dictionary and also in the parent Outputs dictionary, the value in Intercepts is used.

HqnContour procedure strings

There are a small number of places where it is reasonable to encode an executable PostScript procedure in a JSON configuration. In these cases, it must be written as a string in which the first character is “{“ and the last is “}”, for example:

“PreCheck”: “{ userdict /DoContourExports get }”

Only very short procedures should be included in-line like this, not least because newlines are not legal within JSON strings.