Skip to main content
Skip table of contents

(v13) Raster sizes: arbitrary sizes


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

This group of operators was primarily introduced to support imagesetters, especially capstan-type recorders where there is no direct relationship between the page size described by a job and the media on which it is to be rendered. All of these operators are in statusdict.

The setpageparams procedure (formerly an operator) combines the functionality of the PageSize, Orientation and Margins keys of the setpagedevice operator. It is widely used to set an arbitrary raster size for use on printers where only part of the area need be rendered, for example a continuous feed film recorder (this is nearly always the case in the RIP; only where the system is configured to write directly into the frame buffer video memory of a printer is an exact raster size a necessity).

setpage, an older variant of setpageparams which does not have a margin operand, works in the same way. pageparams returns the values set by setpageparams; it does this by using currentpagedevice.

setpagemargin, setmargins and setpagetype allow the margins and orientation to be set independently of each other or the page size. There are equivalent query operators, pagemargin, margins and pagetype.

Where media differs from the size of the raster it can be useful to determine this, using the mediawidth, mediaheight or mediasize procedures.

width height margin orientation setpageparams-

The setpageparams procedure in statusdict sets the imageable area of the page to width by height points (strictly speaking, default user coordinate units of 1/72 inch), the top and left margins to the value margin , also in points, and the orientation of the page to landscape if the orientation operand is 0 and portrait if it is 1.

Adobe’s definition of setpageparams takes the default settings for raster sizes (if setpageparams is not used) from permanent memory; however, this behavior is inappropriate for the RIP where the page size is set elsewhere: for example in the GUI version it is always set in the page setup dialog which causes an explicit call to setpagedevice before each job. See (v13) The RIP in action for more details.

pageparams width height margin orientation

The pageparams procedure in statusdict returns on the operand stack the current width, height, margin and orientation of the raster. However, because setpagedevice is more general than setpageparams, if the top and left margins are different, only the left margin is returned. width and height are returned from the PageSize key in the current page device, not from the input attribute actually selected (that is, they give the raster size, not the size of the output media).

width height orientation setpage -

The setpage procedure in statusdict sets the imageable area of the page to width by height points, and the orientation of the page to landscape if the orientation operand is 0 and portrait if it is 1. Margins remain as they were. Note that there is no analogous page procedure to return the values set by setpage.

margin setpagemargin -

The setpagemargin procedure in statusdict sets both the left and top margins to margin points by using the /Margin key in a call to setpagedevice. Note that this is not quite the same as the original definition, where application of the operand was deferred until a subsequent setpage operation.

However, the effect should be the same in practice.

pagemargin margin

The pagemargin procedure in statusdict returns on the operand stack the value of the left margin from the current page device. If it was set b setpagemargin or setpageparams, this will be the same as the top margin.

leftmargin topmargin setmargins -

The setmargins procedure in statusdict sets the left and top margins to leftmargin and topmargin

points respectively using the /Margins key in a call to setpagedevice.

margins leftmargin topmargin

The margins procedure in statusdict returns on the operand stack the values of the left and top margins from the array value of the /Margins key in the current page device.

orientation setpagetype -

The setpagetype procedure in statusdict sets the orientation of the page using the /Orientation key in a call to setpagedevice. If orientation is 0 (zero) the page is landscape, and if 1 it is portrait.

TEXT
          mediawidth width
          mediaheight height
          mediasize width height

These three procedures, all in statusdict, return on the operand stack the width, height, and both, respectively, of the media on which the raster is to be rendered. This is typically a combination of the PageSize in the dictionary of the input attribute selected by the media matching process, and the PageSize key in the page device dictionary if the input attribute has zeros indicating unlimited dimensions. In the GUI version, the media size will depend on the type of the device (capstan, full drum, part drum or sheet) and other properties set in the deviceType field in the device configuration set by the plugin.

JavaScript errors detected

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

If this problem persists, please contact our support.