home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / gfx / ghostscript / use.doc < prev    next >
Text File  |  1993-05-29  |  25KB  |  672 lines

  1.    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  2.  
  3. This file is part of Ghostscript.
  4.  
  5. Ghostscript is distributed in the hope that it will be useful, but
  6. WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  7. to anyone for the consequences of using it or for whether it serves any
  8. particular purpose or works at all, unless he says so in writing.  Refer
  9. to the Ghostscript General Public License for full details.
  10.  
  11. Everyone is granted permission to copy, modify and redistribute
  12. Ghostscript, but only under the conditions described in the Ghostscript
  13. General Public License.  A copy of this license is supposed to have been
  14. given to you along with Ghostscript so you can know your rights and
  15. responsibilities.  It should be in a file named COPYING.  Among other
  16. things, the copyright notice and this notice must be preserved on all
  17. copies.
  18.  
  19. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  20.  
  21. This file, use.doc, describes how to use the Ghostscript language
  22. interpreter.
  23.  
  24. For an overview of Ghostscript and a list of the documentation files, see
  25. README.  
  26.  
  27. ********
  28. ******** How to install Ghostscript ********
  29. ********
  30.  
  31. To run Ghostscript, you need the executable program, and also some
  32. external initialization files:
  33.     gs_*.ps (gs_dps1.ps, gs_fonts.ps, gs_init.ps, gs_lev2.ps,
  34.          gs_statd.ps, gs_dbt_e.ps, gs_sym_e.ps)
  35.     uglyr.gsf
  36.     Fontmap
  37.  
  38. The file name of the executable program depends on the environment;
  39. see the instructions for the specific platforms below.
  40.  
  41. The Ghostscript fileset includes a set of fonts (.gsf files); you
  42. should have them on line as well.
  43.  
  44. VMS
  45. ---
  46.  
  47. Installing Ghostscript on a VMS system requires compiling it first.
  48. The name of the executable is GS.EXE.
  49.  
  50. You should install all the files, including the fonts, in the same
  51. directory as the executable and initialization files.  By default,
  52. this is the directory in which you did the compilation.  Consult the
  53. command file (VMS-CC.MAK or VMS-GCC.MAK) for more details.
  54.  
  55. If you have DECWindows/Motif installed, you may wish to replace the
  56. FONTMAP file with the file FONTMAP.VMS.  Read the comment at the
  57. beginning of the latter file for more information.
  58.  
  59. MS-DOS
  60. ------
  61.  
  62. There are two MS-DOS executables in the standard Ghostscript
  63. distribution:
  64.     - GS.EXE runs on any MS-DOS machine, but is limited to 640K.
  65.     - GS386.EXE runs on any 386 or 486 machine, and will use all
  66. available extended (not expanded) memory.
  67.  
  68. You should install all the files except the fonts in C:\GS, and the
  69. fonts in C:\GS\FONTS.
  70.  
  71. If you have Adobe Type Manager fonts installed on your system, and you
  72. wish to use them with Ghostscript, you may wish to replace the FONTMAP
  73. file with FONTMAP.ATM, and to add to the environment variable GS_LIB the
  74. name of the directory where the fonts are located (see below for more
  75. information about GS_LIB).  Before you do this, please read carefully the
  76. license that accompanies the ATM fonts; Aladdin Enterprises takes no
  77. responsibility for any possible violations of such licenses.
  78.  
  79. MS Windows
  80. ----------
  81.  
  82. The name of the executable is GSWIN.EXE.  Ghostscript requires Windows
  83. 3.1, and you must run Windows in 386 Enhanced or Standard (not Real) mode.
  84. Since Ghostscript is a large program, you will need to run Windows in
  85. Enhanced mode (so that it can provide virtual memory) unless you have at
  86. least 6 Mb of RAM.
  87.  
  88. You should install all the files except the fonts in C:\GS, and the
  89. fonts in C:\GS\FONTS.
  90.  
  91. See under "MS-DOS" above for information about using Adobe Type
  92. Manager fonts with Ghostscript.
  93.  
  94. OS/2 2.0
  95. --------
  96.  
  97. Ghostscript currently only runs in an OS/2 DOS Box.  Please read the
  98. MS-DOS notes, since they apply to this environment as well.
  99.  
  100. If you run GS386 in the OS/2 2.0 DOS Box, you must select the
  101. "ENABLED" setting for the DPMI_DOS_API option of the DOS Box.  GS386
  102. will not run with the "AUTO" setting.
  103.  
  104. Unix
  105. ----
  106.  
  107. Installing Ghostscript on a Unix system requires compiling it first.
  108. The name of the executable is gs.  The makefile installs all the
  109. files, except the fonts, in /usr/local or various subdirectories
  110. thereof.  The fonts should be installed in
  111. /usr/local/lib/ghostscript/fonts.  Consult the makefile for more
  112. details.
  113.  
  114. ********
  115. ******** Shell scripts for Ghostscript
  116. ********
  117.  
  118. The Ghostscript distribution includes several Unix shell scripts for
  119. driving Ghostscript in different environments.  These are all
  120. user-contributed code: please contact the user identified in the file, not
  121. Aladdin Enterprises, if you have questions.
  122.  
  123. > pv.sh - preview a specified page of a dvi file in an X window.
  124.  
  125. > sysvlp.sh - System V 3.2 lp interface for parallel printer.
  126.  
  127. > pj-gs.sh - printing on an H-P PaintJet under HP-UX.
  128.  
  129. > unix-lpr.sh - queue filter for lpr under Unix.
  130. > lprsetup.sh - setup for unix-lpr.sh.
  131.  
  132. If one of these serves your needs, you may be able to skip most of
  133. the rest of this document.
  134.  
  135. ********
  136. ******** How to use the Ghostscript interpreter ********
  137. ********
  138.  
  139. To invoke the interpreter, give the command
  140.     gs <filename1> ... <filenameN>
  141. The interpreter will read in the files in sequence and execute them.
  142. After doing this, it reads further input from the primary input stream
  143. (normally the keyboard).  Each line (i.e. characters up to a <return>) is
  144. interpreted separately.  To exit from the interpreter, type quit<return>.
  145. The interpreter also exits gracefully if it encounters end-of-file.
  146. Typing the interrupt character, e.g., control-C, is also safe.
  147.  
  148. The interpreter recognizes several switches described below, which may appear
  149. anywhere in the command line and apply to all files thereafter.
  150.  
  151. You can get a help message by invoking Ghostscript with
  152.     gs -h
  153. or
  154.     gs -?
  155. This message also lists the available devices.  For a little more
  156. information, a one-line description of each device appears near the
  157. beginning of the file devs.mak.
  158.  
  159. Choosing the output device
  160. --------------------------
  161.  
  162. Ghostscript may be built with multiple output devices.  Ghostscript
  163. normally opens the first one and directs output to it.  To use device xyz
  164. as the initial output device, include the switch
  165.     -sDEVICE=xyz
  166. in the command line.  Note that this switch must precede the first .ps
  167. file, and only its first invocation has any effect.  For example, for
  168. printer output in a normal configuration that includes an Epson printer
  169. driver, you might use the shell command
  170.     gs -sDEVICE=epson myfile.ps
  171. instead of just
  172.     gs myfile.ps
  173. Alternatively, you can type
  174.     (epson) selectdevice
  175.     (myfile.ps) run
  176. All output then goes to the printer instead of the display until further
  177. notice.  You can switch devices at any time by using the selectdevice
  178. procedure, e.g.,
  179.     (vga) selectdevice
  180. or
  181.     (epson) selectdevice
  182. As yet a third alternative, you can define an environment variable
  183. GS_DEVICE as the desired default device name.  The order of precedence for
  184. these alternatives, highest to lowest, is:
  185.     selectdevice
  186.     (command line)
  187.     GS_DEVICE
  188.     (first device in build list)
  189.  
  190. To select the density on a printer, use
  191.     gs -sDEVICE=<device> -r<xres>x<yres>
  192. For example, on a 9-pin Epson-compatible printer, you can get the
  193. lowest-density (fastest) mode with
  194.     gs -sDEVICE=epson -r60x72
  195. and the highest-density mode with
  196.     gs -sDEVICE=epson -r240x72.
  197. On a 24-pin printer, the lowest density is
  198.     gs -sDEVICE=epson -r60x60
  199. and the highest-density 24-pin mode is
  200.     gs -sDEVICE=epson -r360x180
  201.  
  202. If you select a printer as the output device, Ghostscript also allows you
  203. to control where the device sends its output.  Normally, output goes
  204. directly to the printer (PRN) on MS-DOS systems, and to a scratch file on
  205. Unix or VMS systems.  To send the output to a series of files foo1.xyz,
  206. foo2.xyz, ..., use the switch
  207.     -sOutputFile=foo%d.xyz
  208. (For compatibility with older versions of Ghostscript, -sOUTPUTFILE=
  209. also works.)  The %d is a printf format specification; you can use
  210. other formats like %02d.  Each file will receive one page of output.
  211. Alternatively, to send the output to a single file foo.xyz, with all
  212. the pages concatenated, use the switch
  213.     -sOutputFile=foo.xyz
  214.  
  215. On Unix systems, you can send the output directly to a pipe.  For
  216. example, to pipe the output to the command `lpr' (which, on many Unix
  217. systems, is the command that spools output for a printer), use the
  218. switch
  219.     -sOutputFile=\|lpr
  220. You can also send output to stdout for piping with the switch
  221.     -sOutputFile=-
  222. In this case you must also use the -q switch, to prevent Ghostscript from
  223. writing messages to stdout.
  224.  
  225. To find out what devices are available, type
  226.     devicenames ==
  227. after starting up Ghostscript.  Alternatively you can use the -h or
  228. -? switch in the command line, as described above.
  229.  
  230. Device configuration
  231. --------------------
  232.  
  233. Ghostscript is normally configured to expect U.S. letter paper,
  234. although there is a way to make A4 paper the default for certain
  235. printers at compilation time (see devs.mak for details).  To select a
  236. different paper size as the default, use the switch
  237.     -sPAPERSIZE=a_known_paper_size
  238. e.g.,
  239.     -sPAPERSIZE=a4
  240. or
  241.     -sPAPERSIZE=legal
  242. You can use any paper size listed in the table at the beginning of
  243. gs_statd.ps.  (Individual documents can also specify a paper size,
  244. which will take precedence over the one specified on the command
  245. line.)
  246.  
  247. Printing on a Hewlett-Packard LaserJet at full resolution (300 DPI)
  248. requires a printer with at least 1.5 Mb of memory.  150 DPI printing
  249. requires only .5 Mb.  You can select 150 DPI printing with the command
  250. line switch
  251.     -r150
  252. This is not necessary on DeskJet printers.
  253.  
  254. On MS-DOS systems using the Borland compiler, if Ghostscript gives
  255. you a 'limitcheck in setdevice' error, it may mean Ghostscript's
  256. standard buffer size wasn't large enough.  Likewise, if Ghostscript
  257. gives you a 'VMerror in setdevice' error, it means the buffer size
  258. was too large.  You can use the -dBufferSpace= switch to set the
  259. buffer size to a different value, e.g.,
  260.     -dBufferSpace=50000
  261. The default value is 25000; the smallest value Ghostscript accepts is
  262. 10000; the largest valid value is 65000.
  263.  
  264. File searching
  265. --------------
  266.  
  267. When looking for the initialization files (gs_*.ps), the files related to
  268. fonts, or the file for the 'run' operator, Ghostscript first tries opening
  269. the file with the name as given (i.e., using the current working directory
  270. if none is specified).  If this fails, and the file name doesn't specify
  271. an explicit directory or drive (i.e., doesn't begin with '/' on Unix
  272. systems; doesn't contain a ':' or begin with a '/' or '\' on MS-DOS
  273. systems; doesn't contain a ':' or a square bracket on VMS systems),
  274. Ghostscript will try directories in the following order:
  275.  
  276.     - The directory/ies specified by the -I switch(es) in the command
  277.       line (see below), if any;
  278.  
  279.     - The directory/ies specified by the GS_LIB environment variable,
  280.       if any;
  281.  
  282.     - The directory/ies specified by the GS_LIB_DEFAULT macro in the
  283.       Ghostscript makefile, if any.
  284.  
  285. Each of these (GS_LIB_DEFAULT, GS_LIB, and -I parameter) may be either a
  286. single directory, or a list of directories separated by a character
  287. appropriate for the operating system (':' on Unix systems, ';' on VMS
  288. systems, ';' on MS-DOS systems).
  289.  
  290. Temporary files
  291. ---------------
  292.  
  293. By default, Ghostscript creates temporary files named _temp_XX.XXX in the
  294. current directory on MS-DOS and VMS systems, and named gs_XXXXX in the
  295. /tmp directory on Unix systems.  You can change the directory in which
  296. Ghostscript will create these files by setting the TEMP environment
  297. variable to the name of the directory.
  298.  
  299. Ghostscript currently doesn't do a very good job of deleting temporary
  300. files when it exits; you may have to delete them manually from time to
  301. time.
  302.  
  303. ********
  304. ******** Notes on specific platforms ********
  305. ********
  306.  
  307. VMS
  308. ---
  309.  
  310. On VMS systems, the last character of each "directory" name indicates what
  311. sort of entity the "directory" references.  If the "directory" name ends
  312. with a colon, it is taken as referring to a logical device, e.g.:
  313.         $ DEFINE GHOSTSCRIPT_DEVICE DUA1:[GHOSTSCRIPT_14]
  314.         $ DEFINE GS_LIB GHOSTSCRIPT_DEVICE:
  315. If the "directory" name ends with a closing square bracket, it is taken as
  316. referring to a real directory, e.g.:
  317.         $ DEFINE GS_LIB DUA1:[GHOSTSCRIPT]
  318.  
  319. To run Ghostscript with switches, you must type a command like
  320.  
  321.     $ gs "-dNODISPLAY"
  322.  
  323. because the C run time library will convert the command
  324. parameters/arguments to lowercase unless you enclose them in double quotes
  325. which preserves the case.
  326.  
  327. If you are on an X Windows display (for which gs is built), you can do
  328.  
  329.     $ set display/create/node="domain-name"/transport=tcpip
  330.  
  331. For example,
  332.  
  333.     $ set display/create/node="doof.city.com"/transport=tcpip
  334.  
  335. and then run Ghostscript
  336.  
  337.     $ gs
  338.  
  339. If you write printer output to a file and then want to print the file
  340. later, use the "/PASSALL" qualifier to the PRINT command.
  341.  
  342. MS-DOS
  343. ------
  344.  
  345. If you are running Ghostscript on a MS-DOS machine with a display
  346. that is not EGA/VGA compatible, you must use the Borland compiler.
  347. You must build Ghostscript with the BGI driver as the default, and
  348. you will need the appropriate .BGI file from the Borland Turbo C
  349. library.  (Ghostscript includes the EGA/VGA driver in the
  350. executable.)
  351.  
  352. If you are using the BGI driver, two additional environment variables
  353. become relevant:
  354.  
  355.     BGIPATH - defines the directory where Ghostscript will look for
  356. the appropriate BGI driver.  If BGIPATH is not defined, Ghostscript will
  357. look in the directory defined as BGIDIR in the makefile.  In either case,
  358. if no driver is found in the designated directory, Ghostscript will look
  359. in the current directory.
  360.  
  361.     BGIUSER - a string of the form nn.dname, where nn is a hexadecimal
  362. number giving a display mode and dname is the name of a file containing a
  363. user-supplied BGI driver.  If BGIUSER is defined and the BGI device is
  364. selected, Ghostscript will supply nn as the display mode and will obtain
  365. the driver from the file named dname.
  366.  
  367. Some applications, such as Microsoft Word, require a prologue in front of
  368. the PostScript files they output.  In the case of Word, this is one of the
  369. *.ini files included with the Word distribution.  Other applications may
  370. require other prologues.  These may be specified on the Ghostscript
  371. command line, e.g.,
  372.     gs prologue.ini myfile.ps
  373.  
  374. X Windows
  375. ---------
  376.  
  377. Ghostscript looks for the following resources under the program name
  378. "ghostscript" and class name "Ghostscript":
  379.  
  380.     Name            Class            Default
  381.     ----            -----            -------
  382.     background        Background        white
  383.     foreground        Foreground        black
  384.     borderColor        BorderColor        black
  385.     borderWidth        BorderWidth        1
  386.     geometry        Geometry        NULL
  387.     xResolution        Resolution        **
  388.     yResolution        Resolution        **
  389.     useExternalFonts    UseExternalFonts    true
  390.     useScalableFonts    UseScalableFonts    true
  391.     logExternalFonts    LogExternalFonts    false
  392.     externalFontTolerance    ExternalFontTolerance    10.0
  393.     palette            Palette            Color
  394.     maxGrayRamp        MaxGrayRamp        128
  395.     maxRGBRamp        MaxRGBRamp        5
  396.     useBackingPixmap    UseBackingPixmap    true
  397.     useXPutImage        UseXPutImage        true
  398.     useXSetTile        UseXSetTile        true
  399.     regularFonts        RegularFonts        see below
  400.     symbolFonts        SymbolFonts        see below
  401.     dingbatFonts        DingbatFonts        see below
  402.  
  403. ** Calculated from display metrics.
  404.  
  405.     Notes on Resources:
  406.  
  407.     The geometry resource only affects window placement.
  408.  
  409.     Resolution is given in pixels per inch.
  410.  
  411.     The font tolerance gives largest acceptable difference in
  412.     height of the screen font.  The tolerance is expressed as
  413.     a percentage of the height of the desired font.
  414.  
  415.     The palette resource can be used to restrict ghostscript to
  416.     using a grayscale or monochrome palette.
  417.  
  418.     The maxRGBRamp and maxGrayRamp control the maximum number of
  419.     colors that ghostscript allocates ahead of time for the dither
  420.     cube/ramp.  Ghostscript will never preallocate more than half
  421.     of the cells in a colormap.
  422.  
  423. To use native X11 fonts, ghostscript must map PostScript font names to
  424. the XLFD font names.  The regularFonts, symbolFonts, and dingbatFonts
  425. resources give the name mapping for different encodings.  The XLFD font 
  426. name in the mapping must contain seven dashes.  The X driver adds the
  427. additional size and encoding fields to bring the total number of dashes
  428. in the font name to 14.  Here are the default font mappings:
  429.  
  430.   Regular Fonts: (Fonts available in standard or ISO-Latin-1 encoding)
  431.  
  432.     AvantGarde-Book:-Adobe-ITC Avant Garde Gothic-Book-R-Normal--\n\
  433.     AvantGarde-BookOblique:-Adobe-ITC Avant Garde Gothic-Book-O-Normal--\n\
  434.     AvantGarde-Demi:-Adobe-ITC Avant Garde Gothic-Demi-R-Normal--\n\
  435.     AvantGarde-DemiOblique:-Adobe-ITC Avant Garde Gothic-Demi-O-Normal--\n\
  436.     Bookman-Demi:-Adobe-ITC Bookman-Demi-R-Normal--\n\
  437.     Bookman-DemiItalic:-Adobe-ITC Bookman-Demi-I-Normal--\n\
  438.     Bookman-Light:-Adobe-ITC Bookman-Light-R-Normal--\n\
  439.     Bookman-LightItalic:-Adobe-ITC Bookman-Light-I-Normal--\n\
  440.     Courier:-Adobe-Courier-Medium-R-Normal--\n\
  441.     Courier-Bold:-Adobe-Courier-Bold-R-Normal--\n\
  442.     Courier-BoldOblique:-Adobe-Courier-Bold-O-Normal--\n\
  443.     Courier-Oblique:-Adobe-Courier-Medium-O-Normal--\n\
  444.     Helvetica:-Adobe-Helvetica-Medium-R-Normal--\n\
  445.     Helvetica-Bold:-Adobe-Helvetica-Bold-R-Normal--\n\
  446.     Helvetica-BoldOblique:-Adobe-Helvetica-Bold-O-Normal--\n\
  447.     Helvetica-Narrow:-Adobe-Helvetica-Medium-R-Narrow--\n\
  448.     Helvetica-Narrow-Bold:-Adobe-Helvetica-Bold-R-Narrow--\n\
  449.     Helvetica-Narrow-BoldOblique:-Adobe-Helvetica-Bold-O-Narrow--\n\
  450.     Helvetica-Narrow-Oblique:-Adobe-Helvetica-Medium-O-Narrow--\n\
  451.     Helvetica-Oblique:-Adobe-Helvetica-Medium-O-Normal--\n\
  452.     NewCenturySchlbk-Bold:-Adobe-New Century Schoolbook-Bold-R-Normal--\n\
  453.     NewCenturySchlbk-BoldItalic:-Adobe-New Century Schoolbook-Bold-I-Normal--\n\
  454.     NewCenturySchlbk-Italic:-Adobe-New Century Schoolbook-Medium-I-Normal--\n\
  455.     NewCenturySchlbk-Roman:-Adobe-New Century Schoolbook-Medium-R-Normal--\n\
  456.     Palatino-Bold:-Adobe-Palatino-Bold-R-Normal--\n\
  457.     Palatino-BoldItalic:-Adobe-Palatino-Bold-I-Normal--\n\
  458.     Palatino-Italic:-Adobe-Palatino-Medium-I-Normal--\n\
  459.     Palatino-Roman:-Adobe-Palatino-Medium-R-Normal--\n\
  460.     Times-Bold:-Adobe-Times-Bold-R-Normal--\n\
  461.     Times-BoldItalic:-Adobe-Times-Bold-I-Normal--\n\
  462.     Times-Italic:-Adobe-Times-Medium-I-Normal--\n\
  463.     Times-Roman:-Adobe-Times-Medium-R-Normal--\n\
  464.     ZapfChancery-MediumItalic:-Adobe-ITC Zapf Chancery-Medium-I-Normal--
  465.  
  466.   Symbol Fonts:  (using Symbol encoding)
  467.  
  468.     Symbol: -Adobe-Symbol-Medium-R-Normal--
  469.  
  470.   Dingbat Fonts: (using Dingbat encoding)
  471.  
  472.     ZapfDingbats: -Adobe-ITC Zapf Dingbats-Medium-R-Normal--
  473.  
  474. To set these resources, put them in a file (such as ~/.Xdefaults) in the
  475. following form:
  476.  
  477. Ghostscript*geometry:    -0+0
  478. Ghostscript*xResolution: 72
  479. Ghostscript*yResolution: 72
  480.  
  481. Then load the defaults into the X server:
  482.  
  483. % xrdb -merge ~/.Xdefaults
  484.  
  485. On H-P systems, Ghostscript will take advantage of the "HP XLFD
  486. Enhancements" to use native X11 fonts for fonts that are anamorphically
  487. scaled, rotated, or mirrored.  If the user has installed these changes to
  488. their X or font server, they will automatically be used when appropriate.
  489.  
  490. Normal switches
  491. ---------------
  492.  
  493.     @filename
  494.         Causes Ghostscript to read filename and treat its
  495.         contents the same as the command line.  (This is
  496.         intended primarily for getting around DOS'
  497.         128-character limit on the length of a command line.)
  498.         Switches or file names in the file may be separated by
  499.         any amount of white space (space, tab, line break);
  500.         there is no limit on the size of the file.
  501.  
  502.     -- filename arg1 ...
  503.         Takes the next argument as a file name as usual, but takes
  504.         all remaining arguments (even if they have the syntactic
  505.         form of switches) and defines the name ARGUMENTS in
  506.         userdict (not systemdict) as an array of those strings,
  507.         *before* running the file.  When Ghostscript finishes
  508.         executing the file, it exits back to the shell.
  509.  
  510.     -Dname=token
  511.     -dname=token
  512.         Define a name in systemdict with the given definition.
  513.         The token must be exactly one token (as defined by the
  514.         'token' operator) and must not contain any whitespace.
  515.  
  516.     -Dname
  517.     -dname
  518.         Define a name in systemdict with value=null.
  519.  
  520.     -Sname=string
  521.     -sname=string
  522.         Define a name in systemdict with a given string as value.
  523.         This is different from -d.  For example,
  524.             -dname=35
  525.         is equivalent to the program fragment
  526.             /name 35 def
  527.         whereas
  528.             -sname=35
  529.         is equivalent to
  530.             /name (35) def
  531.  
  532.     -q
  533.         Quiet startup -- suppress normal startup messages,
  534.         and also do the equivalent of -dQUIET.
  535.  
  536.     -ffilename
  537.         Executes the given file, even if its name begins with a -.
  538.  
  539.     -gnumber1xnumber2
  540.         Equivalent to -dDEVICEWIDTH=number1 and
  541.         -dDEVICEHEIGHT=number2.  This is for the benefit of
  542.         devices (such as X11 windows and VESA displays) that require
  543.         (or allow) width and height to be specified.
  544.  
  545.     -rnumber
  546.     -rnumber1xnumber2
  547.         Equivalent to -dDEVICEXRESOLUTION=number1 and
  548.         -dDEVICEYRESOLUTION=number2.  This is for the benefit of
  549.         devices (such as printers) that support multiple
  550.         X and Y resolutions.
  551.  
  552.     -Idirectories
  553.         Adds the designated list of directories at the head of the
  554.         search path for library files.
  555.  
  556.     -
  557.         This is not really a switch.  It indicates to Ghostscript
  558.         that the standard input is coming from a file or a pipe.
  559.         Ghostscript reads from stdin until reaching end-of-file,
  560.         executing it like any other file, and then continues
  561.         processing the command line.  At the end of the command
  562.         line, Ghostscript exits rather than going into its
  563.         interactive mode.
  564.  
  565. Note that gs_init.ps makes systemdict read-only, so the values of names
  566. defined with -D/d/S/s cannot be changed (although, of course, they can be
  567. superseded by definitions in userdict or other dictionaries.)
  568.  
  569. Special names
  570. -------------
  571.  
  572. -dDISKFONTS
  573.     causes individual character outlines to be loaded from the disk
  574. the first time they are encountered.  (Normally Ghostscript loads all the
  575. character outlines when it loads a font.)  This may allow loading more
  576. fonts into RAM, at the expense of slower rendering.
  577.  
  578. -dNOBIND
  579.     disables the 'bind' operator.  Only useful for debugging.
  580.  
  581. -dNOCACHE
  582.     disables character caching.  Only useful for debugging.
  583.  
  584. -dNODISPLAY
  585.     suppresses the normal initialization of the output device.  This
  586. may be useful when debugging.
  587.  
  588. -dNOPAUSE
  589.     disables the prompt and pause at the end of each page.  This may
  590. be desirable for applications where another program is 'driving'
  591. Ghostscript.
  592.  
  593. -dNOPLATFONTS
  594.     disables the use of fonts supplied by the underlying platform
  595. (X Windows or Microsoft Windows).  This may be needed if the platform
  596. fonts look undesirably different from the scalable fonts.
  597.  
  598. -dSAFER
  599.     disables the deletefile and renamefile operators, and the
  600. ability to open files in any mode other than read-only.  This may be
  601. desirable for spoolers or other sensitive environments.
  602.  
  603. -dWRITESYSTEMDICT
  604.     leaves systemdict writable.  This is necessary when running
  605. special utility programs such as font2c and pcharstr, which must bypass
  606. normal PostScript access protection.
  607.  
  608. -sDEVICE=device
  609.     selects an alternate initial output device, as described above.
  610.  
  611. -sOutputFile=filename
  612.     selects an alternate output file (or pipe) for the initial output
  613. device, as described above.
  614.  
  615. Debugging switches
  616. ------------------
  617.  
  618. The -Z switch only applies if the interpreter was built for a
  619. debugging configuration (DEBUG=1 or -DDEBUG selected at compile
  620. time).
  621.  
  622.     -A    Turn on allocator debugging (gs_malloc and gs_free).
  623.  
  624.     -e    Turn on tracing of error returns from operators.
  625.  
  626.     -E    Abort when any operator returns with an error.
  627.  
  628.     -Mn    Force the interpreter's allocator to acquire additional
  629.         memory in units of nK, rather than the default (currently
  630.         20K on MS-DOS systems, 50K on Unix).  n is a positive
  631.         decimal integer (not exceeding 63 on MS-DOS systems).
  632.  
  633.     -Zxxx    Turn on debugging printout.
  634.         Each of the xxx characters selects an option:
  635.         if the string is empty, all options are selected.
  636.         Case is significant.
  637.             1 = type 1 font interpreter (type1addpath)
  638.             2 = curve subdivider/rasterizer
  639.             a = allocator (large blocks only)
  640.               A = allocator (all calls)
  641.             b = bitmap image processor
  642.               B = bitmap images, detail
  643.             c = color/halftone mapper
  644.             d = dictionary put/undef
  645.             f = fill algorithm (summary)
  646.               F = fill algorithm (detail)
  647.             g = gsave/grestore[all]
  648.             h = halftone renderer
  649.             i = interpreter, just names
  650.               I = interpreter, everything
  651.             k = character cache & xfonts
  652.               K = character cache, every access
  653.             l = command lists, bands
  654.               L = command lists, everything
  655.             m = makefont and font cache
  656.             n = name lookup (new names only)
  657.             o = outliner (stroke)
  658.             p = path tracer
  659.             q = clipping
  660.             r = arc renderer
  661.             s = scanner
  662.             t = tiling algorithm
  663.             u = undo saver (for save/restore)
  664.               U = undo saver, more detail
  665.             v = rectangle fill
  666.               V = device-level output
  667.             w = compression encoder/decoder
  668.             x = transformations
  669.             y = Type 1 hints
  670.               Y = Type 1 hints, every access
  671.             z = trapezoid fill
  672.