| Previous | Table of Contents | Next |
Printers deposit colorant (ink or dye) onto media (paper or transparency) surfaces. They usually connect to desktop systems via a standard Centronics parallel port, serial port, SCSI host adapter, or network adapter. Many printers accept numerous data bytes and store them in internal buffers before producing output. The output a printer produces from given data depends on the mode the printer is in, as described below. It follows that printer programming involves both determining what to send to a printer and the process required to send the necessary data.
Printers use subtractive color while color monitors use additive color. So, without color correction intervention, what printers produce is rarely what monitors display. What action must be taken depends on the printer, the media, and its colorants. For color output, printers apply multiple colorants, each in their own color plane. The human eyes spatial integration and pattern recognition processes produce colored object sensations from the individual color planes.
Inexpensive printers produce bilevel output in each color plane while high cost printers provide multiple intensities in each color plane. Because each printed page has an associated cost depending on colorant and media costs, many printers provide various output qualities ranging from trial draft modes to final finished modes that use less or more colorant respectively. Almost all printers require colorant to impact the media (thermal printers that burn dark spots on special thermal paper such as used in many fax machines being an exception).
Impact printers use a mechanical brute force to hammer objects against a ribbon to transfer colorant to media. Typewriter hammers produce fully formed characters because they have fully formed embossed characters on their faces. Dot matrix printers use multiple wires to create dot patterns the human visual system recognizes as characters. Non-impact printers do not require the abrupt mechanical forces impact printers require. Since only ink or colorant strikes paper, non-impact printers are much quieter than their counterparts. They are usually much more reliable as well.
Dot matrix printers strike colorant-soaked ribbons with small wires driven by solenoids to produce individual dots. Sweeping the print head back and forth horizontally and advancing the page allows the printer to produce dot patterns we recognize. An excellent example of a dot matrix printer is the IBM Proprinter II. The IBM Proprinters print mechanism, the print head, uses a vertical column of 9 wires spaced 1/72 inch apart. By carefully controlling the individual wire movement, print head horizontal movement, and vertical spacing, the Proprinter produces various character spacing (5, 6, 8.55, 10, 12, 17.1 characters per inch) and line spacing (1/6, 1/8, 7/72, n/72, n/216 lines per inch). The Proprinter prints 240 characters per second (cps) in a draft mode (called data processing mode) as well as 40 cps in near-letter quality mode.
Like most dot matrix printers, the Proprinter prints characters in cells. With the Proprinter, character cells are 9 vertical pixels by 13 horizontal pixels. Using these cells, the Proprinter prints bold, double-wide, double-high, overscore, underscore, superscript, and subscript characters as well as several Greek/math symbols. Advanced applications could produce any pattern or typeface under program control because the Proprinter allows applications to control each wire and set the line spacing by entering graphics mode.
Because of the Proprinters phenomenal success, many other manufacturers used the same control sequences for their products. So, learning how to program the Proprinter provides an easy entry to many other printer models. The PRINTPCX.C sample program later in this chapter illustrates using the Proprinter graphics mode to produce digital halftone images on the Proprinter.
| Previous | Table of Contents | Next |