home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / gs403osk.tgz / gs403osk.tar / language.txt < prev    next >
Text File  |  1996-10-15  |  27KB  |  639 lines

  1.    Copyright (C) 1989, 1995, 1996 Aladdin Enterprises.  All rights reserved.
  2.   
  3.   This file is part of Aladdin Ghostscript.
  4.   
  5.   Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  6.   or distributor accepts any responsibility for the consequences of using it,
  7.   or for whether it serves any particular purpose or works at all, unless he
  8.   or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  9.   License (the "License") for full details.
  10.   
  11.   Every copy of Aladdin Ghostscript must include a copy of the License,
  12.   normally in a plain ASCII text file named PUBLIC.  The License grants you
  13.   the right to copy, modify and redistribute Aladdin Ghostscript, but only
  14.   under certain conditions described in the License.  Among other things, the
  15.   License requires that the copyright notice and this notice be preserved on
  16.   all copies.
  17.  
  18. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  19.  
  20. This file, language.txt, describes the relationship between the Ghostscript
  21. interpreter and the PostScript language.
  22.  
  23. For an overview of Ghostscript and a list of the documentation files, see
  24. README.
  25.  
  26. The Ghostscript interpreter, except as noted below, is intended to execute
  27. properly any source program written in the (Level 2) PostScript language as
  28. defined in the December 1990 printing of the PostScript Language Reference
  29. Manual (Second Edition) published by Addison-Wesley (ISBN 0-201-18127-4).
  30. However, the interpreter is configurable in ways that can restrict it to
  31. various subsets of this language.  Specifically, the base interpreter
  32. accepts the Level 1 subset of the PostScript language, as defined in the
  33. first edition of the PostScript Language Reference Manual, ISBN
  34. 0-201-10174-2, Addison-Wesley, 1985, plus the file system, version 25.0
  35. language, and miscellaneous additions listed in sections A.1.6, A.1.7, and
  36. A.1.8 of the Second Edition respectively, including allowing a string
  37. operand for the 'status' operator.  The base interpreter may be configured
  38. by adding any combination of the following:
  39.  
  40.     - The ability to process PostScript Type 1 fonts.  This facility is
  41. normally included in the interpreter.
  42.  
  43.     - The CMYK color extensions listed in section A.1.4 of the Second
  44. Edition (including colorimage).  These facilities are only available if the
  45. color, dps, or level2 feature was selected at the time that Ghostscript was
  46. compiled and linked.
  47.  
  48.     - The Display PostScript extensions listed in section A.1.3
  49. of the Second Edition, but excluding the operators listed in section
  50. A.1.2.  These facilities are only available if the dps feature or the
  51. level2 feature was selected at the time that Ghostscript was compiled
  52. and linked.
  53.  
  54.     - The composite font extensions listed in section A.1.5 of the
  55. Second Edition, and the ability to handle Type 0 fonts.  These facilities
  56. are only available if the compfont feature or the level2 feature was
  57. selected at the time that Ghostscript was compiled and linked.
  58.  
  59.     - The ability to load TrueType fonts and to handle PostScript Type
  60. 42 (encapsulated TrueType) fonts.  These facilities are only available if
  61. the ttfont feature was selected at the time that Ghostscript was compiled
  62. and linked.
  63.  
  64.     - The PostScript Level 2 "filter" facilities aside from DCTEncode
  65. and DCTDecode filters.  These facilities are only available if the filter,
  66. dps, or level2 feature was selected at the time that Ghostscript was
  67. compiled and linked.
  68.  
  69.     - The PostScript Level 2 DCTEncode and DCTDecode filters.  These
  70. facilities are only available if the dct or level2 feature was selected at
  71. the time that Ghostscript was compiled and linked.
  72.  
  73.     - All the other PostScript Level 2 operators and facilities listed
  74. in section A.1.1 of the Second Edition and not listed in any of the other
  75. A.1.n sections.  These facilities are only available if the level2 feature
  76. was selected at the time that Ghostscript was compiled and linked.
  77.  
  78. Adding all of these produces a full Level 2 PostScript language
  79. interpreter.
  80.  
  81. Ghostscript also includes the optional ability to interpret files in the PDF
  82. 1.1 format defined in the June 1993 printing of the Portable Document Format
  83. Reference manual published by Addison-Wesley (ISBN 0-201-62628-4) as amended
  84. by Adobe Technical Note #5156, except for the encryption features.  This
  85. facility is only available if the 'pdf' feature was selected at the time
  86. that Ghostscript was compiled and linked.
  87.  
  88. Ghostscript also includes a number of operators defined below that are not
  89. in the PostScript language.
  90.  
  91. Implementation limits
  92. =====================
  93.  
  94. The following implementation limits correspond to those in Table B.1 and
  95. B.2 of the Second Edition.  Those marked with * are different from the ones
  96. in the Second Edition.
  97.  
  98. Architectural limits
  99. --------------------
  100.  
  101. integer     32-bit two's complement integer
  102. real        single-precision IEEE float
  103. *array
  104.     On 16-bit systems:  8191 elements
  105.     On 32-bit systems:  65535 elements
  106. *dictionary
  107.     On 16-bit systems:  8190 elements
  108.     On 32-bit systems:  65534 elements
  109. *string     65535 characters
  110. *name       16383 characters
  111. filename    100 characters
  112. *save level none (capacity of memory)
  113. *gsave level    none (capacity of memory)
  114.  
  115. Typical memory limits in Level 1
  116. --------------------------------
  117.  
  118. userdict        200
  119. FontDirectory       100
  120. *operand stack      800
  121. dictionary stack    20
  122. execution stack     250
  123. *interpreter level  none (capacity of memory)
  124. *path           none (capacity of memory)
  125. dash            11
  126. *VM         capacity of memory
  127. *file           determined by operating system
  128. *image          65535 values (samples x components) for 1, 2, 4,
  129.               or 8-bit samples; 32767 values for 12-bit samples
  130.  
  131. Other differences in VM consumption
  132. -----------------------------------
  133.  
  134. Packed array elements occupy either 2 bytes or 8 bytes.  The average
  135. element size is probably about 5 bytes.
  136.  
  137. Names occupy 12 bytes plus the space for the string.
  138.  
  139. Ghostscript-specific additions
  140. ==============================
  141.  
  142. Miscellaneous
  143. -------------
  144.  
  145. ^D and ^Z are self-delimiting tokens, like [ and ].  They are initially
  146. defined as empty procedures so that they will be ignored in the input
  147. stream.
  148.  
  149. run can take either a string or a file as its argument.  In the latter
  150. case, it just runs the file, closing it at the end, and trapping errors
  151. just as for the string case.
  152.  
  153. Mathematical operators
  154. ----------------------
  155.  
  156.     <number> arccos <number>
  157.         Computes the arc cosine of a number between -1 and 1.
  158.  
  159.     <number> arcsin <number>
  160.         Computes the arc sine of a number between -1 and 1.
  161.  
  162. String operators
  163. ----------------
  164.  
  165.     <state> <fromString> <toString> .type1encrypt <newState> <toSubstring>
  166.         Encrypts fromString according to the algorithm for Adobe
  167.           Type 1 fonts, writing the result into toString.
  168.           toString must be at least as long as fromString or a
  169.           rangecheck error occurs.  state is the initial state of
  170.           the encryption algorithm (a 16-bit non-negative
  171.           integer); newState is the new state of the algorithm.
  172.  
  173.     <state> <fromString> <toString> .type1decrypt <newState> <toSubstring>
  174.         Decrypts fromString according to the algorithm for Adobe
  175.           Type 1 fonts, writing the result into toString.  Other
  176.           specifications are as for type1encrypt.
  177.  
  178. Relational operators
  179. --------------------
  180.  
  181.     <number|string> <number|string> max <number|string>
  182.         Returns the larger of two numbers or strings.
  183.  
  184.     <number|string> <number|string> min <number|string>
  185.         Returns the smaller of two numbers or strings.
  186.  
  187. File operators
  188. --------------
  189.  
  190.     <string> findlibfile <foundstring> <file> true
  191.     <string> findlibfile <string> false
  192.         Opens the file of the given name for reading, searching
  193.           through directories as described in use.txt.  If the
  194.           search fails, findlibfile simply pushes false on the
  195.           stack and returns, rather than causing an error.
  196.  
  197.     <file> <integer> unread -
  198.         Pushes back the last-read character onto the front of the
  199.           file.  If the file is only open for writing, or if the
  200.           integer argument is not the same as the last character
  201.           read from the file, causes an ioerror error.  May also
  202.           cause an ioerror if the last operation on the file was not
  203.           a reading operation.
  204.  
  205.     <file> <device> writeppmfile -
  206.         Writes the contents of the device, which must be an image
  207.           device, onto the file, in Portable PixMap (ppm) format.
  208.           Does not close the file.
  209.  
  210. Ghostscript also supports the following IODevice in addition to a subset of
  211. those defined in the Adobe documentation: %pipe%command, which opens a pipe
  212. on the given command.  This is only supported on operating systems that
  213. provide popen (primarily Unix systems, and not all of those).
  214.  
  215. Path operators
  216. --------------
  217.  
  218.     <x> <y> <width> <height> .rectappend -
  219.     <numarray> .rectappend -
  220.     <numstring> .rectappend -
  221.         Appends a rectangle or rectangles to the current path, in
  222.           the same manner as rectfill, rectclip, etc.  Only
  223.           defined if the dps option is selected.
  224.  
  225. Painting operators
  226. ------------------
  227.  
  228. Ghostscript supports an experimental extension of the PostScript imaging
  229. model to include RasterOp and some related facilities.  This extension is
  230. only available if the rasterop option was selected when building
  231. Ghostscript.
  232.  
  233. With the RasterOp extension, imaging operations compute a function D =
  234. f(D,S,T) in RGB space, where f is an arbitrary 3-input Boolean function, D
  235. is the destination (frame buffer or print buffer), S is the source
  236. (described below), and T is the texture (the current PostScript color, which
  237. may be a pattern).  The source and texture depend on the PostScript imaging
  238. operation:
  239.  
  240.     - For fill and stroke, the source is solid black, covering the
  241.     region to be painted; the texture is the current PostScript color.
  242.  
  243.     - For show and imagemask, the source is solid black, covering the
  244.     pixels to be painted; the texture is the current PostScript color.
  245.  
  246.     - For image and colorimage, the source is the image data; the
  247.     texture depends on an optional Boolean parameter, CombineWithColor,
  248.     in the image dictionary.  If CombineWithColor is false (the
  249.     default), the texture is solid black.  If CombineWithColor is true,
  250.     the texture is the current color.  For the non-dictionary form of
  251.     the image operator, CombineWithColor is considered to be false.
  252.  
  253. The rasterop option adds the following operators:
  254.  
  255.     <int8> .setrasterop -
  256.         Sets the RasterOp function in the graphics state.
  257.           The default function is 252, Source | Texture.
  258.  
  259.     - .currentrasterop <int8>
  260.         Returns the current RasterOp function.
  261.  
  262.     <bool> .setsourcetransparent -
  263.         Sets source transparency in the graphics state.  When source
  264.           transparency is true, white source pixels prevent storing
  265.           into the destination, regardless of what the RasterOp
  266.           function returns.  The default source transparency is
  267.           false.
  268.  
  269.     - .currentsourcetransparent <bool> -
  270.         Returns the current source transparency.
  271.  
  272.     <bool> .settexturetransparent -
  273.         Sets texture transparency in the graphics state.  When texture
  274.           transparency is true, white texture pixels prevent storing
  275.           into the destination, regardless of what the RasterOp
  276.           function returns.  The default texture transparency is
  277.           false.
  278.  
  279.     - .currenttexturetransparent <bool> -
  280.         Returns the current texture transparency.
  281.  
  282. For more information on RasterOp and transparency, please consult chapter 5
  283. of the "PCL 5 Color Technical Reference Manual", Hewlett-Packard Manual Part
  284. No. 5961-0635.
  285.  
  286. Filters
  287. -------
  288.  
  289. Ghostscript supports all the standard PostScript Level 2 filters, except
  290. that it does not currently support the EarlyChange key in the LZWEncode
  291. filter.  Ghostscript also supports the as yet undocumented FlateEncode and
  292. FlateDecode filters from PDF 1.2 and (presumably) PostScript Level 3, except
  293. for the Effort key in FlateEncode.  In addition, Ghostscript supports the
  294. following non-standard filters:
  295.  
  296.     <target> /BCPEncode filter <file>
  297.     <source> /BCPDecode filter <file>
  298.         Create filters that implement the Adobe Binary
  299.           Communications Protocol.  See Adobe documentation for
  300.           details.
  301.  
  302.     <target> <seed_integer> /eexecEncode filter <file>
  303.         Creates a filter for encrypting data into the
  304.           eexec encrypted format described in the
  305.           Adobe Type 1 Font Format documentation.  The
  306.           seed_integer must be 55665 for proper operation.
  307.           This filter produces binary output and does not
  308.           include the initial 4 garbage bytes.
  309.  
  310.     <source> <seed_integer> /eexecDecode filter <file>
  311.         Creates a filter for decrypting data that has been
  312.           encrypted using eexec encryption as described in the
  313.           Adobe Type 1 Font Format documentation.  The
  314.           seed_integer must be 55665 for proper operation.
  315.  
  316.     <source> /PCXDecode filter <file>
  317.         Creates a filter that decodes data in the run-length
  318.           encoding used in the PCX graphics file format.
  319.  
  320.     <source> <hex_boolean> /PFBDecode filter <file>
  321.         Creates a filter that decodes data in .PFB format, the
  322.           usual semi-binary representation for Type 1 font files
  323.           on IBM PC and compatible systems.  If hex_boolean is true,
  324.           binary packets are converted to hex; if false, binary
  325.           packets are not converted.
  326.  
  327.     <target> <dict> /PixelDifferenceEncode filter <file>
  328.     <source> <dict> /PixelDifferenceDecode filter <file>
  329.         Implements the Predictor=2 pixel-differencing option of the
  330.           LZW filters.  Recognized keys are:
  331.             Colors <integer> 1..4 (default=1)
  332.             BitsPerComponent <integer> 1,2,4,8 (default=8)
  333.             Columns <integer> >= 0 (required)
  334.           See the Adobe "Portable Document Format Reference Manual"
  335.           for details.
  336.  
  337.     <target> <dict> /PNGPredictorEncode filter <file>
  338.     <source> <dict> /PNGPredictorDecode filter <file>
  339.         Implements the "filter" algorithms of the PNG graphics
  340.           format.  Recognized keys are:
  341.             Colors <integer> 1..16 (default=1)
  342.             BitsPerComponent <integer> 1,2,4,8,16 (default=8)
  343.             Columns <integer> >= 0 (default=1)
  344.             Predictor <integer> 10..15 (default=15)
  345.         The Predictor is the PNG algorithm number + 10 for the
  346.           Encoding filter; the Decoding filter ignores Predictor.
  347.           15 means the encoder attempts to optimize the choice of
  348.           algorithm.  For more details, see libpng.mak, which has
  349.           a pointer to the PNG specification.
  350.  
  351.     <target> /TBCPEncode filter <file>
  352.     <source> /TBCPDecode filter <file>
  353.         Create filters that implement the Adobe Tagged Binary
  354.           Communications Protocol.  See Adobe documentation for
  355.           details.
  356.  
  357.     <target> /zlibEncode filter <file>
  358.     <source> /zlibEncode filter <file>
  359.         Creates filters that use the zlib data compression method
  360.           (the same method used by the gzip application).
  361.           This filter is only available if the fzlib feature was
  362.           selected when Ghostscript was compiled and linked.
  363.  
  364. Various versions of Ghostscript may also support other non-standard filters
  365. for experimental purposes.  The current version includes the following
  366. non-standard filters, which are not documented further.  No guarantee is
  367. made that these filters will exist in compatible form, or at all, in future
  368. versions.
  369.  
  370.     <target/source> <string> ByteTranslateEncode/Decode
  371.     <target> <int> BigStringEncode
  372.     <target/source> <dict> BoundedHuffmanEncode/Decode
  373.         FirstBitLowOrder <bool> false
  374.         MaxCodeLength <int> 16
  375.         EndOfData <bool> true
  376.         EncodeZeroRuns <int> 256
  377.         Tables <int_array>
  378.     <target/source> <dict> BWBlockSortEncode/Decode
  379.         BlockSize <int> 16384
  380.     <target/source> MoveToFrontEncode/Decode
  381.  
  382. Ghostscript also supports additional keys in the optional dictionary
  383. operands for some filters.  For the LZWDecode filter:
  384.  
  385.     InitialCodeLength <integer>
  386.         An integer between 2 and 11 specifying the initial number
  387. of data bits per code.  Note that the actual initial code length is 1
  388. greater than this, to allow for the reset and end-of-data code values.
  389. Default value: 8.
  390.  
  391.     FirstBitLowOrder <boolean>
  392.         If true, codes appear with their low-order bit first.
  393. Default value: false.
  394.  
  395.     BlockData <boolean>
  396.         If true, the data is broken into blocks in the manner
  397. specified for the GIF file format.  Default value: false.
  398.  
  399. For the CCITTFaxEncode and CCITTFaxDecode filters:
  400.  
  401.     DecodedByteAlign <integer>
  402.         An integer N with the value 1, 2, 4, 8, or 16, specifying
  403. that decoded data scan lines are always a multiple of N bytes.  The encoding
  404. filter skips data in each scan line from Columns to the next multiple of N
  405. bytes; the decoding filter pads each scan line to a multiple of N bytes.
  406. Default value: 1.
  407.  
  408. Virtual memory operators
  409. ------------------------
  410.  
  411.     <save> .forgetsave -
  412.         Cancels the effect of a save -- makes it as though the
  413.           save never happened.
  414.  
  415. Miscellaneous operators
  416. -----------------------
  417.  
  418.     <string> getenv <string> true
  419.     <string> getenv false
  420.         Looks up a name in the shell environment.  If the name is
  421.           found, returns the corresponding value and true; if the
  422.           name is not found, returns false.
  423.  
  424.     <name> <array> makeoperator <operator>
  425.         Constructs and returns a new operator that is actually the
  426.           given procedure in disguise.  The name is only used for
  427.           printing.  The operator has the executable attribute.
  428.  
  429.     <string> <boolean> .setdebug -
  430.         If the Ghostscript interpreter was built with the DEBUG
  431.           flag set, sets or resets any subset of the debugging
  432.           flags normally controlled by -Z in the command line.
  433.           Has no effect otherwise.
  434.  
  435.     - .oserrno <errno>
  436.         Returns the error code for the most recent OS error.
  437.  
  438.     - .oserror <string>
  439.         Returns the error string for the most recent OS error.
  440.  
  441. Device operators
  442. ----------------
  443.  
  444.     <device> copydevice <device>
  445.         Copies a device.  The copy is writable and installable.
  446.  
  447.     <index> .getdevice <device>
  448.         Returns a device from the set of devices known to the
  449.           system.  The first device, which is default, is numbered
  450.           0.  If the index is out of range, causes a rangecheck
  451.           error.  This device is actually a prototype, not a
  452.           directly usable device, and is marked read-only;
  453.           it cannot have its parameters changed or be installed as
  454.           the current device.
  455.  
  456.     <matrix> <width> <height> <palette> makeimagedevice <device>
  457.         Makes a new device that accumulates an image in memory.
  458.           matrix is the initial transformation matrix: it must be
  459.           orthogonal (i.e., [a 0 0 b x y] or [0 a b 0 x y]).
  460.           palette is a string of 2^N or 3*2^N elements, specifying
  461.           how the 2^N possible pixel values will be interpreted.
  462.           Each element is interpreted as a gray value, or as RGB
  463.           values, multiplied by 255.  For example, if you want
  464.           a monochrome image for which 0=white and 1=black, the
  465.           palette should be <ff 00>; if you want a 3-bit deep
  466.           image with just the primary colors and their complements
  467.           (ignoring the fact that 3-bit images are not supported),
  468.           the palette might be <000000 0000ff 00ff00 00ffff
  469.           ff0000 ff00ff ffff00 ffffff>.  At present, the palette
  470.           must contain exactly 2, 4, 16, or 256 entries,
  471.           and must contain an entry for black and an entry
  472.           for white; if it contains any entries that aren't black,
  473.           white, or gray, it must contain at least the six primary
  474.           colors (red, green, blue, and their complements cyan,
  475.           magenta, and yellow); aside from this, its contents are
  476.           arbitrary.
  477.         Alternatively, palette can be 16, 24, 32, or null
  478.           (equivalent to 24).  These are interpreted as:
  479.             16 = 5R, 6G, 5B bits;
  480.             24 = 8R, 8G, 8B bits;
  481.             32 = 8C, 8M, 8Y, 8K bits.
  482.         Note that one can also make an image device (with the same
  483.           palette as an existing image device) by copying a device
  484.           using the copydevice operator.
  485.  
  486.     <matrix> <width> <height> <palette> <word?> makewordimagedevice
  487.         <device>
  488.         Makes an image device as described above.  word? is a
  489.           Boolean value indicating whether the data should be stored
  490.           in a word-oriented format internally.  No ordinary
  491.           PostScript programs should use this operator.
  492.  
  493.     <device> <index> <string> copyscanlines <substring>
  494.         Copies one or more scan lines from an image device into a
  495.           string, starting at a given scan line in the image.
  496.           The data is in the same format as for the image
  497.           operator.  Error if the device is not an image device or
  498.           if the string is too small to hold at least one complete
  499.           scan line.  Always copies an integral number of scan
  500.           lines.
  501.  
  502.     <device> setdevice -
  503.         Sets the current device to the specified device.  Also
  504.           resets the transformation and clipping path to the
  505.           initial values for the device.  Signals an invalidaccess
  506.           error if the device is a prototype.
  507.  
  508.     - currentdevice <device>
  509.         Gets the current device from the graphics state.
  510.  
  511.     <device> getdeviceprops <mark> <name1> <value1> ... <namen> <valuen>
  512.         Gets all the properties of a device.  Currently defined
  513.           names and values for all devices are:
  514.             BitsPerPixel <integer>
  515.                 Usually read-only.  Number of bits per pixel.
  516.             .HWMargins [<4 floats>]
  517.                 Size of non-imageable regions around edges
  518.                   of page, in 1/72" units.
  519.             HWSize [<integer> <integer>]
  520.                 X and Y size in pixels.
  521.             Name <string>
  522.                 Read-only.  The device name.
  523.                   Currently, same as OutputDevice.
  524.             Colors, GrayValues, RedValues, GreenValues,
  525.               BlueValues, ColorValues
  526.                 As for the 'deviceinfo' operator of
  527.                   Display PostScript.
  528.             TextAlphaBits, GraphicsAlphaBits
  529.                 The number of bits of anti-aliasing
  530.                   information for text or graphics
  531.                   respectively.  Legal values are 1 (no
  532.                   anti-aliasing), 2, or 4; the default value
  533.                   for most devices is 1.  Read-only for
  534.                   almost all devices.
  535.         In addition, the following are defined per Adobe's
  536.           documentation for the setpagedevice operator:
  537.             Duplex (if supported)
  538.             HWResolution
  539.             ImagingBBox
  540.             Margins
  541.             NumCopies (for printers only)
  542.             Orientation (if supported)
  543.             OutputDevice
  544.             PageOffset (write-only)
  545.             PageSize
  546.             ProcessColorModel
  547.         Some devices may only allow certain values for
  548.           HWResolution and PageSize.  The null device ignores
  549.           attempts to set PageSize; its size is always [0 0].
  550.         Red/Green/Blue/ColorValues are only defined if Colors > 1.
  551.         For printers, the following are also defined:
  552.             BufferSpace <integer>
  553.                 Buffer space for band lists, if the bitmap
  554.                   is too big to fit in RAM.
  555.             MaxBitmap <integer>
  556.                 Maximum space for a full bitmap in RAM.
  557.             OutputFile <string>
  558.                 () means send to printer directly,
  559.                   otherwise specifies the file name for
  560.                   output; a %d is replaced by the page #;
  561.                   on Unix systems, (|command) writes to a pipe
  562.             OpenOutputFile <boolean>
  563.                 If true, open the device's output file
  564.                   when the device is opened, rather than
  565.                   waiting until the first page is ready to
  566.                   print.
  567.             PageCount <integer>
  568.                 Read-only.  Counts the number of pages
  569.                   printed on the device.
  570.  
  571.     <mark> <name1> <value1> ... <namen> <valuen> <device>
  572.         putdeviceprops <device>
  573.         Sets properties of a device.  May cause undefined,
  574.           typecheck, rangecheck, or limitcheck errors.
  575.  
  576.     - flushpage -
  577.         On displays, flushes any buffered output, so that it
  578.           is guaranteed to show up on the screen; on printers,
  579.           has no effect.
  580.  
  581. Ghostscript supports the following page device parameters in addition to the
  582. ones documented by Adobe and the ones described under getdeviceprops above:
  583.  
  584.     ViewerPreProcess    procedure
  585.         Specifies a procedure to be applied to the page device
  586.           dictionary before any other processing is done.  The
  587.           procedure may not alter the dictionary, but it may return
  588.           a modified copy.  This "hook" is provided for use by
  589.           viewing programs.
  590.  
  591. Character operators
  592. -------------------
  593.  
  594.     <string> <bool> .charboxpath -
  595.         For each character C in the rendering of <string>, let the
  596.           bounding box of C *in device space* be the four
  597.           *user-space* points p1x/y, p2x/y, p3x/y, and p4x/y.  For
  598.           each character in order, .charboxpath appends the
  599.           following to the current path:
  600.             - If <bool> is true, the equivalent of:
  601.                 p1x p1y moveto
  602.                 p2x p2y lineto
  603.                 p3x p3y lineto
  604.                 p4x p4y lineto
  605.                 closepath
  606.             - If <bool> is false, the equivalent of:
  607.                 p1x p1y moveto
  608.                 p3x p3y lineto
  609.           In either case, this creates a path whose pathbbox is the
  610.           bbox of the string.
  611.  
  612.     <font> <charname|charcode> <charname> <charstring> .type1execchar -
  613.         Does all the work for rendering a Type 1 outline.  This
  614.           operator, like setcharwidth and setcachedevice, is
  615.           only valid in the context of a show operator -- i.e.,
  616.           it must only be called from within a BuildChar or
  617.           BuildGlyph procedure.
  618.  
  619.     <font> <charcode> %Type1BuildChar -
  620.         This is not a new operator: rather, it is a name known
  621.           specially to the interpreter.  Whenever the interpreter
  622.           needs to render a character (during a ...show,
  623.           stringwidth, or charpath), it looks up the name
  624.           BuildChar in the font dictionary to find a procedure to
  625.           run.  If it does not find this name, and if the FontType
  626.           is 1, the interpreter instead uses the value (looked up
  627.           on the dictionary stack in the usual way) of the name
  628.           %Type1BuildChar.
  629.         The standard definition of %Type1BuildChar is in gs_type1.ps.
  630.           Users should not need to redefine %Type1BuildChar, except
  631.           perhaps for tracing or debugging.
  632.  
  633.     <font> <charname> %Type1BuildGlyph -
  634.         Provides the Type 1 implementation of BuildGlyph.
  635.  
  636. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  637.  
  638. PostScript is a trademark of Adobe Systems, Incorporated.
  639.