Changes in the most recent releases of Ghostscript

Table of contents

This document is a record of changes in Ghostscript releases numbered 5.n. For earlier versions, see the the history documents:

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: Documentation,
Procedures, Utilities, Drivers, Platforms, Fonts, 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 5.50 (9/16/98)

This is the first public release since 5.10. See the release summary for a list of major additions and changes.

Documentation

Fixes problems: - Many files still referred to .txt rather than .htm files. (DLL.htm, Make.htm, New-user.htm, Readme.htm, bcwin32.mak, cfonts.mak, devs.mak, dvx-gcc.mak, dwmainc.cpp, gs-vms.hlp, gxdevcli.h, gxdevice.h, int.mak, jpeg.mak, libpng.mak, msvc32.mak, msvclib.mak, openvms.mak, os2.mak, unix-cc.mak, unix-gcc.mak, unixansi.mak, watc.mak, watcw32.mak, wccommon.mak, zlib.mak) Notes that ps2epsi.1 and ps2epsi.txt may be inconsistent or obsolete. (ps2epsi.1, ps2epsi.txt) Adds a reference to Thomas Merz's Ghostscript manual. (Readme.htm) Adds instructions for making RPMs. (Install.htm, Make.htm) Changes the URL for post-release notes. (Bug-form.htm, Make.htm, New-user.htm) Notes problems with Watcom compilation. (Make.htm)

Procedures

Fixes problems: - On Unix systems, the documentation files didn't get installed by `make install'. (unixinst.mak) - $() was missing around MAKEFILE in a Windows makefile. (msvc32.mak) - The dfax drivers didn't include all the necessary files in the linker list. (contrib.mak) - The MSVC makefiles didn't allow building the executable in a different directory. (bcwin32.mak, gs.mak, lib.mak, msvc32.mak, msvccmd.mak, msvclib.mak, msvctail.mak, os2.mak, watcw32.mak, winint.mak, winlib.mak) - The default build directory for the Borland compiler was debugobj rather than obj. (bcwin32.mak) Adds a patch file and some specification files for making RPMs. (gs.rps, gs-fonts.rps, rpm-conf.dif) Removes the docs target in the makefile, since this function is now performed by another program. (unix-end.mak)

Drivers

Fixes problems: - The jpeg drivers caused a memory access error. (bug introduced in 5.20 by an incorrectly made fix) (gdevjpeg.c) - The x11cmyk driver implemented map_rgb_color, which it should not do. (gdevxalt.c)

Utilities

Fixes problems: - echogs -h didn't work in environments where char is signed. (echogs.c)

Platforms

Fixes problems: - MSVC++ 5.0 produced incorrect code with TDEBUG=0. We "fixed" this problem by noting in the makefile that TDEBUG must be left set to 1. (msvc32.mak, msvclib.mak) Updates the icons for the MS Windows and OS/2 platforms. (gsgraph.icx, gsos2.icx, gspmdrv.icx, gstext.icx)

Interpreter

Fixes problems: - setpagedevice didn't update the state correctly when switching to a new type of device (different OutputDevice value). (gs_setpd.ps) - The interpreter's initialization depended on BSS being initialized to 0. (files.h, zfile.c) Removes all references to reloc_struct_ptr other than in gsstruct.h. (igcref.c) Adds DEBUG tracing for pdfmarks. (gs_pdfwr.ps) Disables TEST code for release. (zcrd.c, zfdcte.c)

Interpreter (PDF)

Fixes problems: - Some third-party software still referred to the obsolete #? procedure. (pdf_main.ps) - Destinations with string names weren't properly converted to pdfmarks. (pdf_main.ps) - Destinations with S = /Named weren't supported. (pdf_main.ps)

Library

Fixes problems: - Dropout prevention wasn't applied to landscape image masks. (gximono.c) - When using async rendering, the renderer's allocator was allocated with the wrong allocator. (gdevprna.c) - gx_strip_bitmap and gx_device_mask_clip didn't have proper GC descriptors, causing crashes if a GC occurred while rendering an ImageType 3 or 4 image. (gsstruct.h, gxbitmap.h, gxclip2.h, gxclipm.h, gxmclip.h, gspcolor.c, gxclipm.c, gxmclip.c) - The buffer for printer devices wasn't reallocated properly for async devices when the page size changed. We aren't entirely comfortable with the fix, but it's the best we've got right now. (gdevprn.c) - Some files wouldn't compile with -dNOPRIVATE. (gxcspace.h, gscdevn.c, gscolor2.c, gscscie.c, gscsepr.c) - gp_semaphore_close and gp_monitor_close were defined as not returning an error code. (gpsync.h, gp_nsync.c, gp_posem.c, gp_semon.c, gp_win32.c) - Initialization code depended on BSS being initialized to 0. (gsiodev.c) - The special PCL color mapping device didn't handle CMYK devices correctly in other than "identity" mode. (gdevcmap.c) Cleans up a little formatting. (gscie.h, gscpixel.c, gxmclip.c) Removes all references to reloc_struct_ptr other than in gsstruct.h. (gsstruct.h, gsalloc.c, gsdevice.c, gsfont.c, gxcpath.c) Patches the async code so that it allocates twice as much space for the renderer as should be needed, to deal with sandbars. (gdevprna.c)

