B.5.4. The GNOME Printing Architecture
The free software community, and Unix in general, have long lacked a
standard printing architecture and high-quality imaging model. GNOME
provides a sophisticated printing engine intended to standardize the
way applications print.
GNOME-print (http://www.levien.com/gnome/print-arch.html ) is
the implementation of GNOME's printing architecture. It consists of a
pluggable rendering engine and a set of standard widgets and dialog
boxes for selecting and configuring printers. In addition,
GNOME-print is responsible for managing outline fonts and contains
scripts that automatically find fonts already installed on the system.
The GNOME-print imaging model is based upon the PostScript imaging model.
Basic operations include vector and bezier path construction, stroking,
filling, clipping, text printing (using Type1 fonts, with TrueType to follow
shortly), and image printing.
At the time of this writing, GNOME-print generates only PostScript
output. However, the design of the imaging model is closely linked to
the rendering engine for the Canvas, and it is expected that these two
modules will soon be interoperable. In particular, it will be possible
to print into a Canvas, which is useful for providing a high quality
print preview, and it will also be possible to print the contents of a
Canvas. This feature should simplify the design of applications that
use the Canvas, as very little extra code will be needed to support
printing.
The GNOME-print engine will also be used to render printed pages
directly without going through an intermediate PostScript step. This
is especially exciting because it will allow high quality, high
performance printing of complex pages to color inkjet printers.
Complex pages could include transparency, gradients, and other elements considered
tricky in the traditional PostScript imaging model.