diff options
author | L Peter Deutsch <lpd@ghostscript.com> | 2000-04-28 22:21:34 +0000 |
---|---|---|
committer | L Peter Deutsch <lpd@ghostscript.com> | 2000-04-28 22:21:34 +0000 |
commit | 6683e68df34713d287fc491791e329e66e2ae82a (patch) | |
tree | 5631a65abc73603226359b20dcb7ee7a3f47713f | |
parent | b4898c711e85cc363dd7207a2ef4539cf874bdee (diff) |
Does the final check-in for the 6.21 fileset.ghostscript-6.21
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@406 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r-- | gs/doc/Changes.htm | 305 | ||||
-rw-r--r-- | gs/doc/History6.htm | 835 |
2 files changed, 1138 insertions, 2 deletions
diff --git a/gs/doc/Changes.htm b/gs/doc/Changes.htm index 652abccfa..1617be2a8 100644 --- a/gs/doc/Changes.htm +++ b/gs/doc/Changes.htm @@ -1,5 +1,5 @@ <html><head> -<title>Ghostscript 6.21 change history as of 2000-04-19 23:37:40</title> +<title>Ghostscript 6.21 change history as of 2000-04-28 15:18:30</title> </head><body> <blockquote><ul> @@ -24,6 +24,14 @@ size wasn't an exact multiple of the downsampling factor. - When processing a PDF file, the font substitution heuristic based on the FontName sometimes overrode the Flags information in the FontDescriptor. (doc/News.htm [1.34]: 2000/04/20 06:36:02 lpd) + - When pdfwrite was producing PDF 1.3 output, the base 14 fonts were +never embedded, rather than being handled like all other fonts. +(doc/News.htm [1.37]: 2000/04/20 23:49:40 lpd) + - The URL for the Arphic free Chinese fonts had become incorrect. +(doc/Fonts.htm [1.3]: 2000/04/27 13:44:52 lpd) + - Fixes a few typos, and adds GS_FONTPATH to the list of environment +variables to be unset for a pristine test run. (doc/Release.htm [1.10]: +2000/04/28 22:08:41 lpd) Adds projects related to SVG and to pswrite image compression. (doc/Projects.htm [1.4]: 2000/04/07 18:39:12 lpd) @@ -106,6 +114,54 @@ Adds a couple of graphics library optimization projects. Adds a project for creating an OutputDevice resource instance for each device. (doc/Projects.htm [1.6]: 2000/04/19 21:37:47 lpd) +Checks in the accumulated change log. (doc/Changes.htm [1.10]: 2000/04/20 +07:24:22 lpd) + +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(doc/News.htm [1.35]: 2000/04/20 22:47:35 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (doc/News.htm [1.36]: 2000/04/20 +23:30:22 lpd) + +Reduces the startup time for displaying PDF files, by skipping the creation +of pdfmarks for annotations and outlines when the output device doesn't +process pdfmarks. (doc/News.htm [1.38]: 2000/04/21 16:58:28 lpd) + +Notes that even if SHARE_JPEG=1, the IJG library sources are required. +(doc/Make.htm [1.12]: 2000/04/27 07:39:05 lpd) + +Documents the new -dPrinted[=true/false] switch for PDF files. +(doc/Use.htm [1.3]: 2000/04/27 08:17:05 lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (doc/Language.htm [1.2]: +2000/04/27 14:39:57 lpd) + +Updates the description of the project to produce higher-level PCL output. +(doc/Projects.htm [1.7]: 2000/04/28 10:42:02 lpd) + +Adds a sample file containing a wide variety of PDF annotations; updates +documentation for this and some other overlooked files. +(doc/Psfiles.htm [1.4]: 2000/04/28 10:51:02 lpd) + +Notes that the uniprint dnj750c.upp parameters are also good for the 450C. +(doc/Devices.htm [1.6]: 2000/04/28 14:27:02 lpd) + +Updates release dates. (man/pdf2ps.1 [1.3], man/ps2ps.1 [1.5]: 2000/04/28 +18:29:32 lpd) + +Updates version numbers and dates for the 6.21 fileset. +(doc/Bug-form.htm [1.6], doc/Devices.htm [1.7], doc/Fonts.htm [1.4], +doc/Language.htm [1.3], doc/Make.htm [1.13], doc/Projects.htm [1.8], +doc/Ps2epsi.htm [1.2], doc/Psfiles.htm [1.5], doc/Readme.htm [1.7], +doc/Use.htm [1.4]: 2000/04/28 22:06:25 lpd) + +Updates the news for the 6.21 fileset. (doc/News.htm [1.39]: 2000/04/28 +22:18:16 lpd) + </pre><h2><a name="6.21 Procedures"></a>Procedures</h2><pre> Fixes problems: @@ -128,6 +184,11 @@ font embedding overhaul. (devs.mak [1.11]: 2000/04/10 18:57:33 lpd) crash (memory fault). (devs.mak [1.16]: 2000/04/13 01:53:07 lpd) - `make install' didn't install all the documentation files. (unixinst.mak [1.9]: 2000/04/14 04:06:13 lpd) + - The Color LaserJet 5 drivers were incorrectly identified as +"supported" rather than "contributed". (contrib.mak [1.7], devs.mak [1.17]: +2000/04/20 17:12:54 lpd) + - PDF images with a bitmap Mask caused errors or produced incorrect +output. (int.mak [1.20]: 2000/04/24 00:59:04 lpd) Completely redesigns the representation of CMaps, to reduce space requirements and make comparing them more reasonable, changing gs_cmap to @@ -192,6 +253,53 @@ Adds a user-contributed driver for the Epson Stylus (Color) Photo printers. Converts the ps2epsi documentation to HTML. (unixinst.mak [1.10]: 2000/04/18 17:59:13 lpd) +Checks in the accumulated change log. (version.mak [1.13]: 2000/04/20 +07:24:22 lpd) + +Converts the bmp* and bmpa* devices to -dev2, to make them const. +(devs.mak [1.18]: 2000/04/20 17:19:21 lpd) + +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(dvx-tail.mak [1.2], lib.mak [1.14], openvms.mak [1.3], openvms.mmk [1.4], +os2.mak [1.5], unix-aux.mak [1.2], watc.mak [1.3], watclib.mak [1.3], +winlib.mak [1.2]: 2000/04/20 22:47:35 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (lib.mak [1.15], unix-gcc.mak [1.5]: +2000/04/20 23:30:22 lpd) + +Adds compression for pdfwrite Patterns. (devs.mak [1.19]: 2000/04/24 +06:13:02 lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (devs.mak [1.20], +int.mak [1.21], lib.mak [1.16]: 2000/04/27 14:39:57 lpd) + +Adds a user-contributed driver for the H-P 970Cxi inkjet printer. +(contrib.mak [1.8]: 2000/04/27 14:55:56 lpd) + +Factors the H-P monochrome laser and inkjet drivers into a generic driver +and printer-specific clients. (devs.mak [1.21]: 2000/04/27 20:16:33 lpd) + +Adds a user-contributed driver for the Brother HL-1250 laser printer. This +has a dual AFPL/GPL license, and a non-Aladdin copyright. +(contrib.mak [1.9]: 2000/04/27 20:18:39 lpd) + +Once again, updates some dependency lists that had become inconsistent with +the code. (contrib.mak [1.10], devs.mak [1.22], lib.mak [1.17]: 2000/04/27 +21:36:19 lpd) + +Yet again, updates an out-of-date dependency list. (contrib.mak [1.11]: +2000/04/28 18:28:42 lpd) + +Changes the check for documentation files having the correct embedded date. +(toolbin/pre [1.3]: 2000/04/28 18:29:14 lpd) + +Updates version numbers and dates for the 6.21 fileset. (version.mak [1.14]: +2000/04/28 22:06:26 lpd) + </pre><h2><a name="6.21 Utilities"></a>Utilities</h2><pre> Fixes problems: @@ -202,6 +310,8 @@ fonts produced by recent versions of dvips), ps2epsi caused an error. (lib/ps2epsi.ps [1.3]: 2000/04/11 16:32:51 lpd) - Backs out contributed changes of 2000-03-05 because of bugs. (ansi2knr.c [1.3]: 2000/04/13 03:41:48 lpd) + - ps2epsi removed all ^M characters in the input, possibly +corrupting binary data. (lib/ps2epsi [1.2]: 2000/04/27 01:44:04 lpd) Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with .ps. (lib/ps2pdfwr [1.2], lib/ps2pdfxx.bat [1.2]: 2000/04/07 19:28:14 lpd) @@ -224,6 +334,14 @@ Moves the optimization prologue for ps2pdf from the command line to a procedure, to avoid shell length limits. (lib/ps2pdfwr [1.4], lib/ps2pdfxx.bat [1.3]: 2000/04/18 16:40:14 lpd) +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(bench.c [1.2], gp_dosfb.c [1.2], gp_iwatc.c [1.2], gp_nofb.c [1.2]: +2000/04/20 22:47:35 lpd) + +Checks in a file overlooked in the elimination of the gp_ console +procedures. (gp_os2.c [1.2]: 2000/04/20 23:27:21 lpd) + </pre><h2><a name="6.21 Drivers"></a>Drivers</h2><pre> Fixes problems: @@ -240,6 +358,10 @@ size wasn't an exact multiple of the downsampling factor. (gdevpsdi.c [1.7], gdevpsds.c [1.2], gdevpsds.h [1.2]: 2000/04/13 16:44:59 lpd) - Downsampled mask images could cause a memory access error. (gdevpsdi.c [1.9]: 2000/04/18 16:37:04 lpd) + - PDF Patterns weren't written correctly if the ProcessColorModel +wasn't Device RGB. (gdevpsdu.c [1.3]: 2000/04/24 05:40:30 lpd) + - The [e]pswrite driver produced incorrect output for color images +with multiple data sources. (gdevps.c [1.5]: 2000/04/25 19:35:07 lpd) Implements pdfwrite compression for mask images, using the same parameters as for monochrome images. (gdevpsdi.c [1.8]: 2000/04/13 18:40:23 lpd) @@ -253,6 +375,50 @@ lib/bj8pa06n.upp [1.1], lib/bj8pp12f.upp [1.1], lib/bj8ts06n.upp [1.1]: Adds a user-contributed driver for the Epson Stylus (Color) Photo printers. (gdevphex.c [1.1]: 2000/04/18 06:34:26 lpd) +Converts the bmp* and bmpa* devices to -dev2, to make them const. +(gdevbmp.c [1.2], gdevbmpa.c [1.2]: 2000/04/20 17:19:21 lpd) + +Documents the astounding fact that the Xt implementation actually writes +into the XtResource tables. (gdevxres.c [1.2]: 2000/04/20 19:59:28 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (gdevxxf.c [1.3]: 2000/04/20 23:30:22 +lpd) + +When writing PDF output, reduces the size of compressed images in Indexed +color spaces by not using a Predictor for them. (gdevpsdi.c [1.10]: +2000/04/21 06:46:08 lpd) + +Adds an internal filter for converting images to Indexed form if possible. +(gdevpsds.c [1.3], gdevpsds.h [1.3]: 2000/04/21 19:26:37 lpd) + +Cleans up code by replacing macros with procedures or variables. +(gdevps.c [1.6]: 2000/04/25 20:35:46 lpd) + +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or +vertical line segments going in the same direction. This makes a big +difference for PostScript files produced by certain applications. +(gdevps.c [1.7]: 2000/04/25 22:39:54 lpd) + +Adds a user-contributed driver for the H-P 970Cxi inkjet printer. +(gdevdj9.c [1.1]: 2000/04/27 14:55:56 lpd) + +Factors the H-P monochrome laser and inkjet drivers into a generic driver +and printer-specific clients. (gdevdjet.c [1.3], gdevdljm.c [1.1], +gdevdljm.h [1.1]: 2000/04/27 20:16:33 lpd) + +Adds a user-contributed driver for the Brother HL-1250 laser printer. This +has a dual AFPL/GPL license, and a non-Aladdin copyright. (gdevhl12.c [1.1]: +2000/04/27 20:18:39 lpd) + +Once again, updates some dependency lists that had become inconsistent with +the code. (gdevdj9.c [1.2]: 2000/04/27 21:36:19 lpd) + +Makes the printers in gdevdjet.c that support setting the number of copies +use this feature when multiple copies are requested. (gdevdjet.c [1.4], +gdevdljm.c [1.2], gdevdljm.h [1.2]: 2000/04/28 13:37:47 lpd) + </pre><h2><a name="6.21 PDF writer"></a>PDF writer</h2><pre> Fixes problems: @@ -277,6 +443,35 @@ size wasn't an exact multiple of the downsampling factor. gdevpdfj.c [1.2]: 2000/04/13 17:24:54 lpd) - gxdcolor.h was required for gxpcolor.h, but wasn't included. (gdevpdfc.c [1.4]: 2000/04/18 17:42:55 lpd) + - A table of constant strings wasn't declared as const. +(gdevpdfp.c [1.7]: 2000/04/20 17:37:31 lpd) + - When pdfwrite was producing PDF 1.3 output, the base 14 fonts were +never embedded, rather than being handled like all other fonts. +(gdevpdff.c [1.4]: 2000/04/20 23:49:40 lpd) + - Indexed color spaces used in in-line images were being written +incorrectly. Also optimizes Indexed images by converting RGB palettes to +Gray if all the entries are actually gray. (gdevpdfc.c [1.5]: 2000/04/21 +15:29:20 lpd) + - The recent optimization for using the ' command in PDF output lost +track of the leading value between blocks of text, causing lines in later +blocks to overprint each other. (gdevpdfu.c [1.9]: 2000/04/21 22:29:05 lpd) + - Backs out the change that allowed embedding of the base 14 fonts, +because it produces invalid output. (gdevpdff.c [1.5]: 2000/04/22 00:13:11 +lpd) + - Colored Patterns requiring masking weren't written properly. +(gdevpdfc.c [1.6]: 2000/04/24 00:09:37 lpd) + - Patterns were written upside-down. (gdevpdfc.c [1.7]: 2000/04/24 +01:11:36 lpd) + - PDF Patterns weren't written correctly if the ProcessColorModel +wasn't Device RGB. (gdevpdf.c [1.15], gdevpdfc.c [1.8], gdevpdfg.h [1.5], +gdevpdfi.c [1.13], gdevpdfx.h [1.15]: 2000/04/24 05:40:30 lpd) + - The color space for images wasn't always written in the correct +form (an object reference for image XObjects, a resource name for in-line +images). (gdevpdfi.c [1.14]: 2000/04/28 12:07:37 lpd) + - Patterns were sometimes written with a duplicate Type element. +(gdevpdfc.c [1.10]: 2000/04/28 12:23:54 lpd) + - Patterns were sometimes written twice, with an empty definition +the second time. (gdevpdfi.c [1.15]: 2000/04/28 12:24:42 lpd) Overhauls font embedding in the PDF writer: splits off the code into a new file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and @@ -331,6 +526,21 @@ Tweaks the PDF writer to use the ' command for positioning text when possible (small optimization only). (gdevpdfg.c [1.4], gdevpdft.c [1.10], gdevpdfu.c [1.8], gdevpdfx.h [1.14]: 2000/04/18 16:08:16 lpd) +Reduces the startup time for displaying PDF files, by skipping the creation +of pdfmarks for annotations and outlines when the output device doesn't +process pdfmarks. (gdevpdfp.c [1.8]: 2000/04/21 16:58:28 lpd) + +Adds compression for pdfwrite Patterns. (gdevpdfc.c [1.9]: 2000/04/24 +06:13:02 lpd) + +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or +vertical line segments going in the same direction. This makes a big +difference for PostScript files produced by certain applications. +(gdevpdf.c [1.16], gdevpdfd.c [1.8]: 2000/04/25 22:39:54 lpd) + +Updates the list of remaining pdfwrite tasks. (gdevpdfp.c [1.9]: 2000/04/27 +21:36:52 lpd) + </pre><h2><a name="6.21 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre> Fixes problems: @@ -340,6 +550,22 @@ in the font data rather than the font name in the PDF resource object. (bug - When processing a PDF file, the font substitution heuristic based on the FontName sometimes overrode the Flags information in the FontDescriptor. (lib/pdf_font.ps [1.6]: 2000/04/20 06:36:02 lpd) + - PDF images with a bitmap Mask caused errors or produced incorrect +output. (lib/pdf_draw.ps [1.10]: 2000/04/24 00:59:04 lpd) + - Masked images weren't drawn properly, because the two data sources +could reference the same file. (lib/pdf_draw.ps [1.11]: 2000/04/24 05:39:45 +lpd) + - *Really* fixes the problem of data source aliasing for masked +images. (lib/pdf_draw.ps [1.12]: 2000/04/24 05:53:43 lpd) + - If a font specified Subtype = /TrueType but the actual font used +was not a TrueType font, any Encoding in the Font object should be ignored. +(This is a hack required by the PDF specification.) (lib/pdf_font.ps [1.7]: +2000/04/24 06:37:18 lpd) + - Colored annotation borders caused an error; 0-width borders were +drawn even though they shouldn't be; Link and Stamp annotations weren't +drawn at all. Also adds a new -dPrinted[=true/false] switch to choose +whether to produce "screen" or "printer" output. (code from Artifex) +(lib/pdf_draw.ps [1.13], lib/pdf_main.ps [1.7]: 2000/04/27 08:16:40 lpd) Makes undefined XObject resources for the Do operator produce a warning rather than an error, to parallel Acrobat Reader. (lib/pdf_draw.ps [1.9]: @@ -348,6 +574,10 @@ rather than an error, to parallel Acrobat Reader. (lib/pdf_draw.ps [1.9]: Tweaks up the performance of the PDF interpreter loop slightly. (lib/pdf_base.ps [1.7]: 2000/04/18 05:45:49 lpd) +Reduces the startup time for displaying PDF files, by skipping the creation +of pdfmarks for annotations and outlines when the output device doesn't +process pdfmarks. (lib/pdf_main.ps [1.6]: 2000/04/21 16:58:28 lpd) + </pre><h2><a name="6.21 Interpreter"></a>Interpreter</h2><pre> Fixes problems: @@ -391,6 +621,19 @@ despite the fact that we tested it.) (lib/gs_setpd.ps [1.3]: 2000/04/20 - When processing a PDF file, the font substitution heuristic based on the FontName sometimes overrode the Flags information in the FontDescriptor. (lib/gs_fonts.ps [1.7]: 2000/04/20 06:36:02 lpd) + - Showing a string in a Type 1 font with a singular combined matrix +(e.g., after 0 scalefont setfont) caused an error instead of doing nothing. +(zchar1.c [1.3]: 2000/04/22 00:34:46 lpd) + - Images with multiple file DataSources where two or more of the +files were the same caused a crash. (zimage.c [1.3]: 2000/04/24 00:07:41 +lpd) + - .reusablestreamdecode wasn't defined for use in LanguageLevel 2. +(The ReusableStreamDecode filter itself was properly defined.) +(lib/gs_frsd.ps [1.3]: 2000/04/24 00:45:38 lpd) + - Loading an unknown font gave a spurious "non-string font name" +message; unknown fonts with names containing style strings like Bold or +Italic caused an error. (bug introduced since 6.20) (lib/gs_fonts.ps [1.8]: +2000/04/28 22:03:58 lpd) Adds a workaround for misnamed glyphs in some Microsoft TrueType font 'post' tables. (lib/gs_mgl_e.ps [1.2], lib/gs_ttf.ps [1.4]: 2000/04/08 01:53:16 @@ -424,6 +667,22 @@ Moves the optimization prologue for ps2pdf from the command line to a procedure, to avoid shell length limits. (lib/gs_pdfwr.ps [1.3]: 2000/04/18 16:40:14 lpd) +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (imainarg.c [1.2]: 2000/04/20 23:30:22 +lpd) + +Speeds up Type 1 font loading slightly by removing a conversion from binary +to hex and back again. (zmisc1.c [1.2]: 2000/04/22 16:03:18 lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (zfmd5.c [1.1]: 2000/04/27 +14:39:57 lpd) + +Adds a sample file containing a wide variety of PDF annotations; updates +documentation for this and some other overlooked files. +(examples/annots.pdf [1.1]: 2000/04/28 10:51:02 lpd) + </pre><h2><a name="6.21 Streams"></a>Streams</h2><pre> Fixes problems: @@ -432,11 +691,27 @@ sread_subfile). (sfxfd.c [1.3]: 2000/04/10 02:41:48 lpd) - flushfile and closefile didn't properly flush streams whose final target was a procedure, and closefile didn't actually close them. (This is a very old bug.) (stream.c [1.6]: 2000/04/18 05:50:15 lpd) + - The PixelDifference filters (Predictor = 2) weren't implemented +for Colors > 4 and BitsPerComponent != 8, and they dropped trailing bytes if +the length of the data wasn't an exact multiple of the pixel size. +(spdiff.c [1.2]: 2000/04/22 03:55:22 lpd) Enhances the ASCII85Encode filter to avoid %! at the beginning of a line of output, in addition to avoiding %% which it did already. (sa85x.h [1.2], sfilter2.c [1.2]: 2000/04/08 01:30:36 lpd) +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (std.h [1.2]: 2000/04/20 23:30:22 lpd) + +Speeds up Type 1 font loading slightly by removing a conversion from binary +to hex and back again. (seexec.c [1.2], sfilter.h [1.5]: 2000/04/22 16:03:18 +lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (smd5.c [1.1], +smd5.h [1.1]: 2000/04/27 14:39:57 lpd) + </pre><h2><a name="6.21 Library"></a>Library</h2><pre> Fixes problems: @@ -454,6 +729,13 @@ non-standard prototype for the sqrt function. (gsmisc.c [1.3]: 2000/04/10 - putdeviceparams allowed a PageSize or .MediaSize value with the wrong number of elements to take effect. (gsdparam.c [1.2]: 2000/04/19 05:59:05 lpd) + - The elimination of stdin/out/err also eliminated some #defines +that are needed for error printout. (gsio.h [1.3]: 2000/04/21 06:39:17 lpd) + - The structure descriptor for ImageType 3 images was public rather +than private. (gsiparm3.h [1.3], gximage3.c [1.2]: 2000/04/22 07:02:18 lpd) + - The "point matching" feature of TrueType composite glyphs wasn't +implemented, causing some composite (accented) characters to have their +accents misplaced. (gstype42.c [1.4]: 2000/04/25 07:22:50 lpd) Completely redesigns the representation of CMaps, to reduce space requirements and make comparing them more reasonable, changing gs_cmap to @@ -474,4 +756,25 @@ Completes code for reading and writing CMaps. (gdevpsf.h [1.5], gdevpsfm.c [1.2], gsccode.h [1.3], gsfcid.c [1.3], gsfcmap.c [1.5], gxcid.h [1.2], gxfcmap.h [1.4]: 2000/04/16 03:05:29 lpd) +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(gp.h [1.3]: 2000/04/20 22:47:35 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (gsdevice.c [1.3], gsio.h [1.2], +gsmisc.c [1.5], gxdevice.h [1.2]: 2000/04/20 23:30:22 lpd) + +Adds an essential new file overlooked in the removal of references to +stdin/out/err. (gxstdio.h [1.1]: 2000/04/20 23:50:20 lpd) + +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or +vertical line segments going in the same direction. This makes a big +difference for PostScript files produced by certain applications. +(gdevvec.c [1.2], gdevvec.h [1.2]: 2000/04/25 22:39:54 lpd) + +Adds template macros for printer devices that implement print_page_copies +rather than print_page. (gdevprn.c [1.2], gdevprn.h [1.3]: 2000/04/28 +13:36:16 lpd) + </pre></body></html> diff --git a/gs/doc/History6.htm b/gs/doc/History6.htm index e02eefeda..8252436bd 100644 --- a/gs/doc/History6.htm +++ b/gs/doc/History6.htm @@ -27,6 +27,19 @@ <h2>Table of contents</h2> <blockquote><ul> +<li><a href="#Version6.21">Version 6.21 (2000-04-28)</a> +<ul> +<li><a href="#6.21_Incompatible_changes">Incompatible changes</a>, + <a href="#6.21 Documentation">Documentation</a>, + <a href="#6.21 Procedures">Procedures</a>, + <a href="#6.21 Utilities">Utilities</a>, + <a href="#6.21 Drivers">Drivers</a>, + <a href="#6.21 PDF writer">PDF writer</a>, + <a href="#6.21 Interpreter (PDF)">Interpreter (PDF)</a>, + <a href="#6.21 Interpreter">Interpreter</a>, + <a href="#6.21 Streams">Streams</a>, + <a href="#6.21 Library">Library</a> +</ul> <li><a href="#Version6.20">Version 6.20 (2000-04-06)</a> <ul> <li><a href="#6.20_Incompatible_changes">Incompatible changes</a>, @@ -107,6 +120,826 @@ release. <hr> +<h1><a name="Version6.21"></a>Version 6.21 (2000-04-28)</h1> + +<p> +This fileset includes more PDF writer enhancements: conversion of embedded +Type 1 fonts to Type 1C (smaller), handling of more color spaces for images, +ImageType 4 images, compression of mask images, support for (tiled) Pattern +colors, more graphics state distiller parameters, recording of graphics +state functions in the output. It also greatly improves the space usage and +loading time for CMaps. + +<p> +All problems registered on SourceForge numbered 104890 or lower are closed, +except for the following: 101549, 101814, 101905, 101955, 102146, 102735, +103528, 104118, 104375. + +<p> +The following projects are in a partially completed state in the PDF writer: + +<ul> + +<li>CID-keyed fonts (gdevpdf[eftw].c) -- barely started. + +<li>ImageType 3 images (gdevpdf[ij].c) -- started. + +</ul> + +<pre> + +<h2><a name="6.21_Incompatible_changes"></a>Incompatible changes</h2> + +(Drivers) + - The downsampling filters now require WidthIn and HeightIn, +replacing Columns. + - The gp_ procedures for managing screen swapping between console +and graphics are removed. + - Any driver that processes the pdfmark pseudo-parameter must now +also return null for the "value" of the pdfmark parameter when (and only +when) specifically requested. +(PDF writer) + - The last argument of pdf_alloc_font has changed. + - pdf_set_color is renamed pdf_set_pure_color. + - When producing PDF 1.3 output, the base 14 fonts are now +candidates for embedding just like any other fonts. +(Interpreter) + - The .fontproperties procedure in gs_fonts.ps now takes an +additional argument. + - The interpreter must no longer reference stdin/out/err directly. +(Library) + - The internal representation of CMaps is changed completely, and +has several new required members. + - gs_cmap is renamed gs_cmap_t; gx_code_map is renamed +gx_code_map_t. + - Clients creating CMaps must call gs_cmap_init to initialize them. + - The library must no longer reference stdin/out/err directly. + + +<h2><a name="6.21 Documentation"></a>Documentation</h2><pre> + +Fixes problems: + - The PDF writer could get an ioerror when downsampling images whose +size wasn't an exact multiple of the downsampling factor. +(doc/News.htm [1.31]: 2000/04/13 16:44:59 lpd) + - When processing a PDF file, the font substitution heuristic based +on the FontName sometimes overrode the Flags information in the +FontDescriptor. (doc/News.htm [1.34]: 2000/04/20 06:36:02 lpd) + - When pdfwrite was producing PDF 1.3 output, the base 14 fonts were +never embedded, rather than being handled like all other fonts. +(doc/News.htm [1.37]: 2000/04/20 23:49:40 lpd) + - The URL for the Arphic free Chinese fonts had become incorrect. +(doc/Fonts.htm [1.3]: 2000/04/27 13:44:52 lpd) + - Fixes a few typos, and adds GS_FONTPATH to the list of environment +variables to be unset for a pristine test run. (doc/Release.htm [1.10]: +2000/04/28 22:08:41 lpd) + +Adds projects related to SVG and to pswrite image compression. +(doc/Projects.htm [1.4]: 2000/04/07 18:39:12 lpd) + +Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with +.ps. (doc/Ps2pdf.htm [1.7], man/ps2pdf.1 [1.5], man/ps2pdfwr.1 [1.2]: +2000/04/07 19:28:14 lpd) + +Completely redesigns the representation of CMaps, to reduce space +requirements and make comparing them more reasonable, changing gs_cmap to +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The +PostScript code currently only handles a few well-behaved CMap structures.) +(doc/News.htm [1.27]: 2000/04/08 03:54:38 lpd) + +Documents the need to set SYNC=nosync on NextStep / OpenStep systems. +(doc/Make.htm [1.10]: 2000/04/10 04:45:37 lpd) + +Overhauls font embedding in the PDF writer: splits off the code into a new +file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and +adds a little bit of code for future support of Type 0 and CID-keyed fonts. +(doc/News.htm [1.28]: 2000/04/10 07:48:37 lpd) + +Documents the fact that building on NeXTSTEP 3.3 systems requires removing +-Wmissing-declarations from GCFLAGS. (doc/Make.htm [1.11]: 2000/04/11 +14:06:54 lpd) + +Enhances pdf2ps to allow defaulting the output file name. +(man/pdf2ps.1 [1.2]: 2000/04/11 14:23:24 lpd) + +Factors out code for writing functions and for adding filter-related entries +to a stream dictionary; implements the DefaultRenderingIntent distiller +parameter. (doc/Ps2pdf.htm [1.8]: 2000/04/11 16:06:57 lpd) + +Implements additional distiller parameters: PreserveHalftoneInfo, +PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs. +Remove), UCRandBGInfo. Splits off graphics state management into separate +files. Implements the remaining graphics state parameters (halftone, +transfer function, black generation, undercolor removal, halftone phase, +smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******. +In anticipation of handling more general colors, renames pdf_set_color as +pdf_set_pure_color, and adds pdf_set_drawing_color. (doc/News.htm [1.29]: +2000/04/11 18:31:32 lpd) + +Updates documentation to match recent changes in the pdfwrite driver. +(doc/Ps2pdf.htm [1.9]: 2000/04/11 22:56:17 lpd) + +Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa +dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'. +(man/pfbtopfa.1 [1.2]: 2000/04/12 17:41:41 lpd) + +In pdfwrite, rewrites the image writing code to use Cos objects rather than +direct printing, and splits off the creation of image dictionaries into a +new file; adds support for tiling with uncolored Patterns; implements +converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the +same for ImageType 3. This code is "in progress" and likely to have problems +for a while. (doc/News.htm [1.30]: 2000/04/12 18:44:35 lpd) + +Implements pdfwrite compression for mask images, using the same parameters +as for monochrome images. (doc/News.htm [1.32]: 2000/04/13 18:40:23 lpd) + +Adds user-contributed uniprint parameter files for the Canon BJC-8200, +including an addition for the Red Hat printer data base. +(doc/Devices.htm [1.4]: 2000/04/14 03:59:57 lpd) + +Slightly updates the user-contributed documentation on the new BJC-8200 +uniprint parameters. (doc/Devices.htm [1.5]: 2000/04/15 00:20:54 lpd) + +Completes code for reading and writing CMaps. (doc/News.htm [1.33]: +2000/04/16 03:05:29 lpd) + +Clarifies some details of posting releases on SourceForge. +(doc/Release.htm [1.9]: 2000/04/17 22:59:24 lpd) + +Converts the ps2epsi documentation to HTML. (doc/Ps2epsi.htm [1.1], +doc/Readme.htm [1.6], doc/ps2epsi.txt [1.2]: 2000/04/18 17:59:13 lpd) + +Adds a couple of graphics library optimization projects. +(doc/Projects.htm [1.5]: 2000/04/19 04:05:11 lpd) + +Adds a project for creating an OutputDevice resource instance for each +device. (doc/Projects.htm [1.6]: 2000/04/19 21:37:47 lpd) + +Checks in the accumulated change log. (doc/Changes.htm [1.10]: 2000/04/20 +07:24:22 lpd) + +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(doc/News.htm [1.35]: 2000/04/20 22:47:35 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (doc/News.htm [1.36]: 2000/04/20 +23:30:22 lpd) + +Reduces the startup time for displaying PDF files, by skipping the creation +of pdfmarks for annotations and outlines when the output device doesn't +process pdfmarks. (doc/News.htm [1.38]: 2000/04/21 16:58:28 lpd) + +Notes that even if SHARE_JPEG=1, the IJG library sources are required. +(doc/Make.htm [1.12]: 2000/04/27 07:39:05 lpd) + +Documents the new -dPrinted[=true/false] switch for PDF files. +(doc/Use.htm [1.3]: 2000/04/27 08:17:05 lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (doc/Language.htm [1.2]: +2000/04/27 14:39:57 lpd) + +Updates the description of the project to produce higher-level PCL output. +(doc/Projects.htm [1.7]: 2000/04/28 10:42:02 lpd) + +Adds a sample file containing a wide variety of PDF annotations; updates +documentation for this and some other overlooked files. +(doc/Psfiles.htm [1.4]: 2000/04/28 10:51:02 lpd) + +Notes that the uniprint dnj750c.upp parameters are also good for the 450C. +(doc/Devices.htm [1.6]: 2000/04/28 14:27:02 lpd) + +Updates release dates. (man/pdf2ps.1 [1.3], man/ps2ps.1 [1.5]: 2000/04/28 +18:29:32 lpd) + +Updates version numbers and dates for the 6.21 fileset. +(doc/Bug-form.htm [1.6], doc/Devices.htm [1.7], doc/Fonts.htm [1.4], +doc/Language.htm [1.3], doc/Make.htm [1.13], doc/Projects.htm [1.8], +doc/Ps2epsi.htm [1.2], doc/Psfiles.htm [1.5], doc/Readme.htm [1.7], +doc/Use.htm [1.4]: 2000/04/28 22:06:25 lpd) + +Updates the news for the 6.21 fileset. (doc/News.htm [1.39]: 2000/04/28 +22:18:16 lpd) + +</pre><h2><a name="6.21 Procedures"></a>Procedures</h2><pre> + +Fixes problems: + - Some makefile macros were used before being defined. +(devs.mak [1.9], lib.mak [1.9]: 2000/04/07 16:02:03 lpd) + - `make install-data' didn't install lib/gs_frsd.ps or +lib/pdfopt.ps. (unixinst.mak [1.7]: 2000/04/07 19:17:48 lpd) + - gsmake would get into a loop if the makefile was not a symbolic +link; `gsmake check' didn't accept a makefile name on the command line. +(toolbin/gsmake.tcl [1.2]: 2000/04/07 19:37:21 lpd) + - `makemaster' referred to an undefined variable. (How could it ever +have worked?) (toolbin/makeset.tcl [1.3]: 2000/04/07 19:39:27 lpd) + - A dependency wasn't updated when moving the gdevpsf* rules from +devs.mak to lib.mak. (lib.mak [1.10]: 2000/04/07 19:40:25 lpd) + - The dependencies in the makefile weren't updated for the pdfwrite +font embedding overhaul. (devs.mak [1.11]: 2000/04/10 18:57:33 lpd) + - Once again, the dependencies hadn't been updated. (int.mak [1.17]: +2000/04/11 15:59:42 lpd) + - Setting pdfwrite parameters for a DCTEncode filter could cause a +crash (memory fault). (devs.mak [1.16]: 2000/04/13 01:53:07 lpd) + - `make install' didn't install all the documentation files. +(unixinst.mak [1.9]: 2000/04/14 04:06:13 lpd) + - The Color LaserJet 5 drivers were incorrectly identified as +"supported" rather than "contributed". (contrib.mak [1.7], devs.mak [1.17]: +2000/04/20 17:12:54 lpd) + - PDF images with a bitmap Mask caused errors or produced incorrect +output. (int.mak [1.20]: 2000/04/24 00:59:04 lpd) + +Completely redesigns the representation of CMaps, to reduce space +requirements and make comparing them more reasonable, changing gs_cmap to +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The +PostScript code currently only handles a few well-behaved CMap structures.) +(int.mak [1.16]: 2000/04/08 03:54:38 lpd) + +Updates version #s to 6.21. (We should have done this earlier.) +(version.mak [1.12]: 2000/04/10 04:46:36 lpd) + +Overhauls font embedding in the PDF writer: splits off the code into a new +file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and +adds a little bit of code for future support of Type 0 and CID-keyed fonts. +(devs.mak [1.10]: 2000/04/10 07:48:37 lpd) + +Adds Function-based tint_transform procedures for Separation and DeviceN +color spaces. (lib.mak [1.11]: 2000/04/10 19:02:19 lpd) + +Factors out code for writing functions and for adding filter-related entries +to a stream dictionary; implements the DefaultRenderingIntent distiller +parameter. (devs.mak [1.12]: 2000/04/11 16:06:57 lpd) + +Implements additional distiller parameters: PreserveHalftoneInfo, +PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs. +Remove), UCRandBGInfo. Splits off graphics state management into separate +files. Implements the remaining graphics state parameters (halftone, +transfer function, black generation, undercolor removal, halftone phase, +smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******. +In anticipation of handling more general colors, renames pdf_set_color as +pdf_set_pure_color, and adds pdf_set_drawing_color. (devs.mak [1.13]: +2000/04/11 18:31:32 lpd) + +Splits off creation and writing of color spaces, and writing color values, +into a separate file. Adds support for (Function-based) Separation and +DeviceN color spaces, general Pattern color spaces, and procedure-based +Indexed color spaces. Adds some code to support Pattern colors, but stubs it +out because it depends on changes in the image writing code that haven't +been integrated yet. In fact, most of the new code isn't called yet, either. +(devs.mak [1.14]: 2000/04/11 19:10:13 lpd) + +In pdfwrite, rewrites the image writing code to use Cos objects rather than +direct printing, and splits off the creation of image dictionaries into a +new file; adds support for tiling with uncolored Patterns; implements +converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the +same for ImageType 3. This code is "in progress" and likely to have problems +for a while. (devs.mak [1.15]: 2000/04/12 18:44:35 lpd) + +Adds user-contributed uniprint parameter files for the Canon BJC-8200, +including an addition for the Red Hat printer data base. +(unixinst.mak [1.8]: 2000/04/14 03:59:57 lpd) + +Adds code to write out CMaps, similar to the code for writing fonts, for +eventual embedding in PDF output. (int.mak [1.18], lib.mak [1.12]: +2000/04/14 07:17:24 lpd) + +Completes code for reading and writing CMaps. (int.mak [1.19], +lib.mak [1.13]: 2000/04/16 03:05:29 lpd) + +Adds a user-contributed driver for the Epson Stylus (Color) Photo printers. +(contrib.mak [1.6]: 2000/04/18 06:34:26 lpd) + +Converts the ps2epsi documentation to HTML. (unixinst.mak [1.10]: 2000/04/18 +17:59:13 lpd) + +Checks in the accumulated change log. (version.mak [1.13]: 2000/04/20 +07:24:22 lpd) + +Converts the bmp* and bmpa* devices to -dev2, to make them const. +(devs.mak [1.18]: 2000/04/20 17:19:21 lpd) + +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(dvx-tail.mak [1.2], lib.mak [1.14], openvms.mak [1.3], openvms.mmk [1.4], +os2.mak [1.5], unix-aux.mak [1.2], watc.mak [1.3], watclib.mak [1.3], +winlib.mak [1.2]: 2000/04/20 22:47:35 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (lib.mak [1.15], unix-gcc.mak [1.5]: +2000/04/20 23:30:22 lpd) + +Adds compression for pdfwrite Patterns. (devs.mak [1.19]: 2000/04/24 +06:13:02 lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (devs.mak [1.20], +int.mak [1.21], lib.mak [1.16]: 2000/04/27 14:39:57 lpd) + +Adds a user-contributed driver for the H-P 970Cxi inkjet printer. +(contrib.mak [1.8]: 2000/04/27 14:55:56 lpd) + +Factors the H-P monochrome laser and inkjet drivers into a generic driver +and printer-specific clients. (devs.mak [1.21]: 2000/04/27 20:16:33 lpd) + +Adds a user-contributed driver for the Brother HL-1250 laser printer. This +has a dual AFPL/GPL license, and a non-Aladdin copyright. +(contrib.mak [1.9]: 2000/04/27 20:18:39 lpd) + +Once again, updates some dependency lists that had become inconsistent with +the code. (contrib.mak [1.10], devs.mak [1.22], lib.mak [1.17]: 2000/04/27 +21:36:19 lpd) + +Yet again, updates an out-of-date dependency list. (contrib.mak [1.11]: +2000/04/28 18:28:42 lpd) + +Changes the check for documentation files having the correct embedded date. +(toolbin/pre [1.3]: 2000/04/28 18:29:14 lpd) + +Updates version numbers and dates for the 6.21 fileset. (version.mak [1.14]: +2000/04/28 22:06:26 lpd) + +</pre><h2><a name="6.21 Utilities"></a>Utilities</h2><pre> + +Fixes problems: + - The e-mail address for reporting problems was out of date. +(lib/ps2epsi.ps [1.2]: 2000/04/10 02:27:21 lpd) + - If a font didn't have a FontName (which is the case for bitmap +fonts produced by recent versions of dvips), ps2epsi caused an error. +(lib/ps2epsi.ps [1.3]: 2000/04/11 16:32:51 lpd) + - Backs out contributed changes of 2000-03-05 because of bugs. +(ansi2knr.c [1.3]: 2000/04/13 03:41:48 lpd) + - ps2epsi removed all ^M characters in the input, possibly +corrupting binary data. (lib/ps2epsi [1.2]: 2000/04/27 01:44:04 lpd) + +Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with +.ps. (lib/ps2pdfwr [1.2], lib/ps2pdfxx.bat [1.2]: 2000/04/07 19:28:14 lpd) + +Enhances pdf2ps to allow defaulting the output file name. (lib/pdf2ps [1.2]: +2000/04/11 14:23:24 lpd) + +Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa +dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'. (lib/pfbtopfa [1.2]: +2000/04/12 17:41:41 lpd) + +Adds user-contributed uniprint parameter files for the Canon BJC-8200, +including an addition for the Red Hat printer data base. (lib/bj8.rpd [1.1]: +2000/04/14 03:59:57 lpd) + +Increases the VMThreshold when converting PostScript to PDF, to reduce +garbage collection overhead. (lib/ps2pdfwr [1.3]: 2000/04/17 19:06:58 lpd) + +Moves the optimization prologue for ps2pdf from the command line to a +procedure, to avoid shell length limits. (lib/ps2pdfwr [1.4], +lib/ps2pdfxx.bat [1.3]: 2000/04/18 16:40:14 lpd) + +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(bench.c [1.2], gp_dosfb.c [1.2], gp_iwatc.c [1.2], gp_nofb.c [1.2]: +2000/04/20 22:47:35 lpd) + +Checks in a file overlooked in the elimination of the gp_ console +procedures. (gp_os2.c [1.2]: 2000/04/20 23:27:21 lpd) + +</pre><h2><a name="6.21 Drivers"></a>Drivers</h2><pre> + +Fixes problems: + - The pdfwrite driver sometimes compressed images in an Indexed +color space with the DCTEncode filter, producing garbage. (gdevpsdi.c [1.4]: +2000/04/12 19:25:56 lpd) + - Setting pdfwrite parameters for a DCTEncode filter could cause a +crash (memory fault). (gdevpsdf.h [1.7], gdevpsdi.c [1.5], gdevpsdp.c [1.4], +gdevpsdu.c [1.2]: 2000/04/13 01:53:07 lpd) + - Compressing with DCTEncode tried to add the compression filter +twice. (gdevpsdi.c [1.6]: 2000/04/13 04:52:38 lpd) + - The PDF writer could get an ioerror when downsampling images whose +size wasn't an exact multiple of the downsampling factor. (gdevpsdi.c [1.7], +gdevpsds.c [1.2], gdevpsds.h [1.2]: 2000/04/13 16:44:59 lpd) + - Downsampled mask images could cause a memory access error. +(gdevpsdi.c [1.9]: 2000/04/18 16:37:04 lpd) + - PDF Patterns weren't written correctly if the ProcessColorModel +wasn't Device RGB. (gdevpsdu.c [1.3]: 2000/04/24 05:40:30 lpd) + - The [e]pswrite driver produced incorrect output for color images +with multiple data sources. (gdevps.c [1.5]: 2000/04/25 19:35:07 lpd) + +Implements pdfwrite compression for mask images, using the same parameters +as for monochrome images. (gdevpsdi.c [1.8]: 2000/04/13 18:40:23 lpd) + +Adds user-contributed uniprint parameter files for the Canon BJC-8200, +including an addition for the Red Hat printer data base. +(lib/bj8gc12f.upp [1.1], lib/bj8hg12f.upp [1.1], lib/bj8oh06n.upp [1.1], +lib/bj8pa06n.upp [1.1], lib/bj8pp12f.upp [1.1], lib/bj8ts06n.upp [1.1]: +2000/04/14 03:59:57 lpd) + +Adds a user-contributed driver for the Epson Stylus (Color) Photo printers. +(gdevphex.c [1.1]: 2000/04/18 06:34:26 lpd) + +Converts the bmp* and bmpa* devices to -dev2, to make them const. +(gdevbmp.c [1.2], gdevbmpa.c [1.2]: 2000/04/20 17:19:21 lpd) + +Documents the astounding fact that the Xt implementation actually writes +into the XtResource tables. (gdevxres.c [1.2]: 2000/04/20 19:59:28 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (gdevxxf.c [1.3]: 2000/04/20 23:30:22 +lpd) + +When writing PDF output, reduces the size of compressed images in Indexed +color spaces by not using a Predictor for them. (gdevpsdi.c [1.10]: +2000/04/21 06:46:08 lpd) + +Adds an internal filter for converting images to Indexed form if possible. +(gdevpsds.c [1.3], gdevpsds.h [1.3]: 2000/04/21 19:26:37 lpd) + +Cleans up code by replacing macros with procedures or variables. +(gdevps.c [1.6]: 2000/04/25 20:35:46 lpd) + +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or +vertical line segments going in the same direction. This makes a big +difference for PostScript files produced by certain applications. +(gdevps.c [1.7]: 2000/04/25 22:39:54 lpd) + +Adds a user-contributed driver for the H-P 970Cxi inkjet printer. +(gdevdj9.c [1.1]: 2000/04/27 14:55:56 lpd) + +Factors the H-P monochrome laser and inkjet drivers into a generic driver +and printer-specific clients. (gdevdjet.c [1.3], gdevdljm.c [1.1], +gdevdljm.h [1.1]: 2000/04/27 20:16:33 lpd) + +Adds a user-contributed driver for the Brother HL-1250 laser printer. This +has a dual AFPL/GPL license, and a non-Aladdin copyright. (gdevhl12.c [1.1]: +2000/04/27 20:18:39 lpd) + +Once again, updates some dependency lists that had become inconsistent with +the code. (gdevdj9.c [1.2]: 2000/04/27 21:36:19 lpd) + +Makes the printers in gdevdjet.c that support setting the number of copies +use this feature when multiple copies are requested. (gdevdjet.c [1.4], +gdevdljm.c [1.2], gdevdljm.h [1.2]: 2000/04/28 13:37:47 lpd) + +</pre><h2><a name="6.21 PDF writer"></a>PDF writer</h2><pre> + +Fixes problems: + - The Cos objects of resources not shared between pages weren't +freed at the end of each page. (gdevpdf.c [1.9]: 2000/04/10 04:17:56 lpd) + - gdevpdfe.c was omitted from the check-in for the overhaul of +pdfwrite font embedding. (gdevpdfe.c [1.1]: 2000/04/10 16:01:29 lpd) + - pdfwrite output could contain commands to set the line width to a +negative value, which PostScript allows but PDF doesn't. (gdevpdfd.c [1.6]: +2000/04/12 19:51:14 lpd) + - The changes for the new color handling code caused stroked +graphics not to output the line width. (new bug since 6.20) +(gdevpdfd.c [1.7]: 2000/04/13 03:47:21 lpd) + - Pattern resources were written with incorrectly scaled XStep and +YStep, and without a Type entry. (gdevpdfc.c [1.3], gdevpdfi.c [1.10]: +2000/04/13 04:12:33 lpd) + - The PDF writer could get an ioerror when downsampling images whose +size wasn't an exact multiple of the downsampling factor. +(gdevpdfi.c [1.11]: 2000/04/13 16:44:59 lpd) + - Bitmapped characters weren't written properly on the output file +(new bug since 6.20). (gdevpdfg.h [1.4], gdevpdfi.c [1.12], +gdevpdfj.c [1.2]: 2000/04/13 17:24:54 lpd) + - gxdcolor.h was required for gxpcolor.h, but wasn't included. +(gdevpdfc.c [1.4]: 2000/04/18 17:42:55 lpd) + - A table of constant strings wasn't declared as const. +(gdevpdfp.c [1.7]: 2000/04/20 17:37:31 lpd) + - When pdfwrite was producing PDF 1.3 output, the base 14 fonts were +never embedded, rather than being handled like all other fonts. +(gdevpdff.c [1.4]: 2000/04/20 23:49:40 lpd) + - Indexed color spaces used in in-line images were being written +incorrectly. Also optimizes Indexed images by converting RGB palettes to +Gray if all the entries are actually gray. (gdevpdfc.c [1.5]: 2000/04/21 +15:29:20 lpd) + - The recent optimization for using the ' command in PDF output lost +track of the leading value between blocks of text, causing lines in later +blocks to overprint each other. (gdevpdfu.c [1.9]: 2000/04/21 22:29:05 lpd) + - Backs out the change that allowed embedding of the base 14 fonts, +because it produces invalid output. (gdevpdff.c [1.5]: 2000/04/22 00:13:11 +lpd) + - Colored Patterns requiring masking weren't written properly. +(gdevpdfc.c [1.6]: 2000/04/24 00:09:37 lpd) + - Patterns were written upside-down. (gdevpdfc.c [1.7]: 2000/04/24 +01:11:36 lpd) + - PDF Patterns weren't written correctly if the ProcessColorModel +wasn't Device RGB. (gdevpdf.c [1.15], gdevpdfc.c [1.8], gdevpdfg.h [1.5], +gdevpdfi.c [1.13], gdevpdfx.h [1.15]: 2000/04/24 05:40:30 lpd) + - The color space for images wasn't always written in the correct +form (an object reference for image XObjects, a resource name for in-line +images). (gdevpdfi.c [1.14]: 2000/04/28 12:07:37 lpd) + - Patterns were sometimes written with a duplicate Type element. +(gdevpdfc.c [1.10]: 2000/04/28 12:23:54 lpd) + - Patterns were sometimes written twice, with an empty definition +the second time. (gdevpdfi.c [1.15]: 2000/04/28 12:24:42 lpd) + +Overhauls font embedding in the PDF writer: splits off the code into a new +file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and +adds a little bit of code for future support of Type 0 and CID-keyed fonts. +(gdevpdff.c [1.3], gdevpdff.h [1.2], gdevpdft.c [1.6], gdevpdfw.c [1.3]: +2000/04/10 07:48:37 lpd) + +Factors out code for writing functions and for adding filter-related entries +to a stream dictionary; implements the DefaultRenderingIntent distiller +parameter. (gdevpdf.c [1.10], gdevpdfu.c [1.6], gdevpdfx.h [1.8]: 2000/04/11 +16:06:57 lpd) + +Adds ExtGState resources. These should be written and freed at the end of +each page, but they aren't yet. (gdevpdfx.h [1.9]: 2000/04/11 16:38:14 lpd) + +Implements additional distiller parameters: PreserveHalftoneInfo, +PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs. +Remove), UCRandBGInfo. Splits off graphics state management into separate +files. Implements the remaining graphics state parameters (halftone, +transfer function, black generation, undercolor removal, halftone phase, +smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******. +In anticipation of handling more general colors, renames pdf_set_color as +pdf_set_pure_color, and adds pdf_set_drawing_color. (gdevpdf.c [1.11], +gdevpdfd.c [1.4], gdevpdfg.c [1.1], gdevpdfg.h [1.1], gdevpdfi.c [1.8], +gdevpdft.c [1.7], gdevpdfu.c [1.7], gdevpdfx.h [1.10]: 2000/04/11 18:31:32 +lpd) + +Splits off creation and writing of color spaces, and writing color values, +into a separate file. Adds support for (Function-based) Separation and +DeviceN color spaces, general Pattern color spaces, and procedure-based +Indexed color spaces. Adds some code to support Pattern colors, but stubs it +out because it depends on changes in the image writing code that haven't +been integrated yet. In fact, most of the new code isn't called yet, either. +(gdevpdf.c [1.12], gdevpdfc.c [1.1], gdevpdfd.c [1.5], gdevpdfg.c [1.2], +gdevpdfg.h [1.2], gdevpdft.c [1.8], gdevpdfx.h [1.11]: 2000/04/11 19:10:13 +lpd) + +Integrates a couple of minor overlooked changes in the text-writing code. +(gdevpdf.c [1.13], gdevpdft.c [1.9], gdevpdfx.h [1.12]: 2000/04/11 19:20:56 +lpd) + +In pdfwrite, rewrites the image writing code to use Cos objects rather than +direct printing, and splits off the creation of image dictionaries into a +new file; adds support for tiling with uncolored Patterns; implements +converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the +same for ImageType 3. This code is "in progress" and likely to have problems +for a while. (gdevpdf.c [1.14], gdevpdfc.c [1.2], gdevpdfg.c [1.3], +gdevpdfg.h [1.3], gdevpdfi.c [1.9], gdevpdfj.c [1.1], gdevpdfx.h [1.13]: +2000/04/12 18:44:35 lpd) + +Tweaks the PDF writer to use the ' command for positioning text when +possible (small optimization only). (gdevpdfg.c [1.4], gdevpdft.c [1.10], +gdevpdfu.c [1.8], gdevpdfx.h [1.14]: 2000/04/18 16:08:16 lpd) + +Reduces the startup time for displaying PDF files, by skipping the creation +of pdfmarks for annotations and outlines when the output device doesn't +process pdfmarks. (gdevpdfp.c [1.8]: 2000/04/21 16:58:28 lpd) + +Adds compression for pdfwrite Patterns. (gdevpdfc.c [1.9]: 2000/04/24 +06:13:02 lpd) + +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or +vertical line segments going in the same direction. This makes a big +difference for PostScript files produced by certain applications. +(gdevpdf.c [1.16], gdevpdfd.c [1.8]: 2000/04/25 22:39:54 lpd) + +Updates the list of remaining pdfwrite tasks. (gdevpdfp.c [1.9]: 2000/04/27 +21:36:52 lpd) + +</pre><h2><a name="6.21 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre> + +Fixes problems: + - Embedded subset CFF fonts in PDF files were defined using the name +in the font data rather than the font name in the PDF resource object. (bug +#102901) (lib/pdf_ops.ps [1.5]: 2000/04/11 05:33:13 lpd) + - When processing a PDF file, the font substitution heuristic based +on the FontName sometimes overrode the Flags information in the +FontDescriptor. (lib/pdf_font.ps [1.6]: 2000/04/20 06:36:02 lpd) + - PDF images with a bitmap Mask caused errors or produced incorrect +output. (lib/pdf_draw.ps [1.10]: 2000/04/24 00:59:04 lpd) + - Masked images weren't drawn properly, because the two data sources +could reference the same file. (lib/pdf_draw.ps [1.11]: 2000/04/24 05:39:45 +lpd) + - *Really* fixes the problem of data source aliasing for masked +images. (lib/pdf_draw.ps [1.12]: 2000/04/24 05:53:43 lpd) + - If a font specified Subtype = /TrueType but the actual font used +was not a TrueType font, any Encoding in the Font object should be ignored. +(This is a hack required by the PDF specification.) (lib/pdf_font.ps [1.7]: +2000/04/24 06:37:18 lpd) + - Colored annotation borders caused an error; 0-width borders were +drawn even though they shouldn't be; Link and Stamp annotations weren't +drawn at all. Also adds a new -dPrinted[=true/false] switch to choose +whether to produce "screen" or "printer" output. (code from Artifex) +(lib/pdf_draw.ps [1.13], lib/pdf_main.ps [1.7]: 2000/04/27 08:16:40 lpd) + +Makes undefined XObject resources for the Do operator produce a warning +rather than an error, to parallel Acrobat Reader. (lib/pdf_draw.ps [1.9]: +2000/04/16 07:48:23 lpd) + +Tweaks up the performance of the PDF interpreter loop slightly. +(lib/pdf_base.ps [1.7]: 2000/04/18 05:45:49 lpd) + +Reduces the startup time for displaying PDF files, by skipping the creation +of pdfmarks for annotations and outlines when the output device doesn't +process pdfmarks. (lib/pdf_main.ps [1.6]: 2000/04/21 16:58:28 lpd) + +</pre><h2><a name="6.21 Interpreter"></a>Interpreter</h2><pre> + +Fixes problems: + - Fixes some signed/unsigned char * mismatches. (zfrsd.c [1.3]: +2000/04/07 15:27:14 lpd) + - Automatic loading of fonts from resource files didn't work +(usually caused an unmatchedmark or typecheck error). +(lib/gs_fonts.ps [1.5], lib/gs_res.ps [1.9]: 2000/04/08 03:45:41 lpd) + - A -> should have been a . (only shows up on 64-bit systems). +(zfunc4.c [1.3]: 2000/04/09 20:04:00 lpd) + - the most recent 'fixes' for loading font resources caused all +built-in fonts to be returned as null. (lib/gs_res.ps [1.10]: 2000/04/09 +22:51:01 lpd) + - /Category defineresource didn't make the category definition +dictionary read-only. (lib/gs_res.ps [1.11]: 2000/04/10 18:29:04 lpd) + - Attempting to build an invalid FunctionType 4 function could cause +a memory access error. (zfunc4.c [1.4]: 2000/04/10 19:38:53 lpd) + - Embedded subset CFF fonts in PDF files were defined using the name +in the font data rather than the font name in the PDF resource object. (bug +#102901) (lib/gs_cff.ps [1.4]: 2000/04/11 05:33:13 lpd) + - CMaps with more than one code space range weren't converted to the +internal form correctly; begincidchar and beginnotdefchar caused errors. +(lib/gs_cmap.ps [1.3], zfcmap.c [1.6]: 2000/04/14 07:53:10 lpd) + - flushfile and closefile didn't properly flush streams whose final +target was a procedure, and closefile didn't actually close them. (This is a +very old bug.) (zfproc.c [1.2]: 2000/04/18 05:50:15 lpd) + - CIDFontType 0 CIDFonts in which some FDArray element had no Subrs +caused an error. (lib/gs_cidfn.ps [1.14]: 2000/04/18 05:58:08 lpd) + - Attempting to set a PageSize with 4 elements actually set the +PageSize (to the first 2 elements), rather than ignoring the attempt. (This +is just a patch to prevent some PageMaker files from being thrown off by the +4-element PageSizes in Input Attributes.) (lib/gs_setpd.ps [1.2]: 2000/04/19 +06:01:19 lpd) + - When choosing a substituted font, 'Serif' had priority over +'Sans', so unknown fonts with 'SansSerif' in their name would have a serif +font substituted. (lib/gs_fonts.ps [1.6]: 2000/04/19 13:48:48 lpd) + - The fix to make setpagedevice ignore 4-element PageSizes in +InputAttributes was broken. (It's impossible that it could ever have worked, +despite the fact that we tested it.) (lib/gs_setpd.ps [1.3]: 2000/04/20 +06:24:39 lpd) + - When processing a PDF file, the font substitution heuristic based +on the FontName sometimes overrode the Flags information in the +FontDescriptor. (lib/gs_fonts.ps [1.7]: 2000/04/20 06:36:02 lpd) + - Showing a string in a Type 1 font with a singular combined matrix +(e.g., after 0 scalefont setfont) caused an error instead of doing nothing. +(zchar1.c [1.3]: 2000/04/22 00:34:46 lpd) + - Images with multiple file DataSources where two or more of the +files were the same caused a crash. (zimage.c [1.3]: 2000/04/24 00:07:41 +lpd) + - .reusablestreamdecode wasn't defined for use in LanguageLevel 2. +(The ReusableStreamDecode filter itself was properly defined.) +(lib/gs_frsd.ps [1.3]: 2000/04/24 00:45:38 lpd) + - Loading an unknown font gave a spurious "non-string font name" +message; unknown fonts with names containing style strings like Bold or +Italic caused an error. (bug introduced since 6.20) (lib/gs_fonts.ps [1.8]: +2000/04/28 22:03:58 lpd) + +Adds a workaround for misnamed glyphs in some Microsoft TrueType font 'post' +tables. (lib/gs_mgl_e.ps [1.2], lib/gs_ttf.ps [1.4]: 2000/04/08 01:53:16 +lpd) + +Completely redesigns the representation of CMaps, to reduce space +requirements and make comparing them more reasonable, changing gs_cmap to +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The +PostScript code currently only handles a few well-behaved CMap structures.) +(lib/gs_cmap.ps [1.2], zfcmap.c [1.4], zfont0.c [1.2]: 2000/04/08 03:54:38 +lpd) + +Updates version #s to 6.21. (We should have done this earlier.) +(lib/gs_init.ps [1.7]: 2000/04/10 04:46:36 lpd) + +Makes Separation and DeviceN color spaces detect that their tint transform +procedure is a Function, and call it rather than using its cached values. +(zcsdevn.c [1.2], zcssepr.c [1.3]: 2000/04/10 19:39:44 lpd) + +Adds code to write out CMaps, similar to the code for writing fonts, for +eventual embedding in PDF output. (zfcmap.c [1.5]: 2000/04/14 07:17:24 lpd) + +Completes code for reading and writing CMaps. (lib/gs_cmap.ps [1.4], +zfcmap.c [1.7]: 2000/04/16 03:05:29 lpd) + +Works around a bug in the AdobePS5 Windows driver, which emits CMaps lacking +the required CMapName entry. (lib/gs_cidfn.ps [1.15], lib/gs_cmap.ps [1.5]: +2000/04/18 07:18:42 lpd) + +Moves the optimization prologue for ps2pdf from the command line to a +procedure, to avoid shell length limits. (lib/gs_pdfwr.ps [1.3]: 2000/04/18 +16:40:14 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (imainarg.c [1.2]: 2000/04/20 23:30:22 +lpd) + +Speeds up Type 1 font loading slightly by removing a conversion from binary +to hex and back again. (zmisc1.c [1.2]: 2000/04/22 16:03:18 lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (zfmd5.c [1.1]: 2000/04/27 +14:39:57 lpd) + +Adds a sample file containing a wide variety of PDF annotations; updates +documentation for this and some other overlooked files. +(examples/annots.pdf [1.1]: 2000/04/28 10:51:02 lpd) + +</pre><h2><a name="6.21 Streams"></a>Streams</h2><pre> + +Fixes problems: + - FILE_IMPLEMENTATION=both was broken (by the introduction of +sread_subfile). (sfxfd.c [1.3]: 2000/04/10 02:41:48 lpd) + - flushfile and closefile didn't properly flush streams whose final +target was a procedure, and closefile didn't actually close them. (This is a +very old bug.) (stream.c [1.6]: 2000/04/18 05:50:15 lpd) + - The PixelDifference filters (Predictor = 2) weren't implemented +for Colors > 4 and BitsPerComponent != 8, and they dropped trailing bytes if +the length of the data wasn't an exact multiple of the pixel size. +(spdiff.c [1.2]: 2000/04/22 03:55:22 lpd) + +Enhances the ASCII85Encode filter to avoid %! at the beginning of a line of +output, in addition to avoiding %% which it did already. (sa85x.h [1.2], +sfilter2.c [1.2]: 2000/04/08 01:30:36 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (std.h [1.2]: 2000/04/20 23:30:22 lpd) + +Speeds up Type 1 font loading slightly by removing a conversion from binary +to hex and back again. (seexec.c [1.2], sfilter.h [1.5]: 2000/04/22 16:03:18 +lpd) + +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input. +No output is produced until the filter is closed. (smd5.c [1.1], +smd5.h [1.1]: 2000/04/27 14:39:57 lpd) + +</pre><h2><a name="6.21 Library"></a>Library</h2><pre> + +Fixes problems: + - Fixes some signed/unsigned char * mismatches. (gdevpsf2.c [1.5]: +2000/04/07 15:27:14 lpd) + - Writing a Type 2 CFF with multiply-encoded glyphs produced an +incorrect Encoding. Also, when producing output for PDF 1.2 files, no longer +emits certain opcodes that cause an (unjustified) error in Acrobat Reader 3 +for Linux. (gdevpsf.h [1.3], gdevpsf2.c [1.6]: 2000/04/10 07:42:31 lpd) + - gsmisc.c didn't compile in DEBUG mode on systems with a +non-standard prototype for the sqrt function. (gsmisc.c [1.3]: 2000/04/10 +16:00:31 lpd) + - One picky compiler complained about (1L << 31). (gsmisc.c [1.4]: +2000/04/10 17:21:41 lpd) + - putdeviceparams allowed a PageSize or .MediaSize value with the +wrong number of elements to take effect. (gsdparam.c [1.2]: 2000/04/19 +05:59:05 lpd) + - The elimination of stdin/out/err also eliminated some #defines +that are needed for error printout. (gsio.h [1.3]: 2000/04/21 06:39:17 lpd) + - The structure descriptor for ImageType 3 images was public rather +than private. (gsiparm3.h [1.3], gximage3.c [1.2]: 2000/04/22 07:02:18 lpd) + - The "point matching" feature of TrueType composite glyphs wasn't +implemented, causing some composite (accented) characters to have their +accents misplaced. (gstype42.c [1.4]: 2000/04/25 07:22:50 lpd) + +Completely redesigns the representation of CMaps, to reduce space +requirements and make comparing them more reasonable, changing gs_cmap to +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The +PostScript code currently only handles a few well-behaved CMap structures.) +(gsfcmap.c [1.4], gsfcmap.h [1.2], gxfcmap.h [1.3], gxfont0.h [1.2]: +2000/04/08 03:54:38 lpd) + +Adds Function-based tint_transform procedures for Separation and DeviceN +color spaces. (gscdevn.c [1.3], gscdevn.h [1.2], gscsepr.c [1.3], +gscsepr.h [1.2]: 2000/04/10 19:02:19 lpd) + +Adds code to write out CMaps, similar to the code for writing fonts, for +eventual embedding in PDF output. (gdevpsf.h [1.4], gdevpsfm.c [1.1]: +2000/04/14 07:17:24 lpd) + +Completes code for reading and writing CMaps. (gdevpsf.h [1.5], +gdevpsfm.c [1.2], gsccode.h [1.3], gsfcid.c [1.3], gsfcmap.c [1.5], +gxcid.h [1.2], gxfcmap.h [1.4]: 2000/04/16 03:05:29 lpd) + +Removes the gp_ procedures for managing screen swapping between console and +graphics, which haven't been used for a long time and are no longer useful. +(gp.h [1.3]: 2000/04/20 22:47:35 lpd) + +Removes all remaining direct references to stdin/out/err from the library, +interpreter, and non-contributed drivers; moves the ersatz definitions of +stdin/out/err to a new header file. (gsdevice.c [1.3], gsio.h [1.2], +gsmisc.c [1.5], gxdevice.h [1.2]: 2000/04/20 23:30:22 lpd) + +Adds an essential new file overlooked in the removal of references to +stdin/out/err. (gxstdio.h [1.1]: 2000/04/20 23:50:20 lpd) + +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or +vertical line segments going in the same direction. This makes a big +difference for PostScript files produced by certain applications. +(gdevvec.c [1.2], gdevvec.h [1.2]: 2000/04/25 22:39:54 lpd) + +Adds template macros for printer devices that implement print_page_copies +rather than print_page. (gdevprn.c [1.2], gdevprn.h [1.3]: 2000/04/28 +13:36:16 lpd) + +<hr> + <h1><a name="Version6.20"></a>Version 6.20 (2000-04-06)</h1> <p> @@ -501,7 +1334,7 @@ Adds .cvsignore files, to prevent bogus warnings on cvs update. Fixes problems: - A couple of places in the Windows code didn't correctly handle -Ghostscript version numbers of the form #.0#. (gp_wgetv.c [1.2]: 2000/03/22 +Ghostscript version 6.21, 28 April 2000 21:45:03 lpd) - Replaces a final exit() with a return, to avoid a compiler warning. (genconf.c [1.2]: 2000/04/05 19:53:27 lpd) |