Version 5.40 (beta) (9/10/98)

A few more fixes. This is intended as the candidate fileset for the 5.50 release.

Documentation

Fixes problems: - The current GNU Ghostscript version was documented as 3.33, not 4.03. (New-user.htm) - The ansi2knr usage documentation didn't mention --filename. (ansi2knr.1) - A projected completion date was too optimistic. (ps2pdf.1) Replaces all documentation files with new HTML versions. (*.txt [deleted], *.htm, index.html, imainarg.c) Adds a contributed set of Emacs macros useful for working with Ghostscript documentation. (gsdoc.el) Changes the version and date format slightly in one file for consistency. (gs-vms.hlp)

Procedures

Adds a make target (make docs) to touch up documentation files before a release. (unix-end.mak)

Utilities

Removes the long-obsolete ps2image.ps utility. (ps2image.ps [deleted])

Drivers

Adds a driver for the Color LaserJet 5. (devs.mak, gdevclj.c)

Platforms

Fixes problems: - Blanks in command lines weren't handled properly. (dwmain.cpp, dwmainc.cpp)

Library

Fixes problems: - 16-bit devices didn't convert colors to RGB correctly. (gdevm16.c) - 16- and 32-bit RasterOp didn't work, because pack_from_standard didn't handle depths greater than 8. (gdevdrop.c) - RasterOps with devices with non-standard color representation sometimes substituted black or white for the source or target. (gdevdrop.c) - The non-orthogonal case of Axial shading executed the axial-case code as well. (gxshade1.c) - copy_color on 4-bit-deep memory devices did an unnecessary fit_copy check. (gdevm4.c) - An upcast was missing. (gdevbbox.c) - View clipping was applied to internal devices, incorrectly. (gspath.c) Revises the implementation of shading so as to reduce the use of macros, update formatting, and help prepare for PatternType 2 patterns. (gsshade.h, gxshade.h, gxshade4.h, gscolor3.c, gsshade.c, gxshade.c, gxshade1.c, gxshade4.c, gxshade6.c)

Version 5.39 (beta) (9/8/98)

A couple more small fixes.

Drivers

Fixes problems: - The pkm[raw] drivers didn't work with 32-bit pixels. (gdevpbm.c) Adds (fake) 8-, 16-, and 32-bit X11 CMYK devices, for debugging. Unfortunately, the 16- and 32-bit devices consume the hardware color map and then no longer behave reasonably; the 8-bit device produces output with garbled colors (fixed in 5.40). (devs.mak, gdevxalt.c)

Library

Fixes bugs: - All banded devices caused a memory access error. (bug introduced in 5.38) (gsstate.c) - The special color mapping device didn't update its state after put_params. (gdevcmap.c) - RasterOp on 8-bit non-gray-scale devices didn't handle filling with constant 0 or 1 properly. (gdevmrop.c) - The halftone machinery didn't switch from full-size to strip halftones early enough, possibly allocating very large halftone data structures. (gshtscr.c) - If an ioerror (such as a disk- or memory-full condition) occurred while writing out the band list, the bookkeeping structures were left in an inconsistent state, causing further problems. (gxclutil.c) - Some shaded fills didn't check for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer did the wrong thing for multi-source images with more than 180 bytes of data (total) per scan line. (gdevpdfi.c) - If one used setdistillerparams, [g]restore caused a rangecheck in .setpagedevice. ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV ****** (gdevpsdp.c)

Interpreter

Fixes problems: - 0-length parameter arrays were given an arbitrary type, confusing clients. (iparam.c) - EOD on a write stream caused an error. (zfileio.c)

Library

Fixes problems: - 0-length parameter arrays confused clients that wanted arrays of a particular type. (gsparam.c) - Patterns with XStep or YStep smaller than the bounding box didn't work properly. (gxp1fill.c) - Resizing an object sometimes copied it unnecessarily. (gsalloc.c) - Freeing the shared part of a graphics state didn't free its sub-objects. (gsstate.c) - The standard allocator didn't free its initial (self-containing) chunk when asked to free itself. (gsalloc.c) - The standard allocator didn't attempt to merge free blocks before giving up. We implemented this by adding another virtual procedure to allocators, consolidate_free. (gsmemory.h, gsmemraw.h, gsalloc.c, gsmalloc.c, gsmemlok.c, gsmemory.c) - The free object merging algorithm thought there were free objects even when there weren't. (Small performance bug only.) (gsalloc.c) Adds some more tracing to pattern filling. (gxclip2.c, gxp1fill.c) Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures. (gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c) Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be used even in systems that have a garbage collector. (gsalloc.h, gxalloc.h, gsalloc.c, gsnogc.c)

Version 5.37 (beta) (8/31/98)

Documentation

Mentions the new cid2code utility in the documentation. (psfiles.txt) Documents dpsnext.dev. (gs.mak) Notes that clients of ImageType 3 images are responsible for providing the mask data before the pixel data. (gsiparm3.h)

Procedures

