(v13) Sequence of actions for HqnImpose2
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
The call to HqnInitImpose
installs new SensePageDevice
, BeginPage
and EndPage
routines in the page device.
The current page setup as defined in the RIP’s Page Setup dialog (or via a PostScript-language configuration file, for instance) is then re-processed to ensure that the SensePageDevice
procedure is called. Any subsequent calls by a PostScript-language job to setpagedevice
(or those routines such as setpageparams
which call setpagedevice
internally) may also pass through the newly installed SensePageDevice
.
The SensePageDevice
procedure makes calls out to a number of subsidiary routines; the values passed to HqnInitImpose
allow control over several of these:
- If
/Prefix
has been defined (see (v13) HqnImpose2 prefixes) then the requested routine is called. This is intended to allow pre-processing which may adjust the page size to be used while designing the imposition layout, or to adjust gutter widths between pages and so on. - The defined
/Objective
procedure is called. Objectives design the overall plan of the imposition layout. Almost all of those supplied as standard create regular grids and the objective also sets the number of rows and columns within the grid, and the size of the complete film. The action of an individual objective may be modified by defining the/Aspect
procedure within it, and in many cases by selecting a strategy. See below for details of these terms. - The detailed plan of the layout is then calculated by the requested
/Tactic
procedure. Many objectives define a tactic if it has not been explicitly passed toHqnInitImpose
and the default selected often produces the most useful output. The tactic assigns an exact location and rotation to every page within the film. - If a
/Suffix
procedure has been defined (see (v13) HqnImpose2 suffixes), it is then called. This might be to effect the second half of a feature initiated by a/Prefix
routine.
Once the imposition design has been made up in this way the newly installed /BeginPage
and /EndPage
routines position pages from the job within the design and draw any crop marks, etc. Any further calls to setpagedevice
to change page sizes, and so on, are intercepted, and may trigger the use of a response procedure.
Some care should be taken in selecting an appropriate combination of procedures. Several of the supplied objectives only run correctly if a specific tactic is also used, and some also rely on a specific response in order to produce their desired effect. The default tactics and responses selected by the combination of anything set by the objective with underlying defaults in the procset usually are the best; you should rarely set a tactic or response explicitly when using the supplied objectives. In general it is safe to switch between the /TopDown
, /LeftToRight
, and /RightToLeft
tactics, but other cases should be treated with caution.