Description

A printer driver has several components. The first component is the interface between the graphics engine and the printer driver. The function of this interface is for the operating system to describe a graphics object to be printed on the printer. Graphics objects consist of text, images, and vector drawings. It is the responsibility of the printer driver to translate the graphic object into the printer language of the printer. Printer languages can run the gamut from a series of raster bits to a high level language such as PS that also contains mechanisms for describing text, vectors, and images. The translation component is very integrated with the graphic interface today so it is generally thought of as one component. However, the interface component can be separated from the translation component. This can be achieved by defining a printer description file in an OS independent method. The last component in the print subsystem is the user interface component. It receives input from the end user (people) and the application. It works with the graphics interface to help the translation component produce the corresponding printer device language (PDL.) An example of interaction between the components is the user printing text from a word editor. The user wants to print the document from within the word editor and also wants it to be duplexed. The user selects the duplex option in the user interface component of the driver and selects print. The graphics engine sends the text to the graphics interface who then hands it to the translation component. The translation component receives input from the user interface (duplex this job) and the input from the graphics engine (print this document with these graphics objects) and produces the PDL required to print the text with the pages duplexed.

In order to support different operating systems with one printer driver, there must be a separation of the OS specific components and the printer feature components. The charter of this group is to define a printer driver that has these characteristics. The goal is to design or specify a protocol that will allow one printer language translator to be written for multiple operating systems. The OS independent language translator will not be required to live in the operating system space. It may be possible for the language translator module to reside in the printer or on a web page on the network.