12. Windows-only printers
As I discussed earlier, some printers are inherently unsupported
because they don't speak a normal printer language, instead using
the computer's CPU to render a bitmap which is then piped to the
printer at a fixed speed. In a few cases, these printers also
speak something normal like PCL, but often they do not. In some
(really low-end) cases, the printer doesn't even use a normal
parallel connection but relies on the vendor's driver to emulate
what should be hardware behavior (most importantly flow control).
In any case, there are a few possible workarounds if you find
yourself stuck with such a lemon.
12.1. The Ghostscript Windows redirector
There is now a Ghostscript printer driver available (called mswinpr2) that will print using Windows GDI
calls. There is also a port redirection tool called redmon which will run a print job through
Ghostscript before finally printing it. (Rather like an if filter in Unix's LPD). Taken all together,
this allows a Windows machine to print PostScript to a
Windows-only printer through the vendor's driver.
If you have a host-based printer that can't be used directly, you
can export it as a "Postscript" printer by using redmon,
Ghostscript, and mswinpr2 on a Windows PC and print through the
vendor's drivers.
12.2. HP Winprinters
Some HP printers use "Printing Performance Architecture"
(marketing speak for "we were too cheap to implement PCL"). This
is supported in a roundabout way via the pbm2ppa translator
written by Tim Norman. Basically, you use ghostscript to render
PostScript into a bitmapped image in pbm format and then use
pbm2ppa to translate this into a printer-specific ppa format
bitmap ready to be dumped to the printer. This program may also
come in ghostscript driver format by now.
The ppa software can be had from the ppa home
page; pbm2ppa supports some models of the HP 720, 820,
and 1000; read the documentation that comes with the package for
more details on ppa printer support.
12.3. Lexmark Winprinters
Most of the cheap Lexmark inkjets use a proprietary language and
are therefore Winprinters. However, Henryk Paluch has written a
program which can print on a Lexmark 7000. Hopefully he'll be
able to figure out color and expand support to other Lexmark
inkjets. See here
for more info.
Similarly, there are now drivers for the 5700, 1000, 1100, 2070,
3200, and others. See the supported printers listing above, and
my web site, for more information on obtaining these drivers.