A minidriver contains a collection of data structures that are referred to as the printer's data table. A data table contains data such as the printer's resolution, color capabilities, metrics for device fonts, and so on. A data table also contains the strings that correspond to various printer commands.
A developer creates a minidriver by using the UniTool application (UNITOOL.EXE), which provides an organized means of entering printer data and command strings that become part of a minidriver's data table. Using this application, its menus, and its dialog boxes, a driver developer specifies data such as the supported text resolutions, graphics resolutions, paper sizes, font metrics, and so on. In addition, a developer specifies the printer commands that begin a document, end a document, select a paper size, select a paper source, reset the printer to its default state, and so on. A developer can also use UniTool to create device-font files and character-translation tables.
The UniTool help file, UNITOOL.HLP, contains the documentation for the UniTool application. It is a Windows Help file that describes each of dialog boxes and control windows in the UniTool application, and provides examples based on the development of minidrivers for the Kodak Diconix 150 Plus, the Hewlett-Packard PaintJet, and the Hewlett-Packard LaserJet IIP printers. The Kodak Diconix printer is an ink-jet printer that uses a command set similar to that of Epson and IBM dot-matrix printers.. The HP PaintJet printer is a color ink-jet printer. The HP LaserJet IIP printer is a laser printer that uses the Hewlett-Packard printer-control language (PCL). Most of the examples in the help file are based on the Kodak Diconix minidriver and the HP LaserJet printers; however, the examples in the topics that describe color support are based solely on the HP PaintJet.