DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T g

⟦21797f2b9⟧ TextFile

    Length: 9291 (0x244b)
    Types: TextFile
    Names: »ghost.doc«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦ff23ba0e6⟧ »./ghostscript-1.3.tar.Z« 
        └─⟦a24a58cd3⟧ 
            └─⟦this⟧ »ghost.doc« 

TextFile

   Copyright (C) 1989 Aladdin Enterprises.  All rights reserved.
   Distributed by Free Software Foundation, Inc.

This file is part of Ghostscript.

Ghostscript is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
to anyone for the consequences of using it or for whether it serves any
particular purpose or works at all, unless he says so in writing.  Refer
to the Ghostscript General Public License for full details.

Everyone is granted permission to copy, modify and redistribute
Ghostscript, but only under the conditions described in the Ghostscript
General Public License.  A copy of this license is supposed to have been
given to you along with Ghostscript so you can know your rights and
responsibilities.  It should be in a file named COPYING.  Among other
things, the copyright notice and this notice must be preserved on all
copies.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

This file, ghost.doc, compares Ghostscript and PostScript.

This file applies to version 1.3 of Ghostscript.  For an overview of
Ghostscript and a list of the documentation files, see README.

********
******** Language comparison ********
********

The Ghostscript language bears a very strong resemblance to the PostScript
(TM) language: in fact, unless otherwise noted, it conforms exactly to
version 25.0 of the PostScript language description, as presented in the
April 1986 printing of the PostScript reference manual published by
Addison-Wesley and amended by subsequent Adobe documentation.  The
following summarizes the current differences between the Ghostscript and
PostScript languages:

------ NOT IMPLEMENTED ------

file: resetfile, echo
vmem: (save), (restore) -- dummy definitions
path: reversepath, (charpath)
device: banddevice, renderbands

------ LIMITATIONS ------

There are no checks for floating point exceptions.

The scanner doesn't check for memory overflow when scanning a procedure.

cvrs doesn't handle reals.

Most access checks aren't implemented.

The standard file names %statementedit and %linedit aren't recognized.

------ EXTENSIONS ------

\r and ^Z are counted as whitespace.

readhexstring can take either a file or a string as the source of
characters.  In the latter case, it leaves the remainder of the string on
the stack, just as for the token operator.

Mathematical operators:
	<number> arccos <number>
		Computes the arc cosine of a number between -1 and 1.
	<number> arcsin <number>
		Computes the arc sine of a number between -1 and 1.
Dictionary operators:
	<dict> <integer> setmaxlength
		Changes the capacity of a dictionary, preserving its
		  contents.  Causes a dictfull error if the requested
		  capacity is less than the current occupancy.
Relational operators:
	<number|string> <number|string> max <number|string>
		Returns the larger of two numbers or strings.
	<number|string> <number|string> min <number|string>
		Returns the smaller of two numbers or strings.
File operators:
	<file> currentfileposition <integer>
		Returns the current position within the file.  If the
		  notion of position is not meaningful for this file,
		  causes an ioerror error.
	<file> <integer> setfileposition
		Sets the current position within the file.  If the notion
		  of position is not meaningful for this file, or if the
		  file is only open for writing, causes an ioerror error.
		  If the position is negative or beyond the end of the
		  file, causes a rangecheck error.
Miscellaneous operators:
	currenttime <number>
		Returns the current value of a continuously-running timer,
		  in minutes.  The initial value of this timer is undefined.
	defaultdevicename <string>
		Returns the name of the default (currently, the only)
		  device known to the interpreter.  The current possible
		  values are (X) or (EGA).
	<string> getenv   <string> true  or  false
		Looks up a name in the shell environment.  If the name is
		  found, returns the corresponding value and true; if the
		  name is not found, returns false.
	<string> <boolean> setdebug
		If the Ghostscript interpreter was built with the DEBUG
		  flag set, sets or resets any subset of the debugging
		  flags normally controlled by -Z in the command line.
		  Has no effect otherwise.
Graphics state operators:
	currentcolor <color>
		Returns a color object (a new kind of object) representing
		  the current color/gray from the graphics state.
	<color> setcolor
		Sets the current color in the graphics state according to
		  a color object.
