GS(1)                                                       GS(1)

NAME
       gs - Aladdin Ghostscript interpreter/previewer

SYNOPSIS
       gs [ options ] [ files ] ...

DESCRIPTION
       Ghostscript   is   an  implementation  of  Adobe  Systems'
       PostScript (tm) and Portable Document  Format  (PDF)  lan-
       guages.   Gs  reads files in sequence and executes them as
       Ghostscript programs.  After doing this, it reads  further
       input  from  the  standard input stream (normally the key-
       board).  Each line is  interpreted  separately.   To  exit
       from  the  interpreter,  enter  the  `quit'  command.  The
       interpreter also exits gracefully if it encounters end-of-
       file.   Typing the interrupt character (e.g. Control-C) is
       also safe.

       The  interpreter  recognizes  several  switches  described
       below,  which  may appear anywhere in the command line and
       apply to all files thereafter.

       You can get a help message by  invoking  Ghostscript  with
       the  -h or -?  option.  This message also lists the avail-
       able devices.

       Ghostscript may be built  with  multiple  output  devices.
       Ghostscript  normally opens the first one and directs out-
       put to it.  To  use  device  xyz  as  the  initial  output
       device, include the switch
            -sDEVICE=xyz
       in  the  command line.  Note that this switch must precede
       the first .ps file, and only its first invocation has  any
       effect.   For example, for printer output in a normal con-
       figuration that includes  an  Epson  printer  driver,  you
       might use the shell command
            gs -sDEVICE=epson myfile.ps
       instead of just
            gs myfile.ps
       Alternatively, you can type
            (epson) selectdevice
            (myfile.ps) run
       All output then goes to the printer instead of the display
       until further notice.  You can switch devices at any  time
       by using the selectdevice procedure, e.g.,
            (vga) selectdevice
       or
            (epson) selectdevice
       As  yet a third alternative, you can define an environment
       variable GS_DEVICE as the  desired  default  device  name.
       The order of precedence for these alternatives, highest to
       lowest, is:
            selectdevice
            (command line)
            GS_DEVICE
            (first device in build list)

       To select the density on a printer, use
            gs -sDEVICE=<device> -r<xres>x<yres>
       For example, on a 9-pin Epson-compatible printer, you  can
       get the lowest-density (fastest) mode with
            gs -sDEVICE=epson -r60x72
       and the highest-density mode with
            gs -sDEVICE=epson -r240x72.

       If  you select a printer as the output device, Ghostscript
       also allows you to control where the device sends its out-
       put.   Normally, output goes directly to a scratch file on
       Unix systems.  To send the output to  a  series  of  files
       foo1.xyz, foo2.xyz, ..., use the switch
            -sOutputFile=foo%d.xyz
       The %d is a printf format specification; you can use other
       formats like %02d.  Each file will  receive  one  page  of
       output.   Alternatively,  to  send  the output to a single
       file foo.xyz, with all the  pages  concatenated,  use  the
       switch
            -sOutputFile=foo.xyz

       On  Unix  systems,  you  can send the output directly to a
       pipe.  For example, to pipe  the  output  to  the  command
       `lpr'  (which,  on  many Unix systems, is the command that
       spools output for a printer), use the switch
            -sOutputFile=\|lpr
       You can also send output to stdout  for  piping  with  the
       switch
            -sOutputFile=-
       In  this  case you must also use the -q switch, to prevent
       Ghostscript from writing messages to stdout.

       To find out what devices are available, type
            devicenames ==
       after starting up Ghostscript.  Alternatively, you can use
       the  -h or -? switch in the command line; the help message
       also lists the available devices.

       To select a different paper size,  use  the  command  line
       switch
               -sPAPERSIZE=a_known_paper_size
       e.g.,
               -sPAPERSIZE=a4
       or
               -sPAPERSIZE=legal
       As  of  this  printing,  the known paper sizes, defined in
       gs_statd.ps, are:

       PAPERSIZE    X"         Y"         X cm      Y cm
       -----------------------------------------------------
       11x17        11"        17"        27.94     43.18
       a0           33.0556"   46.7778"   83.9611   118.816
       a10          1.02778"   1.45833"   2.61056   3.70417
       a1           23.3889"   33.0556"   59.4078   83.9611
       a2           16.5278"   23.3889"   41.9806   59.4078
       a3           11.6944"   16.5278"   29.7039   41.9806
       a4           8.26389"   11.6944"   20.9903   29.7039
       a5           5.84722"   8.26389"   14.8519   20.9903
       a6           4.125"     5.84722"   10.4775   14.8519
       a7           2.91667"   4.125"     7.40833   10.4775
       a8           2.05556"   2.91667"   5.22111   7.40833
       a9           1.45833"   2.05556"   3.70417   5.22111
       archA        9"         12"        22.86     30.48
       archB        12"        18"        30.48     45.72
       archC        18"        24"        45.72     60.96
       archD        24"        36"        60.96     91.44
       archE        36"        48"        91.44     121.92
       b0           39.3889"   55.6667"   100.048   141.393
       b1           27.8333"   39.3889"   70.6967   100.048
       b2           19.6944"   27.8333"   50.0239   70.6967
       b3           13.9167"   19.6944"   35.3483   50.0239
       b4           9.84722"   13.9167"   25.0119   35.3483
       b5           6.95833"   9.84722"   17.6742   25.0119
       flsa         8.5"       13"        21.59     33.02
       flse         8.5"       13"        21.59     33.02
       halfletter   5.5"       8.5"       13.97     21.59
       ledger       17"        11"        43.18     27.94
       legal        8.5"       14"        21.59     35.56
       letter       8.5"       11"        21.59     27.94
       note         7.5"       10"        19.05     25.4

