- Documentation, Procedures, Utilities, Drivers, PDF writer, PDF Interpreter, Interpreter, Streams, Library, Other

## Documentation

    Fixes problems:
    	- An isolated ampersand needed to be converted to the HTML form.
    (doc/Bug-form.htm [1.12]: 2000/11/04 17:53:57 lpd)
    	- cvs2hist was generating invalid anchor names and not escaping
    special charaters. also enable '-r' commandline option, and pass '-b' if
    it's not specified for default branch logs only. Changes.htm now passes the
    validator. Minor url cleanup in Release.htm (doc/Changes.htm [1.19],
    doc/Release.htm [1.23]: 2000/11/10 01:52:35 giles)
    	- Removes obsolete documentation reference to -DUsePrinterImages and
    clarifies the entry for the replacing -DPrinted. Fixes sourceforge bug #
    121907. (doc/Use.htm [1.16]: 2000/11/20 20:34:23 giles)
    	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
    freed, except by garbage collection (which doesn't reclaim chunks with only
    a small amount of surviving data). In practice, this probably only affects
    the PDF writer. (doc/News.htm [1.71]: 2000/11/23 23:34:23 lpd)
    	- The pswrite device couldn't write to pipes. The fix involved
    expanding the API for opening device OutputFiles so that the individual
    driver could specify whether it required, requested, or did not want a
    positionable file. Fixes SourceForge bug # 122223. (doc/Use.htm [1.17]:
    2000/11/29 02:25:13 lpd)
    	- The default ps2pdf "distiller parameters" weren't documented
    correctly; the parameter values for the other PDFSETTINGS (screen, printer,
    prepress) weren't documented at all; the xxxImageDownsampleThreshold
    parameters were incorrectly documented as xxxDownsampleThreshold.
    (doc/Ps2pdf.htm [1.22]: 2000/12/19 17:55:55 lpd)
    	- The documentation of the -dSAFER command line switch was
    inaccurate. (doc/Use.htm [1.18]: 2000/12/23 01:33:06 lpd)
    	- documentation for gs_cidcm.ps and gs_dscp.ps was missing.
    (doc/Psfiles.htm [1.11]: 2000/12/29 02:17:12 lpd)

    Adds developer documentation on the color mapping pipeline.
    (doc/Develop.htm [1.16]: 2000/11/03 04:53:00 lpd)

    switch to Tobias Burnus' stylesheet for the B-D html documentation, along
    with some minor cleanups (doc/Bug-form.htm [1.10], doc/Bug-info.htm [1.8],
    doc/C-style.htm [1.6], doc/Commprod.htm [1.4], doc/Copying.htm [1.4],
    doc/Current.htm [1.4], doc/DLL.htm [1.4], doc/Develop.htm [1.17],
    doc/Devices.htm [1.14], doc/Drivers.htm [1.10], doc/gs.css [1.1]: 2000/11/03
    06:42:42 giles)

    update remaining file links in Develop.htm to <dl> format, plus
    additional cleanup (doc/Commprod.htm [1.5], doc/DLL.htm [1.5],
    doc/Develop.htm [1.18], doc/Devices.htm [1.15], doc/Drivers.htm [1.11]:
    2000/11/03 20:15:55 giles)

    Lists all the monochrome TIFF drivers individually, rather than as a class.
    (doc/Devices.htm [1.16]: 2000/11/03 23:33:18 lpd)

    Switches the rest of the human-maintained html documentation to the new
    stylesheet. We now pass validator.w3.org for HTML 4.01 with the exception of
    an error I couldn't figure out in Bug-form.htm. (doc/Bug-form.htm [1.11],
    doc/Fonts.htm [1.9], doc/Helpers.htm [1.7], doc/Hershey.htm [1.3],
    doc/Htmstyle.htm [1.7], doc/Humor.htm [1.2], doc/Install.htm [1.10],
    doc/Language.htm [1.21], doc/Lib.htm [1.4], doc/Maintain.htm [1.7],
    doc/Make.htm [1.17], doc/New-user.htm [1.15], doc/Projects.htm [1.20],
    doc/Ps-style.htm [1.4], doc/Ps2epsi.htm [1.5], doc/Ps2pdf.htm [1.19],
    doc/Psfiles.htm [1.10], doc/Public.htm [1.4], doc/Readme.htm [1.15],
    doc/Release.htm [1.22], doc/Source.htm [1.4], doc/Tester.htm [1.4],
    doc/Unix-lpr.htm [1.4], doc/Use.htm [1.15], doc/Xfonts.htm [1.4],
    doc/index.html [1.2]: 2000/11/04 05:00:00 giles)

    updated News.htm to use gs.css (doc/News.htm [1.70]: 2000/11/04 21:59:35
    giles)

    Adds documentation on Ghostscript's object-oriented coding conventions, and
    more documentation on error generation. (doc/C-style.htm [1.7],
    doc/Develop.htm [1.19]: 2000/11/07 07:34:57 lpd)

    Expands the description of the color mapping process.
    (doc/Develop.htm [1.20]: 2000/11/09 05:41:46 lpd)

    updates history files 1-4 (historical) to valid html4 and the new stylesheet
    (doc/History1.htm [1.4], doc/History2.htm [1.4], doc/History3.htm [1.4],
    doc/History4.htm [1.4]: 2000/11/28 22:55:34 giles)

    updates the version 5.x history file to the conforming html4
    (doc/History5.htm [1.6]: 2000/12/01 00:47:08 giles)

    Adds documentation on creating a release directory on the Wisconsin server,
    including checking the version numbers of the third-party libraries.
    (doc/Release.htm [1.24]: 2000/12/05 21:16:25 lpd)

    Updates documentation to reflect recent improvements in text and DSC comment
    handling. (doc/Ps2pdf.htm [1.20]: 2000/12/09 08:01:56 lpd)

    Documents the change from ViewerOrientation to ViewingOrientation in the DSC
    parser. (doc/News.htm [1.72]: 2000/12/09 19:53:48 lpd)

    Makes the PDF writer extract orientation and bounding box information from
    DSC comments, if present. The orientation is used to set Rotate if
    AutoRotatePages is not selected; the bounding box is not yet used for
    anything. (doc/Ps2pdf.htm [1.21]: 2000/12/09 19:54:55 lpd)

    adds a brief blurb for Develop.htm (doc/Readme.htm [1.16]: 2000/12/11
    19:39:36 giles)

    In the developer documentation, breaks down several long file lists into
    shorter, more focused ones. (doc/Develop.htm [1.21]: 2000/12/12 19:52:49
    lpd)

    Adds some additional documentation on halftones. (doc/Develop.htm [1.22]:
    2000/12/15 01:46:57 lpd)

    Adds additional documentation on makefile conventions, and improves a few
    other areas. (doc/Develop.htm [1.23]: 2000/12/18 06:45:23 lpd)

    Adds more documentation on makefiles, .dev files, and related topics.
    (doc/Develop.htm [1.24]: 2000/12/20 05:09:31 lpd)

    Adds more developer documentation on the PostScript interpreter; divides up
    some lists of files to provide more helpful detail. (doc/Develop.htm [1.25]:
    2000/12/20 20:15:41 lpd)

    Documents the preferred line breaking and indentation format for assignment
    statements, including chain assignments. (doc/C-style.htm [1.8]: 2000/12/22
    16:58:55 lpd)

    Makes some minor corrections and improvements to the developer
    documentation. (doc/Develop.htm [1.26]: 2000/12/28 05:57:18 lpd)

    Adds substantial new material on coding conventions for structures, classes,
    and subclasses. (doc/C-style.htm [1.9]: 2000/12/28 07:12:38 lpd)

    Documents about 15 additional non-standard operators (the ones most likely
    to be used in future code). (doc/Develop.htm [1.27],
    doc/Language.htm [1.22]: 2000/12/28 18:29:49 lpd)

    Documents the need to run hrefcov as part of the release process; also fixes
    some minor inaccuracies. (doc/Release.htm [1.25]: 2000/12/29 02:12:08 lpd)

    Adds more files to the developer "roadmap" documentation.
    (doc/Develop.htm [1.28]: 2000/12/29 02:18:47 lpd)

    Adds the Fontmaps and the contributed drivers to the developer documentation
    "roadmap", which is now complete. (doc/Develop.htm [1.29]: 2000/12/29
    02:33:40 lpd)

    Adds some developer documentation on design principles.
    (doc/Develop.htm [1.30]: 2000/12/30 22:07:37 lpd)

    Removes or updates no longer appropriate references to Aladdin Enterprises.
    (doc/Commprod.htm [1.6], doc/Fonts.htm [1.10], doc/Install.htm [1.11],
    doc/Make.htm [1.18], doc/New-user.htm [1.16], doc/Projects.htm [1.21],
    doc/Use.htm [1.19]: 2000/12/31 21:43:59 lpd)

    Updates documentation for the Windows uninstall program to reflect the name
    change from Aladdin Ghostscript to AFPL Ghostscript.
    (doc/Install.htm [1.12]: 2000/12/31 22:26:08 lpd)

    Updates repository for 6.60 release. (doc/Bug-form.htm [1.13],
    doc/Bug-info.htm [1.9], doc/C-style.htm [1.10], doc/Commprod.htm [1.7],
    doc/Copying.htm [1.5], doc/Current.htm [1.5], doc/DLL.htm [1.6],
    doc/Develop.htm [1.31], doc/Devices.htm [1.17], doc/Drivers.htm [1.12],
    doc/Fonts.htm [1.11], doc/Helpers.htm [1.8], doc/History1.htm [1.5],
    doc/History2.htm [1.5], doc/History3.htm [1.5], doc/History4.htm [1.5],
    doc/History5.htm [1.7], doc/History6.htm [1.15], doc/Htmstyle.htm [1.8],
    doc/Install.htm [1.13], doc/Language.htm [1.23], doc/Lib.htm [1.5],
    doc/Maintain.htm [1.8], doc/Make.htm [1.19], doc/New-user.htm [1.17],
    doc/News.htm [1.73], doc/Projects.htm [1.22], doc/Ps-style.htm [1.5],
    doc/Ps2epsi.htm [1.6], doc/Ps2pdf.htm [1.23], doc/Psfiles.htm [1.12],
    doc/Readme.htm [1.17], doc/Release.htm [1.26], doc/Source.htm [1.5],
    doc/Tester.htm [1.5], doc/Unix-lpr.htm [1.5], doc/Use.htm [1.20],
    doc/Xfonts.htm [1.5], doc/gs-vms.hlp [1.4], man/dvipdf.1 [1.2],
    man/eps2eps.1 [1.3], man/font2c.1 [1.2], man/gs.1 [1.2], man/gslp.1 [1.2],
    man/gsnd.1 [1.2], man/pdf2dsc.1 [1.2], man/pdf2ps.1 [1.4],
    man/pdfopt.1 [1.2], man/pf2afm.1 [1.2], man/pfbtopfa.1 [1.3],
    man/printafm.1 [1.2], man/ps2ascii.1 [1.2], man/ps2epsi.1 [1.2],
    man/ps2pdf.1 [1.6], man/ps2pdfwr.1 [1.3], man/ps2ps.1 [1.9],
    man/wftopfa.1 [1.2]: 2001/01/01 00:24:05 lpd)