Fixes problems: - The makefiles were missing a dependency of jconfig.h on arch.h. With this fix, parallel builds (make -jN) work reliably. (jpeg.mak)

Utilities

Adds a utility for creating maps from CIDs to Unicode. (unixinst.mak, cid2code.ps)

Drivers

Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no longer supports this facility. (devs.mak, gdevpfax.c [deleted])

Fonts

Fixes problems: - TrueType fonts whose first code wasn't 0 or 0xf000 didn't display correctly. (bug introduced in 5.36) (gs_ttf.ps) - CIDFontType 0 fonts didn't handle being redefined with another name. (gs_cidfn.ps) - CIDFontType 0 fonts could get local-into-global-store errors. (gs_cidfn.ps) - PDF files couldn't use already-defined CMap resources. (pdf_font.ps) - Out-of-range CIDs gave an error rather than using a notdef character. (gs_cidfn.ps)

Interpreter

Fixes problems: - CIDFontType 4 fonts weren't recognized as CID-keyed. (zchar2.c, zchar32.c, zfont32.c) - When recovering from an error in an operator procedure, the interpreter didn't update the dictionary stack caches. (interp.c) - startjob didn't reinitialize the stacks or VM space. (gs_lev2.ps) - Encoding filters with a Predictor always caused an error. (zfilter2.c) - currenttrapparams gave an error. (gs_ll3.ps) - settrapparams had no effect, and left the dictionary on the stack. (gs_ll3.ps) Finishes implementing Type 32 fonts. These fonts don't actually work directly with the cache -- they store the bitmaps in a compressed form in an ordinary Dictionary -- but they do behave the way they are specified. (gs_typ32.ps, zchar32.c, zfont32.c) Cleans up formatting and macros in a few more files. (ccfont.h, icharout.h, icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c, isave.h, isave.c, iscannum.c, iutil.c, iutil2.c) Removes or capitalizes a few more macros. (zcontext.c, zcssepr.c, zusparam.c)

Interpreter (PDF)

Fixes problems: - Color spaces with subsidiary spaces (Indexed, Separation, DeviceN) sometimes didn't work properly, because they were translated to PostScript structures more than once. (pdf_draw.ps) - Type 3 fonts didn't rebind the resource context when executing the CharProc procedure. (pdf_font.ps)

Streams

Fixes problems: - The CCITTFax decoder signaled an error if it saw an EOB with EndOfBlock = false. (According to e-mail from Adobe, EOBs should be recognized even if EndOfBlock is false, even though the Red Book implies the opposite.) (scfd.c) Cleans up macros and formatting in a few more files. (slzwce.c, sfxfd.c, sfxstdio.c)

Library

Fixes problems: - Landscape color images usually didn't display. (bug introduced in 5.32) (gxicolor.c) - If gs_heap_free_object was called with ptr != 0 but bp = 0 (which is an error), an invalid memory access would occur. (gsmalloc.c) - The left side bearing was still being added in a second time for the accent of a seac. (bug probably introduced in 5.20) (gxtype1.c) - An access error occurred when rendering the very last glyph of a TrueType font with a 2-byte loca table. (gstype42.c) - In the fast portrait case of monochrome images, a numerical error sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the right edge of the image. (gxifast.c) - ImageType 3 images with InterleaveType = 3 gave memory access errors. (gximage3.c) - Hit detection ignored any part of the aperture that had negative X or Y coordinates. (gdevhit.c) - The special color mapping device didn't copy all necessary values back from its target. (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c) - The special color mapping device didn't handle ordinary (Type 1) images correctly. (gdevcmap.c) - CMYK halftones complemented both the color and the halftone level: this produced the right number of pixels turned on (only for linear spot functions or threshold arrays), but wasn't consistent with either the Adobe specification or the user's intentions. (gxcht.c) - The phase of mask Patterns wasn't always set correctly. (gxp1fill.c) - The reader side of overlapped band devices was confused about its open/closed status. (gdevprna.c) Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap. (gxftype.h) Adds some more tracing for composite font decoding. (gsfcmap.c) Adds some more tracing for images. (gxiinit.c) Cleans up formatting and macros in a few more files. (gxifast.c) Moves the image*_type_data and image*_enum_procs_data definitions from header files into more appropriate .c files. (gsiparm2.h, gsiparm3.h, gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)

Version 5.36 (beta) (8/25/98)

Another set of fixes. The free-standing bbox device now produces convenient %%BoundingBox messages. This fileset also includes support for double-byte TrueType fonts.

Documentation

Fixes problems: - There was a minor spacing glitch in one man page. (gs.1) - The page printed by align.ps didn't make it clear enough what to do with the numbers it asks users to calculate. (align.ps) - The sample code for adding gamma adjustment didn't work most of the ordheck for errors when filling sub-regions. (gxshade1.c, gxshade4.c) Cleans up some formatting. (gxshade6.c)

Version 5.38 (beta) (9/3/98)

The sole purpose of this release was to fix some obscure bugs detected by the Genoa tests and by another Aladdin project.

Documentation

Updates the list of implemented PostScript LanguageLevel 3 features. (current.txt)

Drivers

Fixes problems: - The PDF writer d