statusdict printer procedures
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
The statusdict
procedures setprintername
, printername
, sendprinterstate
, printerstatus
, and printermessage
were intended to keep AppleTalk connections informed about the state of the interpretation. In current RIPs, they set parameters on the %config%
device (which can ignore the parameters if it chooses, in custom implementations, but could pass them onto some other communication medium)—see %config% device parameters . Except for sendprinterstate
(which is used productively), the procedures are present only for compatibility reasons.
sendprinterstate -
The sendprinterstate
procedure is stored in statusdict and
passes the current values of the two entries jobstate
and jobname
in statusdict to the %config%
device—see %config% device parameters.
jobname
is typically explicitly set up by the incoming job. jobstate
is set at key times by the Harlequin RIP to strings such as “idle”, “busy” and “printing”.
type name
setprintername -
The setprintername
procedure is stored in in statusdict and
was originally intended to publish a printer under the name name, a string, and with type type, also a string, on the AppleTalk network. That is, in the Macintosh chooser, name would appear in the printer list when the icon for type (typically “LaserWriter”) is selected.
The Harlequin RIP implements this as a procedure which passes type and name to the %config%
device as the device parameters appletalktype
and printername
(see %config% device parameters). These parameters are ignored in HMR, but custom implementations can still choose to use them for their originally intended purpose.
- printername name
The printername
procedure in statusdict
returns on the operand stack the name of the printer as passed to setprintername
. The same name is always returned—whether or not it was used, and even if the config device chose to ignore it completely. However, the name is initialized at the start of the job, so providing the job has not attempted to change the printer name with setprintername
, name is correct for the job in progress.
- printermessage string
The statusdict
procedure printermessage
is provided for compatibility with the Apple Laser-writer. It returns a string on the operand stack which is the string returned by asking the %pagebuffer%
device with currentdevparams
for a parameter called PrinterMessage
(defaulting to an empty string if the parameter is not present). This means that custom implementations can provide a method for communicating printer problems to the PostScript-language world, which is compatible with the LaserWriter.