6.3 Specifying Color Support

Most printers support one of two color methods: planar or pixel. Devices
which use the pixel method send all of the RGB data for a single pixel at
once, typically using at least two bytes per single pixel. The Universal
Printer Driver does not support color on printers which require
color-raster graphic data using the pixel method.

Printers which use the planar method send the color data for a single pixel
in several passes (planes). The value that results from combining the data
for one pixel in each plane determines the color that pixel will assume.
Devices that use the planar method typically use 3 or 4 color planes. A
three-plane model represents cyan data in one plane, yellow data in a
second plane, and magenta data in a third plane. By combining inks from
these three basic colors (Cyan, Yellow, and Magenta), the device is able to
render images of up to eight colors. A four-plane model is identical to the
three-plane model except for the addition of a fourth plane that represents
black data. (In the three-plane model, cyan, yellow, and magenta ink is
combined in equal parts to create black output.)

Until recently, most color printers used planar models to represent color
images; therefore, the current version of the DMCOLOR library and the
UniTool application support this model (rather than the pixel model). A
minidriver developer can provide a callback function to convert planar
color data into pixel color data; however, in some instances, the converted
data will not take advantage of a printer's color-output capabilities. For
example, DMCOLOR allows a maximum of eight colors (Cyan, Blue, Magenta,
Red, Yellow, Green, White, and Black). This means that DMCOLOR converts any
256-color pixel image into an 8-color planar image. If a printer is capable
of supporting 256 colors, it would not be able to display the original
image, even if it provided the callback function. Obviously, some printers
are better supported by the original Windows driver interface.

The DEVCOLOR dialog box contains controls which you use to specify the
color capabilities of printers that render color output. These controls
allow you to specify values such as the number of color planes supported by
printers that use a color-plane format, the number of bits per pixel
supported by printers that use a bit-per-pixel format, the device commands
which select colors, and so on. The following illustration shows the
DEVCOLOR dialog box.

bitmap:  gicolor

Because neither the Diconix nor the HP LaserJet IIP printers provide color
support, this section contains information for an additional printer--the
Hewlett-Packard PaintJet.