Install procedures
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
Install
is a standard PostScript Level 2 page device hook (see [RB3], section 6.2.6). Install
is executed after all the media matching and raster setup has been completed, but before the first call of BeginPage
and before the graphics state has been reinitialized with initgraphics
and the raster cleared with erasepage
. Therefore, Install
should not attempt to do any painting.
When writing Install
procedures it is important to remember that setpagedevice
and therefore Install
is likely to be called several times. Page Setup or other configuration files call it more than once, and a job may often call it at least once, possibly more (although some jobs never call setpagedevice
themselves; for example, raw EPSF). Therefore, implementations cannot rely on a counter initialized outside the Install
procedure, for example. However, all versions of the RIP make at least one call while starting up, so the Install
procedure is always called at least once for each job, whether or not the job itself calls setpagedevice
.
A use of Install
which should be mentioned is setting a default halftone. Because setpagedevice
installs a screen suitable for the new colorant set, any previous screen is overridden. That means that a page feature or configuration file that tries to set up a screen (with setscreen
or sethalftone
), expecting it to be the default, may well work for some jobs when tested; however, it then may not work when a job is executed that calls setpagedevice
itself. (Most PDF jobs will need to do that to configure settings given in Page objects.)
To set a default halftone, always execute the sethalftone
in the Install
procedure, not directly.
Another option is to use Default screen page device keys.
If you want to not just set a default screen, but to override any screen defined in the job, you can simply use Override screening system parameters. Those are sticky, so don't need to be set in an Install
procedure.