## Procedures

    Fixes problems:
    	- cvs2hist was generating invalid anchor names and not escaping
    special charaters. also enable '-r' commandline option, and pass '-b' if
    it's not specified for default branch logs only. Changes.htm now passes the
    validator. Minor url cleanup in Release.htm (toolbin/cvs2hist.py [1.4]:
    2000/11/10 01:52:35 giles)
    	- The OS/2 platform code would no longer compile, because the stdio
    files are no longer available. (fix from rjl) (os2.mak [1.9]: 2000/12/05
    01:16:26 lpd)
    	- Embedded font subsets always used similar sequences of prefixes,
    making it likely that combining multiple PDF files would lead to clashes;
    the code now generates truly random prefixes, using an external source of
    random data. (devs.mak [1.39]: 2000/12/10 00:12:23 lpd)
    	- Fixes a couple of dependency lists that had gotten out of sync.
    (devs.mak [1.40]: 2000/12/10 00:17:51 lpd)
    	- Seek was broken and PDF interpreter failed when
    FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    is extended to support MSVC && Win32. close_.h is replaced by more
    general unistd_.h (lib.mak [1.40]: 2000/12/19 03:35:40 alexcher)
    	- In the previous fix unistd__h was misspelt as unistd_h .
    (lib.mak [1.41]: 2000/12/19 05:35:53 alexcher)
    	- The recent change for localized man pages didn't update 2 of the 3
    top-level Unix makefiles. (unixansi.mak [1.7], unixtrad.mak [1.7]:
    2000/12/23 16:29:53 lpd)
    	- The list of doc files to be installed had gotten out of date
    (Develop.htm, Maintain.htm, and Ps-style.htm were missing).
    (unixinst.mak [1.16]: 2000/12/23 16:30:36 lpd)
    	- unixinst.mak was checked in with the previous fix only partly
    done. (unixinst.mak [1.17]: 2000/12/23 16:34:12 lpd)

    Collect some stray configuration related externs into iconf.h
    (int.mak [1.40]: 2000/11/04 06:12:02 rayjj)

    Adds DSC parsing capability to the PostScript interpreter, with an optional
    'feature' to use the DSC Orientation comments to compensate for sloppy
    PostScript producers that don't emit an appropriate setpagedevice command.
    (int.mak [1.41]: 2000/11/05 18:33:53 lpd)

    Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
    actually process any of the comments. NOTE: Part of this code was
    accidentally included in the recent fix for local/global VM problems in the
    PostScript code for using the DSC parser. (devs.mak [1.36]: 2000/11/07
    18:54:26 lpd)

    Reorganizes some text-writing code in anticipation of adding CIDFont and
    CMap support. (devs.mak [1.37]: 2000/11/17 22:11:44 lpd)

    Avoids exporting empty LD_RUN_PATH environment variable to the link process.
    This was causing binaries to search the current directory for libraries,
    which was a security hole. Fixes SourceForge bug 122532. (ugcclib.mak [1.6],
    unixlink.mak [1.3]: 2000/11/28 00:14:48 raph)

    Updates the date and version checker for compatibility with the newest
    documentation standards; also makes it check the makefile values of JVERSION
    and PVERSION against the currently installed third-party source code.
    (toolbin/pre [1.9]: 2000/12/05 21:14:14 lpd)

    Extensively revises and updates the pdfwrite text handling code to support
    processing and embedding of all types of fonts (except for Type 3 and
    CIDFontType 1, which are defined by PostScript procedures), and all variants
    of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    standard and non-standard CMaps are supported. (devs.mak [1.38],
    int.mak [1.42], lib.mak [1.38]: 2000/12/08 23:35:37 lpd)

    removes a spurious import of the cgi module (toolbin/cvs2hist.py [1.5]:
    2000/12/11 19:40:23 giles)

    Splits off the code for downsampling an oversampled character bitmap into a
    separate file. (lib.mak [1.39]: 2000/12/14 00:14:52 lpd)

    Adds a '-t' option to enable text output rather than html, replacing the old
    behavior, which was to return text unless a version string was passed with
    '-v'. The version string is now set to 'CVS' if no explicit version is
    passed, and this is used in the named anchors within the html output.
    (toolbin/cvs2hist.py [1.6]: 2000/12/23 09:38:10 giles)

    Adds support for localized manpages to the make 'install' target. On unix
    the makefile will now intall any files with the $MAN1EXT extension it finds
    under locale subdirs of the man directory that are listed in the MAN_LCDIRS
    variable. The $man1dir is correspondingly removed from unix-gcc.mak. Also
    adds separate targets: install-doc install-man install-examples
    install-libdata (unix-gcc.mak [1.9], unixinst.mak [1.15]: 2000/12/23
    10:10:37 giles)

    Improves the set of files checked by hrefcov +lib.
    (toolbin/hrefcov.tcl [1.5]: 2000/12/29 02:16:13 lpd)

    Adds a script for batch-converting PostScript files to PDF, intended to be
    useful for testing. (toolbin/many2pdf.tcl [1.1]: 2000/12/31 22:28:09 lpd)

    Updates repository for 6.60 release. (toolbin/pre [1.10],
    version.mak [1.24]: 2001/01/01 00:24:06 lpd)

