(v13) What is a device?
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
Device is an overused word. It is used in the PostScript language terminology to mean two different things and is also often used to refer to printers and typesetters (as in output devices). We have tried to avoid the last of these in this document, using printer in that context.
The two PostScript-language meanings need to be differentiated:
- The first is used to describe input and output mechanisms, and is what the Harlequin RIP uses as the model for the interface between the core RIP and the outside world. This is what is being referred to by operators such as
setdevparams
,devmount
, and by the%...%
prefixes and suffixes in PostScript-language file names. - The second is really a misnomer. It refers to varieties of raster inside the RIP and their properties. Examples arise in the operators
setpagedevice
,setcachedevice
, andnulldevice
. These have nothing to do with the filing system, except that in the Harlequin RIP the characteristics of these raster “devices” are consulted when preparing information for the special%pagebuffer%
i/o device. When we refer to the page device, we mean the place which is affected by painting operations and its properties, as controlled by thesetpagedevice
operator. This kind of device is discussed further in (v13) Configuring the page device.
This chapter refers to the first sense of the word device throughout.
When the Harlequin RIP is first started, only the RIP’s device types exist. Each of these defines a method of accessing data and is uniquely identified by a number. As the Harlequin RIP proceeds to boot, devices are instantiated by PostScript-language fragments and associated with particular device types. All devices share a common interface for accessing data, but the actual method depends on the internal implementation of each device type. One device type implements a normal disk filing system (though in principle this might actually be a minimal RAM disk in an embedded controller); depending on the version, others may implement a monitor window, serial lines, and so on.