################################################################################
################################################################################
################################################################################
####
#### Printer Filter Doku ... taken from gs sources, file: devices.doc
####
#### Additional features of some printer drivers
####
#### Enables you to try nice features of some printer drivers,
#### especially HP Deskjets color and some other ...
####
################################################################################
################################################################################
################################################################################
###
### ------------------- H-P color inkjet printers ---------------------- ###
###  (DeskJet 500C, DeskJet 550C, PaintJet, PaintJet XL, PaintJet XL300  ###
###  and the DEC LJ250 which can operate in a Paintjet-compatiblme mode) ###
#
# All of these drivers have 8-bit (monochrome), 16-bit and 24-bit (colour) 
# and for the DJ 550C 32-bit, (colour, cmyk mode) options in addition to 
# standard colour and mono drivers. It is also possible to set various 
# printer-specific parameters from the gs command line, eg.
#
# gs -sDEVICE=cdeskjet -sBitsPerPixel=16 -dDepletion=1 -dShingling=2 tiger.ps
# gs -sDEVICE=cdj500 -dBitsPerPixel=24 ...        for cdjcolor, and
# gs -sDEVICE=cdj500 -dBitsPerPixel=1  ...        for cdjmono
#
# BITS-PER-PIXEL:
#
# All of the drivers in gdevcdj.c accept a command line option to set the
# BitsPerPixel property. This gives considerable flexibility in choosing
# various trade-offs between speed/quality/colour etc. The valid numbers
# are:
#
#	1:	This is a standard Ghostscript monochrome driver, and uses
#		black ink (by installing the separate mono cartridge in
#		the case of the DeskJet 500C, or automatically for the
#		other printers)
#
#	3:	A standard Ghostscript colour driver, using internal 
#		dithering. This is fast to compute and to print, but
#		the clustered dithering can lose some detail and
#		colour fidelity.
#
#	8:	An 'error-diffusion' monochrome driver which uses
#		Floyd-Steinberg dithering to print greyscale images.
#		The patterns are much more randomised than with the
#		normal clustered dithering, but the data files can
#		be much larger and somewhat slower to print.
#
#	16:	This is a 'cheaper' version of the following (24-bit)
#		driver, which generates a Floyd-Steinberg colour dithered
#		output using the minimum amount of memory (this may be
#		helpful when using IBM PC's when Ghostscript has not
#		been compiled using a 32-bit 386-style compiler). The
#		quality can be almost as good as the 24-bit version.
#
#	24:	A high-quality colour driver using Floyd-Steinberg dithering
#		for maximum detail and colour range. However it is very
#		memory intensive and thus can be slow to compute (and it
#		tends to produce rather larger raw data files, so they
#		can also be slower to print).
#
#	32:	This is for the DeskJet 550C only, which uses the black
#		cartridge and the colour cartridge simultaneously (ie.
#		CMYK printing). This printer can be both faster and give
#		higher quality than the DeskJet 500C, because of the
#		true black ink. (Note that the 24-bit mode also permits
#		CMYK printing on this printer, and uses less memory. Any
#		differences between 24-bit and 32-bit should be very small.)
#
# DESKKJET PROPERTIES:
#
# The addional properties available for the DeskJets are:
#
#	BlackCorrect	(int)	/* Colour correction to give
#				 * better blacks when using the DJ500C
#				 * in colour mode, eg. the default of 4
#				 * reduces the cyan component to 4/5 
#				 * Range accepted: 0 - 9 (0 = none) */
#	Shingling	(int)	/* Interlaced, multi-pass printing 
#				 * 0 = none, 1 = 50%, 2 = 25%, 2 is
#				 * best & slowest */
#	Depletion	(int)	/* 'Intelligent' dot-removal 
#				 * 0 = none, 1 = 25%, 2 = 50%, 1 best
#				 * for graphics? 
#				 * Use 0 for transparencies */
#
# PAINTJET XL300/PAINTJET XL PROPERTIES:
#
#	PrintQuality	(int)	/* Mechanical print quality
#				 * -1 = fast, 0 = normal, 1 = presentation
#				 * Fast mode reduces ink usage and uses
#				 * single-pass operation for some media
#				 * types. Presentation uses more ink and
#				 * max number of passes, ie. slowest
#				 * printing for highest quality */
#	RenderType	(int)	/* 0 = driver does dithering
#				 * 1 = snap to primaries
#				 * 2 = snap black -> white, others to black
#				 * 3 = ordered dither
#				 * 4 = error diffusion
#				 * 5 = monochrome ordered dither
#				 * 6 = monochrome error diffusion
#				 * 7 = cluster ordered dither
#				 * 8 = monochrome cluster ordered dither
#				 * 9 = user-defined dither (not supported)
#				 * 10 = monochrome user-defined dither ns. */
# 
# PAINTJET PROPERTIES:
#
#	No additional properties
#
# GAMMA CORRECTION:
#
# One consequence of using Floyd-Steinberg dithering rather than Ghostscript's
# default clustered ordered dither is that it is much more obvious that the
# ink dots are rather larger on the page than their nominal 1/180" or 1/300"
# size (clustering the dots tends to minimise this effect). Thus it is often
# the case that the printed result is rather too dark. A simple empirical
# correction for this may be achieved by preceding the actual postscript
# file to be printed by a short file which effectively sets the gamma for
# the device, eg.
#
# gs ... gamma.ps colorpic.ps quit.ps
#
# where gamma.ps is
#
# %!
# {0.333 exp} dup dup currenttransfer setcolortransfer
#
# This example sets the gamma for r, g, and b to 3, which seems to work
# reasonably well in practice.
#
