10.2. Ghostscript output tuning
10.2. Ghostscript output tuning
There are a number of things one can do if Ghostscript's output is
not satisfactory (actually, you can do anything you darn well
please, since you have the source).
Some of these options, and others are described in the Ghostscript
User Guide (the file
Use.htm
in the Ghostscript distribution;
possibly installed under /usr/doc or/usr/share/doc on your system) are all
excellent candidates for driver options in your filter system.
10.2.1. Output location and size
The location, size, and aspect ratio of the image on a page is
controlled by the printer-specific driver in ghostscript. If you
find that your pages are coming out scrunched too short, or too
long, or too big by a factor of two, you might want to look in
your driver's source module and adjust whatever parameters jump
out at you. Unfortunately, each driver is different, so I can't
really tell you what to adjust, but most of them are reasonably
well commented.
10.2.2. Gamma, dotsizes, etc.
Most non-laser printers suffer from the fact that their dots are
rather large. This results in pictures coming out too dark. If
you experience this problem with an otherwise untunable driver,
you could use your own transfer function. Simply create the
following file in the ghostscript lib-dir and add its name to the
gs call just before the actual file. You may need to tweak the
actual values to fit your printer. Lower values result in a
brighter print. Especially if your driver uses a Floyd-Steinberg
algorithm to rasterize colors, lower values ( 0.2 - 0.15 ) are
probably a good choice.
%!
%transfer functions for cyan magenta yellow black
{0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
|
It is also possible to mend printers that have some kind of
color fault by tweaking these values. If you do that kind of
thing, I recommend using the filecolorcir.ps, that comes with ghostscript (in
the examples/ subdirectory), as a test page.
For many of the newer color inkjet drivers, there are
command-line options, or different upp driver files, which
implement gamma and other changes to adapt the printer to
different paper types. You should look into this before playing
with Postscript to fix things.
10.2.3. Color Printing in Ghostscript
Ghostscript's default color dithering is optimized for
low-resolution devices. It will dither rather coarsely in an
attempt to produce 60ppi output (not dpi, ppi - the "apparent"
color pixels per inch you get after dithering). This produces
rather poor output on modern color printers; inkjets with photo
paper, in particular, are capable of much finer ppi settings.
To adjust this, use the Ghostscript option-dDITHERPPI=x, where x is the
value to use. This may or may not have an effect with all
drivers; many newer drivers (the Epson Stylusstp driver, for example) implement their own
dithering and pay no attention to this setting. Some drivers can
use either the regular Ghostscript or driver-specific dithering
(the Canon Bubblejet bjc600 driver, for
example).
Ghostscript's dithering is in fact rather rudimentary. Many
things needed for good output on modern printers are simply not
available in the Ghostscript core. Various projects to fix this
situation—and the free software world does have the
software to do so ready and waiting—are hampered by
Ghostscript's licensing situation and the resulting "cathedral"
development style. Beginning at the Open Source
Printing Summit 2000, however, all the necessary people are
talking, so you can expect this situation to improve shortly.