5237 lines · 206.3 KB · HTML
RawDownload
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>History of Ghostscript versions 1.n</title><!-- $Id: History2.htm,v 1.39 2005/10/20 19:46:23 ray Exp $ --><!-- Originally: history2.txt --><!--	WARNING: do not use Pete Kaiser's emacs function "gs-toc" alone to	re-create the table of contents here, because it will replace the	hand-edited TOC subheads with a separate subhead for each H2 in	the body of the file.  Or if you do, first look at the original	TOC to see how to edit it for visual conciseness.--><link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style"></head> <body><!-- [1.0 begin visible header] ============================================ --> <!-- [1.1 begin headline] ================================================== --> <h1>History of Ghostscript versions 2.n</h1> <!-- [1.1 end headline] ==================================================== --> <!-- [1.2 begin table of contents] ========================================= --> <h2>Table of contents</h2> <blockquote><ul><li><a href="#Version2.9.10b">Version 2.9.10-beta (7/28/94)</a><ul><li><a href="#V2.9.10b_Documentation">Documentation</a>,    <a href="#V2.9.10b_Procedures">Procedures</a>,    <a href="#V2.9.10b_Utilities">Utilities</a>,    <a href="#V2.9.10b_Drivers">Drivers</a>,    <a href="#V2.9.10b_Platforms">Platforms</a>,    <a href="#V2.9.10b_Fonts">Fonts</a>,    <a href="#V2.9.10b_Interpreter">Interpreter</a>,    <a href="#V2.9.10b_Streams">Streams</a>,    <a href="#V2.9.10b_Library">Library</a></ul><li><a href="#Version2.9.9b">Version 2.9.9-beta (6/23/94)</a><ul><li><a href="#V2.9.9b_Documentation">Documentation</a>,    <a href="#V2.9.9b_Platforms">Platforms</a>,    <a href="#V2.9.9b_Fonts">Fonts</a>,    <a href="#V2.9.9b_Interpreter">Interpreter</a>,    <a href="#V2.9.9b_Library">Library</a></ul><li><a href="#Version2.9.8">Version 2.9.8 (6/20/94)</a><ul><li><a href="#V2.9.8_Documentation">Documentation</a>,    <a href="#V2.9.8_Procedures">Procedures</a>,    <a href="#V2.9.8_Utilities">Utilities</a>,    <a href="#V2.9.8_Drivers">Drivers</a>,    <a href="#V2.9.8_Platforms">Platforms</a>,    <a href="#V2.9.8_Fonts">Fonts</a>,    <a href="#V2.9.8_Interpreter">Interpreter</a>,    <a href="#V2.9.8_Library">Library</a></ul><li><a href="#Version2.9.7b">Version 2.9.7-beta (6/5/94)</a><ul><li><a href="#V2.9.7b_Documentation">Documentation</a>,    <a href="#V2.9.7b_Procedures">Procedures</a>,    <a href="#V2.9.7b_Utilities">Utilities</a>,    <a href="#V2.9.7b_Drivers">Drivers</a>,    <a href="#V2.9.7b_Platforms">Platforms</a>,    <a href="#V2.9.7b_Fonts">Fonts</a>,    <a href="#V2.9.7b_Interpreter">Interpreter</a>,    <a href="#V2.9.7b_Library">Library</a></ul><li><a href="#Version2.9.6b">Version 2.9.6-beta (5/23/94, not distributed to the public)</a><ul><li><a href="#V2.9.6b_Documentation">Documentation</a>,    <a href="#V2.9.6b_Procedures">Procedures</a>,    <a href="#V2.9.6b_Utilities">Utilities</a>,    <a href="#V2.9.6b_Drivers">Drivers</a>,    <a href="#V2.9.6b_Platforms">Platforms</a>,    <a href="#V2.9.6b_Fonts">Fonts</a>,    <a href="#V2.9.6b_Interpreter">Interpreter</a>,    <a href="#V2.9.6b_Library">Library</a></ul><li><a href="#Version2.9.5b">Version 2.9.5-beta (4/11/94)</a><ul><li><a href="#V2.9.5b_Documentation">Documentation</a>,    <a href="#V2.9.5b_Procedures">Procedures</a>,    <a href="#V2.9.5b_Utilities">Utilities</a>,    <a href="#V2.9.5b_Drivers">Drivers</a>,    <a href="#V2.9.5b_Platforms">Platforms</a>,    <a href="#V2.9.5b_Interpreter">Interpreter</a>,    <a href="#V2.9.5b_Library">Library</a></ul><li><a href="#Version2.9.4b">Version 2.9.4-beta (2/19/94)</a><ul><li><a href="#V2.9.4b_Procedures">Procedures</a>,    <a href="#V2.9.4b_Utilities">Utilities</a>,    <a href="#V2.9.4b_Drivers">Drivers</a>,    <a href="#V2.9.4b_Platforms">Platforms</a>,    <a href="#V2.9.4b_Interpreter">Interpreter</a>,    <a href="#V2.9.4b_Library">Library</a></ul><li><a href="#Version2.9.3b">Version 2.9.3-beta (1/19/94)</a><ul><li><a href="#V2.9.3b_Documentation">Documentation</a>,    <a href="#V2.9.3b_Procedures">Procedures</a>,    <a href="#V2.9.3b_Drivers">Drivers</a>,    <a href="#V2.9.3b_Platforms">Platforms</a>,    <a href="#V2.9.3b_Interpreter">Interpreter</a>,    <a href="#V2.9.3b_Library">Library</a></ul><li><a href="#Version2.9.2b">Version 2.9.2-beta (1/2/94)</a><ul><li><a href="#V2.9.2b_Documentation">Documentation</a>,    <a href="#V2.9.2b_Utilities">Utilities</a>,    <a href="#V2.9.2b_Drivers">Drivers</a>,    <a href="#V2.9.2b_Platforms">Platforms</a>,    <a href="#V2.9.2b_Fonts">Fonts</a>,    <a href="#V2.9.2b_Interpreter">Interpreter</a>,    <a href="#V2.9.2b_Library">Library</a></ul><li><a href="#Version2.9.1b">Version 2.9.1-beta (12/7/93)</a><ul><li><a href="#V2.9.1b_Utilities">Utilities</a>,    <a href="#V2.9.1b_Interpreter">Interpreter</a>,    <a href="#V2.9.1b_Library">Library</a></ul><li><a href="#Version2.9b">Version 2.9-beta (12/6/93)</a><ul><li><a href="#V2.9b_Documentation">Documentation</a>,    <a href="#V2.9b_Procedures">Procedures</a>,    <a href="#V2.9b_Utilities">Utilities</a>,    <a href="#V2.9b_Drivers">Drivers</a>,    <a href="#V2.9b_Platforms">Platforms</a>,    <a href="#V2.9b_Interpreter">Interpreter</a>,    <a href="#V2.9b_Library">Library</a></ul><li><a href="#Version2.8b">Version 2.8-beta (11/10/93)</a><ul><li><a href="#V2.8b_Documentation">Documentation</a>,    <a href="#V2.8b_Procedures">Procedures</a>,    <a href="#V2.8b_Utilities">Utilities</a>,    <a href="#V2.8b_Drivers">Drivers</a>,    <a href="#V2.8b_Platforms">Platforms</a>,    <a href="#V2.8b_Fonts">Fonts</a>,    <a href="#V2.8b_Interpreter">Interpreter</a>,    <a href="#V2.8b_Library">Library</a></ul><li><a href="#Version2.7.2b">Version 2.7.2-beta (10/11/93)</a><ul><li><a href="#V2.7.2b_Utilities">Utilities</a>,    <a href="#V2.7.2b_Interpreter">Interpreter</a>,    <a href="#V2.7.2b_Library">Library</a></ul><li><a href="#Version2.7.1b">Version 2.7.1-beta (10/4/93, not distributed to the public)</a><ul><li><a href="#V2.7.1b_Documentation">Documentation</a>,    <a href="#V2.7.1b_Utilities">Utilities</a>,    <a href="#V2.7.1b_Drivers">Drivers</a>,    <a href="#V2.7.1b_Platforms">Platforms</a>,    <a href="#V2.7.1b_Fonts">Fonts</a>,    <a href="#V2.7.1b_Interpreter">Interpreter</a>,    <a href="#V2.7.1b_Library">Library</a></ul><li><a href="#Version2.7b">Version 2.7-beta (9/20/93, not distributed to the public)</a><ul><li><a href="#V2.7b_Documentation">Documentation</a>,    <a href="#V2.7b_Procedures">Procedures</a>,    <a href="#V2.7b_Utilities">Utilities</a>,    <a href="#V2.7b_Drivers">Drivers</a>,    <a href="#V2.7b_Platforms">Platforms</a>,    <a href="#V2.7b_Fonts">Fonts</a>,    <a href="#V2.7b_Interpreter">Interpreter</a>,    <a href="#V2.7b_Library">Library</a></ul><li><a href="#Version2.6.1">Version 2.6.1 (5/28/93)</a><ul><li><a href="#V2.6.1_Documentation">Documentation</a>,    <a href="#V2.6.1_Procedures">Procedures</a>,    <a href="#V2.6.1_Utilities">Utilities</a>,    <a href="#V2.6.1_Drivers">Drivers</a>,    <a href="#V2.6.1_Platforms">Platforms</a>,    <a href="#V2.6.1_Fonts">Fonts</a>,    <a href="#V2.6.1_Interpreter">Interpreter</a>,    <a href="#V2.6.1_Library">Library</a></ul><li><a href="#Version2.6">Version 2.6 (5/9/93)</a><ul><li><a href="#V2.6_Documentation">Documentation</a>,    <a href="#V2.6_Procedures">Procedures</a>,    <a href="#V2.6_Utilities">Utilities</a>,    <a href="#V2.6_Platforms">Platforms</a>,    <a href="#V2.6_Fonts">Fonts</a>,    <a href="#V2.6_Drivers">Drivers</a>,    <a href="#V2.6_Interpreter">Interpreter</a>,    <a href="#V2.6_Library">Library</a></ul><li><a href="#Version2.5.2">Version 2.5.2 (9/20/92)</a><ul><li><a href="#V2.5.2_Procedures">Procedures</a>,    <a href="#V2.5.2_Utilities">Utilities</a>,    <a href="#V2.5.2_Platforms">Platforms</a>,    <a href="#V2.5.2_Drivers">Drivers</a>,    <a href="#V2.5.2_Interpreter">Interpreter</a>,    <a href="#V2.5.2_Library">Library</a></ul><li><a href="#Version2.5.1">Version 2.5.1 (9/11/92)</a><ul><li><a href="#V2.5.1_Procedures">Procedures</a>,    <a href="#V2.5.1_Utilities">Utilities</a>,    <a href="#V2.5.1_Platforms">Platforms</a>,    <a href="#V2.5.1_Fonts">Fonts</a>,    <a href="#V2.5.1_Drivers">Drivers</a>,    <a href="#V2.5.1_Interpreter">Interpreter</a>,    <a href="#V2.5.1_Library">Library</a></ul><li><a href="#Version2.5">Version 2.5 (8/18/92)</a><ul><li><a href="#V2.5_Procedures">Procedures</a>,    <a href="#V2.5_Utilities">Utilities</a>,    <a href="#V2.5_Platforms">Platforms</a>,    <a href="#V2.5_Fonts">Fonts</a>,    <a href="#V2.5_Drivers">Drivers</a>,    <a href="#V2.5_Interpreter">Interpreter</a>,    <a href="#V2.5_Library">Library</a></ul><li><a href="#Version2.4.2">Version 2.4.2 (5/8/92)</a><ul><li><a href="#V2.4.2_Procedures">Procedures</a>,    <a href="#V2.4.2_Utilities">Utilities</a>,    <a href="#V2.4.2_Platforms">Platforms</a>,    <a href="#V2.4.2_Fonts">Fonts</a>,    <a href="#V2.4.2_Drivers">Drivers</a>,    <a href="#V2.4.2_Interpreter">Interpreter</a>,    <a href="#V2.4.2_Library">Library</a></ul><li><a href="#Version2.4.1">Version 2.4.1 (4/21/92)</a><ul><li><a href="#V2.4.1_Procedures">Procedures</a>,    <a href="#V2.4.1_Utilities">Utilities</a>,    <a href="#V2.4.1_Drivers">Drivers</a>,    <a href="#V2.4.1_Fonts">Fonts</a>,    <a href="#V2.4.1_Interpreter">Interpreter</a>,    <a href="#V2.4.1_Library">Library</a></ul><li><a href="#Version2.4">Version 2.4 (3/25/92)</a><ul><li><a href="#V2.4_Procedures">Procedures</a>,    <a href="#V2.4_Utilities">Utilities</a>,    <a href="#V2.4_Drivers">Drivers</a>,    <a href="#V2.4_Fonts">Fonts</a>,    <a href="#V2.4_Interpreter">Interpreter</a>,    <a href="#V2.4_Library">Library</a></ul><li><a href="#Version2.3">Version 2.3 (8/28/91)</a><ul><li><a href="#V2.3_Utilities">Utilities</a>,    <a href="#V2.3_Drivers">Drivers</a></ul><li><a href="#Version2.2">Version 2.2 (6/1/91)</a><ul><li><a href="#V2.2_Procedures">Procedures</a>,    <a href="#V2.2_Drivers">Drivers</a>,    <a href="#V2.2_Fonts">Fonts</a>,    <a href="#V2.2_Utilities">Utilities</a>,    <a href="#V2.2_Interpreter">Interpreter</a>,    <a href="#V2.2_Library">Library</a></ul><li><a href="#Version2.1.1">Version 2.1.1 (1/15/91)</a><ul><li><a href="#V2.1.1_Build_procedures">Build procedures</a>,    <a href="#V2.1.1_Interpreter">Interpreter</a>,    <a href="#V2.1.1_Drivers">Drivers</a>,    <a href="#V2.1.1_Library">Library</a></ul><li><a href="#Version2.1">Version 2.1 (12/31/90)</a><ul><li><a href="#V2.1_Build_procedures">Build procedures</a>,    <a href="#V2.1_Drivers">Drivers</a>,    <a href="#V2.1_Fonts">Fonts</a>,    <a href="#V2.1_Interpreter">Interpreter</a>,    <a href="#V2.1_Library">Library</a></ul><li><a href="#Version2.0">Version 2.0 (9/12/90)</a><ul><li><a href="#V2.0_Miscellaneous">Miscellaneous</a>,    <a href="#V2.0_Drivers">Drivers</a>,    <a href="#V2.0_Build_procedures">Build procedures</a>,    <a href="#V2.0_Interpreter">Interpreter</a>,    <a href="#V2.0_Library">Library</a></ul></ul></blockquote> <!-- [1.2 end table of contents] =========================================== --> <!-- [1.3 begin hint] ====================================================== --> <p>This document is a history of Ghostscript releases numbered 2.n.  For morerecent changes, see the the other history documents and, for the latestversions, the new: <blockquote><a href="News.htm">News</a><br><a href="History4.htm">History of Ghostscript versions 4.n</a><br><a href="History3.htm">History of Ghostscript versions 3.n</a><br>History of Ghostscript versions 2.n (this document)<br><a href="History1.htm">History of Ghostscript versions 1.n</a></blockquote> <p>For other information, see the <a href="Readme.htm">Ghostscriptoverview</a>. <!-- [1.3 end hint] ======================================================== --> <hr> <!-- [1.0 end visible header] ============================================== --> <h2><a name="Version2.9.10b"></a>Version 2.9.10-beta (7/28/94)</h2> <p>This is the last 2.9 beta, since 3.0 will be released on July 31. <h3><a name="V2.9.10b_Documentation"></a>Documentation</h3><pre>Fixes bugs:	- A | in gs.1 had a \ in front of it instead of \\. Adds a paragraph in gs.1 that tells how to select paper size. Notes in devs.mak that the cdj550 driver is the best one for the H-PDeskJet 520, and the pjxl300 driver is the right one for the H-P DeskJet1200C. Notes in make.doc that Watcom C++ 10.0 may require a change in a makefile. </pre><h3><a name="V2.9.10b_Procedures"></a>Procedures</h3><pre>Removes ICCINIT from MODULES.LIS for VMS systems. Updates VMS.MAK to support Motif V1.2. Updates jpeg.mak to work with version 5alpha4 of the IJG JPEG code. </pre><h3><a name="V2.9.10b_Utilities"></a>Utilities</h3><pre>Fixes bugs:	- font2c didn't leave extra room in Type 0 font dictionaries forentries added by definefont.	- font2c left extra information on the stack.	- ansi2knr would remove newline characters within formal argumentlists.	- font2c got an Error: /undefined in makefontprocname. Updates ansi2knr to work better with the GNU configure program. Updates ansi2knr to handle procedure formal arguments automatically. </pre><h3><a name="V2.9.10b_Drivers"></a>Drivers</h3><pre>Fixes bugs:	- If a file contained color or gray-scale information followed by amasked image, the X driver would sometimes invert the polarity of theimage. </pre><h3><a name="V2.9.10b_Platforms"></a>Platforms</h3><pre>Fixes bugs:	- Unix systems with a 2-argument gettimeofday returned garbagevalues for the current time.	- The VMS build script for compiled fonts omitted the requirementto load gs_ccfnt.ps.	- memory_.h didn't note that System V Unix platforms need memmove. On Unix systems, changes the subdirectory of $datadir/ghostscript to justbe the version number (e.g., 2.9.10 rather than gs-2.9.9). </pre><h3><a name="V2.9.10b_Fonts"></a>Fonts</h3><pre>Adds support code for the Wadalab (University of Tokyo) free Kanji font. Notes in the documentation in Fontmap that .pfa and .pfb fonts arecompatible with ATM, but .gsf fonts are not. Changes the names of Thomas Wolff's expanded Hershey fonts, replacing .gsfwith .pfa. </pre><h3><a name="V2.9.10b_Interpreter"></a>Interpreter</h3><pre>Fixes bugs:	- The scanner became confused if the literal names /&lt;&lt; or /&gt;&gt;straddled an input buffer boundary.	- .setlanguagelevel gave an invalidaccess error whenswitching from level 2 to level 1.	- currentgstate, setgstate, and copy for gstates didn't dothe necessary access checks.	- The Category resource category didn't define .ResourceFile, so/Category resourcestatus gave an error.	- The garbage collector didn't trace the structures used byfilenameforall properly on most platforms.	- Automatically expanding systemdict didn't work, but didn't givean error.	- Automatically expanding a dictionary usually expanded it by toomuch.	- systemdict was created too small.	- The garbage collector didn't trace the structures referenced onlyfrom allocator objects, leading to attempts to access freed storage.	- If a chunk was empty, the GC tried to free it even if it hadinner chunks.*	- The outer loop in dict_find_name_by_index() could cause anaddressing fault on segmented machines when looking up Level 2 operators,because the offset could get decremented past 0.	- The heap_available procedure in gsmemory.c didn't convertproperly to non-ANSI syntax.  (New bug in 2.9.9.)	- The ledgertray procedure wasn't implemented.	- The xxxtray procedures didn't set the page size.	- The settumble operator wasn't implemented, even as a dummy.	- glyphshow didn't work with Type 3 fonts.	- Supplying a RenderTable for a CIE color space caused an error.	- The DCT filter code had the jpeg/ subdirectory name "wired in" tothe source files. Adds experimental filters for Burrows/Wheeler block sorting compression(BWBlockSortEncode/Decode), described in DEC SRC Research Report #124,move-to-front coding (MoveToFrontEncode/Decode), and a simple form ofHuffman coding (BoundedHuffmanEncode/Decode).  These are experimental -- donot rely on them remaining the same (or existing at all) in futurereleases! Adds all function prototypes needed to pacify strict compilers. Removes all explicit references to userdict from the C code. Changes the SAFER switch so that it disallows not only explicit writing,deleting, or renaming of files, but also disallows specifying an explicitOutputFile for any device (except for the initial device, by means of-sOutputFile= on the command line). </pre><h3><a name="V2.9.10b_Streams"></a>Streams</h3><pre>Fixes bugs:	- Hex decoding (ASCIIHexDecode stream and &lt;&gt; literals) didn't treatthe data source as read-only (although it restored it to its originalcontents). Implements move-to-front coding, a simple form of Huffman coding, andBurrows/Wheeler block sorting compression. </pre><h3><a name="V2.9.10b_Library"></a>Library</h3><pre>Fixes bugs:*	- (The following bug fix was actually implemented somewhere aroundversion 2.7.)  restore didn't purge character cache entries whose keys werenames created more recently than the save.	- gstype1.h declared gs_type1_state_sizeof as an extern, but thiswasn't defined anywhere.	- gs_makeimagedevice didn't set the size of the palette correctly,which confused the GC.	- gs_makeimagedevice didn't set num_components to 1 formapped-color devices with only gray values.*	- The two-color halftoning algorithms truncated when computing thehalftone level, rather than rounding it.*	- If a path being filled had line segments that fell entirely tothe right of the clipping region, part of the path might not be filled.	- The optimized code for 24-bit color didn't ensure properly that32-bit accesses would be aligned appropriately.	- The miter join check had gotten reversed somewhere along the way.*	- Because x and y were interchanged in the miter check computation,in some situations the check was inverted.  (This is a very old bug!)	- It was believed that strokepath didn't work with dashed lines;the problem appears to have been an incorrect testing program. Adds all function prototypes needed to pacify strict compilers. Changes fixed2float so it doesn't cast the result to float, and removesfixed2double.  This produces slightly more accurate results in many places,and may even be faster (for FPUs that normally generate double rather thansingle precision results). </pre> <h2><a name="Version2.9.9b"></a>Version 2.9.9-beta (6/23/94)</h2> <h3><a name="V2.9.9b_Documentation"></a>Documentation</h3><pre>Puts a pointer to devs.mak in the section of use.doc that talks aboutMS-DOS displays. </pre><h3><a name="V2.9.9b_Platforms"></a>Platforms</h3><pre>Fixes bugs:	- The %pipe% IODevice was omitted on System V platforms.	- The AXP VMS build script needed /NESTED_INCLUDE=PRIMARY inCC_QUAL to work around a bug in the DEC C compiler. </pre><h3><a name="V2.9.9b_Fonts"></a>Fonts</h3><pre>Fixes bugs:	- gs_lev2.ps redefined .loadFontmap incorrectly. </pre><h3><a name="V2.9.9b_Interpreter"></a>Interpreter</h3><pre>Fixes bugs:	- stream_compact used memcpy even though the source and destinationmight overlap.	- filter applied to a closed file could cause a crash. </pre><h3><a name="V2.9.9b_Library"></a>Library</h3><pre>Fixes bugs:	- putdeviceparams to a printer didn't close and reopen the deviceif only the page size or resolution was changed. 

Lines 1–500 of 5237.