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. The source code is hosted on NetLabs SVN under the eCups project.

Screenshots

Files

printman_051.wpi PM Printer Manager version 0.51 (binaries) in WPI format
printman_051.zip PM Printer Manager version 0.51 (binaries) in ZIP format

eCups 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:

Requirements:

Screenshots

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

Files

cupswiz_105.zip Version 1.05 (English version)
cupspdr_104.zip CUPS port driver v1.04 (strongly recommended if not already installed)

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

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_05.zip EPRINT.EXE (version 0.5)
eprint_05_src.zip 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

paktool-30_904.zip Executables and source code

PSPRINT PostScript Driver

PSPRINT.DRV is an experimental new version of 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):

Files

psprint-30_905.zip PSPRINT.DRV version 30.905
psprint-30_905-diffs.zip Source code patches against IBM DDK PSCRIPT v30.800