3986 lines · 158.4 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 4.n</title><!-- $Id: History4.htm,v 1.39 2005/10/20 19:46:23 ray Exp $ --><!-- Originally: history4.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 4.n</h1> <!-- [1.1 end headline] ==================================================== --> <!-- [1.2 begin table of contents] ========================================= --> <h2>Table of contents</h2> <blockquote><ul><li><a href="#Version4.81">Version 4.81 (6/1/97)</a><ul><li><a href="#V4.81_Documentation">Documentation</a>,    <a href="#V4.81_Procedures">Procedures</a>,    <a href="#V4.81_Utilities">Utilities</a>,    <a href="#V4.81_Drivers">Drivers</a>,    <a href="#V4.81_Platforms">Platforms</a>,    <a href="#V4.81_Interpreter">Interpreter</a>,    <a href="#V4.81_Library">Library</a></ul><li><a href="#Version4.80">Version 4.80 (limited) (5/28/97)</a><ul><li><a href="#V4.80_Documentation">Documentation</a>,    <a href="#V4.80_Procedures">Procedures</a>,    <a href="#V4.80_Utilities">Utilities</a>,    <a href="#V4.80_Drivers">Drivers</a>,    <a href="#V4.80_Platforms">Platforms</a>,    <a href="#V4.80_Fonts">Fonts</a>,    <a href="#V4.80_Interpreter">Interpreter</a>,    <a href="#V4.80_Streams">Streams</a>,    <a href="#V4.80_Library">Library</a></ul><li><a href="#Version4.74">Version 4.74 (limited) (5/5/97)</a><ul><li><a href="#V4.74_Documentation">Documentation</a>,    <a href="#V4.74_Utilities">Utilities</a>,    <a href="#V4.74_Drivers">Drivers</a>,    <a href="#V4.74_Interpreter">Interpreter</a>,    <a href="#V4.74_Streams">Streams</a>,    <a href="#V4.74_Library">Library</a></ul><li><a href="#Version4.73">Version 4.73 (limited) (4/19/97)</a><ul><li><a href="#V4.73_Documentation">Documentation</a>,    <a href="#V4.73_Procedures">Procedures</a>,    <a href="#V4.73_Utilities">Utilities</a>,    <a href="#V4.73_Drivers">Drivers</a>,    <a href="#V4.73_Platforms">Platforms</a>,    <a href="#V4.73_Interpreter">Interpreter</a>,    <a href="#V4.73_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.73_Streams">Streams</a>,    <a href="#V4.73_Library">Library</a></ul><li><a href="#Version4.72">Version 4.72 (limited) (4/14/97)</a><ul><li><a href="#V4.72_Documentation">Documentation</a>,    <a href="#V4.72_Procedures">Procedures</a>,    <a href="#V4.72_Drivers">Drivers</a>,    <a href="#V4.72_Platforms">Platforms</a>,    <a href="#V4.72_Interpreter">Interpreter</a>,    <a href="#V4.72_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.72_Streams">Streams</a>,    <a href="#V4.72_Library">Library</a></ul><li><a href="#Version4.71">Version 4.71 (limited) (3/31/97)</a><ul><li><a href="#V4.71_Documentation">Documentation</a>,    <a href="#V4.71_Procedures">Procedures</a>,    <a href="#V4.71_Drivers">Drivers</a>,    <a href="#V4.71_Interpreter">Interpreter</a>,    <a href="#V4.71_Streams">Streams</a>,    <a href="#V4.71_Library">Library</a></ul><li><a href="#Version4.70">Version 4.70 (limited) (3/26/97)</a><ul><li><a href="#V4.70_Documentation">Documentation</a>,    <a href="#V4.70_Procedures">Procedures</a>,    <a href="#V4.70_Drivers">Drivers</a>,    <a href="#V4.70_Platforms">Platforms</a>,    <a href="#V4.70_Interpreter">Interpreter</a>,    <a href="#V4.70_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.70_Streams">Streams</a>,    <a href="#V4.70_Library">Library</a></ul><li><a href="#Version4.61">Version 4.61 (limited) (3/13/97)</a><ul><li><a href="#V4.61_Documentation">Documentation</a>,    <a href="#V4.61_Procedures">Procedures</a>,    <a href="#V4.61_Drivers">Drivers</a>,    <a href="#V4.61_Platforms">Platforms</a>,    <a href="#V4.61_Interpreter">Interpreter</a>,    <a href="#V4.61_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.61_Streams">Streams</a>,    <a href="#V4.61_Library">Library</a></ul><li><a href="#Version4.60">Version 4.60 (limited) (3/2/97)</a><ul><li><a href="#V4.60_Documentation">Documentation</a>,    <a href="#V4.60_Procedures">Procedures</a>,    <a href="#V4.60_Drivers">Drivers</a>,    <a href="#V4.60_Platforms">Platforms</a>,    <a href="#V4.60_Fonts">Fonts</a>,    <a href="#V4.60_Interpreter">Interpreter</a>,    <a href="#V4.60_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.60_Streams">Streams</a>,    <a href="#V4.60_Library">Library</a></ul><li><a href="#Version4.51">Version 4.51 (limited) (2/9/97)</a><ul><li><a href="#V4.51_Procedures">Procedures</a>,    <a href="#V4.51_Drivers">Drivers</a>,    <a href="#V4.51_Platforms">Platforms</a>,    <a href="#V4.51_Interpreter">Interpreter</a>,    <a href="#V4.51_Streams">Streams</a>,    <a href="#V4.51_Library">Library</a></ul><li><a href="#Version4.50">Version 4.50 (limited) (1/31/97)</a><ul><li><a href="#V4.50_Documentation">Documentation</a>,    <a href="#V4.50_Procedures">Procedures</a>,    <a href="#V4.50_Drivers">Drivers</a>,    <a href="#V4.50_Platforms">Platforms</a>,    <a href="#V4.50_Interpreter">Interpreter</a>,    <a href="#V4.50_Streams">Streams</a>,    <a href="#V4.50_Library">Library</a></ul><li><a href="#Version4.41">Version 4.41 (private) (1/21/97)</a><ul><li><a href="#V4.41_Procedures">Procedures</a>,    <a href="#V4.41_Drivers">Drivers</a>,    <a href="#V4.41_Fonts">Fonts</a>,    <a href="#V4.41_Interpreter">Interpreter</a>,    <a href="#V4.41_Streams">Streams</a>,    <a href="#V4.41_Library">Library</a></ul><li><a href="#Version4.40">Version 4.40 (private) (1/13/97)</a><ul><li><a href="#V4.40_Documentation">Documentation</a>,    <a href="#V4.40_Utilities">Utilities</a>,    <a href="#V4.40_Drivers">Drivers</a>,    <a href="#V4.40_Interpreter">Interpreter</a>,    <a href="#V4.40_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.40_Library">Library</a></ul><li><a href="#Version4.39">Version 4.39 (limited) (1/1/97)</a><ul><li><a href="#V4.39_Documentation">Documentation</a>,    <a href="#V4.39_Procedures">Procedures</a>,    <a href="#V4.39_Utilities">Utilities</a>,    <a href="#V4.39_Drivers">Drivers</a>,    <a href="#V4.39_Interpreter">Interpreter</a>,    <a href="#V4.39_Streams">Streams</a>,    <a href="#V4.39_Library">Library</a></ul><li><a href="#Version4.38">Version 4.38 (limited) (12/20/96)</a><ul><li><a href="#V4.38_Interpreter">Interpreter</a>,    <a href="#V4.38_Streams">Streams</a>,    <a href="#V4.38_Library">Library</a></ul><li><a href="#Version4.37">Version 4.37 (limited) (12/10/96)</a><ul><li><a href="#V4.37_Fonts">Fonts</a>,    <a href="#V4.37_Interpreter">Interpreter</a>,    <a href="#V4.37_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.37_Library">Library</a></ul><li><a href="#Version4.36">Version 4.36 (limited) (12/3/96)</a><ul><li><a href="#V4.36_Documentation">Documentation</a>,    <a href="#V4.36_Drivers">Drivers</a>,    <a href="#V4.36_Interpreter">Interpreter</a>,    <a href="#V4.36_Library">Library</a></ul><li><a href="#Version4.35">Version 4.35 (limited) (11/24/96)</a><ul><li><a href="#V4.35_Documentation">Documentation</a>,    <a href="#V4.35_Procedures">Procedures</a>,    <a href="#V4.35_Interpreter">Interpreter</a>,    <a href="#V4.35_Streams">Streams</a>,    <a href="#V4.35_Library">Library</a></ul><li><a href="#Version4.34">Version 4.34 (limited) (11/18/96)</a><ul><li><a href="#V4.34_Documentation">Documentation</a>,    <a href="#V4.34_Procedures">Procedures</a>,    <a href="#V4.34_Drivers">Drivers</a>,    <a href="#V4.34_Interpreter">Interpreter</a>,    <a href="#V4.34_Streams">Streams</a>,    <a href="#V4.34_Library">Library</a></ul><li><a href="#Version4.33">Version 4.33 (limited) (11/6/96)</a><ul><li><a href="#V4.33_Documentation">Documentation</a>,    <a href="#V4.33_Procedures">Procedures</a>,    <a href="#V4.33_Interpreter">Interpreter</a>,    <a href="#V4.33_Library">Library</a></ul><li><a href="#Version4.32">Version 4.32 (limited) (11/1/96)</a><ul><li><a href="#V4.32_Documentation">Documentation</a>,    <a href="#V4.32_Drivers">Drivers</a>,    <a href="#V4.32_Platforms">Platforms</a>,    <a href="#V4.32_Fonts">Fonts</a>,    <a href="#V4.32_Interpreter">Interpreter</a>,    <a href="#V4.32_Library">Library</a></ul><li><a href="#Version4.31">Version 4.31 (limited) (10/27/96)</a><ul><li><a href="#V4.31_Documentation">Documentation</a>,    <a href="#V4.31_Procedures">Procedures</a>,    <a href="#V4.31_Platforms">Platforms</a>,    <a href="#V4.31_Interpreter">Interpreter</a>,    <a href="#V4.31_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.31_Streams">Streams</a>,    <a href="#V4.31_Library">Library</a></ul><li><a href="#Version4.30">Version 4.30 (limited) (10/23/96)</a><ul><li><a href="#V4.30_Documentation">Documentation</a>,    <a href="#V4.30_Drivers">Drivers</a>,    <a href="#V4.30_Platforms">Platforms</a>,    <a href="#V4.30_Fonts">Fonts</a>,    <a href="#V4.30_Interpreter">Interpreter</a>,    <a href="#V4.30_Library">Library</a></ul><li><a href="#Version4.21">Version 4.21 (limited) (10/17/96)</a><ul><li><a href="#V4.21_Documentation">Documentation</a>,    <a href="#V4.21_Procedures">Procedures</a>,    <a href="#V4.21_Drivers">Drivers</a>,    <a href="#V4.21_Platforms">Platforms</a>,    <a href="#V4.21_Fonts">Fonts</a>,    <a href="#V4.21_Interpreter">Interpreter</a>,    <a href="#V4.21_Library">Library</a></ul><li><a href="#Version4.20">Version 4.20 (limited) (10/13/96)</a><ul><li><a href="#V4.20_Documentation">Documentation</a>,    <a href="#V4.20_Procedures">Procedures</a>,    <a href="#V4.20_Utilities">Utilities</a>,    <a href="#V4.20_Drivers">Drivers</a>,    <a href="#V4.20_Interpreter">Interpreter</a>,    <a href="#V4.20_Library">Library</a></ul><li><a href="#Version4.10">Version 4.10 (limited) (9/25/96)</a><ul><li><a href="#V4.10_Documentation">Documentation</a>,    <a href="#V4.10_Utilities">Utilities</a>,    <a href="#V4.10_Drivers">Drivers</a>,    <a href="#V4.10_Interpreter">Interpreter</a>,    <a href="#V4.10_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.10_Library">Library</a></ul><li><a href="#Version4.03">Version 4.03 (9/23/96)</a><ul><li><a href="#V4.03_Documentation">Documentation</a>,    <a href="#V4.03_Procedures">Procedures</a>,    <a href="#V4.03_Drivers">Drivers</a>,    <a href="#V4.03_Fonts">Fonts</a>,    <a href="#V4.03_Streams">Streams</a></ul><li><a href="#Version4.02">Version 4.02 (9/19/96)</a><ul><li><a href="#V4.02_Documentation">Documentation</a>,    <a href="#V4.02_Procedures">Procedures</a>,    <a href="#V4.02_Utilities">Utilities</a>,    <a href="#V4.02_Drivers">Drivers</a>,    <a href="#V4.02_Platforms">Platforms</a>,    <a href="#V4.02_Interpreter">Interpreter</a>,    <a href="#V4.02_Interpreter_PDF">Interpreter (PDF)</a>,    <a href="#V4.02_Streams">Streams</a>,    <a href="#V4.02_Library">Library</a></ul><li><a href="#Version4.01">Version 4.01 (7/10/96)</a><ul><li><a href="#V4.01_Documentation">Documentation</a>,    <a href="#V4.01_Procedures">Procedures</a>,    <a href="#V4.01_Utilities">Utilities</a>,    <a href="#V4.01_Platforms">Platforms</a>,    <a href="#V4.01_Platforms">Platforms</a>,    <a href="#V4.01_Interpreter">Interpreter</a>,    <a href="#V4.01_Library">Library</a></ul><li><a href="#Version4.0">Version 4.0 (6/28/96)</a><ul><li><a href="#V4.0_Documentation">Documentation</a>,    <a href="#V4.0_Procedures">Procedures</a>,    <a href="#V4.0_Utilities">Utilities</a>,    <a href="#V4.0_Drivers">Drivers</a>,    <a href="#V4.0_Platforms">Platforms</a>,    <a href="#V4.0_Interpreter">Interpreter</a>,    <a href="#V4.0_Streams">Streams</a>,    <a href="#V4.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 4.n.  For morerecent changes, see the the other history documents and, for the latestversions, the news: <blockquote><a href="News.htm">News</a><br>History of Ghostscript versions 4.n (this document)<br><a href="History3.htm">History of Ghostscript versions 3.n</a><br><a href="History2.htm">History of Ghostscript versions 2.n</a><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="Version4.81"></a>Version 4.81 (6/1/97)</h2> <p>This is a last-minute set of bug fixes before the 5.0 release. <h3><a name="V4.81_Documentation"></a>Documentation</h3><pre> Adds some overlooked helpers to the list.  (helpers.txt) </pre><h3><a name="V4.81_Procedures"></a>Procedures</h3><pre> Makes a distinction between 2-part and 3-digit version numbers.(version.mak, vms.mak) </pre><h3><a name="V4.81_Utilities"></a>Utilities</h3><pre> Develops the Type 1 to CFF converter a little further; it is still NOTUSABLE.  (t1tot2.ps) Removes the pstoppm.ps script, since the p*m drivers supersede it.(pstoppm.ps, unix-end.mak) </pre><h3><a name="V4.81_Drivers"></a>Drivers</h3><pre> Fixes bugs:	- The PDF writer sometimes omitted an ET command before setting theclip path.  (gdevpdf.c)	- The PDF writer didn't initialize the "vector" state, leading tosome redundant output (performance bug only).  (gdevpdf.c)	- The PDF writer wrote clip paths even when they included the entirepage (performance bug only).  (gdevpdf.c) Changes the PDF writer so that it recognizes not only the 14 built-in fontsbut any font with the same UniqueID and metrics.  This covers some commoncases of re-registering a font with a variant Encoding.  (gs_pdfwr.ps) </pre><h3><a name="V4.81_Platforms"></a>Platforms</h3><pre> Fixes bugs:	- SEARCH_HERE_FIRST was accidentally set to 0 on MS Windowsplatforms.  (bcwin32.mak, msvc4.mak, msvc5.mak, watcw32.mak) Adds code to remove "" around arguments in the command line passed toWinMain (MS Windows platforms).  (dwmain.cpp, dwmainc.cpp) </pre><h3><a name="V4.81_Interpreter"></a>Interpreter</h3><pre> Fixes bugs:	- setsystemparams was broken.  (gs_lev2.ps)	- restore was broken if -dNOBIND was invoked.  (gs_dps1.ps)	- deviceinfo returned much more information than it should.(gs_dps.ps)	- The fix for the default EndPage procedures not popping their pagecount operand from the stack was wrong.  (gs_init.ps, gs_setpd.ps) </pre><h3><a name="V4.81_Library"></a>Library</h3><pre> Fixes bugs:	- The saved character origin took the translation component of theFontMatrix into account, which caused charpath on fonts with non-zerotranslation in the FontMatrix to produce incorrect results.  (gschar.c) Removes incorrect access attributes on a couple of files.  (gdevpdfm.c,gxclist.h) </pre> <h2><a name="Version4.80"></a>Version 4.80 (limited) (5/28/97)</h2> <p>This is the candidate fileset for the 5.0 release. <h3><a name="V4.80_Documentation"></a>Documentation</h3><pre> Fixes bugs:	- The one-line description of the color image rendering module wasincorrect.  (gximage3.c)	- Some of the VMS documentation was out of date.  (make.txt,use.txt)	- The description of the file name separator for -sFONTMAP= waswrong.  (use.txt)	- PSFile was misspelled PSfile.  (use.txt)	- There were some minor typos.  (gstype1.h)	- The build instructions had a lot of obsolete information for PCenvironments, and didn't cover Microsoft Visual C++.  (make.txt) Explains that -sPAPERSIZE= only specifies the default papersize, and thatforcing a particular paper size also requires -dFIXEDMEDIA.  (use.txt) Adds information about building with GNU make on OpenVMS.  (make.txt) Clarifies the meaning of EOFC for streams.  (strimpl.h) Documents the new dictionary argument for the eexecDecode filter.(language.doc) </pre><h3><a name="V4.80_Procedures"></a>Procedures</h3><pre> Fixes bugs:	- gs_epsf.ps didn't get installed on Unix systems.  (unix-end.mak)	- The code wouldn't build with libpng 0.95b.  (libpng.mak)	- One of the VMS scripts used CC_QUAL instead of CC_DEF.(vms-cc.mak)	- version.mak wasn't included in a dependency list.  (unix-end.mak) Brings the VMS DCL script up to date again (for the last time, we hope).(vms.mak) Modifies all platform-independent uses of upper-case command line argumentsto deal properly with VMS, where the shell converts all command linearguments to lower case, without requiring quotation.  (devs.mak, gs.mak,int.mak, lib.mak, zlib.mak) Moves the compilation rules for the third-party libraries into gs.mak, sothey can be used to compile the callers as well.  (gs.mak, jpeg.mak,libpng.mak, zlib.mak) Adds a set of files that allow building on OpenVMS using GNU make (slightlypatched).  The timing on this is unfortunate, but we've wanted this for avery long time.  NOTE: be sure to look in the OpenVMS section of make.txtfor information on patching GNU make.  (openvms.mak, append_l.com,rm_all.com, rm_one.com, copy_one.com) Adds new makefiles for building on 32-bit Windows with Borland, Watcom, andMicrosoft Visual C++ (versions 4.x and 5.0).  The timing on this isunfortunate too, but having this capability is so important that we couldn'tpass it up.  (bcwin32.mak, msvc4.mak, msvc5.mak, msvccom.mak, watcw32.mak,wincom.mak) Removes now-obsolete makefiles.  (dwcommon.mak, msc.mak, msvcwint.mak,mscbegin.bat, watcwin.mak) </pre><h3><a name="V4.80_Utilities"></a>Utilities</h3><pre> Extends echogs to work in VMS environments, where the shell converts allcommand line arguments to lower case, without requiring quotation.(echogs.c) Adds a sketch of a utility for converting Type 1 fonts to CFF.  DOESN'T WORKYET: DON'T TRY TO USE IT.  (t1tot2.ps, type1ops.ps, writecff.ps) </pre><h3><a name="V4.80_Drivers"></a>Drivers</h3><pre> Fixes bugs:	- A type declaration wasn't compatible with libpng 0.95.(gdevpng.c)	- kshow wasn't handled properly when producing PDF output.(gs_pdfwr.ps)	- The PDF writer put out unnecessary ET/BT commands.  (gdevpdfx.h,gdevpdf.c, gdevpdfi.c, gdevpdfm.c, gdevpdft.c)	- The PCL XL writer put out real numbers for the miter limit, whichare not allowed (!).  (gdevpx.c)	- The PCL XL writer didn't combine successive curves into a singlecurve command (performance bug only).  (gdevpx.c)	- The PCL XL writer could write uncompressed images with a tagsaying they were compressed.  (gdevpx.c)	- The PCL XL writer always selected U.S. letter paper, rather than

Lines 1–500 of 3986.