Customizing HqnImpose2
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
If you wish to add new objectives, tactics, and so on, or to change default values from the procset in such a way that the changes are available to all your calls to HqnInitImpose
, you do not need to edit the procset file itself; this would require that you re-edit it with any subsequent revision. You can add items to a file called SW/Usr/CustomImpose2
. When this file is run, it must leave a single dictionary on the stack, which is then merged with the values defined in the procset. The merging is hierarchical: if a sub-dictionary is defined within it, the contents of that dictionary are merged with the standard pre-existing dictionary.
Take care in defining all values correctly in global or local VM. The values of the following keys must all be in global VM if they are complex (simple values – numbers and Booleans – are always global). Many of these would normally be supplied as numbers or Booleans, but could also be supplied as procedures that automatically calculates a number when called.
Objective, Strategy, StrategyList
Tactic, TacticList
Aspect
Prefix, Suffix
MaxHeight, MaxWidth, MinHeight, MinWidth
LimitPageCount
IgnoreJobPageSize
PageWidth, PageHeight
OffsetX, OffsetY
PanelWidth, PanelHeight, PanelOffsetX, PanelOffsetY
ScaleX, ScaleY
ScaleMode, ScaleAspect
ScaleWidth, ScaleHeight, PageScaleX, PageScaleY
ScaleSnap
RotatedAngle, ExtraFlip
PageList, PageOrder
Response, AlwaysRespond
PageSizeMatch
ControlStrategy, ControlDepth
OversizeStrategy, OversizeCallback
ClipOffset
HorCenter, VertCenter
ClipPPath, SrcClipPath
DrumCircumference
OptimalGutter, MinGutter, MinCropGutter
OptHGutter, MinHGutter, MinHCropGutter
OptVGutter, MinVGutter, MinVCropGutter
FilmLeft, FilmRight, FilmTop, FilmBottom
Marks, OEMTextX, OEMTextY, OEMTextZ
TextFont, TextSize
CropMarks
CropSpace, CropClearance, Bleed, CropRule
LabelSize, LabelFont
ProgressiveSize, ProgressiveFont
ShowCropMarks, ShowRegisterMarks, ShowProgressives
ShowSepNames, ShowWedges, ShowJobName
HalftonePhase
Duplex, Tumble, RedBookTumble
TextEncodings, TextFonts
ParseBoundingBox
If you are adding your own new global variables for use in your own procedures, you should define them within a sub-dictionary in the top-level dictionary in CustomImpose2
called GLOBAL
and defined in global VM. They are then stored in HqnImpose2GlobalDict
. The same technique should be used when providing such custom variables through a call to HqnInitImpose
.
If you expect the procset to be used for a large proportion of work on a particular RIP, you may wish to load the procset during RIP boot-up rather than at the start of every job. Code such as this could be added into SW/Sys/HqnOEM
, or as a file by itself in SW/Sys/ExtraStart
:
/HqnImpose2 /ProcSet findresource pop