UniDrv (Universal Printer Driver or Unidriver) is a
GDI
GDI may refer to:
Science and technology
* Gasoline direct injection, a type of fuel injection
* Graphics Device Interface, a component of Microsoft Windows
* Guanosine nucleotide dissociation inhibitor, a protein
Organisations
* Gabriel Dumont ...
-based
Microsoft Windows universal
printer driver and architecture for non-
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, ...
printers. It is used to simplify driver development of non-PostScript printers (also called
Winprinter
The Graphics Device Interface (GDI) is a legacy component of Microsoft Windows responsible for representing graphical objects and transmitting them to output devices such as monitors and printers. Windows apps use Windows API to interact with ...
s) for printer manufacturers. ''Unidrv'' allows the creation of a printer-specific minidriver in the form of a GPD (Generic Printer Description) file, similar to a
PPD file, which is much simpler than
kernel mode
In computer science, hierarchical protection domains, often called protection rings, are mechanisms to protect data and functionality from faults (by improving fault tolerance) and malicious behavior (by providing computer security).
Compute ...
driver development. Unidrv was introduced in
Windows 2000
Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was official ...
and replaced the Raster Device Driver (RASDD) interface used in
Windows NT 4.0
Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, which was released to manufacturing on July 31, 1996, and then to retail ...
and earlier versions.
Overview
The concept behind Unidrv is that a complete printer driver need not be written by the hardware manufacturer; only a device-specific minidriver is required that uses the core printing functionality of the Unidrv engine. A minidriver can be a customization file, or a plug-in, that allows special rendering functions or customized UI options. Unidrv supports non-
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, ...
printers driven by
PCL PCL may refer to:
Aviation
*FAP Captain David Abenzur Rengifo International Airport, near Pucallpa, Peru (IATA code: PCL)
*Pilot-controlled lighting, a system by which aircraft pilots can control the lighting of runways and taxiways via radio cont ...
and PCL-like
page description language
In digital printing, a page description language (PDL) is a computer language that describes the appearance of a printed page in a higher level than an actual output bitmap (or generally raster graphics). An overlapping term is printer control ...
s.
Driver file details
The Unidriver is implemented as a set of
DLL and GPD files along with other printer-specific support files:
* ''UniDrv.dll'' is the printer graphics driver file for printer languages based on
raster image
upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
s, including most
inkjet
Inkjet printing is a type of computer printing that recreates a digital image by propelling droplets of ink onto paper and plastic substrates. Inkjet printers were the most commonly used type of printer in 2008, and range from small inexpensi ...
and
dot-matrix
A dot matrix is a 2-dimensional patterned array, used to represent characters, symbols and images. Most types of modern technology use dot matrices for display of information, including mobile phones, televisions, and printers. The system is al ...
printer language
In digital printing, a page description language (PDL) is a computer language that describes the appearance of a printed page in a higher level than an actual output bitmap (or generally raster graphics). An overlapping term is printer control l ...
s.
* ''UniDrvUI.dll'' is the configuration file. It displays the user interface for ''UniDrv.dll''.
* ''UniRes.dll'', ''StdNames.gpd'', ''TtfSub.gpd'' and some other support files.
* ''Raster minidriver'', which has the file name extension {{mono, .GPD, is the data file, and is also called the characterization file. The file name depends on the printer or printer family.
Newer ''Unidrv''-based
printer driver
In computers, a printer driver or a print processor is a piece of software on a computer that converts the data to be printed to a format that a printer can understand. The purpose of printer drivers is to allow applications to do printing witho ...
s from some printer vendors, e.g.
Hewlett-Packard, may contain many other support files to allow support for more printer-specific options.
Unidrv capabilities
The ''Unidriver'' is also called the raster driver because it supports raster (bitmap) graphics printing and is compatible with many printers. This driver supports the following features:
* Color printing at various depths, such as 4 bits per pixel (bpp), 8 bpp, and 24 bpp.
* Scalable
TrueType
TrueType is an outline font standard developed by Apple in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. It has become the most common format for fonts on the classic Mac OS, macOS, and Microsoft Windows operating ...
and
OpenType
OpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior. OpenType is a registered trademark ...
fonts, device fonts (including double-byte), grayscale printing,
font substitution,
run length encoding
Run-length encoding (RLE) is a form of lossless data compression in which ''runs'' of data (sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original ...
(RLE), Tag Image File Format (
TIFF
Tag Image File Format, abbreviated TIFF or TIF, is an image file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers. TIFF is widely supported by scanning, faxing, word processin ...
) version 4.0, and Delta Row Compression (DRC).
* An extension interface that allows printer manufacturers to extend and customize the driver for specific models.
* Vector graphics languages HP-GL/2 and PCL-XL, monochrome, and color.
Determining if the printer driver is Unidrv-based
To determine whether a driver is ''Unidrv''-based, the following steps need to be taken on Windows:
# Click the ''Start button'', and then open the ''Printers'' folder.
# From the ''File'' menu, click ''Server Properties''.
# Click the ''Drivers'' tab.
# Select a driver, and then click ''Properties''.
# Observe the driver list in the ''Driver Properties'' dialog box. If ''UniDrv.dll'' appears on the list of files, the driver is ''Unidrv''-based.
Future
Starting with
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
, Unidrv is intended to be succeeded by XPSDrv. The XPSDrv printer driver extends Microsoft's GDI-based, printer driver architecture to support consuming
XML Paper Specification
Open XML Paper Specification (also referred to as OpenXPS) is an open specification for a page description language and a fixed-document format. Microsoft developed it as the XML Paper Specification (XPS). In June 2009, Ecma International adopte ...
(XPS) documents and is more modular and extensible. With an XPSDrv printer driver, the XPS Document format is used as a spool file format and as a document file format.
References
Microsoft Universal Printer Driver (UniDrv) MSDN References
Windows components