About This Manual

The Microsoft Windows Minidriver Development Guide contains eight chapters
and four appendixes.

---------------------------------------------------------------------------
Chapter      Title                    Contents
---------------------------------------------------------------------------

1            Overview of Microsoft    Describes the original and the new
             Windows Printer Drivers  printer-driver development
                                      environments for Microsoft Windows.

2            Getting Started          Describes the setup and installation
                                      of the UniTool application and the
                                      new driver-development environment.

3            Specifying Master        Describes master units, the process
             Units and Minidriver     used to determine these units, and
             Data                     the process used to specify these
                                      units in UniTool.

4            Specifying Control       Describes the process used to specify
             Information              page-control and cursor-movement
                                      commands and data in UniTool.

5            Specifying Paper         Describes the process used to specify
             Information              paper-size, paper-quality,
                                      paper-source, and paper-destination
                                      commands and data in UniTool.

6            Specifying Graphics      Describes the process used to specify
             Information              resolution, compression, color, and
                                      rectangle-fill commands and data in
                                      UniTool.

7            Specifying Font          Describes the process used to create
             Information              Printer Font Metric (PFM) files,
                                      Character-Translation Tables (CTTs),
                                      as well as the process used to
                                      specify text-quality, font-cartridge,
                                      font-simulation, and
                                      downloadable-font commands and data
                                      in UniTool.

8            Specifying Printer       Describes the process used to specify
             Model Data               model-specific data such as the
                                      supported resolutions, paper sizes,
                                      paper sources, font simulations, and
                                      so on.

Appendix A   Minidriver Callback      Describes two callback functions that
             Functions                a minidriver developer may supply.

Appendix B   UniTool Error Messages   Describes the error messages which
                                      UniTool issues.

Appendix C   Printer Font Metric      Describes the data structure used by
             Data Structure for the   all PFM files that are supported by
             Universal Printer        the Microsoft Windows Universal
             Driver                   Printer Driver.

Appendix D   Character-Translation    Describes the purpose of a
             Table File Format        character-translation table (CTT),
                                      and how the Universal Printer Driver
                                      uses the table.

---------------------------------------------------------------------------

Chapters 3 through 8 contain 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 which is similar to the Epson
and IBM dot-matrix printer command set. 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
that you will see in Chapters 3 through 8 are based on the Kodak Diconix
minidriver and the HP LaserJet printers; however, the section in Chapter 6
which describes color support is based entirely on the HP PaintJet.


How to Use This Manual

If you are unfamiliar with printer drivers for Windows, or if you are
unfamiliar with the new UniTool application, you should begin by reading
Chapter 1, Overview of Microsoft Windows Printer Drivers. This chapter
describes printer drivers, their purpose, and their content. It also
describes important details about the new printer-driver development
environment.

After you've read Chapter 1, install the required software and configure
the necessary files. Read Chapter 2, Getting Started, to learn this
process.

After you learn the general concepts (described in Chapter 1) and after
you've installed the required software (as described in Chapter 2), you're
ready to begin initializing the data table for your minidriver. Chapters 3
through 8 describe this process.

After you've initialized the data table you can build your minidriver and
begin testing it.


Document Conventions

The following conventions are used throughout this manual to define syntax.

Convention    Meaning
---------------------------------------------------------------------------

Bold text     Denotes a term or character to be typed literally, such as a
              function name (Control) or a structure (GDIINFO). You must
              type these terms exactly as shown.

Italic text   Denotes a placeholder or variable: You must provide the
              actual value. For example, the command sequence (ESC(snS))
              requires you to substitute values for n.

                  BEGIN
                  .
                  .
                  .
                  END

              Represents an omitted portion of a sample application.

In addition, certain text conventions are used to help you understand this
material.

Convention       Meaning
---------------------------------------------------------------------------

SMALL CAPITALS   Indicate the names of keys, key sequences, and key
                 combinations--for example, ALT+SPACEBAR.

FULL CAPITALS    Indicate filenames and paths, most type and structure
                 names (which are also bold), and constants.

monospace        Sets off code examples and shows syntax spacing.