Basic usage and general considerations for HqnImpose2 marks
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP
The basic way of drawing marks is to define PostScript-language procedures named PageUnderlay
, PageOverlay
, FilmUnderlay
and FilmOverlay
. Any procedure defined like this should leave the operand and dictionary stacks unchanged, and should not alter the graphics state. It is strongly recommended that a procedure of any complexity should start and end with save
and restore
.
Care should be taken with underlays, because applications differ in their initial treatment of a page: some will draw a complete ‘white’ rectangle before adding any user-defined objects on each page, but many will not. Some applications will draw solid ‘white’ backgrounds behind some text boxes but not behind others, depending on exactly what settings have been used in the application. One way to deal with this would be to define a PageUnderlay
which simply fills the page with white if you have defined a FilmUnderlay
.
Note:
Underlays may trigger a page to be printed for jobs that actually make no marks (for example, a font query) if “add showpage
…” has been selected in the GUI. Where there is no strong reason for using an underlay rather than an overlay, an overlay is recommended.
See the section on ‘standard’ settings above for descriptions of the FilmTop
, FilmBottom
, FilmLeft
and FilmRight
variables which may be used to define a clear area outside any pages for objects drawn by FilmUnderlay
or FilmOverlay
procedures.
In order to make it easier to add short text overlays a procedure called TextOverlay
is pre-defined. This takes two arguments: a font name and the text to be added to the film. The text is automatically scaled and drawn in outline diagonally across either the film or an individual page depending on whether it is called in a FilmOverlay
or PageOverlay
procedure.
For example:
<<
/Objective /OneUp
/FilmOverlay { /Helvetica-Bold (DRAFT) TextOverlay } bind
>> /HqnImpose2 /ProcSet findresource /HqnInitImpose get exec
Note:
If pages within the imposition layout are rotated at arbitrary angles (in other words, by something other than a multiple of 90°); and if the sheet is scaled by different amounts in X and Y (by setting Scaling in the page device or setting ScaleX
and/or ScaleY
in the call to HqnInitImpose
), then any marks that are intended to align with those rotated pages will not be distorted in the same way that the pages are.