Raster sizes: sheet sizes
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
There is a large group of procedures (formerly operators) in userdict
(not statusdict
) which have the effect of requesting a specific paper size by its common name, for example letter
. Paper sizes beginning with upper case letters imply landscape orientation; those with lower case imply portrait. These all work by calling setpagedevice
with PageSize
and Orientation
keys with appropriate values through a common procedure called genericpaper
, described below.
The following table lists the various procedures and the corresponding paper sizes:
procedure (paper name) | width (points) | height (points) | landscape equivalent | notes |
letter | 612 | 792 | Letter | 8.5 by 11 inches |
note | 612 | 792 | same as letter | |
legal | 612 | 1008 | Legal | |
11x17 | 792 | 1224 | 17x11 | same as tabloid and ledger |
ledger | 792 | 1224 | Ledger | |
a2 | 1190.55 | 1683.78 | A2 | |
a3 | 841.89 | 1190.55 | A3 | |
a4 | 595.28 | 841.89 | A4 | 210 by 297 mm |
a5 | 419.53 | 595.28 | A5 | |
b5 | 498.90 | 708.66 | B5 | |
broadsheet | 1296 | 1728 | Broadsheet | |
tabloid | 792 | 1224 | Tabloid | |
12x24 | 864 | 1728 | ||
15x24 | 1080 | 1728 | ||
lettersmall | 612 | 792 | Lettersmall | same as letter |
a4small | 595.28 | 841.89 | A4small | same as a4 |
If additional paper sizes are required, they can be implemented using the same mechanism as those built in, using the procedure genericpaper
in statusdict
, and installed in the file Sys/HqnOEM
or some other appropriate place:
pagesize orientation policyreport
genericpaper -
The genericpaper
procedure in statusdict,
specific to the RIP, calls setpagedevice
with a dictionary which looks like this:
<<
/PageSize pagesize
/Orientation orientation 1 exch sub
/PolicyReport << /PageSize policyreport >>
>>
The Orientation parameter is 0
for landscape and 1
for portrait (hence the 1 exch sub
). pagesize is an array giving the width and height of the paper as in the table above, and policyreport is null
for the procedures listed in this section (which causes the PolicyReport
key to be omitted from the dictionary operand to setpagedevice
; policyreport can be used in the paper tray procedures listed in Raster sizes: paper trays below; PolicyReport
is described in PolicyReport procedures and [RB2] section 4.11).
For example, a4
is implemented roughly like this:
userdict /a4 {
[ 595.28 841.89 ] 1 null //statusdict /genericpaper get exec
} put