History of Ghostscript versions 6.n |
---|
This document is a record of changes in Ghostscript releases numbered 6.n. For earlier versions, see the the history documents:
History of Ghostscript versions 5.n
History of Ghostscript versions 4.n
History of Ghostscript versions 3.n
History of Ghostscript versions 2.n
History of Ghostscript versions 1.n
For other information, see the Ghostscript overview.
Within each release, news appears in the following order: Incompatible changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts, PDF writer (included under Drivers through fileset 5.88), Interpreter, Streams (included under Interpreter through release 2.9.9), Library. Changes marked with a * were made available as patches to a previous release.
Version 6.01 (2000-03-17)
This is a bug-fix release for 6.0. This release fixes the following reported bugs: #101555, #101813, #101816, #101818, #101827, #101830, #101871, #101853, #101906, #101949, #101950, #102003, #102004, #102038, #102081, #102936.Incompatible changes
(Platforms) - OpenVMS using VAX C is no longer supported. (OpenVMS with DEC C and gcc are still supported.) (Drivers) - The third argument of psdf_set_color is changed from const char * to const psdf_set_color_commands_t *. (Interpreter) - The non-standard feature of writing dictionaries in binary object output is now disabled by default, but can now be enabled dynamically. (Library) - The definition of TRANSPARENCY_PER_H_P is moved from gdevmrop.h to gsropt.h. - The handling of the source opaque, texture transparent case of RasterOp when TRANSPARENCY_PER_H_P is defined is changed slightly.Documentation
Fixes problems: - Fixes a typo. (man/ps2pdf.1 [1.2]: 2000/03/10 03:11:06 lpd) - When converting PostScript to PDF, selecting /Bicubic as an image DownsampleType caused an error instead of defaulting to /Average. (doc/Ps2pdf.htm [1.2]: 2000/03/10 04:16:09 lpd) - The gs###src.zip and gs###lib.zip files weren't mentioned as being included in distributions; News.htm and Changes.htm weren't mentioned at all. (doc/Release.htm [1.5]: 2000/03/15 07:23:52 lpd) - Fixes a problem producing too much black in the output; also adds support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and Epson Stylus Color 200). Note that this is user-contributed code. (doc/Devices.htm [1.2]: 2000/03/16 02:01:36 lpd) In ansi2knr, adds user-contributed support for concatenated string literals and character constants, and fixes for a couple of minor bugs. (man/ansi2knr.1 [1.2]: 2000/03/10 03:16:17 lpd) Removes an inappropriate copying notice. (doc/Hershey.htm [1.2]: 2000/03/10 07:03:57 lpd) Clarifies when xdpyinfo and xwininfo are needed. Adds privacy options for problem reports. (doc/Bug-form.htm [1.2]: 2000/03/10 07:06:08 lpd) Adds a new eps2eps utility analogous to ps2ps. (man/eps2eps.1 [1.1], man/ps2ps.1 [1.2]: 2000/03/10 07:51:55 lpd) Updates the documentation on making RPMs, which is no longer supported. (doc/Install.htm [1.2], doc/Make.htm [1.2]: 2000/03/10 07:58:00 lpd) Adds a recommendation to use gcc on SGI platforms. (doc/Make.htm [1.3]: 2000/03/10 07:59:53 lpd) Updates documentation regarding Unix systems that do/don't use libpthread. (doc/Make.htm [1.4]: 2000/03/10 08:01:35 lpd) Removes support for VAX C, which DEC stopped supporting 9 (!) years ago. (doc/Make.htm [1.5], doc/Use.htm [1.2]: 2000/03/10 08:02:59 lpd) Updates the documentation for building Aladdin releases to reflect revised procedures for the Windows executable, and a few other minor changes. (doc/Release.htm [1.2]: 2000/03/10 15:55:39 lpd) Adds the ability to compile on OS/2 with XFree86. (doc/Install.htm [1.3], doc/Make.htm [1.6]: 2000/03/10 19:50:49 lpd) Moves all history for versions 5.n into History5.htm; creates History6.htm for versions 6.n; redefines News.htm as containing only news for the current release; adds (a link to) Changes.htm for the mechanically generated change log. (doc/History5.htm [1.2], doc/History6.htm [1.1], doc/News.htm [1.2], doc/README [1.2], doc/Readme.htm [1.2]: 2000/03/14 06:14:43 lpd) Partially updates the release procedure documentation to reflect the use of SourceForge and CVS. (doc/Release.htm [1.3]: 2000/03/14 06:39:23 lpd) Adds a change log generated mechanically from the CVS logs. Future releases may omit this file (doc/Changes.htm) from their change log. (doc/Changes.htm [1.1], doc/News.htm [1.3]: 2000/03/14 06:48:44 lpd) Revises the release procedures to reflect use of SourceForge, and to separate out the procedures for building Windows executables. (doc/Release.htm [1.4]: 2000/03/15 02:24:58 lpd) Adds information on uninstalling Ghostscript on Windows. (doc/Install.htm [1.4]: 2000/03/15 07:29:53 lpd) Adds the ability to set the ProcessColorModel of the pdfwrite device to /DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used for fill, stroke, text, and imagemask, and for images that (for whatever reason) can't be written in their specified color space. Note that this is a short-term fix: pdfwrite should output colors in the color space in which they were specified. However, a proper fix will require more significant architectural changes. (doc/News.htm [1.4]: 2000/03/16 01:21:23 lpd) Adds a reference to a third-party Fontmap for the Computer Modern fonts. (doc/Fonts.htm [1.2]: 2000/03/16 04:05:07 lpd) Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver. The code will eventually be included in gdevcd8.c, but it is not yet mature enough. (doc/Devices.htm [1.3]: 2000/03/16 08:09:42 lpd) Updates the version number reference in the troff header. (man/ps2pdf.1 [1.3], man/ps2ps.1 [1.3]: 2000/03/17 00:47:08 lpd) Removes the attempted documentation on building Windows executable distributions: it was never correct, and Aladdin will no longer be creating such distributions. Also reorganizes the document slightly and brings the rest of it fully into line with reality. (doc/Release.htm [1.6]: 2000/03/17 04:40:47 lpd) Adds information on building with the Intel C/C++ optimizing compiler (requires the Microsoft Visual C++ environment), and fixes a typo in the link to ftp.cdrom.com. (doc/Make.htm [1.7]: 2000/03/17 17:42:59 lpd) Checks in the first wrap-up for the 6.01 release. (doc/Changes.htm [1.2], doc/History6.htm [1.2], doc/News.htm [1.5]: 2000/03/18 04:13:40 lpd)Procedures
Fixes problems: - The terminating $ on the $Id: line in gsmalloc.c was missing, and dwuninst.rc lacked a $Id: line. (dwuninst.rc [1.2]: 2000/03/10 03:44:33 lpd) - The %ram% IODevice was defined, but should not be (it represents a RAM-based file system, which Ghostscript does not provide). Fix: The type of the %null% IODevice was /FileSystem rather than /Special. (int.mak [1.2]: 2000/03/10 07:02:07 lpd) - The dependency list for coslwxl omitted a $(DD). (contrib.mak [1.2]: 2000/03/10 07:30:54 lpd) - The makefile still referred to a long-gone driver for the DEC LA70. (contrib.mak [1.3]: 2000/03/10 07:32:43 lpd) - The Unix install process tried to make links without deleting them first. (unixinst.mak [1.2]: 2000/03/10 07:49:21 lpd) - The Watcom compiler switches didn't force enums to occupy a full int, leading to execution errors because the code casts (enum *) pointers to (int *). (wccommon.mak [1.2]: 2000/03/10 08:15:31 lpd) - The Windows zip archive didn't include font metrics files. (This change only fixes the build procedure: it doesn't actually update the currently released zip archive.) (winint.mak [1.2]: 2000/03/10 08:17:06 lpd) - the "all architectures" build and test script hadn't been updated to use different STDLIBS values depending on where the platform provides the pthreads library. (all-arch.mak [1.2]: 2000/03/10 15:40:43 lpd) - The documentation for building with pthreads on FreeBSD hadn't been updated. (unix-gcc.mak [1.2], unixansi.mak [1.2], unixtrad.mak [1.2]: 2000/03/10 15:44:01 lpd) - gsmalloc.c didn't include the prototype for gs_exit(), which it calls. (lib.mak [1.2]: 2000/03/10 15:53:08 lpd) Because of rampant confusion, disagreement, and lack of standardization, removes the RPM-related spec and patch files. (gs-fonts.rps [1.2], gs.rps [1.2], rpm-conf.dif [1.2]: 2000/03/10 03:22:04 lpd) Increases the stack size for the PC platforms, since a user had reported that the OS/2 stack size was too small. (dw32c.def [1.2], dwmain32.def [1.2], gsos2.def [1.2]: 2000/03/10 03:33:21 lpd) Updates the Brother HL7xx drivers with a new user-contributed version, plus a couple of minor fixes. (contrib.mak [1.4]: 2000/03/10 07:33:44 lpd) Adds a new eps2eps utility analogous to ps2ps. (unixinst.mak [1.3]: 2000/03/10 07:51:55 lpd) Removes support for VAX C, which DEC stopped supporting 9 (!) years ago. (openvms.mak [1.2], openvms.mmk [1.2]: 2000/03/10 08:02:59 lpd) Updates all makefiles to the current libpng version, 1.0.5. (bcwin32.mak [1.2], dvx-gcc.mak [1.2], msvc32.mak [1.2], msvclib.mak [1.2], os2.mak [1.2], ugcclib.mak [1.2], unix-gcc.mak [1.3], unixansi.mak [1.3], unixtrad.mak [1.3], watc.mak [1.2], watclib.mak [1.2], watcw32.mak [1.2]: 2000/03/10 15:48:58 lpd) Updates the version # to 6.01, and the version date. (version.mak [1.2]: 2000/03/10 17:18:29 lpd) Adds the ability to compile on OS/2 with XFree86. (os2.mak [1.3]: 2000/03/10 19:50:49 lpd) Moves all history for versions 5.n into History5.htm; creates History6.htm for versions 6.n; redefines News.htm as containing only news for the current release; adds (a link to) Changes.htm for the mechanically generated change log. (unixinst.mak [1.4], version.mak [1.3]: 2000/03/14 06:14:44 lpd) Adds entries for ibm-rs6000-aix-4.3, sgi-mips-irix6.5-64bit, and sun-sparc-solaris-64bit. (all-arch.mak [1.3]: 2000/03/15 18:38:29 lpd) Adds the ability to set the ProcessColorModel of the pdfwrite device to /DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used for fill, stroke, text, and imagemask, and for images that (for whatever reason) can't be written in their specified color space. Note that this is a short-term fix: pdfwrite should output colors in the color space in which they were specified. However, a proper fix will require more significant architectural changes. (version.mak [1.4]: 2000/03/16 01:21:24 lpd) Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver. The code will eventually be included in gdevcd8.c, but it is not yet mature enough. (contrib.mak [1.5]: 2000/03/16 08:09:42 lpd) Adds a missing dependency of gdevpdft.o on gxfont42.h. (devs.mak [1.2]: 2000/03/17 02:59:26 lpd) Adds a disclaimer of responsibility for the makefile section for creating distribution archives, which Aladdin is no longer maintaining. (winint.mak [1.3]: 2000/03/17 03:01:58 lpd) Checks in the first wrap-up for the 6.01 release. (unix-gcc.mak [1.4], version.mak [1.5]: 2000/03/18 04:13:40 lpd)Utilities
Fixes problems: - The loader for the stochastic halftone incorrectly assumed that the resource file left the resource on the stack, causing a stackunderflow error. (lib/stocht.ps [1.2]: 2000/03/10 03:34:44 lpd) - The ps2pdf*.bat scripts didn't set PS2PDFSW to the empty string if there were no arguments, causing the same file to be processed again. (lib/ps2pdf12.bat [1.2], lib/ps2pdf13.bat [1.2]: 2000/03/10 07:40:00 lpd) - Fixes a typo in the fix for putting stdout in binary mode. (gp_ntfs.c [1.3]: 2000/03/18 01:15:16 lpd) - For printer devices, a non-null definition for OutputFile was required even on platforms that had a default printer (as implemented by gp_open_printer for that platform). (gp_os9.c [1.2], gp_unix.c [1.2], gp_vms.c [1.2]: 2000/03/18 01:45:16 lpd) In ansi2knr, adds user-contributed support for concatenated string literals and character constants, and fixes for a couple of minor bugs. (ansi2knr.c [1.2]: 2000/03/10 03:16:17 lpd) Updates the pf2afm.ps utility with a revised version from its authors. (lib/pf2afm.ps [1.2]: 2000/03/10 03:35:37 lpd) Adds a new eps2eps utility analogous to ps2ps. (lib/eps2eps [1.1], lib/eps2eps.bat [1.1]: 2000/03/10 07:51:55 lpd) Removes a temporary file that was included in the fileset by mistake. (lib/history [1.2]: 2000/03/10 08:18:36 lpd) Changes the ps2pdf MS Windows / MS-DOS scripts to use temporary files to avoid the absurdly low limits on the length of a command line and the total size of environment variable definitions. (lib/ps2pdf.bat [1.2], lib/ps2pdf12.bat [1.3], lib/ps2pdf13.bat [1.3], lib/ps2pdfwr.bat [1.2], lib/ps2pdfxx.bat [1.1]: 2000/03/14 20:20:20 lpd) On Windows, puts stdout into binary mode as well as stdin, to allow piping printer output through stdout (not a good idea, but it should be supported as well as on other platforms). (gp_ntfs.c [1.2]: 2000/03/17 06:22:59 lpd)Drivers
Fixes problems: - When converting PostScript to PDF, selecting /Bicubic as an image DownsampleType caused an error instead of defaulting to /Average. (gdevpsdf.h [1.2], gdevpsdi.c [1.2], gdevpsdp.c [1.2]: 2000/03/10 04:16:09 lpd) - The mswinpr2 driver didn't handle setting BitsPerPixel to the same value when the device was already open, possibly causing an error on restore or grestore. (gdevwpr2.c [1.2]: 2000/03/10 04:26:07 lpd) - When operating in buffered mode (MaxBitmap > 0), the X driver sometimes failed to copy all of the updated area to the screen. (gdevx.c [1.2], gdevx.h [1.2], gdevxini.c [1.2], gdevxxf.c [1.2]: 2000/03/10 06:56:27 lpd) - The [e]pswrite driver produced invalid output if the input file didn't end with a showpage. Also cleans up some formatting and removes a redundant test. (gdevps.c [1.2]: 2000/03/10 07:44:27 lpd) - Fixes a problem producing too much black in the output; also adds support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and Epson Stylus Color 200). Note that this is user-contributed code. (gdevupd.c [1.2], lib/bjc610a0.upp [1.2], lib/bjc610a1.upp [1.2], lib/bjc610a2.upp [1.2], lib/bjc610a3.upp [1.2], lib/bjc610a4.upp [1.2], lib/bjc610a5.upp [1.2], lib/bjc610a6.upp [1.2], lib/bjc610a7.upp [1.2], lib/bjc610a8.upp [1.2], lib/bjc610b1.upp [1.2], lib/bjc610b2.upp [1.2], lib/bjc610b3.upp [1.2], lib/bjc610b4.upp [1.2], lib/bjc610b6.upp [1.2], lib/bjc610b7.upp [1.2], lib/bjc610b8.upp [1.2], lib/cdj550.upp [1.2], lib/cdj690.upp [1.1], lib/cdj690ec.upp [1.1], lib/dnj750c.upp [1.1], lib/dnj750m.upp [1.1], lib/ras32.upp [1.2], lib/stc.upp [1.2], lib/stc1520h.upp [1.2], lib/stc2.upp [1.2], lib/stc200_h.upp [1.1], lib/stc2_h.upp [1.2], lib/stc2s_h.upp [1.2], lib/stc500p.upp [1.2], lib/stc500ph.upp [1.2], lib/stc600ih.upp [1.2], lib/stc600p.upp [1.2], lib/stc600pl.upp [1.2], lib/stc800ih.upp [1.2], lib/stc800p.upp [1.2], lib/stc800pl.upp [1.2], lib/stc_h.upp [1.2], lib/stc_l.upp [1.2], lib/stcany.upp [1.2]: 2000/03/16 02:01:36 lpd) - The X driver's algorithm for deciding when to update the screen was changed several times between 5.50 and 6.0, and one of the more recent changes caused it to copy many more pixels to the screen than necessary if the file was making marks on the page in widely separated places. (gdevx.c [1.3]: 2000/03/17 07:35:43 lpd) - In the X driver, the full-page buffer controlled by -dMaxBitmap= wasn't allocated with a stable allocator, possibly leading to memory access errors if save/restore were used. (gdevxini.c [1.3]: 2000/03/18 04:11:59 lpd) Updates the Brother HL7xx drivers with a new user-contributed version, plus a couple of minor fixes. (gdevhl7x.c [1.2]: 2000/03/10 07:33:44 lpd) Enhances the [e]pswrite driver to handle Indexed color spaces over Device color spaces, only with the standard Decode. (gdevps.c [1.3]: 2000/03/10 07:45:50 lpd) Adds the ability to set the ProcessColorModel of the pdfwrite device to /DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used for fill, stroke, text, and imagemask, and for images that (for whatever reason) can't be written in their specified color space. Note that this is a short-term fix: pdfwrite should output colors in the color space in which they were specified. However, a proper fix will require more significant architectural changes. (gdevpsdf.c [1.2], gdevpsdf.h [1.3]: 2000/03/16 01:21:24 lpd) Adds two more user-contributed 'uniprint' printer parameter sets: Epson Stylus Color 640, and a generic Epson Stylus Color in high resolution mode (720x720 dpi). (lib/stc640p.upp [1.1], lib/stcany_h.upp [1.1]: 2000/03/16 02:03:40 lpd)PDF writer
Fixes problems: - In-line images emitted an extra 'q' (gsave), causing the CTM to become incorrect, entries to pile up on the dictionary stack, and an invalidrestore error to occur at the end of the page. (gdevpdfi.c [1.2]: 2000/03/10 03:47:37 lpd) - The change in 5.99 to work around Acrobat Reader's 32K limit on user space coordinates caused all 0-width rectangles to disappear, which had major effects on some files. (gdevpdfd.c [1.2]: 2000/03/10 03:48:10 lpd) - Incrementally downloaded TrueType fonts produced truncated Widths tables in the output. We have patched this with a ******HACK****** that causes such fonts to be converted to bitmaps: the correct fix (to delay determining the range of valid characters until the font is written) is too large a change to make in a bug fix release. (gdevpdft.c [1.2]: 2000/03/10 03:48:48 lpd) Adds the ability to set the ProcessColorModel of the pdfwrite device to /DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used for fill, stroke, text, and imagemask, and for images that (for whatever reason) can't be written in their specified color space. Note that this is a short-term fix: pdfwrite should output colors in the color space in which they were specified. However, a proper fix will require more significant architectural changes. (gdevpdf.c [1.2], gdevpdfd.c [1.3], gdevpdfi.c [1.3], gdevpdfp.c [1.2], gdevpdft.c [1.3], gdevpdfu.c [1.2], gdevpdfx.h [1.2]: 2000/03/16 01:21:24 lpd)Interpreter (PDF)
Fixes problems: - When interpreting a PDF file, the Install page device procedure got more and more deeply nested after every page, eventually causing an execstackoverflow. (lib/pdf_main.ps [1.2]: 2000/03/10 03:56:11 lpd) - When interpreting a PDF file, text drawing operators didn't reset the text position, so strings could get displayed on top of each other. (bug introduced by a fix in 5.98) (lib/pdf_ops.ps [1.2]: 2000/03/10 03:57:03 lpd) - When interpreting a PDF file, substituted small-cap fonts were created with incorrect scaling. (lib/pdf_font.ps [1.2]: 2000/03/10 03:57:50 lpd) Cleans up some formatting. (lib/pdf_base.ps [1.2]: 2000/03/10 03:58:14 lpd)Interpreter
Fixes problems: - There were extraneous 'def' commands that caused definitions to be made in the wrong dictionary. (lib/gs_ttf.ps [1.2]: 2000/03/10 03:31:39 lpd) - If an error occurred while loading a font, it wouldn't produce an error message. (This is a 'fix' of a 'fix' of a 'fix': it might well break something else.) (lib/gs_type1.ps [1.2]: 2000/03/10 03:37:14 lpd) - When reading the strings of a binary object sequence, having to get more data from a procedure-based stream sometimes caused a syntaxerror. Fix: If the reserved (0) field in binary objects or binary object sequences was not 0, no syntaxerror occurred. (iscanbin.c [1.2]: 2000/03/10 03:38:50 lpd) - The code for handling execstackoverflow errors didn't cut back the stack correctly, possibly causing invalid memory accesses if an incorrect attempt was made to run a cleanup procedure. (interp.c [1.2]: 2000/03/10 04:04:38 lpd) - Writing of dictionaries in binary object output, a non-standard extension, was enabled by default, and also had to be enabled at startup time if it was ever going to be used. Fix: Binary error messages caused an error if the command wasn't of a type that printobject could handle. We now do what the Adobe implementations appear to do in this case, namely, convert the object with cvs. (lib/gs_btokn.ps [1.2]: 2000/03/10 04:27:31 lpd) - CloseSource and CloseTarget were effectively ignored for Flate and LZW filters with a Predictor, and for the DCT filters. (ifilter.h [1.2], zfdctd.c [1.2], zfdcte.c [1.2], zfdecode.c [1.2], zfilter.c [1.2], zfilter2.c [1.2]: 2000/03/10 04:32:51 lpd) - findlibfile didn't handle %iodevice% prefixes correctly. (zfile.c [1.2]: 2000/03/10 04:35:08 lpd) - fileposition didn't give an error for filters or non-seekable streams. (zfileio.c [1.2]: 2000/03/10 04:35:53 lpd) - Images with input from a file or filter demanded 1 byte of data too many, sometimes causing the last line of the image to be dropped. (bug probably introduced in 6.0) (zimage.c [1.2]: 2000/03/10 04:37:02 lpd) - The check for a show within a cshow procedure for a CID font was wrong. Fix: Character widths in CIDFontType 0 fonts were ignored (!). Adds a .glyphwidth operator to support correct handling of character widths for CID fonts. Adds a glyphwidth procedure to the library, like glyphshow and glyphpath, in order to support correct handling of widths for CID fonts. (ichar.h [1.2], lib/gs_cidfn.ps [1.2], zchar.c [1.2], zcharx.c [1.2]: 2000/03/10 04:41:47 lpd) - resourcestatus for fonts was broken. (lib/gs_res.ps [1.2]: 2000/03/10 04:54:15 lpd) - Fixes incorrect documentation of several procedures. (lib/gs_fonts.ps [1.2]: 2000/03/10 07:00:28 lpd) - The %ram% IODevice was defined, but should not be (it represents a RAM-based file system, which Ghostscript does not provide). Fix: The type of the %null% IODevice was /FileSystem rather than /Special. (ziodev2.c [1.2]: 2000/03/10 07:02:07 lpd) - Directly-loaded TrueType fonts (including embedded TrueType fonts in PDF files) could get confused with each other in the cache, because their XUIDs were based on the font checksum field, which some fonts don't have set correctly. (lib/gs_ttf.ps [1.3]: 2000/03/16 07:38:07 lpd) Adds a new example file, a 3-D synthetic image. (examples/doretree.ps [1.1]: 2000/03/10 04:00:45 lpd) Adds implementations of the devforall, devstatus, and diskonline compatibility operators. (lib/gs_statd.ps [1.2]: 2000/03/10 04:01:55 lpd) Some Adobe CIDFonts include a line /Setup /cid_Setup load def that apparently is intended only to prevent the fonts from being loaded by a standard PostScript interpreter (as opposed to ATM or a special font loader), since cid_Setup is not defined anywhere and Setup is never referenced; this change adds a dummy definition of cid_Setup to work around this. (lib/gs_cidfn.ps [1.3]: 2000/03/10 04:53:25 lpd) Updates the version # to 6.01, and the version date. (lib/gs_init.ps [1.2]: 2000/03/10 17:18:29 lpd) Changes the default undercolor removal and black generation functions back from f(k) = k to f(k) = 0. This fixes some, but not all, of the reported problems with color inkjet output in 6.0. (lib/gs_init.ps [1.3]: 2000/03/10 18:47:31 lpd) On Windows, puts stdout into binary mode as well as stdin, to allow piping printer output through stdout (not a good idea, but it should be supported as well as on other platforms). (dwmainc.cpp [1.2]: 2000/03/17 06:22:59 lpd)Streams
Changes the sbuf_min_left macro to a procedure for readability and in preparation for later revision. (stream.c [1.2], stream.h [1.2]: 2000/03/10 03:40:13 lpd)Library
Fixes problems: - (%os%) currentdevparams didn't return (fixed) values for InitializeAction, Mounted, Removable, Searchable, SearchOrder, and Writeable, or (meaningful) values for BlockSize, Free, and LogicalSize. Currently, the latter values are dummies. (gsiodev.c [1.2]: 2000/03/10 03:43:06 lpd) - The terminating $ on the $Id: line in gsmalloc.c was missing, and dwuninst.rc lacked a $Id: line. (gsmalloc.c [1.2]: 2000/03/10 03:44:33 lpd) - RasterOps with source transparency = 0, texture transparency = 1 didn't match the (very peculiar) H-P specification even if TRANSPARENCY_PER_H_P was defined. (gdevdrop.c [1.2], gdevmrop.h [1.2], gsropt.h [1.2]: 2000/03/10 04:06:15 lpd) - The prototype for gs_exit() was not included even though gs_exit() was called. Fix: A cast discarded const unnecessarily. (gsalloc.c [1.2]: 2000/03/10 04:08:23 lpd) - The type of the %pipe% IODevice was /FileSystem, whereas it should be /Special. (gdevpipe.c [1.2]: 2000/03/10 04:13:57 lpd) - An incorrectly formatted procedure couldn't be converted correctly by ansi2knr. (gxidata.c [1.2]: 2000/03/10 04:30:58 lpd) - The check for a show within a cshow procedure for a CID font was wrong. Fix: Character widths in CIDFontType 0 fonts were ignored (!). Adds a .glyphwidth operator to support correct handling of character widths for CID fonts. Adds a glyphwidth procedure to the library, like glyphshow and glyphpath, in order to support correct handling of widths for CID fonts. (gschar.c [1.2], gschar.h [1.2], gstext.c [1.2], gstext.h [1.2]: 2000/03/10 04:41:47 lpd) - The description of the value returned by code_map_decode_next in *pchr was incorrect. (documentation bug only) (gsfcmap.c [1.2]: 2000/03/10 07:03:09 lpd) - Fixes a problem producing too much black in the output; also adds support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and Epson Stylus Color 200). Note that this is user-contributed code. (gsargs.h [1.2]: 2000/03/16 02:01:36 lpd) - The code for Axial shadings incorrectly assumed that if the shading axis was horizontal or vertical in user space, it was also horizontal or vertical in device space: this caused incorrect results when the CTM wasn't orthogonal. (gxshade1.c [1.2]: 2000/03/17 08:17:55 lpd) - For printer devices, a non-null definition for OutputFile was required even on platforms that had a default printer (as implemented by gp_open_printer for that platform). (gp.h [1.2], gsdevice.c [1.2]: 2000/03/18 01:45:16 lpd) Clears the glyf and loca offsets in TrueType fonts that lack these tables, so that clients who care can tell whether the font is being downloaded incrementally. (gstype42.c [1.2]: 2000/03/10 03:45:29 lpd) Changes a few macro definitions to work around over-zealous compiler warnings. (gstype1.c [1.2], gstype2.c [1.2], gxtype1.h [1.2]: 2000/03/10 04:29:37 lpd) Changes the default undercolor removal and black generation functions back from f(k) = k to f(k) = 0. This fixes some, but not all, of the reported problems with color inkjet output in 6.0. (gxdcconv.c [1.2]: 2000/03/10 18:47:31 lpd)
Version 6.0 (2000-02-03)
This is the first public release since 5.50. See the release summary for information about new capabilities and known problems.Documentation
Documents the fact that the plane_depths of a gx_image_enum structure may vary, and that planes_wanted procedure of a gx_image_enum must return false if the depths *or* widths can change. (gxiparam.h) Documents the fact that a wanted plane's wanted status, width, or depth can only be changed by a call of plane_data that provides data for that plane. (gxiparam.h) Documents the change in the handling of the pthreads library. (doc/Make.htm) Documents the fact that setting parameters for the DCTEncode filter in ps2pdf causes a crash. (doc/Ps2pdf.htm) Documents another bug in the MIPSpro 7.x / IRIX 6.5.x compilers, with isave.c. (doc/Make.htm) Corrects Russell Lang's e-mail address. (doc/New-user.htm) Documents the new image operator test file and the pdfeof file. (doc/Psfiles.htm) Documents the 'w' argument for image_render procedures. (gxiclass.h) Adds a little more checking to the release process. (doc/Release.htm) Documents the return values from the font build_char procedure. (gxfont.h) Documents the fact that the free 'zip' program is needed to build the self-extracting Windows executable, as well as WinZipSE. (doc/Make.htm, msvc32.mak, winint.mak) Adds references to several new free fonts. (doc/Fonts.htm) Documents an important invariant for streams. (stream.h) Adds a reference for user-supported Watcom / GNU make makefiles. (doc/Make.htm, doc/New-user.htm) Documents the dependence of gs_ttf.ps on some of the gs_*_e.ps files. (lib/gs_ttf.ps) Documents how to make self-extracting Windows executables. (doc/Release.htm) Adds a number of new user-contributed man pages. (unixinst.mak, man/gslp.1, man/wftopfa.1, man/printafm.1, man/pfbtopfa.1, man/font2c.1, man/dvipdf.1, man/ps2pdfwr.1, man/gsnd.1, man/pf2afm.1, man/ps2pdf.1)Procedures
Fixes problems: - Building on BSDI didn't work. The simplest way to fix this was to change the linking of the pthreads library on Unix platforms to be included in STDLIBS rather than the "sync" implementation. (fix contributed by a user) (lib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak) - Once again, some runtime files weren't installed. (unixinst.mak) - Building the self-extracting executable didn't work. (winint.mak) Updates the user-contributed all-architectures makefile. (all-arch.mak)Utilities
Fixes problems: - A needed #include was missing. (geninit.c) - There were signed/unsigned char mismatches. (genht.c, geninit.c) - The MacOS compiler imposes a 32K limit on the size of a stack frame: we changed the code to use malloc/free. (geninit.c) Removes an unnecessary variable. (echogs.c) Adds a file that attempts to test the image operators exhaustively. (lib/image-qa.ps, unixinst.mak) Enhances the prfont.ps utility to print CIDFonts. (lib/prfont.ps) Adds a utility file that patches the PDF interpreter to allow garbage after the %%EOF (or the %%EOF to be missing completely). (lib/pdfeof.ps)Drivers
Fixes problems: - The X driver compared too many bits of color value, leading to unnecessary halftoning. (bug introduced by a fix in 5.99) (gdevxcmp.c) - Output from the pswrite driver got a dictfull error on Level 1 printers. (gdevps.c) - Anti-aliasing had stopped working on MS Windows and OS/2. (bug probably introduced in 5.65) (gdevmswn.c, gdevpm.c)Platforms
Adds a conditional definition of PTHREAD_CREATE_DETACHED for old versions of the pthreads library. (gp_psync.c) Updates the Microsoft Visual C++ library makefile for VC++ 6. (msvclib.mak) Updates some copyright dates. (winint.mak, dwsetup.rc)Fonts
Updates the URW fonts to include the expanded Adobe character set, including many Eastern European accented characters. (doc/New-user.htm) Removes a 'readonly' that inconvenienced the authors of ttf2pf. (lib/gs_ttf.ps)PDF writer
Fixes problems: - The Dest key was deleted from GoTo and GoToR link annotation pdfmarks. (gdevpdfm.c) - {name} references were substituted even in stream data for the /PUT pdfmark. (gdevpdfm.c) - The revision number was sometimes printed incorrectly if its fraction part was zero. (gdevpdf.c) - Embedded Multiple Master font instances weren't identified as MMType1 rather than Type1. (gdevpdff.h, gdevpdff.c, gdevpdft.c, gdevpdfw.c) - The test against MaxSubsetPct was incorrect when the percentages were equal. (gdevpdfw.c) - Font registrations weren't removed when the device was closed. (gdevpdff.h, gdevpdfx.h, gdevpdff.c, gdevpdfw.c) - Multiple /OBJ pdfmarks with the same name caused an error. For Distiller compatibility, we now allow this if the type is the same, even though the pdfmark specification doesn't say anything about this being legal. (gdevpdfm.c) Removes an unnecessary variable. (gdevpdff.c, gdevpdfr.c) Disables embedding Multiple Master font instances, since Acrobat Reader doesn't accept what appear to be correct output and we don't have time before the release to track down the problem. (gdevpdft.c)Interpreter (PDF)
Factors some code to allow patching the PDF reader to allow garbage after the %%EOF (or the %%EOF to be missing completely). (lib/pdf_main.ps)Interpreter
Fixes problems: - Type 1 fonts with non-standard OtherSubrs had stopped working. (bug introduced since 5.60) (zchar1.c) - usecmap didn't work. (lib/gs_cmap.ps) - The glyph_info procedure for Type 1 fonts didn't take Metrics[2] or CDevProc into account. (zchar1.c, zfont1.c) - The multiple-data-source case of images was broken. (bug introduced in 5.99) (zimage.c) - If a page device Install procedure caused an error, things could be left in an inconsistent state. (lib/gs_setpd.ps) - Using a DeviceN color space could access uninitialized data in a color value. (zcsdevn.c) - DeviceN images with procedure data sources were broken. (zimage.c) - Images with a procedure data source could terminate prematurely if their processing was interrupted. (zimage.c) - The garbage collector only marked half the name table sub-tables, and attempted to mark an equal number of invalid pointers, leading to invalid accesses or memory corruption. (iname.c) Removes an unused variable. (zmisc.c)Streams
Fixes problems: - sgets didn't reset the cursor pointers, so sgets into a client buffer followed by sseek (for some kinds of streams, including files) could get confused. (stream.c)Library
Fixes problems: - A 'const' qualifier was omitted, leading to a type mismatch. (gxclrast.c) - The revision number was sometimes printed incorrectly if its fraction part was zero. (gsmisc.c) - gs_image_next returned the wrong value in *pused if it incremented the plane number. (bug introduced in 5.99) (gsimage.c) - Only the last of the data_x and raster values in the local 'planes' array in gs_image_next_planes were initialized. (bug introduced in 5.99) (gsimage.c) - The multiple-data-source case of images was broken. (bug introduced in 5.99) (gsimage.h, gsimage.c) - ImageType 3 images with unequal scaling for the mask and data didn't work. (We thought they once did, but it appears they never have.) (gximage3.c) - Images with 12-bit samples treated a Decode entry of [1 0] the same as [0 1]. (Other, general Decode entries worked correctly.) (gxipixel.c) - ImageType 3 images didn't work if processing was ever interrupted for remapping a color. (gximage3.c) - Images in DeviceN color spaces with 12-bit samples didn't work. (gxi12bit.c, gxidata.c) - Images in DeviceN color spaces could fail to render properly because the interruption of rendering left a half-built entry in an internal cache. (gxi12bit.c, gxicolor.c) - Images with non-idempotent RasterOps in 1-component DeviceN color spaces didn't render properly, because the same pixel was rendered multiple times after a color remapping interruption. (gximono.c) - The fast case of masked images caused a crash if invoked without an imager state. (gximono.c) - Flushing buffered image data could cause coordinate bookkeeping to get out of sync. (gxidata.c) - ImageType 3, InterleaveType 2 images sometimes failed to render the last row. (gximage3.c) - The fix in 5.88 for resizing large objects had a bug itself. (gsalloc.c) - Whan banding, if a client supplied more data than necessary for an image, the client was told (incorrectly) that all of the data was used. (fix from Artifex) (gxclimag.c) - Null patterns caused a crash. (bug probably introduced by changes to support PatternType 2) (gspcolor.c) - On hand-initialized memory devices where line_ptrs[0] != base, monobit RasterOps could cause invalid or stray memory accesses. (gdevmr1.c) Removes an unnecessary variable. (gdevppla.c, gsfont.c) Adds the ability to call a specified procedure when unregistering notification, needed for removing PDF font registrations. (gsnotify.h, gsnotify.c) Updates the copyright year. (gscdef.c)
Copyright © 2000 Aladdin Enterprises. All rights reserved.
This file is part of Aladdin Ghostscript. See the Aladdin Free Public License (the "License") for full details of the terms of using, copying, modifying, and redistributing Aladdin Ghostscript.
Ghostscript version 6.01, 17 March 2000