Skip to main content
Skip table of contents

(v13) HqnImpose2 and simple imposition compatibility

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

In most cases, code using direct calls to HqnImpose2 is incompatible with simple imposition. In some cases, however, code in an output plugin’s setup file, or in a page feature, may use parts of HqnImpose2 that can be made compatible (for example, by using a BeginPageExtra procedure to clean up dictionaries that need to be reset for every page).

To support this, a dictionary named LayoutPassThrough may be provided within the dictionary provided to HqnInitImpose. If simple imposition is later installed, all HqnImpose2 configurations are removed, but entries in the LayoutPassThrough dictionary are reinstated in the HqnInitImpose call used by simple imposition. Note that any entries in this dictionary that clash with entries set by simple imposition are ignored (with a warning in the system monitor/log file). Dictionary entries are merged to one level, and clashes at that level are reported in the same way. Developers must test their implementations carefully to determine whether the functionality they require can be made compatible with simple imposition.

Within the LayoutPassThrough dictionary, a procedure named ReplacementReport may be included. This must return a single string, which is used in the system monitor to warn that some configurations may have been overridden. If the procedure is missing, a default warning string is used. To suppress the warning completely, return a zero-length string.

Previous versions of the RIP supported an HqnImpose2 procedure called BeginPageExtra, allowing additional code to be tagged onto BeginPage. In order to allow suitable layering of calls using LayoutPassThrough, a dictionary form of this (named BeginPageExtras) has been added. This operates in the same way as StartRender and so on in the page device; keys used are arbitrary but must be unique. All procedure values in the dictionary are run. Procedures added here should not affect the page CTM or graphics state.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.