This page contains various work of mine which is related to printing on OS/2.

PM Printer Manager

PM Printer Manager is a new graphical printer management tool designed to replace several older, separate programs by integrating their functions in one central tool. This includes creating standard OS/2 printers (local and LAN), creating CUPS-based printers, upgrading or downgrading IBM 'PrinterPak' driver packages, and creating new PostScript printer drivers by importing PPD files.

This software is released under the GNU GPL.



printman_085.wpi PM Printer Manager version 0.85 (binaries) in WPI format PM Printer Manager version 0.85 (binaries) in ZIP format

The source code is hosted on NetLabs SVN under the eCups project. Version 0.85 corresponds to SVN revision 85.

CUPS Printer GUI

This is a simple graphical front-end for creating CUPS-based printers under OS/2.

Since CUPS basically runs as a fully-independent subsystem under OS/2, there is a real lack of user-level integration for simple tasks like creating new printers. The idea behind this utility is to try and close that gap.

This program attempts to automate all of the fiddly little tasks that are normally required when creating a CUPS printer. Some of the highlights:



The GUI is basically a "wizard" type interface. Samples of the major steps are shown here.

Files Version 1.18 (English version) CUPS port driver v1.04 (strongly recommended if not already installed)

Alternatively, installable WarpIN packages are available on the eCups web site.

The source code is hosted on NetLabs SVN under the eCups project. Version 1.18 corresponds to SVN revision 84.

EPRINT (Enhanced Print)

EPRINT is a command-line program designed as an improved or enhanced replacement for OS/2's built-in PRINT command.

The main enhancement (at present) is the ability to print a file directly to any defined printer port — not just LPTx or COMx but also USB ports, SLPR ports, or any other.

EPRINT is still, despite its improvements over standard PRINT, a dumb print program. That is, it simply sends the input file directly to the specified printer port. It neither knows nor cares about printer-specific formats; therefore, the input file must already be in a format which the printer can handle natively.

Files printed using EPRINT will bypass the spooler and get sent directly to the printer.

Files EPRINT.EXE (version 0.5) C source code (released under the 3-clause BSD license)

PostScript Printer PAK Tool

The PostScript Printer PAK Tool (PAKTOOL) is a utility for analyzing and disassembling PostScript driver PAK files. See the documentation for details.

Files Executables and source code

PSPRINT PostScript Driver

PSPRINT.DRV is an enhanced replacement for the OS/2 PostScript printer driver. Besides a number of tweaks and fixes compared to the IBM driver, PSPRINT also introduces support for TrueType font embedding.

The release notes contain a detailed description of what this means. In a nutshell, however, PSPRINT should provide the following benefits:

You do need to configure your printer options properly in order to see some of these improvements: again, see the release notes for details.

To illustrate the difference, I've prepared some comparative screenshots of how the output PostScript file renders text in, respectively, the IBM PSCRIPT driver (zoomed-in view) and the PSPRINT driver (zoomed-in view), as shown in GSView.

PSPRINT includes all fixes and updates from the ECUPS driver, plus a few additional fixes of its own. (Hopefully, future releases of the ECUPS driver will also incorporate the updates in PSPRINT, making the difference between the between the two drivers mainly a matter of the built-in printer models supported by each one; however, this is not yet the case.) Note that PSPRINT does have one minor functional change from ECUPS: printers which do not report their native DPI setting will be assigned a default of 300 DPI by PSPRINT (the same as the original PSCRIPT driver), whereas ECUPS uses a default of 1440 in order to work around some particular rendering issues.

Some of the particular fixes in PSPRINT compared to ECUPS are noted below (see the release notes for the technical details):

Additional development work on PSPRINT has been carried out by Jan van Wijk and Rich Walsh.

Files PSPRINT.DRV version 30.907 Source code patches against IBM DDK PSCRIPT v30.800