GS-PCL3(1)                                                          GS-PCL3(1)



[1mNAME[0m
       pcl3 -- ghostscript device driver for printers understanding PCL 3+

[1mSYNOPSIS[0m
       [1mgs    [22m-sDEVICE=pcl3     [[4mgs_option[24m     |    -dBlackLevels=[4minteger[24m     |
       -dCMYLevels=[4minteger[24m  |  -sColorModel=[4mmodel[24m   |  -sColourModel=[4mmodel[24m   |
       -dCompressionMethod=[4mmethod[24m   | -dConfigureEveryPage  | -dCUPSAccounting
       | -dCUPSMessages  | -dDepletion=[4mdepletion[24m  | -dDryTime=[4mseconds[24m  | -sDu-
       plexCapability=[4mcapability[24m      |     -sIntensityRendering=[4mmethod[24m      |
       -dLeadingEdge=[4medge[24m  | -dManualFeed  | -sMediaConfigurationFile=[4mpathname[0m
       |  -dMediaPosition=[4mposition[24m   | -sMedium=[4mmedium[24m  | -dOnlyCRD  | -sPage-
       CountFile=[4mpathname[24m   |  -sPCLInit1=[4mstring[24m    |   -sPCLInit2=[4mstring[24m    |
       -sPJLJob=[4mjobname[24m  | -sPJLLanguage=[4mlanguage[24m  | -sPrintQuality=[4mquality[24m  |
       -dRasterGraphicsQuality=[4mquality[24m  | -dSendBlackLast  | -dSendNULs=[4mnumber[0m
       |  -dShingling=[4mshingling[24m  | -sSubdevice=[4msubdevice[24m  | -dTumble  | -dUse-
       Card=[4mvalue[24m ]  ... [[4mfile[24m ...]

[1mDESCRIPTION[0m
   [1mSupported Printers[0m
       The  ghostscript  device  driver  [1mpcl3  [22m(formerly  called  [1mhpdj[22m)  is  a
       ghostscript   backend   for  printers  understanding  Hewlett-Packard's
       Printer Command Language, level  3+  ("PCL  3+",  also  called  "PCL  3
       Plus").   The driver is intended to support in particular the following
       printer models:

              HP DeskJet
              HP DeskJet Plus
              HP DeskJet Portable
              HP DeskJet 310
              HP DeskJet 320
              HP DeskJet 340
              HP DeskJet 400
              HP DeskJet 500
              HP DeskJet 500C
              HP DeskJet 510
              HP DeskJet 520
              HP DeskJet 540
              HP DeskJet 550C
              HP DeskJet 560C
              HP DeskJet 600
              HP DeskJet 660C
              HP DeskJet 670C
              HP DeskJet 680C
              HP DeskJet 690C
              HP DeskJet 850C
              HP DeskJet 855C
              HP DeskJet 870C
              HP DeskJet 890C
              HP DeskJet 1120C

       The PCL dialect called "PCL Level  3  enhanced"  is  apparently  a  not
       entirely  compatible  modification of PCL 3+.  This driver should basi-
       cally work with such printers  but  you  must  be  more  careful  which
       options  you  select  and  you  might  not  be able to exploit all your
       printer's capabilities.

       The driver  does  [4mnot[24m  support  printers  understanding  only  Hewlett-
       Packard's  PPA  (Printing  Performance  Architecture)  commands.   If a
       printer's documentation does not say anything about its printer command
       language  and  you find a statement like "... is designed for Microsoft
       Windows" or "DOS support through Windows only", the printer  is  almost
       certainly  a  PPA printer and hence is intended [4mexclusively[24m for systems
       running Microsoft Windows.  (These printers are also erroneously  known
       as  "GDI  printers"  because they are intended to be accessed through a
       manufacturer-supplied driver via Windows' GDI interface.)  There  exist
       ways of using a PPA printer with ghostscript, but not through [1mpcl3[22m.

       Different  printer  models  usually implement model-specific subsets of
       all PCL-3+ commands or arguments to commands.  You must therefore  tell
       the  driver by means of the [1mSubdevice [22moption for which model the gener-
       ated PCL code is intended.  The model-dependent difference in the  gen-
       erated code is not great.  Apart from media specifications, resolutions
       and colour capabilities, one can consider three groups of models  which
       are treated with significant differences:

              Group 1   DeskJet, DeskJet Plus, DeskJet 500

              Group 2   DeskJet  Portable,  DeskJets  3[4mxx[24m, 400, 5[4mxx[24m except 500
                        and 540,

              Group 3   DeskJets 540, 6[4mxx[24m, 8[4mxx[24m and 1120C.

       The first two groups I call the "old Deskjets", the  third  group  con-
       sists  of "new DeskJets".  If you have a PCL-3 printer not appearing in
       the list above, the likelihood is still good that it  will  accept  the
       files  generated  by [1mpcl3[22m.  You can specify one of the supported subde-
       vices in these cases (it is sufficient to try one each from the  groups
       just mentioned), or use the special subdevice names [1munspecold [22mor [1munspec[0m
       which are treated like members of the second and the third group above,
       respectively,  with  all  subdevice-dependent checks having been turned
       off.

       The list of printer models for which this driver is currently known  to
       work is:

              HP 2000C
              HP 2500CM
              HP DeskJet 697C
              HP DeskJet 850C
              HP DeskJet 970C
              HP DeskJet 1100C
              Xerox DocuPrint M750

       Details  can be found in the file [1mreports.txt [22min the [1mpcl3 [22mdistribution;
       its latest version is available via  [1mpcl3[22m's  [4mhome[24m  [4mpage[24m  [4m(link[24m  [4mto[24m  [4mURL[0m
       [4mhttp://home.t-online.de/home/Martin.Lottermoser/pcl3.html)[24m  .   If  you
       wish to report on the hardware compatibility for a  particular  printer
       model, please read the file [1mhow-to-report.txt[22m.

       Omitting  models  already  mentioned,  previous ([1mhpdj[22m) versions of this
       driver were reported to work with the following printers:

              HP DeskJet 340
              HP DeskJet 400 (tested for Gray only)
              HP DeskJet 420
              HP DeskJet 500
              HP DeskJet 500C (tested for Gray only)
              HP DeskJet 520
              HP DeskJet 540
              HP DeskJet 560C
              HP DeskJet 600
              HP DeskJet 610C
              HP DeskJet 612C
              HP DeskJet 640C
              HP DeskJet 660C/660Cse
              HP DeskJet 670C
              HP DeskJet 672C
              HP DeskJet 680C
              HP DeskJet 690C
              HP DeskJet 690C+
              HP DeskJet 693C
              HP DeskJet 694C
              HP DeskJet 832C
              HP DeskJet 855C
              HP DeskJet 870Cse/870Cxi
              HP DeskJet 880C
              HP DeskJet 890C
              HP DeskJet 895Cse/895Cxi
              HP DeskJet 932C
              HP DeskJet 1120C
              HP OfficeJet 350
              HP OfficeJet 590
              HP OfficeJet 600
              HP OfficeJet 625
              HP OfficeJet G55
              HP OfficeJet T45
              Lexmark 3000 Color Jetprinter
              Olivetti JP792 (see the option [1mSendBlackLast[22m)

       Most of the people who sent me reports did not state  to  which  extent
       [1mhpdj [22mworked for their printer model.

   [1mColour Models[0m
       Ignoring  photo  cartridges  which  are  not supported by [1mpcl3[22m, DeskJet
       printers can be classified in four categories:

            The printer has only a black ink cartridge.

            The printer can print with either a black or a  cyan/magenta/yel-
             low (CMY) cartridge.

            The printer holds a CMY and a black cartridge simultaneously, but
             the two groups of inks are chemically incompatible and should not
             be  overlayed.  (Don't worry: the printer is not going to explode
             if they do.  You merely get poorer results because the black  ink
             will  spread  further than it should.  This is called "ink bleed-
             ing".)

            The printer holds a CMY and a black cartridge simultaneously  and
             the  inks  can be mixed.  (Newer HP DeskJets use such bleed-proof
             inks.)

       This leads to four [4m(process)[24m [4mcolour[24m [4mmodels[24m for the driver:

              Gray      Print in black only.

              CMY       Print with cyan, magenta and yellow.   In  this  mode,
                        "composite black" consisting of all three inks is used
                        to stand in for true black.

              CMY+K     Print with all four inks, but never mix black with one
                        of the others.

              CMYK      Print with all four inks.

       As  a  printer with both, a black and a CMY cartridge, can usually also
       print, e.g., with black only, the printer's  "cartridge  state"  merely
       identifies  one  of  these models as the maximal one.  Depending on the
       category of the printer, the driver will therefore accept one  or  more
       models.  The possibilities are:

              DeskJet Model                        Colour Models
              ------------------------------------------------------

              DeskJet,   DeskJet  Plus,  DeskJet   Gray
              Portable, 500, 510, 520
              310, 320, 340, 400, 500C, 540, 600   Gray, CMY
              550C, 560C                           Gray, CMY, CMY+K
              660C,  670C,  680C,  690C,   850C,   all
              855C, 870C, 890C, 1120C

       The  subdevices  [1munspecold [22mand [1munspec [22malso permit all colour models.  A
       printer capable only of CMY might accept CMY+K or CMYK data,  remapping
       them  to  CMY,  and  a printer capable of CMY+K might remap CMY data to
       CMY+K.

       The colour model CMY+K is not useful if you have a  CMYK  printer.   In
       contrast,  if  you  have a CMY+K or CMYK printer and the two cartridges
       support different resolutions, the colour models  Gray  or  CMY  become
       interesting  as  well.   In most of these cases the black cartridge can
       print at a higher resolution than the CMY cartridge, although the  con-
       verse  does  also occur.  In addition, ghostscript is generally fastest
       for Gray.

       PCL 3+ also supports the colour model RGB although Hewlett-Packard dis-
       courages  its  use.  For this model the printer internally converts the
       RGB data it receives into CMY data for printing.  Note that not  every-
       thing  which can be demanded when using a CMY palette in PCL 3+ is also
       permitted when using RGB.  Because  of  its  limited  usefulness,  [1mpcl3[0m
       accepts  the  colour  model  RGB  only for the subdevices [1munspecold [22mand
       [1munspec[22m.

   [1mMedia Sizes and Orientations[0m
       A PostScript document describes its visible content with respect  to  a
       coordinate  system  called  [4mdefault[24m  [4muser[24m [4mspace[24m.  Almost all PostScript
       devices are [4mpage[24m [4mdevices[24m which paint only a restricted rectangular area
       in default user space.  Part of the state of a page device is therefore
       the current [4mpage[24m [4msize[24m, two numbers specifying the width and  height  of
       the  sheet  to  be  printed  on.  These values must be interpreted from
       default user space, hence the page size not only describes  the  "sheet
       size"  (extension irrespective of orientation) but also the orientation
       between page contents and sheet (portrait if width <= height, landscape
       otherwise).   The  page  size is requested by the user or the document,
       and it is one of the jobs of the device to satisfy this request.

       Ghostscript looks at several sources to determine the page size:

            the default size configured for [1mgs [22m(usually US Letter or  ISO  A4
             in portrait orientation),

            the value given to the option [1mPAPERSIZE [22min the invocation,

            the size requested by the document, unless you specify [1m-dFIXEDME-[0m
             [1mDIA[22m.

       The last applicable item in this list overrides the others,  hence  the
       current page size can change at runtime.

       The  [1mpcl3 [22mdriver splits the page size into sheet size and page orienta-
       tion and passes the sheet size to the printer.  This works only if  the
       printer  accepts this size (accepted sizes are listed in your printer's
       manual).  For the explicitly supported printers, the driver knows which
       sizes  are  accepted  and will refuse to print if an unsupported one is
       requested.  (If you suspect that [1mpcl3 [22mis in error  concerning  what  is
       supported,  check  the  list of supported sizes in the PPD file for the
       subdevice you are using.)  Group-3 printers also accept a  [4mcustom[24m  [4mpage[0m
       [4msize[24m command which permits printing on arbitrarily-sized media but only
       within certain limits which are also known to the driver.   Unlike  the
       sheet  size  the  page orientation is irrelevant for deciding whether a
       particular page size is supported or not.  The driver will adapt itself
       as  required by the PostScript language and rotate the output if neces-
       sary.  (I know of only one other ghostscript driver capable of this.)

       In setting up the PostScript default user space, [1mpcl3  [22mdoes  not  treat
       envelope sizes differently from other sizes.

       The  subdevice  [1munspecold [22maccepts all sizes supported by the HP DeskJet
       560C, [1munspec [22msupports all discrete  sizes  known  to  the  HP  DeskJets
       850C/855C/870C/890C  and treats in addition every other size request as
       a custom page size without imposing any limits.  If using any of  these
       two  subdevices  you  should  change the list of supported sizes to fit
       your printer's capabilities; see the [4mCONFIGURATION[24m  section  below  for
       details.

       In  order for a document to be printed correctly a sheet of appropriate
       size must be provided and the driver must  know  what  its  orientation
       with respect to the printing mechanism is.  The latter is usually spec-
       ified by reference to the feeding direction as "short  edge  first"  or
       "long  edge  first".   Don't  confuse this kind of orientation with the
       portrait/landscape orientation: the former ("sheet orientation") refers
       to  the orientation of the sheet with respect to the feeding direction,
       the latter ("page orientation") describes the orientation of the  sheet
       with respect to the page contents (default user space).  These orienta-
       tions are  logically  independent:  people  inserting  paper  into  the
       printer  need  to know about the first, people composing documents only
       care about the latter.

       Because [1mpcl3 [22mhas no information about the actual dimension or  orienta-
       tion  of  the  medium  in the input tray, you must ensure yourself that
       this is appropriate.  By default, the driver assumes the  dimension  to
       be  that requested via the page size, but you can override this assump-
       tion with an [1mInputAttributes [22mdefinition (see the [4mMedia[24m [4mSources[24m [4mand[24m [4mDes-[0m
       [4mtinations[24m subsection in the [4mCONFIGURATION[24m section below).

       There  is  no  command  in PCL 3+ to tell the printer about the sheet's
       orientation in the input tray, therefore it cannot be  chosen  and  the
       manufacturer must prescribe it.  I am not aware of any precise and com-
       plete statement from Hewlett-Packard about what  is  required  in  this
       respect,  hence  you  should  check  your  printer's manual whether the
       assumptions made by [1mpcl3 [22mare correct or not: the  driver  assumes  that
       media  are always fed short edge first except when using the subdevices
       [1mhpdj[22m, [1mhpdjplus[22m, [1mhpdj400[22m, [1mhpdj500 [22mor [1mhpdj500c [22mfor printing  on  envelope
       sizes  (US  no.  10  and ISO DL).  In these cases you should insert the
       medium long edge first.  If you find that [1mpcl3[22m's default  behaviour  is
       incorrect,  you  can override it with the option [1mLeadingEdge [22mor a media
       configuration file (see the [4mCONFIGURATION[24m section below).

   [1mPrint Quality and Media Properties[0m
       With the introduction of the DeskJet 540, HP added two new PCL commands
       to  the language: "Print Quality" and "Media Type".  For older DeskJets
       (groups 1 and 2), similar effects can be achieved  by  specifying  some
       technical aspects of the printing process in detail.

       You  can use the [1mPrintQuality [22mand [1mMedium [22moptions to adapt the driver to
       the desired output quality and those properties of the medium  it  must
       know  about,  independent of which kind of subdevice you select.  If it
       corresponds to a printer understanding the  new  commands,  the  option
       values  are  passed  through to the printer, otherwise these specifica-
       tions are mapped to the older Depletion, Shingling, and Raster Graphics
       Quality commands based on recommendations from HP.  If you are not sat-
       isfied with the result in the latter case, use the  options  [1mDepletion[22m,
       [1mShingling [22mand [1mRasterGraphicsQuality [22mto explicitly set these values.

   [1mDiagnostic Messages[0m
       Error  messages  issued  by  this  driver start with "? [4mcomponent[24m:" and
       warnings with "?-W [4mcomponent[24m:".  The [4mcomponent[24m can be  eprn,  pcl3,  or
       pclgen,  corresponding  to the driver's three internal layers: the [1meprn[0m
       device extends ghostscript without knowing PCL, [1mpclgen [22mis a module gen-
       erating  PCL without being aware of ghostscript, and [1mpcl3 [22mis the driver
       proper connecting the other two layers.

       All these messages are written on the standard error stream.

[1mOPTIONS[0m
       When specifying options for [1mgs [22myou should keep in  mind  that  case  is
       significant,  that some options must be passed as strings ([1m-s[22m) and oth-
       ers as general tokens ([1m-d[22m),  and  that  [1mgs  [22meffectively  ignores  every
       option  it  does  not recognize.  Hence some care in spelling parameter
       names is necessary.

       If you are confused by the large number of options, don't worry.   Just
       ignore  those you don't understand and concentrate first on the follow-
       ing ones, given here in the order of their importance: [1m-sDEVICE[22m, [1m-sSub-[0m
       [1mdevice[22m,  [1m-sColourModel[22m,  [1m-r[22m,  [1m-sPrintQuality[22m, and [1m-sMedium[22m.  You should
       also check whether there is an entry in the  [1mreports.txt  [22mfile  in  the
       [1mpcl3 [22mdistribution listing working option combinations for your printer.

   [1mStandard Options[0m
       When calling [1mgs [22mwith the [1mpcl3 [22mdriver you can specify any option defined
       for ghostscript's [1mprn [22m(printer) device although  some  have  particular
       meanings or restrictions.  This includes all device-independent options
       described in [1mgs(1)[22m.  You should also look into  ghostscript's  extended
       documentation  (file  [1mUse.htm  [4m[22m(link[24m  [4mto[24m  [4mURL[24m [4mUse.htm)[24m  and the section
       [4mDevice[24m [4mparameters[24m [4m(link[24m [4mto[24m [4mURL[24m [4mLanguage.htm#Device_parameters)[24m in  [1mLan-[0m
       [1mguage.htm[22m).

       [1m-sDEVICE=pcl3[0m
                 This  specification  selects the [1mpcl3 [22mdriver, but this is not
                 the only way to select it with this option.  See the descrip-
                 tion of the [1mSubdevice [22moption below for other possibilities.

       [1m-dDuplex[=[4m[22mboolean[24m[1m] [4m[22mor[24m [1m-dDuplex=null[0m
                 This  parameter  requests  duplex  printing and can be set to
                 [1mtrue [22monly for [1munspec [22mand [1munspecold[22m, and when the  [1mDuplexCapa-[0m
                 [1mbility [22mvalue is not [1mnone[22m.  The default is [1mnull [22mwhich for this
                 driver means that the printer's default setting will be used.

                 If your printer does not  support  duplex  printing  you  can
                 achieve the same effect manually by printing the odd and even
                 pages separately (use a command  like  [1mpsselect(1)  [22mfrom  the
                 psutils  package  for extracting these parts) and reinserting
                 the paper in between.

       [1m-r [4m[22mresolution[0m
                 This option specifies the resolution in pixels per inch (ppi;
                 sometimes also called dots per inch, dpi).  The driver checks
                 whether the subdevice selected accepts the  given  resolution
                 unless  the  subdevice  is  [1munspecold [22mor [1munspec[22m.  Resolutions
                 supported by at least some of the other subdevices  for  some
                 of  the  colour models are 75, 100, 150, 300, 600300 and 600
                 ppi.  Consult the PPD files in the [1mpcl3 [22mdistribution  if  you
                 want to know the details.  The default resolution for [1mpcl3 [22mis
                 300 ppi.

                 At least the highest possible value should be listed in  your
                 printer's manual, but some care is necessary in the interpre-
                 tation: the value given to [1mpcl3 [22mmust  be  a  resolution  sup-
                 ported by the printer's hardware for all the colorants in the
                 process colour model simultaneously  and  when  operating  in
                 raster  graphics  mode.  You should also keep in mind that if
                 your printer has two cartridges they might support  different
                 sets  of  resolutions,  i.e., which resolution you can choose
                 might depend on the colour model.  It is also  possible  that
                 the  print  quality has to be considered as well.  If you are
                 in doubt and have access to  a  manufacturer-endorsed  driver
                 for your printer, use [1mpcl3opts [22mto find out about the settings
                 used by that driver.

                 At least some of the series-500 DeskJets claim  to  permit  a
                 resolution  of 600  300 ppi.  However, although these models
                 have a 600 dpi addressable horizontal resolution grid they do
                 not  permit neighbouring pixels to be activated (and the dots
                 printed still have a diameter of about 1/300 in).  The raster
                 data  generated  by  [1mgs  [22mdoes  not obey this restriction.  In
                 addition, it is possible that the higher resolution is anyway
                 only  supported  for  the printer's builtin fonts and not for
                 general raster data.

                 Concerning the DeskJet 870C, my impression is  that  although
                 some  HP  documents and drivers use expressions like "600x300
                 dpi C-REt color" for this printer, the model does not  really
                 support  a  resolution  of 600  300 ppi.  First, it does not
                 accept [1mpcl3[22m's output with this resolution, and second, if one
                 inspects  the  best  output  of  HP's Windows driver for this
                 printer with [1mpcl3opts[22m, one finds that the file uses a  "mixed
                 resolution",  i.e.,  600  ppi  for black and 300 ppi for CMY.
                 This is not supported by [1mpcl3[22m.

   [1mPcl3-Specific Options[0m
       [1m-dBlackLevels=[4m[22mlevels[24m [4mand[24m [1m-dCMYLevels=[4m[22mlevels[0m
                 These options set the number of intensity  levels  per  pixel
                 and  colorant  to  use  when printing with black or CMY inks,
                 respectively, and must be consistent with the  colour  model.
                 They   permit  access  to  the  printer's  Colour  Resolution
                 Enhancement technology (C-REt) feature.  The defaults  are  0
                 or 2, depending on the colour model chosen.  Other values are
                 only accepted for  the  subdevices  [1mhpdj8[4m[22mnn[24m[1mc[22m,  [1mhpdj1120c  [22mand
                 [1munspec[22m, and when not using the colour model [1mRGB[22m.

                 The  subdevice [1munspec [22maccepts any non-negative number of lev-
                 els  except  1  up  to  256.   The  subdevices  [1mhpdj8[4m[22mnn[24m[1mc  [22mand
                 [1mhpdj1120c  [22maccept the [4mlevels[24m 0, 2, 3 and 4 with the following
                 restrictions if any of the levels is  larger  than  2  (these
                 restrictions  have  been  determined  experimentally  with  a
                 DeskJet 850C and are not based on HP documentation):

                      You can't use this feature with draft quality.

                      You can't use a colour model of [1mCMY[22m.

                      You must use a resolution of 300 ppi.

                      You must use 4 levels for black.

                 When using the subdevice [1munspec [22myou should expect the printer
                 to similarly limit the possibilities.  In particular you must
                 expect the permitted number of levels  to  depend  on  colour
                 model, resolution and print quality.  So far I have not heard
                 of a PCL-3+ printer supporting more than four intensity  lev-
                 els per colorant.

       [1m-sColorModel=[4m[22mmodel[24m [4mor[24m [1m-sColourModel=[4m[22mmodel[0m
                 This selects the colour model to be used by the driver: [1mGray[22m,
                 [1mRGB[22m, [1mCMY[22m, [1mCMY+K [22mor [1mCMYK[22m.  The default is [1mGray[22m.  Which  colour
                 models are accepted depends on the subdevice, see [4mColour[24m [4mMod-[0m
                 [4mels[24m in the section [4mDESCRIPTION[24m above.

                 A value of [1mCMY [22mfor this option also sets [1mBlackLevels [22mto zero,
                 and if [1mCMYLevels [22mis zero when you demand any of [1mCMY[22m, [1mCMY+K [22mor
                 [1mCMYK[22m, it is set to two.  For [1mRGB[22m, effectively the  same  hap-
                 pens  as  for  [1mCMY[22m.  For all other situations you must ensure
                 yourself that colour model and intensity levels  are  consis-
                 tent  or  [1mpcl3 [22mwill complain.  This rule implies that you can
                 ignore the level options unless you want to use a non-default
                 number of levels.

                 The PostScript page device dictionary entry [1mProcessColorModel[0m
                 will not be correct for a  colour  model  of  [1mCMY  [22mor  [1mCMY+K[22m.
                 (Ghostscript  returns the native colour space in this parame-
                 ter, not the process colour model.)

       [1m-dCompressionMethod=[4m[22mmethod[0m
                 PCL interpreters understand several compression  methods  for
                 raster graphics data in order to speed up host-printer commu-
                 nication.  The possible choices are:


                 [1m0   [22mUnencoded, non-compressed
                 [1m1   [22mRunlength encoding
                 [1m2   [22mTagged Image  File  Format
                     (TIFF) revision 4.0 "Pack-
                     bits" encoding
                 [1m3   [22mDelta Row Compression
                 [1m9   [22mCompressed     Replacement
                     Delta Row Encoding

                 The default method is 9 except for the subdevices [1mhpdj[22m, [1mhpdj-[0m
                 [1mplus[22m, and [1mhpdj500 [22mwhere it is 3 (these printers do  not  sup-
                 port  method 9),  and for the subdevices [1munspec [22mand [1munspecold[0m
                 where it is 2 (this seems to give  the  best  combination  of
                 portability  and  compression).  Requesting method 3 actually
                 leads to a combination of methods 2 and 3.   The  driver  may
                 temporarily  choose  method  0  if a compressed data sequence
                 would be longer than its uncompressed version.

                 Compression rates can  vary  drastically,  depending  on  the
                 structure  of the input.  However, although the absolute val-
                 ues change, the relative  order  of  efficiency  between  the
                 methods is usually the order of increasing [4mmethod[24m.  In short:
                 use method 9 if it is supported.

       [1m-dConfigureEveryPage[=[4m[22mboolean[24m[1m][0m
                 This parameter, if set to true, will force the printer to  be
                 reconfigured  for  every page.  The option is superfluous for
                 printers which are truly PCL-3-conforming.

                 Use this parameter if you discover that you can print single-
                 page documents without problems but that the printer does not
                 accept multi-page files.  At present, the only printer I know
                 of  for  which  such a reconfiguration is needed is the Xerox
                 DocuPrint M750.

       [1m-dCUPSAccounting[=[4m[22mboolean[24m[1m][0m
                 You will usually specify this parameter when  using  [1mpcl3  [22mas
                 the  final  component in a CUPS (Common UNIX Printing System)
                 driver.  It will lead to appropriate page accounting messages
                 on standard error.  The default for this parameter is [1mfalse[22m.

                 If  you have set this parameter to [1mtrue [22myou can't set it back
                 to [1mfalse[22m.  The driver will generate  a  warning  if  this  is
                 attempted.

                 When  using [1mpcl3 [22mwithin CUPS you will normally set both, [1mCUP-[0m
                 [1mSAccounting [22mand [1mCUPSMessages[22m.   There  exist,  however,  CUPS
                 configurations  where page accounting messages should be gen-
                 erated by a command further down the print pipeline than [1mpcl3[0m
                 (e.g.,  by a CUPS backend capable of processing PJL Page Sta-
                 tus messages and driving a printer  which  sends  them).   In
                 these cases you should not specify [1m-dCUPSAccounting[22m.

       [1m-dCUPSMessages[=[4m[22mboolean[24m[1m][0m
                 Specify  this  parameter  when using [1mpcl3 [22mas a component in a
                 CUPS (Common UNIX Printing System) driver.   It  will  modify
                 the  format  of  error  messages  and warnings as expected by
                 CUPS.  The default for this parameter is [1mfalse[22m.

       [1m-dDepletion=[4m[22mdepletion[0m
                 This option is only available  for  old  DeskJets  (including
                 [1munspecold[22m)  and  when printing in colour.  The integer [4mdeple-[0m
                 [4mtion[24m controls an algorithm for removing certain  pixels  from
                 the  image;  this  leads  to  less  ink  being applied to the
                 medium.  The possible values for [4mdepletion[24m are:


                 [1m1   [22mNo depletion
                 [1m2   [22m25%
                 [1m3   [22m50%
                 [1m4   [22m25% with gamma correction
                 [1m5   [22m50% with gamma correction

                 The default value is derived from  [1mMedium  [22mand  [1mPrintQuality[22m.
                 The  values  4  and 5 are not understood by the DeskJet 500C,
                 but even for the other printers these values are  not  useful
                 because PostScript permits finer control for gamma correction
                 through transfer functions (see the subsection [4mTransfer[24m [4mFunc-[0m
                 [4mtions[24m in the next section).

       [1m-dDryTime=[4m[22mdelay[0m
                 With  the  exception of the DeskJets 500 and 500C, series-500
                 DeskJet printers can be told to guarantee  a  minimum  drying
                 time  of [4mdelay[24m seconds before the next page of the same print
                 job is dropped on a newly printed page.  (This  interval  can
                 be  terminated  by  pressing  the  Load/Eject  button.)   The
                 printer will choose default values depending on  the  current
                 print  quality, hence it is normally not necessary to specify
                 this option and the feature is even considered  obsolete  for
                 post-series-500  DeskJets  although  it is still supported by
                 some of them.

                 Permissible values for [4mdelay[24m are [1mnull  [22mand  integers  in  the
                 range [1m0 [22mto [1m1200[22m, where [1mnull [22minstructs [1mpcl3 [22mnot to send a cor-
                 responding command, [1m0 [22mestablishes default values for the cur-
                 rent  print  quality, and all other values explicitly request
                 the duration in seconds.  The default is [1mnull[22m.

       [1m-sDuplexCapability=[4m[22mcapability[0m
                 Looking at the final result (sheet printed),  there  are  two
                 kinds  of duplex printing identified by the two possible val-
                 ues for the option  [1mTumble[22m.   Not  all  printers  capable  of
                 duplex printing, however, provide the hardware support neces-
                 sary for both, hence the driver must be told what the printer
                 offers  in  order  to  be  able to compensate for the missing
                 functionality.  The parameter [4mcapability[24m can be  any  of  the
                 following:


                 [1mnone                  [22mno duplex capability
                 [1msameLeadingEdge       [22msecond   pass   of   sheet
                                       occurs with the same lead-
                                       ing edge



                 [1moppositeLeadingEdge   [22msecond   pass   of   sheet
                                       occurs with  the  opposite
                                       leading edge
                 [1mboth                  [22msecond  pass  of sheet can
                                       occur with either edge

                 This option can only be specified for [1munspecold  [22mand  [1munspec[22m.
                 The default value is [1mnone[22m.

                 The  correct  setting  for  the  HP DeskJet 970C is [1mopposite-[0m
                 [1mLeadingEdge[22m, but the printer permits  access  to  its  duplex
                 functionality  only  if  you  specify  in  addition [1m-sPJLLan-[0m
                 [1mguage=PCL3GUI -dOnlyCRD[22m.  (Many thanks to Dawei W.  Dong  for
                 an extensive series of experiments.)

                 If  a printer does not offer hardware support for both orien-
                 tations, the document to be  printed  must  execute  [1mshowpage[0m
                 after a possible page-level [1mrestore [22mand not before, otherwise
                 the driver will not be able to  compensate  for  the  missing
                 functionality  and  only  one  of  the two [1mTumble [22mvalues will
                 work.   All  DSC-3.0-conforming  PostScript  files  have  the
                 required property.

       [1m-sIntensityRendering=[4m[22mmethod[0m
                 Most  printers, including every PCL-3+ printer I know of, can
                 render only a small number of intensities per pixel and  col-
                 orant.  In the most frequent case, merely two levels are pos-
                 sible.  As this is usually not  sufficient,  various  methods
                 have been devised to achieve a larger palette; this is possi-
                 ble at the expense of spatial resolution.   Because  of  this
                 tradeoff  between  effective  resolution  and  the  number of
                 colours which can be distinguished, the  best  method  for  a
                 given  document  depends  on the contents of the document and
                 the user should therefore be able to select it.

                 The [1mpcl3 [22mdriver supports the following [4mmethods[24m for  intensity
                 rendering:


                 [1mprinter           [22muse   the   printer's  capabilities
                                   directly
                 [1mhalftones         [22muse ghostscript's halftoning imple-
                                   mentation
                 [1mFloyd-Steinberg   [22muse Floyd-Steinberg error diffusion

                 The  default method is [1mhalftones[22m.  The methods differ only in
                 their treatment of intensities which  cannot  be  represented
                 directly by the printer.  If your document contains for exam-
                 ple only black text, they all produce the same result, albeit
                 at different speeds.

                 With [1mprinter[22m, [1mpcl3 [22mwill cause everything to be painted at the
                 full hardware resolution but will have to map all colours  to
                 the nearest levels the printer can represent directly.  For a
                 CMY or CMYK printer with two intensity levels,  this  results
                 in  just 8 useful colours per pixel.  This value is therefore
                 usually only sensible for documents with a  small  number  of
                 widely  different  saturated  colours  where  accurate colour
                 reproduction is of minor importance but achieving the highest
                 possible  resolution is essential.  Another possible applica-
                 tion is the case of PostScript input which has  already  been
                 adapted  to  the printer's resolution and available intensity
                 levels.

                 With [1mhalftones[22m, ghostscript will use what looks like standard
                 PostScript  halftoning  algorithms.   For  details, consult a
                 PostScript   manual.    However,   you   should   know   that
                 ghostscript's  current  halftoning  implementation  has  some
                 problems:

                      The algorithm cannot handle different  non-zero  values
                       for  [1mBlackLevels  [22mand  [1mCMYLevels[22m.  In this situation [1mgs[0m
                       will in general assume that the number of black  levels
                       available  is  equal to that for CMY levels.  Depending
                       on which of the numbers is  smaller,  there  will  then
                       either be unused black levels or some will be used more
                       than once.

                      When you are using values larger than 2 for [1mBlackLevels[0m
                       or  [1mCMYLevels[22m,  ghostscript does not discover by itself
                       that it could now achieve the  same  number  of  shades
                       with smaller halftone cells.

                      Most of the ways of increasing the halftone screen fre-
                       quency seem to fail.  I have been successful only  with
                       the  somewhat  pedestrian  approach  of using threshold
                       arrays, and even that worked only for some cases.

                      For particular CMYK values and  with  ghostscript  ver-
                       sion 6 or higher, the colour becomes drastically wrong.
                       One  example  is  CMYK  =  (0.99998472,  0.002549,   0,
                       0.00367827);  this  should be almost a pure cyan but is
                       instead displayed as a sort of pink.  If one  subtracts
                       one  unit  in the last position for any of the non-zero
                       components, the result becomes acceptable.  The problem
                       has not been observed with ghostscript 5.50.

                      For  ghostscript  versions up to and including 5.50, if
                       you are using the colour model [1mCMYK  [22mand  more  than  2
                       black  levels  you  should  not  set  merely  a  single
                       halftone  screen  ([1msetscreen[22m,  a  type-1  or  a  type-3
                       halftone  dictionary)  because  ghostscript's dithering
                       routine can in this case return non-monotonic levels of
                       black for monotonic input intensities.  However, if you
                       specify independent halftone information for the colour
                       components,  [1mgs  [22muses  a slower but more accurate algo-
                       rithm instead which does not lead to the  wrong  behav-
                       iour.  It is not necessary for the halftone information
                       to be different for  different  components  to  achieve
                       this.  Note that ghostscript installs separate halftone
                       screens for CMYK devices by default if  the  resolution
                       is at least 150 ppi.

                 Whenever you modify the halftone screens you should therefore
                 use a test file like [1mlevels-test.ps [22min the [1mpcl3  [22mdistribution
                 to  check whether you obtain the desired result.  In particu-
                 lar, you should count the number of intensities you can  dis-
                 tinguish  for  a  single colorant: if it is obviously not one
                 plus the number of pixels in the halftone cell times one less
                 than  the  number of hardware intensity levels, something has
                 gone wrong.  This is, for example, the case if you  specified
                 4 black levels and a 22 halftone cell, and you then can dis-
                 tinguish more than 1 + 43 = 13 intensity levels.  You should
                 also  watch  for  non-monotonic jumps in intensity and incom-
                 pletely filled shapes.

                 The value [1mFloyd-Steinberg [22mselects Floyd-Steinberg error  dif-
                 fusion  as the method for rendering intensities.  Use this in
                 particular for printing photographs and other documents  with
                 a large number of colours or small irregular shapes.  Regret-
                 tably, [1mpcl3[22m's speed is much slower with this method  than  in
                 the other cases, hence this value should only be used when it
                 is  really  needed  (e.g.,  when  you   run   into   one   of
                 ghostscript's  halftoning  problems)  or  when  the  delay is
                 acceptable.

                 If you are using ghostscript 5.50 and the page to be rendered
                 needs  a  lot of memory (this applies in particular to [1mFloyd-[0m
                 [1mSteinberg [22min colour) a core dump  may  result  under  certain
                 circumstances.   You  can  get  around this by increasing the
                 [1mMaxBitmap [22mparameter or by switching to  a  newer  ghostscript
                 version.

       [1m-dLeadingEdge=[4m[22medge[0m
                 This  option  can  be used to specify which edge of the sheet
                 will enter the printer first.  The permitted values  identify
                 this  edge  by  reference  to the orientation of default user
                 space on  the  sheet  when  printing  with  default  settings
                 (except  for  [1mLeadingEdge[22m)  and  a  page size having width <=
                 height ("canonical page in portrait orientation"):


                 [1mnull   [22mNo request for media orientation
                    [1m0   [22mShort edge; top of canonical page
                    [1m1   [22mLong edge; right side of  canoni-
                        cal page
                    [1m2   [22mShort  edge;  bottom of canonical
                        page
                    [1m3   [22mLong edge; left side of canonical
                        page

                 As  far  as  I  know, given a particular PCL-3+ printer and a
                 particular media size, you cannot choose between  short  edge
                 first (0 or 2) and long edge first (1 or 3): this orientation
                 is prescribed by the manufacturer and should be documented in
                 your  printer's  manual.   If  in doubt, use short edge first
                 when inserting the medium.

                 The default value for [4medge[24m is [1mnull[22m.  This leads either  to  0
                 or  to 3, depending on whether the subdevice normally expects
                 media of this size to be fed short edge first  or  long  edge
                 first.   See  the  subsection [4mMedia[24m [4mSizes[24m [4mand[24m [4mOrientations[24m in
                 the [4mDESCRIPTION[24m section above for details.

                 If you find that you can't set this parameter from PostScript
                 but  you can set it from the command line, ghostscript's [1mset-[0m
                 [1mpagedevice [22mdefinition probably does not pass the parameter to
                 drivers.   Read the [1mgs-mods.txt [22mfile in the [1mpcl3 [22mdistribution
                 on how to fix this.

       [1m-dManualFeed[=[4m[22mboolean[24m[1m][0m
                 It is possible to request a DeskJet printer  to  wait  before
                 each  page  of  a  document  until  the  Load/Eject button is
                 pressed on the printer.   This  is  intended  for  situations
                 where  some  special  medium  is used or the medium has to be
                 inserted into an input slot holding only one sheet at a time.
                 The default setting for this option is [1mfalse[22m.

                 In PCL, manual feed is established by requesting a particular
                 media source (2), hence you should expect that  setting  this
                 parameter  will  interfere  with the input tray selection via
                 [1mInputAttributes [22m(see the [4mMedia[24m [4mSources[24m [4mand[24m [4mDestinations[24m  sub-
                 section in the [4mCONFIGURATION[24m section below).

       [1m-sMediaConfigurationFile=[4m[22mpathname[0m
                 This  option  must specify an existing file containing a list
                 of supported media sizes, sheet orientations and  correspond-
                 ing  margin  descriptions  for  the  printer.  This will take
                 precedence over the builtin  subdevice-specific  lists.   The
                 format  of the file is described in the [4mCONFIGURATION[24m section
                 below.  This option is primarily intended to be used with the
                 subdevices [1munspecold [22mand [1munspec[22m.

                 The  default is not to use a media configuration file but the
                 builtin lists.  However, a media file path can also be speci-
                 fied  at  compile  time  overriding the default behaviour for
                 [1munspec [22monly.   Using  the  [1mMediaConfigurationFile  [22moption  in
                 addition will take precedence over the compiled-in media file
                 path.

       [1m-dMediaPosition=[4m[22mposition[0m
                 This option sets the standard PostScript page device  parame-
                 ter  [1mMediaPosition [22mto the specified value.  The integer [4mposi-[0m
                 [4mtion[24m identifies an input tray for feeding media from and must
                 refer  to an existing entry in the [1mInputAttributes [22mdictionary
                 (see the [4mMedia[24m [4mSources[24m [4mand[24m  [4mDestinations[24m  subsection  in  the
                 [4mCONFIGURATION[24m  section  below)  in order to take effect.  The
                 media selection process will use this entry in preference  to
                 others provided it matches the media request.  The default is
                 not to request a particular tray by position but to look  for
                 a  best  match  based  on other properties.  As ghostscript's
                 default configuration defines  only  one  entry  in  [1mInputAt-[0m
                 [1mtributes  [22mthis  option is ineffective unless you modify [1mInpu-[0m
                 [1mtAttributes[22m.

                 With current ghostscript versions you can't use this  parame-
                 ter  to  select a negative [4mposition[24m.  The driver will issue a
                 warning  if  you  attempt  it.   If  the  entry  is  actually
                 selected,  a  [1mrangecheck  [22merror from ghostscript will follow.
                 This restriction applies only to this device  parameter,  not
                 to  permissible  values  for  position  numbers  in  [1mInputAt-[0m
                 [1mtributes[22m: if you want to use a negative [4mposition[24m, you can  do
                 so  by  making  sure that it is the only matching entry or by
                 selecting it via [1mPriority[22m.

       [1m-sMedium=[4m[22mmedium[0m
                 This option selects the type of medium you wish to  print  on
                 as  far  as the printer needs to know about it.  The possible
                 choices are:


                 [1m0   plain paper[0m
                 [1m1   bond paper[0m
                 [1m2   HP Premium paper[0m
                 [1m3   glossy paper[0m
                 [1m4   transparency film[0m
                 [1m5   quick dry glossy[0m
                 [1m6   quick dry transparency[0m

                 The default is [1mplain paper[22m.  For [4mmedium[24m, you can specify  the
                 full  strings  (these  are the standard values), the (in some
                 cases) one-word  strings  resulting  from  dropping  "paper",
                 "film", and "HP", or an integer.  Out-of-range numerical val-
                 ues generate a warning but are passed through to the  printer
                 if  you  are  using  a  group-3 subdevice.  If you don't, the
                 effect is the same as specifying [1mplain paper[22m.  The  values  5
                 and  6 are unknown to most DeskJets; the only official excep-
                 tion I know of is the HP 2000C printer.  Your printer's  man-
                 ual should tell you which kinds of medium are supported.

       [1m-dOnlyCRD[=[4m[22mboolean[24m[1m][0m
                 This  parameter  influences the PCL code generated and should
                 only be specified for group-3 DeskJets.  The default value is
                 [1mfalse  [22mand leads to the new PCL command Configure Raster Data
                 being used only when it is necessary.  Specifying [1mtrue  [22mleads
                 to Configure Raster Data being used even in those cases where
                 older commands would be sufficient.

                 There are indications that printers with  a  PCL  dialect  of
                 "PCL  Level  3 enhanced" need a value of [1mtrue [22mfor this option
                 to enable some of their functionality.

       [1m-sPageCountFile=[4m[22mpathname[0m
                 The [4mpathname[24m must specify either a  non-existent  file  in  a
                 directory  with  write  permission  or a writable file with a
                 single line containing a non-negative integer.  In the  first
                 case,  [1mpcl3  [22mwill  create  the  file and insert the number of
                 pages printed, in the second case the number will  be  incre-
                 mented  by  that amount.  Parallel invocations of [1mgs [22mare per-
                 mitted to use the same file.  [1mpcl3 [22mwill also make the initial
                 page count available in its page device dictionary.

                 This  option  is mainly intended for spooler backends calling
                 [1mpcl3[22m.  It can be used to keep track of the  total  number  of
                 pages  printed  and also for per-job accounting.  I recommend
                 using this option for the first purpose and to make a note of
                 the  values  in the resulting files whenever you insert a new
                 ink cartridge.  This will enable you to get an indication  of
                 how  much  a  printed  page costs, and hence why it is a good
                 idea to use [1mdraft  [22mquality  whenever  possible  and  why  you
                 should have bought a laser printer.

                 The driver can be compiled without this option present but on
                 a UNIX system I would not expect this to be  done  unless  [1mgs[0m
                 offers  the same functionality in a driver-independent manner
                 which it currently does not.

                 [1mpcl3 [22mis distributed with example files [1mif-pcl3 [22mand  [1mcups-pcl3[0m
                 of Berkeley and CUPS spooler backends using this option.

       [1m-sPCLInit1=[4m[22mstring[24m [4mand[24m [1m-sPCLInit2=[4m[22mstring[0m
                 These  options  can be used to insert additional PCL commands
                 into [1mpcl3[22m's output.  Strings given to [1mPCLInit1 [22mwill  be  sent
                 immediately  after  the  initial  Printer  Reset command, the
                 value of [1mPCLInit2 [22mwill be emitted shortly before  the  raster
                 data of the first page.  The default is not to send any addi-
                 tional commands.

                 Don't use any of these options unless you understand  PCL  or
                 someone  who does tells you which value to choose under which
                 circumstances.

                 Because not every possible [4mstring[24m value can  be  passed  from
                 the  command line, these parameters are best set from a Post-
                 Script file.

       [1m-sPJLJob=[[4m[22mjobname[24m[1m][0m
                 This option can be used to surround the generated  file  with
                 Printer Job Language (PJL) commands declaring it to be a sin-
                 gle print job called [4mjobname[24m.  If you omit [4mjobname[24m, you  cre-
                 ate  an unnamed job.  The string [4mjobname[24m may not contain dou-
                 ble quotes or control characters  except  HT  (the  forbidden
                 byte codes are 0 to 8, 10 to 31, and 34).

                 Use  this option if your printer understands PJL and you dis-
                 cover either that settings for one job influence the  follow-
                 ing job or that the printer does not recognize the end of the
                 job (lights remain flashing or a control panel still displays
                 a  processing  message).   If you send the generated PCL file
                 through  a  PJL  filter,  in  particular  one  querying   the
                 printer's state, omit this option and use the filter for this
                 purpose instead.

       [1m-sPJLLanguage=[4m[22mlanguage[0m
                 If a printer supports several command languages and PCL 3+ is
                 not the default, the printer must be told to switch to PCL 3+
                 at the beginning of the print job.  Hewlett-Packard's  print-
                 ers  use  a  Printer Job Language (PJL) command for this pur-
                 pose.  Specifying this option will switch the printer to [4mlan-[0m
                 [4mguage[24m  for the duration of the job and back to the default at
                 the end.

                 This option is not usually necessary except  that  there  are
                 indications  that printers with a PCL dialect of "PCL Level 3
                 enhanced" need [1m-sPJLLanguage=PCL3GUI [22mto enable some of  their
                 functionality.

                 You  should  never  use the option unless you have a reliable
                 source for the values of [4mlanguage[24m accepted by  your  printer,
                 for  example the output from [1mpcl3opts [22mfor a file generated by
                 an official driver for the printer  in  question.   Values  I
                 have seen so far are PCLSLEEK and PCL3GUI.

                 If you send the generated PCL file through a PJL filter, omit
                 this option and use the filter for this purpose instead.

       [1m-sPrintQuality=[4m[22mquality[0m
                 There are three print quality settings:


                 [1m-1   draft [22mor [1mecono[0m
                  [1m0   normal[0m
                  [1m1   presentation [22mor [1mbest[0m

                 The default is [1mnormal[22m.  You may specify  the  strings  or  an
                 integer.  Out-of-range numerical values will generate a warn-
                 ing but are  passed  through  to  the  printer  if  you  have
                 selected  a group-3 subdevice.  If you haven't, the effect is
                 the same as specifying [1mnormal[22m.

       [1m-dRasterGraphicsQuality=[4m[22mquality[0m
                 This option is only available  for  old  DeskJets  (including
                 [1munspecold[22m) and controls a trade-off between quality and print
                 speed.  The possible values for [4mquality[24m are:


                 [1m0   [22mUse current control panel setting
                 [1m1   [22mDraft
                 [1m2   [22mHigh

                 Specifying this option overrides the  default  value  derived
                 from [1mMedium [22mand [1mPrintQuality[22m.

       [1m-dSendBlackLast[=[4m[22mboolean[24m[1m][0m
                 When  printing  with  four inks, a PCL-3+ printer expects the
                 colour information for a row of pixels in  the  order  black,
                 cyan, magenta, and finally yellow (KCMY).

                 There  exists  at  least  one  printer (Olivetti JP792) which
                 claims to accept PCL 3+ but  expects  the  colour  planes  to
                 arrive  in  the  order CMYK.  If you have a printer with this
                 property, use this option.  The default value is [1mfalse[22m.

       [1m-dSendNULs=[4m[22mnumber[0m
                 Most HP drivers for newer DeskJet printers generate PCL files
                 starting  with a sequence of 600 NUL characters, at least one
                 uses even 9600 NULs.  I have seen no  documentation  of  this
                 feature  but I assume that in PCL the NUL character demands a
                 null operation, i.e., does nothing.  Just in case such a  NUL
                 sequence  is  useful under certain circumstances, this option
                 can be used to request it.  (It has been suggested that  this
                 is  needed  to  get the printer to accept new PCL commands if
                 the previous print job was aborted in the middle  of  a  com-
                 mand.)   The value [4mnumber[24m specifies the number of NUL charac-
                 ters to send and must not be negative.  The default is  zero.
                 Note  that  initial NULs might confuse spooler backends which
                 try to determine the file type from the first  few  bytes  of
                 the file contents.

                 There  is no point in using this option if some other command
                 in your print pipeline will add Printer  Job  Language  (PJL)
                 commands to the [1mpcl3[22m-generated file.

       [1m-dShingling=[4m[22mshingling[0m
                 This option is only available for group-2 DeskJets (including
                 [1munspecold[22m) and controls the number of passes the  print  head
                 makes  over  the medium.  A higher number permits more neigh-
                 bouring pixels to be  printed  in  separate  passes,  thereby
                 reducing  the  likelihood  of the ink spreading into the next
                 pixel.  The possible values for [4mshingling[24m are:


                 [1m0   [22mNo shingling
                 [1m1   [22m2 passes (50% each pass)
                 [1m2   [22m4 passes (25% each pass)

                 Specifying this option overrides the  default  value  derived
                 from [1mMedium [22mand [1mPrintQuality[22m.

       [1m-sSubdevice=[4m[22msubdevice[0m
                 This option identifies the printer model for which the gener-
                 ated file  is  intended.   The  following  names  (mostly  of
                 Hewlett-Packard DeskJet printers) are accepted for [4msubdevice[24m:

                        [1mhpdj[22m,   [1mhpdjplus[22m,   [1mhpdjportable[22m,   [1mhpdj310[22m,  [1mhpdj320[22m,
                        [1mhpdj340[22m, [1mhpdj400[22m, [1mhpdj500[22m, [1mhpdj500c[22m, [1mhpdj510[22m, [1mhpdj520[22m,
                        [1mhpdj540[22m,   [1mhpdj550c[22m,   [1mhpdj560c[22m,  [1munspecold[22m,  [1mhpdj600[22m,
                        [1mhpdj660c[22m,  [1mhpdj670c[22m,  [1mhpdj680c[22m,  [1mhpdj690c[22m,   [1mhpdj850c[22m,
                        [1mhpdj855c[22m, [1mhpdj870c[22m, [1mhpdj890c[22m, [1mhpdj1120c[22m, [1munspec[22m.

                 The  correspondence  with  the  real printer name is, I hope,
                 obvious.  Note that [1mhpdj [22mdoes  not  select  the  [1mhpdj  [22mdriver
                 (this  driver's  predecessor)  but configures the [1mpcl3 [22mdriver
                 for the "classical" HP DeskJet.

                 With the exception of [1mhpdj[22m, [1munspec  [22mand  [1munspecold[22m,  your  [1mgs[0m
                 binary  might  support  the  subdevice  names  also as device
                 names, i.e., instead  of  specifying  [1m-sDEVICE=pcl3  -sSubde-[0m
                 [1mvice=[4m[22msubdevice[24m you might be able to write [1m-sDEVICE=[4m[22msubdevice[24m.
                 Check ghostscript's list of available  devices  to  find  out
                 whether this is the case ([1mgs -h[22m).

                 The  choice  of  subdevice primarily determines which resolu-
                 tions, colour models, intensity levels and  media  sizes  the
                 driver will accept, where the output will appear on the page,
                 and to some extent what PCL code the  driver  will  generate.
                 Several of the subdevices are treated identically.

                 The  default  subdevice  is  [1munspec[22m.   It is intended for new
                 PCL-3+ printers not explicitly supported by this driver.  For
                 [1munspec[22m,  all subdevice-specific checks (e.g., supported reso-
                 lutions) are turned off.  Supported media  sizes  and  margin
                 settings  are  assumed  to  be  identical  with those for the
                 DeskJets 850C/855C/870C/890C, but you can and should use  the
                 [1mMediaConfigurationFile  [22moption or its compile-time equivalent
                 to override this.  The  PCL  code  generated  assumes  a  new
                 DeskJet  in the sense that it should be at least of the level
                 of a DeskJet 540 supporting the PCL commands Media  Type  and
                 Print  Quality.  If you specify unequal horizontal and verti-
                 cal resolutions or more than two levels of intensity per col-
                 orant  and pixel, the printer must in addition understand the
                 Configure Raster Data command.

                 The subdevice [1munspecold [22mis similar but behaves like a DeskJet
                 560C.   It supports all colour models and all uniform resolu-
                 tions (the horizontal resolution is  equal  to  the  vertical
                 resolution).

                 If you choose to use [1munspec [22mor [1munspecold [22mit is your responsi-
                 bility to ensure that [1mpcl3 [22mis only called with parameter val-
                 ues  the  printer  can handle.  This applies in particular to
                 the resolution and the intensity levels.

                 If you set this parameter from a PostScript document you must
                 know  that doing this re-initializes most of the [1mpcl3 [22mparame-
                 ters to their default values.  If you set several page device
                 parameters  in  a  single  [1msetpagedevice  [22mcall  the [1mSubdevice[0m
                 option will be treated first.

       [1m-dTumble[=[4m[22mboolean[24m[1m][0m
                 When duplex printing is requested ([1m-dDuplex[22m), this  parameter
                 specifies  whether  the  y  axes of PostScript's default user
                 space on the two sides of the sheet (assumed to use the  same
                 page  size) point to the same edge or to opposite edges.  The
                 default value [1mfalse [22mindicates the same edge  and  is  usually
                 suitable  for  binding on the left while [1mtrue [22mindicates oppo-
                 site edges and should be used for binding at the top.

                 You should note that the interpretation of [1mTumble  [22mrefers  to
                 default  user  space: if a PostScript program has rotated the
                 user space coordinate  system  the  association  between  the
                 page's apparent "up" direction and the binding edge will usu-
                 ally not be the one desired.  You should watch  for  this  in
                 particular when creating output in landscape orientation from
                 an application still generating PostScript Level 1 code.   If
                 a  ghostscript screen driver like [1mx11 [22mdisplays the pages with
                 the right side up you should have  nothing  to  worry  about,
                 even in the case of landscape orientation.  (You must call [1mgs[0m
                 directly for this test, not via [1mghostview[22m.)  If the  orienta-
                 tion  between  the  two sides turns out to be wrong, you will
                 have to print again with the opposite value for  [1mTumble[22m.   If
                 that does not help and you have a printer supporting only one
                 of the two possible duplex orientations, check  the  relative
                 order  of  [1mrestore  [22mand  [1mshowpage [22min the document you printed
                 (see the [1mDuplexCapability [22moption above).

       [1m-dUseCard[=[4m[22mvalue[24m[1m][0m
                 This option should only be given when printing on A6 and with
                 a  printer  like  the  HP  DeskJet  1120C which distinguishes
                 between A6 sheets and A6 postcards.  The option can  be  used
                 to specifically request one of the alternatives.  The default
                 [4mvalue[24m is [1mnull [22mand means that sheets are  preferred  to  post-
                 cards, but either is acceptable if supported.  The other per-
                 mitted values are [1mtrue [22mand [1mfalse[22m.

                 This option applies to all page sizes set  while  ghostscript
                 executes  and  this includes the default size set at startup.
                 If you wish to use [1m-dUseCard=true [22myou will therefore  usually
                 have  to  specify the [1mPAPERSIZE [22moption in the call, otherwise
                 an error will occur because there is no postcard variant  for
                 the usual default sizes (ISO A4 and US Letter).

   [1mOption Combinations for Hardware Parameters[0m
       Not  all  combinations of colour model, resolution, number of intensity
       levels, print quality and  media  type  are  accepted  or  make  sense.
       Unfortunately,  Hewlett-Packard  does  not  publicly release sufficient
       information to find the best possible combinations.  A good way to find
       reasonable  settings  is to use [1mpcl3opts [22mon files generated by an offi-
       cial  driver  for  the  printer.   You  should  also  check  the   file
       [1mreports.txt  [22min  the [1mpcl3 [22mdistribution.  In addition, I'll provide some
       remarks here.

       As a general rule, it is unprofitable to use a  finer  resolution  than
       300  ppi  or more than 2 intensity levels for draft quality.  A coarser
       resolution in particular can reduce the time  needed  to  generate  and
       transmit  the  file  to  the printer.  Combined with draft quality this
       leads to what HP calls an "EconoFast" mode.

       As an exception, here are recommendations based on official HP documen-
       tation  for  the DeskJet 1120C.  The table lists the resolution and the
       number of black or black and CMY levels if not 2.

              Quality        Gray                CMYK
              ---------------------------------------------------------
              draft          300 ppi             300 ppi
              normal         300 ppi, 4 levels   300 ppi, (4,3) levels
              presentation   600 ppi             300 ppi, (4,4) levels

       These seem reasonable values for the supported series-800  DeskJets  as
       well.

   [1mChecking Page Device Parameters[0m
       As  for all ghostscript drivers, [1mpcl3[22m's command line options correspond
       to identically-named PostScript page device parameters and are accessi-
       ble  in the usual way.  In particular, it is possible to read the value
       of a parameter by letting [1mgs [22mexecute a command like

              currentpagedevice /[4mparameter[24m get ==

       where [4mparameter[24m is the name of the parameter one would like to inspect,
       for  example  [1mBlackLevels[22m.   This is useful if you are in doubt whether
       the driver has accepted your options.  Of course,  for  printer-visible
       parameters you can also use [1mpcl3opts [22mon the output file.

       The  ghostscript  distribution  contains a program [1muninfo.ps [22mwhich dis-
       plays the page device  dictionary  on  standard  output  but  does  not
       resolve  nested dictionaries.  The [1mpcl3 [22mdistribution contains a similar
       program [1mdumppdd.ps [22mwhich does not have this limitation.

[1mCONFIGURATION[0m
   [1mMedia Configuration File[0m
       A [4mmedia[24m [4mconfiguration[24m [4mfile[24m ([4mmedia[24m [4mfile[24m for short) can be used to  over-
       ride the builtin subdevice-specific lists of supported media sizes and,
       for each size, the sheet orientation in the input tray and the  margins
       enforced by the printer.  This feature is mainly intended to be used in
       conjunction with [1munspec [22mand [1munspecold[22m: if you have a model not directly
       supported  by this driver, look up the supported media sizes, the rules
       for inserting media and the corresponding  printable  regions  in  your
       printer's manual and enter them in a media file.

              [1mCaution:[0m

              Entering  a media size in the file which is not really supported
              by your printer is not useful: the PCL interpreter  will  simply
              ignore  the request to set this size, and printer and driver may
              have diverging opinions about what the margins will be.  If  you
              need  to  print  on  a  medium  of  a size not supported by your
              printer, choose a larger and  printer-supported  size  in  Post-
              Script  or  via [1mFIXEDMEDIA[22m, shift the image if necessary, estab-
              lish properly-positioned clipping regions within the real  size,
              and  print.  Or you could use a suitable page size recovery pol-
              icy for PostScript's media selection process.  However,  if  you
              have  a  newer DeskJet supporting custom page sizes, all this is
              not necessary.

       Margin specifications are important for two reasons: the values for the
       left  and  top  margins  determine  how the output is positioned on the
       page, and sufficiently large values for the right  and  bottom  margins
       prevent  the  print  head being caught at the paper's edge and printing
       beyond the sheet, respectively.  Because DeskJet printers usually  have
       an  inconveniently large bottom margin (usually 0.4-0.8 inches or 10-20
       mm), one might be tempted to specify smaller values than listed in  the
       printer's  manual.   However,  one  user  reported that this led to the
       printer depositing a large wet blob of black ink at the bottom  of  the
       page.

       A  line in the media file can be blank, a comment line (first non-blank
       character is '[1m#[22m'), or one of the following:

              [1munit   [4m[22munit[0m
              [4msize[24m   [4mleft[24m [4mbottom[24m  [4mright[24m [4mtop[0m

       A [1munit [22mline specifies in which units margin specifications in the  fol-
       lowing lines should be interpreted.  [4munit[24m can either be [1min [22m(inch) or [1mmm[0m
       (millimetre) with [1min [22mbeing the default.  A unit  specification  remains
       in force until overridden by a following [1munit [22mline.

       The  second  kind  of  line states that the model supports a particular
       media configuration and specifies the hardware  margins  in  force  for
       that case.  The [4msize[24m word consists of two parts: a keyword denoting the
       extension and an optional suffix.  The following keywords are  accepted
       (entries  marked  with  an asterisk (*) are those used by the subdevice
       [1munspec [22mif no media file is employed; entries with  a  section/paragraph
       sign () similarly identify the sizes used by [1munspecold[22m):


            [1mIndex3x5in   [22mUS index card 3  5 in
              [1mEnvChou4   [22mJapanese long envelope #4 (90  205
                         mm)
            [1mEnvMonarch   [22mUS Monarch envelope  (3.875    7.5
                         in)
             *[1mPostcard   [22mJapanese Hagaki card (100  148 mm)
           *[1mIndex4x6in   [22mUS index card 4  6 in
               *[1mEnv10   [22mUS no. 10 envelope (4.125  9.5 in)
                    [1mA6   [22mISO/JIS A6 (105  148 mm)
               *[1mA6Card   [22mISO/JIS A6 postcard (105  148 mm)
               *[1mEnvDL   [22mISO DL envelope (110  220 mm)
              [1mEnvUS_A2   [22mUS A2 envelope (4.375  5.75 in)
                *[1mEnvC6   [22mISO C6 envelope (114  162 mm)
              [1mEnvChou3   [22mJapanese  long  envelope  #3 (120 
                         235 mm)
           *[1mIndex5x8in   [22mUS index card 5  8 in
             [1mStatement   [22mUS Statement (5.5  8.5 in)
        [1mDoublePostcard   [22mdouble Postcard (148  200 mm)
                   *[1mA5   [22mISO/JIS A5 (148  210 mm)
                 [1mEnvC5   [22mISO C5 envelope (162  229 mm)
                 [1mISOB5   [22mISO B5 (176  250 mm)
                *[1mJISB5   [22mJIS B5 (182  257 mm)
           *[1mExecutive   [22mUS Executive (7.25  10.5 in)
                  *[1mA4   [22mISO/JIS A4 (210  297 mm)
              *[1mLetter   [22mUS Letter (8.5  11 in)
               *[1mLegal   [22mUS Legal (8.5  14 in)
              [1mEnvKaku2   [22mJapanese Kaku envelope (240    332
                         mm)
                 [1mJISB4   [22mJIS  B4  (257    364 mm).  This is
                         distinct from ISO  B4  (250    353
                         mm).
               [1mTabloid   [22mUS  Tabloid  (11   17 in; in land-
                         scape   orientation   also   called
                         "Ledger")
                    [1mA3   [22mISO/JIS A3 (297  420 mm)
              [1mHPSuperB   [22mwhat HP calls Super B (13  19 in)
       *[1mCustomPageSize   [22mcustom page size

       Note the difference between [1mA6 [22m(sheet) and [1mA6Card [22m(postcard).  I do not
       know why Hewlett-Packard associates this distinction  with  media  size
       instead  of  media  type.  However, with the exception of the 1120C all
       DeskJet printers I know of use only [1mA6Card [22manyway.

       In looking at your printer's documentation, bear in mind that a  driver
       might  support  more  sizes  than the printer accepts; [1mpcl3 [22mneeds to be
       given the latter values.  If you are in doubt what your printer  under-
       stands, [1mpcl3opts [22mcan tell you which media size another driver requests.

       Custom  page sizes are not understood by older printers and may be used
       in a media file only for the subdevices [1mhpdj540[22m, [1mhpdj6[4m[22mnn[24m[1m[c][22m,  [1mhpdj8[4m[22mnn[24m[1mc[22m,
       [1mhpdj1120c[22m,  and [1munspec [22m(group 3).  In these cases you can print, within
       certain limits, on arbitrarily-sized media.   The  driver  knows  these
       limits  and refuses to generate a file if you exceed them.  For [1munspec[22m,
       there are no limits.  [1mpcl3 [22mwill tell the printer  to  expect  a  custom
       page size only if there is no fitting discrete entry.

       Although  it  is possible, on those printers which support it, to use a
       media configuration file containing only a custom page  size  entry,  I
       advise against it because this size specification is only intended as a
       last resort.  If you have a custom page size entry in the  media  file,
       you  should therefore list [4mall[24m discrete sizes supported by your printer
       or at least those which you expect to use.

       The size keyword in the [4msize[24m field can be  extended  by  the  following
       strings:

       [1mBig       [22mFor  [1mpcl3[22m, this suffix means banner printing.  In these cases
                 the top and bottom margins are  usually  zero.   HP  DeskJets
                 supporting  banner printing do so only for ISO A4 and US Let-
                 ter.  Your media file should then  contain  entries  for  the
                 [4msizes[24m [1mA4[22m, [1mA4Big[22m, [1mLetter[22m, and [1mLetterBig[22m.

       [1m.Transverse[0m
                 By  default, [1mpcl3 [22massumes that the media listed are fed short
                 edge first.  If you specify this qualifier, the  driver  will
                 assume  that  you  are  going to feed media of this size long
                 edge first.  If, for example, your  printer's  manual  states
                 that  envelopes of size ISO DL should be fed long edge first,
                 the corresponding [4msize[24m field in your media file  should  con-
                 tain the string [1mEnvDL.Transverse[22m, not [1mEnvDL[22m.

                 This  specification  (or  its absence) can be overridden with
                 the option [1mLeadingEdge [22min the call.

       The builtin lists for the [1munspec [22mand [1munspecold [22mdevices do  not  contain
       size entries with any of these suffixes.

       Every   media   file   must  contain  at  least  an  entry  which  fits
       ghostscript's default page size, usually ISO A4  or  US  Letter.   Only
       those  sizes  which are listed will be accepted by [1mpcl3[22m.  This is inde-
       pendent of a [1m.Transverse [22msuffix.  If there are several entries  in  the
       media file with the same [4msize[24m value, only the first is used.

       The  margins in a size entry should be valid for monochrome printing in
       raster graphics mode.  If a non-monochrome colour model is selected and
       unless  the  bottom  margin  is exactly zero, it will be increased by a
       subdevice-specific amount.  This increment is zero  for  [1munspecold  [22mand
       [1munspec[22m.

       The  orientation  of  the  margins refers to the feeding direction: you
       should imagine holding the sheet such that the leading edge is  at  the
       top  and  the  side  to  be printed on is towards you.  Be careful with
       envelopes: older (pre-1997) HP documentation usually gives the  margins
       in landscape orientation even for those printers where the envelope has
       to be fed short edge first.  You can check  this  by  looking  for  the
       largest margin value: if it is on the left instead of at the bottom you
       almost certainly have such a landscape-based specification; rotate  the
       values by +90 degrees (quarter-circle counterclockwise) in these cases.
       The margins have to be specified as non-negative floating point numbers
       in  inches or millimetres as announced by the last preceding [1munit [22mline.
       The floating point format is that of the "C" locale.

       [1mpcl3 [22mis distributed with an example  of  a  media  configuration  file,
       [1mexample.mcf[22m.

   [1mPostScript Configuration Files[0m
       Sometimes it is desirable to execute additional PostScript commands for
       a particular file or possibly all files sent to a particular printer or
       print  queue.   With  ghostscript  this  is  easily possible because [1mgs[0m
       accepts several file names in the invocation and processes them sequen-
       tially.   This  is particularly appropriate for those PostScript opera-
       tors which affect device-specific features  and  should  therefore  not
       appear  in  a portable page description and for settings which would be
       part of the interpreter's persistent state when using a real PostScript
       printer.

       The  [1mpcl3  [22mdistribution  contains  examples  of filters [1mif-pcl3 [22mfor the
       Berkeley spooler [1mlpr(1) [22mand [1mcups-pcl3 [22mfor the Common UNIX Printing Sys-
       tem  [1mcupsd(8)[22m.   These filters permit the use of a print-queue-specific
       configuration file.

   [1mMedia Sources and Destinations[0m
       PostScript has a builtin mechanism for selecting media sources and des-
       tinations  based  on  certain properties of the document.  This usually
       requires a system administrator to set the [1mInputAttributes  [22mand  [1mOutpu-[0m
       [1mtAttributes [22mdictionaries in the device's page device dictionary accord-
       ing to the current state of the printer  and  its  intended  use.   For
       example,  if there are two input trays, one currently holding paper and
       the other transparencies, the administrator could configure  the  [1mInpu-[0m
       [1mtAttributes  [22mdictionary  such that print jobs requesting transparencies
       in a certain manner automatically fetch media from the second tray  and
       every job needing a size not currently available will terminate with an
       error message.  Unfortunately,  in  order  to  work  as  expected  this
       process usually also requires some additional action on the part of the
       entity generating the PostScript code to be printed.

       If your printer is capable of sensing certain properties  of  media  in
       the  input  tray  (e.g.,  media  size)  or  assumes a fixed association
       between media properties and input trays you must expect this function-
       ality to interfere with the process referenced here.

       In  the attributes dictionaries, each tray is identified by an integer,
       its [4mposition[24m [4mnumber[24m.  When ghostscript successfully matches  the  docu-
       ment's  requirements  with  trays  the  resulting  position numbers are
       accessible to the driver.  The [1mpcl3 [22mdriver uses these  numbers  (except
       0) directly as arguments for the PCL commands "Media Source" and "Media
       Destination", respectively.  For the Media Source values (input trays),
       I know of the following meanings:


              -1   banner printing
               1   default tray; portable CSF
                   (DJ  340);  tray   2   (HP
                   2500C)
               2   manual feed
               3   envelope feed
               4   desktop CSF (DJ 340); tray
                   3 (HP 2500C)
               5   tray 1 (HP 2500C)
               7   auto select (HP 2500C)

       You'll have to experiment with your printer to find  out  which  values
       are  accepted  and  what  their interpretation is.  In general, you can
       only expect 1 and 2 to work.   Unrecognized  values  should  be  simply
       ignored  by  the  printer  leading to the medium being fetched from the
       default tray.  To shorten the search, use [1mpcl3opts [22mif you can in  order
       to  find out which values other drivers generate.  Don't bother testing
       the value 0: in PCL its effect is to eject a page and, as this  is  not
       needed,  [1mpcl3  [22muses  it  to  mean  that  no  particular  tray should be
       selected.

       I do not know of any PCL-3+ printer supporting  more  than  one  output
       tray,  hence  the corresponding implementation is based on the specula-
       tion that such a feature, if made available, would use the same command
       as  in  PCL 5.   Again,  a value of zero is used by [1mpcl3 [22mto mean "don't
       select a particular tray".

       Ghostscript's default configuration defines [1mInputAttributes [22mand  [1mOutpu-[0m
       [1mtAttributes  [22mdictionaries with one entry each, having position number 0
       in both cases, and maps all requests to these positions.  As  explained
       above, this configuration will lead to [1mpcl3 [22mnot requesting any particu-
       lar input or output tray.  If you wish to modify this you  should  con-
       sult  a  PostScript manual, for example the sections 6.2.1 and 6.2.4 in
       the [4mPostScript[24m [4mLanguage[24m [4mReference[24m.  However, I'll  present  here  three
       examples  without explanation.  In all cases, the PostScript code shown
       should be executed before the document to be printed.

       The first example is intended for situations where you always  wish  to
       select a specific input tray:

              <<
                /InputAttributes <<
                  0 null
                  [4minput[24m << /PageSize [6 6 524287 524287] >>
                >>
              >> setpagedevice

       Replace  [4minput[24m with the number of the tray you wish to use.  The second
       example does the same for the output tray:

              <<
                /OutputAttributes <<
                  0 null
                  [4moutput[24m << >>
                >>
              >> setpagedevice

       Replace [4moutput[24m with the number of the tray you wish to use.

       For the final example assume that you have one input tray, filled  with
       media of a certain default size, and you wish all print jobs requesting
       another size to automatically switch to manual feed so you  can  insert
       these special sheets at leisure.  In that case, let [1mgs [22mexecute the fol-
       lowing PostScript code:

              <<
                /InputAttributes <<
                  0 << /PageSize [[4mwidth[24m [4mheight[24m] >>
                  2 << /PageSize [6 6 524287 524287] >>
                  /Priority [0 2]
                >>
              >> setpagedevice

       For [4mwidth[24m and [4mheight[24m you must insert  the  actual  dimensions  of  your
       default  size  in  units  of 1 bp ("big point", 1/72 inch, roughly 0.35
       mm); the tolerance is 5 bp.  In contrast to a document's page size, the
       orientation is irrelevant here.

       If  you drop the second entry and the [1mPriority [22mline in the last example
       you obtain a configuration where ghostscript will refuse to  print  any
       document  not  requesting  the specified media size.  If you retain the
       two lines and you are using the  [1munspecold  [22mor  [1munspec  [22mdevices  it  is
       advisable  to insert your printer's actual size bounds instead of those
       given above.  This will protect you against printing on some sizes  not
       supported by your printer.

   [1mBanner Printing[0m
       Some printers support printing on continuous forms, also called banners
       or z-fold media.  Your printer's manual should tell you whether this is
       supported and in particular how to load these media.

       In  order  to print on continuous media with [1mpcl3[22m, configure it as fol-
       lows:

            Make sure that input position number -1 will be selected (see the
             subsection [4mMedia[24m [4mSources[24m [4mAnd[24m [4mDestinations[24m above).

            In  the  call  to  [1mgs[22m, select a subdevice supporting the intended
             "[1mBig[22m" size.  By default, only the subdevices  [1mhpdj680c[22m,  [1mhpdj690c[0m
             and [1mhpdj1120c [22msupport banner printing ([1mA4Big [22mand [1mLetterBig[22m).

       Don't forget to prepare the printer as well.

   [1mCorrecting Offsets[0m
       A  media configuration file is intended to adapt [1mpcl3 [22mto the difference
       in margin settings between printer models and  should  usually  contain
       "official" information, preferably taken from the model's manual.

       A  different  situation  arises if a particular printer's output is not
       properly positioned on the page even if the margin information is  cor-
       rect  for this model.  PostScript defines two arrays in the page device
       dictionary for correcting such misadjustments, both containing two num-
       bers  describing  a  desired  shift  of  the page image with respect to
       device space coordinate axes but in different units.  The values in the
       `[1mMargins[22m'  array  are  interpreted  with respect to a canonical default
       resolution, the newer `[1mPageOffset[22m' array is taken to  be  in  units  of
       1/72  inch  ("big  points", bp).  For [1mpcl3 [22mthe device coordinate system
       has an x axis pointing to the right and a  y  axis  pointing  downwards
       when looking at the sheet with the leading edge at the top and the side
       to be printed on towards you.  The canonical default resolution is  300
       ppi.

       As  an example, assume your printer shifts its output 1 mm to the right
       and 0.5 mm upwards.  Now create a file containing either the PostScript
       code

              << /Margins [-11.8 5.9] >> setpagedevice

       ("shift 11.8 pixels to the left and 5.9 pixels down") or

              << /PageOffset [-2.8 1.4] >> setpagedevice

       ("shift  2.8  bp  to the left and 1.4 bp down") and have it executed by
       ghostscript before the file to be printed.

       The margin test files distributed with [1mpcl3 [22mcan be  used  to  determine
       the  necessary correction.  You should be aware that you have to expect
       fluctuations between individual print jobs, in particular in the  hori-
       zontal direction.

   [1mTransfer Functions[0m
       DeskJets usually produce prints which are too dark (too much ink on the
       page), most noticeably when using more than 2 intensity levels per col-
       orant.   In  this case you should perform [4mgamma[24m [4mcorrection[24m by modifying
       what PostScript calls [4mtransfer[24m [4mfunctions[24m.  In the simplest case, create
       a file containing the PostScript command

              {[4mnumber[24m exp} settransfer

       where  a  good  value  for  [4mnumber[24m is usually in the range 0.3-0.5, and
       specify this file in ghostscript's command line  before  the  file  you
       wish  to  print.  Now the intensities of all colorants will be rescaled
       by exponentiation with [4mnumber[24m.  Because PostScript intensity values are
       in  the  range zero to one with zero meaning dark and one meaning light
       (additive interpretation), a value of [4mnumber[24m < 1 will lead  to  lighter
       colours and [4mnumber[24m > 1 results in darker colours.

       The  best  value for [4mnumber[24m depends on the print quality, the number of
       intensity levels, the method chosen for intensity rendering,  the  kind
       of  medium  you  print  on,  and  the  properties of the document to be
       printed.

       Note that there is no  common  convention  for  the  interpretation  of
       stand-alone  gamma  values.  When dealing with other software you might
       for example find that the boundary between light and dark is at a value
       of 1000  and  that lighter colours are obtained with larger values.  In
       order to understand what a "gamma value" means you therefore  need  the
       complete  specification of the transfer function and, if the value does
       not refer to PostScript, also  information  on  the  interpretation  of
       intensity values.

       You  can also set independent transfer functions for the four colorants
       by using the operator [1msetcolortransfer [22mwhich expects four  routines  as
       arguments.  Consult a PostScript manual if you want to learn more about
       transfer functions.

       If you are using [1m-sIntensityRendering=halftones[22m, less than 32 intensity
       levels per colorant, a resolution below 800 ppi, and unless you explic-
       itly set transfer functions, [1mgs  [22mapplies  a  default  gamma  correction
       roughly corresponding to a value of 0.8 for [4mnumber[24m.

[1mLIMITATIONS[0m
   [1mGhostscript Version[0m
       This manual page contains statements relying on undocumented properties
       of ghostscript.  These statements are to my best knowledge  and  belief
       correct  for  current ghostscript versions but I do not check all these
       statements for every new version.

       If you are in doubt about a particular point, please check it yourself.

   [1mReliability[0m
       Hewlett-Packard does not  publicly  provide  sufficiently  detailed  or
       accurate  technical  information  to write a reliable driver for all of
       its PCL-3+ printers.  The amount and quality of  available  information
       differs  between printer models.  As a consequence, [1mpcl3 [22mcannot provide
       the same level of reliability for all of its devices.

       In my opinion the best-documented printers are those of the DeskJet-500
       series.  In addition, I have currently access to a DeskJet 850C which I
       have used for a number of  experiments.   Support  for  these  printers
       should be considered to be the most reliable.

       The  next  level  of  reliability belongs to the remaining printers for
       which subdevices exist.  In these cases I had at least access to  offi-
       cial  HP documentation on supported media sizes and associated hardware
       margins and in addition for almost all cases some  information  on  the
       supported  PCL  commands, sometimes complemented by PCL files generated
       by HP's official drivers and sent me by users.

       The third level of reliability is associated with  those  printers  for
       which people have sent success reports but for which I have no official
       information from HP.

       With decreasing reliability it becomes increasingly probable that there
       is  printer  functionality which is not accessible through [1mpcl3 [22mor even
       that this driver generates PCL code not accepted by the printer.

   [1mMixed Resolutions[0m
       Some printers are able to print with different  resolutions  for  black
       and CMY on the same region of a page.  For example, the best quality on
       a DeskJet 850C is achieved with 600 ppi for black and 300 ppi for  CMY.
       This is not supported by [1mpcl3[22m.

   [1mPhoto Cartridges[0m
       From  what I've heard, DeskJet printers with photo cartridges installed
       do not use a CMYK palette but instead one with 6 components.  I have no
       official  information  on  this interface and even if I had it wouldn't
       help because ghostscript does not currently support [1mDeviceN [22mas a native
       colour space.

   [1mCartridge Alignment[0m
       DeskJet  printers  with more than one ink cartridge present should usu-
       ally be configured for the proper  relative  alignment  of  these  car-
       tridges.   Apparently,  this  information is stored in not-immediately-
       volatile memory in the printer together with some  settings  (like  the
       default  media size) which are not relevant for printing with [1mpcl3[22m.  As
       I do not have information on how this is done, you will need to use one
       of HP's programs for this purpose.

       On  a Linux system, try installing and running HP's DOS DeskJet control
       panel [1mDJCP [22min the DOS emulator.  [1mDJCP [22mshould be present on one  of  the
       installation media you received with your printer.  One user managed to
       get this to work for a DJ 670C with DOSEMU 0.98  under  RedHat  5.2  by
       setting

              $_ports = "0x378 0x379"

       in [1mdosemu.conf[22m.  I was not successful on my Debian system.

       The  [1mpcl3 [22mdistribution contains a file [1mcalign.ps [22mwhich you can print if
       you wish to check to which extent the cartridges are aligned.

[1mKNOWN BUGS[0m
       There are no known bugs in [1mpcl3 [22mproper, but there do exist restrictions
       or  bugs  in  [1mgs  [22mwhich can lead to faulty behaviour when printing with
       [1mpcl3[22m.  As far as I noticed them they are mentioned in the body of  this
       manual page at the relevant points.

       You  can  find  an  up-to-date bug list for this driver via [1mpcl3[22m's home
       page on the Web.

[1mSEE ALSO[0m
       [1mgs(1)[22m, [1mpcl3opts(1)[0m

       [4mA[24m  [4mFirst[24m  [4mGuide[24m  [4mto[24m  [4mPostScript[24m  [4m(link[24m   [4mto[24m   [4mURL[24m   [4mhttp://www.cs.indi-[0m
       [4mana.edu/docproject/programming/postscript/postscript.html)[0m

       Adobe  Systems, [4mPostScript[24m [4mLanguage[24m [4mReference[24m [4m(link[24m [4mto[24m [4mURL[24m [4mhttp://part-[0m
       [4mners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf)[24m .  Third edition, 1999.

[1mAUTHOR[0m
       Copyright  2000, 2001  by  Martin  Lottermoser,  Greifswaldstrae  28,
       38124 Braunschweig, Germany.  E-mail: Martin.Lottermoser@t-online.de.

       [1mpcl3  [22mhas  a  [4mhome[24m  [4mpage[24m [4m(link[24m [4mto[24m [4mURL[24m [4mhttp://home.t-online.de/home/Mar-[0m
       [4mtin.Lottermoser/pcl3.html)[24m  on the Web.

       This is free software, released under the terms of the [4mGNU[24m [4mLesser[24m  [4mGen-[0m
       [4meral[24m  [4mPublic[24m  [4mLicense[24m  [4m(LGPL)[24m  [4m(link[24m  [4mto[24m  [4mURL[24m  [4mhttp://www.gnu.org/copy-[0m
       [4mleft/lesser.html)[24m , Version 2.1.  [4mUSE[24m [4mIT[24m [4mAT[24m [4mYOUR[24m [4mOWN[24m [4mRISK.[0m

       Version of this reference page: $Revision: 1.21  $  ($Date:  2001/08/18
       17:19:29 $).



pcl3 3.3                                                            GS-PCL3(1)