## Utilities

    Fixes problems:
    	- pdfopt.ps used the "unresolved?" procedure from pdf_base.ps, which
    has been replaced by the slightly different "resolved?" procedure.
    (lib/pdfopt.ps [1.4]: 2000/12/01 04:15:52 lpd)
    	- The OS/2 platform code would no longer compile, because the stdio
    files are no longer available. (fix from rjl) (gp_os2.c [1.5]: 2000/12/05
    01:16:26 lpd)
    	- File flush method uses file member in stream. On Windows and OS/2
    it is NULL for %stdout or %stderr. So the standard flush method is
    installed. (gp_msio.c [1.3], gp_os2.c [1.6]: 2000/12/19 03:44:24 alexcher)
    	- /NullEncode filter no longer supports fileposition. Replacing
    fileposition with .fileposition (lib/impath.ps [1.3]: 2000/12/28 17:06:07
    alexcher)
    	- _.at file was not deleted in BAT file; SAFER option added to CMD
    file. (lib/eps2eps.bat [1.4], lib/eps2eps.cmd [1.2]: 2000/12/30 18:45:37
    alexcher)

    Improves documentation of cid2code.ps by adding a complete usage example.
    (lib/cid2code.ps [1.3]: 2000/11/30 18:22:11 lpd)

    Adds extensive documentation to genconf.c; also brings it into line with
    current Ghostscript coding standards. (genconf.c [1.4]: 2000/12/20 04:20:34
    lpd)

    Safe mode implemented using DELAYSAFER flag. (lib/pdf2dsc [1.3],
    lib/pdf2dsc.bat [1.1], lib/pdf2dsc.ps [1.3]: 2000/12/29 05:03:49 alexcher)

