(v13) %pagebuffer% device parameters
To view v13.x documentation, go to the top level of the legacy documentation.
This page applies to Harlequin v14.0r0 and later; and to Harlequin Core and Harlequin MultiRIP.
The device %pagebuffer%
is present in all versions of the RIP. It is the device to which the raster generated by the Harlequin RIP is written. It has a very large number of parameters, and parameters may vary from version to version and according to the final destination of the raster being generated. Many of the parameters are common to those in the PostScript-language page device (or variations of them) and calls to setpagedevice
set many parameters of the %pagebuffer%
device. It would be unusual to set parameters of %pagebuffer%
directly, but investigating them with currentdevparams
can return useful information that is difficult to determine any other way.
The parameters of %pagebuffer%
also mirror closely the pageHeader
structure passed to output plugins in the GUI version (documented in [HQPLUGIN]), and the parameters in the file header of pagebuffer files in the GUI and command-line versions. Core-RIP customers can find them documented in the Harlequin Core SDK Developer's Guide .
The following is a selection of parameters found in all versions at all times that are not easily available from currentpagedevice
, which is the preferred method of obtaining information about the raster. Refer to the manuals cited above for more information.
BandWidth (%pagebuffer% device)
integer
The number of bits making up one line of the output raster (independent of color format, padding, and so on). This is the amount by which you have to move in the raster data to go from some position on one scanline to the same position on the next.
BandHeight (%pagebuffer% device)
integer
The number of scanlines in each band of raster data (the amount of data transmitted to the %pagebuffer%
device at one go). Where there is only one band, this is the same as ImageHeight
(see below). Where there is more than one band, the last band may have fewer scanlines: if required, its height is computed as the remainder when ImageHeight
(see below) is divided by BandHeight
.
A new method for forcing the band height to a multiple of a particular number of lines is provided. Set the BandHeight
pagedevice parameter to a negative number, and the RIP performs all of the normal band calculations, then rounds the height down to a multiple of the absolute value of BandHeight
. For example, include the following in the setup to ensure that all bands are a multiple of four scan lines high:
<< /BandHeight -4 >> setpagedevice
This interacts with the anti-alias factor. If anti-aliasing is turned on as well as setting BandHeight
to a negative number, the band height chosen is a multiple of both ResamplingFactor
and the absolute value of BandHeight
. If the lowest common multiple of these would force a band height that is too large for the RIP memory, the RIP issues an error message.
ImageWidth (%pagebuffer% device)
integer
The width of the raster in pixels (excluding any padding), as calculated from the PageSize
, ImagingBBox
, rotation, scaling, and other parameters given to setpagedevice
.
ImageHeight (%pagebuffer% device)
integer
The height of the raster in scanlines calculated from the PageSize
, ImagingBBox
, rotation, scaling, and other parameters given to setpagedevice
.
InputAttributes (%pagebuffer% device)
integer
The index of the input media source selected from the InputAttributes
dictionary in the page device by the media matching algorithm (see [RB2], section 4.11).
OutputAttributes (%pagebuffer% device)
integer
The index of the output bin or option selected from the OutputAttributes
dictionary in the page device by the media matching algorithm.
PackingUnitBits (%pagebuffer% device)
integer
The output raster is treated as a bit stream, divided into regular native-endian words of PackingUnitBits
size. Color values are read left-right from this bit stream, taking as many bits as the output configuration requires. Within each word, bits are read high bit to low bit.
PackingUnitBits
is 32 or 64 for halftone output, depending on the RIP build. PackingUnitBits
is 32 for RLE output. PackingUnitBits
is eight for most contone formats, but 16 for band-interleaved, frame-interleaved, or monochrome output with ValuesPerComponent
65281 or 65536. PackingUnitBits
may be 16 for other contone formats if the pagedevice
requested it, and the RIP supports that format.
RLE is only available with the Harlequin Core.
PackingUnitBits
does not affect the raster width padding. Rasters are padded at the end of each line to bring the width of the line up to BandWidth
bits (this is a multiple of 32 on 32-bit platforms, 64 on 64-bit native builds).
See also PackingUnitRequest in the page device.