(v13) HqnLayout block creation procedures
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
Several support procedures are provided to assist in construction or variation of blocks:
BlockName Variations adaptstandard
BlockDict
This procedure loads a pre-defined block, identified by its name (BlockName
), takes a shallow copy of it, and overrides its current values with the contents of the variations dictionary; for example:
/PaperSet [ { /Paper << /BottomLabel /None >> adaptstandard } ]
You must call adaptstandard
from within a procedure value to ensure that the referenced block can be found by name.
SelectorName BuildCMYKWedge
BlockDict SelectorName BuildSpotWedge
BlockDict SelectorName BuildRenderedWedge
BlockDict SelectorName BuildMonoWedge
BlockDict
These four procedures dynamically construct blocks from primitives called Selectors (found in the Selectors
dictionary), each of which defines the patches to be displayed for one separation:
BuildCMYKWedge
replicates these patches four times, once for each of Cyan, Magenta, Yellow, and Black.BuildSpotWedge
replicates them as many times as there are spot colors defined in the job content.BuildRenderedWedge
replicates them for every colorant being rendered (either as separations, or planes in frame-interleaved output).BuildMonoWedge
shows them just once.
For example:
/AllSep8 { /Patch8 BuildRenderedWedge }
The support procedure must be called from within a procedure value. It is therefore executed in the context of a single job, when the separations to be rendered are known, rather than as the RIP boots with a default separation setup.
The value of a Selector
is a dictionary. Keys within a Selector
dictionary are integers matching the number of rows in a block for which they are defined; Selectors
should not be used in constructing blocks if Rows
does not match a value in the Selector
dictionary. In addition to the integer-keyed dictionaries, a Selector
may contain other key/value pairs for which the same value is to be used for all patches after expansion. Structs
should not be used as the values of these keys.
The sub-dictionaries within a Selector
each contain a number of keys that relate directly to keys in Block
objects. When one of the procedures above is called, the Selector
value is copied as many times as required in order to construct a block. The mapping from Selector
keys to Block
keys is as follows:
Selector key | Block key |
|
|
|
|
|
|
|
|
|
|
Selector and Block key mappings
The Selector
may also contain a key named AmendSeparations
, the value of which is a procedure. The only documented procedures are:
{ ProcessLast }
which places spot colors before process colors (the default is to place spot colors last)
{ RemoveK ProcessLast }
which does not include the black separation in the list of separations to be included, and places spot colors before process colors.