Copyright (C) 1990, 1992, 1993, 1994 Aladdin Enterprises. All rights reserved. This file is part of Aladdin Ghostscript. Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author or distributor accepts any responsibility for the consequences of using it, or for whether it serves any particular purpose or works at all, unless he or she says so in writing. Refer to the Aladdin Ghostscript Free Public License (the "License") for full details. Every copy of Aladdin Ghostscript must include a copy of the License, normally in a plain ASCII text file named PUBLIC. The License grants you the right to copy, modify and redistribute Aladdin Ghostscript, but only under certain conditions described in the License. Among other things, the License requires that the copyright notice and this notice be preserved on all copies. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This file, current.doc, describes problems and new features in the current release of Ghostscript. This file describes version 3.23 of Ghostscript. For an overview of Ghostscript and a list of the documentation files, see README. New features (since release 3.0) ============ Note: this is not a complete list of new features. See the NEWS file for full details. Implements all remaining significant Level 2 features: halftone TransferFunction, setpagedevice (subset), XStep/YStep for Patterns, Interpolate for images, AccurateScreens (limited implementation). Provides PageSize, Margins, .HWMargins, and ImagingBBox device parameters, which allow complete control over the size and positioning of images on printers. Implements a new psmono device, replacing the ps2image utility. Supports many new 800x600x16 SuperVGA displays. See use.doc for details. Adds a -dFAKEFONTS switch that makes fake entries in FontDirectory for unloaded fonts, for the benefit of programs that think they can find all the available fonts by scanning FontDirectory. Adds the Canon BJ-200 and H-P LaserJet 4 drivers to most makefiles. Adds a -dWindowID= switch (for X Windows) that allows specifying the window to which output should be directed. Known problems ============== Usage ----- On a MS-DOS system, interrupting the interpreter by typing ^C doesn't restore the display mode. Limitations ----------- serialnumber returns the same value in all copies. The realtime operator is not implemented. User names (a Display PostScript facility) are not implemented. Some floating point exceptions terminate the interpreter, rather than producing a limitcheck error. The DCTEncode filter disregards the Blend parameter, and uses different QuantTables and HuffTables from Adobe's. The DCT filters do not support nonintegral sample ratios, and do not allow Sum(HS*VS)>10, regardless of the value of the Relax parameter. The size of the execution stack cannot be changed dynamically. (However, the sizes of the operand and dictionary stacks can be changed.) Separation color spaces are implemented, but devices that actually produce color separations are not supported. The special color separations All and None, and the primary separations (Red, Green, etc.), are not supported. execform and ucache are implemented, but they do not actually do any caching; setucacheparams and ucachestatus are dummies. (This only impacts performance, not functionality.) setpagedevice and currentpagedevice only look at a fixed, small set of keys. See the NEWS file for details. The image operator only honors the Interpolate flag in the image dictionary if the combined transformation (ImageMatrix + CTM) doesn't involve rotation, skewing, or X-reflection. Graphics bugs ------------- The implementation only looks at the PaintType of the font when doing show, not when doing charpath. Because of this, stroked fonts don't work correctly with charpath. arcto gives an error for negative radii. Opening more than one window device at the same time doesn't work. This is the case for both X Windows and Microsoft Windows. setpagedevice affects the driver, not just the current graphics state. Consequently, restore / grestore / grestoreall / setgstate may not undo setpagedevice properly. cshow doesn't work with composite fonts. Non-graphics bugs ----------------- The %statementedit pseudo-file is equivalent to %lineedit. As a consequence, the interactive interpreter requires that every statement fit on a line, i.e., you can't have an unpaired (, {, or <. The following operators that expect arrays won't accept packed arrays: definefont (Subrs (type 1 fonts)) setdash (dash pattern) Syntax errors occurring within a binary token do not produce the error message specified by the Adobe documentation. restore doesn't restore the user parameters. 1 vmreclaim is equivalent to 2 vmreclaim -- there is no separate GC for local VM.