gs


NAME
  gs - Aladdin Ghostscript version 3.N interpreter/previewer

SYNOPSIS
  gs [ options ] [ files ] ...

DESCRIPTION
  Ghostscript is an implementation of Adobe Systems'
  PostScript (tm) language, which is in turn similar to Forth.
  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 keyboard).  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 available
  devices.

  Ghostscript may be built with multiple output devices.
  Ghostscript normally opens the first one and directs output
  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
  configuration 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
  output.  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

INITIALIZATION FILES
  When looking for the initialization files (gs_*.ps), the
  files related to fonts, or the file for the `run' operator,
  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 environment
	   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/lib/ghostscript/3.N:/usr/local/lib/ghostscript/3.N/fonts").

  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 computed
	   from WidthOfScreen and WidthMMOfScreen).

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

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

  See the file `use.doc' 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 definition.
	   The token must be exactly one token (as defined by the
	   `token' operator) and must not contain 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
	   -dDEVICEHEIGHT=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
	   -dDEVICEYRESOLUTION=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 command line.  At the
	   end of the command line, Ghostscript exits rather than
	   going into its interactive 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 definitions
  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 outlines
	   when it loads a font.)  This may allow loading more
	   fonts into RAM, at the expense of slower rendering.

  -dNOCACHE
	   Disables character caching.  Only useful for debugging.

  -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 underlying
	   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/lib/ghostscript/3.N/*
	   Startup-files, utilities, and basic font definitions.

  /usr/local/lib/ghostscript/3.N/fonts/*
	   Additional font definitions.

  /usr/local/lib/ghostscript/3.N/examples/*
	   Demo Ghostscript files.

  /usr/local/lib/ghostscript3.N/doc/*
	   Assorted document files.

ENVIRONMENT
  GS_OPTIONS
	   String of options to be processed before the command
	   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'.