|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T g
Length: 9291 (0x244b) Types: TextFile Names: »ghost.doc«
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89 └─⟦ff23ba0e6⟧ »./ghostscript-1.3.tar.Z« └─⟦a24a58cd3⟧ └─⟦this⟧ »ghost.doc«
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.