## Drivers

    Fixes problems:
    	- In PDF output, color values of 1.0 were usually written as 0.999.
    (bug introduced in version 6.22) (gdevpsdu.c [1.8]: 2000/11/12 07:13:26 lpd)
    	- The pswrite device couldn't write to pipes. The fix involved
    expanding the API for opening device OutputFiles so that the individual
    driver could specify whether it required, requested, or did not want a
    positionable file. Fixes SourceForge bug # 122223. (gdevps.c [1.13],
    gdevpx.c [1.5]: 2000/11/29 02:25:13 lpd)
    	- Invalid (uninitialized) StripByteCount was being left in file for
    the tiff12nc and tiff24nc devices. Needed to call gdev_tiff_end_strip().
    (gdevtfnx.c [1.4]: 2000/12/15 06:09:27 rayjj)
    	- Fixes bug introduced in gdevxini.c revision 1.5. Don't overwrite
    the pixmap handle provided in the GHOSTVIEW environment variable.
    (gdevxini.c [1.10]: 2000/12/15 10:18:47 ghostgum)
    	- The pswrite device produced an extra page if the transfer function
    didn't map "1 setgray" to device white. (gdevps.c [1.14]: 2000/12/21
    03:58:54 lpd)

## PDF writer

    Fixes problems:
    	- kshow caused the PDF writer to revert to bitmapped fonts. Fixes
    SourceForge bug # 104118. (gdevpdft.c [1.21]: 2000/11/06 04:17:14 lpd)
    	- The PDF writer didn't handle stroked fonts correctly (they were
    filled instead of stroked). (gdevpdf.c [1.23], gdevpdfd.c [1.11],
    gdevpdft.c [1.22], gdevpdfx.h [1.23]: 2000/11/12 06:52:08 lpd)
    	- When mixing filled and stroked fonts, the color wasn't set
    correctly. (gdevpdft.c [1.23]: 2000/11/12 07:14:30 lpd)
    	- The PDF writer incorrectly assumed that in PDF 1.3, the standard
    Latin character set was the PostScript 3 extended set (it's actually the old
    PostScript Level 2 set). (gdevpdft.c [1.28]: 2000/11/20 18:13:55 lpd)
    	- Embedded CIDFontType 2 fonts had an incorrect BoundingBox.
    (gdevpdff.c [1.14]: 2000/12/09 06:53:25 lpd)
    	- Embedded font subsets always used similar sequences of prefixes,
    making it likely that combining multiple PDF files would lead to clashes;
    the code now generates truly random prefixes, using an external source of
    random data. (gdevpdf.c [1.26], gdevpdfe.c [1.8], gdevpdff.c [1.15],
    gdevpdff.h [1.9], gdevpdfx.h [1.27]: 2000/12/10 00:12:23 lpd)
    	- Non-embedded Multiple Master instances weren't identified as such
    (font Subtype = /MMType1). (gdevpdfw.c [1.7]: 2000/12/11 08:52:01 lpd)
    	- pdfwrite would crash if a bitmap character was larger than 10Kb
    (compressed). The fix simply raises the limit to 1 Mb. (gdevpdft.c [1.30]:
    2000/12/13 01:33:37 lpd)
    	- When processing DSC comments, some constant strings weren't copied
    to the heap, possibly causing memory access errors. (gdevpdfp.c [1.16]:
    2000/12/16 07:02:35 lpd)
    	- If the same standard (base 14) font was loaded more than once
    (because of save/restore), the PDF file could contain fonts that had
    suffixed names (e.g., Helvetica~2) but with data missing as though they were
    standard fonts, upsetting Acrobat Reader. Fixes SourceForge bug # 101905.
    THIS FIX IS IN A VERY FRAGILE AREA AND MAY INTRODUCE NEW PROBLEMS.
    (gdevpdff.c [1.16]: 2000/12/16 08:00:53 lpd)
    	- The previous fix for copying DSC comment keys to the heap was
    unnecessarily complex. (gdevpdfp.c [1.17]: 2000/12/16 19:28:51 lpd)
    	- Resource usage wasn't tracked separately for Form XObjects (BP/EP
    pdfmarks), producing non-compliant files that caused errors from Acrobat.
    Fixes SourceForge bug # 102146. (gdevpdf.c [1.28], gdevpdff.c [1.17],
    gdevpdff.h [1.10], gdevpdfm.c [1.8], gdevpdfo.c [1.6], gdevpdfo.h [1.6],
    gdevpdft.c [1.31], gdevpdfu.c [1.14], gdevpdfw.c [1.8], gdevpdfx.h [1.28]:
    2000/12/16 19:36:32 lpd)
    	- Strict type correctness is required on VMS system. Contributed by
    Jouk Jansen joukj@hrem.stm.tudelft.nl (gdevpdfw.c [1.9]: 2000/12/18 21:58:03
    alexcher)

    Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
    actually process any of the comments. NOTE: Part of this code was
    accidentally included in the recent fix for local/global VM problems in the
    PostScript code for using the DSC parser. (gdevpdfp.c [1.13]: 2000/11/07
    18:54:26 lpd)

    Changes the internal indication of whether to allow font subsetting from a
    Boolean to OK, YES, NO. (Unfortunately, I no longer remember why this change
    is needed.) (gdevpdfe.c [1.6], gdevpdff.c [1.10], gdevpdff.h [1.5],
    gdevpdft.c [1.24]: 2000/11/14 06:57:21 lpd)

    When writing PDF output, adds the ability to convert text in Type 0 fonts to
    text in the descendant leaf fonts. This completes the handling of text
    output except for CID-keyed fonts. (gdevpdft.c [1.25]: 2000/11/14 16:47:09
    lpd)

    Reorganizes some text-writing code in anticipation of adding CIDFont and
    CMap support. (gdevpdff.c [1.11], gdevpdff.h [1.6], gdevpdft.c [1.26]:
    2000/11/17 22:11:44 lpd)

    Makes glyphshow no longer revert to bitmapped fonts. Also adds a CIDFont
    pseudo-resource, in anticipation of adding CID-keyed font support.
    (gdevpdff.c [1.12], gdevpdff.h [1.7], gdevpdft.c [1.27], gdevpdfx.h [1.24]:
    2000/11/20 08:31:20 lpd)

    Extensively revises and updates the pdfwrite text handling code to support
    processing and embedding of all types of fonts (except for Type 3 and
    CIDFontType 1, which are defined by PostScript procedures), and all variants
    of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    standard and non-standard CMaps are supported. (gdevpdf.c [1.24],
    gdevpdfe.c [1.7], gdevpdff.c [1.13], gdevpdff.h [1.8], gdevpdfs.c [1.1],
    gdevpdft.c [1.29], gdevpdfu.c [1.13], gdevpdfw.c [1.6], gdevpdfx.h [1.25]:
    2000/12/08 23:35:38 lpd)

    If ParseDSCCommentsForDocInfo is set to true, copies information from DSC
    comments Creator, CreationDate, For, and Title into the output's Info
    dictionary. (gdevpdfp.c [1.14]: 2000/12/09 07:49:22 lpd)

    Makes the PDF writer extract orientation and bounding box information from
    DSC comments, if present. The orientation is used to set Rotate if
    AutoRotatePages is not selected; the bounding box is not yet used for
    anything. (gdevpdf.c [1.25], gdevpdfp.c [1.15], gdevpdfx.h [1.26]:
    2000/12/09 19:54:54 lpd)

    Slightly changes the initialization of the random offset for font subset
    prefixes, to work better with low-resolution clocks such as those typical on
    PCs. (gdevpdf.c [1.27]: 2000/12/16 19:31:10 lpd)