Color operators:
	<h> <s> <b> hsbcolor <color>
		Constructs a color object from hue, saturation, and
		  brightness values.
	<r> <g> <b> rgbcolor <color>
		Constructs a color object from red, green, and blue values.
	<color> colorhsb <h> <s> <b>
		Inverts the action of hsbcolor.
	<color> colorrgb <r> <g> <b>
		Inverts the action of rgbcolor.
Device operators:
****** FOLLOWING IS NOT IMPLEMENTED YET ******
	<matrix> <width> <height> <colormap> makeimagedevice <device>
		Makes a new device that accumulates an image in memory.
		  colormap is an array of color objects that specify how
		  the pixel values will be interpreted, e.g., if you want
		  a monochrome image for which 0=white and 1=black, the
		  colormap should be the result of executing
			[ 1 1 1 rgbcolor 0 0 0 rgbcolor ]
		  The colormap must contain exactly 2, 4, 16, or 256
		  entries, and must contain an entry for black and an
		  entry for white; aside from this, its contents are
		  arbitrary.  Each pixel occupies log2(colormap size)
		  bits.
		Note that one can also make an image device (with the same
		  colormap as an existing image device) using makedevice.
****** FOLLOWING IS NOT IMPLEMENTED YET ******
	<device> <index> <string> getscanlines <substring>
		Copies one or more scan lines from an image device into a
		  string, starting at a given scan line in the image.
		  The data is in the same format as for the image
		  operator.  Error if the device is not an image device or
		  if the string is too small to hold at least one complete
		  scan line.  Always copies an integral number of scan
		  lines.
	<device> <matrix> <width> <height> makedevice <device>
		Makes a new device just like an existing one, but with a
		  specified width, height, and initial transformation.
		  Note that the width is in pixels, not in bytes as in
		  framedevice.
	<device> setdevice
		Sets the current device to the specified device.  Also
		  resets the transformation and clipping path to the
		  initial values for the device.
	currentdevice <device>
		Gets the current device from the graphics state.
	<device> <matrix> deviceparams <matrix> <width> <height>
		Gets the parameters of a device.
Character operators:
	<string> <fonttype> addcharpath
		Adds the description of a character to the current path.
		  The fonttype, an integer normally obtained from the
		  FontType entry in a font dictionary, serves as a check
		  that the string is compatible with the version of the
		  operator in this interpreter.  The currently implemented
		  type is 7, which corresponds to the description format
		  generated by, and documented in, the file gsim2out.c.
		  If the fonttype is not correct, an invalidfont error
		  results.
	<image> <width> <height> <string> imagecharpath <substring> <fonttype>
		Creates a scalable description of a character (or any
		  other monobit image), a string suitable for addcharpath.
		  If the description is too complex to fit into the
		  supplied string, a limitcheck error results.  A good
		  rule of thumb is that the size of the string should be
		  about 6 times the number of 1-bits in the image.  This
		  operator also returns the fonttype, for use in a font
		  dictionary.

********
******** Graphics comparison ********
********

The graphics capabilities of the Ghostscript language interpreter are
provided by the Ghostscript library.  There are a number of differences
between these capabilities and those described in the PostScript reference
manual, mostly bugs and limitations.

------ DEVICE DEPENDENCIES ------

copypage and showpage are synonymous: they do nothing in the MS-DOS
  implementation, and merely synchronize the X connection in the Unix
  implementation.

The current definition of framedevice only knows about the EGA (in the
  MS-DOS implementation) or the X11 library (in the Unix implementation).

charpath is implemented as a procedure that only handles one
  representation of outline fonts.

------ BUGS ------

Cached characters wipe out the information behind them in the Unix
  version.  (I couldn't quite figure out how to do the equivalent of
  imagemask using Xlib, especially since the bit-image calls were
  broken in the version of X I had to debug on.)

The wrong thing happens at grestore if you add to an existing path
  after a gsave.

The transfer function is used only for stroking and filling,
  not for images.

Dash patterns don't work properly.  (They once did, but they don't now.)

strokepath doesn't work.

clip and eoclip replace the clipping path with the current path,
  rather than with the intersection of the two paths.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

PostScript is a trademark of Adobe Systems, Incorporated.