INITIALIZATION FILES
       When looking for the initialization files  (gs_*.ps),  the
       files  related  to fonts, or the file for the `run' opera-
       tor, Ghostscript first tries opening  the  file  with  the
       name  as  given (i.e., using the current working directory
       if none is specified).  If this fails, and the  file  name
       doesn't  specify  an  explicit  directory  or drive (i.e.,
       doesn't begin with `/' on Unix systems), Ghostscript  will
       try directories in the following order:

       1.     The directory/ies specified by the -I switch(es) in
              the command line (see below), if any;

       2.     The directory/ies specified by the GS_LIB  environ-
              ment variable, if any;

       3.     The  directory/ies  specified by the GS_LIB_DEFAULT
              macro in the Ghostscript makefile (which  has  been
              set                                              to
              "/usr/local/share/ghostscript/M.N:/usr/local/share/ghostscript/fonts"
              where M.N is the Ghostscript version number).

       Each  of  these (GS_LIB_DEFAULT, GS_LIB, and -I parameter)
       may be either a single directory, or a list of directories
       separated by a `:'.

X RESOURCES
       Ghostscript  looks  for  the following resources under the
       program name `Ghostscript':

       borderWidth
              The border width in pixels (default = 1).

       borderColor
              The name of the border color (default = black).

       geometry
              The window size and placement, WxH+X+Y (default  is
              NULL).

       xResolution
              The  number  of  x pixels per inch (default is com-
              puted from WidthOfScreen and WidthMMOfScreen).

       yResolution
              The number of y pixels per inch  (default  is  com-
              puted from HeightOfScreen and HeightMMOfScreen).

       useBackingPixmap
              Determines  whether backing store is to be used for
              saving display window (default = true).

       See the  file  `use.txt'  for  a  more  complete  list  of
       resources.

       To  set  these  resources,  put  them  in  a file (such as
       ~/.Xresources) in the following form:

                 Ghostscript*geometry: 612x792-0+0
                 Ghostscript*xResolution: 72
                 Ghostscript*yResolution: 72

       Then load the defaults into the X server:

                 % xrdb -merge ~/.Xresources

OPTIONS
       -- filename arg1 ...
              Takes the next argument as a file  name  as  usual,
              but  takes  all  remaining  arguments (even if they
              have the syntactic form of  switches)  and  defines
              the  name ARGUMENTS in userdict (not systemdict) as
              an array of those strings, before running the file.
              When  Ghostscript  finishes  executing the file, it
              exits back to the shell.

       -Dname=token
       -dname=token
              Define a name in systemdict with the given  defini-
              tion.   The  token  must  be  exactly one token (as
              defined by the `token' operator) and must not  con-
              tain any whitespace.

       -Dname
       -dname Define a name in systemdict with value=null.

       -Sname=string
       -sname=string
              Define  a name in systemdict with a given string as
              value.  This is different from  -d.   For  example,
              -dname=35 is equivalent to the program fragment
                                              /name 35 def
              whereas -s name=35 is equivalent to
                                              /name (35) def

       -q     Quiet  startup  - suppress normal startup messages,
              and also do the equivalent of -dQUIET.

       -gnumber1xnumber2
              Equivalent to -dDEVICEWIDTH=number1  and  -dDEVICE-
              HEIGHT=number2.  This is for the benefit of devices
              (such as X11 windows) that require (or allow) width
              and height to be specified.

       -rnumber
       -rnumber1xnumber2
              Equivalent to -dDEVICEXRESOLUTION=number1 and -dDE-
              VICEYRESOLUTION=number2.  This is for  the  benefit
              of devices (such as printers) that support multiple
              X and Y resolutions.  (If only one number is given,
              it is used for both X and Y resolutions.)

       -Idirectories
              Adds the designated list of directories at the head
              of the search path for library files.

       -      This is not  really  a  switch.   It  indicates  to
              Ghostscript  that the standard input is coming from
              a file or a pipe.   Ghostscript  reads  from  stdin
              until  reaching  end-of-file, executing it like any
              other file, and then continues processing the  com-
              mand  line.   At  the  end  of  the  command  line,
              Ghostscript exits rather than going into its inter-
              active mode.

       Note  that  gs_init.ps  makes systemdict read-only, so the
       values of names defined with -D/d/S/s  cannot  be  changed
       (although,  of  course,  they can be superseded by defini-
       tions in userdict or other dictionaries.)