## PDF Interpreter

    Fixes problems:
    	- Type 0 fonts with a non-standard (embedded) CMap didn't work at
    all. (lib/pdf_font.ps [1.15]: 2000/12/02 20:41:52 lpd)
    	- The PDF interpreter ignored the CIDToGIDMap entry in (embedded)
    CIDFontType 2 fonts, producing incorrect output if the map wasn't /Identity.
    (lib/pdf_font.ps [1.16]: 2000/12/07 23:41:10 lpd)
    	- GS didn't dereference indirect objects in Widths array.
    (lib/pdf_font.ps [1.17]: 2000/12/17 19:06:19 alexcher)
    	- Fixes a slight oversight in the true/false/null improvement for
    the PDF interpreter. (lib/pdf_base.ps [1.12]: 2000/12/26 04:10:12 lpd)
    	- When a non-TrueType font was substituted for a TrueType font, the
    Encoding in the font descriptor was ignored. This hack was intended to fix
    SF bug # 104702, an invalid PDF file, but it broke another case. Removal of
    the hack makes GS render both cases similar to AR 4.
    (lib/pdf_font.ps [1.18]: 2000/12/26 04:29:30 alexcher)
    	- The PDF interpreter didn't rotate the CropBox for landscape pages,
    producing incorrect output if the input of ps2pdf was a landscape PDF file.
    (lib/pdf_main.ps [1.26]: 2000/12/31 01:07:18 lpd)

    Improves font substitution by taking the "Narrow" property into account.
    Fixes SourceForge bug 116460. Fix due to Leon Bottou.
    (lib/pdf_font.ps [1.13]: 2000/11/05 17:36:28 raph)

    Wraps the showpagecontents call in gsave/grestore, so that the graphics
    state for drawing annotations is pristine. Fixes Sourceforge bug 123310.
    (lib/pdf_main.ps [1.23]: 2000/11/25 22:00:21 raph)

    The published PDF specification says the Encoding name "must be" one of the
    3 predefined Encodings, implying that an error should occur if it isn't.
    However, Acrobat Reader simply ignores unknown names, and since there are
    some buggy applications that rely on this, we do the same.
    (lib/pdf_font.ps [1.14]: 2000/11/28 18:55:24 alexcher)

    The PDF specification says that the 'xref' must be on a line by itself. The
    code formerly used readline and linene to check this. However, Acrobat
    Reader only requires the line to begin with 'xref', and there are enough
    applications producing non-compliant PDF files that we have to do this too.
    (lib/pdf_main.ps [1.24]: 2000/12/18 03:41:35 alexcher)

    AI8 writes bogus encoding array [0 1 0 0 0 0 0 0] AR doesn't care. So we
    have to straighten it up here. (lib/pdf_draw.ps [1.24]: 2000/12/20 19:02:24
    alexcher)

    Makes the PDF interpreter handle true, false, and null specially, rather
    than by dictionary lookup, so that the PostScript interpreter can still
    process these names using the special fast case for names defined only in
    systemdict. (lib/pdf_base.ps [1.11], lib/pdf_main.ps [1.25]: 2000/12/26
    04:08:44 lpd)