SPECIAL NAMES
       -dDISKFONTS
              Causes individual character outlines to  be  loaded
              from  the disk the first time they are encountered.
              (Normally Ghostscript loads all the character  out-
              lines  when it loads a font.)  This may allow load-
              ing more fonts into RAM, at the expense  of  slower
              rendering.

       -dNOCACHE
              Disables character caching.  Only useful for debug-
              ging.

       -dNOBIND
              Disables the  `bind'  operator.   Only  useful  for
              debugging.

       -dNODISPLAY
              Suppresses  the normal initialization of the output
              device.  This may be useful when debugging.

       -dNOPAUSE
              Disables the prompt and pause at the  end  of  each
              page.  This may be desirable for applications where
              another program is `driving' Ghostscript.

       -dNOPLATFONTS
              Disables the use of fonts supplied by the  underly-
              ing  platform (e.g. X Windows).  This may be needed
              if the platform fonts  look  undesirably  different
              from the scalable fonts.

       -dSAFER
              Disables  the  deletefile and renamefile operators,
              and the ability to open files  in  any  mode  other
              than read-only.  This may be desirable for spoolers
              or other sensitive environments.

       -dWRITESYSTEMDICT
              Leaves systemdict writable.  This is necessary when
              running special utility programs such as font2c and
              pcharstr,  which  must  bypass  normal   PostScript
              access protection.

       -sDEVICE=device
              Selects  an  alternate  initial  output  device, as
              described above.

       -sOutputFile=filename
              Selects an alternate output file (or pipe) for  the
              initial output device, as described above.

FILES
       /usr/local/share/ghostscript/M.N/*
              Startup-files,  utilities,  and  basic font defini-
              tions.

       /usr/local/share/ghostscript/fonts/*
              Additional font definitions.

       /usr/local/share/ghostscript/M.N/examples/*
              Demo Ghostscript files.

       /usr/local/share/ghostscript/M.N/doc/*
              Assorted document files.

ENVIRONMENT
       GS_OPTIONS
              String of options to be processed before  the  com-
              mand line options.

       GS_DEVICE
              Used to define the device used.

       GS_FONTPATH
              Path names used to search for fonts

       GS_LIB Path names for initialization files and fonts

       TEMP   Where temporary files are made

SEE ALSO
       The various Ghostscript document files (above).

BUGS
       See the network news group `comp.lang.postscript'.

                         23 November 1997                       1