## Interpreter

    Fixes problems:
    	- The recently updated code for activating the DSC comment parser
    had several local/global VM problems, causing invalidaccess errors.
    (lib/gs_dps2.ps [1.3], lib/gs_init.ps [1.27], lib/gs_pdfwr.ps [1.7]:
    2000/11/07 18:51:24 lpd)
    	- There was still a bug in the code for passing DSC comments to the
    PDF writer, causing typecheck errors. (lib/gs_pdfwr.ps [1.8]: 2000/11/07
    19:27:14 lpd)
    	- If the procedure of a FunctionType 4 Function was syntactically
    valid but exceeded the maximum stack depth, an attempt was made to free a
    string as an object, causing memory corruption. (zfunc4.c [1.6]: 2000/11/11
    17:34:06 lpd)
    	- Disk-based TrueType fonts caused a memory leak. (Currently, there
    are no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
    fonts, should be made disk-based.) (zfcid1.c [1.4]: 2000/11/22 08:32:07 lpd)
    	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
    freed, except by garbage collection (which doesn't reclaim chunks with only
    a small amount of surviving data). In practice, this probably only affects
    the PDF writer. (zfcid0.c [1.5]: 2000/11/23 23:34:22 lpd)
    	- Single-byte notdef ranges in CMaps incorrectly incremented the CID
    number, rather than assigning the same CID to all characters in the range.
    (lib/gs_cmap.ps [1.9]: 2000/11/29 06:58:36 lpd)
    	- In dictionaries, an int lookup key sometimes didn't match a real
    stored key, and vice versa. Fixes SourceForge bug # 123678. (idict.c [1.3]:
    2000/11/30 07:13:08 lpd)
    	- Further tweaking of the logic to clear end_status flags in a
    pipeline in the continuation of a procedure write, making it more aggressive
    than the previous fix, but less aggressive than the original code. This is a
    revised fix for Sourceforge bug 119777. (zfproc.c [1.7]: 2000/12/02 19:58:45
    raph)
    	- 'gstate' was allowed in global VM even if the current graphics
    state included references to structures in local VM (which is, in fact,
    normally the case) and the save level was non-zero: this could create a
    dangling pointer after the 'restore'. This "fix" is a workaround that simply
    prohibits doing this, but a correct fix would copy any such structures.
    (zdps1.c [1.3]: 2000/12/02 20:39:37 lpd)
    	- The first call of check_psc_function in gs_build_function_4 didn't
    initialize size to 0, causing the computed value of size to be garbage,
    possibly leading to a VMerror or memory corruption. (zfunc4.c [1.7]:
    2000/12/03 16:56:31 alexcher)
    	- The font_info procedure for PostScript fonts other than Type 1
    didn't return information from the FontInfo dictionary (Copyright,
    FamilyName, FullName, Notice), causing this information to be omitted when
    embedding the font in a PDF file. (ifont.h [1.6], zbfont.c [1.7],
    zfont.c [1.3], zfont1.c [1.9]: 2000/12/03 23:35:30 lpd)
    	- The %%ViewingOrientation: DSC comment was misspelled
    %%ViewerOrientation:. This also corrects the CDSC_VIEWINGORIENTATION enum
    value (formerly CDSC_VIEWERORIENTATION, and the viewing_orientation members
    of the CDSCPAGE structure and the CDSC structure (formerly
    viewer_orientation). (dscparse.c [1.3], dscparse.h [1.3], zdscpars.c [1.8]:
    2000/12/09 18:28:23 lpd)
    	- Unitialized member of CDSCPAGE caused random crashes.
    (dscparse.c [1.4]: 2000/12/13 07:18:46 alexcher)
    	- systemdict was being created too small for LanguageLevel 3
    systems. (It expanded properly, but left a sandbar.) (iinit.c [1.3]:
    2000/12/26 04:25:54 lpd)
    	- Expanding a permanent dictionary (systemdict or userdict)
    destroyed the single-definition bookkeeping for names defined in that
    dictionary, slowing down subsequent interpretation. (idict.c [1.4]:
    2000/12/26 06:09:58 lpd)
    	- Fix to dscparse.c for parsing DOS EPS files. Code now looks for
    %!PS-Adobe- at the start of the PostScript section, not at the start of the
    DOS EPS header. (dscparse.c [1.5]: 2000/12/28 01:45:01 ghostgum)

    Collect some stray configuration related externs into iconf.h
    (imain.c [1.3], imainarg.c [1.5]: 2000/11/04 06:12:02 rayjj)

    branches: 1.1.2; Collect some stray configuration related externs into
    iconf.h (iconf.h [1.1]: 2000/11/04 06:12:02 rayjj)

    Add COMPILE_INITS information line to -h help output. (imainarg.c [1.6]:
    2000/11/04 06:13:42 rayjj)

    Adds DSC parsing capability to the PostScript interpreter, with an optional
    'feature' to use the DSC Orientation comments to compensate for sloppy
    PostScript producers that don't emit an appropriate setpagedevice command.
    (lib/gs_dscp.ps [1.1], zdscpars.c [1.1]: 2000/11/05 18:33:52 lpd)

    branches: 1.1.2; Adds DSC parsing capability to the PostScript interpreter,
    with an optional 'feature' to use the DSC Orientation comments to compensate
    for sloppy PostScript producers that don't emit an appropriate setpagedevice
    command. (dscparse.c [1.1], dscparse.h [1.1]: 2000/11/05 18:33:53 lpd)

    Polishes the DSC parser interface: improves comments and formatting, and
    fixes a couple of very minor glitches. (zdscpars.c [1.2]: 2000/11/06
    07:34:21 lpd)

    branches: 1.3.2; ... and fixes an overlooked const discrepancy.
    (zdscpars.c [1.3]: 2000/11/06 07:35:51 lpd)

    branches: 1.2.2; Fix: The recently updated code for activating the DSC
    comment parser had several local/global VM problems, causing invalidaccess
    errors. (lib/gs_dscp.ps [1.2]: 2000/11/07 18:51:25 lpd)

    Return code variables (code and comment_code) in zparse_dsc_comments(). need
    to be signed. (zdscpars.c [1.4]: 2000/11/08 00:54:48 dancoby)

    Rewrites .parse_dsc_comment to use the parameter list machinery, removing a
    little functionally duplicated code; changes two incorrect uints to ints
    (fix from dan@artifex.com); adds additional comment types (BoundingBox,
    PageBoundingBox, BeginDefaults, EndDefaults) to the interface.
    (zdscpars.c [1.5]: 2000/11/08 07:07:32 lpd)

    DSC parser changes: adds %%ViewerOrientation to DSC parser; doesn't flag an
    error if %%Pages is absent but one %%Page is found; frees memory if
    initialization fails; recognizes general whitespace in some places where
    only spaces were recognized before. (changes from gsview@ghostgum.com.au)
    (dscparse.c [1.2], dscparse.h [1.2]: 2000/11/13 05:44:58 lpd)

    Adds DSC comment tracing to ps2pdf, if -dDEBUG is specified on the command
    line. (lib/gs_pdfwr.ps [1.9]: 2000/11/13 17:03:51 lpd)

    Adds %%EndDefaults, %%For:, and %%ViewerOrientation: to the set of DSC
    comments handled by the .parse_dsc_comments operator. (zdscpars.c [1.6]:
    2000/11/13 17:06:18 lpd)

    Slightly simplifies the code for creating the internal representation of
    CMaps. (lib/gs_cmap.ps [1.8]: 2000/11/16 00:32:00 lpd)

    Changes .buildshading to always apply a ReusableStreamDecode filter to file
    and stream DataSources, so that multiple passes over the stream work. This
    patch closes SourceForge bug 121810. (lib/gs_ll3.ps [1.7]: 2000/11/16
    00:37:32 raph)

    Makes single-byte CMap ranges convert into a single range in the internal
    representation, rather than (largest - smallest + 1) separate single-element
    ranges. (lib/gs_cmap.ps [1.10]: 2000/11/29 07:10:27 lpd)

    Adds documentation for the procedures declared in ifont.h. (ifont.h [1.5]:
    2000/12/03 23:14:28 lpd)

    Extensively revises and updates the pdfwrite text handling code to support
    processing and embedding of all types of fonts (except for Type 3 and
    CIDFontType 1, which are defined by PostScript procedures), and all variants
    of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    standard and non-standard CMaps are supported. (lib/gs_cidfn.ps [1.18]:
    2000/12/08 23:35:38 lpd)

    Makes the default value of ParseDSCCommentsForDocInfo true rather than
    false. (lib/gs_pdfwr.ps [1.10]: 2000/12/09 08:00:52 lpd)

    Changes the parsing of the DSC Orientation comments to return -1 .. 3 rather
    than 0 or 1. (lib/gs_dscp.ps [1.3], zdscpars.c [1.7]: 2000/12/09 17:52:29
    lpd)

    Changes .parse_dsc_comments to distinguish (document default)
    ViewingOrientation from PageViewingOrientation, as for [Page]Orientation.
    (zdscpars.c [1.9]: 2000/12/09 19:52:49 lpd)

    Updates the comments with a new proposal for speeding up name lookup in the
    interpreter. (dstack.h [1.3]: 2000/12/26 01:20:58 lpd)

    The old code caused gswin crash when console window closes.
    (dwimg.cpp [1.3]: 2000/12/26 13:41:40 igorm)

    New flag DELAYSAFER added to defer activation of safety checks. SAFER=false
    => no safety checks SAFER=true, DELAYSAFER=false => safety checks
    always SAFER=true, DELAYSAFER=true => safety checks after .setsafe
    (lib/gs_init.ps [1.28]: 2000/12/29 04:13:56 alexcher)

## Streams

    Fixes problems:
    	- Seek was broken and PDF interpreter failed when
    FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    is extended to support MSVC && Win32. close_.h is replaced by more
    general unistd_.h (sfxfd.c [1.6]: 2000/12/19 03:35:40 alexcher)

## Library

    Fixes problems:
    	- Several places in the band list code didn't call s_init_state to
    initialize locally allocated stream states: this is now required (see the
    "Incompatible changes" section above). We suspect there are a few more
    places that will need this fix. (gxclbits.c [1.3], gxcldev.h [1.4],
    gxclread.c [1.3], gxclutil.c [1.3]: 2000/11/05 00:34:24 lpd)
    	- Fixes infinite loops when writing large bitmaps into clist. Now,
    cmd_put_bits never requests an allocation in the clist buffer larger than
    cbuf_size. (gxclbits.c [1.4]: 2000/11/05 18:44:57 raph)
    	- Works around an Acrobat Reader 4 bug that causes AR4 to draw a
    single pixel, rather than nothing, when filling a subpath consisting only of
    a moveto. (gdevvec.c [1.8]: 2000/11/07 16:42:28 lpd)
    	- The PDF writer didn't handle stroked fonts correctly (they were
    filled instead of stroked). (gdevvec.c [1.9], gdevvec.h [1.5]: 2000/11/12
    06:52:08 lpd)
    	- The pdfwrite and pswrite drivers could emit a lineto or rlineto
    without a moveto at the beginning of the path. (bug introduced very
    recently, by a workaround for an Acrobat Reader bug) (gdevvec.c [1.10]:
    2000/11/14 07:41:08 lpd)
    	- Attempting to write a CFF Type 2 font larger than 32K but smaller
    than 64K caused a rangecheck. (gdevpsf2.c [1.8]: 2000/11/19 17:48:08 lpd)
    	- Computing the default width or the fixed width for a CIDFont or
    TrueType font could do a huge amount of unnecessary work. (Probably only
    affects the PDF writer.) (gsfont.c [1.3]: 2000/11/20 21:09:09 lpd)
    	- The Type 1 to Type 2 CharString converter (currently used only by
    the PDF writer) often didn't detect invalid CharStrings as input.
    (gdevpsfx.c [1.6]: 2000/11/21 02:33:55 lpd)
    	- The code for writing a CIDFontType0 CFF font mistook Type 2
    CharStrings for Type 1, and tried to convert them to Type 2. (This currently
    affects only the PDF writer.) (gdevpsf2.c [1.9]: 2000/11/21 02:35:59 lpd)
    	- Disk-based TrueType fonts caused a memory leak. (Currently, there
    are no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
    fonts, should be made disk-based.) (gdevpsft.c [1.5], gstype42.c [1.10]:
    2000/11/22 08:32:07 lpd)
    	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
    freed, except by garbage collection (which doesn't reclaim chunks with only
    a small amount of surviving data). In practice, this probably only affects
    the PDF writer. (gsfcid.c [1.5], gstype1.c [1.6], gstype2.c [1.9],
    gxfont1.h [1.5], gxtype1.c [1.8], gxtype1.h [1.5]: 2000/11/23 23:34:22 lpd)
    	- The pswrite device couldn't write to pipes. The fix involved
    expanding the API for opening device OutputFiles so that the individual
    driver could specify whether it required, requested, or did not want a
    positionable file. Fixes SourceForge bug # 122223. (gdevpipe.c [1.4],
    gdevvec.c [1.11], gdevvec.h [1.6], gsdevice.c [1.8]: 2000/11/29 02:25:13
    lpd)
    	- The change for freeing transient CharStrings introduced two bugs,
    possibly causing the code to free data twice, or to free data that should be
    retained. (gdevpsfx.c [1.8]: 2000/11/30 05:58:19 lpd)
    	- Allocates graphics state path in stable memory. This prevents
    paths in Type 3 fonts allocated inside a save ... setcachedevice ... restore
    sequence from being prematurely freed. Fixes SourceForge bug 101549.
    (gspath1.c [1.3], gsstate.c [1.6]: 2000/12/04 21:13:55 raph)
    	- An inadvertent change caused the graphics state not to be freed on
    grestore. This fix, due to lpd, restores the freeing statement.
    (gsstate.c [1.7]: 2000/12/05 09:24:57 raph)
    	- The pointers to the substituted color spaces in the graphics state
    weren't included in the structure descriptor, causing memory access errors
    if UseCIEColor was used. (gsstate.c [1.8]: 2000/12/11 04:06:22 alexcher)
    	- In TrueType fonts, glyph outlines starting with an off-curve point
    didn't render correctly, replacing the curve with a pair of straight lines.
    (gstype42.c [1.11]: 2000/12/12 22:27:56 alexcher)
    	- Strict type correctness is required on VMS system. Contributed by
    Jouk Jansen joukj@hrem.stm.tudelft.nl (gdevpsf2.c [1.12], gsfcmap.c [1.13]:
    2000/12/18 21:58:03 alexcher)
    	- Seek was broken and PDF interpreter failed when
    FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    is extended to support MSVC && Win32. close_.h is replaced by more
    general unistd_.h (gpmisc.c [1.9]: 2000/12/19 03:35:40 alexcher)
    	- Fixes a subtle logic bug in the scan line path filling code, which
    unfortunately involved rewriting the code from scratch. The new code is also
    somewhat subtle, and may contain new bugs: DON'T TRUST IT YET. Fixes
    SourceForge bug # 117066. (gxfill.c [1.7]: 2000/12/23 06:02:39 lpd)
    	- Embedded Type 1 fonts omitted StdVW. (Acrobat Reader requires
    this, even though the Type 1 specification says it is optional.)
    (gdevpsf1.c [1.8]: 2000/12/29 01:18:55 lpd)

    Adds developer documentation on the color mapping pipeline. (gxfrac.h [1.3]:
    2000/11/03 04:53:00 lpd)

    Improves the documentation of the minimum responsibilities of the 'process'
    procedure in a text enumerator. (gxtext.h [1.6]: 2000/11/06 00:44:37 lpd)

    Adds a param_string_from_transient_string macro, to parallel
    param_string_from_string for non-permanent C strings. (gsparam.h [1.8]:
    2000/11/08 06:56:50 lpd)

    Adds a macro for declaring suffix subclasses with 5 added pointers (in
    addition to the existing 1, 2, 3, 4, and 6). (gsstruct.h [1.6]: 2000/11/21
    16:46:55 lpd)

    Adds a procedure for testing whether a glyph is a "notdef" in a font,
    necessary for fixing a memory consumption problem when accessing type 0
    CIDFonts. (gsfont.c [1.4], gxfont.h [1.3]: 2000/11/23 23:23:40 lpd)

    Speeds up the slow case of fixed_mult_quo by nearly a factor of 2, by using
    a tiny bit of numerical analysis. (gsmisc.c [1.9], gxfixed.h [1.3]:
    2000/11/24 06:53:23 lpd)

    Improves the performance of embedded font writing by freeing strings when no
    longer needed, and by removing redundant computation. (Currently relevant
    only to the PDF writer.) (gdevpsf1.c [1.7], gdevpsf2.c [1.10],
    gdevpsfu.c [1.5], gdevpsfx.c [1.7]: 2000/11/24 07:10:41 lpd)

    Adds a procedure for creating an Identity CMap, needed by the PDF writer.
    (gsfcmap.c [1.11], gxfcmap.h [1.6]: 2000/11/26 04:08:41 lpd)

    Implements the stopgap measure of increasing fill_adjust for Coons patch
    shading, to cover the dropouts caused by incorrect triangulation of the mesh
    surface. See SourceForge Bug 119588 for a more thorough analysis.
    (gsptype2.c [1.4], gxshade4.c [1.4]: 2000/11/29 01:31:30 raph)

    Adds an internal unique ID to CMap structures (gs_cmap_t), for use as a
    cache or comparison key. (gsfcmap.c [1.12], gxfcmap.h [1.7]: 2000/11/29
    05:50:03 lpd)

    The old code did not comply ISO/IEC C language standard and compiled wrongly
    to Mac, causing halftone problem on Mac. (gshtscr.c [1.5]: 2000/11/29
    14:41:34 igorm)

    Adds macros for suffix subclass structures with 7 or 8 additional pointers
    (1-6 and 9 existed already). (gsstruct.h [1.7]: 2000/12/04 01:11:53 lpd)

    Extensively revises and updates the pdfwrite text handling code to support
    processing and embedding of all types of fonts (except for Type 3 and
    CIDFontType 1, which are defined by PostScript procedures), and all variants
    of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    standard and non-standard CMaps are supported. (gdevpsf.h [1.9],
    gdevpsf2.c [1.11], gdevpsfm.c [1.4], gdevpsft.c [1.6], gdevpsfu.c [1.6]:
    2000/12/08 23:35:38 lpd)

    Moves definitions of gs_state_do_ptrs and gs_state_num_ptrs from gsstate.c
    to gzstate.h since they depend on the contents of struct gs_state_s defined
    there. (gsstate.c [1.9], gzstate.h [1.4]: 2000/12/11 12:52:16 alexcher)

    Splits off the code for downsampling an oversampled character bitmap into a
    separate file. (gsbitcom.c [1.1], gsbitops.c [1.3]: 2000/12/14 00:14:52 lpd)

    branches: 1.1.2; Fix: Seek was broken and PDF interpreter failed when
    FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    is extended to support MSVC && Win32. close_.h is replaced by more
    general unistd_.h (unistd_.h [1.1]: 2000/12/19 03:35:40 alexcher)

    Brings gxfill.c up to date with current coding standards (except for adding
    _t to the names of locally defined structure types); also puts #ifdef
    FILL_TRAPEZOIDS around a little more code that tests 'if (fill_trapezoids)'.
    (gxfill.c [1.6]: 2000/12/21 16:10:36 lpd)

    Updates repository for 6.60 release. (gscdef.c [1.11]: 2001/01/01 00:24:06
    lpd)

## Other

    Fixes problems:
    	- Seek was broken and PDF interpreter failed when
    FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    is extended to support MSVC && Win32. close_.h is replaced by more
    general unistd_.h (close_.h [1.3]: 2000/12/19 03:35:40 alexcher)