summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Giles <ralph.giles@artifex.com>2004-08-29 02:07:29 +0000
committerRalph Giles <ralph.giles@artifex.com>2004-08-29 02:07:29 +0000
commit4e14a38d74e9857d52537a11ba5ea4fff8a12e2f (patch)
treeb87140fc8bfb4301a562e4cfbccf569c973c03b6
parente8317b096bec3c16d6c638ca4ac60b795b1e0fe8 (diff)
Update changelogs for release.ghostscript-8.31
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@5270 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r--gs/doc/Changes.htm4824
-rw-r--r--gs/doc/Details.htm15273
-rw-r--r--gs/doc/Details8.htm3459
-rw-r--r--gs/doc/History8.htm1968
4 files changed, 7932 insertions, 17592 deletions
diff --git a/gs/doc/Changes.htm b/gs/doc/Changes.htm
index ea12d5c1c..ee74948ab 100644
--- a/gs/doc/Changes.htm
+++ b/gs/doc/Changes.htm
@@ -8,4963 +8,1719 @@
</head>
<body>
-<p><strong><a href="2004-05-31_0602"></a>
-2004-05-31 06:02 Dan Coby</strong></p>
+<p><strong><a name="2004-08-28_2210"></a>
+2004-08-28 22:10 Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct various compiler warnings from MSVC and gcc. Fix for 687441.</pre>
-<p>[src/gdevdevn.h1.7, src/gdevdevn.c 1.19, src/gdevpsd.c 1.13,
-src/gsequivc.c 1.2]</p>
+Update the version and date on the VMS help file.</pre>
+<p>[doc/gs-vms.hlp 1.29]</p>
</blockquote>
-<p><strong><a name="2004-05-31_0534"></a>
-2004-05-31 05:34 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-28_2152"></a>
+2004-08-28 21:52 Ralph Giles</strong></p>
<blockquote>
<pre>
-JPXDecode support is only enabled for the autoconf build. Mention this
-in the release notes, and add some brief notes to the MSVC makefile
-about how to make it build.</pre>
-<p>[doc/News.htm 1.149, src/msvc32.mak 1.57]</p>
+Update release date on documentation.</pre>
+<p>[doc/API.htm 1.44, doc/Bug-form.htm 1.41, doc/Bug-info.htm 1.40, doc/C-style.htm 1.47, doc/Commprod.htm 1.32, doc/Copying.htm 1.31, doc/DLL.htm 1.35, doc/Deprecated.htm 1.12, doc/Details8.htm 1.9, doc/Develop.htm 1.138, doc/Devices.htm 1.81, doc/Drivers.htm 1.48, doc/Fonts.htm 1.42, doc/Helpers.htm 1.35, doc/History1.htm 1.31, doc/History2.htm 1.31, doc/History3.htm 1.31, doc/History4.htm 1.31, doc/History5.htm 1.33, doc/History6.htm 1.48, doc/History7.htm 1.36, doc/History8.htm 1.13, doc/Htmstyle.htm 1.36, doc/Install.htm 1.46, doc/Issues.htm 1.41, doc/Language.htm 1.87, doc/Lib.htm 1.34, doc/Maintain.htm 1.42, doc/Make.htm 1.79, doc/New-user.htm 1.51, doc/Projects.htm 1.58, doc/Ps-style.htm 1.29, doc/Ps2epsi.htm 1.33, doc/Ps2pdf.htm 1.70, doc/Psfiles.htm 1.53, doc/Readme.htm 1.56, doc/Release.htm 1.86, doc/Source.htm 1.31, doc/Tester.htm 1.31, doc/Testing.htm 1.26, doc/Unix-lpr.htm 1.31, doc/Use.htm 1.111, doc/Xfonts.htm 1.31, man/dvipdf.1 1.29, man/font2c.1 1.29, man/gs.1 1.30, man/gslp.1 1.29, man/gsnd.1 1.29, man/pdf2dsc.1 1.28, man/pdf2ps.1 1.30, man/pdfopt.1 1.28, man/pf2afm.1 1.29, man/pfbtopfa.1 1.30, man/printafm.1 1.29, man/ps2ascii.1 1.28, man/ps2epsi.1 1.27, man/ps2pdf.1 1.34, man/ps2pdfwr.1 1.33, man/ps2ps.1 1.36, man/wftopfa.1 1.29]</p>
</blockquote>
-<p><strong><a name="2004-05-31_0508"></a>
-2004-05-31 05:08 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
<blockquote>
<pre>
-Update the open bug list in the release notes.</pre>
-<p>[doc/News.htm 1.148]</p>
+Change the product name to BETA RELEASE</pre>
+<p>[src/gscdef.c 1.45]</p>
</blockquote>
-<p><strong><a name="2004-05-30_0950"></a>
-2004-05-30 09:50 Russell Lang</strong> (<a href="Details.htm#2004-05-30_0950">details</a>)</p>
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
<blockquote>
<pre>
-Enable separable_and_linear and separable for the display device.
-Fixes bug #687442.
-
-</pre>
-<p>[src/gdevdsp.c 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_2107"></a>
-2004-05-29 21:07 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Added more news items, in preparation for 8.30 release.</pre>
-<p>[doc/News.htm 1.147]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0219"></a>
-2004-05-29 02:19 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Relocate the gxhldevc_h macro out of order so all its dependencies are
-available.</pre>
-<p>[src/lib.mak 1.184]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0210"></a>
-2004-05-29 02:10 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a dependency typo.</pre>
-<p>[src/lib.mak 1.183]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0121"></a>
-2004-05-29 01:21 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update documenation dates and version category for release.</pre>
-<p>[doc/API.htm 1.42, doc/Bug-form.htm 1.40, doc/Bug-info.htm 1.39, doc/C-style.htm 1.46, doc/Commprod.htm 1.31, doc/Copying.htm 1.30, doc/DLL.htm 1.34, doc/Deprecated.htm 1.11, doc/Details8.htm 1.6, doc/Develop.htm 1.134, doc/Devices.htm 1.77, doc/Drivers.htm 1.46, doc/Fonts.htm 1.41, doc/Helpers.htm 1.34, doc/History1.htm 1.30, doc/History2.htm 1.30, doc/History3.htm 1.30, doc/History4.htm 1.30, doc/History5.htm 1.32, doc/History6.htm 1.47, doc/History7.htm 1.35, doc/History8.htm 1.10, doc/Htmstyle.htm 1.35, doc/Install.htm 1.45, doc/Issues.htm 1.40, doc/Language.htm 1.86, doc/Lib.htm 1.33, doc/Maintain.htm 1.41, doc/Make.htm 1.75, doc/New-user.htm 1.50, doc/News.htm 1.146, doc/Projects.htm 1.57, doc/Ps-style.htm 1.28, doc/Ps2epsi.htm 1.32, doc/Ps2pdf.htm 1.68, doc/Psfiles.htm 1.51, doc/Readme.htm 1.55, doc/Release.htm 1.85, doc/Source.htm 1.30, doc/Tester.htm 1.30, doc/Testing.htm 1.25, doc/Unix-lpr.htm 1.30, doc/Use.htm 1.109, doc/Xfonts.htm 1.30, man/dvipdf.1 1.28, man/font2c.1 1.28, man/gs.1 1.29, man/gslp.1 1.28, man/gsnd.1 1.28, man/pdf2dsc.1 1.27, man/pdf2ps.1 1.29, man/pdfopt.1 1.27, man/pf2afm.1 1.28, man/pfbtopfa.1 1.29, man/printafm.1 1.28, man/ps2ascii.1 1.27, man/ps2epsi.1 1.26, man/ps2pdf.1 1.33, man/ps2pdfwr.1 1.32, man/ps2ps.1 1.35, man/wftopfa.1 1.28, src/gscdef.c 1.43, src/version.mak 1.70]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0111"></a>
-2004-05-29 01:11 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add new rinkj driver files to the index in Develop.htm.</pre>
-<p>[doc/Develop.htm 1.133]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2358"></a>
-2004-05-28 23:58 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Add sample setup file for Rinkj driver, more documentation.</pre>
-<p>[doc/Devices.htm 1.76, lib/rinkj-2200-setup 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2350"></a>
-2004-05-28 23:50 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Adds basic documentation for Rinkj driver, update copyright banners.</pre>
-<p>[doc/Devices.htm 1.75, src/rinkj/evenbetter-rll.c 1.2, src/rinkj/evenbetter-rll.h 1.2, src/rinkj/rinkj-byte-stream.c 1.2, src/rinkj/rinkj-byte-stream.h 1.2, src/rinkj/rinkj-config.c 1.2, src/rinkj/rinkj-config.h 1.2, src/rinkj/rinkj-device.c 1.2, src/rinkj/rinkj-device.h 1.2, src/rinkj/rinkj-dither.c 1.2, src/rinkj/rinkj-dither.h 1.2, src/rinkj/rinkj-epson870.c 1.2, src/rinkj/rinkj-epson870.h 1.2, src/rinkj/rinkj-screen-eb.c 1.2, src/rinkj/rinkj-screen-eb.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2326"></a>
-2004-05-28 23:26 Dan Coby</strong> (<a href="Details.htm#2004-05-28_2326">details</a>)</p>
-<blockquote>
-<pre>
-This change implements "687431 Add determining equivalent CMYK
-colors for spot colors". This change currently only affects the
-psdcmyk device.
-
-</pre>
-<p>[src/devs.mak 1.114, src/gdevdevn.c 1.18, src/gdevdevn.h 1.6, src/gdevprn.c 1.16, src/gdevpsd.c 1.12, src/gsequivc.c 1.1, src/gsequivc.h 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2309"></a>
-2004-05-28 23:09 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Use ST_MTIME instead of the ctime to determine the date of the last
-baseline update. Partial fix for bug 687481.</pre>
-<p>[toolbin/tests/gscheck_raster.py 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2302"></a>
-2004-05-28 23:02 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Initial commit of rinkj (resplendent inkjet) drivers, using ETS screening.</pre>
-<p>[src/devs.mak 1.113, src/gdevrinkj.c 1.1, src/rinkj/evenbetter-rll.c 1.1, src/rinkj/evenbetter-rll.h 1.1, src/rinkj/rinkj-byte-stream.c 1.1, src/rinkj/rinkj-byte-stream.h 1.1, src/rinkj/rinkj-config.c 1.1, src/rinkj/rinkj-config.h 1.1, src/rinkj/rinkj-device.c 1.1, src/rinkj/rinkj-device.h 1.1, src/rinkj/rinkj-dither.c 1.1, src/rinkj/rinkj-dither.h 1.1, src/rinkj/rinkj-epson870.c 1.1, src/rinkj/rinkj-epson870.h 1.1, src/rinkj/rinkj-screen-eb.c 1.1, src/rinkj/rinkj-screen-eb.h 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_0708"></a>
-2004-05-28 07:08 Igor Melichev</strong> (<a href="Details.htm#2004-05-28_0708">details</a>)</p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : Wrong processing of a big CIDToGIDMap.
-
-</pre>
-<p>[lib/pdf_font.ps 1.66]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_1905"></a>
-2004-05-27 19:05 Igor Melichev</strong> (<a href="Details.htm#2004-05-27_1905">details</a>)</p>
-<blockquote>
-<pre>
-(pdfwrite) : 1. Implementing a dynamic recongnition for Type 3 charproc variations;
-2. Bug : Viewer state could desynchronize when entering a charproc accumulation.
-
-</pre>
-<p>[src/gdevpdf.c 1.94, src/gdevpdfg.c 1.50, src/devs.mak 1.112, src/gdevpdfg.h 1.30, src/gdevpdfj.c 1.31, src/gdevpdfu.c 1.52, src/gdevpdfx.h 1.89, src/gdevpdte.c 1.59, src/gdevpdtf.c 1.36, src/gdevpdtf.h 1.22, src/gdevpdti.c 1.29, src/gdevpdtt.c 1.79, src/gdevpdtt.h 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_1028"></a>
-2004-05-27 10:28 Igor Melichev</strong> (<a href="Details.htm#2004-05-27_1028">details</a>)</p>
-<blockquote>
-<pre>
-(pdfwrite) : Delaying the charproc insertion until it is accumulated.
-
-</pre>
-<p>[src/gdevpdtt.c 1.78, src/gdevpdfx.h 1.88]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_1025"></a>
-2004-05-27 10:25 Igor Melichev</strong> (<a href="Details.htm#2004-05-27_1025">details</a>)</p>
-<blockquote>
-<pre>
-(pdfwrite) : Delaying the charproc insertion until it is accumulated.
-
-</pre>
-<p>[src/gdevpdf.c 1.93, src/gdevpdti.c 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_0322"></a>
-2004-05-27 03:22 Ralph Giles</strong> (<a href="Details.htm#2004-05-27_0322">details</a>)</p>
-<blockquote>
-<pre>
-Handle some errors that could halt the regression run.
-
-</pre>
-<p>[toolbin/tests/gscheck_raster.py 1.11, toolbin/tests/gssum.py 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-26_1549"></a>
-2004-05-26 15:49 Ray Johnston</strong> (<a href="Details.htm#2004-05-26_1549">details</a>)</p>
-<blockquote>
-<pre>
-Fix reference count of overprint compositor so that it doesn't get freed
-too early. Fixes SEGV of bug #687425 for customer #1110.
-
-</pre>
-<p>[src/gxclrast.c 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-26_0844"></a>
-2004-05-26 08:44 Igor Melichev</strong> (<a href="Details.htm#2004-05-26_0844">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark.
-
-</pre>
-<p>[src/gdevpdfm.c 1.38]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-26_0410"></a>
-2004-05-26 04:10 Dan Coby</strong> (<a href="Details.htm#2004-05-26_0410">details</a>)</p>
-<blockquote>
-<pre>
-Log message:
-
-Revised fix for 687418 WTS does not work with bitcmyk driver.
-
-</pre>
-<p>[src/gdevcdj.c 1.14, src/gdevcljc.c 1.7, src/gdevcmap.c 1.6, src/gdevdevn.c 1.17, src/gdevdevn.h 1.5, src/gdevdflt.c 1.23, src/gdevdsp.c 1.21, src/gdevmem.c 1.8, src/gdevp14.c 1.23, src/gdevp2up.c 1.6, src/gdevpbm.c 1.11, src/gdevpcx.c 1.7, src/gdevplnx.c 1.9, src/gdevpnga.c 1.9, src/gdevprn.c 1.15, src/gdevpsd.c 1.11, src/gdevrops.c 1.11, src/gdevupd.c 1.15, src/gdevxalt.c 1.11, src/gdevxcf.c 1.7, src/gdevxini.c 1.14, src/gsdevice.c 1.21, src/gslib.c 1.13, src/gxcmap.c 1.20, src/gxdevcli.h 1.32, src/gximag3x.c 1.16, src/gximage3.c 1.13, src/gxpcmap.c 1.12, src/zcolor.c 1.18, doc/Language.htm 1.85]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-25_1041"></a>
-2004-05-25 10:41 Igor Melichev</strong> (<a href="Details.htm#2004-05-25_1041">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Form XObject`s /BBox could contain reals in exponential format.
-
-</pre>
-<p>[src/gdevpdfm.c 1.37]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-25_0920"></a>
-2004-05-25 09:20 Igor Melichev</strong> (<a href="Details.htm#2004-05-25_0920">details</a>)</p>
-<blockquote>
-<pre>
-Fix an MSVC compiler warning.
-
-</pre>
-<p>[src/gdevpdte.c 1.58]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-24_2335"></a>
-2004-05-24 23:35 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a missing header include for gsutil.h which provides the prototype for bytes_compare(). Corrects a gcc warning.</pre>
-<p>[src/devs.mak 1.111, src/gdevpdte.c 1.57]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-24_1756"></a>
-2004-05-24 17:56 Dan Coby</strong> (<a href="Details.htm#2004-05-24_1756">details</a>)</p>
-<blockquote>
-<pre>
-Fix for 687453 Problem with overprinting and shading.
-
-</pre>
-<p>[lib/pdf_draw.ps 1.81]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-24_1221"></a>
-2004-05-24 12:21 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Add /WhiteIsOpaque page device parameter to provide user interface to the
-corresponding bbox device flag. Fix a bug introduced in gdevbbox.c v.1.9
-(for bug 645531) that left bdev->white and bdev->black uninitialized,
-resulting in black objects skipped as white.
-Fix bugs 687410, 687478</pre>
-<p>[src/gdevbbox.c 1.17, doc/Devices.htm 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-20_1706"></a>
-2004-05-20 17:06 Igor Melichev</strong> (<a href="Details.htm#2004-05-20_1706">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Add Encoding element even if the font has no glyph.
-
-</pre>
-<p>[src/gdevpdte.c 1.56]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-20_0741"></a>
-2004-05-20 07:41 Ralph Giles</strong> (<a href="Details.htm#2004-05-20_0741">details</a>)</p>
-<blockquote>
-<pre>
-Apply a recursive 'configure' step to the autoconf build to generate
-required code for the jasper library.
-
-</pre>
-<p>[src/configure.ac 1.46]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-20_0734"></a>
-2004-05-20 07:34 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the jasper include path when compiling the JPXDecode filter so the
-headers can be found if they're not already installed on the system.
-Required to compile in the jasper library source from a fresh distribution
-of the third-party library.</pre>
-<p>[src/int.mak 1.126, src/lib.mak 1.182]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-19_1109"></a>
-2004-05-19 11:09 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Documenting the new implementation of shadings.</pre>
-<p>[doc/News.htm 1.145]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_1342"></a>
-2004-05-18 13:42 Igor Melichev</strong> (<a href="Details.htm#2004-05-18_1342">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 79.
-
-</pre>
-<p>[src/gxshade6.c 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_1107"></a>
-2004-05-18 11:07 Igor Melichev</strong> (<a href="Details.htm#2004-05-18_1107">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 78.
-
-</pre>
-<p>[src/gdevp14.c 1.22, src/gdevplnx.c 1.8, src/gxcmap.c 1.19, src/gxcmap.h 1.8, src/gxshade6.c 1.73]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_1036"></a>
-2004-05-18 10:36 Igor Melichev</strong> (<a href="Details.htm#2004-05-18_1036">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 78.
-
-</pre>
-<p>[src/gdevp14.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_0957"></a>
-2004-05-18 09:57 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Documenting the new implementation of shadings.</pre>
-<p>[doc/Drivers.htm 1.45]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-17_1727"></a>
-2004-05-17 17:27 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Reword the description of the new shading implementation.</pre>
-<p>[doc/News.htm 1.144]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-17_1224"></a>
-2004-05-17 12:24 Igor Melichev</strong> (<a href="Details.htm#2004-05-17_1224">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 77 (release candidate).
-
-</pre>
-<p>[src/gxshade6.c 1.72]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1524"></a>
-2004-05-13 15:24 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Remove unused label.
-Partial fix for bug 687441.</pre>
-<p>[src/gdevwpr2.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1303"></a>
-2004-05-13 13:03 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Documenting the new implementation of shadings, step 76.</pre>
-<p>[doc/News.htm 1.143]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1252"></a>
-2004-05-13 12:52 Igor Melichev</strong> (<a href="Details.htm#2004-05-13_1252">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 76.
-Switching new radial shadings on.
-Radial shadings render in 3...10 times faster.
-Radial shadings are not longer restricted with 8bpc.
-
-</pre>
-<p>[src/gxshade4.h 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1246"></a>
-2004-05-13 12:46 Igor Melichev</strong> (<a href="Details.htm#2004-05-13_1246">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 75.
-
-</pre>
-<p>[src/gxshade6.c 1.71]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1140"></a>
-2004-05-13 11:40 Igor Melichev</strong> (<a href="Details.htm#2004-05-13_1140">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 74.
-
-</pre>
-<p>[src/gxshade1.c 1.31, src/gxshade4.h 1.34, src/gxshade6.c 1.70]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_2133"></a>
-2004-05-12 21:33 Igor Melichev</strong> (<a href="Details.htm#2004-05-12_2133">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 73.
-
-</pre>
-<p>[src/gxshade1.c 1.30, src/gxshade4.h 1.33, src/gxshade6.c 1.69]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_2012"></a>
-2004-05-12 20:12 Igor Melichev</strong> (<a href="Details.htm#2004-05-12_2012">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 72.
-
-</pre>
-<p>[src/gxdtfill.h 1.26, src/gxshade4.h 1.32, src/gxshade6.c 1.68]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_1808"></a>
-2004-05-12 18:08 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Fix regression reports (the previous commit accidentally did the exact
-opposite of what we wanted). Also, cleaned up the way the report is built
-so that it is much less confusing.</pre>
-<p>[toolbin/tests/run_nightly 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_1537"></a>
-2004-05-12 15:37 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Avoid a numeric exception; throw /rangecheck when .getbitsrect operator is
-invoked with raster width = 0.
-Fix bug 687223.</pre>
-<p>[src/zdevice.c 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_1133"></a>
-2004-05-12 11:33 Igor Melichev</strong> (<a href="Details.htm#2004-05-12_1133">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 72.
-
-</pre>
-<p>[src/gxshade6.c 1.67]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_0004"></a>
-2004-05-12 00:04 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Fix some warnings about unused variables and undeclared functions
-generated by MSVC with warning level 3. Move the definition of WARNOPT
-and add ifdef's.
-Partial fix for bug 687441.
-
-[DETAILS]
-Although nmake overrides internal definitions when called from command line,
-it doesn't do so when the makefile is invoked from Development Studio.</pre>
-<p>[src/dwimg.c 1.11, src/dwimg.h 1.8, src/dwmain.c 1.16, src/dwmainc.c 1.18, src/dwtrace.h 1.6, src/gdevm64.c 1.2, src/gdevwdib.c 1.8, src/msvc32.mak 1.56, src/msvccmd.mak 1.19, src/unistd_.h 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-11_2048"></a>
-2004-05-11 20:48 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-GCC with -ffast-math compiles ang/90. as ang*(1/90.), losing precission.
-This doesn't happen when the numeral is replaced with a non-const variable.
-So we define the variable to work around the GCC problem.
-Fix bug 687420.</pre>
-<p>[src/gsmisc.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-11_2026"></a>
-2004-05-11 20:26 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Ignore 0-length tables that occur in PDF files generated by Crystal.
-Fix bug 687457.</pre>
-<p>[lib/gs_ttf.ps 1.38]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-11_1113"></a>
-2004-05-11 11:13 Igor Melichev</strong> (<a href="Details.htm#2004-05-11_1113">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 70.
-
-</pre>
-<p>[src/gxshade4.h 1.31, src/gxshade6.c 1.66]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-11_1041"></a>
-2004-05-11 10:41 Igor Melichev</strong> (<a href="Details.htm#2004-05-11_1041">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 69.
-
-</pre>
-<p>[src/gspath.h 1.7, src/gspath1.c 1.9, src/gxshade1.c 1.29, src/gxshade4.h 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1906"></a>
-2004-05-06 19:06 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Correct a problem in the fix for 687418 detected by Russell Lang. Also
-make the routine check_device_separable public for use by the display
-device. The prototype is in gxdevice.h.</pre>
-<p>[src/gdevdflt.c 1.22, src/gxdevice.h 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1719"></a>
-2004-05-06 17:19 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Disable the fix for 687418. This is causing many errors in the regression
-tests. These need to be investigated.</pre>
-<p>[src/gdevdflt.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1626"></a>
-2004-05-06 16:26 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Repress the full report except on Mondays.</pre>
-<p>[toolbin/tests/run_nightly 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1401"></a>
-2004-05-06 14:01 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_1401">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 68.
-Switching linear color device fucntions on.
-
-</pre>
-<p>[src/gxshade4.h 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1325"></a>
-2004-05-06 13:25 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_1325">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 67.
-
-</pre>
-<p>[src/gxshade6.c 1.65]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1303"></a>
-2004-05-06 13:03 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_1303">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 66.
-
-</pre>
-<p>[src/gxshade6.c 1.64]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1234"></a>
-2004-05-06 12:34 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_1234">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 65.
-
-</pre>
-<p>[src/gxshade6.c 1.63, src/gxshade4.h 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0841"></a>
-2004-05-06 08:41 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_0841">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 64.
-
-</pre>
-<p>[src/gdevdsha.c 1.9, src/gxclip.c 1.14, src/gxshade6.c 1.62]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0746"></a>
-2004-05-06 07:46 Ralph Giles</strong> (<a href="Details.htm#2004-05-06_0746">details</a>)</p>
-<blockquote>
-<pre>
-Limit the number of timing runs we're willing to do to detect the cache
-size, preventing an infinite loop if the os timing calls never measure
-appreciable elapsed time. After a patch from Patrick TJ McPhee. Bug 687095.
-
-</pre>
-<p>[src/genarch.c 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0620"></a>
-2004-05-06 06:20 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Make check_device_separable private to avoid a warning from gcc.</pre>
-<p>[src/gdevdflt.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0549"></a>
-2004-05-06 05:49 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687455. The overprint logic creates a temporary device which is
-used to initialize a set of procedures. This temp device is only paritally
-initialized. The partially initialized device is being set up as a
-forwarding device but the target device is not yet present. This created
-a problem when check_device_separable executed. This change sets the temp
-device to 'not separable' so check_device_separable does not try to do
-anything.</pre>
-<p>[src/gsovrc.c 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0519"></a>
-2004-05-06 05:19 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_0519">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 63.
-
-</pre>
-<p>[src/gdevddrw.c 1.24, src/gdevdsha.c 1.8, src/gdevnfwd.c 1.22, src/gxdevcli.h 1.31, src/gxdtfill.h 1.25, src/gxshade1.c 1.28, src/gxshade6.c 1.61]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0517"></a>
-2004-05-06 05:17 Igor Melichev</strong> (<a href="Details.htm#2004-05-06_0517">details</a>)</p>
-<blockquote>
-<pre>
-Implementing is_monotonic for cubic interpolation functions (continued 2).
-
-</pre>
-<p>[src/gsfunc0.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_2355"></a>
-2004-05-05 23:55 Dan Coby</strong> (<a href="Details.htm#2004-05-05_2355">details</a>)</p>
-<blockquote>
-<pre>
-Fix for 687418 WTS does not work with bitcmyk driver. This fix
-is applicable to most devices.
-
-</pre>
-<p>[src/gdevdflt.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_2252"></a>
-2004-05-05 22:52 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Document that we no longer support loading truetype CJK fonts directly from
-/Resources/CIDFont as worked in 7.0x for Japanese fonts. This has been replaced
-by the more general, if less convenience, cidfmap mechanism. Closes bug 686949.</pre>
-<p>[doc/Fonts.htm 1.40, doc/Use.htm 1.108]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0945"></a>
-2004-05-05 09:45 Igor Melichev</strong> (<a href="Details.htm#2004-05-05_0945">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 62.
-
-</pre>
-<p>[src/gscspace.c 1.15, src/gxshade4.h 1.27, src/gxshade6.c 1.60]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0902"></a>
-2004-05-05 09:02 Igor Melichev</strong> (<a href="Details.htm#2004-05-05_0902">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 61.
-
-</pre>
-<p>[src/gxshade6.c 1.59]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0901"></a>
-2004-05-05 09:01 Igor Melichev</strong> (<a href="Details.htm#2004-05-05_0901">details</a>)</p>
-<blockquote>
-<pre>
-Implementing is_monotonic for cubic interpolation functions (continued 1).
-
-</pre>
-<p>[src/gsfunc0.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0635"></a>
-2004-05-05 06:35 Igor Melichev</strong> (<a href="Details.htm#2004-05-05_0635">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 60.
-
-</pre>
-<p>[src/gxdevcli.h 1.30, src/lib.mak 1.181]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-04_2131"></a>
-2004-05-04 21:31 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Replace locally-defined (u)int32 typedefs with the stdint_.h types now
-that they're universally available. This avoids conflict with typedefs
-that are pulled in from sys/types.h on some systems. Bug 687404.</pre>
-<p>[src/gdevupd.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-04_1814"></a>
-2004-05-04 18:14 Igor Melichev</strong> (<a href="Details.htm#2004-05-04_1814">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 59.
-
-</pre>
-<p>[src/gdevddrw.c 1.23, src/gdevdsha.c 1.7, src/gdevnfwd.c 1.21, src/gxdevcli.h 1.29, src/gxdtfill.h 1.24, src/gxshade6.c 1.58]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-04_1753"></a>
-2004-05-04 17:53 Igor Melichev</strong> (<a href="Details.htm#2004-05-04_1753">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 58.
-
-</pre>
-<p>[src/gdevddrw.c 1.22, src/gdevdsha.c 1.6, src/gdevnfwd.c 1.20, src/gxdevcli.h 1.28, src/gxdtfill.h 1.23, src/gxshade6.c 1.57]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_2124"></a>
-2004-05-02 21:24 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add recent new files to the listing in the developer documentation.</pre>
-<p>[doc/Develop.htm 1.132]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_2030"></a>
-2004-05-02 20:30 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the JPXDecode implementation to the list of files in the documentation.</pre>
-<p>[doc/Develop.htm 1.131]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1937"></a>
-2004-05-02 19:37 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a missing file to the testsuite documentation.</pre>
-<p>[doc/Testing.htm 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1926"></a>
-2004-05-02 19:26 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Return the number of failures on exit so an external program can take action on the results. Previously, our tests always returned 0.
-----------------------------------------------------------------------</pre>
-<p>[toolbin/tests/gstestutils.py 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1923"></a>
-2004-05-02 19:23 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Remove dependency on python2.2. Tested with python 2.3.3. Primary problem
-was that calendar module no longer has a localtime member, used time instead.</pre>
-<p>[toolbin/tests/check_all.py 1.6, toolbin/tests/check_comments.py 1.4, toolbin/tests/check_dirs.py 1.9, toolbin/tests/check_docrefs.py 1.10, toolbin/tests/check_source.py 1.10, toolbin/tests/dump_testdb 1.6, toolbin/tests/get_baselines 1.3, toolbin/tests/gscheck_all.py 1.6, toolbin/tests/gscheck_fuzzypdf.py 1.8, toolbin/tests/gscheck_pdfwrite.py 1.20, toolbin/tests/gscheck_raster.py 1.10, toolbin/tests/make_testdb 1.12, toolbin/tests/make_two_pdfversions 1.8, toolbin/tests/make_two_versions 1.13, toolbin/tests/revert_baseline 1.12, toolbin/tests/revert_pdfbaseline 1.10, toolbin/tests/run_nightly 1.24, toolbin/tests/run_regression 1.13, toolbin/tests/testdiff 1.5, toolbin/tests/update_baseline 1.13, toolbin/tests/update_pdfbaseline 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1900"></a>
-2004-05-02 19:00 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Avoid failing when testing.cfg isn't available. This allows check_all.py to be run on a fresh checkout just by passing --gsroot=. on the commandline. Previously this option could only be used to override a required version in testing.cfg</pre>
-<p>[toolbin/tests/gstestutils.py 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-30_2231"></a>
-2004-04-30 22:31 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Provide a dummy 'make check' target in the autoconf build. Some users have requested this,
-and it's available on the GPL 7.0x releases.</pre>
-<p>[src/Makefile.in 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1851"></a>
-2004-04-29 18:51 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Remove some more compiler warnings. Found by Igor. 687441.</pre>
-<p>[src/gdevpsd.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1618"></a>
-2004-04-29 16:18 Igor Melichev</strong> (<a href="Details.htm#2004-04-29_1618">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 57.
-
-</pre>
-<p>[src/gxdevcli.h 1.27, src/gxshade4.h 1.26, src/gxshade6.c 1.56]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1347"></a>
-2004-04-29 13:47 Igor Melichev</strong> (<a href="Details.htm#2004-04-29_1347">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 56.
-
-</pre>
-<p>[src/gxshade4.h 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1340"></a>
-2004-04-29 13:40 Igor Melichev</strong> (<a href="Details.htm#2004-04-29_1340">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 55.
-
-</pre>
-<p>[src/gxshade6.c 1.55]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1238"></a>
-2004-04-29 12:38 Igor Melichev</strong> (<a href="Details.htm#2004-04-29_1238">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 54.
-
-</pre>
-<p>[src/gdevddrw.c 1.21, src/gdevdsha.c 1.5, src/gdevnfwd.c 1.19, src/gxclist.c 1.13, src/gxdevcli.h 1.26, src/gxdtfill.h 1.22, src/gxshade1.c 1.27, src/gxshade4.c 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_0614"></a>
-2004-04-29 06:14 Igor Melichev</strong> (<a href="Details.htm#2004-04-29_0614">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 53.
-
-</pre>
-<p>[src/gdevddrw.c 1.20, src/gxdtfill.h 1.21, src/gxshade6.c 1.54]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_0437"></a>
-2004-04-29 04:37 Igor Melichev</strong> (<a href="Details.htm#2004-04-29_0437">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 52.
-
-</pre>
-<p>[src/gdevddrw.c 1.19, src/gdevdsha.c 1.4, src/gscspace.c 1.14, src/gxdtfill.h 1.20, src/gxshade6.c 1.53, src/lib.mak 1.180]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_1641"></a>
-2004-04-28 16:41 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687441 New: MSVC warnings. Correct some warning messages from
-MSVC.</pre>
-<p>[src/devs.mak 1.110, src/gdevpsd.c 1.9, src/gdevdevn.c 1.16, src/gdevdevn.h 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_1524"></a>
-2004-04-28 15:24 Igor Melichev</strong> (<a href="Details.htm#2004-04-28_1524">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 51.
-
-</pre>
-<p>[src/gxshade6.c 1.52]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0939"></a>
-2004-04-28 09:39 Igor Melichev</strong> (<a href="Details.htm#2004-04-28_0939">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 50.
-
-</pre>
-<p>[src/gdevddrw.c 1.18, src/gdevrops.c 1.10, src/gscspace.c 1.13, src/gxclip.c 1.13, src/gxclip2.c 1.10, src/gxclipm.c 1.12, src/gxcspace.h 1.12, src/gxdtfill.h 1.19, src/gxshade4.h 1.24, src/gxshade6.c 1.51]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0539"></a>
-2004-04-28 05:39 Dan Coby</strong> (<a href="Details.htm#2004-04-28_0539">details</a>)</p>
-<blockquote>
-<pre>
-Implement 687423 Implement SeparationOrder for psdcmyk device.
-
-</pre>
-<p>[src/gdevdevn.c 1.15, src/gdevdevn.h 1.3, src/gdevdflt.c 1.18, src/gdevpsd.c 1.8, src/gsdparam.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0406"></a>
-2004-04-28 04:06 Igor Melichev</strong> (<a href="Details.htm#2004-04-28_0406">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 49.
-
-</pre>
-<p>[src/gdevddrw.c 1.17, src/gxdtfill.h 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0235"></a>
-2004-04-28 02:35 Igor Melichev</strong> (<a href="Details.htm#2004-04-28_0235">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 48a.
-
-</pre>
-<p>[src/gdevdsha.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0226"></a>
-2004-04-28 02:26 Igor Melichev</strong> (<a href="Details.htm#2004-04-28_0226">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 48.
-
-</pre>
-<p>[src/gxshade4.h 1.23, src/gxshade6.c 1.50]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0826"></a>
-2004-04-27 08:26 Igor Melichev</strong> (<a href="Details.htm#2004-04-27_0826">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 47.
-
-</pre>
-<p>[src/gdevddrw.c 1.16, src/gxdevcli.h 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0812"></a>
-2004-04-27 08:12 Igor Melichev</strong> (<a href="Details.htm#2004-04-27_0812">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 46.
-
-</pre>
-<p>[src/gdevddrw.c 1.15, src/gxdevcli.h 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0604"></a>
-2004-04-27 06:04 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add makefile support for compiling in the jasper JPEG 2000 library,
-needed to support the JPXDecode filter in PDF 1.5. Currently only
-enabled in the autoconf build, but porting the changes to other top-level
-makefiles should now work.</pre>
-<p>[src/Makefile.in 1.34, src/configure.ac 1.45, src/gs.mak 1.26, src/jasper.mak 1.1, src/lib.mak 1.179]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0601"></a>
-2004-04-27 06:01 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct two typos in the jasper local source directory detection. It was
-erroneously resetting the jbig2dec local source directory and not reporting
-the found location correctly.</pre>
-<p>[src/configure.ac 1.44]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0543"></a>
-2004-04-27 05:43 Igor Melichev</strong> (<a href="Details.htm#2004-04-27_0543">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 45.
-
-</pre>
-<p>[src/gdevddrw.c 1.14, src/gdevdsha.c 1.3, src/gdevnfwd.c 1.18, src/gxdevcli.h 1.23, src/gxdtfill.h 1.17, src/lib.mak 1.178]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-23_1230"></a>
-2004-04-23 12:30 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Keep calculation in signed types to avoid conversion of the negative
-int to the big positive long, which caused infinite loop on Alpha in
-t1_hinter__adjust_matrix_precision() inline function.
-Fix bug 687417.</pre>
-<p>[src/gxhintn.c 1.48]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-22_0638"></a>
-2004-04-22 06:38 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Document the use of .setpdfwrite and the relation of vmthreshold to the
-accumulation of shared object data in the pdfwrite device. Closes bug
-687409.</pre>
-<p>[doc/Language.htm 1.84, doc/Ps2pdf.htm 1.67, doc/Use.htm 1.107]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-17_1830"></a>
-2004-04-17 18:30 Igor Melichev</strong> (<a href="Details.htm#2004-04-17_1830">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 44.
-
-</pre>
-<p>[src/gdevdflt.c 1.17, src/gdevdsha.c 1.2, src/gdevnfwd.c 1.17, src/gxdevcli.h 1.22, src/gxdevice.h 1.16, src/lib.mak 1.177]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-15_2250"></a>
-2004-04-15 22:50 Igor Melichev</strong> (<a href="Details.htm#2004-04-15_2250">details</a>)</p>
-<blockquote>
-<pre>
-Implementing color mapping linearity checks, step 2.
-
-</pre>
-<p>[src/gscspace.c 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-15_1726"></a>
-2004-04-15 17:26 Ray Johnston</strong> (<a href="Details.htm#2004-04-15_1726">details</a>)</p>
-<blockquote>
-<pre>
-Fix to make sure that both stroke (CA) and non-stroke (ca) opacity is set.
-Support for customer #32 that wants to create transparent effects in PDF
-from PostScript input.
-
-</pre>
-<p>[src/gdevpdfg.c 1.49]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-15_1647"></a>
-2004-04-15 16:47 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Correction to previous commit that caused Subtype value to be consumed
-if it was not a null name. Valid files would fail.</pre>
-<p>[lib/pdf_font.ps 1.65]</p>
+Add recent new files to the listings in the documentation.</pre>
+<p>[doc/Develop.htm 1.137, doc/Psfiles.htm 1.52]</p>
</blockquote>
-<p><strong><a name="2004-04-14_0002"></a>
-2004-04-14 00:02 Dan Coby</strong> (<a href="Details.htm#2004-04-14_0002">details</a>)</p>
+<p><strong><a name="2004-08-28_2128"></a>
+2004-08-28 21:28 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix 687189 for bbox_forward_add_rect infinite recursion.
-This problem caused segment faults or apparent hangs with
-the x11alpha device. This fix also works for 656414
-segfault when using x11alpha
-
-</pre>
-<p>[src/gdevbbox.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-13_2325"></a>
-2004-04-13 23:25 Dan Coby</strong> (<a href="Details.htm#2004-04-13_2325">details</a>)</p>
-<blockquote>
-<pre>
-Fix for 687402 Missing color on annots.pdf. This is actually
-not an error. Instead it is due to some confusion about the
-displaying of link annotations.
-
-</pre>
-<p>[examples/annots.pdf 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-13_1632"></a>
-2004-04-13 16:32 Ray Johnston</strong> (<a href="Details.htm#2004-04-13_1632">details</a>)</p>
-<blockquote>
-<pre>
-Handle (yet another) invalid PDF that Adobe Acrobat can open. If the
-Font /Subtype is / then assume Type1. Also issue a **** WARNING message.
-Bug #687422 for Artifex customer #670.
-
-</pre>
-<p>[lib/pdf_font.ps 1.64]</p>
+Update release notes and open bug list for the 8.31 beta release. Bump
+the release date as well.</pre>
+<p>[doc/News.htm 1.150, src/version.mak 1.72]</p>
</blockquote>
-<p><strong><a name="2004-04-10_1714"></a>
-2004-04-10 17:14 Alex Cherepanov</strong></p>
+<p><strong><a name="2004-08-26_0913"></a>
+2004-08-26 09:13 Russell Lang</strong> (<a href="Details.htm#2004-08-26_0913">details</a>)</p>
<blockquote>
<pre>
-Use ld_length instead of length because RMap is a long dictionary.
-Fix bug 687363.</pre>
-<p>[toolbin/pdfinflt.ps 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-09_0620"></a>
-2004-04-09 06:20 Igor Melichev</strong> (<a href="Details.htm#2004-04-09_0620">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 44.
+Fix half-toning for display device, bug 687629.
</pre>
-<p>[src/gxshade6.c 1.49]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-08_1618"></a>
-2004-04-08 16:18 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct DOS line endings accidentally committed to the repository.
-Bug 687415.</pre>
-<p>[lib/dumphint.ps 1.2, src/dwdll.c 1.7, src/dwimg.c 1.10, src/dwnodll.c 1.6, src/errors.h 1.10, src/gp_dosfs.c 1.17, src/gp_vms.c 1.38, src/gscolor.c 1.13, src/gscolor1.c 1.10, src/math_.h 1.7, src/windows_.h 1.6, src/zfont42.c 1.19, toolbin/tests/fuzzy.c 1.14]</p>
+<p>[src/gdevdsp.c 1.27]</p>
</blockquote>
-<p><strong><a name="2004-04-08_0759"></a>
-2004-04-08 07:59 Igor Melichev</strong> (<a href="Details.htm#2004-04-08_0759">details</a>)</p>
+<p><strong><a name="2004-08-26_0015"></a>
+2004-08-26 00:15 Ray Johnston</strong> (<a href="Details.htm#2004-08-26_0015">details</a>)</p>
<blockquote>
<pre>
-Implementing color mapping linearity checks, step 1.
+Fix for image matrix having negative values. Thanks to Len Sorenson
+for submitting this patch (author unknown). Bug #687411.
</pre>
-<p>[src/gscdevn.c 1.16, src/gscolor2.c 1.20, src/gscpixel.c 1.11, src/gscscie.c 1.11, src/gscsepr.c 1.23, src/gscspace.c 1.11, src/gsicc.c 1.13, src/gspcolor.c 1.13, src/gxcspace.h 1.11]</p>
+<p>[src/gximag3x.c 1.19]</p>
</blockquote>
-<p><strong><a name="2004-04-07_1510"></a>
-2004-04-07 15:10 Raph Levien</strong></p>
+<p><strong><a name="2004-08-26_0004"></a>
+2004-08-26 00:04 Ray Johnston</strong> (<a href="Details.htm#2004-08-26_0004">details</a>)</p>
<blockquote>
<pre>
-Fix: Disables platfonts when antialiasing is in effect. Improves rendering
-quality, and fixes bug 687368.</pre>
-<p>[src/gxchar.c 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-02_1421"></a>
-2004-04-02 14:21 Igor Melichev</strong> (<a href="Details.htm#2004-04-02_1421">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : /XObject <<-1 0 R>> was written to a pattern dictionary.
+Close the font file after the font has been processed (loaded into VM).
+This prevents a problem with using up too many file handles detected on
+Solaris. Thanks to Alex Cherepanov for the patch. Bug #687066.
</pre>
-<p>[src/gdevpdfj.c 1.30]</p>
+<p>[lib/gs_type1.ps 1.15]</p>
</blockquote>
-<p><strong><a name="2004-04-02_0706"></a>
-2004-04-02 07:06 Igor Melichev</strong> (<a href="Details.htm#2004-04-02_0706">details</a>)</p>
+<p><strong><a name="2004-08-25_2352"></a>
+2004-08-25 23:52 Ray Johnston</strong> (<a href="Details.htm#2004-08-25_2352">details</a>)</p>
<blockquote>
<pre>
-Fix : Restoring the non-cache-device constraint in setcolor.
+Fix to close streams at EOF (not only filter streams), as required by
+the PLRM. Thanks to Alex Cherepanov for this patch. Bug #687505.
</pre>
-<p>[src/gscolor2.c 1.19]</p>
+<p>[src/stream.c 1.23]</p>
</blockquote>
-<p><strong><a name="2004-04-02_0219"></a>
-2004-04-02 02:19 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-25_1556"></a>
+2004-08-25 15:56 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Dump output from 'attrib -H dosdefault' to the bit bucket (nul:) to
-eliminate a potentially confusing warning.</pre>
-<p>[src/msvccmd.mak 1.18]</p>
+Bind all operators in DefaultGray, DefaultRGB, DefaultCMYK color spaces.
+Partial fix for the bug 687608</pre>
+<p>[Resource/ColorSpace/DefaultCMYK 1.3, Resource/ColorSpace/DefaultGray 1.3, Resource/ColorSpace/DefaultRGB 1.3]</p>
</blockquote>
-<p><strong><a name="2004-04-01_2039"></a>
-2004-04-01 20:39 Igor Melichev</strong> (<a href="Details.htm#2004-04-01_2039">details</a>)</p>
+<p><strong><a name="2004-08-24_1751"></a>
+2004-08-24 17:51 Igor Melichev</strong> (<a href="Details.htm#2004-08-24_1751">details</a>)</p>
<blockquote>
<pre>
-Fix (Type 1 hinter) : Skip empty hint ranges, improved.
+Fix (pdfwrite) : A page compression type change could cause a crash.
</pre>
-<p>[src/gxhintn.c 1.47]</p>
+<p>[src/gdevpdf.c 1.98, src/gdevpdfu.c 1.58, src/gdevpdfx.h 1.100]</p>
</blockquote>
-<p><strong><a name="2004-04-01_1958"></a>
-2004-04-01 19:58 Igor Melichev</strong> (<a href="Details.htm#2004-04-01_1958">details</a>)</p>
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong> (<a href="Details.htm#2004-08-24_1536">details</a>)</p>
<blockquote>
<pre>
-Fix (Type 1 hinter) : Skip empty hint ranges.
+Fix : gs_lib_ctx was wrongly accessed while looking up a dictionary stack extension.
</pre>
-<p>[src/gxhintn.c 1.46]</p>
+<p>[src/idstack.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-04-01_1335"></a>
-2004-04-01 13:35 Igor Melichev</strong> (<a href="Details.htm#2004-04-01_1335">details</a>)</p>
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong> (<a href="Details.htm#2004-08-24_1536">details</a>)</p>
<blockquote>
<pre>
-Fix : Cygwin/gcc compiler warnings.
+Fix : gs_lib_ctx was not accessible while clist_playback_band.
</pre>
-<p>[src/gstext.c 1.17]</p>
+<p>[src/gxclread.c 1.12]</p>
</blockquote>
-<p><strong><a name="2004-04-01_1323"></a>
-2004-04-01 13:23 Igor Melichev</strong> (<a href="Details.htm#2004-04-01_1323">details</a>)</p>
+<p><strong><a name="2004-08-24_1252"></a>
+2004-08-24 12:52 Igor Melichev</strong> (<a href="Details.htm#2004-08-24_1252">details</a>)</p>
<blockquote>
<pre>
-Fix : MSVC6 compiler warnings.
+Fix (TT interpreter) : Provide a tolerance to an inconsistent cvt length.
</pre>
-<p>[src/gdevpdfo.c 1.29, src/isave.c 1.10]</p>
+<p>[src/ttinterp.c 1.14]</p>
</blockquote>
-<p><strong><a name="2004-04-01_1143"></a>
-2004-04-01 11:43 Igor Melichev</strong> (<a href="Details.htm#2004-04-01_1143">details</a>)</p>
+<p><strong><a name="2004-08-24_1058"></a>
+2004-08-24 10:58 Igor Melichev</strong> (<a href="Details.htm#2004-08-24_1058">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 43.
+Fix (TT interpreter) : A minor portability problem.
</pre>
-<p>[src/gdevdflt.c 1.16, src/gdevdsha.c 1.1, src/gdevdsha.h 1.1, src/gdevnfwd.c 1.16, src/gxdevcli.h 1.21, src/gxdevice.h 1.15, src/lib.mak 1.176]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_1130"></a>
-2004-04-01 11:30 Igor Melichev</strong> (<a href="Details.htm#2004-04-01_1130">details</a>)</p>
-<blockquote>
-<pre>
-Fix : setcachedevice must not depend on a BuildChar color and on gx_show_text_retry.
-
-</pre>
-<p>[src/gscolor2.c 1.18, src/gxccache.c 1.30, src/gxccman.c 1.25, src/gxchar.c 1.41, src/gxtext.h 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_0646"></a>
-2004-04-01 06:46 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix for premature freeing of a 'image' device (makeimagedevice or the
-similar makewordimagedevice). Bug #687227. Thanks to Alex Cherepanov for
-the patch.</pre>
-<p>[src/gsdevmem.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_0614"></a>
-2004-04-01 06:14 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix for inherited MediaBox for the page Group dictionary (transparency).
-Bug #687293. Thanks to Felix Pahl for the analysis and fix.</pre>
-<p>[lib/pdf_main.ps 1.86]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_0451"></a>
-2004-04-01 04:51 Dan Coby</strong> (<a href="Details.htm#2004-04-01_0451">details</a>)</p>
-<blockquote>
-<pre>
-Fix for 687390 GhostScript 8.11 inserts rendering artifacts
-with GIFs as source. The actual problem is an error which
-resulted in a pale yellow being shown as a pale pink. This
-occurs when dithering on devices which use a 256 color palette.
-
-</pre>
-<p>[src/gdevbmp.c 1.9, src/gdevcgm.c 1.10, src/gdevp2up.c 1.5, src/gdevpccm.c 1.6, src/gdevpccm.h 1.7, src/gdevpcx.c 1.6, src/gdevpng.c 1.10, src/gdevsvga.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-25_1735"></a>
-2004-03-25 17:35 Igor Melichev</strong> (<a href="Details.htm#2004-03-25_1735">details</a>)</p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : Stack balance was broken when a CID font is not embedded.
-
-</pre>
-<p>[lib/pdf_font.ps 1.63]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-25_1446"></a>
-2004-03-25 14:46 Igor Melichev</strong> (<a href="Details.htm#2004-03-25_1446">details</a>)</p>
-<blockquote>
-<pre>
-Fix (Type 1 hinter) : Use a weaker condition for horizontal stem recognition.
-
-</pre>
-<p>[src/gxhintn.c 1.45]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_2346"></a>
-2004-03-24 23:46 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove an empty '#' line. Closes bug 687377.</pre>
-<p>[src/stdint_.h 1.3]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0856"></a>
-2004-03-24 08:56 Ray Johnston</strong> (<a href="Details.htm#2004-03-24_0856">details</a>)</p>
-<blockquote>
-<pre>
-Fix for unnecessary re-link when building on Windows. Bug #687059.
-
-</pre>
-<p>[src/msvccmd.mak 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0730"></a>
-2004-03-24 07:30 Igor Melichev</strong> (<a href="Details.htm#2004-03-24_0730">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : TK was written into a charproc.
-
-</pre>
-<p>[src/gdevpdfg.c 1.48]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0729"></a>
-2004-03-24 07:29 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Make use of the SYS_TYPES_HAS_STDINT_TYPES define we set in the configure script. After a patch
-from Alex Cherepanov. Bug 687377.
-
-Also, adopt elif, since we've been using it elsewhere to no ill effect.</pre>
-<p>[src/stdint_.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0638"></a>
-2004-03-24 06:38 Ray Johnston</strong> (<a href="Details.htm#2004-03-24_0638">details</a>)</p>
-<blockquote>
-<pre>
-Fix for incorrect Annotation scaling when an Appearance (/AP) had
-scaling that was not unity (1) and the Subtype was not /Stamp.
-Fixes Bug #687288 for customer #32.
-
-</pre>
-<p>[lib/pdf_draw.ps 1.80]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0620"></a>
-2004-03-24 06:20 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Adobe no longer provides a public link to DistillerParameters.pdf. Link to a hopefully somewhat
-stable directory from which the inspired user can register and download the documentation.</pre>
-<p>[doc/Ps2pdf.htm 1.66]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0612"></a>
-2004-03-24 06:12 Dan Coby</strong> (<a href="Details.htm#2004-03-24_0612">details</a>)</p>
-<blockquote>
-<pre>
-Fix for 687364 rangecheck in buildshading2 from Quark XPress PS file.
-This fix involves the creation of the findcmykcustomcolor and
-setcustomcolor functions.
-
-</pre>
-<p>[lib/gs_lev2.ps 1.31]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-23_1230"></a>
-2004-03-23 12:30 Igor Melichev</strong> (<a href="Details.htm#2004-03-23_1230">details</a>)</p>
-<blockquote>
-<pre>
-Fix : GenericResourceDir was not listed in PermitFileReading.
-
-</pre>
-<p>[lib/gs_init.ps 1.106]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-23_0659"></a>
-2004-03-23 06:59 Ralph Giles</strong> (<a href="Details.htm#2004-03-23_0659">details</a>)</p>
-<blockquote>
-<pre>
-Correct a number of warnings.
-
-</pre>
-<p>[src/sjpx.c 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-22_0123"></a>
-2004-03-22 01:23 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-SunOS 5.9 does not properly replace files with ln -sf. Unlink the
-existing files instead. Closes bug 687378.</pre>
-<p>[autogen.sh 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-21_2235"></a>
-2004-03-21 22:35 Ray Johnston</strong> (<a href="Details.htm#2004-03-21_2235">details</a>)</p>
-<blockquote>
-<pre>
-Fix for a long standing problem that could cause characters to be dropped
-when reading a file with the 'read' operator. Bug #687374 for customer #310.
-
-</pre>
-<p>[src/zfileio.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-19_1008"></a>
-2004-03-19 10:08 Igor Melichev</strong> (<a href="Details.htm#2004-03-19_1008">details</a>)</p>
-<blockquote>
-<pre>
-Fix (TT interpreter) : Subglyphs could be placed to wrong coordinates.
-
-</pre>
-<p>[src/ttfmain.c 1.27]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-19_0952"></a>
-2004-03-19 09:52 Igor Melichev</strong> (<a href="Details.htm#2004-03-19_0952">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Zero text length caused an access to an uninitialized data.
-
-</pre>
-<p>[src/gdevpdte.c 1.55]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-19_0830"></a>
-2004-03-19 08:30 Ray Johnston</strong> (<a href="Details.htm#2004-03-19_0830">details</a>)</p>
-<blockquote>
-<pre>
-Fix to implement PDF specification for '/' as a valid name as opposed to
-the PS token scanning. Previously //name would be incorrectly scanned as
-an immediately evaluated name rather than two names '/' and '/name' which
-is correct. Fixes Bug #687277 for customer #440.
-
-</pre>
-<p>[lib/pdf_base.ps 1.42, lib/pdf_main.ps 1.85, src/iscan.c 1.17, src/iscan.h 1.9, src/iscannum.c 1.8, src/ztoken.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-19_0537"></a>
-2004-03-19 05:37 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Rename the DEBUG_JPX symbol to JPX_DEBUG to match the others we've
-defined for the JPXDecode source.</pre>
-<p>[src/sjpx.c 1.7]</p>
+<p>[src/ttload.c 1.6]</p>
</blockquote>
-<p><strong><a name="2004-03-19_0536"></a>
-2004-03-19 05:36 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-24_0910"></a>
+2004-08-24 09:10 Igor Melichev</strong> (<a href="Details.htm#2004-08-24_0910">details</a>)</p>
<blockquote>
<pre>
-Correct our YCrCb to RGB conversion code. Subtract the proper bias to
-center the chromaticity channels around zero if they are returned
-unsigned. Move the clamp routines to after the conversion to RGB where
-it does some good. Thanks to Raph Levien for his help with this code.
-
-We now use our conversion code by default, since there are some problems
-with the jasper library's conversion on big-endian platforms. The jasper
-conversion can be reenabled by defining JPX_USE_JASPER_CM in the
-preprocessor.</pre>
-<p>[src/sjpx.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-18_1756"></a>
-2004-03-18 17:56 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix name of file in raster directory so that update_pdfbaseline will be
-run when needed (when new files are added).</pre>
-<p>[toolbin/tests/gscheck_pdfwrite.py 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-18_1659"></a>
-2004-03-18 16:59 Igor Melichev</strong> (<a href="Details.htm#2004-03-18_1659">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 43.
+Fix : Makefiles missed a dependency.
</pre>
-<p>[src/gxshade4.h 1.22, src/gxshade6.c 1.48]</p>
+<p>[src/gslibctx.h 1.4, src/lib.mak 1.192]</p>
</blockquote>
-<p><strong><a name="2004-03-18_1233"></a>
-2004-03-18 12:33 Igor Melichev</strong> (<a href="Details.htm#2004-03-18_1233">details</a>)</p>
+<p><strong><a name="2004-08-23_0957"></a>
+2004-08-23 09:57 Russell Lang</strong> (<a href="Details.htm#2004-08-23_0957">details</a>)</p>
<blockquote>
<pre>
-Implementing is_monotonic for cubic interpolation functions.
+Allow the display device row alignment to be changed from the
+default 4 bytes to 8, 16, 32 or 64 bytes.
</pre>
-<p>[src/gsfunc0.c 1.18, src/gsfunc0.h 1.6]</p>
+<p>[src/gdevdsp.c 1.26, src/gdevdsp.h 1.10]</p>
</blockquote>
-<p><strong><a name="2004-03-17_2306"></a>
-2004-03-17 23:06 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-19_2152"></a>
+2004-08-19 21:52 Russell Lang</strong></p>
<blockquote>
<pre>
-Clamp and origin shift the chromaticity values in our JPXDecode filter's
-YUV to RGB conversion code. This still does not produce correct output
-with libjasper's output, but is an improvement. This change affects
-disabled code only.</pre>
-<p>[src/sjpx.c 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_1139"></a>
-2004-03-16 11:39 Igor Melichev</strong> (<a href="Details.htm#2004-03-16_1139">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A floating point interrupt.
-
-</pre>
-<p>[src/gdevvec.c 1.21]</p>
+Changed iapi to use a void* instead of a gs_main_instance pointer.</pre>
+<p>[src/dmmain.c 1.4, src/dpmain.c 1.12, src/dwmainc.c 1.22, src/dxmain.c 1.14, src/dxmainc.c 1.10]</p>
</blockquote>
-<p><strong><a name="2004-03-16_0300"></a>
-2004-03-16 03:00 Ralph Giles</strong> (<a href="Details.htm#2004-03-16_0300">details</a>)</p>
+<p><strong><a name="2004-08-19_1933"></a>
+2004-08-19 19:33 stefan</strong> (<a href="Details.htm#2004-08-19_1933">details</a>)</p>
<blockquote>
<pre>
-Use the jasper library's internal color conversion function to convert
-non-rgb multicomponent images to sRGB.
+Changed iapi to use a void* instead of a gs_main_instance pointer.
+Cleaned up warning related to function pointer signature miss-matches.
</pre>
-<p>[src/sjpx.c 1.4]</p>
+<p>[src/dwmain.c 1.19, src/gdevpdtw.c 1.29, src/gdevpsf.h 1.27, src/gdevpsfm.c 1.15, src/gsalloc.c 1.22, src/gsccode.h 1.14, src/gscpixel.c 1.13, src/gscpixel.h 1.7, src/gscspace.c 1.18, src/gsdevice.c 1.23, src/gslibctx.c 1.4, src/gslibctx.h 1.3, src/gxccman.c 1.28, src/gxfcache.h 1.27, src/iapi.c 1.12, src/iapi.h 1.13, src/idict.c 1.12, src/ilocate.c 1.11, src/iutil.c 1.11, src/iutil.h 1.8, src/sdctc.c 1.6, src/zchar32.c 1.5, src/zcssepr.c 1.16, src/zfont.c 1.12, src/zpacked.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-03-16_0216"></a>
-2004-03-16 02:16 Dan Coby</strong> (<a href="Details.htm#2004-03-16_0216">details</a>)</p>
+<p><strong><a name="2004-08-19_1050"></a>
+2004-08-19 10:50 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix for 687337 Zerodivide in cie_cache_mult. Note: There
-was a typo in the previous fix.
-
-</pre>
-<p>[src/gscie.c 1.16]</p>
+Add a PPD for PostScript to be used by ghostscript ps2pdf.</pre>
+<p>[doc/Develop.htm 1.136, doc/Ps2pdf.htm 1.69, lib/ghostpdf.inf 1.1, lib/ghostpdf.ppd 1.1]</p>
</blockquote>
-<p><strong><a name="2004-03-16_0207"></a>
-2004-03-16 02:07 Dan Coby</strong> (<a href="Details.htm#2004-03-16_0207">details</a>)</p>
+<p><strong><a name="2004-08-19_0738"></a>
+2004-08-19 07:38 Russell Lang</strong> (<a href="Details.htm#2004-08-19_0738">details</a>)</p>
<blockquote>
<pre>
-Fix for 687337 Zerodivide in cie_cache_mult.
+Enable progressive updates for the image window of
+the MS-Windows ghostscript command line program.
+Change update method to use a Windows timer.
</pre>
-<p>[src/gscie.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_0125"></a>
-2004-03-16 01:25 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687349 A wrong comment for gx_device_color_s. This change
-modifies the comment on ccolor and the related variable ccolor_valid.</pre>
-<p>[src/gsdcolor.h 1.14]</p>
+<p>[src/dwimg.c 1.13, src/dwimg.h 1.10, src/dwmainc.c 1.21]</p>
</blockquote>
-<p><strong><a name="2004-03-15_2047"></a>
-2004-03-15 20:47 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-18_2225"></a>
+2004-08-18 22:25 stefan</strong></p>
<blockquote>
<pre>
-Correctly calculate row offsets for copying JPXDecode filter results so
-multi-component images are indexed correctly. Also split the jpxd
-process code into several helper functions for readability.
-
-Support subsampled YUV images properly. Subsampled pixels are
-replicated, not interpolated. Colorspace conversion from YCrCb to RGB is
-still incorrect.</pre>
-<p>[src/sjpx.c 1.3, src/sjpx.h 1.2]</p>
+Fixed dependancies for gslibctx.h</pre>
+<p>[src/int.mak 1.128, src/lib.mak 1.191]</p>
</blockquote>
-<p><strong><a name="2004-03-15_0954"></a>
-2004-03-15 09:54 Igor Melichev</strong> (<a href="Details.htm#2004-03-15_0954">details</a>)</p>
+<p><strong><a name="2004-08-18_2224"></a>
+2004-08-18 22:24 stefan</strong></p>
<blockquote>
<pre>
-MSVC compiler: allowing Precompiled Headers, Incremental Compilation, Edit & Continue.
-
-</pre>
-<p>[src/msvccmd.mak 1.16]</p>
+Removed redundant include.</pre>
+<p>[src/gsmalloc.c 1.13]</p>
</blockquote>
-<p><strong><a name="2004-03-14_2210"></a>
-2004-03-14 22:10 Igor Melichev</strong> (<a href="Details.htm#2004-03-14_2210">details</a>)</p>
+<p><strong><a name="2004-08-18_2044"></a>
+2004-08-18 20:44 Igor Melichev</strong> (<a href="Details.htm#2004-08-18_2044">details</a>)</p>
<blockquote>
<pre>
-Fix : A Cygwin/gcc warning.
+Fix (pdfwrite) : Check for glyph name conflicts while font merging.
</pre>
-<p>[src/zpcolor.c 1.14]</p>
+<p>[src/gdevpdtt.c 1.87, src/gxfcopy.c 1.45]</p>
</blockquote>
-<p><strong><a name="2004-03-14_2202"></a>
-2004-03-14 22:02 Igor Melichev</strong> (<a href="Details.htm#2004-03-14_2202">details</a>)</p>
+<p><strong><a name="2004-08-18_1440"></a>
+2004-08-18 14:40 Igor Melichev</strong> (<a href="Details.htm#2004-08-18_1440">details</a>)</p>
<blockquote>
<pre>
-Fix (PDF interpreter) : CIDMap was wrongly created from CIDToGIDMap.
+Fix (pdfwrite) : Wrong glyph positions with CIDFontType2 with no vmtx.
</pre>
-<p>[lib/gs_ttf.ps 1.37, lib/pdf_font.ps 1.62]</p>
+<p>[src/gdevpdtt.c 1.86]</p>
</blockquote>
-<p><strong><a name="2004-03-14_2201"></a>
-2004-03-14 22:01 Igor Melichev</strong> (<a href="Details.htm#2004-03-14_2201">details</a>)</p>
+<p><strong><a name="2004-08-18_0448"></a>
+2004-08-18 04:48 Dan Coby</strong> (<a href="Details.htm#2004-08-18_0448">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Crash after adding a glyph over a preallocated limit of a CIDFontType 2.
+Implementation of 687496 transparency and CMYK support.
</pre>
-<p>[src/gdevpdtc.c 1.35, src/gdevpdtf.c 1.35, src/gdevpdtt.c 1.77, src/gstype42.c 1.44, src/gxfcopy.c 1.42]</p>
+<p>[src/gdevp14.c 1.26, src/gxblend.c 1.6, src/lib.mak 1.190]</p>
</blockquote>
-<p><strong><a name="2004-03-14_1126"></a>
-2004-03-14 11:26 Igor Melichev</strong> (<a href="Details.htm#2004-03-14_1126">details</a>)</p>
+<p><strong><a name="2004-08-17_2021"></a>
+2004-08-17 20:21 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : XObject's resources were placed wrongly.
-
-</pre>
-<p>[src/gdevpdfm.c 1.36]</p>
+Add PDFSTEP debug aid. Prints a step number at end of PDFDEBUG line, and
+sync's the display, then reads a number of steps to skip (<cr> == single
+step). This is rudimentary but somewhat useful. Invoked with -dPDFSTEP.</pre>
+<p>[lib/pdf_base.ps 1.44]</p>
</blockquote>
-<p><strong><a name="2004-03-13_2231"></a>
-2004-03-13 22:31 Ray Johnston</strong> (<a href="Details.htm#2004-03-13_2231">details</a>)</p>
+<p><strong><a name="2004-08-17_1956"></a>
+2004-08-17 19:56 Ralph Giles</strong></p>
<blockquote>
<pre>
-Add support for 16 bit deep images that is part of PDF 1.5.
-
-</pre>
-<p>[src/gxi16bit.c 1.1, src/gximage.h 1.7, src/gxino16b.c 1.1, src/gxipixel.c 1.10, src/int.mak 1.125, src/lib.mak 1.175, src/spdiff.c 1.6, src/spdiffx.h 1.5, src/zfdecode.c 1.6, src/zimage.c 1.13]</p>
+Bump the version number after the last beta release.</pre>
+<p>[lib/gs_init.ps 1.109, src/gscdef.c 1.44, src/version.mak 1.71]</p>
</blockquote>
-<p><strong><a name="2004-03-13_1828"></a>
-2004-03-13 18:28 Igor Melichev</strong> (<a href="Details.htm#2004-03-13_1828">details</a>)</p>
+<p><strong><a name="2004-08-17_1939"></a>
+2004-08-17 19:39 Ralph Giles</strong></p>
<blockquote>
<pre>
-Implementing current point with double precision.
-
-</pre>
-<p>[src/gdevpdtc.c 1.34, src/gdevpdte.c 1.54, src/gdevpdtt.h 1.22, src/gscoord.c 1.9, src/gspaint.c 1.9, src/gspath.c 1.9, src/gspath.h 1.6, src/gspath1.c 1.8, src/gstype1.c 1.31, src/gstype2.c 1.35, src/gstype42.c 1.43, src/gxchar.c 1.40, src/gxistate.h 1.21, src/gxmatrix.h 1.8, src/gxpath.c 1.10, src/gxpath.h 1.13, src/gxstate.h 1.10, src/gzpath.h 1.37, src/gzstate.h 1.10, src/lib.mak 1.174, src/zupath.c 1.9]</p>
+Remove references to the FreeType license. Artifex Software, Inc. has
+purchased rights to the FreeType 1 code and the work included here is
+relicensed under the same terms as with the rest of the Ghostscript code.</pre>
+<p>[LICENSE 1.4, doc/FTL.txt 1.3]</p>
</blockquote>
-<p><strong><a name="2004-03-13_0033"></a>
-2004-03-13 00:33 Igor Melichev</strong> (<a href="Details.htm#2004-03-13_0033">details</a>)</p>
+<p><strong><a name="2004-08-17_1859"></a>
+2004-08-17 18:59 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (TT grid fitting) : Hints could be lost.
-
-</pre>
-<p>[src/gxttfb.c 1.33]</p>
+Add support for PDF single stepping debug aid (PDFSTEP). Actual interpreter
+changes made separately.</pre>
+<p>[lib/gs_init.ps 1.108]</p>
</blockquote>
-<p><strong><a name="2004-03-12_0653"></a>
-2004-03-12 06:53 Igor Melichev</strong> (<a href="Details.htm#2004-03-12_0653">details</a>)</p>
+<p><strong><a name="2004-08-17_1753"></a>
+2004-08-17 17:53 Ray Johnston</strong> (<a href="Details.htm#2004-08-17_1753">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Fall back to the default implementation when the output document can't handle current color.
+Handle invalid PDF's that use 0.0 font scaling (Tf operator). Fixes bug
+687606 for customer number 780.
</pre>
-<p>[src/gdevpdfd.c 1.38, src/gdevpdtt.c 1.76]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-12_0158"></a>
-2004-03-12 01:58 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687349 A wrong comment for gx_device_color_s. This change
-modifies the comment on ccolor and the related variable ccolor_valid.</pre>
-<p>[src/gsdcolor.h 1.13]</p>
+<p>[lib/pdf_ops.ps 1.34]</p>
</blockquote>
-<p><strong><a name="2004-03-12_0155"></a>
-2004-03-12 01:55 Dan Coby</strong> (<a href="Details.htm#2004-03-12_0155">details</a>)</p>
+<p><strong><a name="2004-08-14_0206"></a>
+2004-08-14 02:06 Russell Lang</strong></p>
<blockquote>
<pre>
-Log message:
-
-Implement 687347: Implementation of the PDF encryption feature:
-EncryptMetadata. Past versions of the PDF encryption have always
-encrypted metadata. With this feature it is possible to NOT encrypt
-metadata streams. I.e. By adding '/EncryptMetadata false' to the
-encryption dictionary.
-
-</pre>
-<p>[lib/pdf_sec.ps 1.15]</p>
+Correct the previous MSVC 8 updates to allow compilation with debugging.</pre>
+<p>[src/msvc32.mak 1.62, src/msvccmd.mak 1.21]</p>
</blockquote>
-<p><strong><a name="2004-03-11_1458"></a>
-2004-03-11 14:58 Igor Melichev</strong> (<a href="Details.htm#2004-03-11_1458">details</a>)</p>
+<p><strong><a name="2004-08-13_1259"></a>
+2004-08-13 12:59 stefan</strong></p>
<blockquote>
<pre>
-Fix : Some Cygwin/gcc warnings.
-
-</pre>
-<p>[src/devs.mak 1.109, src/gdevpdfi.c 1.52]</p>
+Added missing parameter types to prototype.</pre>
+<p>[src/gpcheck.h 1.9]</p>
</blockquote>
-<p><strong><a name="2004-03-11_1450"></a>
-2004-03-11 14:50 Igor Melichev</strong> (<a href="Details.htm#2004-03-11_1450">details</a>)</p>
+<p><strong><a name="2004-08-13_0457"></a>
+2004-08-13 04:57 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix : Some Sun ONE Studio 7 compiler warnings (Solaris 8).
-
-</pre>
-<p>[src/gdevdevn.c 1.14, src/gdevijs.c 1.8, src/gdevnfwd.c 1.15, src/gdevpdfx.h 1.87, src/gdevpng.c 1.9, src/gdevpsd.c 1.7, src/gdevpsdu.c 1.21, src/gdevpsu.c 1.17, src/gdevxcf.c 1.6, src/gscpixel.c 1.10, src/gsdfilt.c 1.9, src/gximag3x.c 1.15, src/szlibd.c 1.7, src/ttfmain.c 1.26]</p>
+Detect the version of Microsoft Visual C++ from the version of nmake.</pre>
+<p>[doc/Make.htm 1.78, src/msvc32.mak 1.61]</p>
</blockquote>
-<p><strong><a name="2004-03-11_0701"></a>
-2004-03-11 07:01 Igor Melichev</strong> (<a href="Details.htm#2004-03-11_0701">details</a>)</p>
+<p><strong><a name="2004-08-13_0016"></a>
+2004-08-13 00:16 Russell Lang</strong> (<a href="Details.htm#2004-08-13_0016">details</a>)</p>
<blockquote>
<pre>
-Fix : Changing the default value of AlignToPixels to 0.
-THIS IS INCOMPATIBLE CHANGE.
+Add support for compiling with the beta of Microsoft Visual
+Studio 2005, also known as MSVC 8.
</pre>
-<p>[doc/Use.htm 1.106, src/gsfont.c 1.32]</p>
+<p>[doc/Make.htm 1.77, src/msvc32.mak 1.60, src/msvccmd.mak 1.20]</p>
</blockquote>
-<p><strong><a name="2004-03-11_0536"></a>
-2004-03-11 05:36 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-11_1433"></a>
+2004-08-11 14:33 stefan</strong> (<a href="Details.htm#2004-08-11_1433">details</a>)</p>
<blockquote>
<pre>
-Some systems require a longer link line with the default static jasper.</pre>
-<p>[toolbin/jpxtopdf.c 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-11_0522"></a>
-2004-03-11 05:22 Ralph Giles</strong> (<a href="Details.htm#2004-03-11_0522">details</a>)</p>
-<blockquote>
-<pre>
-Add a simple C program that uses the jasper library to parse JPX (jpeg2k) image files and embed
-them in a PDF 1.5 document. Useful for testing as there are few producers available at the moment.
+Added memory pointers to gsmalloc use by jpg2000 interface.
</pre>
-<p>[toolbin/jpxtopdf.c 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-10_1906"></a>
-2004-03-10 19:06 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Revert documentation change. Apparenlty the problem was that the user
-specified an ICC colorspace and it does have an effect with pswrite if
-one uses the usual RGB, etc. colorspaces. Bug 687357.</pre>
-<p>[doc/Use.htm 1.105]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-10_1901"></a>
-2004-03-10 19:01 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Clarify that -dNOSUBSTDEVICECOLORS has no effect on the pswrite device.
-Bug 687357.</pre>
-<p>[doc/Use.htm 1.104]</p>
+<p>[src/sjpx.c 1.10, src/sjpx.h 1.3, src/zfjpx.c 1.2]</p>
</blockquote>
-<p><strong><a name="2004-03-10_0549"></a>
-2004-03-10 05:49 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-11_1336"></a>
+2004-08-11 13:36 Ray Johnston</strong></p>
<blockquote>
<pre>
-Correct yet another typo that was preventing the regression from
-running.</pre>
-<p>[toolbin/tests/run_nightly 1.23]</p>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximag3x.c 1.18]</p>
</blockquote>
-<p><strong><a name="2004-03-10_0452"></a>
-2004-03-10 04:52 Raph Levien</strong></p>
+<p><strong><a name="2004-08-11_1333"></a>
+2004-08-11 13:33 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix problem with dci.max_components introduced with DeviceN changes.
-Closes bug #677383.</pre>
-<p>[src/gdevijs.c 1.7]</p>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximage3.c 1.14]</p>
</blockquote>
-<p><strong><a name="2004-03-09_2131"></a>
-2004-03-09 21:31 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-11_1258"></a>
+2004-08-11 12:58 Ray Johnston</strong> (<a href="Details.htm#2004-08-11_1258">details</a>)</p>
<blockquote>
<pre>
-Check for jpeg, zlib, and libpng headers as well as libraries before
-using the shared versions. Bug 687261.</pre>
-<p>[src/configure.ac 1.43]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_1330"></a>
-2004-03-09 13:30 Igor Melichev</strong> (<a href="Details.htm#2004-03-09_1330">details</a>)</p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : Wrong metrics when 2 font resources for same embeded font.
+Fix bug 687038 that resulted in a crash if the initial device was not
+pdfwrite.
</pre>
-<p>[lib/pdf_font.ps 1.61]</p>
+<p>[lib/gs_pdfwr.ps 1.39]</p>
</blockquote>
-<p><strong><a name="2004-03-09_1038"></a>
-2004-03-09 10:38 Igor Melichev</strong> (<a href="Details.htm#2004-03-09_1038">details</a>)</p>
+<p><strong><a name="2004-08-10_1302"></a>
+2004-08-10 13:02 stefan</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Annotations encrypted with a wrong object id.
-
-</pre>
-<p>[src/gdevpdfm.c 1.35]</p>
+Added memory_t pointers to gs_malloc() gs_free() calls in
+devices that aren't normally built.</pre>
+<p>[src/gdev3b1.c 1.5, src/gdevadmp.c 1.6, src/gdevccr.c 1.5, src/gdevcif.c 1.6, src/gdevcp50.c 1.6, src/gdevcslw.c 1.5, src/gdevhl7x.c 1.10, src/gdevimgn.c 1.7, src/gdevlp8k.c 1.5, src/gdevlxm.c 1.5, src/gdevmgr.c 1.6, src/gdevn533.c 1.6, src/gdevo182.c 1.6, src/gdevokii.c 1.7, src/gdevos2p.c 1.8, src/gdevp14.c 1.25, src/gdevphex.c 1.7, src/gdevpsdi.c 1.30, src/gdevsgi.c 1.6, src/gdevsj48.c 1.5, src/gdevsppr.c 1.8, src/gdevsunr.c 1.7, src/gdevwddb.c 1.7, src/gdevwprn.c 1.10, src/gp_macio.c 1.34]</p>
</blockquote>
-<p><strong><a name="2004-03-09_0931"></a>
-2004-03-09 09:31 Igor Melichev</strong> (<a href="Details.htm#2004-03-09_0931">details</a>)</p>
+<p><strong><a name="2004-08-10_1259"></a>
+2004-08-10 12:59 stefan</strong> (<a href="Details.htm#2004-08-10_1259">details</a>)</p>
<blockquote>
<pre>
-Fix (Type 2 charstrings) : More tolerance and conformity.
+fixed bug with iapi, removed gs_lib_finit()'s call of gs_malloc_release.
</pre>
-<p>[src/gstype2.c 1.34]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_0542"></a>
-2004-03-09 05:42 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Remove some extra carriage returns (^M) at the ends of lines. These
-keep sneaking into the sources. Presumably the cause has to do with
-copying files from unix to windows or vice versa.</pre>
-<p>[lib/pdf_base.ps 1.41]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-08_1645"></a>
-2004-03-08 16:45 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo in the whitelist keyword changes.</pre>
-<p>[toolbin/tests/run_nightly 1.22]</p>
+<p>[src/gsinit.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-03-07_1226"></a>
-2004-03-07 12:26 Igor Melichev</strong> (<a href="Details.htm#2004-03-07_1226">details</a>)</p>
+<p><strong><a name="2004-08-09_1702"></a>
+2004-08-09 17:02 stefan</strong></p>
<blockquote>
<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 3).
-
-</pre>
-<p>[src/gsfunc3.c 1.21]</p>
+Fixed uninitialized fstdio2 pointer.</pre>
+<p>[src/gslibctx.c 1.3]</p>
</blockquote>
-<p><strong><a name="2004-03-07_1206"></a>
-2004-03-07 12:06 Igor Melichev</strong> (<a href="Details.htm#2004-03-07_1206">details</a>)</p>
+<p><strong><a name="2004-08-05_2017"></a>
+2004-08-05 20:17 stefan</strong></p>
<blockquote>
<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 2).
-
-</pre>
-<p>[src/gsfunc.c 1.10, src/gsfunc.h 1.11, src/gsfunc0.c 1.17, src/gsfunc3.c 1.20, src/gsfunc4.c 1.15, src/gxfunc.h 1.9, src/gxshade1.c 1.26, src/gxshade6.c 1.47]</p>
+Fixed incorrect function pointer prototype,
+const gs_memory_t * argument was missing.</pre>
+<p>[src/gxfcache.h 1.26, src/gxfcopy.c 1.44]</p>
</blockquote>
-<p><strong><a name="2004-03-07_1204"></a>
-2004-03-07 12:04 Igor Melichev</strong> (<a href="Details.htm#2004-03-07_1204">details</a>)</p>
+<p><strong><a name="2004-08-05_2015"></a>
+2004-08-05 20:15 stefan</strong> (<a href="Details.htm#2004-08-05_2015">details</a>)</p>
<blockquote>
<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result (continued).
+Valid memory pointer used create a tile_clip device instead of NULL.
</pre>
-<p>[src/gsfunc3.c 1.19]</p>
+<p>[src/gxp1fill.c 1.6]</p>
</blockquote>
-<p><strong><a name="2004-03-07_0002"></a>
-2004-03-07 00:02 Igor Melichev</strong> (<a href="Details.htm#2004-03-07_0002">details</a>)</p>
+<p><strong><a name="2004-08-05_1702"></a>
+2004-08-05 17:02 stefan</strong> (<a href="Details.htm#2004-08-05_1702">details</a>)</p>
<blockquote>
<pre>
-Fix (dropout prevention) : extra pixels at small serifs.
+Windows only:
+check_interrupts() with a mem pointer to access the poll function.
</pre>
-<p>[src/gxfdrop.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-06_1515"></a>
-2004-03-06 15:15 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Immediately return the success for 0-length read from a string array.
-Don't seek to the offset because it may be invalid in some broken fonts.
-Fix bug 687340</pre>
-<p>[src/zfont42.c 1.18]</p>
+<p>[src/gdevdbit.c 1.11, src/gdevddrw.c 1.25, src/gdevwpr2.c 1.18, src/gdevwprn.c 1.9, src/gp_macpoll.c 1.2, src/gp_mslib.c 1.6, src/gp_mspol.c 1.5, src/gp_mswin.c 1.24, src/gxclrast.c 1.30, src/gxclread.c 1.11, src/gxclutil.c 1.11, src/gxdtfill.h 1.27, src/sfxfd.c 1.10, src/sfxstdio.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-03-05_2325"></a>
-2004-03-05 23:25 Igor Melichev</strong> (<a href="Details.htm#2004-03-05_2325">details</a>)</p>
+<p><strong><a name="2004-08-04_2340"></a>
+2004-08-04 23:40 stefan</strong></p>
<blockquote>
<pre>
-Fix : Cygwin/gcc warnings.
-
-</pre>
-<p>[src/devs.mak 1.108, src/gdevpdfv.c 1.35, src/gdevpdtt.c 1.75, src/gsfunc0.c 1.16, src/gsfunc3.c 1.18, src/ttfmain.c 1.25]</p>
+fixed typo in last commit.</pre>
+<p>[src/gpcheck.h 1.8]</p>
</blockquote>
-<p><strong><a name="2004-03-05_2226"></a>
-2004-03-05 22:26 Igor Melichev</strong> (<a href="Details.htm#2004-03-05_2226">details</a>)</p>
+<p><strong><a name="2004-08-04_2333"></a>
+2004-08-04 23:33 stefan</strong> (<a href="Details.htm#2004-08-04_2333">details</a>)</p>
<blockquote>
<pre>
-Fix : Raster depended on bands, step 4, final.
+gs_memory_t pointer additions for msvc build.
</pre>
-<p>[src/gxfill.c 1.117, src/gxfillsl.h 1.4, src/gxfilltr.h 1.6, src/gxfillts.h 1.3]</p>
+<p>[src/gdev4081.c 1.6, src/gdev4693.c 1.9, src/gdev8510.c 1.7, src/gdevdm24.c 1.8, src/gdevdsp.c 1.25, src/gdevescp.c 1.7, src/gdevmswn.c 1.11, src/gdevmsxf.c 1.8, src/gdevpjet.c 1.7, src/gdevwpr2.c 1.17, src/gp_mspol.c 1.4, src/gpcheck.h 1.7, src/gsargs.c 1.9, src/gsdll.c 1.12, src/gsmisc.c 1.18, src/gxccache.c 1.32, src/gxclutil.c 1.10, src/imain.h 1.9, src/interp.c 1.19, src/main.h 1.7, src/msvc32.mak 1.59, src/sfxstdio.c 1.8]</p>
</blockquote>
-<p><strong><a name="2004-03-05_1535"></a>
-2004-03-05 15:35 Igor Melichev</strong> (<a href="Details.htm#2004-03-05_1535">details</a>)</p>
+<p><strong><a name="2004-08-04_1936"></a>
+2004-08-04 19:36 stefan</strong> (<a href="Details.htm#2004-08-04_1936">details</a>)</p>
<blockquote>
<pre>
-Fix : Raster depended on bands, step 3.
+Addition of a Library Context to start the process of removing globals.
</pre>
-<p>[src/gxfill.c 1.116]</p>
+<p>[src/bfont.h 1.10, src/devs.mak 1.117, src/dstack.h 1.6, src/files.h 1.10, src/gdevbj10.c 1.9, src/gdevcdj.c 1.15, src/gdevdcrd.c 1.6, src/gdevepsc.c 1.11, src/gdevepsn.c 1.9, src/gdevijs.c 1.9, src/gdevp14.c 1.24, src/gdevpdfb.c 1.23, src/gdevpdfc.c 1.48, src/gdevpdfg.c 1.58, src/gdevpdfg.h 1.33, src/gdevpdfi.c 1.56, src/gdevpdfk.c 1.8, src/gdevpdfv.c 1.36, src/gdevpdti.c 1.36, src/gdevplnx.c 1.10, src/gdevprn.c 1.18, src/gdevprna.c 1.6, src/gdevpsdi.c 1.29, src/gdevpxat.h 1.6, src/gdevpxen.h 1.6, src/gdevstc.c 1.10, src/gdevupd.c 1.16, src/gdevvec.c 1.23, src/gdevxcmp.c 1.9, src/gdevxxf.c 1.9, src/gp_mac.c 1.16, src/gs.c 1.12, src/gs_dll_call.h 1.1, src/gsalloc.c 1.21, src/gsalloc.h 1.7, src/gsalphac.c 1.7, src/gsccode.h 1.13, src/gscdevn.c 1.21, src/gscolor.c 1.14, src/gscolor1.c 1.11, src/gscolor3.c 1.8, src/gscparam.c 1.10, src/gscpixel.c 1.12, src/gscpixel.h 1.6, src/gscrd.c 1.6, src/gscrd.h 1.7, src/gscscie.c 1.12, src/gscsepr.c 1.27, src/gscspace.c 1.17, src/gscspace.h 1.14, src/gsdevice.c 1.22, src/gsequivc.c 1.5, src/gsexit.h 1.10, src/gsfcid2.c 1.6, src/gsfcmap.c 1.24, src/gsfcmap1.c 1.7, src/gsfont.c 1.33, src/gsht.c 1.22, src/gsht1.c 1.15, src/gshtx.c 1.6, src/gsimage.c 1.12, src/gsinit.c 1.6, src/gsio.h 1.8, src/gsiodevs.c 1.6, src/gsistate.c 1.10, src/gslib.c 1.14, src/gslib.h 1.6, src/gslibctx.c 1.2, src/gslibctx.h 1.2, src/gsmalloc.c 1.12, src/gsmalloc.h 1.6, src/gsmemlok.c 1.6, src/gsmemory.c 1.9, src/gsmemory.h 1.8, src/gsmemraw.h 1.8, src/gsmemret.c 1.5, src/gsmisc.c 1.17, src/gsovrc.c 1.6, src/gspcolor.c 1.14, src/gsptype1.c 1.19, src/gsstate.c 1.24, src/gsstruct.h 1.18, src/gsstype.h 1.6, src/gsutil.c 1.10, src/gsutil.h 1.8, src/gxacpath.c 1.10, src/gxalloc.h 1.11, src/gxccache.c 1.31, src/gxccman.c 1.27, src/gxcht.c 1.13, src/gxclbits.c 1.9, src/gxclrast.c 1.29, src/gxclread.c 1.10, src/gxclrect.c 1.7, src/gxcpath.c 1.12, src/gxcspace.h 1.13, src/gxdevcli.h 1.34, src/gxdevice.h 1.19, src/gxdhtserial.c 1.5, src/gxfcmap.h 1.16, src/gxfcopy.c 1.43, src/gxht.c 1.16, src/gxht.h 1.9, src/gximag3x.c 1.17, src/gximage.c 1.7, src/gxpcmap.c 1.13, src/gxttfb.c 1.34, src/gzht.h 1.13, src/ialloc.c 1.7, src/ialloc.h 1.6, src/iapi.c 1.11, src/ibnum.c 1.8, src/ibnum.h 1.8, src/ichar.h 1.7, src/icharout.h 1.9, src/icid.h 1.8, src/icie.h 1.7, src/icstate.h 1.13, src/idebug.c 1.9, src/idebug.h 1.6, src/idict.c 1.11, src/idict.h 1.6, src/idparam.c 1.9, src/idparam.h 1.7, src/idstack.c 1.6, src/ifapi.h 1.19, src/ifont.h 1.14, src/ifont1.h 1.7, src/ifont42.h 1.9, src/igc.c 1.13, src/igc.h 1.8, src/igcref.c 1.6, src/iimage.h 1.7, src/iinit.c 1.10, src/ilocate.c 1.10, src/imain.c 1.39, src/imainarg.c 1.32, src/iminst.h 1.8, src/iname.h 1.5, src/interp.c 1.18, src/iparam.c 1.10, src/iplugin.c 1.5, src/iplugin.h 1.5, src/isave.c 1.11, src/isave.h 1.7, src/iscan.c 1.18, src/iscanbin.c 1.14, src/iutil.c 1.10, src/iutil.h 1.7, src/lib.mak 1.189, src/sdctc.c 1.5, src/std.h 1.12, src/szlibc.c 1.6, src/ttload.c 1.5, src/zarray.c 1.5, src/zbfont.c 1.27, src/zchar.c 1.14, src/zchar1.c 1.36, src/zcharout.c 1.12, src/zcharx.c 1.7, src/zcid.c 1.9, src/zcie.c 1.12, src/zcolor.c 1.19, src/zcontext.c 1.11, src/zcontrol.c 1.11, src/zcrd.c 1.8, src/zcsdevn.c 1.12, src/zcsindex.c 1.7, src/zcspixel.c 1.5, src/zcssepr.c 1.15, src/zdevice.c 1.9, src/zdevice2.c 1.9, src/zdict.c 1.6, src/zdps.c 1.8, src/zdps1.c 1.7, src/zfapi.c 1.52, src/zfcid0.c 1.22, src/zfcid1.c 1.19, src/zfcmap.c 1.15, src/zfile.c 1.41, src/zfileio.c 1.17, src/zfont.c 1.11, src/zfont0.c 1.7, src/zfont1.c 1.12, src/zfont2.c 1.7, src/zfont32.c 1.5, src/zfont42.c 1.20, src/zfontenum.c 1.4, src/zfrsd.c 1.10, src/zfunc.c 1.14, src/zfunc3.c 1.7, src/zfunc4.c 1.12, src/zgeneric.c 1.8, src/zgstate.c 1.10, src/zht2.c 1.12, src/zht2.h 1.3, src/zicc.c 1.7, src/zimage.c 1.14, src/zimage3.c 1.7, src/ziodevs.c 1.9, src/ziodevsc.c 1.7, src/zmatrix.c 1.8, src/zmedia2.c 1.16, src/zmisc.c 1.7, src/zmisc2.c 1.7, src/zmisc3.c 1.6, src/zpacked.c 1.6, src/zpcolor.c 1.15, src/zrelbit.c 1.6, src/zshade.c 1.15, src/zstring.c 1.6, src/ztoken.c 1.14, src/ztrans.c 1.22, src/ztype.c 1.8, src/zupath.c 1.10, src/zusparam.c 1.13, src/zvmem.c 1.8]</p>
</blockquote>
-<p><strong><a name="2004-03-05_1439"></a>
-2004-03-05 14:39 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-04_0100"></a>
+2004-08-04 01:00 Ralph Giles</strong></p>
<blockquote>
<pre>
-correct a typo in the recent comment revision</pre>
-<p>[doc/Make.htm 1.74]</p>
+add a .cvsignore list for generated files</pre>
+<p>[contrib/pscolor/.cvsignore 1.1]</p>
</blockquote>
-<p><strong><a name="2004-03-05_1436"></a>
-2004-03-05 14:36 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-04_0055"></a>
+2004-08-04 00:55 Ralph Giles</strong></p>
<blockquote>
<pre>
-add a missing '.' to a comment</pre>
-<p>[src/msvc32.mak 1.55]</p>
+Add variable declaration for the path to the ghostscript executable to
+the unix wrapper scripts. This simplifies changing the invocation name.
+Partial fix for bug 686863.</pre>
+<p>[lib/bdftops 1.5, lib/dumphint 1.2, lib/dvipdf 1.5, lib/eps2eps 1.6, lib/font2c 1.4, lib/gsbj 1.4, lib/gsdj 1.4, lib/gsdj500 1.4, lib/gslj 1.4, lib/gslp 1.4, lib/gsnd 1.4, lib/pdf2dsc 1.6, lib/pdf2ps 1.7, lib/pdfopt 1.7, lib/pf2afm 1.5, lib/pfbtopfa 1.6, lib/pphs 1.4, lib/ps2ascii 1.7, lib/ps2epsi 1.10, lib/ps2pdfwr 1.10, lib/ps2ps 1.7, lib/pv.sh 1.4, lib/unix-lpr.sh 1.5, lib/wftopfa 1.4]</p>
</blockquote>
-<p><strong><a name="2004-03-05_1416"></a>
-2004-03-05 14:16 Igor Melichev</strong> (<a href="Details.htm#2004-03-05_1416">details</a>)</p>
+<p><strong><a name="2004-08-02_0333"></a>
+2004-08-02 03:33 Igor Melichev</strong> (<a href="Details.htm#2004-08-02_0333">details</a>)</p>
<blockquote>
<pre>
-Fix : Raster depended on bands, step 2.
+Fix : .OrigFont was not provided when an embeded font is defined.
</pre>
-<p>[src/gxfilltr.h 1.5]</p>
+<p>[lib/gs_fonts.ps 1.47]</p>
</blockquote>
-<p><strong><a name="2004-03-05_1317"></a>
-2004-03-05 13:17 Igor Melichev</strong> (<a href="Details.htm#2004-03-05_1317">details</a>)</p>
+<p><strong><a name="2004-07-30_2132"></a>
+2004-07-30 21:32 Dan Coby</strong> (<a href="Details.htm#2004-07-30_2132">details</a>)</p>
<blockquote>
<pre>
-Fix : Raster depended on bands, step 1.
+More work upon 687551 Implement the remaining TN 5044 procedures.
+This commit implements the setcmykoverprint procedure.
</pre>
-<p>[src/gxfill.c 1.115, src/gxfilltr.h 1.4, src/gxfillts.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_0537"></a>
-2004-03-05 05:37 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove a debug tracing message.</pre>
-<p>[src/sjpx.c 1.2]</p>
+<p>[lib/gs_lev2.ps 1.32]</p>
</blockquote>
-<p><strong><a name="2004-03-04_2250"></a>
-2004-03-04 22:50 Ralph Giles</strong></p>
+<p><strong><a name="2004-07-29_1919"></a>
+2004-07-29 19:19 Igor Melichev</strong> (<a href="Details.htm#2004-07-29_1919">details</a>)</p>
<blockquote>
<pre>
-Add support for our whitelist keyword filter to the regression run.</pre>
-<p>[toolbin/tests/run_nightly 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_2234"></a>
-2004-03-04 22:34 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve wording in the MSVC debug flag descriptions.</pre>
-<p>[doc/Make.htm 1.73]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_2228"></a>
-2004-03-04 22:28 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve wording in a comment.</pre>
-<p>[src/msvc32.mak 1.54]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1641"></a>
-2004-03-04 16:41 Igor Melichev</strong> (<a href="Details.htm#2004-03-04_1641">details</a>)</p>
-<blockquote>
-<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result.
+Fix : True Type font loader : numLoca run out the PS string size limit.
</pre>
-<p>[src/gsfunc.h 1.10, src/gsfunc0.c 1.15, src/gsfunc3.c 1.17]</p>
+<p>[lib/gs_ttf.ps 1.39]</p>
</blockquote>
-<p><strong><a name="2004-03-04_1627"></a>
-2004-03-04 16:27 Igor Melichev</strong> (<a href="Details.htm#2004-03-04_1627">details</a>)</p>
+<p><strong><a name="2004-07-29_1746"></a>
+2004-07-29 17:46 Igor Melichev</strong> (<a href="Details.htm#2004-07-29_1746">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Reject encryption options if no password is specified, improved.
+1. Fix (PS interpreter) : The FontBBox validation check was too strong.
+2. Fix (pdfwrite) : Explicitely set line parameters in a charproc.
</pre>
-<p>[src/gdevpdf.c 1.92]</p>
+<p>[src/gdevpdtt.c 1.85, src/gslparam.h 1.5, src/zchar.c 1.13]</p>
</blockquote>
-<p><strong><a name="2004-03-04_1613"></a>
-2004-03-04 16:13 Igor Melichev</strong> (<a href="Details.htm#2004-03-04_1613">details</a>)</p>
+<p><strong><a name="2004-07-28_1946"></a>
+2004-07-28 19:46 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : "KeyLength" option name was misspelled in the documentation.
-
-</pre>
-<p>[doc/Ps2pdf.htm 1.65]</p>
+test commit; verifying the cvs announcement list is working.</pre>
+<p>[src/Makefile.in 1.37]</p>
</blockquote>
-<p><strong><a name="2004-03-04_1613"></a>
-2004-03-04 16:13 Igor Melichev</strong> (<a href="Details.htm#2004-03-04_1613">details</a>)</p>
+<p><strong><a name="2004-07-28_1009"></a>
+2004-07-28 10:09 Igor Melichev</strong> (<a href="Details.htm#2004-07-28_1009">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Reject encryption options if no password is specified.
+Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 4).
</pre>
-<p>[src/gdevpdf.c 1.91]</p>
+<p>[src/gsfunc3.c 1.22]</p>
</blockquote>
-<p><strong><a name="2004-03-04_1550"></a>
-2004-03-04 15:50 Igor Melichev</strong> (<a href="Details.htm#2004-03-04_1550">details</a>)</p>
+<p><strong><a name="2004-07-26_2333"></a>
+2004-07-26 23:33 Dan Coby</strong> (<a href="Details.htm#2004-07-26_2333">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Floating point aritmetic applied to uninitialized data.
+Fix for 687572 AFPL Ghostscript 8.14 fails with some PDF files.
</pre>
-<p>[src/gdevpdte.c 1.53, src/gdevpdtt.c 1.74]</p>
+<p>[lib/pdf_draw.ps 1.83]</p>
</blockquote>
-<p><strong><a name="2004-03-04_1434"></a>
-2004-03-04 14:34 Igor Melichev</strong> (<a href="Details.htm#2004-03-04_1434">details</a>)</p>
+<p><strong><a name="2004-07-26_2321"></a>
+2004-07-26 23:21 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix (TT grid fitting) : The glyph trailing moveto got wrong coordinates.
-
-</pre>
-<p>[src/gxttfb.c 1.32, src/ttfmain.c 1.24]</p>
+Fix for 687591 Overprint Preview is not documented. This change adds
+documentaion for how Ghostscript handles overprinting and spot colors
+to Use.htm.</pre>
+<p>[doc/Use.htm 1.110]</p>
</blockquote>
-<p><strong><a name="2004-03-04_0506"></a>
-2004-03-04 05:06 Dan Coby</strong> (<a href="Details.htm#2004-03-04_0506">details</a>)</p>
+<p><strong><a name="2004-07-24_0812"></a>
+2004-07-24 08:12 Igor Melichev</strong> (<a href="Details.htm#2004-07-24_0812">details</a>)</p>
<blockquote>
<pre>
-Implementation of 687326 Enhancement: Handling of PDF 1.5encryption.
+ps2write step 39 : Implementing embedded TrueType fonts (continued).
</pre>
-<p>[lib/pdf_sec.ps 1.14]</p>
+<p>[lib/opdfread.ps 1.34]</p>
</blockquote>
-<p><strong><a name="2004-03-03_1353"></a>
-2004-03-03 13:53 Igor Melichev</strong> (<a href="Details.htm#2004-03-03_1353">details</a>)</p>
+<p><strong><a name="2004-07-23_1911"></a>
+2004-07-23 19:11 Igor Melichev</strong> (<a href="Details.htm#2004-07-23_1911">details</a>)</p>
<blockquote>
<pre>
-Fix : Shading could cause a floating point exception.
+ps2write step 39 : Implementing embedded TrueType fonts.
</pre>
-<p>[src/gxshade1.c 1.25, src/gxshade6.c 1.46]</p>
+<p>[lib/opdfread.ps 1.33]</p>
</blockquote>
-<p><strong><a name="2004-03-03_1010"></a>
-2004-03-03 10:10 Igor Melichev</strong> (<a href="Details.htm#2004-03-03_1010">details</a>)</p>
+<p><strong><a name="2004-07-22_1735"></a>
+2004-07-22 17:35 Igor Melichev</strong> (<a href="Details.htm#2004-07-22_1735">details</a>)</p>
<blockquote>
<pre>
-Fix (TT grid fitting) : AlignToPixels=0 aligned to pixels.
+ps2write step 38 : Implementing embedded Type 1 fonts.
</pre>
-<p>[src/gxttfb.c 1.31]</p>
+<p>[lib/opdfread.ps 1.32]</p>
</blockquote>
-<p><strong><a name="2004-03-03_0816"></a>
-2004-03-03 08:16 Igor Melichev</strong> (<a href="Details.htm#2004-03-03_0816">details</a>)</p>
+<p><strong><a name="2004-07-22_1304"></a>
+2004-07-22 13:04 Igor Melichev</strong> (<a href="Details.htm#2004-07-22_1304">details</a>)</p>
<blockquote>
<pre>
-Fix (type 1 hinter) : small resolutions caused a rangecheck.
+ps2write step 38 : Write font data after the font descriptor.
</pre>
-<p>[src/gxhintn.c 1.44]</p>
+<p>[src/gdevpdtb.c 1.27, src/gdevpdtb.h 1.10, src/gdevpdtd.c 1.16]</p>
</blockquote>
-<p><strong><a name="2004-03-03_0514"></a>
-2004-03-03 05:14 Dan Coby</strong> (<a href="Details.htm#2004-03-03_0514">details</a>)</p>
+<p><strong><a name="2004-07-22_1108"></a>
+2004-07-22 11:08 Igor Melichev</strong> (<a href="Details.htm#2004-07-22_1108">details</a>)</p>
<blockquote>
<pre>
-Fix for 687274 White areas appear shaded.
+ps2write step 37 : Don't convert Type 1 into CFF when generating ps2write output.
</pre>
-<p>[lib/gs_init.ps 1.105]</p>
+<p>[src/gdevpdfg.c 1.57, src/gdevpdfx.h 1.99, src/gdevpdtb.c 1.26]</p>
</blockquote>
-<p><strong><a name="2004-03-02_1147"></a>
-2004-03-02 11:47 Igor Melichev</strong> (<a href="Details.htm#2004-03-02_1147">details</a>)</p>
+<p><strong><a name="2004-07-22_0756"></a>
+2004-07-22 07:56 Igor Melichev</strong> (<a href="Details.htm#2004-07-22_0756">details</a>)</p>
<blockquote>
<pre>
-Improving the MSVC debug build options.
+ps2write step 36 : Switching on the new code DELAYED_STREAMS, PS2WRITE.
</pre>
-<p>[src/msvc32.mak 1.53, src/msvccmd.mak 1.15, doc/Make.htm 1.72]</p>
+<p>[src/gdevvec.h 1.15]</p>
</blockquote>
-<p><strong><a name="2004-03-02_1014"></a>
-2004-03-02 10:14 Igor Melichev</strong> (<a href="Details.htm#2004-03-02_1014">details</a>)</p>
+<p><strong><a name="2004-07-20_0708"></a>
+2004-07-20 07:08 Ray Johnston</strong> (<a href="Details.htm#2004-07-20_0708">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Errors were missed processing a shading data stream.
+Fix to make sure that device deactivation is invoked before final close
+of the device when exit. Bug #687557.
</pre>
-<p>[src/gdevpdfd.c 1.37, src/gdevpdfg.c 1.47, src/gdevpdfv.c 1.34]</p>
+<p>[src/imain.c 1.38]</p>
</blockquote>
-<p><strong><a name="2004-03-02_0834"></a>
-2004-03-02 08:34 Igor Melichev</strong> (<a href="Details.htm#2004-03-02_0834">details</a>)</p>
+<p><strong><a name="2004-07-17_1844"></a>
+2004-07-17 18:44 Ray Johnston</strong> (<a href="Details.htm#2004-07-17_1844">details</a>)</p>
<blockquote>
<pre>
-Fix : Errors were missed processing a shading data stream.
+Fix so that compiled fonts have the dictionary permissions set correctly.
+Bug 687444 for customer #531.
</pre>
-<p>[src/gxshade.c 1.21, src/gxshade4.c 1.25, src/gxshade6.c 1.45, src/gxshade.h 1.11]</p>
+<p>[src/iccfont.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-03-01_2359"></a>
-2004-03-01 23:59 Igor Melichev</strong> (<a href="Details.htm#2004-03-01_2359">details</a>)</p>
+<p><strong><a name="2004-07-16_2214"></a>
+2004-07-16 22:14 Igor Melichev</strong> (<a href="Details.htm#2004-07-16_2214">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 42.
+Fix (pdfwrite) : Provide a delayed stream writing.
</pre>
-<p>[src/gxshade6.c 1.44]</p>
+<p>[src/gdevpdf.c 1.97, src/gdevpdfu.c 1.57, src/gdevpdfx.h 1.98, src/gdevpdtb.c 1.25, src/gdevpdtf.c 1.37, src/gdevpdti.c 1.35, src/gdevpdtw.c 1.28, src/gdevpdtw.h 1.5]</p>
</blockquote>
-<p><strong><a name="2004-03-01_1239"></a>
-2004-03-01 12:39 Igor Melichev</strong> (<a href="Details.htm#2004-03-01_1239">details</a>)</p>
+<p><strong><a name="2004-07-15_1639"></a>
+2004-07-15 16:39 Igor Melichev</strong> (<a href="Details.htm#2004-07-15_1639">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 41, release candidate 2.
+Fix (pdfwrite) : Discard the output file seekability requirement in the /PS pdfmark implementation.
</pre>
-<p>[src/gxshade6.c 1.43]</p>
+<p>[src/gdevpdfm.c 1.45]</p>
</blockquote>
-<p><strong><a name="2004-03-01_1044"></a>
-2004-03-01 10:44 Igor Melichev</strong> (<a href="Details.htm#2004-03-01_1044">details</a>)</p>
+<p><strong><a name="2004-07-15_1237"></a>
+2004-07-15 12:37 Igor Melichev</strong> (<a href="Details.htm#2004-07-15_1237">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 40.
+Fix (pdfwrite) : text.operation was inconsistent after replacing TEXT_FROM_GLYPHS.
</pre>
-<p>[src/gxshade4.h 1.21, src/gxshade6.c 1.42]</p>
+<p>[src/gdevpdtc.c 1.36, src/gdevpdte.c 1.60]</p>
</blockquote>
-<p><strong><a name="2004-02-29_1659"></a>
-2004-02-29 16:59 Igor Melichev</strong> (<a href="Details.htm#2004-02-29_1659">details</a>)</p>
+<p><strong><a name="2004-07-14_1821"></a>
+2004-07-14 18:21 Ray Johnston</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 39.
-
-</pre>
-<p>[src/gxshade1.c 1.24, src/gxshade6.c 1.41]</p>
+Sort the output in filename order to make comparison of daily db's easier.</pre>
+<p>[toolbin/tests/dump_testdb 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-29_1447"></a>
-2004-02-29 14:47 Igor Melichev</strong> (<a href="Details.htm#2004-02-29_1447">details</a>)</p>
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong> (<a href="Details.htm#2004-07-14_1757">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 38.
+ps2write step 35 : Fixing more problems with color spaces.
</pre>
-<p>[src/gxshade6.c 1.40]</p>
+<p>[lib/opdfread.ps 1.31]</p>
</blockquote>
-<p><strong><a name="2004-02-29_1303"></a>
-2004-02-29 13:03 Igor Melichev</strong> (<a href="Details.htm#2004-02-29_1303">details</a>)</p>
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong> (<a href="Details.htm#2004-07-14_1757">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 37.
+Fix (pdfwrite) : Don't write DeviceN, DevicePixel colors with CompatibilityLevel<=1.2 .
</pre>
-<p>[src/gxshade6.c 1.39]</p>
+<p>[src/gdevpdfc.c 1.47, src/gdevpdfg.c 1.56]</p>
</blockquote>
-<p><strong><a name="2004-02-28_1230"></a>
-2004-02-28 12:30 Igor Melichev</strong> (<a href="Details.htm#2004-02-28_1230">details</a>)</p>
+<p><strong><a name="2004-07-14_1559"></a>
+2004-07-14 15:59 Ralph Giles</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 36.
-
-</pre>
-<p>[src/gxshade1.c 1.23, src/gxshade4.c 1.24, src/gxshade6.c 1.38, src/gxshade4.h 1.20]</p>
+Include string_.h for missing prototypes of strlen() &c. Bug 687541.</pre>
+<p>[src/gscdevn.c 1.20, src/gsfcmap.c 1.23, src/gsht1.c 1.14, src/int.mak 1.127, src/lib.mak 1.188, src/zfile1.c 1.12]</p>
</blockquote>
-<p><strong><a name="2004-02-27_0924"></a>
-2004-02-27 09:24 Igor Melichev</strong> (<a href="Details.htm#2004-02-27_0924">details</a>)</p>
+<p><strong><a name="2004-07-14_1538"></a>
+2004-07-14 15:38 Ralph Giles</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 35.
-
-</pre>
-<p>[src/gxshade6.c 1.37]</p>
+Cast pointer type to avoid a warning. Bug 687541.</pre>
+<p>[src/sjpx.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-26_2055"></a>
-2004-02-26 20:55 Igor Melichev</strong> (<a href="Details.htm#2004-02-26_2055">details</a>)</p>
+<p><strong><a name="2004-07-14_1534"></a>
+2004-07-14 15:34 Ralph Giles</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 34.
-
-</pre>
-<p>[src/gxshade.c 1.20, src/gxshade1.c 1.22, src/gxshade4.c 1.23, src/gxshade4.h 1.19, src/gxshade6.c 1.36, src/lib.mak 1.173]</p>
+Correct some types to unsigned to match the gp_file_name_combine() prototype.
+Partial fix for bug 687541.</pre>
+<p>[src/gp_unix_cache.c 1.3]</p>
</blockquote>
-<p><strong><a name="2004-02-26_2010"></a>
-2004-02-26 20:10 Ray Johnston</strong> (<a href="Details.htm#2004-02-26_2010">details</a>)</p>
+<p><strong><a name="2004-07-14_1424"></a>
+2004-07-14 14:24 Ray Johnston</strong> (<a href="Details.htm#2004-07-14_1424">details</a>)</p>
<blockquote>
<pre>
-Revert to the correct version of gs_setpd.ps and Use.htm.
+Fix to pdfwrite initialization to make sure initial distiller params are
+incorporated into the device. Also add collection of distillerparams when
+building currentpagedevice. Fixes bugs 687325, 687436 and 687458.
</pre>
-<p>[doc/Use.htm 1.103, lib/gs_setpd.ps 1.23]</p>
+<p>[lib/gs_pdfwr.ps 1.38, lib/gs_setpd.ps 1.24]</p>
</blockquote>
-<p><strong><a name="2004-02-26_1955"></a>
-2004-02-26 19:55 Igor Melichev</strong> (<a href="Details.htm#2004-02-26_1955">details</a>)</p>
+<p><strong><a name="2004-07-13_1952"></a>
+2004-07-13 19:52 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1952">details</a>)</p>
<blockquote>
<pre>
-Fix : A bug in fn_Sd_is_monotonic.
+ps2write step 34 : Applying filters to the page contents stream.
</pre>
-<p>[src/gsfunc0.c 1.14]</p>
+<p>[lib/opdfread.ps 1.30]</p>
</blockquote>
-<p><strong><a name="2004-02-26_0718"></a>
-2004-02-26 07:18 Igor Melichev</strong> (<a href="Details.htm#2004-02-26_0718">details</a>)</p>
+<p><strong><a name="2004-07-13_1931"></a>
+2004-07-13 19:31 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1931">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 33.
+ps2write step 33 : Fixing problems with color spaces in image XObjects.
</pre>
-<p>[src/gxshade.c 1.19, src/gxshade.h 1.10, src/gxshade1.c 1.21, src/gxshade4.c 1.22, src/gxshade4.h 1.18]</p>
+<p>[lib/opdfread.ps 1.29]</p>
</blockquote>
-<p><strong><a name="2004-02-25_2038"></a>
-2004-02-25 20:38 Russell Lang</strong> (<a href="Details.htm#2004-02-25_2038">details</a>)</p>
+<p><strong><a name="2004-07-13_1858"></a>
+2004-07-13 18:58 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1858">details</a>)</p>
<blockquote>
<pre>
-Fixes bug 687317.
-Fix pdfwrite allowable Permissions for EncryptionR=2.
-Fix default Permissions.
+ps2write step 32 : Fixing problems with color spaces in inline images.
</pre>
-<p>[src/gdevpdf.c 1.90]</p>
+<p>[lib/opdfread.ps 1.28]</p>
</blockquote>
-<p><strong><a name="2004-02-25_2037"></a>
-2004-02-25 20:37 Ray Johnston</strong></p>
+<p><strong><a name="2004-07-13_1558"></a>
+2004-07-13 15:58 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1558">details</a>)</p>
<blockquote>
<pre>
-Clean up dict stack after loading an embedded Type1 font from a PDF file.
-While the font is buggy, Adobe doesn't complain. Bug #687315.</pre>
-<p>[lib/pdf_font.ps 1.60]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-25_2035"></a>
-2004-02-25 20:35 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add an option to prevent the 'range' type PageSize from being added to the
-InputAttribute dictionary. This option is useful for printers that want the
-requested pages to be rotated to fit one of the available page sizes.
-Option is -dNORANGEPAGESIZE. Fix for bug #629335.</pre>
-<p>[lib/gs_setpd.ps 1.22, doc/Use.htm 1.102]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-25_1621"></a>
-2004-02-25 16:21 Igor Melichev</strong> (<a href="Details.htm#2004-02-25_1621">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 32.
+ps2write step 31 : Implementing DecodeParms for filters.
</pre>
-<p>[src/gxshade1.c 1.20, src/gxshade4.h 1.17, src/gxshade6.c 1.35, src/lib.mak 1.172]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_2227"></a>
-2004-02-24 22:27 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Add support for specifying CVS repository location, which requires a
-new configuration key, 'gsconf.repodir'.</pre>
-<p>[toolbin/tests/testing.cfg.example 1.5, toolbin/tests/update_specific 1.2]</p>
+<p>[lib/opdfread.ps 1.27]</p>
</blockquote>
-<p><strong><a name="2004-02-24_2220"></a>
-2004-02-24 22:20 Jack Moffitt</strong></p>
+<p><strong><a name="2004-07-13_1513"></a>
+2004-07-13 15:13 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1513">details</a>)</p>
<blockquote>
<pre>
-Script to update baselines for a specific CVS version of Ghostscript.
-
-The script requires a new configuration key, 'gsconf.fontdir'.</pre>
-<p>[toolbin/tests/testing.cfg.example 1.4, toolbin/tests/update_specific 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_1907"></a>
-2004-02-24 19:07 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1907">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 31.
+ps2write step 30 : Continue the implementation of color spaces.
</pre>
-<p>[src/gxshade4.c 1.21, src/gxshade4.h 1.16]</p>
+<p>[lib/opdfread.ps 1.26]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1857"></a>
-2004-02-24 18:57 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1857">details</a>)</p>
+<p><strong><a name="2004-07-13_1344"></a>
+2004-07-13 13:44 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1344">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 30.
+ps2write step 29 : The inplementation of FunctionType 4 was wrong.
</pre>
-<p>[src/gxshade4.c 1.20, src/gxshade4.h 1.15, src/gxshade6.c 1.34]</p>
+<p>[lib/opdfread.ps 1.25]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1212"></a>
-2004-02-24 12:12 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1212">details</a>)</p>
+<p><strong><a name="2004-07-13_1238"></a>
+2004-07-13 12:38 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1238">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 29 - release candidate 1.
+Fix (pdfwrite) : Don't write shadings with CompatibilityLevel<=1.2 .
</pre>
-<p>[src/gxshade4.h 1.14]</p>
+<p>[src/gdevpdfd.c 1.41, src/gdevpdfg.c 1.55]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1157"></a>
-2004-02-24 11:57 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1157">details</a>)</p>
+<p><strong><a name="2004-07-13_1202"></a>
+2004-07-13 12:02 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1202">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 28.
+Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark (continued).
</pre>
-<p>[src/gxshade4.c 1.19, src/gxshade4.h 1.13, src/gxshade6.c 1.33]</p>
+<p>[src/gdevpdfm.c 1.44]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1150"></a>
-2004-02-24 11:50 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1150">details</a>)</p>
+<p><strong><a name="2004-07-13_1109"></a>
+2004-07-13 11:09 Igor Melichev</strong> (<a href="Details.htm#2004-07-13_1109">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 27.
+Fix (pdfwrite) : Dont create the alternative image compression if a loseless compression is only allowed.
</pre>
-<p>[src/gxshade4.c 1.18, src/gxshade6.c 1.32]</p>
+<p>[src/gdevpdfi.c 1.55, src/gdevpsdi.c 1.28]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1143"></a>
-2004-02-24 11:43 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1143">details</a>)</p>
+<p><strong><a name="2004-07-10_0855"></a>
+2004-07-10 08:55 Igor Melichev</strong> (<a href="Details.htm#2004-07-10_0855">details</a>)</p>
<blockquote>
<pre>
-Improving the visual trace macros.
+ps2write step 28 : Fixing tab characters in the source code (continued).
</pre>
-<p>[src/vdtrace.h 1.12]</p>
+<p>[lib/opdfread.ps 1.24]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1108"></a>
-2004-02-24 11:08 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_1108">details</a>)</p>
+<p><strong><a name="2004-07-10_0804"></a>
+2004-07-10 08:04 Igor Melichev</strong> (<a href="Details.htm#2004-07-10_0804">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 26.
+ps2write step 27 : Implemented FunctionType 4.
</pre>
-<p>[src/gxshade6.c 1.31]</p>
+<p>[lib/opdfread.ps 1.23]</p>
</blockquote>
-<p><strong><a name="2004-02-24_0957"></a>
-2004-02-24 09:57 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_0957">details</a>)</p>
+<p><strong><a name="2004-07-09_2054"></a>
+2004-07-09 20:54 Igor Melichev</strong> (<a href="Details.htm#2004-07-09_2054">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 25.
+ps2write step 26 : Fixing tab characters in the source code.
</pre>
-<p>[src/gxshade6.c 1.30]</p>
+<p>[lib/opdfread.ps 1.22]</p>
</blockquote>
-<p><strong><a name="2004-02-24_0928"></a>
-2004-02-24 09:28 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_0928">details</a>)</p>
+<p><strong><a name="2004-07-09_2028"></a>
+2004-07-09 20:28 Igor Melichev</strong> (<a href="Details.htm#2004-07-09_2028">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 24.
+ps2write step 25 : Fixing various problems in functions and color spaces.
</pre>
-<p>[src/gxshade4.h 1.12]</p>
+<p>[lib/opdfread.ps 1.21]</p>
</blockquote>
-<p><strong><a name="2004-02-24_0908"></a>
-2004-02-24 09:08 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_0908">details</a>)</p>
+<p><strong><a name="2004-07-09_1652"></a>
+2004-07-09 16:52 Igor Melichev</strong> (<a href="Details.htm#2004-07-09_1652">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 23.
+ps2write step 24 : An initial implementation of functions.
</pre>
-<p>[src/gxshade4.c 1.17, src/gxshade6.c 1.29]</p>
+<p>[lib/opdfread.ps 1.20]</p>
</blockquote>
-<p><strong><a name="2004-02-24_0814"></a>
-2004-02-24 08:14 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_0814">details</a>)</p>
+<p><strong><a name="2004-07-08_1715"></a>
+2004-07-08 17:15 Igor Melichev</strong> (<a href="Details.htm#2004-07-08_1715">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 22.
+ps2write step 23 : Implementing Indexed and Separation (continued).
</pre>
-<p>[src/gxshade6.c 1.28]</p>
+<p>[lib/opdfread.ps 1.19]</p>
</blockquote>
-<p><strong><a name="2004-02-24_0758"></a>
-2004-02-24 07:58 Igor Melichev</strong> (<a href="Details.htm#2004-02-24_0758">details</a>)</p>
+<p><strong><a name="2004-07-08_1528"></a>
+2004-07-08 15:28 Igor Melichev</strong> (<a href="Details.htm#2004-07-08_1528">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 21.
+ps2write step 22 : Implementing Indexed and Separation.
</pre>
-<p>[src/gxshade4.h 1.11, src/gxshade6.c 1.27]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-23_2041"></a>
-2004-02-23 20:41 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Check for local jpeg library source by looking for the jpeglib.h header
-rather than just the jpeg directory. Also try looking for jpeg-6b if the
-jpeg fails; this lets us find the source as it unpacks from the upstream
-tarball. Patch from ESP Ghostscript.</pre>
-<p>[src/configure.ac 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-23_0307"></a>
-2004-02-23 03:07 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add a parameter which prevents the non-standard four element PageSize
-entry in the InputAttributes from being included. This prevents problems
-with PostScript programs that examine the InputAttributes entries in an
-attempt to pick the 'best fit' rather than relying on the setpagedevice
-logic. Also most 'real' printer devices don't support arbitrary page
-sizes, so automatic rotation is defeated if the range type page size
-in included. The option is -dNORANGEPAGESIZE. Bug #629335.</pre>
-<p>[doc/Use.htm 1.101, lib/gs_setpd.ps 1.21]</p>
+<p>[lib/opdfread.ps 1.18]</p>
</blockquote>
-<p><strong><a name="2004-02-23_0144"></a>
-2004-02-23 01:44 Ray Johnston</strong></p>
+<p><strong><a name="2004-07-08_1400"></a>
+2004-07-08 14:00 Igor Melichev</strong> (<a href="Details.htm#2004-07-08_1400">details</a>)</p>
<blockquote>
<pre>
-Add the path to the code directory (gsconf.codedir) for invocation of the
-update_baseline/update_pdfbaseline.</pre>
-<p>[toolbin/tests/gscheck_pdfwrite.py 1.18, toolbin/tests/gscheck_raster.py 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-22_2354"></a>
-2004-02-22 23:54 Ralph Giles</strong> (<a href="Details.htm#2004-02-22_2354">details</a>)</p>
-<blockquote>
-<pre>
-Initial implementation of the JPXDecode filter using the JasPer library
-for decoding the JPEG 2000 data. This version only implements a
-postscript-level filter; PDF support will follow in another commit.
+ps2write step 20 : Implementing CalGray, CalRGB.
</pre>
-<p>[src/Makefile.in 1.33, src/configure.ac 1.41, src/int.mak 1.124, src/lib.mak 1.171, src/sjpx.c 1.1, src/sjpx.h 1.1, src/zfjpx.c 1.1]</p>
+<p>[lib/opdfread.ps 1.17]</p>
</blockquote>
-<p><strong><a name="2004-02-22_1511"></a>
-2004-02-22 15:11 Igor Melichev</strong> (<a href="Details.htm#2004-02-22_1511">details</a>)</p>
+<p><strong><a name="2004-07-08_1112"></a>
+2004-07-08 11:12 Igor Melichev</strong> (<a href="Details.htm#2004-07-08_1112">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 20.
+ps2write step 20 : The implementations of Q,q,CharProc were incomplete.
</pre>
-<p>[src/gxshade4.c 1.16, src/gxshade6.c 1.26]</p>
+<p>[lib/opdfread.ps 1.16]</p>
</blockquote>
-<p><strong><a name="2004-02-22_1414"></a>
-2004-02-22 14:14 Igor Melichev</strong> (<a href="Details.htm#2004-02-22_1414">details</a>)</p>
+<p><strong><a name="2004-07-08_1006"></a>
+2004-07-08 10:06 Igor Melichev</strong> (<a href="Details.htm#2004-07-08_1006">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 19.
+ps2write step 17 : Implementing Patterns.
</pre>
-<p>[src/gxshade6.c 1.25]</p>
+<p>[lib/opdfread.ps 1.15]</p>
</blockquote>
-<p><strong><a name="2004-02-22_1306"></a>
-2004-02-22 13:06 Igor Melichev</strong> (<a href="Details.htm#2004-02-22_1306">details</a>)</p>
+<p><strong><a name="2004-07-08_0803"></a>
+2004-07-08 08:03 Igor Melichev</strong> (<a href="Details.htm#2004-07-08_0803">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 18.
+ps2write step 18 : Fix : Length was written to a wrong file position.
</pre>
-<p>[src/gxshade6.c 1.24]</p>
+<p>[src/gdevpdfm.c 1.43]</p>
</blockquote>
-<p><strong><a name="2004-02-22_1059"></a>
-2004-02-22 10:59 Igor Melichev</strong> (<a href="Details.htm#2004-02-22_1059">details</a>)</p>
+<p><strong><a name="2004-07-07_1519"></a>
+2004-07-07 15:19 Igor Melichev</strong> (<a href="Details.htm#2004-07-07_1519">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 17.
+ps2write step 17 : Image XForm implementation.
</pre>
-<p>[src/gxshade4.c 1.15, src/gxshade4.h 1.10, src/gxshade6.c 1.23]</p>
+<p>[lib/opdfread.ps 1.14]</p>
</blockquote>
-<p><strong><a name="2004-02-22_0943"></a>
-2004-02-22 09:43 Igor Melichev</strong> (<a href="Details.htm#2004-02-22_0943">details</a>)</p>
+<p><strong><a name="2004-07-07_1424"></a>
+2004-07-07 14:24 Igor Melichev</strong> (<a href="Details.htm#2004-07-07_1424">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 16.
+ps2write step 16 : Inline image implementation.
</pre>
-<p>[src/gxshade.c 1.18, src/gxshade.h 1.9, src/gxshade4.c 1.14, src/gxshade4.h 1.9, src/gxshade6.c 1.22, src/lib.mak 1.170]</p>
+<p>[lib/opdfread.ps 1.13]</p>
</blockquote>
-<p><strong><a name="2004-02-21_1825"></a>
-2004-02-21 18:25 Igor Melichev</strong> (<a href="Details.htm#2004-02-21_1825">details</a>)</p>
+<p><strong><a name="2004-07-07_1142"></a>
+2004-07-07 11:42 Igor Melichev</strong> (<a href="Details.htm#2004-07-07_1142">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 15.
+ps2write step 15 : Fix : ObjectRegistry expansion code was wrong.
</pre>
-<p>[src/gxshade4.c 1.13, src/gxshade4.h 1.8, src/gxshade6.c 1.21]</p>
+<p>[lib/opdfread.ps 1.12]</p>
</blockquote>
-<p><strong><a name="2004-02-20_1504"></a>
-2004-02-20 15:04 Igor Melichev</strong> (<a href="Details.htm#2004-02-20_1504">details</a>)</p>
+<p><strong><a name="2004-07-07_1100"></a>
+2004-07-07 11:00 Igor Melichev</strong> (<a href="Details.htm#2004-07-07_1100">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 14.
+ps2write step 14 : Fix : fonts may have no Encoding.
</pre>
-<p>[src/gxshade4.c 1.12, src/gxshade4.h 1.7, src/gxshade6.c 1.20]</p>
+<p>[lib/opdfread.ps 1.11]</p>
</blockquote>
-<p><strong><a name="2004-02-20_1358"></a>
-2004-02-20 13:58 Igor Melichev</strong> (<a href="Details.htm#2004-02-20_1358">details</a>)</p>
+<p><strong><a name="2004-07-07_1040"></a>
+2004-07-07 10:40 Igor Melichev</strong> (<a href="Details.htm#2004-07-07_1040">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 13.
+ps2write step 13 : Implementing Type 3 fonts.
</pre>
-<p>[src/gxshade4.c 1.11, src/gxshade4.h 1.6, src/gxshade6.c 1.19, src/lib.mak 1.169]</p>
+<p>[lib/opdfread.ps 1.10]</p>
</blockquote>
-<p><strong><a name="2004-02-20_1053"></a>
-2004-02-20 10:53 Igor Melichev</strong> (<a href="Details.htm#2004-02-20_1053">details</a>)</p>
+<p><strong><a name="2004-07-07_1019"></a>
+2004-07-07 10:19 Igor Melichev</strong> (<a href="Details.htm#2004-07-07_1019">details</a>)</p>
<blockquote>
<pre>
-Fix : Cygwin/gcc warnings.
+ps2write step 12 : Implementing Type 3 fonts.
</pre>
-<p>[src/gxfill.c 1.114]</p>
+<p>[lib/opdfread.ps 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-20_1051"></a>
-2004-02-20 10:51 Igor Melichev</strong> (<a href="Details.htm#2004-02-20_1051">details</a>)</p>
+<p><strong><a name="2004-07-07_0933"></a>
+2004-07-07 09:33 Russell Lang</strong> (<a href="Details.htm#2004-07-07_0933">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 12.
+Fixes bug 687451 "default resolution for display device"
+Set the display resolution from the MS-Windows display resolution,
+using a device parameter -dDisplayResolution=DPI.
</pre>
-<p>[src/gxshade6.c 1.18]</p>
+<p>[doc/Devices.htm 1.80, src/dwmain.c 1.18, src/dwmainc.c 1.20, src/gdevdsp.c 1.24, src/gdevdsp.h 1.9, src/gdevdsp2.h 1.8]</p>
</blockquote>
-<p><strong><a name="2004-02-20_0646"></a>
-2004-02-20 06:46 Dan Coby</strong></p>
+<p><strong><a name="2004-07-07_0909"></a>
+2004-07-07 09:09 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix for 687279 Linker warnings with Visual Studio 6 and .NET 2003.
-The changes consist of removing the keyword INITINSTANCE from the def
-files. The DESCRIPTION lines are changed to a comment and put at the
-beginning of the files.</pre>
-<p>[src/dw32c.def 1.4, src/dwmain16.def 1.2, src/dwmain32.def 1.4, src/dwsetup.def 1.5, src/dwuninst.def 1.5, src/gsdll32.def 1.5]</p>
+Fixes bug 687562 "vector devices close output file incorrectly".
+Vector devices open the output file with gx_device_open_output_file,
+so should close it with gx_device_close_output_file, not fclose.
+This was preventing pswrite from correctly closing special
+files such as "%printer%Printer Name" on Windows and OS/2.</pre>
+<p>[src/gdevvec.c 1.22]</p>
</blockquote>
-<p><strong><a name="2004-02-20_0004"></a>
-2004-02-20 00:04 Igor Melichev</strong> (<a href="Details.htm#2004-02-20_0004">details</a>)</p>
+<p><strong><a name="2004-07-07_0907"></a>
+2004-07-07 09:07 Russell Lang</strong> (<a href="Details.htm#2004-07-07_0907">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 11.
+In the Windows %printer% IODevice, the existing thread handle
+is closed automatically when the thread finishes. Duplicate
+the thread handle so we always have a valid handle for waiting
+and closing.
</pre>
-<p>[src/gxshade6.c 1.17]</p>
+<p>[src/gp_msprn.c 1.4]</p>
</blockquote>
-<p><strong><a name="2004-02-19_2005"></a>
-2004-02-19 20:05 Igor Melichev</strong> (<a href="Details.htm#2004-02-19_2005">details</a>)</p>
+<p><strong><a name="2004-07-06_2215"></a>
+2004-07-06 22:15 Dan Coby</strong> (<a href="Details.htm#2004-07-06_2215">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 10.
+Fix for 687565 Incorrect equiv color for Orange in Altona test file.
+The altona test file Altona_Visual_bb_1v1_x3.pdf contains a spot color
+called Orange. An incorrect equivalent CMYK color is being determined for
+this spot color. The result is that the spot color is being displayed as
+black for the devices which handle spot colors and attempt to determine
+equivalent CMYK colors for the spot colors. These are the psdcmyk,
+tiffsep, and display (with -dDisplayFormat=16#a0800) devices.
</pre>
-<p>[src/gxshade6.c 1.16]</p>
+<p>[src/gsequivc.c 1.4]</p>
</blockquote>
-<p><strong><a name="2004-02-19_1132"></a>
-2004-02-19 11:32 Igor Melichev</strong> (<a href="Details.htm#2004-02-19_1132">details</a>)</p>
+<p><strong><a name="2004-07-06_1927"></a>
+2004-07-06 19:27 Igor Melichev</strong> (<a href="Details.htm#2004-07-06_1927">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 9.
+ps2write step 11 : Implementing Metrics for Type 1,2,42 fonts (continued).
</pre>
-<p>[src/gxshade6.c 1.15]</p>
+<p>[lib/opdfread.ps 1.8]</p>
</blockquote>
-<p><strong><a name="2004-02-19_1121"></a>
-2004-02-19 11:21 Igor Melichev</strong> (<a href="Details.htm#2004-02-19_1121">details</a>)</p>
+<p><strong><a name="2004-07-06_1904"></a>
+2004-07-06 19:04 Igor Melichev</strong> (<a href="Details.htm#2004-07-06_1904">details</a>)</p>
<blockquote>
<pre>
-Improving visual trace macros.
+ps2write step 10 : Implementing Metrics for Type 1,2,42 fonts.
</pre>
-<p>[src/gxfill.c 1.113, src/vdtrace.h 1.11]</p>
+<p>[lib/opdfread.ps 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-19_0744"></a>
-2004-02-19 07:44 Igor Melichev</strong> (<a href="Details.htm#2004-02-19_0744">details</a>)</p>
+<p><strong><a name="2004-07-06_1744"></a>
+2004-07-06 17:44 Igor Melichev</strong> (<a href="Details.htm#2004-07-06_1744">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C22.
+ps2write step 9 : Implementing Encoding for Type 1,2,42 fonts.
</pre>
-<p>[src/gxfill.c 1.112]</p>
+<p>[lib/opdfread.ps 1.6]</p>
</blockquote>
-<p><strong><a name="2004-02-18_1505"></a>
-2004-02-18 15:05 Igor Melichev</strong> (<a href="Details.htm#2004-02-18_1505">details</a>)</p>
+<p><strong><a name="2004-07-06_1348"></a>
+2004-07-06 13:48 Igor Melichev</strong> (<a href="Details.htm#2004-07-06_1348">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 8.
+ps2write step 8 : Implementing ExtGState.
</pre>
-<p>[src/gxshade6.c 1.14]</p>
+<p>[lib/opdfread.ps 1.5]</p>
</blockquote>
-<p><strong><a name="2004-02-18_1500"></a>
-2004-02-18 15:00 Igor Melichev</strong> (<a href="Details.htm#2004-02-18_1500">details</a>)</p>
+<p><strong><a name="2004-07-06_1205"></a>
+2004-07-06 12:05 Igor Melichev</strong> (<a href="Details.htm#2004-07-06_1205">details</a>)</p>
<blockquote>
<pre>
-Improving the filling algorithm, step D8.
+ps2write step 7 : Implementing text rendering operastors.
</pre>
-<p>[src/gxfill.c 1.111, src/lib.mak 1.168]</p>
+<p>[lib/opdfread.ps 1.4]</p>
</blockquote>
-<p><strong><a name="2004-02-18_1441"></a>
-2004-02-18 14:41 Igor Melichev</strong> (<a href="Details.htm#2004-02-18_1441">details</a>)</p>
+<p><strong><a name="2004-07-05_2116"></a>
+2004-07-05 21:16 Igor Melichev</strong> (<a href="Details.htm#2004-07-05_2116">details</a>)</p>
<blockquote>
<pre>
-Fix: Documented rounding formulas in the character processing.
+ps2write step 6 : :Providing a page stream execution context.
</pre>
-<p>[src/fapiufst.c 1.24, src/gxhintn.c 1.43, src/ttfmain.c 1.23]</p>
+<p>[lib/opdfread.ps 1.3]</p>
</blockquote>
-<p><strong><a name="2004-02-18_0954"></a>
-2004-02-18 09:54 Igor Melichev</strong> (<a href="Details.htm#2004-02-18_0954">details</a>)</p>
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong> (<a href="Details.htm#2004-07-05_1703">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Converting an image type 4 into imagemask, a wrong color was written.
+ps2write step 5 : Page streams must interpret immediately.
</pre>
-<p>[src/gdevpdfi.c 1.51]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-18_0535"></a>
-2004-02-18 05:35 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Add '!ifndef'/'endif' around varaious parameters in the makefile for the
-Borland compiler (bcwin32.mak). This allows the parameters to be specified
-on the command line without editting the makefile.</pre>
-<p>[src/bcwin32.mak 1.32]</p>
+<p>[lib/opdfread.ps 1.2]</p>
</blockquote>
-<p><strong><a name="2004-02-17_1512"></a>
-2004-02-17 15:12 Igor Melichev</strong> (<a href="Details.htm#2004-02-17_1512">details</a>)</p>
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong> (<a href="Details.htm#2004-07-05_1703">details</a>)</p>
<blockquote>
<pre>
-Fix : MSVC7 wrongly optimizes zpcolor.c .
+ps2write step 4 : Stream data length must preceed the stream.
</pre>
-<p>[src/int.mak 1.123, src/zpcolor.c 1.13]</p>
+<p>[src/gdevpdfm.c 1.42, src/gdevpdfu.c 1.56, src/gdevpdfx.h 1.97]</p>
</blockquote>
-<p><strong><a name="2004-02-16_1629"></a>
-2004-02-16 16:29 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_1629">details</a>)</p>
+<p><strong><a name="2004-07-05_1255"></a>
+2004-07-05 12:55 Igor Melichev</strong> (<a href="Details.htm#2004-07-05_1255">details</a>)</p>
<blockquote>
<pre>
-Improving the filling algorithm, step D7.
+ps2write step 3 : Initial commit for the Ordered PDF Reader.
</pre>
-<p>[src/gxdtfill.h 1.16]</p>
+<p>[lib/opdfread.ps 1.1]</p>
</blockquote>
-<p><strong><a name="2004-02-16_1526"></a>
-2004-02-16 15:26 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_1526">details</a>)</p>
+<p><strong><a name="2004-07-03_1051"></a>
+2004-07-03 10:51 Russell Lang</strong> (<a href="Details.htm#2004-07-03_1051">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 7.
+Log Message:
+Fixes bug 686956 Display device does not support separations.
+Add support for separations to display device.
+This requires a change to the display callback structure.
+Support is maintained for clients using version 1 of the structure.
</pre>
-<p>[src/gxshade6.c 1.13]</p>
+<p>[doc/API.htm 1.43, doc/Devices.htm 1.79, src/dwimg.c 1.12, src/dwimg.h 1.9, src/dwmain.c 1.17, src/dwmainc.c 1.19, src/dxmain.c 1.13, src/gdevdsp.c 1.23, src/gdevdsp.h 1.8, src/gdevdsp2.h 1.7, src/idisp.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-16_1506"></a>
-2004-02-16 15:06 Ralph Giles</strong> (<a href="Details.htm#2004-02-16_1506">details</a>)</p>
+<p><strong><a name="2004-07-01_1923"></a>
+2004-07-01 19:23 Igor Melichev</strong> (<a href="Details.htm#2004-07-01_1923">details</a>)</p>
<blockquote>
<pre>
-Adapt makefile support for compiling in zlib to support v1.2.x rather
-than 1.1.x. Linking to a shared version is unaffected.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 6).
</pre>
-<p>[doc/Make.htm 1.71, src/zlib.mak 1.8]</p>
+<p>[src/gdevpdtt.c 1.84]</p>
</blockquote>
-<p><strong><a name="2004-02-16_1351"></a>
-2004-02-16 13:51 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_1351">details</a>)</p>
+<p><strong><a name="2004-07-01_1827"></a>
+2004-07-01 18:27 Dan Coby</strong></p>
<blockquote>
<pre>
-Improving the filling algorithm, step D6.
-
-</pre>
-<p>[src/gxdtfill.h 1.15]</p>
+Correct some warnings from the MSVC compiler.</pre>
+<p>[src/gscdevn.c 1.19, src/gscsepr.c 1.26, src/gsht.c 1.21, src/gzht.h 1.12]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0947"></a>
-2004-02-16 09:47 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_0947">details</a>)</p>
+<p><strong><a name="2004-07-01_0441"></a>
+2004-07-01 04:41 Dan Coby</strong></p>
<blockquote>
<pre>
-Improving the filling algorithm, step D5.
-
-</pre>
-<p>[src/gxdtfill.h 1.14]</p>
+This change creates common routines for handling the DeviceN related
+device parameters (SeparationColorNames, SeparationOrder, and
+MaxSeparations). The change also splits up some common routines that
+were assuming that the device was a 'printer' device.</pre>
+<p>[src/devs.mak 1.116, src/gdevdevn.c 1.21, src/gdevdevn.h 1.10, src/gdevnfwd.c 1.25, src/gdevpsd.c 1.16, src/gdevtsep.c 1.3, src/gdevxcf.c 1.9, src/gxcmap.c 1.22, src/gxcmap.h 1.11]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0913"></a>
-2004-02-16 09:13 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_0913">details</a>)</p>
+<p><strong><a name="2004-06-30_1737"></a>
+2004-06-30 17:37 Raph Levien</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 6.
-
-</pre>
-<p>[src/gxshade6.c 1.12]</p>
+Fixes nonportable code in the vasarely.ps example file so that keeps
+to reasonable page size values even when default clippath is very
+large (as is the case with the bbox device). Fixes bug #687549.</pre>
+<p>[examples/vasarely.ps 1.3]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0910"></a>
-2004-02-16 09:10 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_0910">details</a>)</p>
+<p><strong><a name="2004-06-30_1455"></a>
+2004-06-30 14:55 Igor Melichev</strong> (<a href="Details.htm#2004-06-30_1455">details</a>)</p>
<blockquote>
<pre>
-Improving the filling algorithm, step D4.
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts (continued).
</pre>
-<p>[src/gxdtfill.h 1.13]</p>
+<p>[src/gdevpdfu.c 1.55]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0821"></a>
-2004-02-16 08:21 Igor Melichev</strong> (<a href="Details.htm#2004-02-16_0821">details</a>)</p>
+<p><strong><a name="2004-06-30_1450"></a>
+2004-06-30 14:50 Igor Melichev</strong> (<a href="Details.htm#2004-06-30_1450">details</a>)</p>
<blockquote>
<pre>
-Improving the filling algorithm, step D2.
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts.
</pre>
-<p>[src/gxdtfill.h 1.12]</p>
+<p>[src/gdevpdfi.c 1.54, src/gdevpdfm.c 1.41, src/gdevpdfu.c 1.54, src/gdevpdfx.h 1.96, src/gdevpdti.c 1.34]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0601"></a>
-2004-02-16 06:01 Dan Coby</strong></p>
+<p><strong><a name="2004-06-30_1435"></a>
+2004-06-30 14:35 Igor Melichev</strong> (<a href="Details.htm#2004-06-30_1435">details</a>)</p>
<blockquote>
<pre>
-Fix for 687294 psdcmyk device does not write resolution correctly to PSD
-files. This change adds a 'ResolutionInfo structure' into the 'Image
-Resources' section of the output file. This structure specifies the
-horizontal and vertical resolution of the image. (Note: Adobe's support
-of asymetric resolutions is poor.)</pre>
-<p>[src/gdevpsd.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-15_1451"></a>
-2004-02-15 14:51 Igor Melichev</strong> (<a href="Details.htm#2004-02-15_1451">details</a>)</p>
-<blockquote>
-<pre>
-Fix: Improving the documentation (comments) about the filling algorithm, improved.
+ps2write part 2 : Delay writing pages.
</pre>
-<p>[src/gdevddrw.c 1.13]</p>
+<p>[src/gdevpdf.c 1.96, src/gdevpdfg.c 1.54, src/gdevpdfp.c 1.39, src/gdevpdfu.c 1.53, src/gdevpdfx.h 1.95, src/gdevpsdf.h 1.22, src/gdevpsdp.c 1.14]</p>
</blockquote>
-<p><strong><a name="2004-02-15_1131"></a>
-2004-02-15 11:31 Igor Melichev</strong> (<a href="Details.htm#2004-02-15_1131">details</a>)</p>
+<p><strong><a name="2004-06-30_1154"></a>
+2004-06-30 11:54 Igor Melichev</strong> (<a href="Details.htm#2004-06-30_1154">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 5.
+ps2write part 1 : starting the project.
</pre>
-<p>[src/gxshade6.c 1.11]</p>
+<p>[src/gdevpsdf.h 1.21, src/gdevpsdp.c 1.13, src/gdevvec.h 1.14]</p>
</blockquote>
-<p><strong><a name="2004-02-15_1128"></a>
-2004-02-15 11:28 Igor Melichev</strong> (<a href="Details.htm#2004-02-15_1128">details</a>)</p>
+<p><strong><a name="2004-06-30_0815"></a>
+2004-06-30 08:15 Igor Melichev</strong> (<a href="Details.htm#2004-06-30_0815">details</a>)</p>
<blockquote>
<pre>
-Fix: Improving the documentation (comments) about the filling algorithm.
+Fix : MSVC compiler warning.
</pre>
-<p>[src/gdevddrw.c 1.12, src/gxdtfill.h 1.11]</p>
+<p>[src/gdevtsep.c 1.2]</p>
</blockquote>
-<p><strong><a name="2004-02-14_1157"></a>
-2004-02-14 11:57 Igor Melichev</strong> (<a href="Details.htm#2004-02-14_1157">details</a>)</p>
+<p><strong><a name="2004-06-29_2246"></a>
+2004-06-29 22:46 Dan Coby</strong> (<a href="Details.htm#2004-06-29_2246">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 4.
+Fix for 687553 rangecheck in .sethalftone5 and SeparationOrder.
</pre>
-<p>[src/gxshade6.c 1.10]</p>
+<p>[src/gsht.c 1.20]</p>
</blockquote>
-<p><strong><a name="2004-02-14_0904"></a>
-2004-02-14 09:04 Igor Melichev</strong> (<a href="Details.htm#2004-02-14_0904">details</a>)</p>
+<p><strong><a name="2004-06-29_2227"></a>
+2004-06-29 22:27 Dan Coby</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 3.
-
-</pre>
-<p>[src/gxshade6.c 1.9, src/lib.mak 1.167]</p>
+Correct spelling in a comment.</pre>
+<p>[src/gxcmap.h 1.10]</p>
</blockquote>
-<p><strong><a name="2004-02-14_0844"></a>
-2004-02-14 08:44 Igor Melichev</strong> (<a href="Details.htm#2004-02-14_0844">details</a>)</p>
+<p><strong><a name="2004-06-29_2101"></a>
+2004-06-29 21:01 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix : Visual trace could miss the current color when reinitialized.
-
-</pre>
-<p>[src/dwtrace.c 1.6]</p>
+Change the default handling of the MaxSeparations device parameter. This
+parameter is only used by some of the DeviceN mode devices (which have
+their own handling of this parameter). The default handler now simply
+ignores this parameter. However it does read the parameter. Not reading
+the parameter was causing problems with PDF files and page devices.</pre>
+<p>[src/gsdparam.c 1.17]</p>
</blockquote>
-<p><strong><a name="2004-02-13_1751"></a>
-2004-02-13 17:51 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-29_0105"></a>
+2004-06-29 01:05 Ralph Giles</strong></p>
<blockquote>
<pre>
-Propagate a change from the GS_8_1X branch. AC_CHECK_TYPES takes a
-comma-sparated list.</pre>
-<p>[src/configure.ac 1.40]</p>
-</blockquote>
+Add contributed pscolor utility by Carsten Hammer. This splits a ps
+document into two, one consisting only of black and white pages, and
+one of color pages. Useful for printing on separate devices.
-<p><strong><a name="2004-02-13_1643"></a>
-2004-02-13 16:43 Igor Melichev</strong> (<a href="Details.htm#2004-02-13_1643">details</a>)</p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 2.
+Submitted under bug 602263.
-</pre>
-<p>[src/gxshade6.c 1.8, src/lib.mak 1.166]</p>
+The Makefile needs updating for the new location.</pre>
+<p>[contrib/pscolor/Makefile 1.1, contrib/pscolor/instream.yy 1.1, contrib/pscolor/test.c 1.1]</p>
</blockquote>
-<p><strong><a name="2004-02-13_0815"></a>
-2004-02-13 08:15 Igor Melichev</strong> (<a href="Details.htm#2004-02-13_0815">details</a>)</p>
+<p><strong><a name="2004-06-28_1713"></a>
+2004-06-28 17:13 Igor Melichev</strong> (<a href="Details.htm#2004-06-28_1713">details</a>)</p>
<blockquote>
<pre>
-pdfwrite : NoEncrypt option by a special customer request, improved.
+Fix : True Type grid fitting must not apply to FAPI fonts.
</pre>
-<p>[src/gdevpdfo.c 1.28]</p>
+<p>[src/gxccman.c 1.26, src/lib.mak 1.187]</p>
</blockquote>
-<p><strong><a name="2004-02-13_0808"></a>
-2004-02-13 08:08 Igor Melichev</strong> (<a href="Details.htm#2004-02-13_0808">details</a>)</p>
+<p><strong><a name="2004-06-24_1010"></a>
+2004-06-24 10:10 Igor Melichev</strong> (<a href="Details.htm#2004-06-24_1010">details</a>)</p>
<blockquote>
<pre>
-pdfwrite : NoEncrypt option by a special customer request.
+Fix : A dangling pointer from TExecution_Context could cause a memory corruption.
</pre>
-<p>[src/gdevpdf.c 1.89, src/gdevpdfo.c 1.27, src/gdevpdfp.c 1.37, src/gdevpdfu.c 1.51, src/gdevpdfx.h 1.86]</p>
+<p>[src/ttfmemd.c 1.7, src/ttinterp.c 1.13, src/ttobjs.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-12_1629"></a>
-2004-02-12 16:29 Igor Melichev</strong> (<a href="Details.htm#2004-02-12_1629">details</a>)</p>
+<p><strong><a name="2004-06-24_0951"></a>
+2004-06-24 09:51 Igor Melichev</strong> (<a href="Details.htm#2004-06-24_0951">details</a>)</p>
<blockquote>
<pre>
-Fix : Intel C and Cygwin/gcc compiler warnings.
+Fix: Unwinding the recent change to gsdparam.c becauase it breaks the PDF interpreter.
</pre>
-<p>[src/gdevpdtc.c 1.33, src/gxcht.c 1.12, src/gxdhtserial.c 1.4, src/gxht.c 1.15, src/gxttfb.c 1.30]</p>
+<p>[src/gsdparam.c 1.16]</p>
</blockquote>
-<p><strong><a name="2004-02-12_1519"></a>
-2004-02-12 15:19 Igor Melichev</strong> (<a href="Details.htm#2004-02-12_1519">details</a>)</p>
+<p><strong><a name="2004-06-24_0720"></a>
+2004-06-24 07:20 Dan Coby</strong></p>
<blockquote>
<pre>
-Improving the filling algorithm, step D1.
-
-</pre>
-<p>[src/gxfill.c 1.110, src/gxfilltr.h 1.3]</p>
+Add source file src/gdevtsep.c. This file is part of the implementation
+687440 and 542629.</pre>
+<p>[src/gdevtsep.c 1.1]</p>
</blockquote>
-<p><strong><a name="2004-02-12_1205"></a>
-2004-02-12 12:05 Igor Melichev</strong> (<a href="Details.htm#2004-02-12_1205">details</a>)</p>
+<p><strong><a name="2004-06-24_0654"></a>
+2004-06-24 06:54 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix : Some Intel C compiler warnings.
-
-</pre>
-<p>[src/gxfcopy.c 1.41]</p>
+Add the src/gdevtsep.c file. This contains the tiffgray, tiff32nc, and
+tiffsep devices.</pre>
+<p>[doc/Develop.htm 1.135]</p>
</blockquote>
-<p><strong><a name="2004-02-12_1028"></a>
-2004-02-12 10:28 Igor Melichev</strong> (<a href="Details.htm#2004-02-12_1028">details</a>)</p>
+<p><strong><a name="2004-06-24_0651"></a>
+2004-06-24 06:51 Igor Melichev</strong> (<a href="Details.htm#2004-06-24_0651">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Charproc can change scale before calling setcachedevice.
+Fix (TT interpreter) : The implementation of INSTCTRL did not follow the TT specification by Apple.
</pre>
-<p>[src/gdevpdf.c 1.88, src/gdevpdfx.h 1.85, src/gdevpdtt.c 1.73]</p>
+<p>[src/ttinterp.c 1.12]</p>
</blockquote>
-<p><strong><a name="2004-02-11_1120"></a>
-2004-02-11 11:20 Igor Melichev</strong> (<a href="Details.htm#2004-02-11_1120">details</a>)</p>
+<p><strong><a name="2004-06-24_0648"></a>
+2004-06-24 06:48 Dan Coby</strong> (<a href="Details.htm#2004-06-24_0648">details</a>)</p>
<blockquote>
<pre>
-Fix : GS_LIB_DEFAULT was wrong on OpenVMS.
+This change implements the enhancements described in 542629 CMYK
+tiff driver and 687440 Support for outputting PDF separations
+separately. This change implements three devices: tiffgray
+which produces an 8 bit gray output with uncompressed data,
+tiff32nc which produces 32 bit CMYK with uncompressed data, and
+tiffsep which produces a tiffgray file for each separation
+(CMYK and spot colors) and it also produces a CMYK output file
+which is created using the CMYK image data plus the spot
+colors image data. The spot colors are converted to CMYK using
+the logic in 687431.
</pre>
-<p>[src/openvms.mak 1.35]</p>
+<p>[doc/Devices.htm 1.78, src/Makefile.in 1.36, src/devs.mak 1.115, src/dvx-gcc.mak 1.26, src/gdevdevn.h 1.9, src/gsdparam.c 1.15, src/macos-mcp.mak 1.25, src/msvc32.mak 1.58, src/openvms.mak 1.36, src/os2.mak 1.37, src/unix-gcc.mak 1.45, src/unixansi.mak 1.36, src/watcw32.mak 1.29]</p>
</blockquote>
-<p><strong><a name="2004-02-11_1100"></a>
-2004-02-11 11:00 Igor Melichev</strong> (<a href="Details.htm#2004-02-11_1100">details</a>)</p>
+<p><strong><a name="2004-06-24_0647"></a>
+2004-06-24 06:47 Igor Melichev</strong> (<a href="Details.htm#2004-06-24_0647">details</a>)</p>
<blockquote>
<pre>
-A new implementation of shadings, step 1.
+A new implementation of shadings, step 80.
</pre>
-<p>[src/gxshade6.c 1.7, src/lib.mak 1.165]</p>
+<p>[src/gxshade6.c 1.77]</p>
</blockquote>
-<p><strong><a name="2004-02-10_2231"></a>
-2004-02-10 22:31 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-24_0503"></a>
+2004-06-24 05:03 Dan Coby</strong> (<a href="Details.htm#2004-06-24_0503">details</a>)</p>
<blockquote>
<pre>
-Update our copy of the ijs source to the latest cvs source, which
-includes libtool support for building a shared library version. Closes
-bug 687278.</pre>
-<p>[ijs/Makefile.am 1.1, ijs/Makefile.in 1.3, ijs/README 1.2, ijs/autogen.sh 1.1, ijs/configure.ac 1.1, ijs/configure.in 1.2, ijs/ijs.c 1.2, ijs/ijs.h 1.2, ijs/ijs.pc.in 1.1, ijs/ijs_client.c 1.2, ijs/ijs_client.h 1.2, ijs/ijs_client_example.c 1.2, ijs/ijs_exec_unix.c 1.2, ijs/ijs_exec_win.c 1.2, ijs/ijs_server.c 1.2, ijs/ijs_server.h 1.2, ijs/ijs_server_example.c 1.2, ijs/ijs_spec.sgml 1.2, ijs/install-sh 1.2, ijs/unistd_.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-08_1735"></a>
-2004-02-08 17:35 Igor Melichev</strong> (<a href="Details.htm#2004-02-08_1735">details</a>)</p>
-<blockquote>
-<pre>
-Fix: Improving the decision whether the dropout prevention to be applied.
+Fix for 687534 Unable to determine equivalent CMYK for spot colors
+that are only used with overprint.
</pre>
-<p>[src/gxfill.c 1.109, src/gxistate.h 1.20, src/gxtype1.c 1.36, src/zchar42.c 1.15]</p>
+<p>[doc/Drivers.htm 1.47, src/gdevbbox.c 1.18, src/gdevdflt.c 1.24, src/gdevnfwd.c 1.24, src/gdevprn.c 1.17, src/gdevpsd.c 1.15, src/gdevrops.c 1.12, src/gscdevn.c 1.18, src/gscsepr.c 1.25, src/gsequivc.c 1.3, src/gsequivc.h 1.2, src/gxclip.c 1.15, src/gxclip2.c 1.11, src/gxclipm.c 1.13, src/gxclist.c 1.14, src/gxdevcli.h 1.33, src/gxdevice.h 1.18]</p>
</blockquote>
-<p><strong><a name="2004-02-08_1129"></a>
-2004-02-08 11:29 Igor Melichev</strong> (<a href="Details.htm#2004-02-08_1129">details</a>)</p>
+<p><strong><a name="2004-06-24_0317"></a>
+2004-06-24 03:17 Ray Johnston</strong> (<a href="Details.htm#2004-06-24_0317">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C21.
+Minor change to avoid a spurious compiler warning about 't' used before
+initialized. Fixes bug #687412.
</pre>
-<p>[src/gx.h 1.42, src/gxfill.c 1.108, src/gxfill.h 1.22, src/gxpflat.c 1.40, src/gzpath.h 1.36]</p>
+<p>[src/spdiff.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-08_1023"></a>
-2004-02-08 10:23 Igor Melichev</strong> (<a href="Details.htm#2004-02-08_1023">details</a>)</p>
+<p><strong><a name="2004-06-23_2037"></a>
+2004-06-23 20:37 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C20.
-
-</pre>
-<p>[src/gx.h 1.41, src/gxfill.c 1.107, src/gxfill.h 1.21, src/gxfillsl.h 1.3, src/gxpcopy.c 1.22, src/gzpath.h 1.35]</p>
+Disable idiom recognition feature during execution of .bindnow
+because it has no effect except burning a few seconds of CPU time.
+Fix bug 687521</pre>
+<p>[lib/gs_init.ps 1.107]</p>
</blockquote>
-<p><strong><a name="2004-02-08_0146"></a>
-2004-02-08 01:46 Igor Melichev</strong> (<a href="Details.htm#2004-02-08_0146">details</a>)</p>
+<p><strong><a name="2004-06-23_1857"></a>
+2004-06-23 18:57 stefan</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C19a.
+Fixed CMYK to RGB conversion.
-</pre>
-<p>[src/gxdtfill.h 1.10]</p>
+Used in rop code where RGB -> CMYK -> RGB needs to work correctly
+in the black and white cases.</pre>
+<p>[src/gdevbit.c 1.10]</p>
</blockquote>
-<p><strong><a name="2004-02-08_0141"></a>
-2004-02-08 01:41 Igor Melichev</strong> (<a href="Details.htm#2004-02-08_0141">details</a>)</p>
+<p><strong><a name="2004-06-23_1850"></a>
+2004-06-23 18:50 stefan</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C19.
-
-</pre>
-<p>[src/gdevddrw.c 1.11, src/gdevddrw.h 1.4, src/gxdtfill.h 1.9, src/gxfilltr.h 1.2]</p>
+Fix macro to use it's arguments. Platform specific, under exersized code.</pre>
+<p>[src/gxfarith.h 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-06_1105"></a>
-2004-02-06 11:05 Igor Melichev</strong> (<a href="Details.htm#2004-02-06_1105">details</a>)</p>
+<p><strong><a name="2004-06-23_0904"></a>
+2004-06-23 09:04 Igor Melichev</strong> (<a href="Details.htm#2004-06-23_0904">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C18.
+Fix (ps2ascii) : Provide a tolerance to old versions of dvips output.
</pre>
-<p>[src/gxfill.c 1.106, src/gxfill.h 1.20]</p>
+<p>[lib/ps2ascii.ps 1.10]</p>
</blockquote>
-<p><strong><a name="2004-02-05_1759"></a>
-2004-02-05 17:59 Igor Melichev</strong> (<a href="Details.htm#2004-02-05_1759">details</a>)</p>
+<p><strong><a name="2004-06-19_0401"></a>
+2004-06-19 04:01 Ray Johnston</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C17.
-
-</pre>
-<p>[src/gx.h 1.40]</p>
+Add new CMaps and update older ones to latest. Bug #687470. Thanks to
+A. Cherepanov for providing part of the newer files.</pre>
+<p>[Resource/CMap/83pv-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-UCS2 1.1, Resource/CMap/90ms-RKSJ-V 1.2, Resource/CMap/90msp-RKSJ-H 1.1, Resource/CMap/90msp-RKSJ-V 1.1, Resource/CMap/90pv-RKSJ-H 1.2, Resource/CMap/90pv-RKSJ-UCS2 1.1, Resource/CMap/90pv-RKSJ-UCS2C 1.1, Resource/CMap/90pv-RKSJ-V 1.2, Resource/CMap/Add-RKSJ-H 1.2, Resource/CMap/Add-RKSJ-V 1.2, Resource/CMap/Adobe-CNS1-B5pc 1.1, Resource/CMap/Adobe-CNS1-ETen-B5 1.1, Resource/CMap/Adobe-CNS1-H-CID 1.1, Resource/CMap/Adobe-CNS1-H-Host 1.1, Resource/CMap/Adobe-CNS1-H-Mac 1.1, Resource/CMap/Adobe-CNS1-UCS2 1.1, Resource/CMap/Adobe-GB1-GBK-EUC 1.1, Resource/CMap/Adobe-GB1-GBpc-EUC 1.1, Resource/CMap/Adobe-GB1-H-CID 1.1, Resource/CMap/Adobe-GB1-H-Host 1.1, Resource/CMap/Adobe-GB1-H-Mac 1.1, Resource/CMap/Adobe-GB1-UCS2 1.1, Resource/CMap/Adobe-Japan1-90ms-RKSJ 1.1, Resource/CMap/Adobe-Japan1-90pv-RKSJ 1.1, Resource/CMap/Adobe-Japan1-H-CID 1.1, Resource/CMap/Adobe-Japan1-H-Host 1.1, Resource/CMap/Adobe-Japan1-H-Mac 1.1, Resource/CMap/Adobe-Japan1-PS-H 1.1, Resource/CMap/Adobe-Japan1-PS-V 1.1, Resource/CMap/Adobe-Japan1-UCS2 1.1, Resource/CMap/Adobe-Korea1-H-CID 1.1, Resource/CMap/Adobe-Korea1-H-Host 1.1, Resource/CMap/Adobe-Korea1-H-Mac 1.1, Resource/CMap/Adobe-Korea1-KSCms-UHC 1.1, Resource/CMap/Adobe-Korea1-KSCpc-EUC 1.1, Resource/CMap/Adobe-Korea1-UCS2 1.1, Resource/CMap/B5pc-H 1.1, Resource/CMap/B5pc-UCS2 1.1, Resource/CMap/B5pc-UCS2C 1.1, Resource/CMap/B5pc-V 1.1, Resource/CMap/CNS-EUC-H 1.1, Resource/CMap/CNS-EUC-V 1.1, Resource/CMap/EUC-H 1.2, Resource/CMap/EUC-V 1.2, Resource/CMap/Ext-RKSJ-H 1.2, Resource/CMap/Ext-RKSJ-V 1.2, Resource/CMap/GB-EUC-H 1.1, Resource/CMap/GB-EUC-V 1.1, Resource/CMap/GBK-EUC-H 1.2, Resource/CMap/GBK-EUC-UCS2 1.1, Resource/CMap/GBK-EUC-V 1.2, Resource/CMap/GBK2K-H 1.1, Resource/CMap/GBK2K-V 1.1, Resource/CMap/GBKp-EUC-H 1.1, Resource/CMap/GBKp-EUC-V 1.1, Resource/CMap/GBT-EUC-H 1.1, Resource/CMap/GBT-EUC-V 1.1, Resource/CMap/GBpc-EUC-H 1.1, Resource/CMap/GBpc-EUC-UCS2 1.1, Resource/CMap/GBpc-EUC-UCS2C 1.1, Resource/CMap/GBpc-EUC-V 1.1, Resource/CMap/H 1.2, Resource/CMap/HKdla-B5-H 1.1, Resource/CMap/HKdla-B5-V 1.1, Resource/CMap/HKdlb-B5-H 1.1, Resource/CMap/HKdlb-B5-V 1.1, Resource/CMap/HKgccs-B5-H 1.1, Resource/CMap/HKgccs-B5-V 1.1, Resource/CMap/HKm314-B5-H 1.1, Resource/CMap/HKm314-B5-V 1.1, Resource/CMap/HKm471-B5-H 1.1, Resource/CMap/HKm471-B5-V 1.1, Resource/CMap/HKscs-B5-H 1.1, Resource/CMap/HKscs-B5-V 1.1, Resource/CMap/Identity-H 1.2, Resource/CMap/Identity-V 1.2, Resource/CMap/KSC-EUC-H 1.1, Resource/CMap/KSC-EUC-V 1.1, Resource/CMap/KSCms-UHC-H 1.2, Resource/CMap/KSCms-UHC-HW-H 1.1, Resource/CMap/KSCms-UHC-HW-V 1.1, Resource/CMap/KSCms-UHC-UCS2 1.1, Resource/CMap/KSCms-UHC-V 1.2, Resource/CMap/KSCpc-EUC-H 1.1, Resource/CMap/KSCpc-EUC-UCS2 1.1, Resource/CMap/KSCpc-EUC-UCS2C 1.1, Resource/CMap/UCS2-90ms-RKSJ 1.1, Resource/CMap/UCS2-90pv-RKSJ 1.1, Resource/CMap/UCS2-B5pc 1.1, Resource/CMap/UCS2-ETen-B5 1.1, Resource/CMap/UCS2-GBK-EUC 1.1, Resource/CMap/UCS2-GBpc-EUC 1.1, Resource/CMap/UCS2-KSCms-UHC 1.1, Resource/CMap/UCS2-KSCpc-EUC 1.1, Resource/CMap/UniCNS-UCS2-H 1.2, Resource/CMap/UniCNS-UCS2-V 1.2, Resource/CMap/UniGB-UCS2-H 1.2, Resource/CMap/UniGB-UCS2-V 1.2, Resource/CMap/UniJIS-UCS2-H 1.2, Resource/CMap/UniJIS-UCS2-HW-H 1.1, Resource/CMap/UniJIS-UCS2-HW-V 1.1, Resource/CMap/UniJIS-UCS2-V 1.2, Resource/CMap/UniKS-UCS2-H 1.2, Resource/CMap/UniKS-UCS2-V 1.2, Resource/CMap/V 1.2]</p>
</blockquote>
-<p><strong><a name="2004-02-05_1608"></a>
-2004-02-05 16:08 Igor Melichev</strong> (<a href="Details.htm#2004-02-05_1608">details</a>)</p>
+<p><strong><a name="2004-06-18_1746"></a>
+2004-06-18 17:46 Igor Melichev</strong> (<a href="Details.htm#2004-06-18_1746">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C16.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 5).
</pre>
-<p>[src/gx.h 1.39]</p>
+<p>[src/gdevpdti.c 1.33, src/gdevpdfx.h 1.94, src/gdevpdtt.c 1.83]</p>
</blockquote>
-<p><strong><a name="2004-02-05_1439"></a>
-2004-02-05 14:39 Igor Melichev</strong> (<a href="Details.htm#2004-02-05_1439">details</a>)</p>
+<p><strong><a name="2004-06-18_0700"></a>
+2004-06-18 07:00 Dan Coby</strong> (<a href="Details.htm#2004-06-18_0700">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C15.
+687504 Enhancement: Imaging spot colors without using the
+SeparationColorNames parameter.
</pre>
-<p>[src/gxfill.c 1.105, src/gxfillsl.h 1.2]</p>
+<p>[src/gdevdevn.c 1.20, src/gdevdevn.h 1.8, src/gdevnfwd.c 1.23, src/gdevperm.c 1.4, src/gdevpsd.c 1.14, src/gdevxcf.c 1.8, src/gscdevn.c 1.17, src/gscsepr.c 1.24, src/gscspace.c 1.16, src/gsdparam.c 1.14, src/gsht.c 1.19, src/gxcmap.c 1.21, src/gxcmap.h 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-04_1142"></a>
-2004-02-04 11:42 Igor Melichev</strong> (<a href="Details.htm#2004-02-04_1142">details</a>)</p>
+<p><strong><a name="2004-06-17_2142"></a>
+2004-06-17 21:42 Ralph Giles</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C14.
-
-</pre>
-<p>[src/gdevddrw.c 1.10, src/gxdtfill.h 1.8]</p>
+Protect genarch's test for sizeof(long long) with and #ifdef HAVE_LONG_LONG
+since a number of platforms (particularly MSVC) do not support this type.</pre>
+<p>[src/genarch.c 1.11, src/stdint_.h 1.5]</p>
</blockquote>
-<p><strong><a name="2004-02-04_1133"></a>
-2004-02-04 11:33 Igor Melichev</strong> (<a href="Details.htm#2004-02-04_1133">details</a>)</p>
+<p><strong><a name="2004-06-17_1305"></a>
+2004-06-17 13:05 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C13.
-
-</pre>
-<p>[src/gdevddrw.c 1.9, src/gdevpdtc.c 1.32, src/gxdtfill.h 1.7, src/gxfdrop.c 1.13, src/gxfill.c 1.104, src/gxfill.h 1.19, src/gxfillsl.h 1.1, src/gxfilltr.h 1.1, src/gxfillts.h 1.1, src/lib.mak 1.164]</p>
+Round elements of Mask array to the nearest integer following implementation
+of AR4, AR5, AR6.
+Fix bug 687494 from customer 580.</pre>
+<p>[lib/pdf_draw.ps 1.82]</p>
</blockquote>
-<p><strong><a name="2004-02-04_1009"></a>
-2004-02-04 10:09 Igor Melichev</strong> (<a href="Details.htm#2004-02-04_1009">details</a>)</p>
+<p><strong><a name="2004-06-17_1114"></a>
+2004-06-17 11:14 Igor Melichev</strong> (<a href="Details.htm#2004-06-17_1114">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : provide a compatibility of TEXT_FROM_CHARS to GhostPCL.
+Fix : Arithmetic errors could cause a function monotonity misrecongition.
</pre>
-<p>[src/gdevpdtt.c 1.72]</p>
+<p>[src/gsfunc0.c 1.21]</p>
</blockquote>
-<p><strong><a name="2004-02-02_2117"></a>
-2004-02-02 21:17 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_2117">details</a>)</p>
+<p><strong><a name="2004-06-16_2001"></a>
+2004-06-16 20:01 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Allow auto-inline optimization with MSVC.
-
-</pre>
-<p>[src/msvccmd.mak 1.14]</p>
+Fix parsing of -2147483648.5, min_int followed by a fractional part.
+Fix bug 687500</pre>
+<p>[src/iscannum.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-02_2024"></a>
-2004-02-02 20:24 Alex Cherepanov</strong> (<a href="Details.htm#2004-02-02_2024">details</a>)</p>
+<p><strong><a name="2004-06-16_1122"></a>
+2004-06-16 11:22 Igor Melichev</strong> (<a href="Details.htm#2004-06-16_1122">details</a>)</p>
<blockquote>
<pre>
-Perform sign extension on 64-bit platforms.
-Partial fix for bug 687029.
+Fix (pdfwrite) : Allow named object reference in the Action key of /ANN pdfmark.
</pre>
-<p>[lib/gs_ttf.ps 1.36]</p>
+<p>[src/gdevpdfm.c 1.40]</p>
</blockquote>
-<p><strong><a name="2004-02-02_2014"></a>
-2004-02-02 20:14 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_2014">details</a>)</p>
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C12.
-
-</pre>
-<p>[src/gxfill.c 1.103]</p>
+Protect against cache values containing spaces. This shouldn't be a problem, the change is more for consistency.</pre>
+<p>[src/configure.ac 1.47]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1625"></a>
-2004-02-02 16:25 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_1625">details</a>)</p>
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C11.
-
-</pre>
-<p>[src/gxfill.c 1.102]</p>
+Try to use long long as a 64 bit type in the genarch fallback stdint definitions. Fix for bug 687514.</pre>
+<p>[src/genarch.c 1.10, src/stdint_.h 1.4]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1409"></a>
-2004-02-02 14:09 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_1409">details</a>)</p>
+<p><strong><a name="2004-06-15_2028"></a>
+2004-06-15 20:28 Igor Melichev</strong> (<a href="Details.htm#2004-06-15_2028">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C10.
+Fix (pdfwrite) : A wrong CFF string index randiomization.
</pre>
-<p>[src/gxfill.c 1.101]</p>
+<p>[src/gdevpdtb.c 1.24, src/gdevpsf2.c 1.31, src/lib.mak 1.186]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1353"></a>
-2004-02-02 13:53 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_1353">details</a>)</p>
+<p><strong><a name="2004-06-15_1527"></a>
+2004-06-15 15:27 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C9.
-
-</pre>
-<p>[src/gxfill.c 1.100]</p>
+Make pdf_dominant_rotation() return unknown text rotation for the file
+without text. It returned 0 rotation before, which excluded consideration
+of DSC comments later on.
+Fix bug 687515</pre>
+<p>[src/gdevpdf.c 1.95]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1229"></a>
-2004-02-02 12:29 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_1229">details</a>)</p>
+<p><strong><a name="2004-06-10_1909"></a>
+2004-06-10 19:09 Igor Melichev</strong> (<a href="Details.htm#2004-06-10_1909">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C8.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 4).
</pre>
-<p>[src/gxfill.c 1.99]</p>
+<p>[src/gdevpdfi.c 1.53, src/gdevpdfm.c 1.39, src/gdevpdfx.h 1.93, src/gdevpdti.c 1.32]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1148"></a>
-2004-02-02 11:48 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_1148">details</a>)</p>
+<p><strong><a name="2004-06-10_1641"></a>
+2004-06-10 16:41 Igor Melichev</strong> (<a href="Details.htm#2004-06-10_1641">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C7.
+A new implementation of shadings, step 80.
</pre>
-<p>[src/gx.h 1.38, src/gxfill.c 1.98, src/gxfill.h 1.18, src/gxpflat.c 1.39, src/gzpath.h 1.34]</p>
+<p>[src/gxshade6.c 1.76]</p>
</blockquote>
-<p><strong><a name="2004-02-02_0844"></a>
-2004-02-02 08:44 Igor Melichev</strong> (<a href="Details.htm#2004-02-02_0844">details</a>)</p>
+<p><strong><a name="2004-06-09_2047"></a>
+2004-06-09 20:47 Igor Melichev</strong> (<a href="Details.htm#2004-06-09_2047">details</a>)</p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 14.
+Fix (type 1 hinter) : an indeterministic bug in t1_hinter__simplify_representation.
</pre>
-<p>[src/gdevpdfu.c 1.50]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-31_0048"></a>
-2004-01-31 00:48 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-[no log message]</pre>
-<p>[doc/Release.htm 1.84]</p>
+<p>[src/gxhintn.c 1.50]</p>
</blockquote>
-<p><strong><a name="2004-01-30_2312"></a>
-2004-01-30 23:12 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-09_1207"></a>
+2004-06-09 12:07 Igor Melichev</strong> (<a href="Details.htm#2004-06-09_1207">details</a>)</p>
<blockquote>
<pre>
-Replace the license header of some of the test scripts with the generic version.</pre>
-<p>[toolbin/tests/check_all.py 1.5, toolbin/tests/check_comments.py 1.3, toolbin/tests/check_dirs.py 1.8, toolbin/tests/check_docrefs.py 1.9, toolbin/tests/check_source.py 1.9, toolbin/tests/gscheck_all.py 1.5, toolbin/tests/gscheck_fuzzypdf.py 1.7, toolbin/tests/gscheck_pdfwrite.py 1.17, toolbin/tests/gscheck_raster.py 1.8, toolbin/tests/gsconf.py 1.10, toolbin/tests/gssum.py 1.6, toolbin/tests/gstestgs.py 1.22, toolbin/tests/gstestutils.py 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0851"></a>
-2004-01-30 08:51 Russell Lang</strong></p>
-<blockquote>
-<pre>
-Document that the copyright year needs to be updated in some
-Windows files for each release.</pre>
-<p>[doc/Release.htm 1.83]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0840"></a>
-2004-01-30 08:40 Russell Lang</strong></p>
-<blockquote>
-<pre>
-Update copyright date for Windows release to 2004.</pre>
-<p>[src/dwsetup.rc 1.11, src/winint.mak 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0732"></a>
-2004-01-30 07:32 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct the link to History8.htm.</pre>
-<p>[doc/Readme.htm 1.54]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0405"></a>
-2004-01-30 04:05 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix typo.</pre>
-<p>[doc/Use.htm 1.100]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-29_1840"></a>
-2004-01-29 18:40 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Change notice in some headers that had been missed during original update
-to the unified notice.</pre>
-<p>[src/gdevdljm.h 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-29_1819"></a>
-2004-01-29 18:19 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Change notice in some headers that had been missed during original update
-to the unified notice.</pre>
-<p>[src/gdevatx.c 1.9, src/gdevdjet.c 1.11, src/gdevdljm.c 1.11, src/gsovrc.c 1.4, src/gsovrc.h 1.3, src/gxoprect.c 1.5, src/gxoprect.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-29_0934"></a>
-2004-01-29 09:34 Igor Melichev</strong> (<a href="Details.htm#2004-01-29_0934">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 13.
+Fix (type 1 hinter) :
+1. Ever align the Y-coordinate of a glyph origin to pixels.
+2. Improve the unaligned pole interpolation;
+3. Set a waeaker angle threshold in t1_hinter__is_stem_hint_applicable.
+4. Allow an offset fuzz in t1_hinter__is_stem_hint_applicable.
+5. Align upper/lower horizontal stems by the upper/lower edge.
+6. A dependency was missed in lib.mak .
</pre>
-<p>[src/gdevpdf.c 1.87]</p>
+<p>[src/gxchar.c 1.43, src/gxhintn.c 1.49, src/lib.mak 1.185, src/gxhintn.h 1.20]</p>
</blockquote>
-<p><strong><a name="2004-01-28_1654"></a>
-2004-01-28 16:54 Igor Melichev</strong> (<a href="Details.htm#2004-01-28_1654">details</a>)</p>
+<p><strong><a name="2004-06-08_1142"></a>
+2004-06-08 11:42 Igor Melichev</strong> (<a href="Details.htm#2004-06-08_1142">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C6.
+Fix (pdfwrite) : Merge equal ExtGState objects.
</pre>
-<p>[src/gxfdrop.c 1.12, src/gxfill.c 1.97, src/gxfill.h 1.17]</p>
+<p>[src/gdevpdfg.c 1.53, src/gdevpdfo.c 1.30, src/gdevpdfo.h 1.19]</p>
</blockquote>
-<p><strong><a name="2004-01-28_1508"></a>
-2004-01-28 15:08 Igor Melichev</strong> (<a href="Details.htm#2004-01-28_1508">details</a>)</p>
+<p><strong><a name="2004-06-03_1712"></a>
+2004-06-03 17:12 Igor Melichev</strong> (<a href="Details.htm#2004-06-03_1712">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C5.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 3).
</pre>
-<p>[src/gxfdrop.c 1.11, src/gxfill.c 1.96, src/gxfill.h 1.16]</p>
+<p>[src/gdevpdti.c 1.31]</p>
</blockquote>
-<p><strong><a name="2004-01-28_0905"></a>
-2004-01-28 09:05 Igor Melichev</strong> (<a href="Details.htm#2004-01-28_0905">details</a>)</p>
+<p><strong><a name="2004-06-02_1745"></a>
+2004-06-02 17:45 Igor Melichev</strong> (<a href="Details.htm#2004-06-02_1745">details</a>)</p>
<blockquote>
<pre>
-Fix (the new TT interpreter) : A bad pointer enumerated relocating gx_ttfReader.
+Fix (pdfwrite) : 1. After used a process color, continue using it for same client color space.
+2. A bug in pdf_set_initial_color could miss some color commands.
</pre>
-<p>[src/gstype42.c 1.42, src/gxccman.c 1.24, src/gxttfb.c 1.29, src/gxttfb.h 1.10]</p>
+<p>[src/gdevpdfb.c 1.22, src/gdevpdfd.c 1.40, src/gdevpdfg.c 1.52, src/gdevpdfg.h 1.32, src/gdevpdfp.c 1.38, src/gdevpdtt.c 1.82, src/gdevpdfx.h 1.92, src/gdevvec.h 1.13]</p>
</blockquote>
-<p><strong><a name="2004-01-27_1607"></a>
-2004-01-27 16:07 Igor Melichev</strong> (<a href="Details.htm#2004-01-27_1607">details</a>)</p>
+<p><strong><a name="2004-06-02_1319"></a>
+2004-06-02 13:19 Igor Melichev</strong> (<a href="Details.htm#2004-06-02_1319">details</a>)</p>
<blockquote>
<pre>
-Fix (TT grid fitting) : A garbager descriptor was wrong.
+Fix (pdfwrite) : ConvertCMYKImagesToRGB crashed.
</pre>
-<p>[src/gzspotan.h 1.6]</p>
+<p>[src/gdevpsdi.c 1.27]</p>
</blockquote>
-<p><strong><a name="2004-01-27_1605"></a>
-2004-01-27 16:05 Igor Melichev</strong> (<a href="Details.htm#2004-01-27_1605">details</a>)</p>
+<p><strong><a name="2004-06-02_1214"></a>
+2004-06-02 12:14 Igor Melichev</strong> (<a href="Details.htm#2004-06-02_1214">details</a>)</p>
<blockquote>
<pre>
-Fix : Partially restoring the old behavior of the filling algorithm.
+Fix : 'midpoint' formula was wrong.
</pre>
-<p>[src/gxpflat.c 1.38]</p>
+<p>[src/gxpflat.c 1.41, src/gxshade6.c 1.75]</p>
</blockquote>
-<p><strong><a name="2004-01-27_0510"></a>
-2004-01-27 05:10 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-02_0037"></a>
+2004-06-02 00:37 Ralph Giles</strong></p>
<blockquote>
<pre>
-Pass on the CPPFLAGS settings from the configure script into GCFLAGS. Some users expect to be able
-to add include paths through the environment this way. Suggestion from Len Makin.</pre>
-<p>[src/Makefile.in 1.32]</p>
+Correct a typo. Thanks to Russell for catching this one.</pre>
+<p>[doc/Make.htm 1.76]</p>
</blockquote>
-<p><strong><a name="2004-01-26_2351"></a>
-2004-01-26 23:51 Igor Melichev</strong> (<a href="Details.htm#2004-01-26_2351">details</a>)</p>
+<p><strong><a name="2004-06-01_2113"></a>
+2004-06-01 21:13 Dan Coby</strong> (<a href="Details.htm#2004-06-01_2113">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C4.
+Fix for 687477 Bad incremental update to a PDF file.
</pre>
-<p>[src/gxfill.c 1.95, src/gxfill.h 1.15, src/gxpflat.c 1.37, src/gzpath.h 1.33]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_2235"></a>
-2004-01-26 22:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Updating the ps2pdf documentation.</pre>
-<p>[doc/Ps2pdf.htm 1.64]</p>
+<p>[lib/pdf_base.ps 1.43, lib/pdf_main.ps 1.87, lib/pdf_rbld.ps 1.7]</p>
</blockquote>
-<p><strong><a name="2004-01-26_2216"></a>
-2004-01-26 22:16 Igor Melichev</strong> (<a href="Details.htm#2004-01-26_2216">details</a>)</p>
+<p><strong><a name="2004-06-01_1720"></a>
+2004-06-01 17:20 Igor Melichev</strong> (<a href="Details.htm#2004-06-01_1720">details</a>)</p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C3.
-
-</pre>
-<p>[src/gxfill.c 1.94]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_2054"></a>
-2004-01-26 20:54 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Correct typo -- position of " in example command. Thanks to Ulf-Dietrich
-Braumann of Leipzig University for this.</pre>
-<p>[doc/Ps2pdf.htm 1.63]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_1527"></a>
-2004-01-26 15:27 Igor Melichev</strong> (<a href="Details.htm#2004-01-26_1527">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C2.
-
-</pre>
-<p>[src/gxfill.c 1.93]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_1320"></a>
-2004-01-26 13:20 Igor Melichev</strong> (<a href="Details.htm#2004-01-26_1320">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C1.
-
-</pre>
-<p>[src/gx.h 1.37, src/gxfill.c 1.92, src/gxfill.h 1.14, src/gxpcopy.c 1.21, src/gzpath.h 1.32]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_1313"></a>
-2004-01-26 13:13 Igor Melichev</strong> (<a href="Details.htm#2004-01-26_1313">details</a>)</p>
-<blockquote>
-<pre>
-Fix : gx_flattened_iterator::last_filtered1_i could left uninitialized.
-
-</pre>
-<p>[src/gxfill.c 1.91, src/gxpflat.c 1.36, src/gzpath.h 1.31]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_1115"></a>
-2004-01-26 11:15 Igor Melichev</strong> (<a href="Details.htm#2004-01-26_1115">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B10, final in this series.
-
-</pre>
-<p>[src/gxpcopy.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-25_1423"></a>
-2004-01-25 14:23 Igor Melichev</strong> (<a href="Details.htm#2004-01-25_1423">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B9, final in this series.
-
-</pre>
-<p>[src/gxpflat.c 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-25_1355"></a>
-2004-01-25 13:55 Igor Melichev</strong> (<a href="Details.htm#2004-01-25_1355">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B8.
-
-</pre>
-<p>[src/gxpflat.c 1.34]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-25_1149"></a>
-2004-01-25 11:49 Igor Melichev</strong> (<a href="Details.htm#2004-01-25_1149">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B7.
-
-</pre>
-<p>[src/gxpflat.c 1.33]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-25_1121"></a>
-2004-01-25 11:21 Igor Melichev</strong> (<a href="Details.htm#2004-01-25_1121">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B6.
-
-</pre>
-<p>[src/gxpflat.c 1.32]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-24_2349"></a>
-2004-01-24 23:49 Dan Coby</strong> (<a href="Details.htm#2004-01-24_2349">details</a>)</p>
-<blockquote>
-<pre>
-Fix for Bug 687255 pcl output shifted to bottom of page. Correct
-the order of the PCL commands at the start of page for the ljet devices.
-
-</pre>
-<p>[src/gdevdljm.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-24_1045"></a>
-2004-01-24 10:45 Igor Melichev</strong> (<a href="Details.htm#2004-01-24_1045">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B5.
-
-</pre>
-<p>[src/gx.h 1.36, src/gxfill.c 1.90, src/gxpflat.c 1.31, src/gzpath.h 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1735"></a>
-2004-01-23 17:35 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add check for missing raster image before getting the date of the raster.
-If raster is missing, run update_***baseline script to generate it since
-the file must be new since the last regression run. Bug 687245.</pre>
-<p>[toolbin/tests/gscheck_pdfwrite.py 1.16, toolbin/tests/gscheck_raster.py 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1646"></a>
-2004-01-23 16:46 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1646">details</a>)</p>
-<blockquote>
-<pre>
-Removed the obsolete configuration switches NEW_TT_INTERPRETER and TT_GRID_FITTING.
-
-</pre>
-<p>[src/gsfont.c 1.31, src/gsfont.h 1.10, src/gstext.c 1.16, src/gstype42.c 1.41, src/gx.h 1.35, src/gxccache.c 1.29, src/gxccman.c 1.23, src/gxchar.c 1.39, src/gxfcache.h 1.25, src/gxfont42.h 1.19, src/gxtext.h 1.14, src/gxttfb.c 1.28, src/zchar42.c 1.14, src/zusparam.c 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1641"></a>
-2004-01-23 16:41 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1641">details</a>)</p>
-<blockquote>
-<pre>
-Fix (the new TT interpreter) : st_gs_text_enum_max_ptrs was wrong.
-
-</pre>
-<p>[src/gxtext.h 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1635"></a>
-2004-01-23 16:35 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1635">details</a>)</p>
-<blockquote>
-<pre>
-Fix (the new TT interpreter) : A bad pointer enumerated relocating gs_text_enum_s.
-
-</pre>
-<p>[src/gstext.c 1.15, src/gxfcache.h 1.24, src/lib.mak 1.163]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1405"></a>
-2004-01-23 14:05 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1405">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B4.
-
-</pre>
-<p>[src/gxfill.c 1.89]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1325"></a>
-2004-01-23 13:25 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1325">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B3.
-
-</pre>
-<p>[src/gx.h 1.34, src/gxfdrop.c 1.10, src/gxfill.c 1.88, src/gxfill.h 1.13, src/gxpath.h 1.12, src/gxpcopy.c 1.19, src/gxpflat.c 1.30, src/gzpath.h 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1235"></a>
-2004-01-23 12:35 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1235">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B2.
-
-</pre>
-<p>[src/gx.h 1.33]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1005"></a>
-2004-01-23 10:05 Igor Melichev</strong> (<a href="Details.htm#2004-01-23_1005">details</a>)</p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B1.
-
-</pre>
-<p>[src/gx.h 1.32, src/gxfill.c 1.87, src/gxpflat.c 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-22_1136"></a>
-2004-01-22 11:36 Igor Melichev</strong> (<a href="Details.htm#2004-01-22_1136">details</a>)</p>
-<blockquote>
-<pre>
-Fix : A bug in ttfmain.c caused a heap damage.
-
-</pre>
-<p>[src/ttfmain.c 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-22_0922"></a>
-2004-01-22 09:22 Igor Melichev</strong> (<a href="Details.htm#2004-01-22_0922">details</a>)</p>
-<blockquote>
-<pre>
-Fix : pco_accurate didn't work for curves with zero derivative.
-
-</pre>
-<p>[src/gxpcopy.c 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-22_0916"></a>
-2004-01-22 09:16 Ralph Giles</strong> (<a href="Details.htm#2004-01-22_0916">details</a>)</p>
-<blockquote>
-<pre>
-Create a new dynamic header 'gconfigd.h' for non-platform-specific defines. Variables like
-GS_LIB_DEFAULT which were previously tacked onto the end of gconfig.h have been moved to the new
-header. This change is necessary to pass the default path for the persistent cache from the
-makefile.
-
-</pre>
-<p>[src/gp_unix_cache.c 1.2, src/gs.mak 1.25, src/gscdef.c 1.42, src/iconf.c 1.7, src/int.mak 1.122, src/lib.mak 1.162, src/unix-aux.mak 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-21_1355"></a>
-2004-01-21 13:55 Igor Melichev</strong> (<a href="Details.htm#2004-01-21_1355">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Don't apply pco_accurate when filling a path.
-
-</pre>
-<p>[src/gxfill.c 1.86]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-21_1338"></a>
-2004-01-21 13:38 Igor Melichev</strong> (<a href="Details.htm#2004-01-21_1338">details</a>)</p>
-<blockquote>
-<pre>
-Fix : The dropout prevetion did not work with "true .setaccuratecurves".
-
-</pre>
-<p>[src/gxpcopy.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-21_1017"></a>
-2004-01-21 10:17 Igor Melichev</strong> (<a href="Details.htm#2004-01-21_1017">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Type 3 characters were missed in the Widths array.
-
-</pre>
-<p>[src/gdevpdte.c 1.52]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_1911"></a>
-2004-01-20 19:11 Ralph Giles</strong> (<a href="Details.htm#2004-01-20_1911">details</a>)</p>
-<blockquote>
-<pre>
-Replace a fixed-filename tempfile fopen with gp_open_scratch_file() for improved robustness in the
-pnga device. Part of the fix for bug 687243.
-
-</pre>
-<p>[src/gdevpnga.c 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_1905"></a>
-2004-01-20 19:05 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Some additional clarification on the new pdfwrite encryption user parameters.</pre>
-<p>[doc/Ps2pdf.htm 1.62]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_1900"></a>
-2004-01-20 19:00 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve wording and html formatting of recent documentation additions.</pre>
-<p>[doc/News.htm 1.142, doc/Ps2pdf.htm 1.61]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_1508"></a>
-2004-01-20 15:08 Igor Melichev</strong> (<a href="Details.htm#2004-01-20_1508">details</a>)</p>
-<blockquote>
-<pre>
-Fix : The PCL interpreter doesn't provide pattern streams (continued).
-
-</pre>
-<p>[src/gdevpdfg.c 1.46, src/gdevpdfg.h 1.29, src/gdevpdfv.c 1.33, src/int.mak 1.121, src/zpcolor.c 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_0139"></a>
-2004-01-20 01:39 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo in the previous commit.</pre>
-<p>[src/gp_unifs.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_0124"></a>
-2004-01-20 01:24 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Save the original filename template for use in the error message when mkstemp() fails. According
-to the man page mkstemp() can clobber the contents of fname if it does not succeed. Part of the
-fix for bug 687243.</pre>
-<p>[src/gp_unifs.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_2319"></a>
-2004-01-19 23:19 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove some very old scripts which contain /tmp races, a security risk should
-someone actually try to use them. Part of the fix for bug 687243.</pre>
-<p>[lib/pj-gs.sh 1.4, lib/sysvlp.sh 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_2015"></a>
-2004-01-19 20:15 Igor Melichev</strong> (<a href="Details.htm#2004-01-19_2015">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 12.
-
-</pre>
-<p>[src/gdevpdfu.c 1.49]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_1652"></a>
-2004-01-19 16:52 Igor Melichev</strong> (<a href="Details.htm#2004-01-19_1652">details</a>)</p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : CropBox computed wrongly.
-
-</pre>
-<p>[lib/pdf_main.ps 1.84]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_1232"></a>
-2004-01-19 12:32 Igor Melichev</strong> (<a href="Details.htm#2004-01-19_1232">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Merge redundant images (continued).
-
-</pre>
-<p>[src/gdevpdfo.c 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_0941"></a>
-2004-01-19 09:41 Igor Melichev</strong> (<a href="Details.htm#2004-01-19_0941">details</a>)</p>
-<blockquote>
-<pre>
-Fix : The PCL interpreter doesn't provide pattern streams.
-
-</pre>
-<p>[src/gsistate.c 1.9, src/gsptype1.c 1.18, src/gsstate.c 1.23, src/gxistate.h 1.19, src/gxstate.h 1.9, src/zgstate.c 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-17_2046"></a>
-2004-01-17 20:46 Dan Coby</strong> (<a href="Details.htm#2004-01-17_2046">details</a>)</p>
-<blockquote>
-<pre>
-Fix for "687252 subfiledecode errors on includes greater than the
-size of a uint". In spite of the bug name, the problem is not
-related to the actual size of the subfile or to the size of a uint.
-The actual problem is a missing required parameter: EODCount.
-However Adobe once again ignores the missing parameter and what is
-specified in the PRLM-3rd.
-
-</pre>
-<p>[src/zfilter.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_1236"></a>
-2004-01-16 12:36 Igor Melichev</strong> (<a href="Details.htm#2004-01-16_1236">details</a>)</p>
-<blockquote>
-<pre>
-Fix (type 1 hinter) : Wrong outline with a huge scale.
-
-</pre>
-<p>[src/gxhintn.c 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0947"></a>
-2004-01-16 09:47 Igor Melichev</strong> (<a href="Details.htm#2004-01-16_0947">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 11.
-
-</pre>
-<p>[src/gdevpdf.c 1.86]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0924"></a>
-2004-01-16 09:24 Igor Melichev</strong> (<a href="Details.htm#2004-01-16_0924">details</a>)</p>
-<blockquote>
-<pre>
-Documenting new features of gs8.30 .
-
-</pre>
-<p>[doc/Language.htm 1.83, doc/News.htm 1.141, doc/Ps2pdf.htm 1.60, doc/Use.htm 1.99]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0636"></a>
-2004-01-16 06:36 Dan Coby</strong> (<a href="Details.htm#2004-01-16_0636">details</a>)</p>
-<blockquote>
-<pre>
-Fix for 687247 x11 device fails with CMYK on 8bit display.
-
-</pre>
-<p>[src/gxcmap.c 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0231"></a>
-2004-01-16 02:31 Igor Melichev</strong> (<a href="Details.htm#2004-01-16_0231">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 10 - beta release.
-
-</pre>
-<p>[doc/Ps2pdf.htm 1.59]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0211"></a>
-2004-01-16 02:11 Igor Melichev</strong> (<a href="Details.htm#2004-01-16_0211">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 9.
-
-</pre>
-<p>[src/gdevpdf.c 1.85]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0202"></a>
-2004-01-16 02:02 Igor Melichev</strong> (<a href="Details.htm#2004-01-16_0202">details</a>)</p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) Bug in encryption revision 3.
-
-</pre>
-<p>[lib/pdf_sec.ps 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_2144"></a>
-2004-01-15 21:44 Igor Melichev</strong> (<a href="Details.htm#2004-01-15_2144">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 8.
-
-</pre>
-<p>[src/gdevpdf.c 1.84]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1745"></a>
-2004-01-15 17:45 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add an RCS Id line to the documentation stylesheet. There's no reason to exempt it.</pre>
-<p>[doc/gs.css 1.3, toolbin/tests/check_source.py 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1741"></a>
-2004-01-15 17:41 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the Freetype Licence text to the exemptions list for RCS Id lines.</pre>
-<p>[toolbin/tests/check_source.py 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1735"></a>
-2004-01-15 17:35 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add gp_unix_cache.c to the developer documentation's file listing.</pre>
-<p>[doc/Develop.htm 1.130]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1608"></a>
-2004-01-15 16:08 Igor Melichev</strong> (<a href="Details.htm#2004-01-15_1608">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 7.
-
-</pre>
-<p>[src/gdevpdf.c 1.83]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1502"></a>
-2004-01-15 15:02 Igor Melichev</strong> (<a href="Details.htm#2004-01-15_1502">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 6.
-
-</pre>
-<p>[src/gdevpdf.c 1.82, src/gdevpdfp.c 1.36, src/gdevpdfx.h 1.84]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1009"></a>
-2004-01-15 10:09 Igor Melichev</strong> (<a href="Details.htm#2004-01-15_1009">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 5.
-
-</pre>
-<p>[src/devs.mak 1.107, src/gdevpdf.c 1.81, src/gdevpdfc.c 1.46, src/gdevpdfo.c 1.25, src/gdevpdfo.h 1.18, src/gdevpdfu.c 1.48, src/gdevpdfx.h 1.83, src/gdevpdtf.c 1.34, src/gdevpdti.c 1.27, src/gdevpdtw.c 1.27, src/gdevpdtw.h 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_0927"></a>
-2004-01-15 09:27 Ralph Giles</strong> (<a href="Details.htm#2004-01-15_0927">details</a>)</p>
-<blockquote>
-<pre>
-Initial commit of the persistent cache implementation. This version supports only the *nix
-platform and does not include any eviction logic. Also currently the cache directory and
-empty 'gs_cache' index file must be created manually.
-
-</pre>
-<p>[src/Makefile.in 1.31, src/gp.h 1.27, src/gp_dvx.c 1.11, src/gp_iwatc.c 1.17, src/gp_mac.c 1.15, src/gp_mswin.c 1.23, src/gp_os2.c 1.30, src/gp_os9.c 1.12, src/gp_unix.c 1.13, src/gp_unix_cache.c 1.1, src/gp_vms.c 1.37, src/gs.mak 1.24, src/unix-aux.mak 1.11, src/zmisc.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_1805"></a>
-2004-01-14 18:05 Igor Melichev</strong> (<a href="Details.htm#2004-01-14_1805">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 4.
-
-</pre>
-<p>[src/devs.mak 1.106, src/gdevpdfc.c 1.45]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_1604"></a>
-2004-01-14 16:04 Igor Melichev</strong> (<a href="Details.htm#2004-01-14_1604">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 3.
-
-</pre>
-<p>[src/gdevpdfj.c 1.29, src/gdevpdfu.c 1.47, src/gdevpdfx.h 1.82, src/gdevpdtb.c 1.23, src/gdevpdti.c 1.26, src/gdevpdtw.c 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_1407"></a>
-2004-01-14 14:07 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Check for hypot() availability on the configure step, fix the hypot()
-replacement macro, and deal with MSVC specially.
-Fix bug 687238.</pre>
-<p>[src/Makefile.in 1.30, src/configure.ac 1.39, src/math_.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_1345"></a>
-2004-01-14 13:45 Igor Melichev</strong> (<a href="Details.htm#2004-01-14_1345">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 2.
-
-</pre>
-<p>[src/devs.mak 1.105, src/gdevpdf.c 1.80, src/gdevpdfo.c 1.24, src/gdevpdfu.c 1.46, src/gdevpdfx.h 1.81, src/gdevpdti.c 1.25, src/sarc4.c 1.10, src/sarc4.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_0750"></a>
-2004-01-14 07:50 Igor Melichev</strong> (<a href="Details.htm#2004-01-14_0750">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 1.
-
-</pre>
-<p>[src/devs.mak 1.104, src/gdevpdf.c 1.79, src/gdevpdfp.c 1.35, src/gdevpdfx.h 1.80, src/sarc4.c 1.9, src/sarc4.h 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_0638"></a>
-2004-01-14 06:38 Ray Johnston</strong> (<a href="Details.htm#2004-01-14_0638">details</a>)</p>
-<blockquote>
-<pre>
-Fix to prevent setdistillerparams from erasing the page device or reset
-the page device parameters. Fixes bugs 563287 and 607425.
-
-</pre>
-<p>[lib/gs_pdfwr.ps 1.37]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_1403"></a>
-2004-01-13 14:03 Igor Melichev</strong> (<a href="Details.htm#2004-01-13_1403">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the file ID.
-
-</pre>
-<p>[src/devs.mak 1.103, src/gdevpdf.c 1.78, src/gdevpdfx.h 1.79, src/lib.mak 1.161, src/smd5.c 1.6, src/smd5.h 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_0728"></a>
-2004-01-13 07:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Cygwin/gcc compiler warnings.</pre>
-<p>[src/gdevpdfd.c 1.36, src/gdevpdfo.c 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_0728"></a>
-2004-01-13 07:28 Igor Melichev</strong> (<a href="Details.htm#2004-01-13_0728">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Adobe glitches with a small FontMatrix.
-
-</pre>
-<p>[src/gdevpdte.c 1.51, src/gdevpdtt.c 1.71, src/gdevpdtt.h 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_0532"></a>
-2004-01-13 05:32 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fixing a punctuation inaccuracy in documentation.</pre>
-<p>[doc/Language.htm 1.82, doc/Use.htm 1.98]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_0206"></a>
-2004-01-13 02:06 Ray Johnston</strong> (<a href="Details.htm#2004-01-13_0206">details</a>)</p>
-<blockquote>
-<pre>
-Fix problems with the "image" device when the palette is an 8-bit gray
-palette (uses the image8 device with num_components == 1). Since the
-DeviceN changes, changing num_components requires also setting the
-gray_index value appropriately. Also the rgb to color mapping function
-did not allow for num_components == 1 and used uninitialized values for
-the green and blue comonents. Fixes bugs 458261, 686909 and 687204.
-
-</pre>
-<p>[src/gdevmem.c 1.7, src/gsdevmem.c 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_2316"></a>
-2004-01-12 23:16 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Clarify wording in the updated GridFitTT documentation.</pre>
-<p>[doc/Language.htm 1.81, doc/Use.htm 1.97]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_2304"></a>
-2004-01-12 23:04 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Clarify wording and correct some spelling errors in a recent documentation change.</pre>
-<p>[doc/Ps2pdf.htm 1.58]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_1435"></a>
-2004-01-12 14:35 Igor Melichev</strong> (<a href="Details.htm#2004-01-12_1435">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A misprint in the previous patch.
-
-</pre>
-<p>[src/gdevpdf.c 1.77]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_1428"></a>
-2004-01-12 14:28 Igor Melichev</strong> (<a href="Details.htm#2004-01-12_1428">details</a>)</p>
-<blockquote>
-<pre>
-pdfwrite : Merge redundant images.
-
-</pre>
-<p>[doc/Ps2pdf.htm 1.57, src/gdevpdf.c 1.76, src/gdevpdfb.c 1.21, src/gdevpdfg.h 1.28, src/gdevpdfi.c 1.50, src/gdevpdfj.c 1.28, src/gdevpdfo.c 1.22, src/gdevpdfo.h 1.17, src/gdevpdfp.c 1.34, src/gdevpdfu.c 1.45, src/gdevpdfx.h 1.78]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-11_1353"></a>
-2004-01-11 13:53 Igor Melichev</strong> (<a href="Details.htm#2004-01-11_1353">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A mangled CFF was written when an Encoding uses 256 glyphs.
-
-</pre>
-<p>[src/gdevpsf2.c 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-11_1121"></a>
-2004-01-11 11:21 Igor Melichev</strong> (<a href="Details.htm#2004-01-11_1121">details</a>)</p>
-<blockquote>
-<pre>
-Fix : removed dependence on bands in the filling algorithm.
-
-</pre>
-<p>[src/gxfill.c 1.85, src/gxfill.h 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-10_1800"></a>
-2004-01-10 18:00 Igor Melichev</strong> (<a href="Details.htm#2004-01-10_1800">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Mark copied font's glyph names when reclaiming memory.
-
-</pre>
-<p>[src/gxfcopy.c 1.40]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-10_1224"></a>
-2004-01-10 12:24 Igor Melichev</strong> (<a href="Details.htm#2004-01-10_1224">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Improving heuristics in the compression chooser.
-
-</pre>
-<p>[src/gdevpdfj.c 1.27, src/gdevpsds.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-10_1212"></a>
-2004-01-10 12:12 Igor Melichev</strong> (<a href="Details.htm#2004-01-10_1212">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A big stack consumption writing a CFF with many glyphs.
-
-</pre>
-<p>[src/gdevpsf.h 1.26, src/gdevpsf2.c 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-09_1427"></a>
-2004-01-09 14:27 Igor Melichev</strong> (<a href="Details.htm#2004-01-09_1427">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Improving vdtrace macros.
-
-</pre>
-<p>[src/dwtrace.c 1.5, src/vdtrace.h 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-09_1340"></a>
-2004-01-09 13:40 Igor Melichev</strong> (<a href="Details.htm#2004-01-09_1340">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Some of Sun ONE Studio 7 and Cygwin/gcc compiler warnings.
-
-</pre>
-<p>[src/devs.mak 1.102, src/gdevpdtc.c 1.31, src/gdevpdtt.c 1.70, src/gxpcopy.c 1.16, src/zfapi.c 1.51]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-09_1302"></a>
-2004-01-09 13:02 Igor Melichev</strong> (<a href="Details.htm#2004-01-09_1302">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Empty clip was written into a charproc.
-
-</pre>
-<p>[src/gdevpdti.c 1.24, src/gdevpdtt.c 1.69]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-08_1402"></a>
-2004-01-08 14:02 Igor Melichev</strong> (<a href="Details.htm#2004-01-08_1402">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 12, final.
-
-</pre>
-<p>[src/gx.h 1.31, src/gzspotan.c 1.8, doc/Language.htm 1.80, doc/Use.htm 1.96]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-07_1950"></a>
-2004-01-07 19:50 Ralph Giles</strong> (<a href="Details.htm#2004-01-07_1950">details</a>)</p>
-<blockquote>
-<pre>
-Unequivocally include stdlib.h in echogs.c to avoid a warning on the Sun ONE Studio 7 compiler as
-reported in bug 687234.
-
-</pre>
-<p>[src/echogs.c 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-07_1112"></a>
-2004-01-07 11:12 Igor Melichev</strong> (<a href="Details.htm#2004-01-07_1112">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 11.
-
-</pre>
-<p>[src/gxhintn.c 1.41, src/gxhintn.h 1.19, src/gxttfb.c 1.27]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-06_2036"></a>
-2004-01-06 20:36 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Fix a typo in the 64-bit type selection logic. Bug 687237.</pre>
-<p>[src/configure.ac 1.38]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-06_1332"></a>
-2004-01-06 13:32 Igor Melichev</strong> (<a href="Details.htm#2004-01-06_1332">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 10.
-
-</pre>
-<p>[src/gsfont.c 1.30, src/gxhintn.c 1.40, src/gxhintn.h 1.18, src/gxttfb.c 1.26, src/gzspotan.c 1.7, src/gzspotan.h 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_2334"></a>
-2004-01-05 23:34 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Fix some warnings reported by the Sun One Studio 7 compiler (and others). Bug 687228.</pre>
-<p>[src/devs.mak 1.101, src/gdevdevn.c 1.13, src/gdevpdfc.c 1.44, src/gdevpdtb.c 1.22, src/gdevpsu.c 1.16, src/gp_unifn.c 1.16, src/gsht.c 1.18, src/gxcmap.c 1.17, src/int.mak 1.120, src/lib.mak 1.160, src/zfapi.c 1.50, src/zfile.c 1.40]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_2306"></a>
-2004-01-05 23:06 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo in the checks for stdint fixed-size types. This did not materially affect the
-behavior of the configure script. Bug 687235.</pre>
-<p>[src/configure.ac 1.37]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_2213"></a>
-2004-01-05 22:13 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Bump the development branch version to 8.30 now that the stable branch has been released as 8.13
-and update the date stamp.</pre>
-<p>[doc/News.htm 1.140, lib/gs_init.ps 1.104, src/gscdef.c 1.41, src/version.mak 1.69]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_1915"></a>
-2004-01-05 19:15 Alex Cherepanov</strong> (<a href="Details.htm#2004-01-05_1915">details</a>)</p>
-<blockquote>
-<pre>
-Transliterate '\0' character in PDF names to "BnZr" instead of
-'?' to reduce the chance of name collision.
-
-</pre>
-<p>[src/gdevpdfu.c 1.44]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_1511"></a>
-2004-01-05 15:11 Igor Melichev</strong> (<a href="Details.htm#2004-01-05_1511">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 9.
-
-</pre>
-<p>[src/gxttfb.c 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_1305"></a>
-2004-01-05 13:05 Igor Melichev</strong> (<a href="Details.htm#2004-01-05_1305">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Removed gx_curve_split due to inprecise implementation.
-
-</pre>
-<p>[src/gxpcopy.c 1.15, src/gzpath.h 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_1252"></a>
-2004-01-05 12:52 Igor Melichev</strong> (<a href="Details.htm#2004-01-05_1252">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 8.
-
-</pre>
-<p>[src/gxfill.c 1.84, src/gxpcopy.c 1.14, src/gxttfb.c 1.24, src/gzpath.h 1.27]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-05_0611"></a>
-2004-01-05 06:11 Ray Johnston</strong> (<a href="Details.htm#2004-01-05_0611">details</a>)</p>
-<blockquote>
-<pre>
-Fix for fonts being displayed using .notdef character (empty boxes or other
-appearance). While the test file doesn't follow the PDF 1.3 or later manual
-recommendations for providing a [1,0] cmap for an embedded symbolic TT font,
-Adobe Acrobat Reader can display these characters. When the 'post' table
-doesn't provide the glyphs required by the /Differences list, try another
-cmap [3,0] to get the correct glyph (names and glyph #'s). Bug #686959 for
-customer #1060.
-
-</pre>
-<p>[lib/gs_ttf.ps 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-04_1959"></a>
-2004-01-04 19:59 Igor Melichev</strong> (<a href="Details.htm#2004-01-04_1959">details</a>)</p>
-<blockquote>
-<pre>
-Fix : monotonize_internal didn't work properly.
-
-</pre>
-<p>[src/gxpcopy.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-04_0612"></a>
-2004-01-04 06:12 Igor Melichev</strong> (<a href="Details.htm#2004-01-04_0612">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Trapezoid algorithm could cause topology distortions (continued 2).
-
-</pre>
-<p>[src/gxfdrop.c 1.9, src/gxfill.c 1.83]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-04_0537"></a>
-2004-01-04 05:37 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Remove spurious stack adjustment that caused /unmatchedmark
-when the font was loaded from Resource/Fonts/ .
-Fix bug 687220.</pre>
-<p>[lib/gs_fonts.ps 1.46]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-03_1814"></a>
-2004-01-03 18:14 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a line ending problem.</pre>
-<p>[src/gp_macio.c 1.33]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-03_1750"></a>
-2004-01-03 17:50 Igor Melichev</strong> (<a href="Details.htm#2004-01-03_1750">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Trapezoid algorithm could cause topology distortions (continued).
-
-</pre>
-<p>[src/gxfill.c 1.82]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-03_1234"></a>
-2004-01-03 12:34 Igor Melichev</strong> (<a href="Details.htm#2004-01-03_1234">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 7.
-
-</pre>
-<p>[src/gsfont.c 1.29, src/gxfcache.h 1.23, src/gxttfb.c 1.23, src/zusparam.c 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-03_1038"></a>
-2004-01-03 10:38 Igor Melichev</strong> (<a href="Details.htm#2004-01-03_1038">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Trapezoid algorithm could cause topology distortions.
-
-</pre>
-<p>[src/gxfill.c 1.81]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_2105"></a>
-2004-01-02 21:05 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix: The (more or less undocumented) superexec operator is supposed to
-allow "readonly" directories to be amended. Bug #674421.</pre>
-<p>[src/zgeneric.c 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_2053"></a>
-2004-01-02 20:53 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Remove spurious ^M (ctrl-M == <cr>) characters from the source -- probably
-caused by a Windows user performing an update from a file that was not
-correctly recognized as DOS vs. UNIX line endings by cvs.</pre>
-<p>[src/idict.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_1802"></a>
-2004-01-02 18:02 Igor Melichev</strong> (<a href="Details.htm#2004-01-02_1802">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 6.
-
-</pre>
-<p>[src/gxfill.c 1.80, src/gxpath.h 1.11, src/gxpcopy.c 1.12, src/gxttfb.c 1.22, src/ttfmain.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_1315"></a>
-2004-01-02 13:15 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : A GCC compiler error.</pre>
-<p>[src/gxfont42.h 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_1302"></a>
-2004-01-02 13:02 Igor Melichev</strong> (<a href="Details.htm#2004-01-02_1302">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 5.
-
-</pre>
-<p>[src/gxfill.c 1.79, src/gxhintn.c 1.39, src/gxttfb.c 1.21, src/gzspotan.c 1.6, src/gzspotan.h 1.4, src/ttfmain.c 1.20, src/ttfoutl.h 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-01_1701"></a>
-2004-01-01 17:01 Igor Melichev</strong> (<a href="Details.htm#2004-01-01_1701">details</a>)</p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 4.
-
-</pre>
-<p>[src/gxhintn.c 1.38, src/gxhintn.h 1.17, src/gxttfb.c 1.20, src/gzspotan.c 1.5, src/gzspotan.h 1.3, src/lib.mak 1.159]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_1807"></a>
-2003-12-31 18:07 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a paragraph to the license statement listing the additional requirements of
-the Freetype License.</pre>
-<p>[LICENSE 1.3]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_1753"></a>
-2003-12-31 17:53 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the text of the Freetype license and references to the freetype project to clarify our
-compilance. The new truetype bytecode interpreter is based in part of code made available as part
-of Freetype 1.</pre>
-<p>[doc/Develop.htm 1.129, doc/FTL.txt 1.2, doc/Language.htm 1.79]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_1112"></a>
-2003-12-31 11:12 Igor Melichev</strong> (<a href="Details.htm#2003-12-31_1112">details</a>)</p>
-<blockquote>
-<pre>
-Fix : The character oversampling condition was wrong.
-
-</pre>
-<p>[src/gxchar.c 1.38]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_0613"></a>
-2003-12-31 06:13 Igor Melichev</strong> (<a href="Details.htm#2003-12-31_0613">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Write a smaller Widths array.
-
-</pre>
-<p>[src/gdevpdtf.c 1.33, src/gdevpdti.c 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_0520"></a>
-2003-12-31 05:20 Igor Melichev</strong> (<a href="Details.htm#2003-12-31_0520">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Pattern resource was not added to Resources of a pattern object.
-
-</pre>
-<p>[src/gdevpdfg.c 1.45]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-30_1755"></a>
-2003-12-30 17:55 Igor Melichev</strong> (<a href="Details.htm#2003-12-30_1755">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Color space resource was not added to Resources of a pattern object.
-
-</pre>
-<p>[src/gdevpdfc.c 1.43]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-30_1753"></a>
-2003-12-30 17:53 Igor Melichev</strong> (<a href="Details.htm#2003-12-30_1753">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Wrote an invalid text matrix.
-
-</pre>
-<p>[src/gdevpdte.c 1.50]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-30_1150"></a>
-2003-12-30 11:50 Igor Melichev</strong> (<a href="Details.htm#2003-12-30_1150">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 24, final.
-
-</pre>
-<p>[src/gx.h 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-30_0825"></a>
-2003-12-30 08:25 Igor Melichev</strong> (<a href="Details.htm#2003-12-30_0825">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 23.
-
-</pre>
-<p>[src/gx.h 1.29, src/gxfill.c 1.78, src/gxpflat.c 1.28, src/gzpath.h 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-29_1556"></a>
-2003-12-29 15:56 Igor Melichev</strong> (<a href="Details.htm#2003-12-29_1556">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 22.
-
-</pre>
-<p>[src/gxfill.c 1.77]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-29_0435"></a>
-2003-12-29 04:35 Igor Melichev</strong> (<a href="Details.htm#2003-12-29_0435">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 21.
-
-</pre>
-<p>[src/gx.h 1.28, src/gxfill.c 1.76]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-29_0418"></a>
-2003-12-29 04:18 Igor Melichev</strong> (<a href="Details.htm#2003-12-29_0418">details</a>)</p>
-<blockquote>
-<pre>
-Raster depended on the band size (a partial fix).
-
-</pre>
-<p>[src/gxfill.c 1.75]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_1337"></a>
-2003-12-28 13:37 Igor Melichev</strong> (<a href="Details.htm#2003-12-28_1337">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 20.
-
-</pre>
-<p>[src/gxfill.c 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_1257"></a>
-2003-12-28 12:57 Igor Melichev</strong> (<a href="Details.htm#2003-12-28_1257">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 19.
-
-</pre>
-<p>[src/gxfill.c 1.73]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_1223"></a>
-2003-12-28 12:23 Igor Melichev</strong> (<a href="Details.htm#2003-12-28_1223">details</a>)</p>
-<blockquote>
-<pre>
-Fix : The dropout prevention code could render an occasional raster.
-
-</pre>
-<p>[src/gxfill.c 1.72]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_0815"></a>
-2003-12-28 08:15 Igor Melichev</strong> (<a href="Details.htm#2003-12-28_0815">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 17.
-
-</pre>
-<p>[src/gxfill.c 1.71]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-27_1658"></a>
-2003-12-27 16:58 Igor Melichev</strong> (<a href="Details.htm#2003-12-27_1658">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 16.
-
-</pre>
-<p>[src/gxfill.c 1.70]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-27_1524"></a>
-2003-12-27 15:24 Ray Johnston</strong> (<a href="Details.htm#2003-12-27_1524">details</a>)</p>
-<blockquote>
-<pre>
-Fix missing semicolons inserted by previous commit that prevented
-compilation.
-
-</pre>
-<p>[src/gxfill.c 1.69]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-27_0914"></a>
-2003-12-27 09:14 Igor Melichev</strong> (<a href="Details.htm#2003-12-27_0914">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 15.
-
-</pre>
-<p>[src/gx.h 1.27, src/gxfill.c 1.68, src/gxpflat.c 1.27, src/gxfill.h 1.11, src/gzpath.h 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-24_0332"></a>
-2003-12-24 03:32 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo in the maintainer-clean target in the legacy unix makefiles.
-Thanks to William Bader for catching this.</pre>
-<p>[src/unix-gcc.mak 1.44, src/unixansi.mak 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-23_1536"></a>
-2003-12-23 15:36 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Move the documentation on handling Unicode high level text into Drivers.htm
-which is a developer document instead of Devices.htm which is intended for
-users.</pre>
-<p>[doc/Devices.htm 1.73, doc/Drivers.htm 1.44]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-22_2005"></a>
-2003-12-22 20:05 Ray Johnston</strong> (<a href="Details.htm#2003-12-22_2005">details</a>)</p>
-<blockquote>
-<pre>
-Still more regressions that produced incorrect (different than 8.12)
-rotations. Regressions include 541_623.pdf and others that had Rotate != 0.
-
-</pre>
-<p>[src/zmedia2.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-21_2056"></a>
-2003-12-21 20:56 Ray Johnston</strong> (<a href="Details.htm#2003-12-21_2056">details</a>)</p>
-<blockquote>
-<pre>
-Resolve regression differences caused by rotated page sizes being picked
-instead of non-rotated in some cases. Seen with 1_pct_50_bang.pdf and
-others.
-
-</pre>
-<p>[src/zmedia2.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-20_1709"></a>
-2003-12-20 17:09 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a newline at the end of a file. Remove a duplicate semicolon at the end of statement.</pre>
-<p>[src/gxistate.h 1.18, src/zchar1.c 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-20_0928"></a>
-2003-12-20 09:28 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix yet another long standing bug in 'match_page_size' logic that could
-result in the wrong (too small) media being selected due to comparison
-of signed difference versus absolute difference.</pre>
-<p>[src/zmedia2.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-19_0834"></a>
-2003-12-19 08:34 Dan Coby</strong></p>
-<blockquote>
-<pre>
-A pair of fixes to the PDF rebuild logic. The fix in pdf_main.ps corrects
-a problem that ws creatd with the PDF 1.5 parser changes. The fix in
-pdf_rbld.ps corrects an unbalanced stack. This was not fatal but did
-leave the string (trailer) on the stack after rebuilding some PDF files.</pre>
-<p>[lib/pdf_main.ps 1.83, lib/pdf_rbld.ps 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-19_0542"></a>
-2003-12-19 05:42 Ray Johnston</strong> (<a href="Details.htm#2003-12-19_0542">details</a>)</p>
-<blockquote>
-<pre>
-Fix setpagedevice problems introduced with previous commit detected by the
-regression tests, including 070-01.ps and many others. Also give priority
-to lower value slots (match_key.value.intval)
-
-</pre>
-<p>[src/zmedia2.c 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-18_1458"></a>
-2003-12-18 14:58 Igor Melichev</strong> (<a href="Details.htm#2003-12-18_1458">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A temporary workaround for limitcheck writing a CFF with many glyphs.
-
-</pre>
-<p>[src/gdevpsf.h 1.25, src/gdevpsf2.c 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-18_1323"></a>
-2003-12-18 13:23 Igor Melichev</strong> (<a href="Details.htm#2003-12-18_1323">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 14.
-
-</pre>
-<p>[src/gx.h 1.26, src/gxfill.c 1.67, src/gxpflat.c 1.26, src/gzpath.h 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_1536"></a>
-2003-12-17 15:36 Igor Melichev</strong> (<a href="Details.htm#2003-12-17_1536">details</a>)</p>
-<blockquote>
-<pre>
-Fix : Fixed a comment syntax and removed unused variables.
-
-</pre>
-<p>[src/gxpflat.c 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_1527"></a>
-2003-12-17 15:27 Igor Melichev</strong> (<a href="Details.htm#2003-12-17_1527">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 13.
-
-</pre>
-<p>[src/gxpflat.c 1.24, src/gzpath.h 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0945"></a>
-2003-12-17 09:45 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add "pa4" page size requested by a user. This is the intersection of
-a4 and letter page size, i.e., a4 width and letter length. Bug #553187.</pre>
-<p>[lib/gs_statd.ps 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0919"></a>
-2003-12-17 09:19 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Remove warnings and reversion to 'int' which could cause wrong decision
-for PageSize match.</pre>
-<p>[src/zmedia2.c 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0912"></a>
-2003-12-17 09:12 Ray Johnston</strong> (<a href="Details.htm#2003-12-17_0912">details</a>)</p>
-<blockquote>
-<pre>
-Fix InputAttributes initialization to have the default page size in slot
-0, and all page sizes known in statusdict/.pagetypenames included with
-the 'fit any' pagesize range last. Fixes bug #617077 and other files
-that expect slot 0 to be a valid 2 element PageSize corresponding to the
-default.
-
-</pre>
-<p>[lib/gs_setpd.ps 1.20, lib/gs_statd.ps 1.13, src/zmedia2.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0229"></a>
-2003-12-17 02:29 Igor Melichev</strong> (<a href="Details.htm#2003-12-17_0229">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 12.
-
-</pre>
-<p>[src/gxfill.c 1.66]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-16_2229"></a>
-2003-12-16 22:29 Igor Melichev</strong> (<a href="Details.htm#2003-12-16_2229">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 11.
-
-</pre>
-<p>[src/gx.h 1.25, src/gxfill.c 1.65, src/gxfill.h 1.10, src/gxpflat.c 1.23, src/gzpath.h 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_2232"></a>
-2003-12-14 22:32 Igor Melichev</strong> (<a href="Details.htm#2003-12-14_2232">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 10.
-
-</pre>
-<p>[src/gx.h 1.24, src/gxfill.c 1.64, src/gxfill.h 1.9, src/gxpflat.c 1.22, src/gzpath.h 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_0451"></a>
-2003-12-14 04:51 Dan Coby</strong> (<a href="Details.htm#2003-12-14_0451">details</a>)</p>
-<blockquote>
-<pre>
-This is the first pass at the changes to support the PDF 1.5 revisions
-to the PDF format.
-
-</pre>
-<p>[lib/pdf_rbld.ps 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_0441"></a>
-2003-12-14 04:41 Dan Coby</strong> (<a href="Details.htm#2003-12-14_0441">details</a>)</p>
-<blockquote>
-<pre>
-This is the first pass at the changes to support the PDF 1.5 revisions
-to the PDF format.
-
-</pre>
-<p>[lib/pdf_base.ps 1.40, lib/pdf_main.ps 1.82]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_0107"></a>
-2003-12-14 01:07 Alex Cherepanov</strong> (<a href="Details.htm#2003-12-14_0107">details</a>)</p>
-<blockquote>
-<pre>
-Fix MSVC debug targets: add explicit makefile specification.
-Fix bug 687205.
-
-</pre>
-<p>[src/msvc32.mak 1.52]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-13_1807"></a>
-2003-12-13 18:07 Ray Johnston</strong> (<a href="Details.htm#2003-12-13_1807">details</a>)</p>
-<blockquote>
-<pre>
-Fix a premature closedevice leading to a SEGV when a setpagedevice follows
-a setdevice with the only reference to the device in the graphics state.
-Bug #687204 detected with ps2epsi.ps.
-
-</pre>
-<p>[src/gsdevice.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-12_1803"></a>
-2003-12-12 18:03 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Link to History8.htm in the list of history files. Patch from Alexei Podtelez.</pre>
-<p>[doc/Readme.htm 1.53]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-12_0216"></a>
-2003-12-12 02:16 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Split an expression in two because MSVC 6.00.8168.0 cannot compile it
-in -O2 mode, enabled in GS 8.12 by default. MSVC 6 with
-Service Pack 3 doesn't require this work around.</pre>
-<p>[src/idict.c 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-12_0144"></a>
-2003-12-12 01:44 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Properly remove jbig2.dev from the FEATURE_DEVS list in the autoconf build when
-stdint_h is not available. Works around bug 687007.</pre>
-<p>[src/configure.ac 1.36]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1944"></a>
-2003-12-11 19:44 Ray Johnston</strong> (<a href="Details.htm#2003-12-11_1944">details</a>)</p>
-<blockquote>
-<pre>
-Fix .gethalftone to prevent /undefinedresource or other error from being
-left in the $error dict. Seen with UnusualFontMatrix.ps when running under
-startjob encapsulation.
-
-</pre>
-<p>[lib/gs_init.ps 1.103]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1815"></a>
-2003-12-11 18:15 Igor Melichev</strong> (<a href="Details.htm#2003-12-11_1815">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 9.
-
-</pre>
-<p>[src/gxpflat.c 1.21, src/gzpath.h 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1348"></a>
-2003-12-11 13:48 Igor Melichev</strong> (<a href="Details.htm#2003-12-11_1348">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 8.
-
-</pre>
-<p>[src/gxfill.c 1.63, src/gx.h 1.23, src/gxfill.h 1.8, src/gxpflat.c 1.20, src/gzpath.h 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1333"></a>
-2003-12-11 13:33 Igor Melichev</strong> (<a href="Details.htm#2003-12-11_1333">details</a>)</p>
-<blockquote>
-<pre>
-Fix : The flattening algorithm inaccurately filtered points.
-Bug 687154 "Bugs in gx_flatten_sample".
-
-</pre>
-<p>[src/gxpflat.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_0953"></a>
-2003-12-11 09:53 Igor Melichev</strong> (<a href="Details.htm#2003-12-11_0953">details</a>)</p>
-<blockquote>
-<pre>
-Removed an obsolete code FLATTENED_CURVE_ITERATOR 0.
-
-</pre>
-<p>[src/gx.h 1.22, src/gxpflat.c 1.18, src/gzpath.h 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_0259"></a>
-2003-12-11 02:59 Ray Johnston</strong> (<a href="Details.htm#2003-12-11_0259">details</a>)</p>
-<blockquote>
-<pre>
-Fix setpagedevice so that the Default Halftone is used. Fixes bug #687199.
-
-</pre>
-<p>[lib/gs_setpd.ps 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_0222"></a>
-2003-12-11 02:22 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove the CC_LEAF alternate compiler definition. This basically exists to pass
--fomit-frame-pointer (or equivalent) on a few (two) files where it's unequivocably safe. This
-strikes us as premature optimization.
-
-It was also causing problems with the profile build under gcc because of a quoting problems with
-the argument list the makefile passes to itself through this define. Closes bug 687182.</pre>
-<p>[src/Makefile.in 1.29, src/bcwin32.mak 1.31, src/dvx-gcc.mak 1.25, src/gs.mak 1.23, src/int.mak 1.119, src/lib.mak 1.158, src/macos-mcp.mak 1.24, src/macosx.mak 1.22, src/msvccmd.mak 1.13, src/openvms.mak 1.34, src/openvms.mmk 1.28, src/os2.mak 1.36, src/ugcclib.mak 1.27, src/unix-end.mak 1.6, src/unix-gcc.mak 1.43, src/unixansi.mak 1.34, src/watcw32.mak 1.28, src/wccommon.mak 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-10_2342"></a>
-2003-12-10 23:42 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-In the autoconf build, only pass -O2 if the compiler is detected to be gcc. Fall back to trying
-the POSIX -O in other cases. The trial compile was not detecting that this option does not work
-correctly on the Solaris compilers. Problem report from Nelson Beebe, closes bug 687198.</pre>
-<p>[src/configure.ac 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-10_2307"></a>
-2003-12-10 23:07 Ray Johnston</strong> (<a href="Details.htm#2003-12-10_2307">details</a>)</p>
-<blockquote>
-<pre>
-Fix incorrect handling of the '\' escape character in the filenameforall
-implementation on Windwows. Fixes bug #687151. Also fix logic in the
-.scanfontdir that relied on the incorrect filenameforall implementation.
+Fix : A Cygwin/gcc warning.
</pre>
-<p>[lib/gs_fonts.ps 1.45, src/gp_ntfs.c 1.22]</p>
+<p>[src/gdevpdfx.h 1.91]</p>
</blockquote>
-<p><strong><a name="2003-12-10_1427"></a>
-2003-12-10 14:27 Igor Melichev</strong> (<a href="Details.htm#2003-12-10_1427">details</a>)</p>
+<p><strong><a name="2004-06-01_1706"></a>
+2004-06-01 17:06 Igor Melichev</strong> (<a href="Details.htm#2004-06-01_1706">details</a>)</p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 7.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 2).
</pre>
-<p>[src/gxfill.c 1.62, src/gxpflat.c 1.17, src/gzpath.h 1.17]</p>
+<p>[src/gdevpdfd.c 1.39, src/gdevpdfg.c 1.51, src/gdevpdfg.h 1.31, src/gdevpdtt.c 1.81]</p>
</blockquote>
-<p><strong><a name="2003-12-10_1423"></a>
-2003-12-10 14:23 Igor Melichev</strong> (<a href="Details.htm#2003-12-10_1423">details</a>)</p>
+<p><strong><a name="2004-06-01_1703"></a>
+2004-06-01 17:03 Igor Melichev</strong> (<a href="Details.htm#2004-06-01_1703">details</a>)</p>
<blockquote>
<pre>
-Fix: A prototype for memcpy was missed.
+High level devices may need a device color while executing stringwidth.
</pre>
-<p>[src/gxpflat.c 1.16]</p>
+<p>[src/gstext.c 1.18]</p>
</blockquote>
-<p><strong><a name="2003-12-10_1341"></a>
-2003-12-10 13:41 Igor Melichev</strong> (<a href="Details.htm#2003-12-10_1341">details</a>)</p>
+<p><strong><a name="2004-06-01_1342"></a>
+2004-06-01 13:42 Igor Melichev</strong> (<a href="Details.htm#2004-06-01_1342">details</a>)</p>
<blockquote>
<pre>
-Simplify the filtering of points while flattening a curve.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued).
</pre>
-<p>[src/gxpflat.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_2118"></a>
-2003-12-09 21:18 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the new stdint_.h compatibitily header to the file roadmap.</pre>
-<p>[doc/Develop.htm 1.128]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_2117"></a>
-2003-12-09 21:17 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a new compatibility header, stdint_.h. All the code previously in std.h and stdpre.h that
-tried to make these types universally available has been moved to the new compatibility header
-as per policy.</pre>
-<p>[src/lib.mak 1.157, src/sjbig2.c 1.5, src/sjbig2.h 1.4, src/std.h 1.11, src/stdint_.h 1.1, src/stdpre.h 1.22, src/ttfsfnt.h 1.6]</p>
+<p>[src/gdevpdti.c 1.30, src/gdevpdfx.h 1.90, src/gdevpdtt.c 1.80]</p>
</blockquote>
-<p><strong><a name="2003-12-09_2111"></a>
-2003-12-09 21:11 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-01_0237"></a>
+2004-06-01 02:37 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Bump version numbers after the 8.12 release.</pre>
-<p>[doc/News.htm 1.139, lib/gs_init.ps 1.102, src/gscdef.c 1.40, src/version.mak 1.68]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1725"></a>
-2003-12-09 17:25 Igor Melichev</strong> (<a href="Details.htm#2003-12-09_1725">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 6.
-
-</pre>
-<p>[src/gxfill.c 1.61, src/gxpflat.c 1.14, src/gzpath.h 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1723"></a>
-2003-12-09 17:23 Igor Melichev</strong> (<a href="Details.htm#2003-12-09_1723">details</a>)</p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 5.
-
-</pre>
-<p>[src/gx.h 1.21, src/gxfdrop.c 1.8, src/gxfill.c 1.60, src/gxfill.h 1.7, src/gxpflat.c 1.13, src/gzpath.h 1.15, src/lib.mak 1.156]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1721"></a>
-2003-12-09 17:21 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Unwinding the last patch because it was committed with a wrong log message.</pre>
-<p>[src/gx.h 1.20, src/gxfdrop.c 1.7, src/gxfill.c 1.59, src/gxfill.h 1.6, src/gxpflat.c 1.12, src/gzpath.h 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1648"></a>
-2003-12-09 16:48 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-ERRONEUS COMMITMENT - do not use this revision.</pre>
-<p>[src/lib.mak 1.155]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1642"></a>
-2003-12-09 16:42 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-ERRONEUS COMMITMENT - do not use this revision.</pre>
-<p>[src/lib.mak 1.154]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1612"></a>
-2003-12-09 16:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-ERRONEUS COMMITMENT - do not use this revision.</pre>
-<p>[src/gx.h 1.19, src/gxfdrop.c 1.6, src/gxfill.c 1.58, src/gxfill.h 1.5, src/gxpflat.c 1.11, src/gzpath.h 1.13, src/lib.mak 1.153]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1559"></a>
-2003-12-09 15:59 Igor Melichev</strong> (<a href="Details.htm#2003-12-09_1559">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Type 1,2 composite glyphs could point to wrong subglyphs.
-
-</pre>
-<p>[src/gsfont.c 1.28, src/gxfcache.h 1.22, src/gxfcopy.c 1.39, src/lib.mak 1.152, src/zfont.c 1.10]</p>
+Aviod a PostScript error in ps2ascii when the source file uses composite fonts.
+For now, dump the strings in the unmodified encoding when the corresponding
+font is composite.
+Fix bug 687466.</pre>
+<p>[lib/ps2ascii.ps 1.9]</p>
</blockquote>
</body>
</html>
diff --git a/gs/doc/Details.htm b/gs/doc/Details.htm
index 932d7e8a5..50f20a221 100644
--- a/gs/doc/Details.htm
+++ b/gs/doc/Details.htm
@@ -8,15053 +8,3210 @@
</head>
<body>
-<p><strong><a href="2004-05-31_0602"></a>
-2004-05-31 06:02 Dan Coby</strong></p>
+<p><strong><a name="2004-08-28_2210"></a>
+2004-08-28 22:10 Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct various compiler warnings from MSVC and gcc. Fix for
-687441.</pre>
-<p>[src/gdevdevn.h1.7, src/gdevdevn.c 1.19, src/gdevpsd.c 1.13,
-src/gsequivc.c 1.2]</p>
+Update the version and date on the VMS help file.</pre>
+<p>[doc/gs-vms.hlp 1.29]</p>
</blockquote>
-<p><strong><a name="2004-05-31_0534"></a>
-2004-05-31 05:34 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-28_2152"></a>
+2004-08-28 21:52 Ralph Giles</strong></p>
<blockquote>
<pre>
-JPXDecode support is only enabled for the autoconf build. Mention this
-in the release notes, and add some brief notes to the MSVC makefile
-about how to make it build.</pre>
-<p>[doc/News.htm 1.149, src/msvc32.mak 1.57]</p>
+Update release date on documentation.</pre>
+<p>[doc/API.htm 1.44, doc/Bug-form.htm 1.41, doc/Bug-info.htm 1.40, doc/C-style.htm 1.47, doc/Commprod.htm 1.32, doc/Copying.htm 1.31, doc/DLL.htm 1.35, doc/Deprecated.htm 1.12, doc/Details8.htm 1.9, doc/Develop.htm 1.138, doc/Devices.htm 1.81, doc/Drivers.htm 1.48, doc/Fonts.htm 1.42, doc/Helpers.htm 1.35, doc/History1.htm 1.31, doc/History2.htm 1.31, doc/History3.htm 1.31, doc/History4.htm 1.31, doc/History5.htm 1.33, doc/History6.htm 1.48, doc/History7.htm 1.36, doc/History8.htm 1.13, doc/Htmstyle.htm 1.36, doc/Install.htm 1.46, doc/Issues.htm 1.41, doc/Language.htm 1.87, doc/Lib.htm 1.34, doc/Maintain.htm 1.42, doc/Make.htm 1.79, doc/New-user.htm 1.51, doc/Projects.htm 1.58, doc/Ps-style.htm 1.29, doc/Ps2epsi.htm 1.33, doc/Ps2pdf.htm 1.70, doc/Psfiles.htm 1.53, doc/Readme.htm 1.56, doc/Release.htm 1.86, doc/Source.htm 1.31, doc/Tester.htm 1.31, doc/Testing.htm 1.26, doc/Unix-lpr.htm 1.31, doc/Use.htm 1.111, doc/Xfonts.htm 1.31, man/dvipdf.1 1.29, man/font2c.1 1.29, man/gs.1 1.30, man/gslp.1 1.29, man/gsnd.1 1.29, man/pdf2dsc.1 1.28, man/pdf2ps.1 1.30, man/pdfopt.1 1.28, man/pf2afm.1 1.29, man/pfbtopfa.1 1.30, man/printafm.1 1.29, man/ps2ascii.1 1.28, man/ps2epsi.1 1.27, man/ps2pdf.1 1.34, man/ps2pdfwr.1 1.33, man/ps2ps.1 1.36, man/wftopfa.1 1.29]</p>
</blockquote>
-<p><strong><a name="2004-05-31_0508"></a>
-2004-05-31 05:08 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
<blockquote>
<pre>
-Update the open bug list in the release notes.</pre>
-<p>[doc/News.htm 1.148]</p>
+Change the product name to BETA RELEASE</pre>
+<p>[src/gscdef.c 1.45]</p>
</blockquote>
-<p><strong><a name="2004-05-30_0950"></a>
-2004-05-30 09:50 Russell Lang</strong></p>
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
<blockquote>
<pre>
-Enable separable_and_linear and separable for the display device.
-Fixes bug #687442.
-
-DETAILS:
-Enable separable_and_linear for gray, RGB and CMYK formats.
-The display device needs to explicitly call check_device_separable
-because it is closed and reopened when the callback is set,
-which causes linear_and_separable to be reset.
-Set the gray_index which is not set by check_device_separable.
-Prevent the unimplemented DISPLAY_ALPHA_FIRST and
-DISPLAY_ALPHA_LAST from being used.
-Make it clear that the display_map_rgb_color_rgb and
-display_map_color_rgb_rgb functions only work with 8bits/pixel.</pre>
-<p>[src/gdevdsp.c 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_2107"></a>
-2004-05-29 21:07 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Added more news items, in preparation for 8.30 release.</pre>
-<p>[doc/News.htm 1.147]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0219"></a>
-2004-05-29 02:19 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Relocate the gxhldevc_h macro out of order so all its dependencies are
-available.</pre>
-<p>[src/lib.mak 1.184]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0210"></a>
-2004-05-29 02:10 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a dependency typo.</pre>
-<p>[src/lib.mak 1.183]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0121"></a>
-2004-05-29 01:21 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update documenation dates and version category for release.</pre>
-<p>[doc/API.htm 1.42, doc/Bug-form.htm 1.40, doc/Bug-info.htm 1.39, doc/C-style.htm 1.46, doc/Commprod.htm 1.31, doc/Copying.htm 1.30, doc/DLL.htm 1.34, doc/Deprecated.htm 1.11, doc/Details8.htm 1.6, doc/Develop.htm 1.134, doc/Devices.htm 1.77, doc/Drivers.htm 1.46, doc/Fonts.htm 1.41, doc/Helpers.htm 1.34, doc/History1.htm 1.30, doc/History2.htm 1.30, doc/History3.htm 1.30, doc/History4.htm 1.30, doc/History5.htm 1.32, doc/History6.htm 1.47, doc/History7.htm 1.35, doc/History8.htm 1.10, doc/Htmstyle.htm 1.35, doc/Install.htm 1.45, doc/Issues.htm 1.40, doc/Language.htm 1.86, doc/Lib.htm 1.33, doc/Maintain.htm 1.41, doc/Make.htm 1.75, doc/New-user.htm 1.50, doc/News.htm 1.146, doc/Projects.htm 1.57, doc/Ps-style.htm 1.28, doc/Ps2epsi.htm 1.32, doc/Ps2pdf.htm 1.68, doc/Psfiles.htm 1.51, doc/Readme.htm 1.55, doc/Release.htm 1.85, doc/Source.htm 1.30, doc/Tester.htm 1.30, doc/Testing.htm 1.25, doc/Unix-lpr.htm 1.30, doc/Use.htm 1.109, doc/Xfonts.htm 1.30, man/dvipdf.1 1.28, man/font2c.1 1.28, man/gs.1 1.29, man/gslp.1 1.28, man/gsnd.1 1.28, man/pdf2dsc.1 1.27, man/pdf2ps.1 1.29, man/pdfopt.1 1.27, man/pf2afm.1 1.28, man/pfbtopfa.1 1.29, man/printafm.1 1.28, man/ps2ascii.1 1.27, man/ps2epsi.1 1.26, man/ps2pdf.1 1.33, man/ps2pdfwr.1 1.32, man/ps2ps.1 1.35, man/wftopfa.1 1.28, src/gscdef.c 1.43, src/version.mak 1.70]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-29_0111"></a>
-2004-05-29 01:11 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add new rinkj driver files to the index in Develop.htm.</pre>
-<p>[doc/Develop.htm 1.133]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2358"></a>
-2004-05-28 23:58 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Add sample setup file for Rinkj driver, more documentation.</pre>
-<p>[doc/Devices.htm 1.76, lib/rinkj-2200-setup 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2350"></a>
-2004-05-28 23:50 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Adds basic documentation for Rinkj driver, update copyright banners.</pre>
-<p>[doc/Devices.htm 1.75, src/rinkj/evenbetter-rll.c 1.2, src/rinkj/evenbetter-rll.h 1.2, src/rinkj/rinkj-byte-stream.c 1.2, src/rinkj/rinkj-byte-stream.h 1.2, src/rinkj/rinkj-config.c 1.2, src/rinkj/rinkj-config.h 1.2, src/rinkj/rinkj-device.c 1.2, src/rinkj/rinkj-device.h 1.2, src/rinkj/rinkj-dither.c 1.2, src/rinkj/rinkj-dither.h 1.2, src/rinkj/rinkj-epson870.c 1.2, src/rinkj/rinkj-epson870.h 1.2, src/rinkj/rinkj-screen-eb.c 1.2, src/rinkj/rinkj-screen-eb.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2326"></a>
-2004-05-28 23:26 Dan Coby</strong></p>
-<blockquote>
-<pre>
-This change implements "687431 Add determining equivalent CMYK
-colors for spot colors". This change currently only affects the
-psdcmyk device.
-
-DETAILS:
-
-For a description of the implementation see the comments at
-the beginning of gsequivc.c.
-
-In addition to the comments in gsequivc.c, the gs_separation
-structure was changed to simplify it. The gs_separation_info
-structure was removed and the names filed moved into the
-gs_separations structure.</pre>
-<p>[src/devs.mak 1.114, src/gdevdevn.c 1.18, src/gdevdevn.h 1.6, src/gdevprn.c 1.16, src/gdevpsd.c 1.12, src/gsequivc.c 1.1, src/gsequivc.h 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2309"></a>
-2004-05-28 23:09 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Use ST_MTIME instead of the ctime to determine the date of the last
-baseline update. Partial fix for bug 687481.</pre>
-<p>[toolbin/tests/gscheck_raster.py 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_2302"></a>
-2004-05-28 23:02 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Initial commit of rinkj (resplendent inkjet) drivers, using ETS screening.</pre>
-<p>[src/devs.mak 1.113, src/gdevrinkj.c 1.1, src/rinkj/evenbetter-rll.c 1.1, src/rinkj/evenbetter-rll.h 1.1, src/rinkj/rinkj-byte-stream.c 1.1, src/rinkj/rinkj-byte-stream.h 1.1, src/rinkj/rinkj-config.c 1.1, src/rinkj/rinkj-config.h 1.1, src/rinkj/rinkj-device.c 1.1, src/rinkj/rinkj-device.h 1.1, src/rinkj/rinkj-dither.c 1.1, src/rinkj/rinkj-dither.h 1.1, src/rinkj/rinkj-epson870.c 1.1, src/rinkj/rinkj-epson870.h 1.1, src/rinkj/rinkj-screen-eb.c 1.1, src/rinkj/rinkj-screen-eb.h 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-28_0708"></a>
-2004-05-28 07:08 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : Wrong processing of a big CIDToGIDMap.
-
-DETAILS :
-
-Bug 687471 problem with japanese fonts
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[lib/pdf_font.ps 1.66]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_1905"></a>
-2004-05-27 19:05 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-(pdfwrite) : 1. Implementing a dynamic recongnition for Type 3 charproc variations;
-2. Bug : Viewer state could desynchronize when entering a charproc accumulation.
-
-DETAILS :
-
-Bug 687472 "barcode wrongly converted to type3 font".
-
-Type 3 glyph variations may appear if BuildChar uses setcharwidth.
-If a charproc uses setcharwidth, we perform the charproc accumulation
-for each character occurance, and compare the accumulated stream with older
-ones if they exist. In the case of exact equality
-(including the character name and character code),
-the old charproc is used. Othervise we embed a new one.
-
-If the character code was used with another charproc,
-we create another PDF font to resolve the conflict.
-Thus a single PS Type 3 font may convert into several
-PDF Type 3 fonts, and the text may be broken into smaller pieces.
-Particularly this happens with the test file of the bug 687472.
-Viewers must account that implementing the text serchability.
-
-A new array pdfont->u.simple.s.type3.cached is used to remember whether
-a charproc uses setcachedevice[2]. If a character used it at ones,
-we assume that all further its occurances to do same.
-We think that this assumption is implied by PLRM.
-
-Viewer state was not saved when entering a charproc accumulation,
-and was not restored after exiting it (a bug).
-This could cause wrong object attributes
-and excessive commands written into PDF.
-This patch fixes that.
-
-Some PDFs become longer due to excessive ExtGState objects
-generated for dropped copies of charprocs.
-Opened a new bug 687487 for tracking this issue.
-
-EXPECTED DIFFERENCES :
-
-An unimportant difference with pdfwrite -r72 :
-136-01.ps
-prob1.pdf
-tpc2.ps
-xes2ps-problem.pdf
-
-An unimportant difference with pdfwrite -r300 :
-260-01.ps
-tpc2.ps
-xes2ps-problem.pdf</pre>
-<p>[src/gdevpdf.c 1.94, src/gdevpdfg.c 1.50, src/devs.mak 1.112, src/gdevpdfg.h 1.30, src/gdevpdfj.c 1.31, src/gdevpdfu.c 1.52, src/gdevpdfx.h 1.89, src/gdevpdte.c 1.59, src/gdevpdtf.c 1.36, src/gdevpdtf.h 1.22, src/gdevpdti.c 1.29, src/gdevpdtt.c 1.79, src/gdevpdtt.h 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_1028"></a>
-2004-05-27 10:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-(pdfwrite) : Delaying the charproc insertion until it is accumulated.
-
-DETAILS :
-
-This change is a part of the work on the bug 687472 "barcode wrongly converted to type3 font".
-Our intention is to recognize Type 3 glyph variations,
-which may appear if BuildChar uses setcharwidth.
-
-For the case of no error while charproc accumulation
-this change should be algorithmically equivalent.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdtt.c 1.78, src/gdevpdfx.h 1.88]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-27_1025"></a>
-2004-05-27 10:25 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-(pdfwrite) : Delaying the charproc insertion until it is accumulated.
-
-DETAILS :
-
-This change is a part of the work on the bug 687472 "barcode wrongly converted to type3 font".
-Our intention is to recognize Type 3 glyph variations,
-which may appear if BuildChar uses setcharwidth.
-
-For the case of no error while charproc accumulation
-this change should be algorithmically equivalent.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdf.c 1.93, src/gdevpdti.c 1.28]</p>
+Add recent new files to the listings in the documentation.</pre>
+<p>[doc/Develop.htm 1.137, doc/Psfiles.htm 1.52]</p>
</blockquote>
-<p><strong><a name="2004-05-27_0322"></a>
-2004-05-27 03:22 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-28_2128"></a>
+2004-08-28 21:28 Ralph Giles</strong></p>
<blockquote>
<pre>
-Handle some errors that could halt the regression run.
-
-DETAILS:
-
-When running a raster comparison, the test case generates a ShortDescription
-that includes the modification date of the baseline raster date. If no such
-file exists, the baseline gs is run to create an entry. However, if that
-insertion attempt fails, there is no baseline raster for reference. While
-the test case itself handled this properly, the ShortDescription logic did
-not, throwing an error that terminated the whole run.
-
-Also, makesum was returning '0' instead of None on failure, which was
-incompatible with the use of its return value as a dbm key. It now
-returns None in that case, and when it cannot stat the file argument
-at all.</pre>
-<p>[toolbin/tests/gscheck_raster.py 1.11, toolbin/tests/gssum.py 1.7]</p>
+Update release notes and open bug list for the 8.31 beta release. Bump
+the release date as well.</pre>
+<p>[doc/News.htm 1.150, src/version.mak 1.72]</p>
</blockquote>
-<p><strong><a name="2004-05-26_1549"></a>
-2004-05-26 15:49 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-26_0913"></a>
+2004-08-26 09:13 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix reference count of overprint compositor so that it doesn't get freed
-too early. Fixes SEGV of bug #687425 for customer #1110.
+Fix half-toning for display device, bug 687629.
DETAILS:
-
-This only showed up when banding was being used.
-
-This only showed up when a high level image was being rendered from the
-clist since this installed a 'clipper' device on top of the overprint
-compositor. When the clipper device was closed, the finalization proc
-decremented the reference count for the 'target' device of the clipper
-which was the overprint compositor. When the overprint reference count
-was decremented to 0, it was freed even though it was being used by
-the clist renderer.
-
-EXPECTED DIFFERENCES:
-
-None.</pre>
-<p>[src/gxclrast.c 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-26_0844"></a>
-2004-05-26 08:44 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark.
-
-DETAILS :
-
-Bug 687430 "Wrong transformation matrix with Form XObjects".
-Patch from sags5495 at hotmail dot com (SaGS), adopted by igorm.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfm.c 1.38]</p>
+Prior to DeviceN, dither_gray/max_gray were used if ncomp==1.
+With DeviceN, dither_gray/max_gray are used if gray_index >= 0.
+The display device was not correctly setting gray_index for
+native 1-bit/pixel format.</pre>
+<p>[src/gdevdsp.c 1.27]</p>
</blockquote>
-<p><strong><a name="2004-05-26_0410"></a>
-2004-05-26 04:10 Dan Coby</strong></p>
+<p><strong><a name="2004-08-26_0015"></a>
+2004-08-26 00:15 Ray Johnston</strong></p>
<blockquote>
<pre>
-Log message:
-
-Revised fix for 687418 WTS does not work with bitcmyk driver.
+Fix for image matrix having negative values. Thanks to Len Sorenson
+for submitting this patch (author unknown). Bug #687411.
DETAILS:
-The changes in this revised fix are pretty extensive. Note: This
-patch includes several items from Russell Lang. I am including these
-since they are required for the proper execution of the patch and
-it does not seem reasonable to require possible testers or reviewers
-to have to track down and install these patches separately.
-
-The list of changes includes:
-
-1. Added logic to check_device_separable to also set the gray_index
-value. This suggestion came from Russell Lang.
-
-2. Add verification that a colorants bits are consecutive. (from
-Russell Lang in:
-http://www.ghostscript.com/pipermail/gs-code-review/2004-May/004501.html
-
-3. Changes to gx_default_encode_color and gx_default_decode_color
-to use position and bit count info from the device's color_info data.
-(Also from Russell Lang in the previously mentioned submission.)
-(See the comments in item 21 below about the gx_default_decode_color
-routine.)
-
-4. Included test routines. (Also from Russell Lang in the previously
-mentioned submission.)
-
-5. Added calls to check_device_separable prior to calls to the
-various 'fill_in_procs' routines (gx_device_fill_in_procs,
-gx_forward_fill_in_procs, fill_in_procs). The fill_in_procs routines
-use the separable information in choosing default routines for
-the encode_color and decode_color routines. Thus we have a chicken
-and egg problem since check_device_separable also uses the device's
-encode_color routine. The test routines from Russell were a great
-help in debugging
-
-Also various changes that were found while testing this patch:
-
-6. The various color deskjet drivers (gdevcdj.c) was incorrectly setting
-the dither_grays and dither_colors values to 5 instead of 256. (I
-have no idea why.) The max_gray and max_color values were set to
-being set correctly to 255.
-
-7. The color deskjet devices (gdevcdj.c) were doing BG and UCR
-removal inside of the encode_color routines. These devices use the
-default color_mapping_procs which also do these tasks. The code in
-the encode_color_routine was removed since it could cause conflicts
-with the overprint routines. The code in the encode_color routine
-was also using a fixed BG/UCR logic (from PS level 2).
-
-8. Corrected a problem in the color desk jet decode_color routine
-which was always returning zero for the black value.
-
-9. Changed the casting for values assigned to the std_colorant_names
-field. Note: MSVC and gcc complain about different conditions.
-There does not seem to be a combination that will keep both happy.
-This set produces no complaints from gcc.
-
-10. Corrected the setting of dither_grays and dither_colors for the
-devicen device. Previously this was being set to 1 when it should have
-been set to 256. Found by Russell Lang.
-
-11. Modified check_device_separable to only check for appropriate
-values of the max_gray/dither_grays and max_color/dither_colors
-pairs only for gray/color devices.
-
-12. Added check for encode_color routines which encode zero
-bits for a colorant. Previously this condition would have caused
-an infinitely in check_device_separable. Change suggested by
-Russell Lang.
-
-13. Removed a previous call to set_linear_color_bits_mask_shift
-in gx_default_fill_in_procs. This has been logically replaced by
-the calls to check_device_separable which have been added.
-
-14. Corrected a problem in the ppm_map_rgb_color in gdevpbm.c.
-This routine was calling gx_default_encode_color which requires
-
-15. Corrected problem in pcx256 device which incorrectly setting
-the dither_grays and dither_colors values.
-
-16. Removed the check_process_color_names routine from gdevpsd.c
-since it not used.
-
-17. Modified the dci_alpha_values macro in gxdevcli.h. This
-macro was setting some devices as 'separable' but was not setting
-the related color_info fields (comp_shift, comp_bits, comp_mask).
-Now this macro sets a devices as 'unknown'. The check_device_separable
-routine will change this for devices which are separable. Devices
-which want to change their process color model need to either set
-themselves as 'unknown' and let check_device_separable handle things
-or else the device needs to setup its own values for separable
-color_info fields.
-
-18. Added a call to check_device_separable into gdev_x_open in
-gdevxini.c. With this addition, the x11 device is detected as being
-sperable. This is need since the x11 device sets up a color map in
-gdev_x_open. Prior to this, the encode_color routine for he x11 device
-returns 0 regardless of its input.
-
-19. Modified the uniprint device (gdevupd.c) and color laser jet
-devices (gdevcljc.) to use 256 instead of 5 for its dither_gray and
-dither_color values with devices that have 8 bits per colorant. This
-is appropriate since the the max_gray and max_color values are 255.
-(I do not know why these values were being set to 5. This same error
-was found in gdevcdj.c. My only guess is that it was a typo in gdevcdj.c.
-Since this device is recommended as an example of how to code a color
-raster device (in Devices.htm), the error was propogated into the
-other devices.
-
-20. Added more comments to gxdevcli.h explaining the use of the
-gray_index, max_gray, dither_grays, max_color, and dither_colors
-fields in the device color_info structure.
-
-21. Changed the gx_default_decode_color routine (again). Russell
-Lang created two revisions to this routine as part of his efforts on
-this task. However one version was slow but produced the desired
-results. The second version was faster but its output was slightly
-different. This revision produces the same output as the first
-version but does so without the while loops that slowed its operation.
-
-Note: There is another related submission from Russell Lang that is
-not included in this patch. This consists of changes to the display
-device for making it 'separable'. This change is needed for Igor's
-linear shading work.
-http://www.ghostscript.com/pipermail/gs-code-review/2004-May/004500.html</pre>
-<p>[src/gdevcdj.c 1.14, src/gdevcljc.c 1.7, src/gdevcmap.c 1.6, src/gdevdevn.c 1.17, src/gdevdevn.h 1.5, src/gdevdflt.c 1.23, src/gdevdsp.c 1.21, src/gdevmem.c 1.8, src/gdevp14.c 1.23, src/gdevp2up.c 1.6, src/gdevpbm.c 1.11, src/gdevpcx.c 1.7, src/gdevplnx.c 1.9, src/gdevpnga.c 1.9, src/gdevprn.c 1.15, src/gdevpsd.c 1.11, src/gdevrops.c 1.11, src/gdevupd.c 1.15, src/gdevxalt.c 1.11, src/gdevxcf.c 1.7, src/gdevxini.c 1.14, src/gsdevice.c 1.21, src/gslib.c 1.13, src/gxcmap.c 1.20, src/gxdevcli.h 1.32, src/gximag3x.c 1.16, src/gximage3.c 1.13, src/gxpcmap.c 1.12, src/zcolor.c 1.18, doc/Language.htm 1.85]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-25_1041"></a>
-2004-05-25 10:41 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Form XObject`s /BBox could contain reals in exponential format.
-
-DETAILS :
-
-Bug 687429 Form XObject`s /BBox may contain reals in exponential format.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfm.c 1.37]</p>
+The error is using floor to round a value without checking if it might
+be negative first. There were actually two places that did this even
+though the patch that was originally submitted only was for one of them.</pre>
+<p>[src/gximag3x.c 1.19]</p>
</blockquote>
-<p><strong><a name="2004-05-25_0920"></a>
-2004-05-25 09:20 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-26_0004"></a>
+2004-08-26 00:04 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix an MSVC compiler warning.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdte.c 1.58]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-24_2335"></a>
-2004-05-24 23:35 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a missing header include for gsutil.h which provides the prototype for bytes_compare(). Corrects a gcc warning.</pre>
-<p>[src/devs.mak 1.111, src/gdevpdte.c 1.57]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-24_1756"></a>
-2004-05-24 17:56 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687453 Problem with overprinting and shading.
+Close the font file after the font has been processed (loaded into VM).
+This prevents a problem with using up too many file handles detected on
+Solaris. Thanks to Alex Cherepanov for the patch. Bug #687066.
DETAILS:
-The given test file is a PDF file. PDF allows for separate overprint
-parameters for stroke and fill operations. (There are also separate
-parameters for other conditions in PDF.) Usually this is handled by
-the PDF interpreter by calling either setfillstate or setstrokestate
-at the start of the handler for each operator. However this call
-was missing from the sh (shfill) handler.</pre>
-<p>[lib/pdf_draw.ps 1.81]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-24_1221"></a>
-2004-05-24 12:21 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Add /WhiteIsOpaque page device parameter to provide user interface to the
-corresponding bbox device flag. Fix a bug introduced in gdevbbox.c v.1.9
-(for bug 645531) that left bdev->white and bdev->black uninitialized,
-resulting in black objects skipped as white.
-Fix bugs 687410, 687478</pre>
-<p>[src/gdevbbox.c 1.17, doc/Devices.htm 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-20_1706"></a>
-2004-05-20 17:06 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Add Encoding element even if the font has no glyph.
-
-DETAILS :
-
-Debugged with the test file of the bug 687464
-"Problem converting from PS to PDF. 2 latin characters did not convert properly." :
-different PDFs generated with URW fonts and with Soft Horizon fonts
-rather none of them were embeded.
+The patch has no effect on the cache. There is no point of not closing
+the file after the content has been copied to memory.
-The old code did not add a glyph to Encoding if the PS font has no glyph defined.
-Due to that, if the source encoding uses an instand glyph,
-the instandard glyph was not written to Differences,
-causing a standard glyph erroneusely appeared instead the instandard glyph.
-With this patch an Encoding element and a ToUnicode element are created in any case :
-either the glyph is defined in the PS font, or not.
+On GNU/Linux GS has 250K VMThreshold and 1024 handles. That's enough.
+On Windows GS has 1M VNThreshold and 512 handles. This is still OK.
+On Solaris GS has 1M VMThreshold and 256 handles. Handles can be used up
+before garbage collection starts. The following program fails on Solaris.
-EXPECTED DIFFERENCES :
+(a)(w) file closefile
+1000 { (a)(r) file pop } repeat
-None.</pre>
-<p>[src/gdevpdte.c 1.56]</p>
+Dependence on VMThreshold indicates that GC is not activated by
+open(2) failing with EMFILE . This is a real bug, the patch is
+just a work around that we may need to fix later, but not likely to
+be a problem.</pre>
+<p>[lib/gs_type1.ps 1.15]</p>
</blockquote>
-<p><strong><a name="2004-05-20_0741"></a>
-2004-05-20 07:41 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-25_2352"></a>
+2004-08-25 23:52 Ray Johnston</strong></p>
<blockquote>
<pre>
-Apply a recursive 'configure' step to the autoconf build to generate
-required code for the jasper library.
+Fix to close streams at EOF (not only filter streams), as required by
+the PLRM. Thanks to Alex Cherepanov for this patch. Bug #687505.
DETAILS:
-The jasper library also ships with an autoconf build framework for POSIX
-systems. Unfortunately, it relies on this framework to generate a header
-file with defines describing the local system. This header, located in
-jasper/src/libjasper/include/jas_config.h can be generated by hand from
-the jas_config.h.in template, but it must be available when we're directly
-compiling the source as part of Ghostscript.
-
-We could attempt to construct one of our own, but within the confines
-of an autoconf build, using jasper's native configure is more robust.
-We could also go ahead and use recursive make to build the library
-natively, but we would need a static makefile for non-autoconf builds.
-
-Jasper provides an alternate header, jas_config2.h for use with MSVC.</pre>
-<p>[src/configure.ac 1.46]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-20_0734"></a>
-2004-05-20 07:34 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the jasper include path when compiling the JPXDecode filter so the
-headers can be found if they're not already installed on the system.
-Required to compile in the jasper library source from a fresh distribution
-of the third-party library.</pre>
-<p>[src/int.mak 1.126, src/lib.mak 1.182]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-19_1109"></a>
-2004-05-19 11:09 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Documenting the new implementation of shadings.</pre>
-<p>[doc/News.htm 1.145]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_1342"></a>
-2004-05-18 13:42 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 79.
-
-DETAILS :
-
-Removed unused variables.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_1107"></a>
-2004-05-18 11:07 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 78.
-
-DETAILS :
-
-Implementing gx_color_map_procs::is_halftoned and use it in shadings
-to know whether linear color functions are applicable.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevp14.c 1.22, src/gdevplnx.c 1.8, src/gxcmap.c 1.19, src/gxcmap.h 1.8, src/gxshade6.c 1.73]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_1036"></a>
-2004-05-18 10:36 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 78.
-
-DETAILS :
-
-Implementing gx_color_map_procs::is_halftoned and use it in shadings
-to know whether linear color functions are applicable.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevp14.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-18_0957"></a>
-2004-05-18 09:57 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Documenting the new implementation of shadings.</pre>
-<p>[doc/Drivers.htm 1.45]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-17_1727"></a>
-2004-05-17 17:27 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Reword the description of the new shading implementation.</pre>
-<p>[doc/News.htm 1.144]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-17_1224"></a>
-2004-05-17 12:24 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 77 (release candidate).
-
-DETAILS :
-
-1. A bug in is_quadrangle_color_linear caused an indeterministic choice of subdivision.
-2. Provided a better order of filling wedges.
-3. Mesh padding now stronger follows the V-boundary of a patch.
-
-EXPECTED DIFFERENCES :
-
-"442-01.ps"
-"446-01.ps"
-"483-01.ps"
-"483-05-fixed.ps"
-"483-05.ps"
-"Clarke Tate Manns Chinese.ai"
-"gradmesh.ai"
-"self-intersect2.ps"
-"SmoothShading.pdf"
-"STEUER-RollingMesh 1(linear).ai"
-"STEUER-RollingMesh 2(radial).ai"
-"STEUER-RollingMesh 3(Final).ai"</pre>
-<p>[src/gxshade6.c 1.72]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1524"></a>
-2004-05-13 15:24 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Remove unused label.
-Partial fix for bug 687441.</pre>
-<p>[src/gdevwpr2.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1303"></a>
-2004-05-13 13:03 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Documenting the new implementation of shadings, step 76.</pre>
-<p>[doc/News.htm 1.143]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1252"></a>
-2004-05-13 12:52 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 76.
-Switching new radial shadings on.
-Radial shadings render in 3...10 times faster.
-Radial shadings are not longer restricted with 8bpc.
-
-EXPECTED DIFFERENCES :
-
-"442-01.ps"
-"483-01.ps"
-"Clarke Tate Manns Chinese.ai"
-"STEUER-RollingMesh 1(linear).ai"
-"STEUER-RollingMesh 2(radial).ai"
-"STEUER-RollingMesh 3(Final).ai"</pre>
-<p>[src/gxshade4.h 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-13_1246"></a>
-2004-05-13 12:46 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 75.
-
-DETAILS :
-
-This is a continuation to the previous patch :
- 4. Optimized for constant color :
- Fix : pfs->monotonic_color was not properly restored.
-
-EXPECTED DIFFERENCES :
+This is similar to a patch that I had developed and tested prior to
+Alex's patch. I had tested my patch, then Alex's against the regression
+suite and determined that it does not cause any differences.
-"442-01.ps"
-"464-01.ps"
-"483-01.ps"
-"chilis_black.pdf"
-"Clarke Tate Manns Chinese.ai"
-"STEUER-RollingMesh 1(linear).ai"</pre>
-<p>[src/gxshade6.c 1.71]</p>
+Alex's patch conforms to my analysis of the problem and the fix.</pre>
+<p>[src/stream.c 1.23]</p>
</blockquote>
-<p><strong><a name="2004-05-13_1140"></a>
-2004-05-13 11:40 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-25_1556"></a>
+2004-08-25 15:56 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 74.
-
-DETAILS :
-
-In the enabled code :
-
-1. Non-linear color quadrangles are subdivided into quadrangles.
- This complies the color approximation with the specified smoothness.
-2. Skipped quadrangles and triangles outside the clipping area.
-3. Fixed the 'midpoint' formula. It was wrong and coused excessive subdivision.
-
-In the disabled code (NEW_RADIAL_SHADINGS 0 in gxshade4.h) :
-
-1. Debugged Extensions.
-2. mesh_padding and wedges with zero length sides were tested.
-3. Skipped painting outside the clipping area.
-4. Optimized for constant color.
-
-Known problems left :
-1. With self-intersecting patches, outer wedges may paint in a wrong order.
-This can cause such dropout that a lower part of the patch penetrates
-through the upper part in single pixels.
-
-EXPECTED DIFFERENCES :
-
-"442-01.ps"
-"446-01.ps"
-"464-01.ps"
-"483-01.ps"
-"483-05-fixed.ps"
-"483-05.ps"
-"chilis_black.pdf"
-"Clarke Tate Manns Chinese.ai"
-"gradmesh.ai"
-"Openhuis_pdf_zw.pdf"
-"self-intersect2.ps"
-"SmoothShading.pdf"
-"STEUER-RollingMesh 1(linear).ai"
-"STEUER-RollingMesh 3(Final).ai"
-"Testform.v1.0.2.pdf"</pre>
-<p>[src/gxshade1.c 1.31, src/gxshade4.h 1.34, src/gxshade6.c 1.70]</p>
+Bind all operators in DefaultGray, DefaultRGB, DefaultCMYK color spaces.
+Partial fix for the bug 687608</pre>
+<p>[Resource/ColorSpace/DefaultCMYK 1.3, Resource/ColorSpace/DefaultGray 1.3, Resource/ColorSpace/DefaultRGB 1.3]</p>
</blockquote>
-<p><strong><a name="2004-05-12_2133"></a>
-2004-05-12 21:33 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-24_1751"></a>
+2004-08-24 17:51 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 73.
+Fix (pdfwrite) : A page compression type change could cause a crash.
DETAILS :
-The new code is disabled with NEW_RADIAL_SHADINGS in gxshade4.h .
-
-The old implementation of the radial shading extensions appears
-incompatible with the tensor representation of the radial shading
-due to different spatial subdivision. Collisions at extension
-boundaries caused dropouts.
-
-Besides that, the old implementation
-can't handle the case in which circles contact each another and one
-circle is inside another. Also we suspect that with the old implementation
-the trailing extension can overlap the shading when represented as "triangles".
-
-This patch implements extensions with tensor patches.
-Rather they have a constant color, we need the wedge logics
-to work with them. Also we reworked the analyzis of
-special cases of mutual placement of the base circles.
-
-The new code works, but there are known problems :
-
-1. Extensions to be tested systematically.
-2. Debug mesh_padding and wedges with zero length sides.
-3. Skip painting outside the clipping area.
-4. Optimize for constant color.
-5. Why "STEUER-RollingMesh 2(radial).ai-.pdf" generates so many triangles ?
-6. Outer wedges may break the order of painting.
+Bug 687626 "A crash in pdfwrite".
+It crashed after the compression is changed from none to Flate
+with setdevparams inside a page.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade1.c 1.30, src/gxshade4.h 1.33, src/gxshade6.c 1.69]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_2012"></a>
-2004-05-12 20:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 72.
-
-DETAILS :
-
-1. Another continuation for the bug in LAZY_WEDGES of the step 65 :
-"color was desynchronized with vertices when filling a wedge."
-Previous attempts to fix it appear wrong.
-This one implements entirely different logics.
-The division count is now a property of a division point.
-
-2. Fixed the wrong order of colors in ln 2800 in the function "triangles".
-
-EXPECTED DIFFERENCES :
-
-"442-01.ps"
-"483-01.ps"</pre>
-<p>[src/gxdtfill.h 1.26, src/gxshade4.h 1.32, src/gxshade6.c 1.68]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_1808"></a>
-2004-05-12 18:08 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Fix regression reports (the previous commit accidentally did the exact
-opposite of what we wanted). Also, cleaned up the way the report is built
-so that it is much less confusing.</pre>
-<p>[toolbin/tests/run_nightly 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_1537"></a>
-2004-05-12 15:37 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Avoid a numeric exception; throw /rangecheck when .getbitsrect operator is
-invoked with raster width = 0.
-Fix bug 687223.</pre>
-<p>[src/zdevice.c 1.8]</p>
+<p>[src/gdevpdf.c 1.98, src/gdevpdfu.c 1.58, src/gdevpdfx.h 1.100]</p>
</blockquote>
-<p><strong><a name="2004-05-12_1133"></a>
-2004-05-12 11:33 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 72.
+Fix : gs_lib_ctx was wrongly accessed while looking up a dictionary stack extension.
DETAILS :
-1. A continuation for the bug in LAZY_WEDGES of the step 65 :
-"color was desynchronized with vertices when filling a wedge." :
-open_wedge_median did not set l->from_last_side.
-
-2. A bug : Color linearity check missed the shading function linearity check.
-Debugged with "MLC2\PROB322-shadings\Clarke Tate Manns Chinese-1.ai.pdf"
-(the big yellow radial gradient) and NEW_RADIAL_SHADINGS 1.
+Bug 687623 A crash in the interp.c
EXPECTED DIFFERENCES :
-"442-01.ps"
-"464-01.ps"
-"483-01.ps"
-"Clarke Tate Manns Chinese.ai"
-"gradmesh.ai"
-"Openhuis_pdf_zw.pdf"
-"STEUER-RollingMesh 1(linear).ai"</pre>
-<p>[src/gxshade6.c 1.67]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-12_0004"></a>
-2004-05-12 00:04 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Fix some warnings about unused variables and undeclared functions
-generated by MSVC with warning level 3. Move the definition of WARNOPT
-and add ifdef's.
-Partial fix for bug 687441.
-
-[DETAILS]
-Although nmake overrides internal definitions when called from command line,
-it doesn't do so when the makefile is invoked from Development Studio.</pre>
-<p>[src/dwimg.c 1.11, src/dwimg.h 1.8, src/dwmain.c 1.16, src/dwmainc.c 1.18, src/dwtrace.h 1.6, src/gdevm64.c 1.2, src/gdevwdib.c 1.8, src/msvc32.mak 1.56, src/msvccmd.mak 1.19, src/unistd_.h 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-11_2048"></a>
-2004-05-11 20:48 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-GCC with -ffast-math compiles ang/90. as ang*(1/90.), losing precission.
-This doesn't happen when the numeral is replaced with a non-const variable.
-So we define the variable to work around the GCC problem.
-Fix bug 687420.</pre>
-<p>[src/gsmisc.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-11_2026"></a>
-2004-05-11 20:26 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Ignore 0-length tables that occur in PDF files generated by Crystal.
-Fix bug 687457.</pre>
-<p>[lib/gs_ttf.ps 1.38]</p>
+Fixes crash with re-distilled files :
+251-01.ps
+Bug687044.ps
+Bug687489.ps
+test-setweightvector.ps,
+tpc2.ps</pre>
+<p>[src/idstack.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-05-11_1113"></a>
-2004-05-11 11:13 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 70.
+Fix : gs_lib_ctx was not accessible while clist_playback_band.
DETAILS :
-Fixing a bug in fill_wedge_from_list_rec :
-wedge vertices can't identify by their coordinates,
-because dividing a short bar could get same coordinates as one of its end.
-wedge_vertex_list_elem_t::level now works for the identification.
+Bug 687624 "A crash in gp_check_interrupts".
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gxshade4.h 1.31, src/gxshade6.c 1.66]</p>
+Fixes crash with re-distilled files :
+Svd.pdf
+test.pdf</pre>
+<p>[src/gxclread.c 1.12]</p>
</blockquote>
-<p><strong><a name="2004-05-11_1041"></a>
-2004-05-11 10:41 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-24_1252"></a>
+2004-08-24 12:52 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 69.
+Fix (TT interpreter) : Provide a tolerance to an inconsistent cvt length.
DETAILS :
-Implementing radial shading with tensor shadings.
-
-The new code is disabled with NEW_RADIAL_SHADINGS in gxshade4.h .
-The new code works but it discovered a problem in fill_wedge_from_list_rec :
-wedge vertices can't identify by their coordinates.
-The problem appears an important bug to be fixed separately.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gspath.h 1.7, src/gspath1.c 1.9, src/gxshade1.c 1.29, src/gxshade4.h 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1906"></a>
-2004-05-06 19:06 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Correct a problem in the fix for 687418 detected by Russell Lang. Also
-make the routine check_device_separable public for use by the display
-device. The prototype is in gxdevice.h.</pre>
-<p>[src/gdevdflt.c 1.22, src/gxdevice.h 1.17]</p>
-</blockquote>
+Bug 687604 "/invalidfont in --show-- error".
-<p><strong><a name="2004-05-06_1719"></a>
-2004-05-06 17:19 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Disable the fix for 687418. This is causing many errors in the regression
-tests. These need to be investigated.</pre>
-<p>[src/gdevdflt.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1626"></a>
-2004-05-06 16:26 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Repress the full report except on Mondays.</pre>
-<p>[toolbin/tests/run_nightly 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1401"></a>
-2004-05-06 14:01 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 68.
-Switching linear color device fucntions on.
-
-EXPECTED DIFFERENCES :
-
-"442-01.ps"
-"446-01.ps"
-"464-01.ps"
-"478-01.ps"
-"483-01.ps"
-"483-05-fixed.ps"
-"483-05.ps"
-"BEST8-99-Path.fh7.pdf"
-"chilis_black.pdf"
-"chilis_red.pdf"
-"Clarke Tate Manns Chinese.ai"
-"gradmesh.ai"
-"Openhuis_pdf_zw.pdf"
-"self-intersect2.ps"
-"SmoothShading.pdf"
-"STEUER-RollingMesh 1(linear).ai"
-"STEUER-RollingMesh 3(Final).ai"
-"Testform.v1.0.2.pdf"</pre>
-<p>[src/gxshade4.h 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1325"></a>
-2004-05-06 13:25 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 67.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-Provided a consistency of 'unlenear' to 'is_color_linear'
+We analyzed UFST and Free Type 2.
+UFST has same problem.
+FreeType 2 provides a tolerance, which we port now.
+Note that now we don't port a tolerance for other CVT commands.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.65]</p>
+<p>[src/ttinterp.c 1.14]</p>
</blockquote>
-<p><strong><a name="2004-05-06_1303"></a>
-2004-05-06 13:03 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-24_1058"></a>
+2004-08-24 10:58 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 66.
+Fix (TT interpreter) : A minor portability problem.
DETAILS :
-Improving the recognition of linear devices with a hack for a halftone check.
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-Debugged with pkmraw.
-This to be rivised by the color team.
+A preprocessor statement didn't start in the first column.
+Occasionally discovered readin the code.
+Some time ago it was claimed as non-portable.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.64]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_1234"></a>
-2004-05-06 12:34 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 65.
-
-DETAILS :
-
-A bug in LAZY_WEDGES :
-color was desynchronized with vertices when filling a wedge.
-
-The bug was not detected because
-the color difference appears small due to small wedges.
-It appears big with USE_LINEAR_COLOR_PROCS 1 with -r300 483-01.ps.
-
-EXPECTED DIFFERENCES :
-
-300dpi :
-
-"442-01.ps"
-"446-01.ps"
-"464-01.ps"
-"483-01.ps"
-"483-05-fixed.ps"
-"483-05.ps"
-"gradmesh.ai"
-"SmoothShading.pdf"
-"STEUER-RollingMesh 3(Final).ai"
-"442-01.ps"
-
-72dpi:
-
-"442-01.ps"
-"446-01.ps"
-"483-01.ps"
-"483-05-fixed.ps"
-"483-05.ps"
-"gradmesh.ai"
-"SmoothShading.pdf"
-"STEUER-RollingMesh 3(Final).ai"</pre>
-<p>[src/gxshade6.c 1.63, src/gxshade4.h 1.28]</p>
+<p>[src/ttload.c 1.6]</p>
</blockquote>
-<p><strong><a name="2004-05-06_0841"></a>
-2004-05-06 08:41 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-24_0910"></a>
+2004-08-24 09:10 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 64.
+Fix : Makefiles missed a dependency.
DETAILS :
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-Fixing various problems with linear color :
-1. Clipping didn't work with linear color.
-2. gx_default_fill_linear_color_scanline missed some clipping by X.
-3. Zero smoothness caused an infinite recursion.
-4. The number of device color components was wrong.
+After rebuilding the last revision got a crash due to gp_mspol.c
+was not recompiled. Found out that gslibctx_h was
+wrongly defined in lib.mak .
+Also changed the including of stdio.h in gslibctx.h to
+a C library file (IMO it should be so).
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevdsha.c 1.9, src/gxclip.c 1.14, src/gxshade6.c 1.62]</p>
+<p>[src/gslibctx.h 1.4, src/lib.mak 1.192]</p>
</blockquote>
-<p><strong><a name="2004-05-06_0746"></a>
-2004-05-06 07:46 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-23_0957"></a>
+2004-08-23 09:57 Russell Lang</strong></p>
<blockquote>
<pre>
-Limit the number of timing runs we're willing to do to detect the cache
-size, preventing an infinite loop if the os timing calls never measure
-appreciable elapsed time. After a patch from Patrick TJ McPhee. Bug 687095.
+Allow the display device row alignment to be changed from the
+default 4 bytes to 8, 16, 32 or 64 bytes.
DETAILS:
-
-It looks like there's a bug in some versions of FreeBSD which cause
-time_clear() to always return 0, even though the loop is being run.
-This is clearly incorrect behaviour of clock() on these systems,
-or the user is mistaken in debugging the problem, since we've been
-unable to reproduce. But in either case our code is arguably wrong.
-
-The later measurements will obviously not detect a nonlinearity if
-the timing loop continues to return 0. However, they will terminate
-at MAX_BLOCK (4MB) and so the misdetection isn't egregious. It was
-only the estimation of the measurement error that could loop forever.</pre>
-<p>[src/genarch.c 1.9]</p>
+If the image is allocated in video display memory, an alignment
+such as 16 bytes (128-bit memory) may be required.
+This is implemented by making the underlying memory device
+use a larger width than the display device.</pre>
+<p>[src/gdevdsp.c 1.26, src/gdevdsp.h 1.10]</p>
</blockquote>
-<p><strong><a name="2004-05-06_0620"></a>
-2004-05-06 06:20 Dan Coby</strong></p>
+<p><strong><a name="2004-08-19_2152"></a>
+2004-08-19 21:52 Russell Lang</strong></p>
<blockquote>
<pre>
-Make check_device_separable private to avoid a warning from gcc.</pre>
-<p>[src/gdevdflt.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0549"></a>
-2004-05-06 05:49 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687455. The overprint logic creates a temporary device which is
-used to initialize a set of procedures. This temp device is only paritally
-initialized. The partially initialized device is being set up as a
-forwarding device but the target device is not yet present. This created
-a problem when check_device_separable executed. This change sets the temp
-device to 'not separable' so check_device_separable does not try to do
-anything.</pre>
-<p>[src/gsovrc.c 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0519"></a>
-2004-05-06 05:19 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 63.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-Fixing various problems with linear color :
-1. Applyed compiler independent data types int32_t.
-2. Implemented ends_from_fa with X-independent gradients,
- because the decomposiotion by color linearity breaks
- at coordinates which are not trapezoid corners.
- Added a comment to gxdevcli.h to document it.
-3. X-gradient denominator was wrong.
-4. X-gradient numerator left wrong from the step 58.
-5. gx_default_fill_linear_color_scanline ignored the clipping by X.
-6. A_fill_region missed the path bbox.
-7. Implemented is_color_linear for a proper subdivision by color.
-8. decompose_linear_color now applies a linear color
- instead fill_triangle_wedge. See a comment in fill_triangle_wedge.
- Also for mesh_padding.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.24, src/gdevdsha.c 1.8, src/gdevnfwd.c 1.22, src/gxdevcli.h 1.31, src/gxdtfill.h 1.25, src/gxshade1.c 1.28, src/gxshade6.c 1.61]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-06_0517"></a>
-2004-05-06 05:17 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing is_monotonic for cubic interpolation functions (continued 2).
-
-DETAILS :
-
-Some monotonic functions were not recognized.
-1. Fix : A bug (identifier conflict) in clamp_poles, dimension_monotonity.
-2. Fix : Allow the reversed order of boundaries (gsfunc0.c ln 980-983).
-
-EXPECTED DIFFERENCES :
-
-464-01.ps</pre>
-<p>[src/gsfunc0.c 1.20]</p>
+Changed iapi to use a void* instead of a gs_main_instance pointer.</pre>
+<p>[src/dmmain.c 1.4, src/dpmain.c 1.12, src/dwmainc.c 1.22, src/dxmain.c 1.14, src/dxmainc.c 1.10]</p>
</blockquote>
-<p><strong><a name="2004-05-05_2355"></a>
-2004-05-05 23:55 Dan Coby</strong></p>
+<p><strong><a name="2004-08-19_1933"></a>
+2004-08-19 19:33 stefan</strong></p>
<blockquote>
<pre>
-Fix for 687418 WTS does not work with bitcmyk driver. This fix
-is applicable to most devices.
+Changed iapi to use a void* instead of a gs_main_instance pointer.
+Cleaned up warning related to function pointer signature miss-matches.
DETAILS:
-WTS screening, overprinting, halftoning for more than five colorants
-and the fast halftoning logic need to be able to create gx_color_index
-values without using the encode_color routine. This only works if a
-device is 'separable'. However, by default, most devices indicate
-'unknown'. This change implements a heuristic for checking if a
-device is separable. If so then it also determines the various
-related parameter values (comp_shift, comp_bits, comp_mask).</pre>
-<p>[src/gdevdflt.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_2252"></a>
-2004-05-05 22:52 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Document that we no longer support loading truetype CJK fonts directly from
-/Resources/CIDFont as worked in 7.0x for Japanese fonts. This has been replaced
-by the more general, if less convenience, cidfmap mechanism. Closes bug 686949.</pre>
-<p>[doc/Fonts.htm 1.40, doc/Use.htm 1.108]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0945"></a>
-2004-05-05 09:45 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 62.
-
-DETAILS :
-
-1. Implemented gx_cspace_is_linear_in_line and applied it for
-checking the stripe transversal color lnearity.
-2. Generalized 'is_halftoned' to 'unlinear'.
-3. is_color_span_v_linear must not apply when 'unlinear'.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gscspace.c 1.15, src/gxshade4.h 1.27, src/gxshade6.c 1.60]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0902"></a>
-2004-05-05 09:02 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 61.
-
-DETAILS :
-
-1. is_color_span_v_linear allows wider stripes.
-2. quadrangle_color_change doesn't yield color_change_gradient with USE_LINEAR_COLOR_PROCS.
- Thus it prefers color_change_linear, allowing bigger quadrangles.
-Both changes improve the performance.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-In the enabled code removed redundant computations from quadrangle_color_change.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.59]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0901"></a>
-2004-05-05 09:01 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing is_monotonic for cubic interpolation functions (continued 1).
-
-DETAILS :
-
-1. Fix : subcurve expression applied wrong signs to t01, t11.
-2. Suppress small noize while computing a subcurve.
-Both changes recognize more monotonic curves.
-
-EXPECTED DIFFERENCES :
-
-464-01.ps</pre>
-<p>[src/gsfunc0.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-05_0635"></a>
-2004-05-05 06:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 60.
-
-DETAILS :
-
-Define frac31 with int32_t to minimize compiler dependence.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxdevcli.h 1.30, src/lib.mak 1.181]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-04_2131"></a>
-2004-05-04 21:31 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Replace locally-defined (u)int32 typedefs with the stdint_.h types now
-that they're universally available. This avoids conflict with typedefs
-that are pulled in from sys/types.h on some systems. Bug 687404.</pre>
-<p>[src/gdevupd.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-04_1814"></a>
-2004-05-04 18:14 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 59.
-
-DETAILS :
-
-Moved the device pointer from gs_fill_attributes to a separate argument
-in order to simplify the implementation of forwarding devices.
-A farwarding device 'clipper' works for almost all shadings.
-
-Also fixed a bug in middle_frac31_color from the previous patch.
-It was not detected because normally this function isn't called.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.23, src/gdevdsha.c 1.7, src/gdevnfwd.c 1.21, src/gxdevcli.h 1.29, src/gxdtfill.h 1.24, src/gxshade6.c 1.58]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-04_1753"></a>
-2004-05-04 17:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 58.
-
-DETAILS :
-
-Replaced frac32 with frac31 to represent negative color difference.
-We could do with frac32 and with additional arguments about the
-ending color, but we don't want the performance flaw.
-31 bits should be enough precise.
-Also removed hacks about fitting negative differences into int32_t.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.22, src/gdevdsha.c 1.6, src/gdevnfwd.c 1.20, src/gxdevcli.h 1.28, src/gxdtfill.h 1.23, src/gxshade6.c 1.57]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_2124"></a>
-2004-05-02 21:24 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add recent new files to the listing in the developer documentation.</pre>
-<p>[doc/Develop.htm 1.132]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_2030"></a>
-2004-05-02 20:30 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the JPXDecode implementation to the list of files in the documentation.</pre>
-<p>[doc/Develop.htm 1.131]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1937"></a>
-2004-05-02 19:37 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a missing file to the testsuite documentation.</pre>
-<p>[doc/Testing.htm 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1926"></a>
-2004-05-02 19:26 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Return the number of failures on exit so an external program can take action on the results. Previously, our tests always returned 0.
-----------------------------------------------------------------------</pre>
-<p>[toolbin/tests/gstestutils.py 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1923"></a>
-2004-05-02 19:23 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Remove dependency on python2.2. Tested with python 2.3.3. Primary problem
-was that calendar module no longer has a localtime member, used time instead.</pre>
-<p>[toolbin/tests/check_all.py 1.6, toolbin/tests/check_comments.py 1.4, toolbin/tests/check_dirs.py 1.9, toolbin/tests/check_docrefs.py 1.10, toolbin/tests/check_source.py 1.10, toolbin/tests/dump_testdb 1.6, toolbin/tests/get_baselines 1.3, toolbin/tests/gscheck_all.py 1.6, toolbin/tests/gscheck_fuzzypdf.py 1.8, toolbin/tests/gscheck_pdfwrite.py 1.20, toolbin/tests/gscheck_raster.py 1.10, toolbin/tests/make_testdb 1.12, toolbin/tests/make_two_pdfversions 1.8, toolbin/tests/make_two_versions 1.13, toolbin/tests/revert_baseline 1.12, toolbin/tests/revert_pdfbaseline 1.10, toolbin/tests/run_nightly 1.24, toolbin/tests/run_regression 1.13, toolbin/tests/testdiff 1.5, toolbin/tests/update_baseline 1.13, toolbin/tests/update_pdfbaseline 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-05-02_1900"></a>
-2004-05-02 19:00 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Avoid failing when testing.cfg isn't available. This allows check_all.py to be run on a fresh checkout just by passing --gsroot=. on the commandline. Previously this option could only be used to override a required version in testing.cfg</pre>
-<p>[toolbin/tests/gstestutils.py 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-30_2231"></a>
-2004-04-30 22:31 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Provide a dummy 'make check' target in the autoconf build. Some users have requested this,
-and it's available on the GPL 7.0x releases.</pre>
-<p>[src/Makefile.in 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1851"></a>
-2004-04-29 18:51 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Remove some more compiler warnings. Found by Igor. 687441.</pre>
-<p>[src/gdevpsd.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1618"></a>
-2004-04-29 16:18 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 57.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-1. Likely QUADRANGLES 1 appears unusefil. Documenting that.
-2. Implementing mesh_padding with linear color.
-3. Minor improvements to conmments.
-4. Stronger conditions against color stairs in triangle_by_4, color_change_small.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxdevcli.h 1.27, src/gxshade4.h 1.26, src/gxshade6.c 1.56]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1347"></a>
-2004-04-29 13:47 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 56.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-The previous patch appears incomplete. Now fixed.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.h 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1340"></a>
-2004-04-29 13:40 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 55.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-Implemented a check whether the device halftones.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.55]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_1238"></a>
-2004-04-29 12:38 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 54.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-
-1. Color computations were wrong.
-2. clist didn't implement linear color functions.
- This patch stubs them, but fill_linear_color_trapesoid should write
- into clist.
-3. The clipping rectangle was missed for shading Type 0, 5.
-
-It still has problems with clipping with 446-01.ps .
-Also likely we should replace frac32 with frac31 to provide signed values.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.21, src/gdevdsha.c 1.5, src/gdevnfwd.c 1.19, src/gxclist.c 1.13, src/gxdevcli.h 1.26, src/gxdtfill.h 1.22, src/gxshade1.c 1.27, src/gxshade4.c 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_0614"></a>
-2004-04-29 06:14 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 53.
-
-DETAILS :
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-This patch implements wedges with a linear color.
-USE_LINEAR_COLOR_PROCS 1 passed a simple test with ppmraw.
-Other devices are not yet supported due to problems with
-checking for a halftoning.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.20, src/gxdtfill.h 1.21, src/gxshade6.c 1.54]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-29_0437"></a>
-2004-04-29 04:37 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 52.
-
-DETAILS :
-
-Linear color passed a simple test with ppmraw, except wedges.
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-This patch fixes numerows errors in the desabled code.
+iapi.h no longer defines a type for gs_main_instance *
+This will likely need to be put back in for backward compatibility.
-EXPECTED DIFFERENCES :
+The iapi interface now uses a void * instance handle reflecting
+that it is an opaque type to the outside world.
-None.</pre>
-<p>[src/gdevddrw.c 1.19, src/gdevdsha.c 1.4, src/gscspace.c 1.14, src/gxdtfill.h 1.20, src/gxshade6.c 1.53, src/lib.mak 1.180]</p>
+Note that function pointer argument miss-matches generate warnings in
+msvc but not in gcc. These have been fixed.</pre>
+<p>[src/dwmain.c 1.19, src/gdevpdtw.c 1.29, src/gdevpsf.h 1.27, src/gdevpsfm.c 1.15, src/gsalloc.c 1.22, src/gsccode.h 1.14, src/gscpixel.c 1.13, src/gscpixel.h 1.7, src/gscspace.c 1.18, src/gsdevice.c 1.23, src/gslibctx.c 1.4, src/gslibctx.h 1.3, src/gxccman.c 1.28, src/gxfcache.h 1.27, src/iapi.c 1.12, src/iapi.h 1.13, src/idict.c 1.12, src/ilocate.c 1.11, src/iutil.c 1.11, src/iutil.h 1.8, src/sdctc.c 1.6, src/zchar32.c 1.5, src/zcssepr.c 1.16, src/zfont.c 1.12, src/zpacked.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-04-28_1641"></a>
-2004-04-28 16:41 Dan Coby</strong></p>
+<p><strong><a name="2004-08-19_1050"></a>
+2004-08-19 10:50 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix for 687441 New: MSVC warnings. Correct some warning messages from
-MSVC.</pre>
-<p>[src/devs.mak 1.110, src/gdevpsd.c 1.9, src/gdevdevn.c 1.16, src/gdevdevn.h 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_1524"></a>
-2004-04-28 15:24 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 51.
-
-DETAILS :
-Colors were wrongly converted to frac32. Should do through device color.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-The new code is not debugged yet.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.52]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0939"></a>
-2004-04-28 09:39 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 50.
-
-DETAILS :
-
-1. gx_default_fill_linear_color_triangle wrongly checked for a large color span.
-2. fill_linear_color_* procs were not set for clip devices.
-3. cs_is_linear were defined with a wrong argument list.
-4. Optimized the prototype of cs_proc_is_linear.
-5. Gradient buffers were not allocated in gxdtfill.h .
-6. Attaching fill_linear_color_triangle to triangle_by_4 in shadings.
-
-The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
-The new code is not debugged yet.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.18, src/gdevrops.c 1.10, src/gscspace.c 1.13, src/gxclip.c 1.13, src/gxclip2.c 1.10, src/gxclipm.c 1.12, src/gxcspace.h 1.12, src/gxdtfill.h 1.19, src/gxshade4.h 1.24, src/gxshade6.c 1.51]</p>
+Add a PPD for PostScript to be used by ghostscript ps2pdf.</pre>
+<p>[doc/Develop.htm 1.136, doc/Ps2pdf.htm 1.69, lib/ghostpdf.inf 1.1, lib/ghostpdf.ppd 1.1]</p>
</blockquote>
-<p><strong><a name="2004-04-28_0539"></a>
-2004-04-28 05:39 Dan Coby</strong></p>
+<p><strong><a name="2004-08-19_0738"></a>
+2004-08-19 07:38 Russell Lang</strong></p>
<blockquote>
<pre>
-Implement 687423 Implement SeparationOrder for psdcmyk device.
+Enable progressive updates for the image window of
+the MS-Windows ghostscript command line program.
+Change update method to use a Windows timer.
DETAILS:
+In the MS-Windows GUI executable (i.e. text window managed by
+ghostscript rather than using a system console window), the image
+window is progressively updated every second or so as each page
+is drawn. The console executable did not do this.
-The following changes are for implementing the SeparationOrder
-parameter for the psdcmyk device.
-
-The change consists of the following:
-
-1. Several routines which were duplicated in the spotcmyk
-and psdcmyk devices were restructured to allow the use of
-common subroutines. As part of this effort the various
-common DeviceN related parameters were separated into a
-substructure (call devn_params). This allows the use of
-common routines even though the devices do not have the
-same overall device description structure.
-
-2. Changes to the src/gdevpsd.c module for actually collecting
-the SeparationOrder parameter data and then using it. Note:
-The treatment of separations is different for the process
-color model colorants versus the spot colors. The colorants for
-the process color model do not have their order changed. The
-output file always starts with information for the CMYK channels.
-If one of these colorants is not specified in the SeparationOrder,
-then the output channel data in the file will simply be 'blank'.
-Spot colors follow CMYK data. They are rearranged. Only the
-spot colors specified are output.
-
-3. Several checks in src/gdevdflt.c and src/gxcmap.c had to
-be removed or modified. These checks were assuming that a
-device with a single component uses a gray process color
-model and a device with three components used RGB.</pre>
-<p>[src/gdevdevn.c 1.15, src/gdevdevn.h 1.3, src/gdevdflt.c 1.18, src/gdevpsd.c 1.8, src/gsdparam.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0406"></a>
-2004-04-28 04:06 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 49.
-
-DETAILS :
-
-1. gx_default_fill_linear_color_trapezoid wrongly subdivided big areas :
- the edge height was not reduced. It could cause an infinite loop.
-
-2. Removed c_prec, x_prec.
-
-The new code is never called and never tested.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.17, src/gxdtfill.h 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-28_0235"></a>
-2004-04-28 02:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 48a.
-
-DETAILS :
-
-Removing the unused gdevdsha.h .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevdsha.h 1.2]</p>
+The update code for both GUI and console executables is changed to
+use a timer. The display update code is called whenever particular
+device drawing operations happen, and if a timer is not already
+running, it starts an update timer. The minimum update interval
+is shortened from 1s to 100ms. The time to refresh the window is
+measured, and the update interval may be increased to make sure
+that updates account for no more than 10% of processing.
+The update interval is decreased if subsequent updates are
+much quicker. The timer is stopped by any sync.</pre>
+<p>[src/dwimg.c 1.13, src/dwimg.h 1.10, src/dwmainc.c 1.21]</p>
</blockquote>
-<p><strong><a name="2004-04-28_0226"></a>
-2004-04-28 02:26 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-18_2225"></a>
+2004-08-18 22:25 stefan</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 48.
-
-DETAILS :
-
-Removing a code of dead development branches.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.h 1.23, src/gxshade6.c 1.50]</p>
+Fixed dependancies for gslibctx.h</pre>
+<p>[src/int.mak 1.128, src/lib.mak 1.191]</p>
</blockquote>
-<p><strong><a name="2004-04-27_0826"></a>
-2004-04-27 08:26 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-18_2224"></a>
+2004-08-18 22:24 stefan</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 47.
-
-DETAILS :
-
-Implementing gx_default_fill_linear_color_triangle, step 2 :
-fixing interface problems.
-The new code is never called and never tested.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.16, src/gxdevcli.h 1.25]</p>
+Removed redundant include.</pre>
+<p>[src/gsmalloc.c 1.13]</p>
</blockquote>
-<p><strong><a name="2004-04-27_0812"></a>
-2004-04-27 08:12 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-18_2044"></a>
+2004-08-18 20:44 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 46.
+Fix (pdfwrite) : Check for glyph name conflicts while font merging.
DETAILS :
-Implementing gx_default_fill_linear_color_triangle.
-The new code is never called and never tested.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.15, src/gxdevcli.h 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0604"></a>
-2004-04-27 06:04 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add makefile support for compiling in the jasper JPEG 2000 library,
-needed to support the JPXDecode filter in PDF 1.5. Currently only
-enabled in the autoconf build, but porting the changes to other top-level
-makefiles should now work.</pre>
-<p>[src/Makefile.in 1.34, src/configure.ac 1.45, src/gs.mak 1.26, src/jasper.mak 1.1, src/lib.mak 1.179]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0601"></a>
-2004-04-27 06:01 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct two typos in the jasper local source directory detection. It was
-erroneously resetting the jbig2dec local source directory and not reporting
-the found location correctly.</pre>
-<p>[src/configure.ac 1.44]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-27_0543"></a>
-2004-04-27 05:43 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 45.
+Bug 687597 pdf created by pdfwrite has garbled text (spr 3994)
-DETAILS :
+1. When a document embeds 2 fonts with same name, same hinting
+and same glyph names but different charstrings, the old code
+didn't compare charstrings and erroneusely merged fonts.
-Implementing a linear color for filling a trapezoid.
-This patch provides necessary data exchange.
-The new code is never called and never tested.
+2. pdf_obtain_font_resource_encoded didn't compare the hinting
+because same_type1_hinting computed a too strong condition
+(this change is not strongly neccessary for the bug).
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevddrw.c 1.14, src/gdevdsha.c 1.3, src/gdevnfwd.c 1.18, src/gxdevcli.h 1.23, src/gxdtfill.h 1.17, src/lib.mak 1.178]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-23_1230"></a>
-2004-04-23 12:30 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Keep calculation in signed types to avoid conversion of the negative
-int to the big positive long, which caused infinite loop on Alpha in
-t1_hinter__adjust_matrix_precision() inline function.
-Fix bug 687417.</pre>
-<p>[src/gxhintn.c 1.48]</p>
+<p>[src/gdevpdtt.c 1.87, src/gxfcopy.c 1.45]</p>
</blockquote>
-<p><strong><a name="2004-04-22_0638"></a>
-2004-04-22 06:38 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-18_1440"></a>
+2004-08-18 14:40 Igor Melichev</strong></p>
<blockquote>
<pre>
-Document the use of .setpdfwrite and the relation of vmthreshold to the
-accumulation of shared object data in the pdfwrite device. Closes bug
-687409.</pre>
-<p>[doc/Language.htm 1.84, doc/Ps2pdf.htm 1.67, doc/Use.htm 1.107]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-17_1830"></a>
-2004-04-17 18:30 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 44.
+Fix (pdfwrite) : Wrong glyph positions with CIDFontType2 with no vmtx.
DETAILS :
-The function fill_pixel appears unuseful.
-Now it is replaced with fill_linear_color_scanline.
-This patch also defines a default implementation.
+Bug 687603 vertical text misplaced after distilling .
-EXPECTED DIFFERENCES :
+1. When computing the glyph position, must account that we write
+DW2[0 0] when there is no vmtx.
-None.</pre>
-<p>[src/gdevdflt.c 1.17, src/gdevdsha.c 1.2, src/gdevnfwd.c 1.17, src/gxdevcli.h 1.22, src/gxdevice.h 1.16, src/lib.mak 1.177]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-15_2250"></a>
-2004-04-15 22:50 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing color mapping linearity checks, step 2.
-
-DETAILS :
-
-Fix the color index decomposition in gx_cspace_is_linear_in_triangle.
+2. Computing a DW2, the advance got a wrong sign.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gscspace.c 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-15_1726"></a>
-2004-04-15 17:26 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix to make sure that both stroke (CA) and non-stroke (ca) opacity is set.
-Support for customer #32 that wants to create transparent effects in PDF
-from PostScript input.
-
-DETAILS:
-
-Previously the opacity was set for one or the other (whichever was first)
-and only updated when the value changed. Since the 'state' only retained
-a single value, the following PS snippet would not set the CA value as it
-should to 0.5. Since we never use the 'b/B' fill + stroke painting methods
-(our graphics library currently has no device function for this), a PDF
-that contains a 'b' method will be decomposed into a 'f' followed by 's'
-operation, setting the opacity from the PDF interpreter's retained ca/CA
-between the operations.
-
-PostScript snippet to test this:
-
-<< /CompatibilityLevel 1.4 >> setpagedevice
- % work around rectfill mapping directly to device fill_rectangle
-/rectfill { gsave 4 2 roll moveto 1 index 0 rlineto
- 0 exch rlineto neg 0 rlineto closepath fill grestore
-} bind def
- % Do some background -- not transparent painting mode
-0 0 0 setrgbcolor 0 0 600 700 rectfill
-.7 .7 .7 setrgbcolor 200 0 400 700 rectfill
-1 1 1 setrgbcolor 400 0 200 700 rectfill
- % Go to a transparent painting mode
-/Normal .setblendmode .5 .setshapealpha
- % paint some shapes transparently
-.9 .8 .1 setrgbcolor 100 100 450 450 rectfill
- % The next stroke is non-transparent w/o the patch
-.2 .2 .9 setrgbcolor 50 setlinewidth 50 700 moveto 450 -650 rlineto stroke
-.7 .setshapealpha
-.9 .3 .3 setrgbcolor 50 setlinewidth 50 50 moveto 450 650 rlineto stroke
-showpage quit</pre>
-<p>[src/gdevpdfg.c 1.49]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-15_1647"></a>
-2004-04-15 16:47 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Correction to previous commit that caused Subtype value to be consumed
-if it was not a null name. Valid files would fail.</pre>
-<p>[lib/pdf_font.ps 1.65]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-14_0002"></a>
-2004-04-14 00:02 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix 687189 for bbox_forward_add_rect infinite recursion.
-This problem caused segment faults or apparent hangs with
-the x11alpha device. This fix also works for 656414
-segfault when using x11alpha
-
-DETAILS:
-
-The problem was due to the bounding box device creating
-more and more bounding box devices in the device chain
-when the overprint compositor was being used. The x11alpha
-device uses the bounding box device. The overprint logic
-uses the 'create compositor' logic when a change is made
-in the status of the overprint or overprint mode parameters.
-However a new compositor is not created each time. Instead
-the overprint device simply updates its parameters. The
-bounding box device has its own create compositor. This
-routine would call its target device's create compositor
-routine and then wraps a new bounding box device around the
-target's compositor. The combination of many create
-compositor calls from the overprint logic and the fact that
-the bounding box device adds a new bounding box device
-could result in hundreds of bounding devices in the chain.
-
-The fix consists of checking if the bounding box's target
-device actually created a new compositor device. Only when
-a new compositor was added is a new bounding box also added
-to the chain.</pre>
-<p>[src/gdevbbox.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-13_2325"></a>
-2004-04-13 23:25 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687402 Missing color on annots.pdf. This is actually
-not an error. Instead it is due to some confusion about the
-displaying of link annotations.
-
-DETAILS:
-
-To prevent confusion, the following two paragraphs of explanation
-were added to the first page of the examples/annots.pdf example file.
-
-"IMPORTANT NOTE ABOUT THIS PAGE: This page was created for the testing
- the display of link annotation parameters. The file was created using
- Adobe Acrobat 5.0 (and modified using Acrobat 6.0). The displaying of
- each annotation is specified in the annotation. By default, Acrobat sets
- link annotations so that they are normally displayed by 'viewer'
- applications. They are not normally displayed in printed output. That is
- the case with these annotations.
-
- Ghostscript checks the display specifications for each annotation. By
- default, Ghostscript assumes that the output is 'printed' if the
- 'OutputFile' parameter is defined. Adding '-dPrinted=false' to the command
- line will force Ghostscript to display 'viewer' annotations in all output.
- Adding '-dPrinted=true' will disable the displaying of these annotations."</pre>
-<p>[examples/annots.pdf 1.2]</p>
+<p>[src/gdevpdtt.c 1.86]</p>
</blockquote>
-<p><strong><a name="2004-04-13_1632"></a>
-2004-04-13 16:32 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-18_0448"></a>
+2004-08-18 04:48 Dan Coby</strong></p>
<blockquote>
<pre>
-Handle (yet another) invalid PDF that Adobe Acrobat can open. If the
-Font /Subtype is / then assume Type1. Also issue a **** WARNING message.
-Bug #687422 for Artifex customer #670.
+Implementation of 687496 transparency and CMYK support.
DETAILS:
-This is a simple patch, with known limitations if the actual font type
-cannot be handled by the buildType1 procedure. Only Type1 and MMfonts
-will work correctly. Since the PDF is invalid, we will leave more vigorous
-handling until another different PDF file surfaces.</pre>
-<p>[lib/pdf_font.ps 1.64]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-10_1714"></a>
-2004-04-10 17:14 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Use ld_length instead of length because RMap is a long dictionary.
-Fix bug 687363.</pre>
-<p>[toolbin/pdfinflt.ps 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-09_0620"></a>
-2004-04-09 06:20 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 44.
-
-DETAILS :
-
-Propagate return codes frpom patch_color_to_device_color.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.49]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-08_1618"></a>
-2004-04-08 16:18 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct DOS line endings accidentally committed to the repository.
-Bug 687415.</pre>
-<p>[lib/dumphint.ps 1.2, src/dwdll.c 1.7, src/dwimg.c 1.10, src/dwnodll.c 1.6, src/errors.h 1.10, src/gp_dosfs.c 1.17, src/gp_vms.c 1.38, src/gscolor.c 1.13, src/gscolor1.c 1.10, src/math_.h 1.7, src/windows_.h 1.6, src/zfont42.c 1.19, toolbin/tests/fuzzy.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-08_0759"></a>
-2004-04-08 07:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing color mapping linearity checks, step 1.
-
-DETAILS :
-
-Color mapping linearity check rutines will be used to improve
-the performance and quality of shadings. They check
-whether a color mapping is quazi-linear within a subdomain.
-The subdomain is specified as a convex hull of a set of colors.
-
-This patch defines prototypes and the default implemetation.
-They are not called and not debugged.
-The purpose of this commit is a codebase synchronization before a project switch.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gscdevn.c 1.16, src/gscolor2.c 1.20, src/gscpixel.c 1.11, src/gscscie.c 1.11, src/gscsepr.c 1.23, src/gscspace.c 1.11, src/gsicc.c 1.13, src/gspcolor.c 1.13, src/gxcspace.h 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-07_1510"></a>
-2004-04-07 15:10 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Fix: Disables platfonts when antialiasing is in effect. Improves rendering
-quality, and fixes bug 687368.</pre>
-<p>[src/gxchar.c 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-02_1421"></a>
-2004-04-02 14:21 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : /XObject <<-1 0 R>> was written to a pattern dictionary.
-
-DETAILS :
-
-Bug 687396 "PDF Conversion of PS doc fails with large image"
-happened to a delayed object ID assignment.
-Delay adding the resource until an ID is assigned.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfj.c 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-02_0706"></a>
-2004-04-02 07:06 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Restoring the non-cache-device constraint in setcolor.
-
-DETAILS :
-
-It was removed by a recent patch, but PLRM3 page 215 requires it.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gscolor2.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-02_0219"></a>
-2004-04-02 02:19 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Dump output from 'attrib -H dosdefault' to the bit bucket (nul:) to
-eliminate a potentially confusing warning.</pre>
-<p>[src/msvccmd.mak 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_2039"></a>
-2004-04-01 20:39 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (Type 1 hinter) : Skip empty hint ranges, improved.
-
-DETAILS :
-
-The previous patch caused a regression with 86554321.pdf .
-This one fixes that.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxhintn.c 1.47]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_1958"></a>
-2004-04-01 19:58 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (Type 1 hinter) : Skip empty hint ranges.
-
-DETAILS :
-
-Bug 687393 "Hang with 8.14 from command line".
-The test document embeds a font with a hint mask,
-which defines a stem range with 'closepath' only.
-t1_hinter__skip_stem couldn't handle this case,
-because we exclude 'closepath' from the pole list.
-We believe that the font is buggy, but provide a tolerance.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxhintn.c 1.46]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_1335"></a>
-2004-04-01 13:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Cygwin/gcc compiler warnings.
-
-DETAILS :
-
-./src/gstext.c:83: warning: suggest explicit braces to avoid ambiguous `else'
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gstext.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_1323"></a>
-2004-04-01 13:23 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : MSVC6 compiler warnings.
-
-DETAILS :
-
-An "initialized data" warning appeared when MSVC6 performs a release build
-with inline optimizations on (The inline optimization inlines small function bodies,
-being not marked with the inline keyword).
-
-1. The "uninitialized data" warning in alloc_name_index_is_since_save
-in isave.c was a real bug with an indeterministic behavior :
-nref.tas.rsize was accessed by names_index_inline from names_string_inline
-from alloc_name_is_since_save from alloc_name_index_is_since_save
-with no advance initialization.
-This bug was not detected because this function is only
-invoked when a 'save' unwinds glyph names added to an incremental font,
-but doesn't unwind the font - we have no such examples.
-IMO existing PS drivers never cvreate such documents.
-
-2. The "uninitialized data" warning in cos_array_add_object appears due to
-cos_copy_element_value copies entire 'value' when another variant of an union
-has a bigger size and was uninitialized.
-The copying of the uninitialized data looks not harmful due to the 'int' type,
-but generally it could cause an interrupt on platforms with a tagged memory.
-We prefer to suppress the warning with an unuseful initialization,
-because the processor time consumption is pretty small and happens not frequently.
+This change extends our current implementation of the PDF 1.4
+transparency to include blending in a DeviceCMYK color space.
+There is also a partial implementation of a DeviceGray blending
+space. However I do not have a method of generating test data
+for a DeviceGray blending space. Currently the choice of a
+blending color space is based upon the process color model of
+the output device.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfo.c 1.29, src/isave.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_1143"></a>
-2004-04-01 11:43 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 43.
-
-DETAILS :
-
-Defining new device virtual functions for filling with a linear color.
-This only defines but never uses them.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevdflt.c 1.16, src/gdevdsha.c 1.1, src/gdevdsha.h 1.1, src/gdevnfwd.c 1.16, src/gxdevcli.h 1.21, src/gxdevice.h 1.15, src/lib.mak 1.176]</p>
-</blockquote>
-
-<p><strong><a name="2004-04-01_1130"></a>
-2004-04-01 11:30 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : setcachedevice must not depend on a BuildChar color and on gx_show_text_retry.
-
-DETAILS :
-
-1. The bug 687391 "assert src/gxccman.c:557 again" happened
- because BuildChar changed the current color before
- setcachedevice calls compute_glyph_raster_params,
- and the raster params computed differently than
- during the advance glyph raster cache lookup.
-
-2. Removed
- if (pgs->in_cachedevice)
- return_error(gs_error_undefined);
- from gs_setcolor,
- because I can't guess it's reason/purpose.
- It looks as a rudiment from a pre-repository versions.
-
-3. The assertion also failed with
- "-dTextAlphaBits=4 -dLastPage=1 comparefiles\xgfddg.pdf".
- In gx_add_cached_char added the case "cc->pair == NULL" :
- /* gx_show_text_retry could reset it when bbox_draw
- discovered an insufficient FontBBox and enlarged it.
- Glyph raster params could change then. */
-
-4. gx_show_text_retry must reset penum->pair due to possible FontBBox change,
- see (3).
-
-5. The cc_set_pair macro to be applied for changing cc->pair
- to provide consistent data for font_dir_reloc_ptrs.
-
-EXPECTED DIFFERENCES :
-
-None with regular regression test.
-
-Normal with -r72 -dTextAlphaBits=4 -dAlignToPixels=0 :
-
-"213-01.ps"
-"214-01.ps"
-"244-01.ps"
-"245-07.ps"
-"245-13.ps"
-"245-17.ps"
-"258-01.ps"
-"270-01.ps"
-
-Normal with -r300 -dTextAlphaBits=4 -dAlignToPixels=0 :
-
-"245-07.ps"
-"270-01.ps"
-
--dTextAlphaBits=2 : not tested.
--dAlignToPixels=1 : not tested.</pre>
-<p>[src/gscolor2.c 1.18, src/gxccache.c 1.30, src/gxccman.c 1.25, src/gxchar.c 1.41, src/gxtext.h 1.15]</p>
+Note: There two differences expected in the regression testing.
+These are with ai2.pdf and dina3_watermark.pdf.</pre>
+<p>[src/gdevp14.c 1.26, src/gxblend.c 1.6, src/lib.mak 1.190]</p>
</blockquote>
-<p><strong><a name="2004-04-01_0646"></a>
-2004-04-01 06:46 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-17_2021"></a>
+2004-08-17 20:21 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix for premature freeing of a 'image' device (makeimagedevice or the
-similar makewordimagedevice). Bug #687227. Thanks to Alex Cherepanov for
-the patch.</pre>
-<p>[src/gsdevmem.c 1.6]</p>
+Add PDFSTEP debug aid. Prints a step number at end of PDFDEBUG line, and
+sync's the display, then reads a number of steps to skip (<cr> == single
+step). This is rudimentary but somewhat useful. Invoked with -dPDFSTEP.</pre>
+<p>[lib/pdf_base.ps 1.44]</p>
</blockquote>
-<p><strong><a name="2004-04-01_0614"></a>
-2004-04-01 06:14 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-17_1956"></a>
+2004-08-17 19:56 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix for inherited MediaBox for the page Group dictionary (transparency).
-Bug #687293. Thanks to Felix Pahl for the analysis and fix.</pre>
-<p>[lib/pdf_main.ps 1.86]</p>
+Bump the version number after the last beta release.</pre>
+<p>[lib/gs_init.ps 1.109, src/gscdef.c 1.44, src/version.mak 1.71]</p>
</blockquote>
-<p><strong><a name="2004-04-01_0451"></a>
-2004-04-01 04:51 Dan Coby</strong></p>
+<p><strong><a name="2004-08-17_1939"></a>
+2004-08-17 19:39 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix for 687390 GhostScript 8.11 inserts rendering artifacts
-with GIFs as source. The actual problem is an error which
-resulted in a pale yellow being shown as a pale pink. This
-occurs when dithering on devices which use a 256 color palette.
-
-DETAILS
-
-The halftoning logic assumes that there are the same number
-of shades of each color. However the 256 color palette
-devices were using a 7x7x5 color cube. I.e. there were 7
-shades of red and green, however there were only 5 shades of
-blue. The data in the device's color_info (max_color, max_gray,
-dither_colors, and dither_grays) indicated that there were
-7 shades. The halftoning logic, using this information, was
-attempting to display the given pale yellow color by dithering
-between 6/7ths and 7/7ths of each component. However the
-encode_color routine returned colors which include solid blue
-for all cases. This biased the resulting halftoned color
-toward blue.
-
-The fix involves changing the 256 color palette devices to
-use a 6x6x6 color cube. The same routine pc_8bit_map_rgb_color
-is used for all of the 256 color palette devices. Thus the
-change consists of modifying this routine and the associated
-pc_8bit_map_color_rgb routine. The specification of each of
-the devices has to be changed to represent the change in the
-cube size.</pre>
-<p>[src/gdevbmp.c 1.9, src/gdevcgm.c 1.10, src/gdevp2up.c 1.5, src/gdevpccm.c 1.6, src/gdevpccm.h 1.7, src/gdevpcx.c 1.6, src/gdevpng.c 1.10, src/gdevsvga.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-25_1735"></a>
-2004-03-25 17:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : Stack balance was broken when a CID font is not embedded.
-
-DETAILS :
-
-It was broken since pdf_font.ps rev.1.59.
-Bug 687384 "/invalid font in -dict-".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[lib/pdf_font.ps 1.63]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-25_1446"></a>
-2004-03-25 14:46 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (Type 1 hinter) : Use a weaker condition for horizontal stem recognition.
-
-DETAILS :
-
-Alignment zones were not applied due to a quazy horizontal segment
-was not considered as a hiorizontal one. We think that the font
-has an inaccurate glyph design, but we provide more tolerance.
-Likely Adobe does the same.
-
-Bug 687385 "fonts different heights with 75 dpi".
-
-EXPECTED DIFFERENCES :
-
-72 dpi :
-
-251-01.ps
-289-01.ps
-455690.pdf
-86554321.pdf
-alphabet.ps
-dave.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-prob.pdf"
-RealCities.pdf
-S2_Digitalproof-Forum_x3k.pdf
-Svd.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-
-300 dpi :
-
-033-52-5873.pdf
-289-01.ps
-455690.pdf
-86554321.pdf
-alphabet.ps
-bulletin.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-pdfopt_bug.pdf
-prob.pdf
-S2_Digitalproof-Forum_x3k.pdf
-Svd.pdf
-test.pdf
-test2.pdf
-test2a.pdf</pre>
-<p>[src/gxhintn.c 1.45]</p>
+Remove references to the FreeType license. Artifex Software, Inc. has
+purchased rights to the FreeType 1 code and the work included here is
+relicensed under the same terms as with the rest of the Ghostscript code.</pre>
+<p>[LICENSE 1.4, doc/FTL.txt 1.3]</p>
</blockquote>
-<p><strong><a name="2004-03-24_2346"></a>
-2004-03-24 23:46 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-17_1859"></a>
+2004-08-17 18:59 Ray Johnston</strong></p>
<blockquote>
<pre>
-Remove an empty '#' line. Closes bug 687377.</pre>
-<p>[src/stdint_.h 1.3]</p>
+Add support for PDF single stepping debug aid (PDFSTEP). Actual interpreter
+changes made separately.</pre>
+<p>[lib/gs_init.ps 1.108]</p>
</blockquote>
-<p><strong><a name="2004-03-24_0856"></a>
-2004-03-24 08:56 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-17_1753"></a>
+2004-08-17 17:53 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix for unnecessary re-link when building on Windows. Bug #687059.
+Handle invalid PDF's that use 0.0 font scaling (Tf operator). Fixes bug
+687606 for customer number 780.
DETAILS:
-Since 'dosdefault' was not being made, make always did the link. Create
-a dummy "result" being a file named dosdefault and make works as Igor
-wants.</pre>
-<p>[src/msvccmd.mak 1.17]</p>
+If the font scale is 0.0, then just use a very small value. This may result
+in a small unwanted dot, but that is probably not an issue since it is
+an invalid value. The better approach for 'invisible' text is to use
+TextRenderingMode 3. The 'pdfformaterror' function is used to complain
+about this so the problem might get fixed by the PDF Creator.</pre>
+<p>[lib/pdf_ops.ps 1.34]</p>
</blockquote>
-<p><strong><a name="2004-03-24_0730"></a>
-2004-03-24 07:30 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-14_0206"></a>
+2004-08-14 02:06 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : TK was written into a charproc.
-
-DETAILS :
-
-Bug 687382 "fonts not printed with pdf 1.4".
-
-EXPECTED DIFFERENCES :
-
-None.
-Ghostscript PDF interpreter appears insensible to it. Adobe does.</pre>
-<p>[src/gdevpdfg.c 1.48]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0729"></a>
-2004-03-24 07:29 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Make use of the SYS_TYPES_HAS_STDINT_TYPES define we set in the configure script. After a patch
-from Alex Cherepanov. Bug 687377.
-
-Also, adopt elif, since we've been using it elsewhere to no ill effect.</pre>
-<p>[src/stdint_.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-24_0638"></a>
-2004-03-24 06:38 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix for incorrect Annotation scaling when an Appearance (/AP) had
-scaling that was not unity (1) and the Subtype was not /Stamp.
-Fixes Bug #687288 for customer #32.
-
-DETAILS:
-
-The scaling difference in the annotation (object 14 0) was due to
-Ghostscript not recognizing the bsiTextStamp annotation Subtype.
-
-Careful reading of the Adobe PDF specification says that if there
-is an Appearace stream (/AP dict), then the Form XObject should be
-scaled using the method that we perviously only used for /Stamp
-Subtype annotations (calcstampscale). The section of the PDF 1.5
-Reference Manual is 8.4.4.
-
-The patch is fairly simple, but testing of the regression suite
-showed one file, foo.pdf, that was missing the require /Rect entry
-in the Annot dict. The patch includes a check and warning for this
-problem.
-
-EXPECTED DIFFERENCES:
-
-With this patch, some of the regression files will have slightly
-different scaling for some of the annotations, but the differences
-are all too small to compare to Adobe. The largest variations are
-seen with annots.pdf (our test file) where the scaling ranges from
-a low of 0.979191 to a high of 1.01636. The files are:
-
-filename scaling range (was 1)
-01_001.PDF 1.0
-SyscoCorrugatedprintcard.pdf 1.0 .. 1.00268
-annots.pdf 0.979191 .. 1.01636
-rf1025.PDF 0.998471
-
-IMO, these are all close enough to be considered progressions.</pre>
-<p>[lib/pdf_draw.ps 1.80]</p>
+Correct the previous MSVC 8 updates to allow compilation with debugging.</pre>
+<p>[src/msvc32.mak 1.62, src/msvccmd.mak 1.21]</p>
</blockquote>
-<p><strong><a name="2004-03-24_0620"></a>
-2004-03-24 06:20 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-13_1259"></a>
+2004-08-13 12:59 stefan</strong></p>
<blockquote>
<pre>
-Adobe no longer provides a public link to DistillerParameters.pdf. Link to a hopefully somewhat
-stable directory from which the inspired user can register and download the documentation.</pre>
-<p>[doc/Ps2pdf.htm 1.66]</p>
+Added missing parameter types to prototype.</pre>
+<p>[src/gpcheck.h 1.9]</p>
</blockquote>
-<p><strong><a name="2004-03-24_0612"></a>
-2004-03-24 06:12 Dan Coby</strong></p>
+<p><strong><a name="2004-08-13_0457"></a>
+2004-08-13 04:57 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix for 687364 rangecheck in buildshading2 from Quark XPress PS file.
-This fix involves the creation of the findcmykcustomcolor and
-setcustomcolor functions.
-
-DETAILS:
-
-Ray found that the error message was due to an invalid shading
-dictionary being given to shfill. The dictionary has a function
-which has a single input and a single output. The numbers are
-determined from the sizes of the Domain and Range arrays. Since
-the shading dictionary is using a DeviceCMYK color space, Ghostscript
-is generating a rangecheck since the function does not have four
-outputs.
-
-The file is generating an invalid shading dictionary. Specifically
-it generates:
-
-sh: << /Coords [0 0 0 1] /ColorSpace [/DeviceCMYK] /Function <<
-/BitsPerSample 8 /Ra
-nge [0 1] /FunctionType 0 /Domain [0 1] /DataSource
-(\200\200\200\201\201\202\202\203
-\203\204\204\205\205\206\206\207\207\210\210\211\211\212\212\213\213\214\214
-\215\215\
-216\216\217\217\220\220\221\221\222\222\223\223\224\224\225\225\226\226\227\
-227\230\2
-30\231\231\232\232\233\233\234\234\235\235\236\236\237\237\240\240\241\241\2
-42\242\24
-3\243\244\244\245\245\246\246\247\247\250\250\251\251\252\252\253\253\254\25
-4\255\255
-\256\256\257\257\260\260\261\261\262\262\263\263\264\264\265\265\266\266\267
-\267\270\
-270\271\271\272\272\273\273\274\274\275\275\276\276\277\277\300\300\301\301\
-302\302\3
-03\303\304\304\305\305\306\306\307\307\310\310\311\311\312\312\313\313\314\3
-14\315\31
-5\316\316\317\317\320\320\321\321\322\322\323\323\324\324\325\325\326\326\32
-7\327\330
-\330\331\331\332\332\333\333\334\334\335\335\336\336\337\337\340\340\341\341
-\342\342\
-343\343\344\344\345\345\346\346\347\347\350\350\351\351\352\352\353\353\354\
-354\355\3
-55\356\356\357\357\360\360\361\361\362\362\363\363\364\364\365\365\366\366\3
-67\367\37
-0\370\371\371\372\372\373\373\374\374\375\375\376\376\377) /Order 1 /Size
-[256] >> /S
-hadingType 2 >>
-
-The file was sent into Adobe Distiller 6.0. Inside the resulting
-PDF file there is a very different shading dictionary: Specifically:
-
-/sh: << /ColorSpace [/Separation /MEZZO__1 /DeviceCMYK -array-] /Coords [0 0
-0 1] /Function << /Decode [0 1] /FilePosition 460412 /Range [0 1] /Filter
-/FlateDecode /BitsPerSample 8 /Encode [0 255] /Length 255 /FunctionType 0
-/File -file- /Domain [0 1] /DataSource
-(\200\200\200\201\201\202\202\203\203\204\204\205\205\206\206\207\207\210\21
-0\211\211\212\212\213\213\214\214\215\215\216\216\217\217\220\220\221\221\22
-2\222\223\223\224\224\225\225\226\226\227\227\230\230\231\231\232\232\233\23
-3\234\234\235\235\236\236\237\237\240\240\241\241\242\242\243\243\244\244\24
-5\245\246\246\247\247\250\250\251\251\252\252\253\253\254\254\255\255\256\25
-6\257\257\260\260\261\261\262\262\263\263\264\264\265\265\266\266\267\267\27
-0\270\271\271\272\272\273\273\274\274\275\275\276\276\277\277\300\300\301\30
-1\302\302\303\303\304\304\305\305\306\306\307\307\310\310\311\311\312\312\31
-3\313\314\314\315\315\316\316\317\317\320\320\321\321\322\322\323\323\324\32
-4\325\325\326\326\327\327\330\330\331\331\332\332\333\333\334\334\335\335\33
-6\336\337\337\340\340\341\341\342\342\343\343\344\344\345\345\346\346\347\34
-7\350\350\351\351\352\352\353\353\354\354\355\355\356\356\357\357\360\360\36
-1\361\362\362\363\363\364\364\365\365\366\366\367\367\370\370\371\371\372\37
-2\373\373\374\374\375\375\376\376\377) /Size [256] >> /ShadingType 2 >>
-
-This dictionary has a Separation color space. The given function
-is a reasonable function to use with the Separation color space.
-As Ray mentioned, it is not correct for a DeviceCMYK color space.
-
-The file is generating a different dictionary for the two interpreters.
-In the case of Ghostscript, the dictionary is invalid,
-
-Backtracking through the various procsets inside of the given file
-shows that is a mess of function definitions, followed by replacement
-of the functions with new definitions. Some of it may be Quarks.
-Some of it is labeled:
-
-%%BeginResource: file Jaws_custom_colour_blend_level3_emulation 2.1 0
-
-The results of the search are:
-
-1. Ghostscript does not define 'setcustomcolor' but Adobe Distiller
-6.0 does define it.
-
-2. The procsets in the file do provide a definition for
-setcustomcolor. Actually the file provides about 16 versions of
-setcustomcolor. However the versions provided in the file do
-not work.
-
-The PLRM does not mention setcustomcolor. However it is
-described in Adobe's "Technical Note #5044 Color Separation
-Conventions for PostScript Language Programs". TN 5044 says:
-
-"The following "operators" are not defined in the PostScript
-Language Reference Manual, but should be used as pseudo-operators
-in your PostScript language output. Separation applications from
-Adobe Systems and other vendors will redefine these convention
-operators to separate your documents. Your application should
-conditionally define procedures with these special names, as shown
-later in this document."
-
-The fix to the problem is to provide the functions:
-findcmykcustomcolor and setcustomcolor. These are placed at the
-end of the lib/gs_lev2.ps. They are placed there because the
-implementation requires Separation color spaces which is a level
-2 feature.</pre>
-<p>[lib/gs_lev2.ps 1.31]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-23_1230"></a>
-2004-03-23 12:30 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : GenericResourceDir was not listed in PermitFileReading.
-
-DETAILS :
-
-Problems happened when gs/lib is specified with -I, and gs/Resource is not.
-Bug 687381 "pdfwrite can't start with -dSAFER -Id:/path/lib".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[lib/gs_init.ps 1.106]</p>
+Detect the version of Microsoft Visual C++ from the version of nmake.</pre>
+<p>[doc/Make.htm 1.78, src/msvc32.mak 1.61]</p>
</blockquote>
-<p><strong><a name="2004-03-23_0659"></a>
-2004-03-23 06:59 Ralph Giles</strong></p>
+<p><strong><a name="2004-08-13_0016"></a>
+2004-08-13 00:16 Russell Lang</strong></p>
<blockquote>
<pre>
-Correct a number of warnings.
+Add support for compiling with the beta of Microsoft Visual
+Studio 2005, also known as MSVC 8.
DETAILS:
-
-Apply const appropriately so gcc doesn't warn about assignment of string
-literals.
-
-Remove an inappropriate const in a function argument.
-
-ifdef out the debug printout function since it's not called without
-JPX_DEBUG.</pre>
-<p>[src/sjpx.c 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-22_0123"></a>
-2004-03-22 01:23 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-SunOS 5.9 does not properly replace files with ln -sf. Unlink the
-existing files instead. Closes bug 687378.</pre>
-<p>[autogen.sh 1.4]</p>
+Add new MSVC_MINOR_VERSION=1 to distinguish Microsoft Visual
+Studio .NET 2003 (MSVC 7.1) from Microsoft Visual Studio .NET
+(MSVC 7.0)
+Add new MSVC_VERSION=8 for Microsoft Visual Studio 2005
+Ignore deprecated warnings from MSVC 8 with /wd4996, because
+insecure CRTL functions like strcpy and sprintf are now
+marked as deprecated.
+Remove /Ze which is always the default and is unknown to MSVC 8.
+Replace /O with /O2. The former is not documented for MSVC 5 - 8
+and is unknown to MSVC 8.
+Remove /Gs and /Ge for MSVC 8. Stack checking is now always done.</pre>
+<p>[doc/Make.htm 1.77, src/msvc32.mak 1.60, src/msvccmd.mak 1.20]</p>
</blockquote>
-<p><strong><a name="2004-03-21_2235"></a>
-2004-03-21 22:35 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-11_1433"></a>
+2004-08-11 14:33 stefan</strong></p>
<blockquote>
<pre>
-Fix for a long standing problem that could cause characters to be dropped
-when reading a file with the 'read' operator. Bug #687374 for customer #310.
-
-DETAILS:
-
-This was caused by the zread function reading the character (sgetc)
-prior to invoking the 'push' macro which could return with
-e_stackoverflow (discarding the character). The stackoverflow can
-happen more frequently than at MaxOpStack level since the stack
-is allocated as blocks, using the e_stackoverflow to signal the
-need to add more stack blocks, then retrying the operation.
-Fix for characters dropped from a file when using the 'read' operator.
-Bug #687374 for customer #310.
+Added memory pointers to gsmalloc use by jpg2000 interface.
DETAILS:
-This was caused by the zread function reading the character (sgetc)
-prior to invoking the 'push' macro which could return with
-e_stackoverflow (discarding the character). The stackoverflow can
-happen more frequently than at MaxOpStack level since the stack
-is allocated as blocks, using the e_stackoverflow to signal the
-need to add more stack blocks, then retrying the operation.</pre>
-<p>[src/zfileio.c 1.16]</p>
+Added jpx_memory to the stream state since the memory pointer
+in a normal stream object in often NULL indicating a stack object.</pre>
+<p>[src/sjpx.c 1.10, src/sjpx.h 1.3, src/zfjpx.c 1.2]</p>
</blockquote>
-<p><strong><a name="2004-03-19_1008"></a>
-2004-03-19 10:08 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-11_1336"></a>
+2004-08-11 13:36 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (TT interpreter) : Subglyphs could be placed to wrong coordinates.
-
-DETAILS :
-
-1. When a subglyph position is specified with a reference to an outline point,
-the index of the point was interpreted wrongly and could use an
-undefined data with an indeterministic result.
-
-Bug 687366 "Font missing umlaut".
-
-2. Shifting a subglyph, matrices like [xx 0 0 1 0 0] were misinterpreted as identity.
-
-EXPECTED DIFFERENCES :
-
-Testform.v1.0.2.pdf - a progression with umlaut over 'u' in the word
-"Drummer".</pre>
-<p>[src/ttfmain.c 1.27]</p>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximag3x.c 1.18]</p>
</blockquote>
-<p><strong><a name="2004-03-19_0952"></a>
-2004-03-19 09:52 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-11_1333"></a>
+2004-08-11 13:33 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Zero text length caused an access to an uninitialized data.
-
-DETAILS :
-
-Detected by Dan with MSVC .NET 2003.
-Rather the result did not depend on the data,
-the access could cause a floating point interrupt.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdte.c 1.55]</p>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximage3.c 1.14]</p>
</blockquote>
-<p><strong><a name="2004-03-19_0830"></a>
-2004-03-19 08:30 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-11_1258"></a>
+2004-08-11 12:58 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix to implement PDF specification for '/' as a valid name as opposed to
-the PS token scanning. Previously //name would be incorrectly scanned as
-an immediately evaluated name rather than two names '/' and '/name' which
-is correct. Fixes Bug #687277 for customer #440.
+Fix bug 687038 that resulted in a crash if the initial device was not
+pdfwrite.
DETAILS:
-Care is taken to reset the scanner behaviour after a PDF file is finished
-and also after an invalid number is scanned. Note that to reset the flag,
-the parameter must be set to 'null', not 'false' due to the implementation
-in the ztoken.c. Caveat impelementor.
-
-Previously the PDFScanRules was set when an invalid number was found and
-was never reset, so this may result is *LOTS* of pdfformaterror messages
-for files that have lots of invalid format numbers, but that's what they
-get. If this is ever a problem, reseting the PDFScanInvNum can be moved
-to pdf_main.ps where PDFScanRules is set to null.
-
-No expected differences.</pre>
-<p>[lib/pdf_base.ps 1.42, lib/pdf_main.ps 1.85, src/iscan.c 1.17, src/iscan.h 1.9, src/iscannum.c 1.8, src/ztoken.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-19_0537"></a>
-2004-03-19 05:37 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Rename the DEBUG_JPX symbol to JPX_DEBUG to match the others we've
-defined for the JPXDecode source.</pre>
-<p>[src/sjpx.c 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-19_0536"></a>
-2004-03-19 05:36 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct our YCrCb to RGB conversion code. Subtract the proper bias to
-center the chromaticity channels around zero if they are returned
-unsigned. Move the clamp routines to after the conversion to RGB where
-it does some good. Thanks to Raph Levien for his help with this code.
-
-We now use our conversion code by default, since there are some problems
-with the jasper library's conversion on big-endian platforms. The jasper
-conversion can be reenabled by defining JPX_USE_JASPER_CM in the
-preprocessor.</pre>
-<p>[src/sjpx.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-18_1756"></a>
-2004-03-18 17:56 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix name of file in raster directory so that update_pdfbaseline will be
-run when needed (when new files are added).</pre>
-<p>[toolbin/tests/gscheck_pdfwrite.py 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-18_1659"></a>
-2004-03-18 16:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 43.
-
-DETAILS :
+This was almost fixed by recent changes to gs_pdfwr.ps and
+gs_setpd.ps for bugs 687325, 687436 and 687458.
-1. An optimization :
-
-If an area has a monotonic color,
-each subarea has a monotonic color as well,
-so the color monotonity doesn't need to recompute.
-Doing so because the color monotonity function is not fast
-when appied to a ShadingType 1 with a bicubic color interpolation.
-
-2. Bug: is_color_monotonic returned 'true' when the intrval
-has zero width by the 1st coordinate.
-This is wrong for with ShadingType 1, which uses a 2-argument function.
-( The check was a rudiment from a 1 month old implementation of fn_Sd_is_monotonic,
- which returned 'false' when the low boundary is at the end of some cell,
- and the upper boundary is at the beginning of the next cell.
- Actually this case is a zero width interval and the function must return true.
-)
-
-EXPECTED DIFFERENCES :
+Unfourtunately, the initialization of parameters only occurred
+if the initial device was pdfwrite. A second patch removing
+the initial device constraint on the '1010' .schedule_init
+process was committed and fixes the problem.
-A minor difference in colors :
+Note that there was a work-around that if -dPDFSETTINGS=... was
+given on the command line, it also worked.
-442-01.ps
-464-01.ps
-Clarke Tate Manns Chinese.ai
-STEUER-RollingMesh 1(linear).ai</pre>
-<p>[src/gxshade4.h 1.22, src/gxshade6.c 1.48]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-18_1233"></a>
-2004-03-18 12:33 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing is_monotonic for cubic interpolation functions.
-
-DETAILS :
-
-The old code ignores extremes of a cubic interpolation function
-(except ones at a cell boundary).
-It could cause a wrong rendering of shadings with replacing a
-randomly big part of the shading near an extremum with a constant color.
-The new code fixes that.
-
-The new code caches the interpolation coefficients.
-This may cause problems if the function data stream is
-modified after the function is build. Likely this must not cause
-problems due to gs/lib caches the stream with ReusableStreamDecode.
-Also we don't know practical cases.
-POLE_CACHE_IGNORE 1 avoids this problem with some slowdown,
-(the slowdown exponentially grows with >=3 arguments,
-but again we don't know practical examples with >=3 arguments).
-
-The configuration flag POLE_CACHE allows to revert to the old code.
-
-Bug 687352 "is_monotonic isn't implemented for 3d order sampled function".
-
-EXPECTED DIFFERENCES :
-
-464-01.ps - A minor difference in color.</pre>
-<p>[src/gsfunc0.c 1.18, src/gsfunc0.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-17_2306"></a>
-2004-03-17 23:06 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Clamp and origin shift the chromaticity values in our JPXDecode filter's
-YUV to RGB conversion code. This still does not produce correct output
-with libjasper's output, but is an improvement. This change affects
-disabled code only.</pre>
-<p>[src/sjpx.c 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_1139"></a>
-2004-03-16 11:39 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A floating point interrupt.
-
-DETAILS :
-
-MSVC7 applies a floating point (FP) operations to copy FP data.
-This may cause interrupts if the data is not initialized and represent an invalid FP number.
-
-gdev_vector_dopath_segment passed an unitialized data as an argument.
-Rather the callee never use them, an interrupt happens while building the argument list.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevvec.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_0300"></a>
-2004-03-16 03:00 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Use the jasper library's internal color conversion function to convert
-non-rgb multicomponent images to sRGB.
-
-DETAILS:
-
-As of jasper 1.701.0 this function does not work correctly on powerpc.
-However, it's better than our own routine, which I've had trouble
-getting working with the Y(')CbCr samples returned from the library.</pre>
-<p>[src/sjpx.c 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_0216"></a>
-2004-03-16 02:16 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687337 Zerodivide in cie_cache_mult. Note: There
-was a typo in the previous fix.
-
-DETAILS:
-
-The direct cause of the problem, and also the reason that we
-have not seen this problem in real world files is that the
-050-01.ps test file contains the following color rendering
-dictionary.
-
-/RenderDict2
-12 dict begin
- /BlackPoint [ 0 0 0 ] def
- /ColorRenderingType 1 def
- /EncodeABC [ {} {} {} ] def
- /EncodeLMN [ {} {} {} ] def
- /MatrixABC [ 0 0 0 0 0 0 0 0 0 ] def
- /MatrixLMN [ 0 0 0 0 0 0 0 0 0 ] def
- /RangeABC [ 0 1 0 1 0 1 ] def
- /RangeLMN [ 0 1 0 1 0 1 ] def
- /RangePQR [ 0 1 0 1 0 1 ] def
- /TransformPQR [ {} {} {} ] def
- /WhitePoint [ 1 1 1 ] def
-
-Note: The matrices full of zeroes do not represent real
-world data. The zero matrices will result in all output
-component values being zero no matter what the inputs.
-
-Using this data, Ghostscript uses the given ranges and
-matrices to calculate values for DomainABC and DomainLMN.
-The results are [0, 0] for each domain. The domain values
-are later used to calculate a scaling factors which is
-also 0. Calculations, which use one of these values as
-a divisor, then generate a divide by zero exception.
-
-One option to fix this problem would be to check for zero
-before doing any calculations with the scaling factors.
-However another and simpler option is to check for the zero
-factors when they are crated and set the value to a value
-which will not cause the divide problem. Note: Even though
-we are using a dummy factor (1.0), the zero matrices still
-result in zero output values from the calculations.</pre>
-<p>[src/gscie.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_0207"></a>
-2004-03-16 02:07 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687337 Zerodivide in cie_cache_mult.
-
-DETAILS:
-
-The direct cause of the problem, and also the reason that we
-have not seen this problem in real world files is that the
-050-01.ps test file contains the following color rendering
-dictionary.
-
-/RenderDict2
-12 dict begin
- /BlackPoint [ 0 0 0 ] def
- /ColorRenderingType 1 def
- /EncodeABC [ {} {} {} ] def
- /EncodeLMN [ {} {} {} ] def
- /MatrixABC [ 0 0 0 0 0 0 0 0 0 ] def
- /MatrixLMN [ 0 0 0 0 0 0 0 0 0 ] def
- /RangeABC [ 0 1 0 1 0 1 ] def
- /RangeLMN [ 0 1 0 1 0 1 ] def
- /RangePQR [ 0 1 0 1 0 1 ] def
- /TransformPQR [ {} {} {} ] def
- /WhitePoint [ 1 1 1 ] def
-
-Note: The matrices full of zeroes do not represent real
-world data. The zero matrices will result in all output
-component values being zero no matter what the inputs.
-
-Using this data, Ghostscript uses the given ranges and
-matrices to calculate values for DomainABC and DomainLMN.
-The results are [0, 0] for each domain. The domain values
-are later used to calculate a scaling factors which is
-also 0. Calculations, which use one of these values as
-a divisor, then generate a divide by zero exception.
-
-One option to fix this problem would be to check for zero
-before doing any calculations with the scaling factors.
-However another and simpler option is to check for the zero
-factors when they are crated and set the value to a value
-which will not cause the divide problem. Note: Even though
-we are using a dummy factor (1.0), the zero matrices still
-result in zero output values from the calculations.</pre>
-<p>[src/gscie.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-16_0125"></a>
-2004-03-16 01:25 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687349 A wrong comment for gx_device_color_s. This change
-modifies the comment on ccolor and the related variable ccolor_valid.</pre>
-<p>[src/gsdcolor.h 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-15_2047"></a>
-2004-03-15 20:47 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correctly calculate row offsets for copying JPXDecode filter results so
-multi-component images are indexed correctly. Also split the jpxd
-process code into several helper functions for readability.
-
-Support subsampled YUV images properly. Subsampled pixels are
-replicated, not interpolated. Colorspace conversion from YCrCb to RGB is
-still incorrect.</pre>
-<p>[src/sjpx.c 1.3, src/sjpx.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-15_0954"></a>
-2004-03-15 09:54 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-MSVC compiler: allowing Precompiled Headers, Incremental Compilation, Edit & Continue.
-
-DETAILS :
-
-These options are applied to debug build only.
-They dramatically improve the development technology.
-
-Automated Precompiled Header speeds up the compilation slightly.
-For best results should reorganize gs header files.
-
-Incremental Compilation speeds up the rebuilding after editing source code.
-
-Edit&Continue is a powerful tool for debugging. Together with incremental compilation
-it allows to regenerate the object code during a debug session,
-and continue the debugging with the new code without restarting the program.
-Press F10 after you changes source code and enjoy.
-F7 resets the session - forget it.
-Another related tool is the "Set instruction pointer" debugger command,
-which is available only from Tools/Customize/Commands/Debug.
-It looks as an yellow arrow with a blue thin curved arrow.
-Move it to your toolbar and enjoy.
-
-Also enabled the incremental linking.
-
-YOU NEED TO REBUILD ALL AT ONCE to activate these tools.
-
-Tested with MSVC 6, should also work wirth MSVC 7.
-Had no chance to test MSVC 5. A help wanted.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/msvccmd.mak 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-14_2210"></a>
-2004-03-14 22:10 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : A Cygwin/gcc warning.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/zpcolor.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-14_2202"></a>
-2004-03-14 22:02 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : CIDMap was wrongly created from CIDToGIDMap.
-
-DETAILS :
-
-CIDMap size was equal to CIDCount, which gs_ttf.ps sets to the number of glyphs.
-With a non-Identity CIDToGIDMap it appears wrong,
-causing some valid CIDs to be out of range and to print as a notdef character.
-
-Bug 687351 "Embedded TTF font in PDF incorrectly displayed.".
-
-EXPECTED DIFFERENCES :
-
-Bug687351.pdf</pre>
-<p>[lib/gs_ttf.ps 1.37, lib/pdf_font.ps 1.62]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-14_2201"></a>
-2004-03-14 22:01 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Crash after adding a glyph over a preallocated limit of a CIDFontType 2.
-
-DETAILS :
-
-Working on bug 687351 with CAIB_highres_page4.pdf, we detected a set of old bugs.
-They caused a heap corruption and crash.
-To reproduce the crash apply the patch of the bug 687351 to lib/pdf_font.ps
-(that patch will be committed AFTER this one).
-
-1. pdf_resize_resource_arrays was called with a wrong array size (gdevpdtc.c).
-2. pdf_resize_resource_arrays did not expand CIDToGIDMap (gdevpdtf.c).
-3. gs_type42_glyph_info accepted a wrong type of the return value of get_glyph_index.
-4. Copying a CIDFontType 2, CIDCount was wrong (gxfcopy.c).
-5. pdf_obtain_cidfont_resource wrongly processed the case of shared font descendents :
- font compatibility was not checked, rather they may have different Metrics,
- Metrics2, CDevProc, CIDMap (gdevpdtt.c).
-6. Implemented a dynamic expansion of CIDMap for copied fonts.
-7. In font copies CIDMap used the code 0xFFFF for representing unmapped glyphs.
-8. Inserted the comment into gdevpdtf.c :
- /* fixme : Likely pdfont->u.cidfont.CIDToGIDMap duplicates
- pdfont->FontDescriptor->base_font->copied->client_data->CIDMap.
- Only difference is 0xFFFF designates unmapped CIDs.
- */
-9. same_cid0_hinting must not check FDBytes (gxfcopy.c).
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdtc.c 1.35, src/gdevpdtf.c 1.35, src/gdevpdtt.c 1.77, src/gstype42.c 1.44, src/gxfcopy.c 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-14_1126"></a>
-2004-03-14 11:26 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : XObject's resources were placed wrongly.
-
-DETAILS :
-
-Bug 687350 "Wrong placement for Form XObjects' resources"
-
-For Form XObjects created using /BP pdfmarks, the resources dictionary entries
-are placed into the dict part of the XObject itself, instead of being placed
-into a dictionary referenced by the /Resources key.
-
-Patch from SaGS (See the bug report).
-Thanks to SaGS (Sorry, never got his/her name.).
-
-EXPECTED DIFFERENCES :
-
-Bug687350.ps</pre>
-<p>[src/gdevpdfm.c 1.36]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-13_2231"></a>
-2004-03-13 22:31 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add support for 16 bit deep images that is part of PDF 1.5.
-
-Expected Differences:
-
-None.</pre>
-<p>[src/gxi16bit.c 1.1, src/gximage.h 1.7, src/gxino16b.c 1.1, src/gxipixel.c 1.10, src/int.mak 1.125, src/lib.mak 1.175, src/spdiff.c 1.6, src/spdiffx.h 1.5, src/zfdecode.c 1.6, src/zimage.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-13_1828"></a>
-2004-03-13 18:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing current point with double precision.
-
-DETAILS :
-
-The old code stores the current point in pgs->ppath->position
-with the 'fixed' representation in the device space coordinates.
-This appears insufficiently precise if a document constructs a path
-with multiple 'rlineto' or 'rcurveto'. A significant to error accumulation happens.
-
-We implement the current point with 'double', duplicating pgs->ppath->position
-with the new field gs_imager_state::current_point.
-We can't replace pgs->ppath->position with the new one due to several reasons :
-
-- Sometimes (in the text processing, in arc processing and in reversepath)
- a new current point is computed when imager state is not accessible.
-- Don't want to spend processor time for conversion double to fixed,
- whenever a fixed is needed.
-- Don't want to modify many of low level modules;
-
-Text operation always round the current point to 'fixed'.
-Note that the convertion from fixed to double is always precise,
-therefore we widely use it with text operations.
-
-Thus this improves the precision of moveto, lineto, curveto,
-rmoveto, rlineto, rcurveto, but the precision of other operators
-left as it was. Likely there is no strong need to improve text operations
-due to pixel rounding, but it would be useful to improve arc, arcn, arct, arcto.
-However an improvement of arc operations isn't a high priority,
-and after this patch becomes a local change.
-
-We removed ppath->outside_position, because
-pgs->current_point now effectively handles this feature.
-Due to that the rounded pgs->current_point may be unequal to pgs->ppath->position
-when the current point is outside the range.
-
-The configuration flag PRECISE_CURRENTPOINT defined in gxstate.h
-helps to debug the new code with raster comparizon with the old code.
-PRECISE_CURRENTPOINT 0 works same as the old code except the
-coordinate clamping. Therefore once tested with the comparison,
-the further validation reduced to a validation of the code
-swtched by the flag - this part pof code is pretty small.
-
-The mode (PRECISE_CURRENTPOINT 0) **MUST**NOT** go to production
-due to the dropped clamping. PRECISE_CURRENTPOINT 1 handles the clamping.
-
-Bug 687359 "Current point is inprecise".
-
-EXPECTED DIFFERENCES :
-
-Almost all comparefiles render differently.</pre>
-<p>[src/gdevpdtc.c 1.34, src/gdevpdte.c 1.54, src/gdevpdtt.h 1.22, src/gscoord.c 1.9, src/gspaint.c 1.9, src/gspath.c 1.9, src/gspath.h 1.6, src/gspath1.c 1.8, src/gstype1.c 1.31, src/gstype2.c 1.35, src/gstype42.c 1.43, src/gxchar.c 1.40, src/gxistate.h 1.21, src/gxmatrix.h 1.8, src/gxpath.c 1.10, src/gxpath.h 1.13, src/gxstate.h 1.10, src/gzpath.h 1.37, src/gzstate.h 1.10, src/lib.mak 1.174, src/zupath.c 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-13_0033"></a>
-2004-03-13 00:33 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (TT grid fitting) : Hints could be lost.
-
-DETAILS :
-
-When passing hints from the stem recognizer to the hinter,
-glyph origin was not properly initialized, causing an occasional shift of hints.
-This bug appeared with gxttfb.c revision 1.32.
-
-EXPECTED DIFFERENCES :
-
-72dpi:
-01_001.pdf
-159.pdf
-adesso2.pdf
-adesso7.pdf
-adesso8.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-budget2.pdf
-budget2_ai87.pdf
-bugsample.pdf
-CAIB_highres_page4.pdf
-Faktura.pdf
-fonts.pdf
-ICPconcept.pdf
-japan.ps
-keyboard.pdf
-korea.ps
-MagicEye.pdf
-S2_Digitalproof-Forum_x3k.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-Type11CDevProc.ps
-type42_glyph_index.ps
-fonts.pdf
-01_001.pdf
-159.pdf
-adesso2.pdf
-adesso7.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-budget2.pdf
-bugsample.pdf
-CAIB_highres_page4.pdf
-Faktura.pdf
-japan.ps
-
-300dpi:
-01_001.pdf
-159.pdf
-adesso2.pdf
-adesso7.pdf
-adesso8.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-budget2.pdf
-budget2_ai87.pdf
-bugsample.pdf
-CAIB_highres_page4.pdf
-Faktura.pdf
-fonts.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan-.ps
-japan.ps
-01_001.pdf
-keyboard.pdf
-korea.ps
-MagicEye.pdf
-S2_Digitalproof-Forum_x3k.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-Type11CDevProc.ps
-type42_glyph_index.ps</pre>
-<p>[src/gxttfb.c 1.33]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-12_0653"></a>
-2004-03-12 06:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Fall back to the default implementation when the output document can't handle current color.
-
-DETAILS :
-
-This case is important when the output PDF uses a low PDF level.
-Particularly if the source file is a PDF 1.4 with a transparency,
-and the output is PDF 1.3, which can't represent a transparency.
-
-Bug 687338 "/rangecheck in --fill--".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfd.c 1.38, src/gdevpdtt.c 1.76]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-12_0158"></a>
-2004-03-12 01:58 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687349 A wrong comment for gx_device_color_s. This change
-modifies the comment on ccolor and the related variable ccolor_valid.</pre>
-<p>[src/gsdcolor.h 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-12_0155"></a>
-2004-03-12 01:55 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Log message:
-
-Implement 687347: Implementation of the PDF encryption feature:
-EncryptMetadata. Past versions of the PDF encryption have always
-encrypted metadata. With this feature it is possible to NOT encrypt
-metadata streams. I.e. By adding '/EncryptMetadata false' to the
-encryption dictionary.
-
-DETAILS:
-
-There are two pieces to the implementation:
-
-1. The calculation of the user password key includes an additional
-step of feeding 0xffffffff to the md5 input if EncryptMetadata is
-false. (Ask Adobe, not me.) The PDF 1.5 spec. says that
-EncryptMetadata is an undocumented feature of PDF 1.4. This
-implies that this action needs to be done for values of R in the
-Encrypt dictionary of 3 or higher. However testing with Acrobat
-5.0 and Acrobat 6.0 shows that this is not done for R = 3. Thus
-we check for R >= 4.
-
-2. Testing with Acrobat 5.0 and 6.0 has verified that the encryption
-of metadata streams is controlled by EncryptMetadata in both versions.
-Thus we check for PDF 1.4 and higher (R >= 3) and if so then we check
-the stream type and the EncryptMetadata flag to determine if a stream
-needs to be decrypted.</pre>
-<p>[lib/pdf_sec.ps 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-11_1458"></a>
-2004-03-11 14:58 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Some Cygwin/gcc warnings.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/devs.mak 1.109, src/gdevpdfi.c 1.52]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-11_1450"></a>
-2004-03-11 14:50 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Some Sun ONE Studio 7 compiler warnings (Solaris 8).
-
-DETAILS :
-
-Bug 687355 "warnings on Solaris (ghostscript-8.14)".
-
-This fixes all warnings which I understande, except
-"implicit function declaration", which probably require
-a Solaris-dependent fix to "memory_.h".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevdevn.c 1.14, src/gdevijs.c 1.8, src/gdevnfwd.c 1.15, src/gdevpdfx.h 1.87, src/gdevpng.c 1.9, src/gdevpsd.c 1.7, src/gdevpsdu.c 1.21, src/gdevpsu.c 1.17, src/gdevxcf.c 1.6, src/gscpixel.c 1.10, src/gsdfilt.c 1.9, src/gximag3x.c 1.15, src/szlibd.c 1.7, src/ttfmain.c 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-11_0701"></a>
-2004-03-11 07:01 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Changing the default value of AlignToPixels to 0.
-THIS IS INCOMPATIBLE CHANGE.
-
-DETAILS :
-
-AlignToPixels=0 produces a better results with antialiased text.
-This is especially important after the True Type grid fitting is on.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[doc/Use.htm 1.106, src/gsfont.c 1.32]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-11_0536"></a>
-2004-03-11 05:36 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Some systems require a longer link line with the default static jasper.</pre>
-<p>[toolbin/jpxtopdf.c 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-11_0522"></a>
-2004-03-11 05:22 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a simple C program that uses the jasper library to parse JPX (jpeg2k) image files and embed
-them in a PDF 1.5 document. Useful for testing as there are few producers available at the moment.
-
-DETAILS:
-
-We make no attempt to parse the required metadata (resolution and so on) ourselves. It would be
-simple to add this so that the program can stand alone. On the other hand, jasper is capable of
-opening a number of other image formats and encoding them to jpx streams. We don't do that either,
-but it would also be easy to add support for so that JPXDecode versions of arbitrary images could
-be embedded.
-
-Because of this, it's possible to embed e.g. baseline jpeg data instead of a jpx stream if you
-feed the program the wrong file. Caveat executor.
-
-Based on the jpegtopdf program by Tor Andersson.</pre>
-<p>[toolbin/jpxtopdf.c 1.1]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-10_1906"></a>
-2004-03-10 19:06 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Revert documentation change. Apparenlty the problem was that the user
-specified an ICC colorspace and it does have an effect with pswrite if
-one uses the usual RGB, etc. colorspaces. Bug 687357.</pre>
-<p>[doc/Use.htm 1.105]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-10_1901"></a>
-2004-03-10 19:01 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Clarify that -dNOSUBSTDEVICECOLORS has no effect on the pswrite device.
-Bug 687357.</pre>
-<p>[doc/Use.htm 1.104]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-10_0549"></a>
-2004-03-10 05:49 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct yet another typo that was preventing the regression from
-running.</pre>
-<p>[toolbin/tests/run_nightly 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-10_0452"></a>
-2004-03-10 04:52 Raph Levien</strong></p>
-<blockquote>
-<pre>
-Fix problem with dci.max_components introduced with DeviceN changes.
-Closes bug #677383.</pre>
-<p>[src/gdevijs.c 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_2131"></a>
-2004-03-09 21:31 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Check for jpeg, zlib, and libpng headers as well as libraries before
-using the shared versions. Bug 687261.</pre>
-<p>[src/configure.ac 1.43]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_1330"></a>
-2004-03-09 13:30 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : Wrong metrics when 2 font resources for same embeded font.
-
-DETAILS :
-
-Bug 687308 "Text in PDF Form field renders incorrectly".
-
-The document contains 2 font resources for same embedded font.
-PDF interpreter first creates a copy of the font, replacing the metrics with Widths.
-Then it creates another copy of the with no replaced metrics. But
-it used the first copy (through findfont) instead the original font,
-and the Metrics in the second copy appears wrong.
-
-This patch applies pdfcachefont for embedded fonts,
-to allow retrieving original fonts for subsequeent font resources.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[lib/pdf_font.ps 1.61]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_1038"></a>
-2004-03-09 10:38 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Annotations encrypted with a wrong object id.
-
-DETAILS :
-
-Bug 687333 "pdfwrite: A wrong encryption of bookmarks".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfm.c 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_0931"></a>
-2004-03-09 09:31 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (Type 2 charstrings) : More tolerance and conformity.
-
-DETAILS :
-
-1. Some Type 2 charstrings omit the vstemhm operator before rmoveto,
- even though this is only allowed before hintmask and cntrmask.
- Bug 687311 "could make more sense of invalid stem hints".
-
-2. Subglyph offset was not crrect.
-
-3. Removing an outdated comment.
-
-Thanks to Felix Pahl for these improvements.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gstype2.c 1.34]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-09_0542"></a>
-2004-03-09 05:42 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Remove some extra carriage returns (^M) at the ends of lines. These
-keep sneaking into the sources. Presumably the cause has to do with
-copying files from unix to windows or vice versa.</pre>
-<p>[lib/pdf_base.ps 1.41]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-08_1645"></a>
-2004-03-08 16:45 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo in the whitelist keyword changes.</pre>
-<p>[toolbin/tests/run_nightly 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-07_1226"></a>
-2004-03-07 12:26 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 3).
-
-DETAILS :
-
-Remove unused variables.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gsfunc3.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-07_1206"></a>
-2004-03-07 12:06 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 2).
-
-DETAILS :
-
-1. Remove gs_function_effort_t because it is not longer useful.
-2. Update the documentation in comments.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gsfunc.c 1.10, src/gsfunc.h 1.11, src/gsfunc0.c 1.17, src/gsfunc3.c 1.20, src/gsfunc4.c 1.15, src/gxfunc.h 1.9, src/gxshade1.c 1.26, src/gxshade6.c 1.47]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-07_1204"></a>
-2004-03-07 12:04 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result (continued).
-
-DETAILS :
-
-Bug 687328 fn_is_monotonic_proc_t slows down ShadingType 1 in 3 times
-
-Actually the result appears used while checking the monotonity of
-a stiching function. But we believe that it doesn't worth
-the processor time expence. I simpler way is to
-consider the stitches as a monotonity breaks.
-
-EXPECTED DIFFERENCES :
-
-None</pre>
-<p>[src/gsfunc3.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-07_0002"></a>
-2004-03-07 00:02 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (dropout prevention) : extra pixels at small serifs.
-
-DETAILS :
-
-It appears a long standing bug. It caused a section was not cleaned before reusage.
-The reason was an interval to clean was added to the list of a another margin_set.
-This bug frequently caused a missed serif suppression (i.e. extra pixels at small serifs).
-
-EXPECTED DIFFERENCES :
-
-A massive rendering difference at small resolutions :
-
-72dpi :
-
-"000040cf.000_60.pdf"
-"001-01.ps"
-"001-13.ps"
-"001-25.ps"
-"002-09.ps"
-"002-21.ps"
-"002-33.ps"
-"003-01.ps"
-"012-01.ps"
-"012-05.ps"
-"013-01.ps"
-"013-05.ps"
-"014-01.ps"
-"014-05.ps"
-"015-01.ps"
-"015-05.ps"
-"018-01.ps"
-"01_001.pdf"
-"021-01.ps"
-"023-01.ps"
-"027-01.ps"
-"027-05.ps"
-"027-09.ps"
-"032-01.ps"
-"033-01.ps"
-"034-01.ps"
-"036-01.ps"
-"040-01.ps"
-"045-01.ps"
-"046-01.ps"
-"050-01.ps"
-"055-01.ps"
-"061-01.ps"
-"070-01.ps"
-"076-01.ps"
-"083-01.ps"
-"083-05.ps"
-"084-01.ps"
-"091-01.ps"
-"093-01.ps"
-"094-01.ps"
-"096-01.ps"
-"103-01.ps"
-"104-01.ps"
-"109-01.ps"
-"110-01.ps"
-"113-01.ps"
-"118-01.ps"
-"119-01.ps"
-"119-10.ps"
-"119-16.ps"
-"119-47.ps"
-"120-01.ps"
-"123-01.ps"
-"123-05.ps"
-"124-01.ps"
-"129-01.ps"
-"141-01.ps"
-"148-05.ps"
-"148-11.ps"
-"149-01.ps"
-"154-01.ps"
-"158-01.ps"
-"159.pdf"
-"162-01.ps"
-"166-01.ps"
-"169-01.ps"
-"169-05.ps"
-"170-01.ps"
-"176-01.ps"
-"177-01.ps"
-"181-01.ps"
-"184-01.ps"
-"192-01.ps"
-"200-01.ps"
-"205-01.ps"
-"205-05.ps"
-"206-01.ps"
-"212-01.ps"
-"213-01.ps"
-"214-01.ps"
-"215-01.ps"
-"219-01.ps"
-"220-01.ps"
-"220-07.ps"
-"222-01.ps"
-"222-05.ps"
-"226-01.ps"
-"227-01.ps"
-"231-01.ps"
-"233-01.ps"
-"244-01.ps"
-"245-01.ps"
-"245-07.ps"
-"245-13.ps"
-"245-17.ps"
-"246-01.ps"
-"250-01.ps"
-"251-01.ps"
-"255-01.ps"
-"257-01.ps"
-"258-01.ps"
-"260-01.ps"
-"263-01.ps"
-"269-01.ps"
-"270-01.ps"
-"272-01.ps"
-"276-01.ps"
-"282-01.ps"
-"297-01.ps"
-"298-01.ps"
-"298-05.ps"
-"299-01.ps"
-"303-01.ps"
-"304-01.ps"
-"307-01.ps"
-"308-04.ps"
-"311-03.ps"
-"313-01.ps"
-"316-07.ps"
-"321-01.ps"
-"321-05.ps"
-"322-01.ps"
-"327-01.ps"
-"328-01.ps"
-"330-01.ps"
-"334-01.ps"
-"335-01.ps"
-"336-01.ps"
-"401-01.ps"
-"405-01.ps"
-"409-01.ps"
-"415-01.ps"
-"421-01.ps"
-"430-01.ps"
-"438-01.ps"
-"450-01.ps"
-"455690.pdf"
-"460-01.ps"
-"463-01.ps"
-"477-01.ps"
-"477-03.ps"
-"477-04.ps"
-"477-05.ps"
-"478-01.ps"
-"483-05-fixed.ps"
-"483-05.ps"
-"86554321.pdf"
-"a.pdf"
-"aaon97_p7.pdf"
-"acrobat.pdf"
-"adesso1.pdf"
-"adesso5.pdf"
-"adesso7.pdf"
-"adesso8.pdf"
-"AdobeLic.pdf"
-"alphabet.ps"
-"besttest.pdf"
-"brochurep1.pdf"
-"bulletin.pdf"
-"CAIB_highres_page4.pdf"
-"chess.ps"
-"CIDembedded.pdf"
-"Faktura.pdf"
-"Fixed_Original.pdf"
-"HeiseiMinStd.pdf"
-"japan.ps"
-"korea.ps"
-"KozukaB-ILEmbed.pdf"
-"loremIpsum.pdf"
-"mbb-with-space.ps"
-"ngnews1.pdf"
-"Original.pdf"
-"pdftops.pdf"
-"prfmm.pdf"
-"prob.pdf"
-"RealCities.pdf"
-"rf1025.pdf"
-"RodinCIDEmbed.pdf"
-"S2_Digitalproof-Forum_x3k.pdf"
-"Svd.pdf"
-"textsavematrix.pdf"
-"tpc2.ps"
-"type1-ce1_setcurrentpoint.ps"
-"type42_glyph_index.ps"
-"waterfal.ps"
-"womanface.pdf"
-
-300 dpi :
-"000040cf.000_60.pdf"
-"001-01.ps"
-"093-01.ps"
-"a.pdf"
-"aaon97_p7.pdf"
-"alphabet.ps"
-"bug-gstest.pdf"
-"chess.ps"
-"Fixed_Original.pdf"
-"fonttest.pdf"
-"HeiseiMinStd.pdf"
-"japan-.ps"
-"japan.ps"
-"KozukaB-ILEmbed.pdf"
-"mbb-with-space.ps"
-"Original.pdf"
-"RodinCIDEmbed.pdf"
-"S2_Digitalproof-Forum_x3k.pdf"
-"tpc2.ps"
-"Type11CDevProc.ps"</pre>
-<p>[src/gxfdrop.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-06_1515"></a>
-2004-03-06 15:15 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Immediately return the success for 0-length read from a string array.
-Don't seek to the offset because it may be invalid in some broken fonts.
-Fix bug 687340</pre>
-<p>[src/zfont42.c 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_2325"></a>
-2004-03-05 23:25 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Cygwin/gcc warnings.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/devs.mak 1.108, src/gdevpdfv.c 1.35, src/gdevpdtt.c 1.75, src/gsfunc0.c 1.16, src/gsfunc3.c 1.18, src/ttfmain.c 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_2226"></a>
-2004-03-05 22:26 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Raster depended on bands, step 4, final.
-
-DETAILS :
-
-This change is algorithmically equivalent.
-
-1. Removed the old code BAND_INDEPENDENT 0.
-2. Simplified fill_slant_adjust with removing low useful variables.
-3. Optimized the gxfilltr.h template with excluding some branches from the scope of le, re.
-4. Renamed function templates with a (new) regular convention.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.117, src/gxfillsl.h 1.4, src/gxfilltr.h 1.6, src/gxfillts.h 1.3]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_1535"></a>
-2004-03-05 15:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Raster depended on bands, step 3.
-
-DETAILS :
-
-Bug 687222 "Raster depends on bands".
-
-Switching to the new code.
-Now trapezoid sides are independent on bands, clipping and scans.
-Any trapesoid side is equal to some flattened piece of an outline segment.
-
-A massive difference happens due to the old code recognized low trapezoids as rectangles.
-The new code does not because it checks the verticality with longer bars.
-
-EXPECTED DIFFERENCES :
-
-Almost all comparefiles render differently.,
-but mist differences are single pixels.
-A dozen of files give dual pixel differences.</pre>
-<p>[src/gxfill.c 1.116]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_1439"></a>
-2004-03-05 14:39 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-correct a typo in the recent comment revision</pre>
-<p>[doc/Make.htm 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_1436"></a>
-2004-03-05 14:36 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-add a missing '.' to a comment</pre>
-<p>[src/msvc32.mak 1.55]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_1416"></a>
-2004-03-05 14:16 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Raster depended on bands, step 2.
-
-DETAILS :
-
-Bug 687222 "Raster depends on bands".
-
-For the enabled code this change is algorithmically equivalent.
-It fixes rectangle coordinates in the disabled code.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfilltr.h 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_1317"></a>
-2004-03-05 13:17 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Raster depended on bands, step 1.
-
-DETAILS :
-
-Bug 687222 "Raster depends on bands".
-This is a continuation for
-http://www.ghostscript.com/pipermail/gs-cvs/2004-January/003986.html
-
-This patch defines a configuration flag BAND_INDEPENDENT.
-The enabled code should be equivalent to the old one.
-The disabled code passes band-independent data for low level functions.
-The disabled code is not debugged yet.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.115, src/gxfilltr.h 1.4, src/gxfillts.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-05_0537"></a>
-2004-03-05 05:37 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove a debug tracing message.</pre>
-<p>[src/sjpx.c 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_2250"></a>
-2004-03-04 22:50 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add support for our whitelist keyword filter to the regression run.</pre>
-<p>[toolbin/tests/run_nightly 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_2234"></a>
-2004-03-04 22:34 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve wording in the MSVC debug flag descriptions.</pre>
-<p>[doc/Make.htm 1.73]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_2228"></a>
-2004-03-04 22:28 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve wording in a comment.</pre>
-<p>[src/msvc32.mak 1.54]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1641"></a>
-2004-03-04 16:41 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : gs_function_is_monotonic computed an unused auxiliary result.
-
-DETAILS :
-
-Bug 687328 fn_is_monotonic_proc_t slows down ShadingType 1 in 3 times
-
-The function fn_is_monotonic_proc_t computes a result consisting of 2 things :
-(1) whether the function is monotonic, (2) if so, whether it is encreesing or
-decreesing. The part (2) consumes a huge time and never used. Intending to
-cancel it. On necessity clients can compute (2) by calling 'evaluate'.
-
-EXPECTED DIFFERENCES :
-
-Clarke Tate Manns Chinese.ai
-STEUER-RollingMesh 1(linear).ai</pre>
-<p>[src/gsfunc.h 1.10, src/gsfunc0.c 1.15, src/gsfunc3.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1627"></a>
-2004-03-04 16:27 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Reject encryption options if no password is specified, improved.
-
-DETAILS :
-
-Bug 687334 "pdfwrite: Encryption with no password".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdf.c 1.92]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1613"></a>
-2004-03-04 16:13 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : "KeyLength" option name was misspelled in the documentation.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[doc/Ps2pdf.htm 1.65]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1613"></a>
-2004-03-04 16:13 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Reject encryption options if no password is specified.
-
-DETAILS :
-
-Bug 687334 "pdfwrite: Encryption with no password".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdf.c 1.91]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1550"></a>
-2004-03-04 15:50 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Floating point aritmetic applied to uninitialized data.
-
-DETAILS :
-
-Rather the result was not used, the oprtation could cause floating point interrupts.
-Debugged with test-setweightvector.ps .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdte.c 1.53, src/gdevpdtt.c 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_1434"></a>
-2004-03-04 14:34 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (TT grid fitting) : The glyph trailing moveto got wrong coordinates.
-
-DETAILS :
-
-Advance width was scaled wrongly.
-
-EXPECTED DIFFERENCES :
-
-japan.ps
-S2_Digitalproof-Forum_x3k.pdf
-Testform.v1.0.2.pdf</pre>
-<p>[src/gxttfb.c 1.32, src/ttfmain.c 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-04_0506"></a>
-2004-03-04 05:06 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Implementation of 687326 Enhancement: Handling of PDF 1.5encryption.
-
-DETAILS:
-
-The PDF 1.5 specification has added several some features for
-encryption of PDF documents.
-
-1. The new encryption changes are indicated by a /R value of
-4 in the Encryption dictionary. Note: The encryption algorithm
-is the same as /R = 3.
-
-2. The encryption handling for strings and streams may now be
-specified independently. Current possibilities are 'Identity'
-and the standard handler.
-
-Note: There are more encryption features in the PDF 1.5 specification.
-HowevertThe only means that I have for generating test files for these
-new encryption features is Acrobat 6.0. This patch will decode files
-which are encrypted using Acrobat 6.0. There is one more feature
-(EncryptMetaData) which will be the subject of a separate patch.
-Between the features covered by the current patch and the EncryptMetaData
-patch, this includes all of the capabilities that are available to a user
-of Acrobat 6.0. Since Acrobat 6.0 is the major producer of files with
-these new encryption features, Ghostscript will have the ability to
-decrypt files which we are likely to see in the near future.</pre>
-<p>[lib/pdf_sec.ps 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-03_1353"></a>
-2004-03-03 13:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Shading could cause a floating point exception.
-
-DETAILS :
-
-It caused an a floating point interrupts if they are unmasked.
-The problem in gxshade6.c apeared with NEW_SHADINGS with ppmraw -r72 050-01.ps .
-The problem in gxshade1.c ln 638 apeared with NEW_SHADINGS with ppmraw -r72 "STEUER-RollingMesh 2*.ai" .
-Another one looks as a long standing bug with ppmraw -r72 442-01.ps
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade1.c 1.25, src/gxshade6.c 1.46]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-03_1010"></a>
-2004-03-03 10:10 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (TT grid fitting) : AlignToPixels=0 aligned to pixels.
-
-DETAILS :
-
-Bug 687318 'A poor TT grid fitting with TextAlphaBits>1".
-This patch doesn't close the bug.
-An StdHW, StdVW reconstruction is necesseary for perfect result.
-AlignToPixels=0 still gives a varying stem width.
+EXPECTED DIFFERENCES:
-EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gxttfb.c 1.31]</p>
+none, since we don't test for this usage.</pre>
+<p>[lib/gs_pdfwr.ps 1.39]</p>
</blockquote>
-<p><strong><a name="2004-03-03_0816"></a>
-2004-03-03 08:16 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-10_1302"></a>
+2004-08-10 13:02 stefan</strong></p>
<blockquote>
<pre>
-Fix (type 1 hinter) : small resolutions caused a rangecheck.
-
-DETAILS :
-
-Bug 687301 "/limitcheck in --.type42execchar-- at 13 dpi".
-When CTM is too small, its rational representation
-appears degenerate, and we pass the character with no hinting.
-
-EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gxhintn.c 1.44]</p>
+Added memory_t pointers to gs_malloc() gs_free() calls in
+devices that aren't normally built.</pre>
+<p>[src/gdev3b1.c 1.5, src/gdevadmp.c 1.6, src/gdevccr.c 1.5, src/gdevcif.c 1.6, src/gdevcp50.c 1.6, src/gdevcslw.c 1.5, src/gdevhl7x.c 1.10, src/gdevimgn.c 1.7, src/gdevlp8k.c 1.5, src/gdevlxm.c 1.5, src/gdevmgr.c 1.6, src/gdevn533.c 1.6, src/gdevo182.c 1.6, src/gdevokii.c 1.7, src/gdevos2p.c 1.8, src/gdevp14.c 1.25, src/gdevphex.c 1.7, src/gdevpsdi.c 1.30, src/gdevsgi.c 1.6, src/gdevsj48.c 1.5, src/gdevsppr.c 1.8, src/gdevsunr.c 1.7, src/gdevwddb.c 1.7, src/gdevwprn.c 1.10, src/gp_macio.c 1.34]</p>
</blockquote>
-<p><strong><a name="2004-03-03_0514"></a>
-2004-03-03 05:14 Dan Coby</strong></p>
+<p><strong><a name="2004-08-10_1259"></a>
+2004-08-10 12:59 stefan</strong></p>
<blockquote>
<pre>
-Fix for 687274 White areas appear shaded.
+fixed bug with iapi, removed gs_lib_finit()'s call of gs_malloc_release.
DETAILS:
-This 'problem' is caused by a 'feature'. The high resolution transfer
-function deliberately has a piece of logic that forces any shade of gray
-that is not pure white (i.e. greater than 0.998) to halftone with at
-least one pixel being set in the output. This keeps nearly white shades
-from being washed out.
-
-We have seen several instances in which this 'feature' causes a problem.
-The fax output format tiffg4 has been bitten by this problem since it is
-commonly used at 204 dpi.
-
-This change removes this feature.</pre>
-<p>[lib/gs_init.ps 1.105]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-02_1147"></a>
-2004-03-02 11:47 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving the MSVC debug build options.
-
-DETAILS :
-
-1. The implementation of switches DEBUG and TDEBUG
- in msvc32.mak did not comply to their explanation in comments.
- Bug 687276 "mscv32.mak : DEBUG and TDEBUG don't comply to documentation"
-
-2. Defined a new switch DEBUGSYM :
-+ # Setting DEBUGSYM=1 is only useful with TDEBUG=0 for advanced developers.
-+ # It includes symbol table information for the debugger to the release build.
-
-3. Updated doc\Make.htm about that.
-
-EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/msvc32.mak 1.53, src/msvccmd.mak 1.15, doc/Make.htm 1.72]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-02_1014"></a>
-2004-03-02 10:14 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Errors were missed processing a shading data stream.
-
-DETAILS :
-
-Bug 687307 "A ShadingType 7 differs from Adobe."
-shade_next_flag interpreted a wrong data as End-Of-Data,
-so that some wrong documents were passed with no error.
-
-Now pdfwrite handles the bad shading data exception separately from
-other errors: the shading is fully written and the error is signaled
-to the PS interpreter after that. Note that other errors terminate immediately
-with inconsistent data written to the PDF output. We did the special
-processing to provide a better conformity to some buggy Genoa tests,
-which paint a shading with a wrong data in a stopped context.
-
-Besides that, we cancelled the default implementation fallback
-when pdf_setfillcolor fails. The old implementation caused
-shadings to convert into a huge set of rectangles written to PDF.
-We believe that signalling an error is the right reaction for this case.
-
-EXPECTED DIFFERENCES :
-
-pdfwrite :
-446-01.ps now prints error message to the raster. This is a progression.
-483-05.ps now prints error message to stdout. This is a progression.</pre>
-<p>[src/gdevpdfd.c 1.37, src/gdevpdfg.c 1.47, src/gdevpdfv.c 1.34]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-02_0834"></a>
-2004-03-02 08:34 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Errors were missed processing a shading data stream.
-
-DETAILS :
-
-Bug 687307 "A ShadingType 7 differs from Adobe."
-shade_next_flag interpreted a wrong data as End-Of-Data,
-so that some wrong documents were passed with no error.
-
-With pdfwrite the logic is different, and we didn't fix it.
-
-EXPECTED DIFFERENCES :
-
-446-01.ps now prints error message to the raster. This is a progression.
-483-05.ps now prints error message to stdout. This is a progression.</pre>
-<p>[src/gxshade.c 1.21, src/gxshade4.c 1.25, src/gxshade6.c 1.45, src/gxshade.h 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-01_2359"></a>
-2004-03-01 23:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 42.
-
-DETAILS :
-
-Big triangle meshes could overflow wedge_vertex_list_elem_buffer.
-See comment in code.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.44]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-01_1239"></a>
-2004-03-01 12:39 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 41, release candidate 2.
-
-DETAILS :
-
-Implemented intersection_of_small_bars with int64_t,
-and improved the documentation about it.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.43]</p>
-</blockquote>
-
-<p><strong><a name="2004-03-01_1044"></a>
-2004-03-01 10:44 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 40.
-
-DETAILS :
-
-1. Improved various constraints for patch size,
- which are caused by the arithmetic precision.
- Now all them are collected in curve_samples.
-
-2. Improved the documentation about secondary branches.
-
-3. Fixed minor bugs in secondary branches.
-
-3. Improved the formatting with easier distinguishing
- a multiplication " * x" from dereferencing " *x".
- It was important for finding arithmetic constraints.
-
-EXPECTED DIFFERENCES :
-
-SmoothShading.pdf at 300dpi.</pre>
-<p>[src/gxshade4.h 1.21, src/gxshade6.c 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-29_1659"></a>
-2004-02-29 16:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 39.
-
-DETAILS :
-
-The previous patch appears wrong. This one replaces it.
-
-Fixed the order of painting pixels : U and V were exchanged.
-Debugged with examples attached to the bug 687307.
-
-Besides that, the smoothness condition is changed :
-the case with strong equality must not decompose.
-A special test for this is 478-01.ps -
-now it is decomposed with monotonic intervals only.
-
-EXPECTED DIFFERENCES :
-
-Since the previous patch appears wrong,
-here is a difference from a revision before it :
-
-446-01.ps
-478-01.ps
-483-05.ps
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 3(Final).ai</pre>
-<p>[src/gxshade1.c 1.24, src/gxshade6.c 1.41]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-29_1447"></a>
-2004-02-29 14:47 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 38.
-
-DETAILS :
-
-Fixed the order of painting pixels : U and V were exchanged.
-Debugged with examples attached to the bug 687307.
-
-EXPECTED DIFFERENCES :
+The problem is that single instance and multi instance interfaces
+both call gs_to_exit() with different meanings.
-72dpi :
+If gs_lib_init0 was called then it should malloc_release
+single instance exit library means free all.
-442-01.ps
-446-01.ps
-464-01.ps
-478-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-chilis_red.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 3(Final).ai
-Testform.v1.0.2.pdf
-
-300dpi:
-
-289-01.ps
-442-01.ps
-446-01.ps
-464-01.ps
-478-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-chilis_red.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-Openhuis_pdf_zw.pdf
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 3(Final).ai
-Testform.v1.0.2.pdf</pre>
-<p>[src/gxshade6.c 1.40]</p>
+If the iapi interface was used then the memory
+should not be freed since gs_lib_finit() and gs_to_exit()
+are called when the interpreter is exited but there is a
+seperate delete_instance call that should free the memory</pre>
+<p>[src/gsinit.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-29_1303"></a>
-2004-02-29 13:03 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-09_1702"></a>
+2004-08-09 17:02 stefan</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 37.
-
-DETAILS :
-
-Fixed a bug in LAZY_WEDGES 1 :
-fill_wedge_from_list_rec missed non-leaf triangles.
-
-Also defined dbg_wedge_triangle_cnt for debug purpose.
-
-EXPECTED DIFFERENCES :
-
-72dpi :
-
-446-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 3(Final).ai
-
-300dpi:
-
-442-01.ps
-446-01.ps
-464-01.ps
-478-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai</pre>
-<p>[src/gxshade6.c 1.39]</p>
+Fixed uninitialized fstdio2 pointer.</pre>
+<p>[src/gslibctx.c 1.3]</p>
</blockquote>
-<p><strong><a name="2004-02-28_1230"></a>
-2004-02-28 12:30 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-05_2017"></a>
+2004-08-05 20:17 stefan</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 36.
-
-DETAILS :
-
-Implemented lazy wedges : do not create a wedge,
-if both neighbours of a line were divided at same point.
-It reduces the number of constant color triangles to fill.
-
-Since this algorithm consumes an exponential RAM of the wedge nesting,
-we restrict the wedge nesting with 9. For doing that we enforce
-subdivision of large patches into chunks with <=512 pixels length sides
-- see LAZY_WEDGES_MAX_LEVEL.
-
-EXPECTED DIFFERENCES :
-
-72dpi :
-289-01.ps
-442-01.ps
-446-01.ps
-464-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 3(Final).ai
-
-300dpi:
-442-01.ps
-446-01.ps
-464-01.ps
-478-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 3(Final).ai
-Testform.v1.0.2.pdf</pre>
-<p>[src/gxshade1.c 1.23, src/gxshade4.c 1.24, src/gxshade6.c 1.38, src/gxshade4.h 1.20]</p>
+Fixed incorrect function pointer prototype,
+const gs_memory_t * argument was missing.</pre>
+<p>[src/gxfcache.h 1.26, src/gxfcopy.c 1.44]</p>
</blockquote>
-<p><strong><a name="2004-02-27_0924"></a>
-2004-02-27 09:24 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-05_2015"></a>
+2004-08-05 20:15 stefan</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 35.
+Valid memory pointer used create a tile_clip device instead of NULL.
-DETAILS :
-
-1. Improving the filling order for self-overlapping patches.
-The old code filled them wrongly (a bug).
-This patches fixes that.
-With self-overlapping patches the new code is slower.
-
-2. Improved the numeric error processing in intersection_of_big_bars.
-With negative bars the old code could give a bias in fixed_1,
-rather negative bars probably never come here.
-
-EXPECTED DIFFERENCES :
+Details :
-442-01.ps
-446-01.ps
-464-01.ps
-478-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-chilis_red.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 3(Final).ai
-Testform.v1.0.2.pdf</pre>
-<p>[src/gxshade6.c 1.37]</p>
+This needs to be leak checked.</pre>
+<p>[src/gxp1fill.c 1.6]</p>
</blockquote>
-<p><strong><a name="2004-02-26_2055"></a>
-2004-02-26 20:55 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-05_1702"></a>
+2004-08-05 17:02 stefan</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 34.
+Windows only:
+check_interrupts() with a mem pointer to access the poll function.
DETAILS :
-Improving the ShadingType 1 with applying the generic algorithm.
-The generic algorithm is extended for 2-argument functions.
+This is windows specific since only windows uses the polling
+function in check_interrupts() macros. If the gs_dll interface
+is used then a single instance is forced since the design of that
+interface forces one thread per process. The iapi interface can not
+but enabled for more than one thread until the stream calling check_interrupts()
+calls are fixed.
-Also fixing the configuration switch DIVIDE_BY_PARALLELS,
-which was unintentionally set to 1 by the previous patch.
-
-EXPECTED DIFFERENCES :
-
-289-01.ps
-442-01.ps
-446-01.ps
-464-01.ps
-478-01.ps
-483-01.ps
-483-05.ps
-gradmesh.ai</pre>
-<p>[src/gxshade.c 1.20, src/gxshade1.c 1.22, src/gxshade4.c 1.23, src/gxshade4.h 1.19, src/gxshade6.c 1.36, src/lib.mak 1.173]</p>
+process_interrupts(NULL) calls are currently hacked to access a global memory
+pointer intended for access to stderr. This is a place holder until the
+stream object changed that guarantee a valid memory pointer in process_stream
+calls are committed. Basically it is common to allocate a stream object on the
+stack and use it in a functional manor with an uninitialized memory pointer in the
+object.</pre>
+<p>[src/gdevdbit.c 1.11, src/gdevddrw.c 1.25, src/gdevwpr2.c 1.18, src/gdevwprn.c 1.9, src/gp_macpoll.c 1.2, src/gp_mslib.c 1.6, src/gp_mspol.c 1.5, src/gp_mswin.c 1.24, src/gxclrast.c 1.30, src/gxclread.c 1.11, src/gxclutil.c 1.11, src/gxdtfill.h 1.27, src/sfxfd.c 1.10, src/sfxstdio.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-26_2010"></a>
-2004-02-26 20:10 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-04_2340"></a>
+2004-08-04 23:40 stefan</strong></p>
<blockquote>
<pre>
-Revert to the correct version of gs_setpd.ps and Use.htm.
-
-DETAILS:
-
-A local CVS problem resulted in an update from a directory that did not
-have the changes, causing me to think that the files needed to be
-updated, but instead removed the previous update. What a mess!</pre>
-<p>[doc/Use.htm 1.103, lib/gs_setpd.ps 1.23]</p>
+fixed typo in last commit.</pre>
+<p>[src/gpcheck.h 1.8]</p>
</blockquote>
-<p><strong><a name="2004-02-26_1955"></a>
-2004-02-26 19:55 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-04_2333"></a>
+2004-08-04 23:33 stefan</strong></p>
<blockquote>
<pre>
-Fix : A bug in fn_Sd_is_monotonic.
+gs_memory_t pointer additions for msvc build.
DETAILS :
-Monotonic intervals were computed wrongly due to
-a wrong cell boundary condition. With no Encode
-it overestimated the number of cells in 1.
-
-This patch also extends fn_Sd_is_monotonic for multi-argument functions.
-Actually it checks whether both points are within same cell.
-This is fine with linear functions,
-but for 3d order we would like to check for zero derivatives
-within the interval specified by 2 vectors.
-
-EXPECTED DIFFERENCES :
-
-300dpi:
-
-442-01.ps
-483-01.ps</pre>
-<p>[src/gsfunc0.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-26_0718"></a>
-2004-02-26 07:18 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 33.
-
-DETAILS :
-
-Improves the performance of radial shadings :
-
-For a faster painting, we apply fill adjustment to outer annula only.
-Inner annula are painted with no fill adjustment.
-It can't cause a dropout, because the outer side of an annulus
-gets same flattening as the inner side of the neighbour outer annulus.
-
-For other shadings this chande is algorithmically equivalent.
-
-EXPECTED DIFFERENCES :
-
-A minor difference with axial shadings :
-442-01.ps
-446-01.ps
-483-01.ps
-483-05.ps
-Altona-Testsuite_p2_S_x3.pdf
-Clarke Tate Manns Chinese.ai
-gradmesh.ai
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 2(radial).ai
-STEUER-RollingMesh 3(Final).ai</pre>
-<p>[src/gxshade.c 1.19, src/gxshade.h 1.10, src/gxshade1.c 1.21, src/gxshade4.c 1.22, src/gxshade4.h 1.18]</p>
-</blockquote>
+Mostly gs_malloc() and gs_free() additions of a gs_memory_t argument.
-<p><strong><a name="2004-02-25_2038"></a>
-2004-02-25 20:38 Russell Lang</strong></p>
-<blockquote>
-<pre>
-Fixes bug 687317.
-Fix pdfwrite allowable Permissions for EncryptionR=2.
-Fix default Permissions.
-
-DETAILS:
-The code was assuming that the extra permissions should be 0's,
-when in fact they should be 1's. The fixed code is a bit more
-conservative and requires that all reserved bits match the PDF
-specification. Set the default permissions to -4 which allows
-everything.</pre>
-<p>[src/gdevpdf.c 1.90]</p>
+Not gsdll.c forces a single instance.</pre>
+<p>[src/gdev4081.c 1.6, src/gdev4693.c 1.9, src/gdev8510.c 1.7, src/gdevdm24.c 1.8, src/gdevdsp.c 1.25, src/gdevescp.c 1.7, src/gdevmswn.c 1.11, src/gdevmsxf.c 1.8, src/gdevpjet.c 1.7, src/gdevwpr2.c 1.17, src/gp_mspol.c 1.4, src/gpcheck.h 1.7, src/gsargs.c 1.9, src/gsdll.c 1.12, src/gsmisc.c 1.18, src/gxccache.c 1.32, src/gxclutil.c 1.10, src/imain.h 1.9, src/interp.c 1.19, src/main.h 1.7, src/msvc32.mak 1.59, src/sfxstdio.c 1.8]</p>
</blockquote>
-<p><strong><a name="2004-02-25_2037"></a>
-2004-02-25 20:37 Ray Johnston</strong></p>
+<p><strong><a name="2004-08-04_1936"></a>
+2004-08-04 19:36 stefan</strong></p>
<blockquote>
<pre>
-Clean up dict stack after loading an embedded Type1 font from a PDF file.
-While the font is buggy, Adobe doesn't complain. Bug #687315.</pre>
-<p>[lib/pdf_font.ps 1.60]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-25_2035"></a>
-2004-02-25 20:35 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add an option to prevent the 'range' type PageSize from being added to the
-InputAttribute dictionary. This option is useful for printers that want the
-requested pages to be rotated to fit one of the available page sizes.
-Option is -dNORANGEPAGESIZE. Fix for bug #629335.</pre>
-<p>[lib/gs_setpd.ps 1.22, doc/Use.htm 1.102]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-25_1621"></a>
-2004-02-25 16:21 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 32.
+Addition of a Library Context to start the process of removing globals.
DETAILS :
-1. Implemented axial shading with a Coons patch.
- It gives more regularity with area decomposition and trapping.
-
-2. Optimized tensor shadings for the case when the gradient is
- parallel to the quadrangle sides.
+The goals is to remove globals from the system, this includes static
+globals that would hinder multiple threads from running at once.
-Note that the old code applies 1/2 pixels fill adjustment when
-painting stripes of the shading, generating overlapped stripes.
-Instead that the new code generates non-overlapping stripes,
-and applies a trapping emulation at the shading boundaries with 1/8 pixels.
-
-EXPECTED DIFFERENCES :
-
-A minor difference with axial shadings :
-442-01.ps
-446-01.ps
-464-01.ps
-483-01.ps
-483-05.ps
-BEST8-99-Path.fh7.pdf
-chilis_black.pdf
-chilis_red.pdf
-gradmesh.ai
-Openhuis_pdf_zw.pdf
-SmoothShading.pdf
-STEUER-RollingMesh 1(linear).ai
-STEUER-RollingMesh 3(Final).ai
-Testform.v1.0.2.pdf
-
-An area shift in Testform.v1.0.2.pdf at 72dpi appears due to
-the fill adjustment is replaced with the trapping emulation.</pre>
-<p>[src/gxshade1.c 1.20, src/gxshade4.h 1.17, src/gxshade6.c 1.35, src/lib.mak 1.172]</p>
-</blockquote>
+gs_lib_ctx is intended to be used as the opaque "handle" object
+that a client would use to associate with a thread running through
+the library. Independent of a gs or a language switch build, this
+needs a new iapi2.h that allows the use of better job control from the
+client side.
-<p><strong><a name="2004-02-24_2227"></a>
-2004-02-24 22:27 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Add support for specifying CVS repository location, which requires a
-new configuration key, 'gsconf.repodir'.</pre>
-<p>[toolbin/tests/testing.cfg.example 1.5, toolbin/tests/update_specific 1.2]</p>
-</blockquote>
+gs_lib_ctx is stashed under the gs_memory_t object and all memory objects
+used by a thread refer to the same gs_lib_ctx. This storage location was
+choosen as a convenence since a memory_t pointer is common throughout the
+system. Most of the turmoil is adding memory_t pointers to functions that
+used global variables but didn't have a memory pointer.
-<p><strong><a name="2004-02-24_2220"></a>
-2004-02-24 22:20 Jack Moffitt</strong></p>
-<blockquote>
-<pre>
-Script to update baselines for a specific CVS version of Ghostscript.
+FILE stdin, stdout, stderr are one per process by default.
+stdin and stdout may be changed but stderr may not.
+FILE stderr is one per process and shouldn't be changed.
+Note the stderr_fn is also one per process, changing this function pointer
+will not help as most users of stderr printing do not have a thread handle.
+Changing to a thread local storage mechanism can solve this.
-The script requires a new configuration key, 'gsconf.fontdir'.</pre>
-<p>[toolbin/tests/testing.cfg.example 1.4, toolbin/tests/update_specific 1.1]</p>
-</blockquote>
+gs_id's are currently per thread with each thread starting over at 1.
+This can be moved to per process with mutexes if so desired.
-<p><strong><a name="2004-02-24_1907"></a>
-2004-02-24 19:07 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 31.
+A library context has a pointer to the top_of_system the intent is that this
+a void handle avaliable to make top of the system calls without knowing the
+data type. In a postscript only build this would be gs_main_instance but
+in a language switched build this would be an object above that main_universe.
-DETAILS :
+Other members of gs_lib_ctx_t are nothing more than global objects relocated
+to this "bag". gs_name_table, dict_autoexpand are examples of this. There
+are a few more globals that will be moved.
-1. Removed an undefined macro call (a portability bug).
+At the moment iapi is still constrained to one thread, since some of the
+globals haven't been removed yet.
-2. Disabled some unused functions.
+The display device's callback function setting is supported for now
+but this interface should be changed to a sDEVICE style call.
-EXPECTED DIFFERENCES :
+gs_memory_t is the base type the abstract type gs_raw_memory_t is gone,
+this means that all memory types must derive from gs_memory_t.
+In addition to a pointer to the gs_lib_ctx there is a pointer to a
+non_gc_memory this will always point to a non garbage collected memory,
+it maybe the current object or an object below the current gargabe
+collected memory space. This can be used were the previous code
+used the global gs_malloc_memory. gs_malloc() now takes a memory pointer,
+it finds the non-gc memory from a valid memory pointer and allocates from it.
-None.</pre>
-<p>[src/gxshade4.c 1.21, src/gxshade4.h 1.16]</p>
+The gdevbit device has an improved algorthym for converting from cmyk to rgb,
+this is never used by postscript but for pcl rops it puts the k plane into rgb.</pre>
+<p>[src/bfont.h 1.10, src/devs.mak 1.117, src/dstack.h 1.6, src/files.h 1.10, src/gdevbj10.c 1.9, src/gdevcdj.c 1.15, src/gdevdcrd.c 1.6, src/gdevepsc.c 1.11, src/gdevepsn.c 1.9, src/gdevijs.c 1.9, src/gdevp14.c 1.24, src/gdevpdfb.c 1.23, src/gdevpdfc.c 1.48, src/gdevpdfg.c 1.58, src/gdevpdfg.h 1.33, src/gdevpdfi.c 1.56, src/gdevpdfk.c 1.8, src/gdevpdfv.c 1.36, src/gdevpdti.c 1.36, src/gdevplnx.c 1.10, src/gdevprn.c 1.18, src/gdevprna.c 1.6, src/gdevpsdi.c 1.29, src/gdevpxat.h 1.6, src/gdevpxen.h 1.6, src/gdevstc.c 1.10, src/gdevupd.c 1.16, src/gdevvec.c 1.23, src/gdevxcmp.c 1.9, src/gdevxxf.c 1.9, src/gp_mac.c 1.16, src/gs.c 1.12, src/gs_dll_call.h 1.1, src/gsalloc.c 1.21, src/gsalloc.h 1.7, src/gsalphac.c 1.7, src/gsccode.h 1.13, src/gscdevn.c 1.21, src/gscolor.c 1.14, src/gscolor1.c 1.11, src/gscolor3.c 1.8, src/gscparam.c 1.10, src/gscpixel.c 1.12, src/gscpixel.h 1.6, src/gscrd.c 1.6, src/gscrd.h 1.7, src/gscscie.c 1.12, src/gscsepr.c 1.27, src/gscspace.c 1.17, src/gscspace.h 1.14, src/gsdevice.c 1.22, src/gsequivc.c 1.5, src/gsexit.h 1.10, src/gsfcid2.c 1.6, src/gsfcmap.c 1.24, src/gsfcmap1.c 1.7, src/gsfont.c 1.33, src/gsht.c 1.22, src/gsht1.c 1.15, src/gshtx.c 1.6, src/gsimage.c 1.12, src/gsinit.c 1.6, src/gsio.h 1.8, src/gsiodevs.c 1.6, src/gsistate.c 1.10, src/gslib.c 1.14, src/gslib.h 1.6, src/gslibctx.c 1.2, src/gslibctx.h 1.2, src/gsmalloc.c 1.12, src/gsmalloc.h 1.6, src/gsmemlok.c 1.6, src/gsmemory.c 1.9, src/gsmemory.h 1.8, src/gsmemraw.h 1.8, src/gsmemret.c 1.5, src/gsmisc.c 1.17, src/gsovrc.c 1.6, src/gspcolor.c 1.14, src/gsptype1.c 1.19, src/gsstate.c 1.24, src/gsstruct.h 1.18, src/gsstype.h 1.6, src/gsutil.c 1.10, src/gsutil.h 1.8, src/gxacpath.c 1.10, src/gxalloc.h 1.11, src/gxccache.c 1.31, src/gxccman.c 1.27, src/gxcht.c 1.13, src/gxclbits.c 1.9, src/gxclrast.c 1.29, src/gxclread.c 1.10, src/gxclrect.c 1.7, src/gxcpath.c 1.12, src/gxcspace.h 1.13, src/gxdevcli.h 1.34, src/gxdevice.h 1.19, src/gxdhtserial.c 1.5, src/gxfcmap.h 1.16, src/gxfcopy.c 1.43, src/gxht.c 1.16, src/gxht.h 1.9, src/gximag3x.c 1.17, src/gximage.c 1.7, src/gxpcmap.c 1.13, src/gxttfb.c 1.34, src/gzht.h 1.13, src/ialloc.c 1.7, src/ialloc.h 1.6, src/iapi.c 1.11, src/ibnum.c 1.8, src/ibnum.h 1.8, src/ichar.h 1.7, src/icharout.h 1.9, src/icid.h 1.8, src/icie.h 1.7, src/icstate.h 1.13, src/idebug.c 1.9, src/idebug.h 1.6, src/idict.c 1.11, src/idict.h 1.6, src/idparam.c 1.9, src/idparam.h 1.7, src/idstack.c 1.6, src/ifapi.h 1.19, src/ifont.h 1.14, src/ifont1.h 1.7, src/ifont42.h 1.9, src/igc.c 1.13, src/igc.h 1.8, src/igcref.c 1.6, src/iimage.h 1.7, src/iinit.c 1.10, src/ilocate.c 1.10, src/imain.c 1.39, src/imainarg.c 1.32, src/iminst.h 1.8, src/iname.h 1.5, src/interp.c 1.18, src/iparam.c 1.10, src/iplugin.c 1.5, src/iplugin.h 1.5, src/isave.c 1.11, src/isave.h 1.7, src/iscan.c 1.18, src/iscanbin.c 1.14, src/iutil.c 1.10, src/iutil.h 1.7, src/lib.mak 1.189, src/sdctc.c 1.5, src/std.h 1.12, src/szlibc.c 1.6, src/ttload.c 1.5, src/zarray.c 1.5, src/zbfont.c 1.27, src/zchar.c 1.14, src/zchar1.c 1.36, src/zcharout.c 1.12, src/zcharx.c 1.7, src/zcid.c 1.9, src/zcie.c 1.12, src/zcolor.c 1.19, src/zcontext.c 1.11, src/zcontrol.c 1.11, src/zcrd.c 1.8, src/zcsdevn.c 1.12, src/zcsindex.c 1.7, src/zcspixel.c 1.5, src/zcssepr.c 1.15, src/zdevice.c 1.9, src/zdevice2.c 1.9, src/zdict.c 1.6, src/zdps.c 1.8, src/zdps1.c 1.7, src/zfapi.c 1.52, src/zfcid0.c 1.22, src/zfcid1.c 1.19, src/zfcmap.c 1.15, src/zfile.c 1.41, src/zfileio.c 1.17, src/zfont.c 1.11, src/zfont0.c 1.7, src/zfont1.c 1.12, src/zfont2.c 1.7, src/zfont32.c 1.5, src/zfont42.c 1.20, src/zfontenum.c 1.4, src/zfrsd.c 1.10, src/zfunc.c 1.14, src/zfunc3.c 1.7, src/zfunc4.c 1.12, src/zgeneric.c 1.8, src/zgstate.c 1.10, src/zht2.c 1.12, src/zht2.h 1.3, src/zicc.c 1.7, src/zimage.c 1.14, src/zimage3.c 1.7, src/ziodevs.c 1.9, src/ziodevsc.c 1.7, src/zmatrix.c 1.8, src/zmedia2.c 1.16, src/zmisc.c 1.7, src/zmisc2.c 1.7, src/zmisc3.c 1.6, src/zpacked.c 1.6, src/zpcolor.c 1.15, src/zrelbit.c 1.6, src/zshade.c 1.15, src/zstring.c 1.6, src/ztoken.c 1.14, src/ztrans.c 1.22, src/ztype.c 1.8, src/zupath.c 1.10, src/zusparam.c 1.13, src/zvmem.c 1.8]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1857"></a>
-2004-02-24 18:57 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-04_0100"></a>
+2004-08-04 01:00 Ralph Giles</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 30.
-
-DETAILS :
-
-1. Triangle meshes were passed to the rasterizer with no color resolved.
- It is assumed to be resolved in advance (a bug).
-
-2. Improved external names with adding a scope prefix.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.20, src/gxshade4.h 1.15, src/gxshade6.c 1.34]</p>
+add a .cvsignore list for generated files</pre>
+<p>[contrib/pscolor/.cvsignore 1.1]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1212"></a>
-2004-02-24 12:12 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-04_0055"></a>
+2004-08-04 00:55 Ralph Giles</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 29 - release candidate 1.
-
-DETAILS :
-
-Switching to the new implementation.
-It fixes a number of bugs, works 2.5 times faster and produces a better view.
-Also documented secondary development branches.
-
-Bug 687291 "problems in patch_fill".
-Bug 687310 "Wrong color interpolation with ShadingType 4,5.".
-
-EXPECTED DIFFERENCES :
-
-446-01.ps
-483-05.ps</pre>
-<p>[src/gxshade4.h 1.14]</p>
+Add variable declaration for the path to the ghostscript executable to
+the unix wrapper scripts. This simplifies changing the invocation name.
+Partial fix for bug 686863.</pre>
+<p>[lib/bdftops 1.5, lib/dumphint 1.2, lib/dvipdf 1.5, lib/eps2eps 1.6, lib/font2c 1.4, lib/gsbj 1.4, lib/gsdj 1.4, lib/gsdj500 1.4, lib/gslj 1.4, lib/gslp 1.4, lib/gsnd 1.4, lib/pdf2dsc 1.6, lib/pdf2ps 1.7, lib/pdfopt 1.7, lib/pf2afm 1.5, lib/pfbtopfa 1.6, lib/pphs 1.4, lib/ps2ascii 1.7, lib/ps2epsi 1.10, lib/ps2pdfwr 1.10, lib/ps2ps 1.7, lib/pv.sh 1.4, lib/unix-lpr.sh 1.5, lib/wftopfa 1.4]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1157"></a>
-2004-02-24 11:57 Igor Melichev</strong></p>
+<p><strong><a name="2004-08-02_0333"></a>
+2004-08-02 03:33 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 28.
+Fix : .OrigFont was not provided when an embeded font is defined.
DETAILS :
-Removing debug helpers.
+Bug 687598 "Courier CE font problems".
+The test case embeds a font with an instandard FontMatrix [ 0.00039 0 0 0.00039 0 0 ].
+For passing it to pdfwrite, the procedure .completefont adds the
+/.OrigFont key to the font dictionary. However the key was added after
+.buildfont1 is called, and the device did not recieve the information at the time.
+This patch moves the .OrigFont setting ahead to the .buildfont* call.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade4.c 1.19, src/gxshade4.h 1.13, src/gxshade6.c 1.33]</p>
+<p>[lib/gs_fonts.ps 1.47]</p>
</blockquote>
-<p><strong><a name="2004-02-24_1150"></a>
-2004-02-24 11:50 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-30_2132"></a>
+2004-07-30 21:32 Dan Coby</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 27.
-
-DETAILS :
-
-It simplifies visual trace commands with the new macros.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.18, src/gxshade6.c 1.32]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_1143"></a>
-2004-02-24 11:43 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving the visual trace macros.
-
-DETAILS :
-
-It defines a raugh implementation for a temporary trace disabling.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/vdtrace.h 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_1108"></a>
-2004-02-24 11:08 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 26.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It fixes a bug computing ku[3], which missed some wedges,
-and improves some visual trace commands.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.31]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_0957"></a>
-2004-02-24 09:57 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 25.
-
-DETAILS :
-
-This patch changes a disabled code only.
-This change is algorithmically equivalent.
-During a trianglulation it avoids redundant computation
-of the color span and the triangle size.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_0928"></a>
-2004-02-24 09:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 24.
-
-DETAILS :
-
-The patch
-http://www.ghostscript.com/pipermail/gs-cvs/2004-February/004243.html
-unintentionally switched on the new code.
-Now switching it back to the old one.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.h 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_0908"></a>
-2004-02-24 09:08 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 23.
-
-DETAILS :
-
-This patch changes a disabled code only.
-
-1. Wedges were missed in triangle_by_4.
-2. Improved a debug mode in gxshade4.c .
-3. Fixed cygwin/gcc warnings.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.17, src/gxshade6.c 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_0814"></a>
-2004-02-24 08:14 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 22.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It implements a division of a quadrangle into 4 triangles,
-like the old code does. It doesn't change the performance
-and the view appears slightly better. This mode is useful with
-DIVIDE_BY_PARALLELS 0.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.28]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-24_0758"></a>
-2004-02-24 07:58 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 21.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It implements a division of a triangle into 4 triangles,
-like the old code does. This appears some slower, but
-gives a better view when the smooothness is smaller
-than the color resolution.
-
-Minor changes :
-
-- Implemented VD_TRACE_DOWN to gxshade6.c;
-- Changed some visual trace commands;
-- COLOR_CONTIGUITY specifies a coefficient for divide_triangle_by_parallels.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.h 1.11, src/gxshade6.c 1.27]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-23_2041"></a>
-2004-02-23 20:41 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Check for local jpeg library source by looking for the jpeglib.h header
-rather than just the jpeg directory. Also try looking for jpeg-6b if the
-jpeg fails; this lets us find the source as it unpacks from the upstream
-tarball. Patch from ESP Ghostscript.</pre>
-<p>[src/configure.ac 1.42]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-23_0307"></a>
-2004-02-23 03:07 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add a parameter which prevents the non-standard four element PageSize
-entry in the InputAttributes from being included. This prevents problems
-with PostScript programs that examine the InputAttributes entries in an
-attempt to pick the 'best fit' rather than relying on the setpagedevice
-logic. Also most 'real' printer devices don't support arbitrary page
-sizes, so automatic rotation is defeated if the range type page size
-in included. The option is -dNORANGEPAGESIZE. Bug #629335.</pre>
-<p>[doc/Use.htm 1.101, lib/gs_setpd.ps 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-23_0144"></a>
-2004-02-23 01:44 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add the path to the code directory (gsconf.codedir) for invocation of the
-update_baseline/update_pdfbaseline.</pre>
-<p>[toolbin/tests/gscheck_pdfwrite.py 1.18, toolbin/tests/gscheck_raster.py 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-22_2354"></a>
-2004-02-22 23:54 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Initial implementation of the JPXDecode filter using the JasPer library
-for decoding the JPEG 2000 data. This version only implements a
-postscript-level filter; PDF support will follow in another commit.
+More work upon 687551 Implement the remaining TN 5044 procedures.
+This commit implements the setcmykoverprint procedure.
DETAILS:
-A new FEATURE_DEV, 'jpx.dev', is added to the makefile to enable
-support. The jasper library must be available to link with in this case.
-The library is autodetected in the autoconf build, but not yet enabled
-on other platforms.
+We received a posting against 687551. This posting indicated that some
+files in arXiv.org were failing with the current version of Ghostscript
+but worked with older versions. The files were all created by a package
+called Canvas by Deneba Systems. They failed because setcmykoverprint
+was not defined.
-The implementation leaves a little to be desired. While JasPer is
-robust, it provides no way to connect its internal stream architecture
-to ours, so we end up buffering all the data. This seems to be the best
-we can do without modifying the library.
+Evidently the people at Deneba Systems did not read the following comment
+from page 15 of TN 5044:
-We try to handle data from a number of colorspaces, but the spec is a
-little vague on what is required. We convert YUV to RGB internally, but
-do not handle sub-sampled planes.</pre>
-<p>[src/Makefile.in 1.33, src/configure.ac 1.41, src/int.mak 1.124, src/lib.mak 1.171, src/sjpx.c 1.1, src/sjpx.h 1.1, src/zfjpx.c 1.1]</p>
-</blockquote>
+"Note The setcmykoverprint operator has not been adopted by the industry.
+It remains on the list of color convention operators because it has some
+perceived usefulness, but it is not supported by any shipping host-based
+separation applications today."
-<p><strong><a name="2004-02-22_1511"></a>
-2004-02-22 15:11 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 20.
-
-DETAILS :
+The even stranger detail is that the Deneba Systems people have a
+dummy version of this procedure that does not implement overprinting.
+Thus if they do not need overprinting, they have no need to use this
+procedure.
-This fixes an unintentional regression in gxshade4.c,
-which appeared from a recent patch.
-Also it optimises the access to pis->smoothness.
+The files also fail with Distiller 6.0, Illustrator CS, and Photoshop 6.0.
+However this change allows these files to work with current Ghostscript.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.16, src/gxshade6.c 1.26]</p>
+The change consists of putting in a dummy version of the setcmykoverprint
+procedure. This version does not actually implement overprinting.</pre>
+<p>[lib/gs_lev2.ps 1.32]</p>
</blockquote>
-<p><strong><a name="2004-02-22_1414"></a>
-2004-02-22 14:14 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-29_1919"></a>
+2004-07-29 19:19 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 19.
+Fix : True Type font loader : numLoca run out the PS string size limit.
DETAILS :
-This change is algorithmically equivalent.
-It simplifies internal interfaces with the new type quadrangle_patch.
+Bug 687599 "/rangecheck in --string--".
+This patch increases the maximal 'loca' size to 64528 bytes,
+which is enough for the customer's file.
+A further improvement would be to allow more 'loca' segments
+(currently arbitrary restricted with 2 for a minor code simplification).
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.25]</p>
+<p>[lib/gs_ttf.ps 1.39]</p>
</blockquote>
-<p><strong><a name="2004-02-22_1306"></a>
-2004-02-22 13:06 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-29_1746"></a>
+2004-07-29 17:46 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 18.
+1. Fix (PS interpreter) : The FontBBox validation check was too strong.
+2. Fix (pdfwrite) : Explicitely set line parameters in a charproc.
DETAILS :
-This change is algorithmically equivalent.
-It simplifies the interface of fill_triangle_wedge.
+Bug 687594 "Barcode Width".
+See comments in the new code.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.24]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-22_1059"></a>
-2004-02-22 10:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 17.
+This solution is a partial one.
+With the current architecture of the Postscript interpreter,
+a device can't recognize whether a PS charproc sets line parameters or not.
+Therefore we copy to PDF the values, which appear at a first use
+within a charproc. The old code copied only values, which differ from defaults.
+The new behavior appears closer to Adobe Distiller.
-DETAILS :
-
-This change is algorithmically equivalent.
-It simplifies intermodule interfaces with using
-shading_vertex_t instead a pair of a point and a color.
+A complete solution should copy the PS behavior to PDF,
+i.e. the PDF charproc should set those and only those parameters,
+which are set by the PS charproc. For doing that we need flags in the graphic state structure
+per each graphic state parameter, reset all them before running a charproc,
+and set whenever a parameter is changed. Without the flag, when the charproc sets
+a value equal to the old one (which was inherited from the context of
+the glyph usage), the event of setting is lost and causes a line width and other problems.
+We don't want such a deep change now, and go with the partial solution,
+because the partial solution appears enough for customer's needs.
+Likely Adobe Distiller have same architectural problem, and resolves it in same manner.
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gxshade4.c 1.15, src/gxshade4.h 1.10, src/gxshade6.c 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-22_0943"></a>
-2004-02-22 09:43 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 16.
-
-DETAILS :
-
-This patch changes a disabled code only.
-In the disabled code it fixes the bug 687310
-"Wrong color interpolation with ShadingType 4,5.".
-In the old code the interpolation is still done in the color space rather than
-in the function domain.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade.c 1.18, src/gxshade.h 1.9, src/gxshade4.c 1.14, src/gxshade4.h 1.9, src/gxshade6.c 1.22, src/lib.mak 1.170]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-21_1825"></a>
-2004-02-21 18:25 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 15.
-
-DETAILS :
-
-This patch changes a disabled code only.
-Optimized the patch decomposition.
-
-1. Triangles are divided along the color gradient.
- Since the color gradient is vector, actually we divide
- along the gradient of the Manhattan"s color norm.
-
-2. Rectangles are divided into 2 triangles by the diagonal
- with smaller color difference.
-
-3. Improved conditions for compiling wedge_buf.
-
-4. Implemented VD_TRACE_TRIANGLE_PATCH.
-
-This revision appears faster than the old code NEW_SHADINGS 0
-in about 1.4 times.
-
-A code optimization is wanted. See "fixme" comments.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.13, src/gxshade4.h 1.8, src/gxshade6.c 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-20_1504"></a>
-2004-02-20 15:04 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 14.
-
-DETAILS :
-
-This patch changes a disabled code only.
-Optimized the trapping emulation.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.12, src/gxshade4.h 1.7, src/gxshade6.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-20_1358"></a>
-2004-02-20 13:58 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 13.
-
-DETAILS :
-
-1. Aplied the new triangulation to triangle meshes.
-2. Enhanced the scope of configuration flags and some structures.
-3. Improved visual trace commands.
-
-The trapping emulation appears too slow and should be optimized.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade4.c 1.11, src/gxshade4.h 1.6, src/gxshade6.c 1.19, src/lib.mak 1.169]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-20_1053"></a>
-2004-02-20 10:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Cygwin/gcc warnings.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.114]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-20_1051"></a>
-2004-02-20 10:51 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 12.
-
-DETAILS :
-
-1. Emulated an interpatch trapping for poorly designed documents -
- see 'padding', 'interpatch_padding', 'inpatch_wedge'.
-2. Improved some debug helpers (TENSOR_SHADING_DEBUG 1).
-3. Removed some unused variables.
-4. Improved some comments and C-style.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-20_0646"></a>
-2004-02-20 06:46 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687279 Linker warnings with Visual Studio 6 and .NET 2003.
-The changes consist of removing the keyword INITINSTANCE from the def
-files. The DESCRIPTION lines are changed to a comment and put at the
-beginning of the files.</pre>
-<p>[src/dw32c.def 1.4, src/dwmain16.def 1.2, src/dwmain32.def 1.4, src/dwsetup.def 1.5, src/dwuninst.def 1.5, src/gsdll32.def 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-20_0004"></a>
-2004-02-20 00:04 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 11.
-
-DETAILS :
-
-Simplified wedges with wedge_by_triangles.
-It makes a big part of the code to be unused with
-NEW_TENSOR_SHADING 1 QUADRANGLES 0 POLYGON_WEDGES 0.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-19_2005"></a>
-2004-02-19 20:05 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 10.
-
-DETAILS :
-
-1. Implemented a decomposition by triangles.
-2. Applied restrict_color to colors, to avoid lots of pieces
- then basic color values are significantly out of range.
- The 483-07 box of 483-05.ps contains such shadings.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-19_1132"></a>
-2004-02-19 11:32 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 9.
-
-DETAILS :
-
-1. Inserted some visual trace instructions in the old algorithm.
-2. Moved configurations macro definitions upper, to use them in the old code.
-3. Remaned NEW_TENSOR_SHADING_DEBUG with TENSOR_SHADING_DEBUG.
-4. In the new code fixed the wedge color.
-5. Improved the decomposition of bended patches.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-19_1121"></a>
-2004-02-19 11:21 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving visual trace macros.
-
-DETAILS :
-
-This patch implements a nesting of trace allowing conditions
-specified in different modules, and applies it to the filling algorithm.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.113, src/vdtrace.h 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-19_0744"></a>
-2004-02-19 07:44 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C22.
-
-DETAILS :
-
-The patch
-http://www.ghostscript.com/pipermail/gs-cvs/2004-February/004127.html
-appears incomplete. This one fixes that.
-
-Bug 687306 "CVS head crashes with pkmraw, 300 dpi, with recent changes."
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.112]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-18_1505"></a>
-2004-02-18 15:05 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 8.
-
-DETAILS :
-
-This patch changes a disabled code only.
-
-1. is_curve_small uses a better thresholds.
-2. is_xy_monotonic_by_v was wrong. Replaced with is_bended.
-3. Optimized wedge_trap_decompose.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-18_1500"></a>
-2004-02-18 15:00 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving the filling algorithm, step D8.
-
-DETAILS :
-
-Removed floating point arithmetics, which recently appeared by a hack.
-A rounding is now done slightly different.
-
-EXPECTED DIFFERENCES :
-
-Normal, 72 dpi :
-
-LD.pdf
-
-Normal, 300 dpi :
-
-012-01.ps
-012-05.ps
-013-05.ps
-032-01.ps
-123-01.ps
-123-05.ps
-205-01.ps
-
-pdfwrite, 72 dpi :
-
-LD.pdf
-
-pdfwrite, 300 dpi :
-
-123-01.ps
-123-05.ps
-169-13.ps</pre>
-<p>[src/gxfill.c 1.111, src/lib.mak 1.168]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-18_1441"></a>
-2004-02-18 14:41 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix: Documented rounding formulas in the character processing.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/fapiufst.c 1.24, src/gxhintn.c 1.43, src/ttfmain.c 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-18_0954"></a>
-2004-02-18 09:54 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Converting an image type 4 into imagemask, a wrong color was written.
-
-DETAILS :
-
-This problem was discovered with ghostpcl and owlfoo.pcl from Stefan.
-Thanks to Stefan for detecting it.
-
-This fix is kinda hacky. Let it live for a while, because we want to
-study its consequences before applying more efforts.
-A right fix should not modify the interpreter graphic state,
-but we have no a 'const' copy function for gs_state,
-because gx_gstate_clone shares imager state parts.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfi.c 1.51]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-18_0535"></a>
-2004-02-18 05:35 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Add '!ifndef'/'endif' around varaious parameters in the makefile for the
-Borland compiler (bcwin32.mak). This allows the parameters to be specified
-on the command line without editting the makefile.</pre>
-<p>[src/bcwin32.mak 1.32]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-17_1512"></a>
-2004-02-17 15:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : MSVC7 wrongly optimizes zpcolor.c .
-
-DETAILS :
-
-It's an aliasing problem in the optimizer.
-See comment in code.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/int.mak 1.123, src/zpcolor.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-16_1629"></a>
-2004-02-16 16:29 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving the filling algorithm, step D7.
-
-DETAILS :
-
-When filling an individual trapezoid, a shortcut
-for parallelograms could miss some pixels.
-
-When the left boundary rounds to a vertical line
-and the right one does not, for the right boundary it
-wrongly applied same zero sampling as for the left one,
-in spite of the right boundary can cross pixel centers.
-
-We realize that the shortcut could improve a view
-of some parallelograms. But in same time we detected that
-in alphabet.ps with 72dpi a parallelogram was replaced
-with a wider one, causing a worse view of the character '#'.
-So its usefullness is arguable.
-
-Both features can't provide simultaneousely
-due to the device interface can't pass a flag whether
-an exact coverage is required.
-Therefore we drop the shortcut.
-
-EXPECTED DIFFERENCES :
-
-normal 72dpi :
-
-020-01.ps
-175-01.ps
-1_2001.pdf
-289-01.ps
-446-01.ps
-483-05.ps
-86554321.pdf
-acrobat.pdf
-ADOBE1-4.pdf
-alphabet.ps
-Altona.Page_3.2002-09-27.pdf
-chess.ps
-dina3_watermark.pdf
-kazmir.pdf
-PixelisAd.pdf
-RealCities.pdf
-spec_gs.pdf
-spec_gv.pdf
-test.pdf
-vsem0093.pdf
-xes2ps-problem.pdf
-xgfddg.pdf
-
-normal 300dpi :
-
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-adesso3.pdf
-adesso5.pdf
-adesso7.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona.Page_3.2002-09-27.pdf
-besttest.pdf
-brochurep1.pdf
-bugsample.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-chess.ps
-dave.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-file.pdf
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-japan.ps
-kazmir.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-kshow_with_grestore.ps
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-ngnews.pdf
-ngnews1.pdf
-Openhuis_pdf_zw.pdf
-pdftops.pdf
-prfmm.pdf
-prob.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-textsavematrix.pdf
-type42_glyph_index.ps
-waterfal.ps
-xgfddg.pdf
-xngnews.pdf
-
-pdfwrite 72 dpi :
-
-020-01.ps
-175-01.ps
-1_2001.pdf
-446-01.ps
-483-05.ps
-86554321.pdf
-acrobat.pdf
-ADOBE1-4.pdf
-alphabet.ps
-Altona.Page_3.2002-09-27.pdf
-chess.ps
-kazmir.pdf
-PixelisAd.pdf
-RealCities.pdf
-spec_gs.pdf
-spec_gv.pdf
-test.pdf
-vsem0093.pdf
-xes2ps-problem.pdf
-xgfddg.pdf
-
-pdfwrite 300 dpi :
-
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
+pdfwrite, 72dpi :
012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-adesso3.pdf
-adesso5.pdf
-adesso7.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona.Page_3.2002-09-27.pdf
-besttest.pdf
-brochurep1.pdf
-bugsample.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-chess.ps
-dave.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-file.pdf
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-japan-.ps
-japan.ps
-kazmir.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-kshow_with_grestore.ps
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-ngnews.pdf
-ngnews1.pdf
-Openhuis_pdf_zw.pdf
-pdftops.pdf
-prfmm.pdf
-prob.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-textsavematrix.pdf
-tpc2.ps
-type42_glyph_index.ps
-waterfal.ps
-xgfddg.pdf
-xngnews.pdf</pre>
-<p>[src/gxdtfill.h 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-16_1526"></a>
-2004-02-16 15:26 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 7.
-
-DETAILS :
-
-Documenting the current state of the development,
-because we need to delay the project.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-16_1506"></a>
-2004-02-16 15:06 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Adapt makefile support for compiling in zlib to support v1.2.x rather
-than 1.1.x. Linking to a shared version is unaffected.
-
-DETAILS:
-
-The zlib source was re-arranged from the 1.1.4 to the 1.2.x releases.
-While binary compatibility was maintained, and we link just fine to a
-separately build dynamic zlib, our custom makefile support for compiling
-in the library source no longer works.
-
-Rather than add a 'ZLIB_VERSION' makefile variable and the attendent
-configuration costs, we've simply migrated completely to the new (much
-faster) 1.2.x series. 1.2.1 is now the minimum version to be used if you
-wish to compile zlib as part of Ghostscript.</pre>
-<p>[doc/Make.htm 1.71, src/zlib.mak 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-16_1351"></a>
-2004-02-16 13:51 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving the filling algorithm, step D6.
-
-DETAILS :
-
-The algorithm for for filling an individual trapezoid
-used a wrong formula when rounding a coordinate to pixel index.
-
-An intersection of a trapezoid boundary with a scanline
-is represented as a rational value, in which the fraction
-represent a part of an unit of 'fixed'.
-Computing a pixel index, the fraction was ignored.
-Due to that the spot sides were biased into about 1/256 pixels.
-
-The bias appears important when some trapezoids are fixed with
-swapped coordinate axes, because the bias appears in an opposite
-direction to one with unswapped axes. Therefore a decomposition
-of a shading missed pixels, which fall exactly into the biased
-boundary, causing a dropout.
-
-Here is the analyzis of the old rounding :
-
-We must paint pixels with index i such that
-
- Xl <= i + 0.5 < Xr
-
-The condition is is equivalent to
-
- Xl - 0.5 <= i < Xr - 0.5
-
-which is equivalent to
- (is_integer(Xl - 0.5) ? Xl - 0.5 : ceil(Xl - 0.5)) <= i <
- (is_integer(Xr - 0.5) ? Xr - 0.5 : floor(Xr - 0.5) + 1)
-
-(the last '+1" happens due to the strong comparizon '<')
-which is equivalent to
-
- ceil(Xl - 0.5) <= i < ceil(Xr - 0.5)
-
-trap_line represents the intersectiion coordinate as a rational value :
-
- Xl = xl + e - fl
- Xr = xr + e - fr
-
-gxdtfill.c computes l.x = x0l + (fixed_half - fixed_epsilon).
-In our notation it is equal to :
-
- xl' := xl + 0.5 - e
- xr' := xr + 0.5 - e
-
-Then
-
- xl = xl' - 0.5 + e
- xr = xr' - 0.5 + e
-
- Xl = xl' - 0.5 + 2e - fl
- Xr = xr' - 0.5 + 2e - fr
-
- ceil(xl' - 0.5 + 2e - fl - 0.5) <= i < ceil(xr' - 0.5 + 2e - fr - 0.5)
-
-which is equivalent to
-
- ceil(xl' + 2e - fl) - 1 <= i < ceil(xr' + 2e - fr) - 1
-
-We have :
-
- ceil(xl' + 2e - fl) - 1 ==
-
- (is_integer(xl' + 2e - fl) ? xl' + 2e - fl - 1 : ceil(xl' + 2e - fl) - 1) ==
-
- (is_integer(xl' + 2e - fl) ? xl' + 2e - fl - 1 : floor(xl' + 2e - fl))
-
-Since -e <= fl < 0, it is equal to
-
- (is_integer(xl' + e) && e == fl ? xl' + 2e - fl - 1 : floor(xl' + 2e - fl)) ==
-
- (is_integer(xl' + e) && e == fl ? xl' + e - 1 :
- is_integer(xl' + e) && e != fl ? floor(xl' + 2e - fl)
- !is_integer(xl' + e) && e != fl ? floor(xl' + 2e - fl)
- !is_integer(xl' + e) && e == fl ? floor(xl' + 2e - fl)) ==
-
- (is_integer(xl' + e) && e == fl ? xl' + e - 1 :
- is_integer(xl' + e) && e != fl ? xl' + e :
- !is_integer(xl' + e) && e != fl ? floor(xl' + e)
- !is_integer(xl' + e) && e == fl ? floor(xl' + e)) ==
-
- (is_integer(xl' + e) && e == fl ? xl' + e - 1 : floor(xl'))
-
-And the condition is equivalent to
-
- (is_integer(xl' + e) && e == fl ? xl' + e - 1 : floor(xl')) <= i <
- (is_integer(xr' + e) && e == fr ? xl' + e - 1 : floor(xr'))
-
-But the old code computes
-
- floor(xl') <= i < floor(xr'))
-
-Thus when is_integer(xl' + e) && e == fl,
-it wrongly shifts the rounded boundary in 1 pixel to the left.
-
-EXPECTED DIFFERENCES :
+pdfwrite 300dpi :
-Almost all tests render differently.
-
-Normal 72 dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-BEST8-99-Path.fh7.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-Bug687207.ps
-bugsample.pdf
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-CAT_LOGO.ps
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chilis_red.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-doretree.ps
-Es001-01.pdf
-escher.ps
-Faktura.pdf
-file.pdf
-file2.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-font_issue.pdf
-frosch.pdf
-golfer.eps
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan.ps
-john_clippedimage.pdf
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-KozukaB-ILEmbed.pdf
-kshow_with_grestore.ps
-laballade.pdf
-LD.pdf
-LMG-40-7161-RU-DUC-01.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-motor.pdf
-mspro.pdf
-muur.eps
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-Page01.pdf
-pdfopt_bug.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-rotate0.pdf
-rotate270.pdf
-S2_Digitalproof-Forum_circles.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-si_tg_brochure.pdf
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-Testform.v1.0.2.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-two_encodings.ps
-type2accent.pdf
-type3xshow.eps
-type42_glyph_index.ps
-unihaken-color.pdf
-vasarely.ps
-vsem0093.pdf
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-xngnews.pdf
-
-normal, 300dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-02.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-BEST8-99-Path.fh7.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-Bug687156.ps
-Bug687207.ps
-bugsample.pdf
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chilis_red.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-Dave_Barry.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-doretree.ps
-Encoding.ps
-Es001-01.pdf
-escher.ps
-Faktura.pdf
-file.pdf
-file2.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-font_issue.pdf
-foo.pdf
-frosch.pdf
-golfer.eps
-gs.anotherfailure.pdf
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-GS_Stroke_error.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-InstandardBuildChar.ps
-Jahr2000.pdf
-japan.ps
-john_clippedimage.pdf
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-kshow_with_grestore.ps
-laballade.pdf
-LD.pdf
-LMG-40-7161-RU-DUC-01.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-motor.pdf
-muur.eps
-NECPNTD.pdf
-new_rect.pdf
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-non-sepqxd2distiller.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-Page01.pdf
-pdfopt_bug.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-probe3.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-ridt91.eps
-RodinCIDEmbed.pdf
-rotate0.pdf
-rotate180.pdf
-rotate270.pdf
-rotate90.pdf
-S2_Digitalproof-Forum_circles.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-si_tg_brochure.pdf
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test-hyperref.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-test3.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-two_encodings.ps
-type2accent.pdf
-type3xshow.eps
-type42_glyph_index.ps
-unihaken-color.pdf
-UnusualFontMatrix.ps
-vasarely.ps
-vsem0093.pdf
-Vu989qfj.pdf
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-xngnews.pdf
-
-pdfwrite 72dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-BEST8-99-Path.fh7.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-Bug687207.ps
-bugsample.pdf
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-CAT_LOGO.ps
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chilis_red.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-doretree.ps
-Es001-01.pdf
-escher.ps
-Faktura.pdf
-file.pdf
-file2.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-font_issue.pdf
-frosch.pdf
-golfer.eps
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan.ps
-john_clippedimage.pdf
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-KozukaB-ILEmbed.pdf
-kshow_with_grestore.ps
-laballade.pdf
-LD.pdf
-LMG-40-7161-RU-DUC-01.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-motor.pdf
-mspro.pdf
-muur.eps
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-Page01.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-ridt91.eps
-RodinCIDEmbed.pdf
-rotate0.pdf
-S2_Digitalproof-Forum_circles.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-si_tg_brochure.pdf
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-Testform.v1.0.2.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-two_encodings.ps
-type2accent.pdf
-type3xshow.eps
-type42_glyph_index.ps
-unihaken-color.pdf
-vasarely.ps
-vsem0093.pdf
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-xngnews.pdf
-
-pdfwrite, 300 dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
205-09.ps
-205-13.ps
-206-01.ps
212-01.ps
213-01.ps
214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-02.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-BEST8-99-Path.fh7.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-Bug687156.ps
-Bug687207.ps
-bugsample.pdf
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-CAT_LOGO.ps
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chilis_red.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-Dave_Barry.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-doretree.ps
-Encoding.ps
-Es001-01.pdf
-escher.ps
-Faktura.pdf
-file.pdf
-file2.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-font_issue.pdf
-foo.pdf
-frosch.pdf
-golfer.eps
-gs.anotherfailure.pdf
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-GS_Stroke_error.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-InstandardBuildChar.ps
-Jahr2000.pdf
-japan.ps
-john_clippedimage.pdf
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-kshow_with_grestore.ps
-laballade.pdf
-LD.pdf
-LMG-40-7161-RU-DUC-01.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-motor.pdf
-mspro.pdf
-muur.eps
-NECPNTD.pdf
-new_rect.pdf
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-non-sepqxd2distiller.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-Page01.pdf
-pdfopt_bug.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-probe3.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-ridt91.eps
-RodinCIDEmbed.pdf
-rotate0.pdf
-rotate180.pdf
-rotate270.pdf
-rotate90.pdf
-S2_Digitalproof-Forum_circles.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-si_tg_brochure.pdf
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test-hyperref.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-test3.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-two_encodings.ps
-type2accent.pdf
-type3xshow.eps
-type42_glyph_index.ps
-unihaken-color.pdf
-UnusualFontMatrix.ps
-vasarely.ps
-vsem0093.pdf
-Vu989qfj.pdf
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-xngnews.pdf</pre>
-<p>[src/gxdtfill.h 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-16_0947"></a>
-2004-02-16 09:47 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Improving the filling algorithm, step D5.
-
-DETAILS :
-
-It's a preparation for fixing a problem while filling a single trapezoid.
-This change improved a debug drawing.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxdtfill.h 1.14]</p>
+321-09.ps</pre>
+<p>[src/gdevpdtt.c 1.85, src/gslparam.h 1.5, src/zchar.c 1.13]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0913"></a>
-2004-02-16 09:13 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-28_1946"></a>
+2004-07-28 19:46 Ralph Giles</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 6.
-
-DETAILS :
-
-The new code is disabled with NEW_TENSOR_SHADING 0.
-
-1. Implemented a debug drawer draw_wedge.
-2. dbg_nofill was not properly initialized.
-3. Removed a debuging hack.
-4. removed unused variables.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxshade6.c 1.12]</p>
+test commit; verifying the cvs announcement list is working.</pre>
+<p>[src/Makefile.in 1.37]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0910"></a>
-2004-02-16 09:10 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-28_1009"></a>
+2004-07-28 10:09 Igor Melichev</strong></p>
<blockquote>
<pre>
-Improving the filling algorithm, step D4.
+Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 4).
DETAILS :
-It's a preparation for fixing a problem while filling a single trapezoid.
-This change is algorithmicaly equivalent.
+FunctionType 3 did not account stitches with reversed interval boundaries : lower > upper.
+Also added a tolerance to a small noise.
+687573 Error: /rangecheck in --.shfill--
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxdtfill.h 1.13]</p>
+<p>[src/gsfunc3.c 1.22]</p>
</blockquote>
-<p><strong><a name="2004-02-16_0821"></a>
-2004-02-16 08:21 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-26_2333"></a>
+2004-07-26 23:33 Dan Coby</strong></p>
<blockquote>
<pre>
-Improving the filling algorithm, step D2.
-
-DETAILS :
+Fix for 687572 AFPL Ghostscript 8.14 fails with some PDF files.
-It's a preparation for fixing a problem while filling a single trapezoid.
-This change is algorithmicaly equivalent.
-It branches out the rectangle case and simplifies it.
-Some macros are moved by necessity.
+DETAILS:
-EXPECTED DIFFERENCES :
+The given file uses the scn operator inside of a form. The scn
+operator is used for defining a color with DeviceN color spaces.
+The scn operator uses .pdfcount (inside of scresolve) to determine
+the number of parameters. However inside a form, there is an extra
+dictionary on the stack.
-None.</pre>
-<p>[src/gxdtfill.h 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-16_0601"></a>
-2004-02-16 06:01 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687294 psdcmyk device does not write resolution correctly to PSD
-files. This change adds a 'ResolutionInfo structure' into the 'Image
-Resources' section of the output file. This structure specifies the
-horizontal and vertical resolution of the image. (Note: Adobe's support
-of asymetric resolutions is poor.)</pre>
-<p>[src/gdevpsd.c 1.6]</p>
+The fix consists of adjusting pdfemptycount (which is used by .pdfcount)
+to match the stack depth while executing a form. After the form is
+executed, pdfemptycount is returned to its previous value.</pre>
+<p>[lib/pdf_draw.ps 1.83]</p>
</blockquote>
-<p><strong><a name="2004-02-15_1451"></a>
-2004-02-15 14:51 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-26_2321"></a>
+2004-07-26 23:21 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix: Improving the documentation (comments) about the filling algorithm, improved.
-
-DETAILS :
-
-The prevoius change to the comment appears wrong,
-i.e. the old expression "x + xf/h + 1"
-appears correct due to compute_ldx subtracts h from
-the remainder but doesn't add 1 to the integer part,
-which is x.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.13]</p>
+Fix for 687591 Overprint Preview is not documented. This change adds
+documentaion for how Ghostscript handles overprinting and spot colors
+to Use.htm.</pre>
+<p>[doc/Use.htm 1.110]</p>
</blockquote>
-<p><strong><a name="2004-02-15_1131"></a>
-2004-02-15 11:31 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-24_0812"></a>
+2004-07-24 08:12 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 5.
+ps2write step 39 : Implementing embedded TrueType fonts (continued).
DETAILS :
-The new code is disabled with NEW_TENSOR_SHADING 0.
-It fixes some dropouts.
+This fixes the problem with True Type encoding :
+account 'post' when 'cmap' can't give a character mapping.
+Debugged wit 159.pdf , the character /registered.
-1. Improved the documentation (comments).
-2. Improved the debug painting with NEW_TENSOR_SHADING_DEBUG.
-3. Fixed bugs in the linear equation solver.
-4. Improved the wedge generation.
-5. Reduced the usage of transpozed coordinates.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
+UnusualFontMatrix.ps, 159.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.11]</p>
+<p>[lib/opdfread.ps 1.34]</p>
</blockquote>
-<p><strong><a name="2004-02-15_1128"></a>
-2004-02-15 11:28 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-23_1911"></a>
+2004-07-23 19:11 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix: Improving the documentation (comments) about the filling algorithm.
+ps2write step 39 : Implementing embedded TrueType fonts.
DETAILS :
-We believe that the comment about "x, xf" was wrong.
-Note tha the old expression was "x + xf/h + 1",
-and we changed it to "x + xf/h". We believe that
-the new one corresponds to the code.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
+UnusualFontMatrix.ps, 159.pdf .
+
+Embedded fonts work, but there exist an encoding problem with 159.pdf .
+The PS reader must have AdobeGlyphList and MacRomanEncoding.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevddrw.c 1.12, src/gxdtfill.h 1.11]</p>
+<p>[lib/opdfread.ps 1.33]</p>
</blockquote>
-<p><strong><a name="2004-02-14_1157"></a>
-2004-02-14 11:57 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-22_1735"></a>
+2004-07-22 17:35 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 4.
+ps2write step 38 : Implementing embedded Type 1 fonts.
DETAILS :
-The new code is disabled with NEW_TENSOR_SHADING 0.
-In the new code wedges were wrong.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
+UnusualFontMatrix.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.10]</p>
+<p>[lib/opdfread.ps 1.32]</p>
</blockquote>
-<p><strong><a name="2004-02-14_0904"></a>
-2004-02-14 09:04 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-22_1304"></a>
+2004-07-22 13:04 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 3.
+ps2write step 38 : Write font data after the font descriptor.
DETAILS :
-The new code is disabled with NEW_TENSOR_SHADING 0.
-In the new code fixed internal wegdes.
+opdfread.ps will use this constraint to provide
+a proper context for interpreting font data.
+Rather we need this constraint with ps2write only,
+we always implement it to simplify the code.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.9, src/lib.mak 1.167]</p>
+<p>[src/gdevpdtb.c 1.27, src/gdevpdtb.h 1.10, src/gdevpdtd.c 1.16]</p>
</blockquote>
-<p><strong><a name="2004-02-14_0844"></a>
-2004-02-14 08:44 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-22_1108"></a>
+2004-07-22 11:08 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : Visual trace could miss the current color when reinitialized.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/dwtrace.c 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-13_1751"></a>
-2004-02-13 17:51 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Propagate a change from the GS_8_1X branch. AC_CHECK_TYPES takes a
-comma-sparated list.</pre>
-<p>[src/configure.ac 1.40]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-13_1643"></a>
-2004-02-13 16:43 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-A new implementation of shadings, step 2.
+ps2write step 37 : Don't convert Type 1 into CFF when generating ps2write output.
DETAILS :
-The new code is disabled with NEW_TENSOR_SHADING 0.
-In the new code fixed the decomposition except wegdes.
+1. Applied the Type 1 font writer.
+2. Rather Type1C is a PDF 1.2 feature, we can't write it into a ps2write output.
+ We use the OrderResources parameter to decide about (not)converting Type 1
+ into Type1C (i.e. into CFF), because we want to write some PDF1.2 objects
+ into a ps2write output (for example - function objects,
+ because we don't want to convert them in C code).
+3. The parameter OrderResources isn't a good switch for deciding about CFF
+ due to the parameter name, but currently we don't want to define one more parameter.
+ Maybe will improve it later.
+4. Fixed a bug, which wrote "/Length1 -1" with Type1C.
+5. CONVERT_CFF_TO_TYPE1 is reserved for further development.
+6. Fixed Cygwin/gcc warnings in gdevpdfg.c .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxshade6.c 1.8, src/lib.mak 1.166]</p>
+<p>[src/gdevpdfg.c 1.57, src/gdevpdfx.h 1.99, src/gdevpdtb.c 1.26]</p>
</blockquote>
-<p><strong><a name="2004-02-13_0815"></a>
-2004-02-13 08:15 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-22_0756"></a>
+2004-07-22 07:56 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : NoEncrypt option by a special customer request, improved.
+ps2write step 36 : Switching on the new code DELAYED_STREAMS, PS2WRITE.
DETAILS :
-Improving the condition for empty keys.
+See log messages of previous patches.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdfo.c 1.28]</p>
+<p>[src/gdevvec.h 1.15]</p>
</blockquote>
-<p><strong><a name="2004-02-13_0808"></a>
-2004-02-13 08:08 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-20_0708"></a>
+2004-07-20 07:08 Ray Johnston</strong></p>
<blockquote>
<pre>
-pdfwrite : NoEncrypt option by a special customer request.
-
-DETAILS :
-
-The implementation isn't fool proof : an inaccurate specification
-may generate an inconforming document.
+Fix to make sure that device deactivation is invoked before final close
+of the device when exit. Bug #687557.
-The specified key is not encrypted in any dictionary.
-The specification must use an external representation :
-a name to be prepended with slash, a string to be bracketed, and so on.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdf.c 1.89, src/gdevpdfo.c 1.27, src/gdevpdfp.c 1.37, src/gdevpdfu.c 1.51, src/gdevpdfx.h 1.86]</p>
-</blockquote>
+DETAILS:
-<p><strong><a name="2004-02-12_1629"></a>
-2004-02-12 16:29 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Intel C and Cygwin/gcc compiler warnings.
+It is not known whether or not this ever worked, but this change does
+make sure that the .uninstalldevice gets invoked before the final
+closedevice on exit.
-EXPECTED DIFFERENCES :
+EXPECTED DIFFERENCES.
-None.</pre>
-<p>[src/gdevpdtc.c 1.33, src/gxcht.c 1.12, src/gxdhtserial.c 1.4, src/gxht.c 1.15, src/gxttfb.c 1.30]</p>
+None detected with regression suite.</pre>
+<p>[src/imain.c 1.38]</p>
</blockquote>
-<p><strong><a name="2004-02-12_1519"></a>
-2004-02-12 15:19 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-17_1844"></a>
+2004-07-17 18:44 Ray Johnston</strong></p>
<blockquote>
<pre>
-Improving the filling algorithm, step D1.
-
-DETAILS :
-
-1. The 'peak' condition was too weak.
- Caused minor differences in rasters with dropout prevention.
+Fix so that compiled fonts have the dictionary permissions set correctly.
+Bug 687444 for customer #531.
-2. Expanded loop_fill_trap_np in the inner trapezoid loop.
- This change is algorithmically equivalent.
-
-3. Cleaned the inner loop with moving out the computations if ybot, ytop.
- This change is algorithmically equivalent.
-
-4. Moved the (ybot < ytop) check outside the trapezoid loop.
- This change is algorithmically equivalent.
+DETAILS:
-5. Inserted 'const' into loop_fill_trap_np.
+Previously the 'dict_attrs' parameter was ignored. I compared the attrs
+of the compiled font to a font loaded from a PFB file using:
-6. Inserted the section "Reserved to improve the banding"
- to simplify experiments with it.
+%! -------------------------------------------------------------------------
+% Procedure to check attributes of all elements of a dictionary
+% used to check Font dict contents.
-EXPECTED DIFFERENCES :
-
-72dpi :
+/dumpattrs { % object dumpattrs -
+ dup { rcheck } stopped { pop (?) } { { (r) } { (-) } ifelse } ifelse print
+ dup { wcheck } stopped { pop (?) } { { (w) } { (-) } ifelse } ifelse print
+ dup { xcheck } stopped { pop (?) } { { (x) } { (-) } ifelse } ifelse print
+ ( ) print type = flush
+} bind def
-86554321.pdf
-adesso1.pdf
-Altona.Page_3.2002-09-27.pdf
-besttest.pdf
-CAIB_highres_page4.pdf
-pstopdf.pdf
-smdf.90441.102.pdf
-sports.pdf
-waterfal.ps
+/chkattrs { % dict chkattrs - and lots of formatted output
+ (Dictionary: ) print dup dumpattrs
+ { exch
+ ( / ) dup dup 4 -1 roll
+ 20 string cvs
+ 5 exch putinterval print
+ ( / ) 0 exch putinterval
+ dumpattrs
+ } forall
+} bind def
-300dpi :
+/Helvetica findfont chkattrs
+quit
-Altona.Page_3.2002-09-27.pdf</pre>
-<p>[src/gxfill.c 1.110, src/gxfilltr.h 1.3]</p>
+%--------------------------------------------------------------------------</pre>
+<p>[src/iccfont.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-12_1205"></a>
-2004-02-12 12:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-16_2214"></a>
+2004-07-16 22:14 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : Some Intel C compiler warnings.
+Fix (pdfwrite) : Provide a delayed stream writing.
DETAILS :
-Bug 687292 "General bugs in ghostscript source".
+The ps2write requires length of streams to be written before the stream.
+This implements pdf_begin_data_stream with opening a stream object in a temporary file,
+using a methgod similar to pdf_enter_substream.
+With the new mechanizm the output file doesn't need to be positionable,
+and the generated PDF appears more effective because the number of objects is smaller.
-"double wxy[2]" was a real bug, but this code fragment
-never executes with current Ghostscript and GhostPCL interpreters.
+Also fixed a bug in gdevpdfu.c : crashed when encrypted with no page compression.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfcopy.c 1.41]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-12_1028"></a>
-2004-02-12 10:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Charproc can change scale before calling setcachedevice.
-
-DETAILS :
-
-Bug 687290 "pdfwrite generate too large glyphs".
-
-To know that CTM changed by a charproc before setcachedevice or setcharwidth,
-we set identity CTM before entering the charproc.
-If setcachedevice or setcharwidth decides to fall back to
-the default implementation, we restore the CTM in there.
-
-The condition in gdevpdtt.c 1931 is changed,
-causing minor differences with Bug687044.ps and muur.eps .
-
-We found that a further improvement would be useful for
-a better handling of a composite font with a Type 3 descendent.
-Opened the new bug 687298 about this issue.
-Differences with Bug687044.ps and muur.eps may be related to it.
-
-EXPECTED DIFFERENCES :
-
-A minor shift of glyphs with pdfwrite :
-
-Bug687044.ps
-muur.eps</pre>
-<p>[src/gdevpdf.c 1.88, src/gdevpdfx.h 1.85, src/gdevpdtt.c 1.73]</p>
+<p>[src/gdevpdf.c 1.97, src/gdevpdfu.c 1.57, src/gdevpdfx.h 1.98, src/gdevpdtb.c 1.25, src/gdevpdtf.c 1.37, src/gdevpdti.c 1.35, src/gdevpdtw.c 1.28, src/gdevpdtw.h 1.5]</p>
</blockquote>
-<p><strong><a name="2004-02-11_1120"></a>
-2004-02-11 11:20 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-15_1639"></a>
+2004-07-15 16:39 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : GS_LIB_DEFAULT was wrong on OpenVMS.
+Fix (pdfwrite) : Discard the output file seekability requirement in the /PS pdfmark implementation.
DETAILS :
-Bug 687258 "(VMS) Illustrator 10 eps with spot color crashes ghostscript".
+The ps2write requires length of streams to be written before the stream.
+The implementation of /PS pdfmark wrote a length in a separate object after the stream.
+Now /PS pdfmark is implemented with pdf_enter_substream,
+which writes the length directly into the object dictionary.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/openvms.mak 1.35]</p>
+<p>[src/gdevpdfm.c 1.45]</p>
</blockquote>
-<p><strong><a name="2004-02-11_1100"></a>
-2004-02-11 11:00 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-15_1237"></a>
+2004-07-15 12:37 Igor Melichev</strong></p>
<blockquote>
<pre>
-A new implementation of shadings, step 1.
+Fix (pdfwrite) : text.operation was inconsistent after replacing TEXT_FROM_GLYPHS.
DETAILS :
-The new code is disabled with NEW_TENSOR_SHADING 0.
-The new code compiles but never tested.
+Bug 687563 "segfault during pdfwrite".
+text.operation became inconsistent after replacing
+TEXT_FROM_*_GLYPH* with TEXT_FROM_STRING.
+Declared a stronger constraint for process_text_modify_width,
+and documented the trick with text indices in process_plain_text.
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gxshade6.c 1.7, src/lib.mak 1.165]</p>
+pdfwtite -r300 tpc2.ps</pre>
+<p>[src/gdevpdtc.c 1.36, src/gdevpdte.c 1.60]</p>
</blockquote>
-<p><strong><a name="2004-02-10_2231"></a>
-2004-02-10 22:31 Ralph Giles</strong></p>
+<p><strong><a name="2004-07-14_1821"></a>
+2004-07-14 18:21 Ray Johnston</strong></p>
<blockquote>
<pre>
-Update our copy of the ijs source to the latest cvs source, which
-includes libtool support for building a shared library version. Closes
-bug 687278.</pre>
-<p>[ijs/Makefile.am 1.1, ijs/Makefile.in 1.3, ijs/README 1.2, ijs/autogen.sh 1.1, ijs/configure.ac 1.1, ijs/configure.in 1.2, ijs/ijs.c 1.2, ijs/ijs.h 1.2, ijs/ijs.pc.in 1.1, ijs/ijs_client.c 1.2, ijs/ijs_client.h 1.2, ijs/ijs_client_example.c 1.2, ijs/ijs_exec_unix.c 1.2, ijs/ijs_exec_win.c 1.2, ijs/ijs_server.c 1.2, ijs/ijs_server.h 1.2, ijs/ijs_server_example.c 1.2, ijs/ijs_spec.sgml 1.2, ijs/install-sh 1.2, ijs/unistd_.h 1.2]</p>
+Sort the output in filename order to make comparison of daily db's easier.</pre>
+<p>[toolbin/tests/dump_testdb 1.7]</p>
</blockquote>
-<p><strong><a name="2004-02-08_1735"></a>
-2004-02-08 17:35 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix: Improving the decision whether the dropout prevention to be applied.
+ps2write step 35 : Fixing more problems with color spaces.
DETAILS :
-1. The old code applied the dropout prevention
-if gx_fill_params::adjust = 0.
-It worked since the latter was set to 0 only for characters.
-
-Now we intend to discontinue the fill adjustment with shadings,
-so the old condition won't be applicable in further revisions.
-Therefore we reserve the value -1 of gx_fill_params::adjust
-especially for designating characters with a dropout prevention,
-and percept it in the filling algorithm (We tried to use
-new special flag for designeting characters,
-but it requires an enhancement to the clist language.).
+The alternative space of [/Indexed [/Separation ...] ...] was not resolved.
-2. The old code has a problem with PaintType 2 fonts :
-it applied the dropout prevention to strokes.
-This patch fixes that with checking PaintType in gxtype1.c .
-
-EXPECTED DIFFERENCES :
-
-A progression with CAT_LOGO.ps due to (2).</pre>
-<p>[src/gxfill.c 1.109, src/gxistate.h 1.20, src/gxtype1.c 1.36, src/zchar42.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-08_1129"></a>
-2004-02-08 11:29 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C21.
-
-DETAILS :
-
-Removing the old code DONT_FILTER_SMALL_SEGMENTS 0.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 473-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.42, src/gxfill.c 1.108, src/gxfill.h 1.22, src/gxpflat.c 1.40, src/gzpath.h 1.36]</p>
+<p>[lib/opdfread.ps 1.31]</p>
</blockquote>
-<p><strong><a name="2004-02-08_1023"></a>
-2004-02-08 10:23 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C20.
+Fix (pdfwrite) : Don't write DeviceN, DevicePixel colors with CompatibilityLevel<=1.2 .
DETAILS :
-Removing the old code SCANLINE_USES_ITERATOR 0.
+PDF 1.2 doesn't define DeviceN, DevicePixel.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.41, src/gxfill.c 1.107, src/gxfill.h 1.21, src/gxfillsl.h 1.3, src/gxpcopy.c 1.22, src/gzpath.h 1.35]</p>
+<p>[src/gdevpdfc.c 1.47, src/gdevpdfg.c 1.56]</p>
</blockquote>
-<p><strong><a name="2004-02-08_0146"></a>
-2004-02-08 01:46 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-14_1559"></a>
+2004-07-14 15:59 Ralph Giles</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C19a.
-
-DETAILS :
-
-Fixing a comment.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxdtfill.h 1.10]</p>
+Include string_.h for missing prototypes of strlen() &c. Bug 687541.</pre>
+<p>[src/gscdevn.c 1.20, src/gsfcmap.c 1.23, src/gsht1.c 1.14, src/int.mak 1.127, src/lib.mak 1.188, src/zfile1.c 1.12]</p>
</blockquote>
-<p><strong><a name="2004-02-08_0141"></a>
-2004-02-08 01:41 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-14_1538"></a>
+2004-07-14 15:38 Ralph Giles</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C19.
-
-DETAILS :
-
-This is an optimization of the trapezoid algorithm :
-
-1. gx_fill_trapezoid_narrow derives a specialization from
- fill_loop_by_trapezoids__pr.
-
-2. Simplified the GX_FILL_TRAPEZOID template with moving the
- fill_direct check outside the template.
-
-3. Renamed gx_default_fill_trapezoid_as, gx_default_fill_trapezoid_ns,
- gx_fill_trapezoid_narrow.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.11, src/gdevddrw.h 1.4, src/gxdtfill.h 1.9, src/gxfilltr.h 1.2]</p>
+Cast pointer type to avoid a warning. Bug 687541.</pre>
+<p>[src/sjpx.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-02-06_1105"></a>
-2004-02-06 11:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-14_1534"></a>
+2004-07-14 15:34 Ralph Giles</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C18.
-
-DETAILS :
-
-This is an optimization of the new scanline algorithm.
-merge_ranges doesnt need to enumerate flattened pieces of monotonic curves.
-Minor change : renamed "monotonic" into "monotonic_y".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.106, src/gxfill.h 1.20]</p>
+Correct some types to unsigned to match the gp_file_name_combine() prototype.
+Partial fix for bug 687541.</pre>
+<p>[src/gp_unix_cache.c 1.3]</p>
</blockquote>
-<p><strong><a name="2004-02-05_1759"></a>
-2004-02-05 17:59 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-14_1424"></a>
+2004-07-14 14:24 Ray Johnston</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C17.
-
-DETAILS :
-
-Do not filter out short flattened segments.
-
-We believe that the old code was not conforming to PLRM due to filtering small
-segments after flatteingng a curve.
+Fix to pdfwrite initialization to make sure initial distiller params are
+incorporated into the device. Also add collection of distillerparams when
+building currentpagedevice. Fixes bugs 687325, 687436 and 687458.
-We believe that the filtering has 2 purposes :
+DETAILS:
-1. Prevent the filling algorythms from zero length segments;
-2. Speed up the filling with reducing the number of vertices in a polygon.
+Earlier change to use .putdeviceparamsonly in gs_pdfwr.ps so that the
+use of setdistillerparams does not reinitialize the device caused the
+initial parameter settings to not be set in the device. The change to
+gs_pdfwr.ps accomplishes this.
-The new filling algorithm handles zero length segments with no problem,
-and the speeding up appears within 1% except for shadings.
-We believe that the rendering quality is more important.
+Part of the investigation by Igor Melichev discovered that the values of
+disillerparams would not be correctly reflected in the pagedevice. The
+change to gs_setpd.ps collects the currentdistillerparams when the device
+is pdfwrite and merges new values into the pagedevice dictionary. The
+method is similar to that used for the dynamicppkeys such as PageCount
+that can be changed by the device. For the distillerparams, the values
+are changed dynamically by setdistillerparams.
-The performance of shadings to be fixed separately.
+EXPECTED DIFFERENCES.
-EXPECTED DIFFERENCES :
+Rotation of several files is restored to the correct value given by
+gs8.11:
-This patch causes rendering differences with almost all of comparefiles :
-
-Normal, 72 dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-Bug687156.ps
-bugsample.pdf
-bulletin.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-Dave_Barry.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Encoding.ps
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-frosch.pdf
-golfer.eps
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan-.ps
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-laballade.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-mspro.pdf
-NECPNTD.pdf
-new_rect.pdf
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-pdfopt_bug.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test-setweightvector.ps
-test.pdf
-test2.pdf
-test2a.pdf
-test3.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-Type11CDevProc.ps
-Type3stringwidth.ps
-type42_glyph_index.ps
-vsem0093.pdf
-Vu989qfj.pdf
-waterfal.ps
-xgfddg.pdf
-xngnews.pdf
-
-Normal, 300dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-02.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-bugsample.pdf
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-CAT_LOGO.ps
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-Dave_Barry.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Encoding.ps
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-foo.pdf
-frosch.pdf
-golfer.eps
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-GS_Stroke_error.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-laballade.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-mspro.pdf
-NECPNTD.pdf
-new_rect.pdf
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-non-sepqxd2distiller.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-pdfopt_bug.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test-hyperref.pdf
-test.pdf
-test3.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-two_encodings.ps
-type1-ce1_setcurrentpoint.ps
-Type3stringwidth.ps
-type42_glyph_index.ps
-vsem0093.pdf
-Vu989qfj.pdf
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-xngnews.pdf
-
-pdfwrite, 72dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-03.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-Bug687156.ps
-bugsample.pdf
-bulletin.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-Dave_Barry.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Encoding.ps
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-frosch.pdf
-golfer.eps
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-laballade.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-mspro.pdf
-NECPNTD.pdf
-new_rect.pdf
-new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test-setweightvector.ps
-test.pdf
-test2.pdf
-test2a.pdf
-test3.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-Type11CDevProc.ps
-Type3stringwidth.ps
-type42_glyph_index.ps
-vsem0093.pdf
-Vu989qfj.pdf
-waterfal.ps
-xgfddg.pdf
-xngnews.pdf
-
-pdfwrite, 300dpi :
-
-0.pdf
-000040cf.000_60.pdf
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-01_001.pdf
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-02.ps
-268-04.ps
-268-05.ps
-268-06.ps
-268-10.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-290.pdf
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso5.pdf
-adesso6.pdf
-adesso7.pdf
-adesso8.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-ats-3-5-99.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-budget2_ai87.pdf
-bug-gstest.pdf
-Bug687044.ps
-bugsample.pdf
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-ccc.pdf
-chess.ps
-chilis_black.pdf
-chstudy.pdf
-CIDembedded.pdf
-colorcir.ps
-dave.pdf
-Dave_Barry.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Encoding.ps
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-foo.pdf
-frosch.pdf
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-GS_Stroke_error.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-ICPconcept.pdf
-Jahr2000.pdf
-japan-.ps
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-knight.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-laballade.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
mspro.pdf
-NECPNTD.pdf
-new_rect.pdf
new_rect_nr.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-non-sepqxd2distiller.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-p2b-100.pdf
-pdfopt_bug.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test-hyperref.pdf
-test-setweightvector.ps
-test.pdf
-test3.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-two_encodings.ps
-type42_glyph_index.ps
-vsem0093.pdf
-Vu989qfj.pdf
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-xngnews.pdf</pre>
-<p>[src/gx.h 1.40]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-05_1608"></a>
-2004-02-05 16:08 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C16.
-
-DETAILS :
-
-Switching to the new scanline algorithm based on the flattened iterator.
-Now both the trapezoid and the scanline algorithm use same flattened path.
-
-Differences in rasters appears due to 2 reasons :
-
-1. An inprecise expressions used in the old algorithm in gx_curve_x_at_y :
-the iteration of midpoint_fast accumulates a big rounding error.
-The new algorithm have smaller error due to 3*log2(N) fraction bits
-while the coordinate accumulation, where N is the number of flattened segments.
-
-2. The old algorithm used inprecise expressions in pco_monotonize.
-The new algorithm applies a flattening instead the monotonization.
-
-EXPECTED DIFFERENCES :
-
-Normal, 72 dpi :
-
-012-09.ps
-013-09.ps
-020-01.ps
-027-05.ps
-027-13.ps
-045-01.ps
-093-01.ps
-103-01.ps
-118-01.ps
-165-01.ps
-231-01.ps
-233-01.ps
-251-01.ps
-281-01.ps
-289-01.ps
-308-04.ps
-311-03.ps
-442-01.ps
-483-01.ps
-a.pdf
-ai2.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-Bug687207.ps
-bugsample.pdf
-chilis_black.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-
-Normal, 300dpi :
-
-012-09.ps
-013-09.ps
-020-01.ps
-027-13.ps
-045-01.ps
-093-01.ps
-103-01.ps
-118-01.ps
-136-01.ps
-165-01.ps
-231-01.ps
-233-01.ps
-251-01.ps
-281-01.ps
-289-01.ps
-442-01.ps
-483-01.ps
-a.pdf
-ai2.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-Bug687207.ps
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-xgfddg.pdf
-
-pdfwrite, 72dpi :
-
-012-09.ps
-013-09.ps
-020-01.ps
-027-05.ps
-027-13.ps
-045-01.ps
-093-01.ps
-103-01.ps
-231-01.ps
-233-01.ps
-251-01.ps
-281-01.ps
-308-04.ps
-311-03.ps
-442-01.ps
-483-01.ps
-483-05.ps
-a.pdf
-ai2.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-
-pdfwrite, 300dpi :
-
-012-09.ps
-013-09.ps
-020-01.ps
-027-13.ps
-045-01.ps
-093-01.ps
-103-01.ps
-118-01.ps
-136-01.ps
-165-01.ps
-231-01.ps
-233-01.ps
-251-01.ps
-281-01.ps
-442-01.ps
-483-01.ps
-483-05.ps
-a.pdf
-ai2.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-Bug687207.ps
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-xgfddg.pdf</pre>
-<p>[src/gx.h 1.39]</p>
+xes2ps-problem.pdf</pre>
+<p>[lib/gs_pdfwr.ps 1.38, lib/gs_setpd.ps 1.24]</p>
</blockquote>
-<p><strong><a name="2004-02-05_1439"></a>
-2004-02-05 14:39 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1952"></a>
+2004-07-13 19:52 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C15.
+ps2write step 34 : Applying filters to the page contents stream.
DETAILS :
-This patch changes a disabled code only.
-The new scanline algorithm performed extra scans within a sampling band.
-
-EXPECTED DIFFERENCES :
+Due to the device parameter problem in the PS interpreter,
+the distilled PT.ps had a filtered contents stream in spite of we disabled filters.
+Fixing it now to avoid the dependence on another project.
-None.</pre>
-<p>[src/gxfill.c 1.105, src/gxfillsl.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-04_1142"></a>
-2004-02-04 11:42 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C14.
-
-DETAILS :
-
-Fixing Cygwin/gcc warnings of the previous patch.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevddrw.c 1.10, src/gxdtfill.h 1.8]</p>
+<p>[lib/opdfread.ps 1.30]</p>
</blockquote>
-<p><strong><a name="2004-02-04_1133"></a>
-2004-02-04 11:33 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1931"></a>
+2004-07-13 19:31 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C13.
+ps2write step 33 : Fixing problems with color spaces in image XObjects.
DETAILS :
-This is a code optimization.
-It applies templates for generating specialized variants
-of generic algorithms used for filling a path.
-Also removed 'assret' which are not longer needed.
+1. The Separation color space needs to resolve and substitute the alternative color space.
+2. The Pattern color space needs to resolve and substitute the base color space.
+3. Removed an obsolete temporary debug printing.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevddrw.c 1.9, src/gdevpdtc.c 1.32, src/gxdtfill.h 1.7, src/gxfdrop.c 1.13, src/gxfill.c 1.104, src/gxfill.h 1.19, src/gxfillsl.h 1.1, src/gxfilltr.h 1.1, src/gxfillts.h 1.1, src/lib.mak 1.164]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-04_1009"></a>
-2004-02-04 10:09 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : provide a compatibility of TEXT_FROM_CHARS to GhostPCL.
-
-DETAILS :
-
-This is a port of a patch from ghostpcl by Henry Stiles.
-This btanch never executes with Ghostscript.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf .
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gdevpdtt.c 1.72]</p>
+None.
+`</pre>
+<p>[lib/opdfread.ps 1.29]</p>
</blockquote>
-<p><strong><a name="2004-02-02_2117"></a>
-2004-02-02 21:17 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1858"></a>
+2004-07-13 18:58 Igor Melichev</strong></p>
<blockquote>
<pre>
-Allow auto-inline optimization with MSVC.
+ps2write step 32 : Fixing problems with color spaces in inline images.
DETAILS :
-MSVC doesn't assume /Ob2 when /O2 is specified.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/msvccmd.mak 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-02_2024"></a>
-2004-02-02 20:24 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Perform sign extension on 64-bit platforms.
-Partial fix for bug 687029.
-
-DETAILS:
-Genoa test suite considers 64-bit integers to be an error. If we decide to
-use 32-bit integer arithmetic on any platform this patch should be undone.</pre>
-<p>[lib/gs_ttf.ps 1.36]</p>
-</blockquote>
+Inline images use local allocation mode for image data.
-<p><strong><a name="2004-02-02_2014"></a>
-2004-02-02 20:14 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C12.
-
-DETAILS :
-
-This is a code optimization.
-Some functions are expanded inline.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.103]</p>
+<p>[lib/opdfread.ps 1.28]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1625"></a>
-2004-02-02 16:25 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1558"></a>
+2004-07-13 15:58 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C11.
+ps2write step 31 : Implementing DecodeParms for filters.
DETAILS :
-This is a code optimization.
-It reduces the data copying with removing arguments and local variables
-xlbot, xbot, xltop, xtop, y, y1.
-Also add_y_line is made inline.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 245-01.ps, 415-01.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.102]</p>
+<p>[lib/opdfread.ps 1.27]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1409"></a>
-2004-02-02 14:09 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1513"></a>
+2004-07-13 15:13 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C10.
+ps2write step 30 : Continue the implementation of color spaces.
DETAILS :
-1. Scanline algorithm must not apply to spotan device;
-2. Removed low useful macro DOUBLE_WRITE_OK.
+1. Implemented Lab.
+2. A pattern color space specification can contain an indirect reference.
+3. Moved the StreamDumperBuffer definition to the proper place.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.101]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-02_1353"></a>
-2004-02-02 13:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C9.
-
-DETAILS :
-
-This is a code optimization.
-Removed unuseful computations of a trapeziod widths.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 245-01.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.100]</p>
+<p>[lib/opdfread.ps 1.26]</p>
</blockquote>
-<p><strong><a name="2004-02-02_1229"></a>
-2004-02-02 12:29 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1344"></a>
+2004-07-13 13:44 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C8.
+ps2write step 29 : The inplementation of FunctionType 4 was wrong.
DETAILS :
-Reduced outlines for both the trapezoid and the scanline algorithms
-should be same. This patch fixes that with dropping few rare cases,
-which never appear with our testbase.
-
-EXPECTED DIFFERENCES :
+The test case 245-01.ps .
+Also implemented a debug printing of the uncompressed data steram.
-None.</pre>
-<p>[src/gxfill.c 1.99]</p>
-</blockquote>
-
-<p><strong><a name="2004-02-02_1148"></a>
-2004-02-02 11:48 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C7.
-
-DETAILS :
-
-This is a preparation for removing the coord_near filter
-from the flattening algorithm.
-
-We believe that the the coord_near filter was implemented for
-two purposes : (1) prevent the filling algorithm from
-zero-height segments, and (2) speed up the filling with
-reducing the number of vertices in the polygon.
-
-Now the filling algorithms can handle zero length segments
-due to conformity to gx_flattened_iterator.
-Thus the reason (1) is not longer important.
-
-The skipping of some vertices speeds up in 3% at 600dpi
-rendering with ppmraw to null file.
-But sometimes it produces raster distortions,
-such as an asymmetric raster for symmetric outlines.
-When we fixed the distortions,
-the speeding up appears within 0.5%.
-
-We decided to remove the coord_near filter, because so small
-echonony of processor time is less important than the distortions.
-
-This patch introduces a new swicth DONT_FILTER_SMALL_SEGMENTS,
-and make the compilation of coord_near filter to depend on it.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.38, src/gxfill.c 1.98, src/gxfill.h 1.18, src/gxpflat.c 1.39, src/gzpath.h 1.34]</p>
+<p>[lib/opdfread.ps 1.25]</p>
</blockquote>
-<p><strong><a name="2004-02-02_0844"></a>
-2004-02-02 08:44 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1238"></a>
+2004-07-13 12:38 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 14.
+Fix (pdfwrite) : Don't write shadings with CompatibilityLevel<=1.2 .
DETAILS :
-Elements of pdfmark elements were not encryptrd.
+Bug 687567 "pdfwrite : Shadings are written with CompatibilityLevel=1.2" :
+Shadings are not allowed in PDF 1.2 .
+This patch simply forwards to the default implementation,
+causing a shading to decompose into thousands of constant color areas.
-Since gs/lib/gs_pdfwr.ps serializes pdfmark elements,
-we would like to encrypt them before the serialization.
-However it would require to implement a new PS operator to pass the
-encription keys from the device to the PDF interpreter.
-Since this way appears cumbersome, we decided to
-unserialize data in the device. For doing that we implement
-a simple parser in pdf_put_composite.
+Probably a convertion to an image would be a better solution -
+delaying it for a while, because our current goal is to make
+ps2write working somehow.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdfu.c 1.50]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-31_0048"></a>
-2004-01-31 00:48 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-[no log message]</pre>
-<p>[doc/Release.htm 1.84]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_2312"></a>
-2004-01-30 23:12 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Replace the license header of some of the test scripts with the generic version.</pre>
-<p>[toolbin/tests/check_all.py 1.5, toolbin/tests/check_comments.py 1.3, toolbin/tests/check_dirs.py 1.8, toolbin/tests/check_docrefs.py 1.9, toolbin/tests/check_source.py 1.9, toolbin/tests/gscheck_all.py 1.5, toolbin/tests/gscheck_fuzzypdf.py 1.7, toolbin/tests/gscheck_pdfwrite.py 1.17, toolbin/tests/gscheck_raster.py 1.8, toolbin/tests/gsconf.py 1.10, toolbin/tests/gssum.py 1.6, toolbin/tests/gstestgs.py 1.22, toolbin/tests/gstestutils.py 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0851"></a>
-2004-01-30 08:51 Russell Lang</strong></p>
-<blockquote>
-<pre>
-Document that the copyright year needs to be updated in some
-Windows files for each release.</pre>
-<p>[doc/Release.htm 1.83]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0840"></a>
-2004-01-30 08:40 Russell Lang</strong></p>
-<blockquote>
-<pre>
-Update copyright date for Windows release to 2004.</pre>
-<p>[src/dwsetup.rc 1.11, src/winint.mak 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0732"></a>
-2004-01-30 07:32 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct the link to History8.htm.</pre>
-<p>[doc/Readme.htm 1.54]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-30_0405"></a>
-2004-01-30 04:05 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix typo.</pre>
-<p>[doc/Use.htm 1.100]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-29_1840"></a>
-2004-01-29 18:40 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Change notice in some headers that had been missed during original update
-to the unified notice.</pre>
-<p>[src/gdevdljm.h 1.8]</p>
+<p>[src/gdevpdfd.c 1.41, src/gdevpdfg.c 1.55]</p>
</blockquote>
-<p><strong><a name="2004-01-29_1819"></a>
-2004-01-29 18:19 Ray Johnston</strong></p>
+<p><strong><a name="2004-07-13_1202"></a>
+2004-07-13 12:02 Igor Melichev</strong></p>
<blockquote>
<pre>
-Change notice in some headers that had been missed during original update
-to the unified notice.</pre>
-<p>[src/gdevatx.c 1.9, src/gdevdjet.c 1.11, src/gdevdljm.c 1.11, src/gsovrc.c 1.4, src/gsovrc.h 1.3, src/gxoprect.c 1.5, src/gxoprect.h 1.2]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-29_0934"></a>
-2004-01-29 09:34 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 13.
+Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark (continued).
DETAILS :
-1. Disable Encryption version 2 revision 2 with KeyLength > 40
- due to an incompatibility to many viewers.
-2. Improves the error message format.
+Fixing a misprint in the patch
+http://www.ghostscript.com/pipermail/gs-cvs/2004-May/004502.html
+Thanks to SaGS for pointing it out.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdf.c 1.87]</p>
+<p>[src/gdevpdfm.c 1.44]</p>
</blockquote>
-<p><strong><a name="2004-01-28_1654"></a>
-2004-01-28 16:54 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-13_1109"></a>
+2004-07-13 11:09 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C6.
+Fix (pdfwrite) : Dont create the alternative image compression if a loseless compression is only allowed.
DETAILS :
-This is a code optimization.
-It factors out internal constants.
-The change is algorithmically equivalent.
+It is an optimization.
+The problem was occasionally found when working on the bug 687325,
+rather that bug is irrelevant. It created 2 alternative streams with same filters.
+This change rejects the creation of the second stream in such cases.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfdrop.c 1.12, src/gxfill.c 1.97, src/gxfill.h 1.17]</p>
+<p>[src/gdevpdfi.c 1.55, src/gdevpsdi.c 1.28]</p>
</blockquote>
-<p><strong><a name="2004-01-28_1508"></a>
-2004-01-28 15:08 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-10_0855"></a>
+2004-07-10 08:55 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C5.
+ps2write step 28 : Fixing tab characters in the source code (continued).
DETAILS :
-This is a code optimization.
-It simplifies argument lists.
-The change is algorithmically equivalent.
+This change is syntactically equivalent.
+Also removed an unuseful comment.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfdrop.c 1.11, src/gxfill.c 1.96, src/gxfill.h 1.16]</p>
+<p>[lib/opdfread.ps 1.24]</p>
</blockquote>
-<p><strong><a name="2004-01-28_0905"></a>
-2004-01-28 09:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-10_0804"></a>
+2004-07-10 08:04 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (the new TT interpreter) : A bad pointer enumerated relocating gx_ttfReader.
+ps2write step 27 : Implemented FunctionType 4.
DETAILS :
-gx_ttfReader::pfont from a global to a local memory.
-Now we set it to a non-NULL value only during a TT data
-access, when the garbager is not invoked.
+245-01.ps contains one.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gstype42.c 1.42, src/gxccman.c 1.24, src/gxttfb.c 1.29, src/gxttfb.h 1.10]</p>
+<p>[lib/opdfread.ps 1.23]</p>
</blockquote>
-<p><strong><a name="2004-01-27_1607"></a>
-2004-01-27 16:07 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-09_2054"></a>
+2004-07-09 20:54 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (TT grid fitting) : A garbager descriptor was wrong.
+ps2write step 26 : Fixing tab characters in the source code.
DETAILS :
-It caused a crash running all comparefiles with ppmraw in a single job.
+This change is syntactically equivalent.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gzspotan.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-27_1605"></a>
-2004-01-27 16:05 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Partially restoring the old behavior of the filling algorithm.
-
-DETAILS :
-
-When we dropped the compatibility with the patch
-http://www.ghostscript.com/pipermail/gs-cvs/2004-January/004061.html,
-one case of the flattening condition was not perfect.
-Sorry for detecting this late.
-Now we put another condition, which differs from both the old and the last one,
-but the new one is symmetric and provides lesser distortions.
-
-EXPECTED DIFFERENCES :
-
-This change causes a massive difference,
-which may partially undo the difference of the patch mentioned above.
-Here is a list of expected differences agains the current CVS HEAD :
-
-normal, 72dpi :
-
-000040cf.000_60.pdf
-001-01.ps
-01_001.pdf
-020-01.ps
-027-09.ps
-045-01.ps
-093-01.ps
-109-01.ps
-159.pdf
-175-01.ps
-251-01.ps
-281-01.ps
-289-01.ps
-335-01.ps
-336-01.ps
-455690.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso7.pdf
-adesso8.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-budget2.pdf
-budget2_ai87.pdf
-Bug687044.ps
-bulletin.pdf
-ccc.pdf
-dave.pdf
-Dave_Barry.pdf
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-Jahr2000.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-Svd.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-tpc2.ps
-two_encodings.ps
-type42_glyph_index.ps
-waterfal.ps
-xgfddg.pdf
-
-normal, 300dpi :
-
-289-01.ps
-a.pdf
-adesso6.pdf
-Altona-Testsuite_p2_S_x3.pdf
-besttest.pdf
-Bug687044.ps
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-fonts.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-mbb-with-space.ps
-NIL_0003.pdf
-pdftops.pdf
-prob.pdf
-pstopdfO3.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-test_multipage_prob.pdf
-waterfal.ps
-womanface.pdf
-
-pdfwrite 72 dpi :
-000040cf.000_60.pdf
-001-01.ps
-01_001.pdf
-020-01.ps
-045-01.ps
-093-01.ps
-109-01.ps
-159.pdf
-175-01.ps
-251-01.ps
-281-01.ps
-335-01.ps
-336-01.ps
-455690.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso7.pdf
-adesso8.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-budget2.pdf
-budget2_ai87.pdf
-Bug687044.ps
-bulletin.pdf
-ccc.pdf
-dave.pdf
-Dave_Barry.pdf
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-Jahr2000.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-Svd.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-tpc2.ps
-two_encodings.ps
-type42_glyph_index.ps
-waterfal.ps
-xgfddg.pdf
-
-pdfwrite, 300 dpi :
-
-a.pdf
-adesso6.pdf
-Altona-Testsuite_p2_S_x3.pdf
-besttest.pdf
-Bug687044.ps
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-fonts.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-mbb-with-space.ps
-NIL_0003.pdf
-pdftops.pdf
-prob.pdf
-pstopdfO3.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-test_multipage_prob.pdf
-waterfal.ps
-womanface.pdf</pre>
-<p>[src/gxpflat.c 1.38]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-27_0510"></a>
-2004-01-27 05:10 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Pass on the CPPFLAGS settings from the configure script into GCFLAGS. Some users expect to be able
-to add include paths through the environment this way. Suggestion from Len Makin.</pre>
-<p>[src/Makefile.in 1.32]</p>
+<p>[lib/opdfread.ps 1.22]</p>
</blockquote>
-<p><strong><a name="2004-01-26_2351"></a>
-2004-01-26 23:51 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-09_2028"></a>
+2004-07-09 20:28 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C4.
+ps2write step 25 : Fixing various problems in functions and color spaces.
DETAILS :
-In the enabled code this change is algorithmically equivalent.
-In the disabled code it provides a variable threshold
-for the 'coord_near' predicate.
-Doing so because the old scanline algorithm uses a zero threshold.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.95, src/gxfill.h 1.15, src/gxpflat.c 1.37, src/gzpath.h 1.33]</p>
+<p>[lib/opdfread.ps 1.21]</p>
</blockquote>
-<p><strong><a name="2004-01-26_2235"></a>
-2004-01-26 22:35 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-09_1652"></a>
+2004-07-09 16:52 Igor Melichev</strong></p>
<blockquote>
<pre>
-Updating the ps2pdf documentation.</pre>
-<p>[doc/Ps2pdf.htm 1.64]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_2216"></a>
-2004-01-26 22:16 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C3.
+ps2write step 24 : An initial implementation of functions.
DETAILS :
-The enabled variant of the scanline algorithm was unintentionally
-modified by a recent patch. Rather the change was equivalent,
-we prefer to clean it.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.94]</p>
-</blockquote>
+1-argument FunctionType 0 is converted to a Postscript procedure.
+The Order is ignored. 3d order functions interpolate as 1st order.
+Maybe we'll convert them in C in pdfwrite.
+N-argument FunctionType 0 are coded but not tested yet.
+Other function types are not coded.
-<p><strong><a name="2004-01-26_2054"></a>
-2004-01-26 20:54 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Correct typo -- position of " in example command. Thanks to Ulf-Dietrich
-Braumann of Leipzig University for this.</pre>
-<p>[doc/Ps2pdf.htm 1.63]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-26_1527"></a>
-2004-01-26 15:27 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step C2.
-
-DETAILS :
-
-This change modifies a disabled code only.
-It fixes a bug discovered with chilis_black.pdf .
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.93]</p>
+<p>[lib/opdfread.ps 1.20]</p>
</blockquote>
-<p><strong><a name="2004-01-26_1320"></a>
-2004-01-26 13:20 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-08_1715"></a>
+2004-07-08 17:15 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step C1.
+ps2write step 23 : Implementing Indexed and Separation (continued).
DETAILS :
-This starts a neqw series about the scanline algorithm.
-The purpose is to use same numeric method as in the trapezoid algorithm.
-
-This change modifies a disabled code only.
-
-1. Defines new switch SCANLINE_USES_ITERATOR in gx.h .
-2. Replaces curve_cursor with gx_flattened_iterator in the scanline algorithm.
-3. Provides same Y-list contents as for the trapezoid algorithm.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.37, src/gxfill.c 1.92, src/gxfill.h 1.14, src/gxpcopy.c 1.21, src/gzpath.h 1.32]</p>
+<p>[lib/opdfread.ps 1.19]</p>
</blockquote>
-<p><strong><a name="2004-01-26_1313"></a>
-2004-01-26 13:13 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-08_1528"></a>
+2004-07-08 15:28 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : gx_flattened_iterator::last_filtered1_i could left uninitialized.
+ps2write step 22 : Implementing Indexed and Separation.
DETAILS :
-It was a bug, which our testbase did not detect.
+SubstitutePDFColorSpace factored out from ResolveColorSpace.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.91, src/gxpflat.c 1.36, src/gzpath.h 1.31]</p>
+<p>[lib/opdfread.ps 1.18]</p>
</blockquote>
-<p><strong><a name="2004-01-26_1115"></a>
-2004-01-26 11:15 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-08_1400"></a>
+2004-07-08 14:00 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step B10, final in this series.
+ps2write step 20 : Implementing CalGray, CalRGB.
DETAILS :
-Oops, the previous patch appears not final in B series.
-This one is. It removes an obsolete code from gxpcopy.c .
+- implemented the color space cache PDFColorSpaces;
+- improved the procedure 'error';
+- a bug in Register : s|gt|ge;
+- moved color procedures before image procedures;
+- a bug in the CompleteOutlineImage comment.
+- ResolveColorSpace now converts CalGray, CalRGB.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxpcopy.c 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-25_1423"></a>
-2004-01-25 14:23 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B9, final in this series.
-
-DETAILS :
-
-It finally removes macros, which are not longer useful.
-It doesn't change the algorithm.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxpflat.c 1.35]</p>
+<p>[lib/opdfread.ps 1.17]</p>
</blockquote>
-<p><strong><a name="2004-01-25_1355"></a>
-2004-01-25 13:55 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-08_1112"></a>
+2004-07-08 11:12 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step B8.
+ps2write step 20 : The implementations of Q,q,CharProc were incomplete.
DETAILS :
-It finally drops the compatibility to the old code,
-making the result to get the maximal regularity.
-
-Minor change : improved a comment.
-
-EXPECTED DIFFERENCES :
-
-Normal, 72 dpi :
-
-000040cf.000_60.pdf
-001-01.ps
-01_001.pdf
-020-01.ps
-027-09.ps
-045-01.ps
-093-01.ps
-109-01.ps
-159.pdf
-175-01.ps
-251-01.ps
-281-01.ps
-289-01.ps
-335-01.ps
-336-01.ps
-455690.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso7.pdf
-adesso8.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-budget2.pdf
-budget2_ai87.pdf
-Bug687044.ps
-bulletin.pdf
-ccc.pdf
-dave.pdf
-Dave_Barry.pdf
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-Jahr2000.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-Svd.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-tpc2.ps
-two_encodings.ps
-type42_glyph_index.ps
-waterfal.ps
-xgfddg.pdf
-
-pdfwrite, 72dpi :
-
-000040cf.000_60.pdf
-001-01.ps
-01_001.pdf
-020-01.ps
-045-01.ps
-093-01.ps
-109-01.ps
-159.pdf
-175-01.ps
-251-01.ps
-281-01.ps
-335-01.ps
-336-01.ps
-455690.pdf
-86554321.pdf
-a.pdf
-aaon97_p7.pdf
-acrobat.pdf
-adesso1.pdf
-adesso2.pdf
-adesso3.pdf
-adesso7.pdf
-adesso8.pdf
-AdobeLic.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-bc_02a01_cal.pdf
-besttest.pdf
-budget2.pdf
-budget2_ai87.pdf
-Bug687044.ps
-bulletin.pdf
-ccc.pdf
-dave.pdf
-Dave_Barry.pdf
-Faktura.pdf
-file.pdf
-Fixed_Original.pdf
-fonts.pdf
-fonttest.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-Jahr2000.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-Original.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-Svd.pdf
-Testform.v1.0.2.pdf
-test_multipage_prob.pdf
-tpc2.ps
-two_encodings.ps
-type42_glyph_index.ps
-waterfal.ps
-xgfddg.pdf
-
-normal, 300 dpi :
-
-289-01.ps
-a.pdf
-adesso6.pdf
-Altona-Testsuite_p2_S_x3.pdf
-besttest.pdf
-Bug687044.ps
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-fonts.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-mbb-with-space.ps
-NIL_0003.pdf
-pdftops.pdf
-prob.pdf
-pstopdfO3.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-sports.pdf
-test_multipage_prob.pdf
-waterfal.ps
-womanface.pdf
-
-pdfwrite, 300 dpi :
-
-a.pdf
-adesso6.pdf
-Altona-Testsuite_p2_S_x3.pdf
-besttest.pdf
-Bug687044.ps
-bulletin.pdf
-BW0696FOLD1FRONT.pdf
-fonts.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-keyboard.pdf
-mbb-with-space.ps
-NIL_0003.pdf
-pdftops.pdf
-prob.pdf
-pstopdfO3.pdf
-S2_Digitalproof-Forum_x3k.pdf
-sports.pdf
-test_multipage_prob.pdf
-waterfal.ps
-womanface.pdf</pre>
-<p>[src/gxpflat.c 1.34]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-25_1149"></a>
-2004-01-25 11:49 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B7.
-
-DETAILS :
-
-1. Removed FLATTENED_ITERATOR_HEAVY_SELFTEST 0 because it is unuseful.
-2. Simplified gx_flattened_iterator__next_filtered.
- This change is algorithmically equivalent.
+Minor change : collected work data definitions in a single place.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxpflat.c 1.33]</p>
+<p>[lib/opdfread.ps 1.16]</p>
</blockquote>
-<p><strong><a name="2004-01-25_1121"></a>
-2004-01-25 11:21 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-08_1006"></a>
+2004-07-08 10:06 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step B6.
+ps2write step 17 : Implementing Patterns.
DETAILS :
-The previous patch left some rudinents, removing them now :
-
-1. Switch off the self-testing.
-2. Remove gx_check_nearly_collinear.
-3. Removed the CURVED_TRAPEZOID_FILL0_COMPATIBLE 0 section from
- gx_flattened_iterator__prev_filtered because it
- can't provide the backscan consistency.
+Tested with Bug687546.ps, 035-01.ps, 035-07.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxpflat.c 1.32]</p>
+<p>[lib/opdfread.ps 1.15]</p>
</blockquote>
-<p><strong><a name="2004-01-24_2349"></a>
-2004-01-24 23:49 Dan Coby</strong></p>
+<p><strong><a name="2004-07-08_0803"></a>
+2004-07-08 08:03 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix for Bug 687255 pcl output shifted to bottom of page. Correct
-the order of the PCL commands at the start of page for the ljet devices.
-
-DETAILS:
-
-This problem surfaced when a previous fix 686815 was made. That fix
-corrected a line of code which was setting the page seize in the output
-file.
-
-With the correct page size being specified in the output file, there were
-some side effects. Setting the page size resets several other items,
-including the starting page X and Y offsets.
-
-The fix for this problem consists of simply moving the setting of the page
-size three lines earlier in the file. Now the page size is set prior to
-the page X and Y offsets, which are set as part of this line:
-
- fputs(page_init, prn_stream);</pre>
-<p>[src/gdevdljm.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-24_1045"></a>
-2004-01-24 10:45 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B5.
+ps2write step 18 : Fix : Length was written to a wrong file position.
DETAILS :
-1. Removed the 'filtered2' subclass of gx_flattened_iterator;
-2. Renamed the 'filtered1' subclass to 'filtered'.
-3. Removed CURVED_TRAPEZOID_FILL_HEAVY_TEST.
-4. Removed the CURVED_TRAPEZOID_FILL0_COMPATIBLE 0 section from
- gx_flattened_iterator__prev_filtered because it
- can't provide the backscan consistency.
-5. Made other configuration flags to be local for gxpflat.c .
+Fixes a bug in the patch
+http://www.ghostscript.com/pipermail/gs-cvs/2004-July/004607.html .
+Thanks to Ray Johnston for pointing it out.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.36, src/gxfill.c 1.90, src/gxpflat.c 1.31, src/gzpath.h 1.30]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1735"></a>
-2004-01-23 17:35 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add check for missing raster image before getting the date of the raster.
-If raster is missing, run update_***baseline script to generate it since
-the file must be new since the last regression run. Bug 687245.</pre>
-<p>[toolbin/tests/gscheck_pdfwrite.py 1.16, toolbin/tests/gscheck_raster.py 1.7]</p>
+<p>[src/gdevpdfm.c 1.43]</p>
</blockquote>
-<p><strong><a name="2004-01-23_1646"></a>
-2004-01-23 16:46 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_1519"></a>
+2004-07-07 15:19 Igor Melichev</strong></p>
<blockquote>
<pre>
-Removed the obsolete configuration switches NEW_TT_INTERPRETER and TT_GRID_FITTING.
+ps2write step 17 : Image XForm implementation.
DETAILS :
-It doesn't change the algorithm.
+Tested with Bug687546.ps, 035-01.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gsfont.c 1.31, src/gsfont.h 1.10, src/gstext.c 1.16, src/gstype42.c 1.41, src/gx.h 1.35, src/gxccache.c 1.29, src/gxccman.c 1.23, src/gxchar.c 1.39, src/gxfcache.h 1.25, src/gxfont42.h 1.19, src/gxtext.h 1.14, src/gxttfb.c 1.28, src/zchar42.c 1.14, src/zusparam.c 1.12]</p>
+<p>[lib/opdfread.ps 1.14]</p>
</blockquote>
-<p><strong><a name="2004-01-23_1641"></a>
-2004-01-23 16:41 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_1424"></a>
+2004-07-07 14:24 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (the new TT interpreter) : st_gs_text_enum_max_ptrs was wrong.
+ps2write step 16 : Inline image implementation.
DETAILS :
-This doesn't change the algorithm because this constant is never used.
+Tested with Bug687546.ps, TESTIMG.PS .
+The interpretation completes, but some images render wrongly.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxtext.h 1.13]</p>
+<p>[lib/opdfread.ps 1.13]</p>
</blockquote>
-<p><strong><a name="2004-01-23_1635"></a>
-2004-01-23 16:35 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_1142"></a>
+2004-07-07 11:42 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (the new TT interpreter) : A bad pointer enumerated relocating gs_text_enum_s.
+ps2write step 15 : Fix : ObjectRegistry expansion code was wrong.
DETAILS :
-gs_text_enum_s::pair pointed to an array element, rather than to
-to an object start. Improving text_enum_enum_ptrs and text_enum_reloc_ptrs
-with a special processing of this pointer, being similat to one used in
-font_dir_enum_ptrs.
+Tested with Bug687546.ps, 148-01.ps .
+148-01.ps still fails due to unimplemented images.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gstext.c 1.15, src/gxfcache.h 1.24, src/lib.mak 1.163]</p>
+<p>[lib/opdfread.ps 1.12]</p>
</blockquote>
-<p><strong><a name="2004-01-23_1405"></a>
-2004-01-23 14:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_1100"></a>
+2004-07-07 11:00 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step B4.
+ps2write step 14 : Fix : fonts may have no Encoding.
DETAILS :
-Removed old configuration flags from gxfill.c .
-It doesn't change the algorithm.
+Tested with Bug687546.ps, 148-01.ps .
+148-01.ps still fails due to unimplemented images.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.89]</p>
+<p>[lib/opdfread.ps 1.11]</p>
</blockquote>
-<p><strong><a name="2004-01-23_1325"></a>
-2004-01-23 13:25 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_1040"></a>
+2004-07-07 10:40 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step B3.
+ps2write step 13 : Implementing Type 3 fonts.
DETAILS :
-1. Removed the disabled code MERGE_COLLINEAR_SEGMENTS 0
-2. Removed the disabled code CURVED_TRAPEZOID_FILL 0
-3. Removed the dependence on TT_GRID_FITTING from gxfill.c .
+A minor restructurization of the code and a debug printout improvement.
+Tested with Bug687546.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.34, src/gxfdrop.c 1.10, src/gxfill.c 1.88, src/gxfill.h 1.13, src/gxpath.h 1.12, src/gxpcopy.c 1.19, src/gxpflat.c 1.30, src/gzpath.h 1.29]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-23_1235"></a>
-2004-01-23 12:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Simplifying the filling algorithm, step B2.
-
-DETAILS :
-
-This patch disables the MERGE_COLLINEAR_SEGMENTS section.
-It was an old unuseful optimization, which we decided to cancel.
-For more information see the log message of the previous patch.
-
-EXPECTED DIFFERENCES :
-
-Normal, 72dpi :
-
-014-13.ps
-027-09.ps
-036-01.ps
-045-01.ps
-083-13.ps
-175-01.ps
-1_2001.pdf
-245-01.ps
-255-01.ps
-268-04.ps
-268-05.ps
-281-01.ps
-298-09.ps
-321-09.ps
-477-03.ps
-86554321.pdf
-a.pdf
-acrobat.pdf
-adesso5.pdf
-alphabet.ps
-Altona.Page_3.2002-09-27.pdf
-ats-3-5-99.pdf
-besttest.pdf
-brochurep1.pdf
-bugsample.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-chess.ps
-chilis_black.pdf
-chilis_red.pdf
-chstudy.pdf
-dave.pdf
-fonttest.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-LD.pdf
-mbb-with-space.ps
-messenger16.pdf
-NECPNTD.pdf
-prob.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-shading_prob_800.ps
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-Svd.pdf
-tiger.eps
-time1.pdf
-vasarely.ps
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-
-Normal, 300dpi :
-
-Almost ALL FILES RENDER DIFFERENTLY.
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-113-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-06.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-289-01.ps
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-acrobat.pdf
-adesso1.pdf
-adesso3.pdf
-adesso5.pdf
-adesso7.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-bug-gstest.pdf
-bugsample.pdf
-bulletin.pdf
-CAIB_highres_page4.pdf
-CAT_LOGO.ps
-chess.ps
-chilis_black.pdf
-chstudy.pdf
-dave.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Faktura.pdf
-file.pdf
-fonts.pdf
-fonttest.pdf
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-laballade.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-mspro.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-p2b-100.pdf
-pdfopt_bug.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-rotate90.pdf
-S2_Digitalproof-Forum_x3k.pdf
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-type2accent.pdf
-waterfal.ps
-wrapper-gs7.pdf
-xgfddg.pdf
-xngnews.pdf
-
-pdfwrite, 72dpi :
-
-012-09.ps
-013-09.ps
-014-13.ps
-027-09.ps
-036-01.ps
-045-01.ps
-083-09.ps
-083-13.ps
-175-01.ps
-1_2001.pdf
-205-05.ps
-205-09.ps
-245-01.ps
-255-01.ps
-268-04.ps
-268-05.ps
-281-01.ps
-477-03.ps
-86554321.pdf
-a.pdf
-acrobat.pdf
-adesso5.pdf
-alphabet.ps
-Altona.Page_3.2002-09-27.pdf
-ats-3-5-99.pdf
-besttest.pdf
-brochurep1.pdf
-Bug687044.ps
-bugsample.pdf
-ca.pdf
-CAIB_highres_page4.pdf
-chess.ps
-chilis_black.pdf
-chilis_red.pdf
-chstudy.pdf
-dave.pdf
-fonttest.pdf
-golfer.eps
-H00216q.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-LD.pdf
-mbb-with-space.ps
-messenger16.pdf
-NECPNTD.pdf
-prob.pdf
-RealCities.pdf
-rf1025.pdf
-RodinCIDEmbed.pdf
-shading_prob_800.ps
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-Svd.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-waterfal.ps
-womanface.pdf
-xgfddg.pdf
-
-pdfwrite, 300dpi :
-
-Almost ALL FILES RENDER DIFFERENTLY.
-001-01.ps
-001-13.ps
-001-25.ps
-002-09.ps
-002-21.ps
-002-33.ps
-003-01.ps
-012-01.ps
-012-05.ps
-012-09.ps
-012-13.ps
-013-01.ps
-013-05.ps
-013-09.ps
-013-13.ps
-014-01.ps
-014-05.ps
-014-09.ps
-014-13.ps
-015-01.ps
-015-05.ps
-015-09.ps
-016-01.ps
-017-01.ps
-018-01.ps
-020-01.ps
-021-01.ps
-023-01.ps
-027-01.ps
-027-05.ps
-027-09.ps
-027-13.ps
-028-01.ps
-031-01.ps
-031-05.ps
-032-01.ps
-032-07.ps
-033-01.ps
-033-52-5873.pdf
-034-01.ps
-034-10.ps
-035-01.ps
-035-07.ps
-036-01.ps
-038-01.ps
-039-01.ps
-040-01.ps
-045-01.ps
-046-01.ps
-050-01.ps
-055-01.ps
-061-01.ps
-070-01.ps
-076-01.ps
-083-01.ps
-083-05.ps
-083-09.ps
-083-13.ps
-084-01.ps
-091-01.ps
-093-01.ps
-094-01.ps
-096-01.ps
-102-01.ps
-103-01.ps
-104-01.ps
-109-01.ps
-110-01.ps
-118-01.ps
-119-01.ps
-119-10.ps
-119-16.ps
-119-23.ps
-119-35.ps
-119-41.ps
-119-47.ps
-120-01.ps
-123-01.ps
-123-05.ps
-123-09.ps
-124-01.ps
-129-01.ps
-136-01.ps
-141-01.ps
-148-01.ps
-148-05.ps
-148-11.ps
-148-16.ps
-149-01.ps
-149-05.ps
-150-01.ps
-154-01.ps
-158-01.ps
-159.pdf
-162-01.ps
-165-01.ps
-166-01.ps
-169-01.ps
-169-05.ps
-169-09.ps
-169-13.ps
-170-01.ps
-175-01.ps
-176-01.ps
-177-01.ps
-181-01.ps
-184-01.ps
-192-01.ps
-194-01.ps
-1_2001.pdf
-1_pct_50_bang.pdf
-200-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-206-01.ps
-212-01.ps
-213-01.ps
-214-01.ps
-215-01.ps
-219-01.ps
-220-01.ps
-220-07.ps
-222-01.ps
-222-05.ps
-222-09.ps
-222-13.ps
-223-01.ps
-226-01.ps
-227-01.ps
-231-01.ps
-233-01.ps
-237-01.ps
-238-01.ps
-244-01.ps
-245-01.ps
-245-07.ps
-245-13.ps
-245-17.ps
-246-01.ps
-250-01.ps
-251-01.ps
-255-01.ps
-257-01.ps
-258-01.ps
-260-01.ps
-263-01.ps
-264-01.ps
-265-01.ps
-268-06.ps
-269-01.ps
-270-01.ps
-272-01.ps
-276-01.ps
-281-01.ps
-282-01.ps
-296-01.ps
-297-01.ps
-298-01.ps
-298-05.ps
-298-09.ps
-299-01.ps
-303-01.ps
-304-01.ps
-307-01.ps
-307-07.ps
-307-13.ps
-308-04.ps
-310-04.ps
-311-03.ps
-313-01.ps
-316-07.ps
-320-01.ps
-321-01.ps
-321-05.ps
-321-09.ps
-321-13.ps
-322-01.ps
-325-01.ps
-327-01.ps
-328-01.ps
-330-01.ps
-334-01.ps
-335-01.ps
-336-01.ps
-401-01.ps
-405-01.ps
-409-01.ps
-415-01.ps
-421-01.ps
-430-01.ps
-438-01.ps
-442-01.ps
-446-01.ps
-450-01.ps
-455690.pdf
-460-01.ps
-463-01.ps
-464-01.ps
-468-01.ps
-473-01.ps
-476-01.ps
-477-01.ps
-477-03.ps
-477-04.ps
-477-05.ps
-477-06.ps
-478-01.ps
-483-01.ps
-483-05.ps
-541.pdf
-541_623.pdf
-86554321.pdf
-a.pdf
-acrobat.pdf
-adesso1.pdf
-adesso3.pdf
-adesso5.pdf
-adesso7.pdf
-ADOBE1-4.pdf
-AdobeLic.pdf
-ai2.pdf
-alphabet.ps
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-besttest.pdf
-brochurep1.pdf
-budget2.pdf
-bug-gstest.pdf
-Bug687044.ps
-bugsample.pdf
-bulletin.pdf
-CAIB_highres_page4.pdf
-chess.ps
-chilis_black.pdf
-chstudy.pdf
-dave.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Faktura.pdf
-file.pdf
-fonts.pdf
-fonttest.pdf
-golfer.eps
-gslandscape.pdf
-H00216q.pdf
-HeiseiMinStd.pdf
-japan.ps
-js.pdf
-kazmir.pdf
-keyboard.pdf
-korea.ps
-KozukaB-ILEmbed.pdf
-laballade.pdf
-LD.pdf
-loremIpsum.pdf
-MagicEye.pdf
-mbb-with-space.ps
-messenger.pdf
-messenger16.pdf
-ngnews.pdf
-ngnews1.pdf
-NIL_0003.pdf
-Openhuis_pdf_zw.pdf
-p2b-100.pdf
-pdftops.pdf
-PixelisAd.pdf
-prfmm.pdf
-prob.pdf
-pstopdf.pdf
-pstopdfO3.pdf
-QA_Inv.pdf
-QuickNews_Nov22.pdf
-RealCities.pdf
-RodinCIDEmbed.pdf
-S2_Digitalproof-Forum_x3k.pdf
-smdf.90441.102.pdf
-spec_gs.pdf
-spec_gv.pdf
-sports.pdf
-Svd.pdf
-test.pdf
-test2.pdf
-test2a.pdf
-TextRize.pdf
-textsavematrix.pdf
-tiger.eps
-time1.pdf
-tpc2.ps
-type2accent.pdf
-waterfal.ps
-wrapper-gs7.pdf
-xgfddg.pdf
-xngnews.pdf</pre>
-<p>[src/gx.h 1.33]</p>
+<p>[lib/opdfread.ps 1.10]</p>
</blockquote>
-<p><strong><a name="2004-01-23_1005"></a>
-2004-01-23 10:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_1019"></a>
+2004-07-07 10:19 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplifying the filling algorithm, step B1.
+ps2write step 12 : Implementing Type 3 fonts.
DETAILS :
-This starts a new sequence of patches to the filling algorithm.
-It's goal is a further simplification.
+1. Implemented a delayed stream interpretation.
+2. Implemented Type 3 fonts.
+3. Renamed UnRefD with ResolveD.
+4. Debug switches are bound.
-We deetected that MERGE_COLLINEAR_SEGMENTS 1 section is an old optimization,
-which speeds up in 1.3% and complicates the code in 30%.
-Besides that, it causes inprecise results with the dropout prevention.
-At last, the name "MERGE_COLLINEAR_SEGMENTS" doesn't reflect
-its effect : actually it merges segments nearly parallwel to coordinate axis,
-which may be unlimitedly long and have an unlimited angle.
-Therefore we believe that this optimization is not well defined,
-appears unuseful, and to be cancelled.
-
-This patch is a preparation for removing the MERGE_COLLINEAR_SEGMENTS
-section. We made this switch global and we bracketed more code sections,
-which appear unuseful without MERGE_COLLINEAR_SEGMENTS.
-
-This patch almost is a change to a disabled code.
-But the change to gxfill.c ln 1238,1241 goes to the enabled code
-and appears algorithmically equivalent :
-with MERGE_COLLINEAR_SEGMENTS 1 this branch is equivalent to noop.
+Tested with Bug687546.ps - now it renders fine.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.32, src/gxfill.c 1.87, src/gxpflat.c 1.29]</p>
+<p>[lib/opdfread.ps 1.9]</p>
</blockquote>
-<p><strong><a name="2004-01-22_1136"></a>
-2004-01-22 11:36 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-07_0933"></a>
+2004-07-07 09:33 Russell Lang</strong></p>
<blockquote>
<pre>
-Fix : A bug in ttfmain.c caused a heap damage.
-
-DETAILS :
-
-Bug 687254 "writing pcl segfaults".
-
-EXPECTED DIFFERENCES :
-
-None with comparefiles.</pre>
-<p>[src/ttfmain.c 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-22_0922"></a>
-2004-01-22 09:22 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : pco_accurate didn't work for curves with zero derivative.
-
-DETAILS :
-
-Bug 687266 "Accurate curves may be inaccurate.".
-
-EXPECTED DIFFERENCES :
-
-None, because normally PS doesn't use "true .setaccuratecurves".
-
-Testing with "true .setaccuratecurves", got no difference with -r72.
-Thus our testbase doesn't contain interesting curves.</pre>
-<p>[src/gxpcopy.c 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-22_0916"></a>
-2004-01-22 09:16 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Create a new dynamic header 'gconfigd.h' for non-platform-specific defines. Variables like
-GS_LIB_DEFAULT which were previously tacked onto the end of gconfig.h have been moved to the new
-header. This change is necessary to pass the default path for the persistent cache from the
-makefile.
+Fixes bug 687451 "default resolution for display device"
+Set the display resolution from the MS-Windows display resolution,
+using a device parameter -dDisplayResolution=DPI.
DETAILS:
+The initial resolution must be set in display_put_params.
+Setting it in display_open is too late because this leaves
+the device resolution and currentpagedevice reporting
+different values. Callbacks can't be used in display_put_params
+because the callback structure is not yet initialized.
+This leaves a device parameter on the command line as
+the cleanest implementation.
+If HWResolution is set (e.g. from -r72), then use that.
+Otherwise, if DisplayResolution is set, use that in the
+initial display_put_params. After that, ignore all further
+use of DisplayResolution.
+The Windows client adds -dDisplayResolution=DPI to the
+command lines, similar to the existing -dDisplayFormat.
+The Windows client gets the resolution from the GDI.
+The default Windows display resolution is 96dpi (the same
+as the display device). This can be changed to 120dpi by
+selecting "large fonts", or other values in recent versions
+of Windows.</pre>
+<p>[doc/Devices.htm 1.80, src/dwmain.c 1.18, src/dwmainc.c 1.20, src/gdevdsp.c 1.24, src/gdevdsp.h 1.9, src/gdevdsp2.h 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0909"></a>
+2004-07-07 09:09 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Fixes bug 687562 "vector devices close output file incorrectly".
+Vector devices open the output file with gx_device_open_output_file,
+so should close it with gx_device_close_output_file, not fclose.
+This was preventing pswrite from correctly closing special
+files such as "%printer%Printer Name" on Windows and OS/2.</pre>
+<p>[src/gdevvec.c 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0907"></a>
+2004-07-07 09:07 Russell Lang</strong></p>
+<blockquote>
+<pre>
+In the Windows %printer% IODevice, the existing thread handle
+is closed automatically when the thread finishes. Duplicate
+the thread handle so we always have a valid handle for waiting
+and closing.
-The persistent cache is implemented in the gp layer, but previously it was illegal to access
-gconfig.h from code inside the graphics library, it the sense that the build would fail. This is
-because of the crazy way operator definitions are collected in dev files before they are
-consolidated in gconfig.h.
-
-We don't want to use gconfigv.h because that header is platform-specific is generated by different
-code on every platform. Therefore, while this isn't a real fix for gconfig.h circular inclusion
-issue, a new header is reasonably motivated.</pre>
-<p>[src/gp_unix_cache.c 1.2, src/gs.mak 1.25, src/gscdef.c 1.42, src/iconf.c 1.7, src/int.mak 1.122, src/lib.mak 1.162, src/unix-aux.mak 1.12]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-21_1355"></a>
-2004-01-21 13:55 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Don't apply pco_accurate when filling a path.
-
-DETAILS :
-
-When a path is is being stroked, it first converts to the stroke
-outline, and pco_accurate is being applied. When the stroke outline
-is being filled, pco_accurate was applied at second time with no
-useful reason. When it fills a character, pco_accurate disturbs the
-hinted outline. Thus it must not apply with 'fill' in any case.
-
-EXPECTED DIFFERENCES :
-
-None, because normally PS doesn't use "true .setaccuratecurves".
-
-Testing with "true .setaccuratecurves", almost all tests
-render differently due to characters, and we believe it's a progression.</pre>
-<p>[src/gxfill.c 1.86]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-21_1338"></a>
-2004-01-21 13:38 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : The dropout prevetion did not work with "true .setaccuratecurves".
-
-DETAILS :
-
-Bug 687265 "adjust_point_to_tangent goes out the bbox".
-
-EXPECTED DIFFERENCES :
-
-None, because normally PS doesn't use "true .setaccuratecurves".</pre>
-<p>[src/gxpcopy.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-21_1017"></a>
-2004-01-21 10:17 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Type 3 characters were missed in the Widths array.
-
-DETAILS :
-
-Bug 687242 "ghostscript generates incorrect pdf file".
-A wrong character index was used passing characters to adjust_first_last_char,
-causing the domain of the Widths array be smaller than necessary.
-
-EXPECTED DIFFERENCES :
+DETAILS:
+When the thread finishes, the CRTL _endthread is closing
+the existing handle. During debugging, it was found that
+waiting on the thread handle was Ok because the thread
+was still running, but by the time CloseHandle ran the
+thread handle was invalid.
-None.</pre>
-<p>[src/gdevpdte.c 1.52]</p>
+IODevices are effectively static, so iodev->state is initialized
+once at the start of the interpreter. There is no need to
+test if iodev->state is valid.</pre>
+<p>[src/gp_msprn.c 1.4]</p>
</blockquote>
-<p><strong><a name="2004-01-20_1911"></a>
-2004-01-20 19:11 Ralph Giles</strong></p>
+<p><strong><a name="2004-07-06_2215"></a>
+2004-07-06 22:15 Dan Coby</strong></p>
<blockquote>
<pre>
-Replace a fixed-filename tempfile fopen with gp_open_scratch_file() for improved robustness in the
-pnga device. Part of the fix for bug 687243.
+Fix for 687565 Incorrect equiv color for Orange in Altona test file.
+The altona test file Altona_Visual_bb_1v1_x3.pdf contains a spot color
+called Orange. An incorrect equivalent CMYK color is being determined for
+this spot color. The result is that the spot color is being displayed as
+black for the devices which handle spot colors and attempt to determine
+equivalent CMYK colors for the spot colors. These are the psdcmyk,
+tiffsep, and display (with -dDisplayFormat=16#a0800) devices.
DETAILS:
-This is an experimental device to preserve pdf transparency into a png rasterization and is
-distinct from the pngalpha device. I doesn't actually work for me and so may be suffering
-from bit rot; however the change compiles and should be correct.</pre>
-<p>[src/gdevpnga.c 1.8]</p>
-</blockquote>
+The Orange spot color is used in two different DeviceN color spaces. The
+first color space has components named 'None'. These components are used
+as part of a special feature described in section 4.5 of the PDF 1.5 spec.
+This feature uses the None components as a means for passing values to
+the color space's alternate tint transform function. In the example in
+the spec., these values are an equivalent color in the alternate color
+space.
-<p><strong><a name="2004-01-20_1905"></a>
-2004-01-20 19:05 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Some additional clarification on the new pdfwrite encryption user parameters.</pre>
-<p>[doc/Ps2pdf.htm 1.62]</p>
-</blockquote>
+Our logic for determining an equivalent CMYK color for a spot colorant
+sets all color components except for the desired spot color to zero and
+then uses the tint transform function to form an alternate color. This
+results in the equivalent CMYK color being black since the None values
+contain the real information for the tint transform function.
-<p><strong><a name="2004-01-20_1900"></a>
-2004-01-20 19:00 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve wording and html formatting of recent documentation additions.</pre>
-<p>[doc/News.htm 1.142, doc/Ps2pdf.htm 1.61]</p>
+This change consists of check for the presence of DeviceN color space
+components named None. If any are detected then the equivalent CMYK
+color logic exits rather than determine an invalid color. This is
+sufficient for this case since the second color space which contains
+the Orange spot color does not have the None components. For the
+general case, a solution needs to be found which samples colors given
+actual values for the None components.</pre>
+<p>[src/gsequivc.c 1.4]</p>
</blockquote>
-<p><strong><a name="2004-01-20_1508"></a>
-2004-01-20 15:08 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-06_1927"></a>
+2004-07-06 19:27 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : The PCL interpreter doesn't provide pattern streams (continued).
+ps2write step 11 : Implementing Metrics for Type 1,2,42 fonts (continued).
DETAILS :
-1. Restored the PATTERN_STREAM_ACCUMULATION 0 code from gdevpdfv.c revision 1.27.
- It provides a conversion of a pattern tile into a PDF pattern object.
-
-2. Passed have_pattern_streams to corresponding parts of pdfwrite.
-
-3. Added a check for have_pattern_streams into zpcolor.c .
- It is useful for debugging PS interpreter
- with passing have_pattern_streams=false to gs_state_set_client.
-
-With PS interpreter the new code never executes (unless one changes
-the call to gs_state_set_client).
+The previous patch appeares incomplete due to MissingWidth. Now fixing.
+CID fonts and Type 3 fonts are still stubbed.
+Tested with Bug687546.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdfg.c 1.46, src/gdevpdfg.h 1.29, src/gdevpdfv.c 1.33, src/int.mak 1.121, src/zpcolor.c 1.12]</p>
+<p>[lib/opdfread.ps 1.8]</p>
</blockquote>
-<p><strong><a name="2004-01-20_0139"></a>
-2004-01-20 01:39 Ralph Giles</strong></p>
+<p><strong><a name="2004-07-06_1904"></a>
+2004-07-06 19:04 Igor Melichev</strong></p>
<blockquote>
<pre>
-Correct a typo in the previous commit.</pre>
-<p>[src/gp_unifs.c 1.17]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-20_0124"></a>
-2004-01-20 01:24 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Save the original filename template for use in the error message when mkstemp() fails. According
-to the man page mkstemp() can clobber the contents of fname if it does not succeed. Part of the
-fix for bug 687243.</pre>
-<p>[src/gp_unifs.c 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_2319"></a>
-2004-01-19 23:19 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove some very old scripts which contain /tmp races, a security risk should
-someone actually try to use them. Part of the fix for bug 687243.</pre>
-<p>[lib/pj-gs.sh 1.4, lib/sysvlp.sh 1.4]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_2015"></a>
-2004-01-19 20:15 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 12.
+ps2write step 10 : Implementing Metrics for Type 1,2,42 fonts.
DETAILS :
-With no encryption strings in the Info dictionary got excessive brackets.
-Bug 687263 "Invalid producer / author / creator fields in PDF".
+CID fonts and Type 3 fonts are still stubbed.
+Tested with Bug687546.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdfu.c 1.49]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_1652"></a>
-2004-01-19 16:52 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (PDF interpreter) : CropBox computed wrongly.
-
-DETAILS :
-
-Bug 687244 "wrong interpretation of negative mediabox coordinates".
-The bug title appears incorrect. Actually the problem is caused by
-negative CropBox coordinates.
-
-.pdfshowpage_Install translates the coordinate system
-to provide positive coordinates, but pdfshowpage_finish did not
-account the translation when writing the CropBox.
-Therefore it the resulting CropBox was inconsistent with the painting
-when the source CropBox uses negative coordinates.
-
-EXPECTED DIFFERENCES :
-
-A progression with vtm2k.pdf .</pre>
-<p>[lib/pdf_main.ps 1.84]</p>
+<p>[lib/opdfread.ps 1.7]</p>
</blockquote>
-<p><strong><a name="2004-01-19_1232"></a>
-2004-01-19 12:32 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-06_1744"></a>
+2004-07-06 17:44 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Merge redundant images (continued).
+ps2write step 9 : Implementing Encoding for Type 1,2,42 fonts.
DETAILS :
-Bug 687224 "large pdf file size".
-
-The patch
-http://www.ghostscript.com/pipermail/gs-cvs/2004-January/003988.html
-appears incomplete, because it works only with
-
- << /EncodeColorImages false >> setdistillerparams
-
-The problem happens due to Decode arrays considered always unequal.
-This patch :
-1. Implemets cos_array_equal.
-2. Applies it properly to subobjects (particularly to Decode).
-3. Fixes the function cos_dict_equal - it was asymmetric.
-4. Improves the error processing while object comparizon.
-
-EXPECTED DIFFERENCES :
-
-None in rasters, some PDFs become shorter.</pre>
-<p>[src/gdevpdfo.c 1.26]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-19_0941"></a>
-2004-01-19 09:41 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : The PCL interpreter doesn't provide pattern streams.
-
-DETAILS :
-
-gx_pattern_cache_lookup falied when called by the PCL interpreter
-because the PCL interpreter doesn't provide high level pattern streams.
-Actially the compatibility of the graphics library to the PCL interpreter
-was broken since gsptype1.c revision 1.16.
-
-This patch introdices a new argument for the function gs_state_set_client.
-Using the argument, a client tells to the graphics library
-whether the client provides pattern streams. If not,
-the graphics librery emulates the old behavior based
-on raster parretns only.
-
-The new flag gs_imager_state::have_pattern_streams stores the
-compatibility mode. We would prefer it to be a member of the
-graphics library instance, but the instance is not implemented yet.
-Storing it to gs_imager_state may cause some undeserable effects,
-especially when a device creates a temporary graphic state for
-an internal use (the clist device is an example).
-We assume that none of devices provides pattern streams,
-and this assumption should be reasonable for current applications.
-
-The mechanizm for generating patters streams is still
-coded specifically to the PS interpreter in pattern_paint_prepare
-in zpcolor.c . This solution to be considered as a temporary one.
-We should refactor it into 2 parts : one specific for the PS interpreter,
-and another one being common for all applications,
-which should be a part of the graphics library.
-
-This patch had passed the regression test with the PS interpreter,
-but it was not tested with the PCL interpreter.
-Debugging it with PCL to be a next step.
+CID fonts and Type 3 fonts are still stubbed.
+Tested with Bug687546.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gsistate.c 1.9, src/gsptype1.c 1.18, src/gsstate.c 1.23, src/gxistate.h 1.19, src/gxstate.h 1.9, src/zgstate.c 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-17_2046"></a>
-2004-01-17 20:46 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for "687252 subfiledecode errors on includes greater than the
-size of a uint". In spite of the bug name, the problem is not
-related to the actual size of the subfile or to the size of a uint.
-The actual problem is a missing required parameter: EODCount.
-However Adobe once again ignores the missing parameter and what is
-specified in the PRLM-3rd.
-
-DETAILS:
-
-The given test file has a SubFileDecode filter without the required
-EODCount parameter.
-
-Ghostscript is rejecting the test file because the parameter is not
-defined. The RangeCheck error message is the result of the following
-piece of code in zfilter.c:
-
- if ((code = dict_int_param(op, "EODCount", 0, max_int, -1, &count)) < 0)
- return code;
-
-This sets a default value of -1 for EODCount and then checks it
-against the range 0 to max_int. Thus when EODCount is not found
-we get the rangecheck since -1 is outside the allowed range.
-
-In spite of the fact that the EODCount is a required parameter,
-Adobe Distiller 6.0, my CP1700PS printer, and CPSI 3010.105 print
-this file without complaint.
-
-This fix changes the default value to 0 to match Adobe and adds a
-comment explaining why the code differs from the spec.</pre>
-<p>[src/zfilter.c 1.10]</p>
+<p>[lib/opdfread.ps 1.6]</p>
</blockquote>
-<p><strong><a name="2004-01-16_1236"></a>
-2004-01-16 12:36 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-06_1348"></a>
+2004-07-06 13:48 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (type 1 hinter) : Wrong outline with a huge scale.
+ps2write step 8 : Implementing ExtGState.
DETAILS :
-An arithmetic error happened when scaling a glyph to a huge size
-(about 100000 pixels), causing a wrong outline.
-Actually some coordinate values were replaced with zeros.
-Thanks to Jeong Kim for detecting that.
-
-The bug was detected with -r1500 with the test file of
-the bug 686975 "Black box when converting to tiff".
-
-Note that the bug report is wrong :
-it says that the document with -r150 is bad and -r1500 is good.
-Comparing rasters with Adobe we concluded exactly vise versa :
--r150 was compatible and -r1500 was incompatible.
-After this patch both resolutions are compatible to Adobe.
-Probably the user won't like them due to a bug in the document :
-it paints a huge glyph, which is a hundred times bigger than the page size.
-The document needs a fix.
+Function objects are subbed yet.
+Debugged with Bug687546.ps .
EXPECTED DIFFERENCES :
-None with comparefiles.</pre>
-<p>[src/gxhintn.c 1.42]</p>
+None.</pre>
+<p>[lib/opdfread.ps 1.5]</p>
</blockquote>
-<p><strong><a name="2004-01-16_0947"></a>
-2004-01-16 09:47 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-06_1205"></a>
+2004-07-06 12:05 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 11.
+ps2write step 7 : Implementing text rendering operastors.
DETAILS :
-Improving a PDF 1.3 parameter conformity check.
+Font loading is stubbed yet.
+Debugged with Bug687546.ps .
+TextRenderingMode!=0 isn't debugged yet.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdf.c 1.86]</p>
+<p>[lib/opdfread.ps 1.4]</p>
</blockquote>
-<p><strong><a name="2004-01-16_0924"></a>
-2004-01-16 09:24 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-05_2116"></a>
+2004-07-05 21:16 Igor Melichev</strong></p>
<blockquote>
<pre>
-Documenting new features of gs8.30 .
+ps2write step 6 : :Providing a page stream execution context.
DETAILS :
-This inserts some new reference points in the documentation.
-Maybe someone will like to restructurize it.</pre>
-<p>[doc/Language.htm 1.83, doc/News.htm 1.141, doc/Ps2pdf.htm 1.60, doc/Use.htm 1.99]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0636"></a>
-2004-01-16 06:36 Dan Coby</strong></p>
-<blockquote>
-<pre>
-Fix for 687247 x11 device fails with CMYK on 8bit display.
-
-DETAILS:
-
-Inside gxcmap.c, the handling of color mapping for most devices is either
-halftoned or direct. However the x11 device when in 8 bit mode, and
-possibly other 256 color devices, use a slightly different path. First
-the color is processed in direct mode. If a color is not in the palatte
-and halftoning is required, then gx_no_color_index is returned as a
-color value. Then the color is processed as being halftoned. However
-this last path was dropped from CMYK colors with revision 8.0.</pre>
-<p>[src/gxcmap.c 1.18]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-16_0231"></a>
-2004-01-16 02:31 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 10 - beta release.
-
-DETAILS :
-
-This provides the related documentation.
+Most operators are eother stubbed or unimplemented,
+but the interpretation runs and prints a trace.
+Debugged wioth Bug687546.ps .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[doc/Ps2pdf.htm 1.59]</p>
+<p>[lib/opdfread.ps 1.3]</p>
</blockquote>
-<p><strong><a name="2004-01-16_0211"></a>
-2004-01-16 02:11 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 9.
+ps2write step 5 : Page streams must interpret immediately.
DETAILS :
-This fixes the key length problem with << /V 2 /R 3 >> .
-
-With << /V 2 /R 2 >> the patched version is still incompatible to Adobe
-when Length is not 40, but it appears compatible to XPDF.
-
-This revision can go to beta.
-Use << /V 2 /R 2 /Length 40 >> or << /V 2 /R 3 /Length not40 >>
-- they both should work.
+This works against a huge memory consumption.
+Also improved comments, the module structurization and error processing.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdf.c 1.85]</p>
+<p>[lib/opdfread.ps 1.2]</p>
</blockquote>
-<p><strong><a name="2004-01-16_0202"></a>
-2004-01-16 02:02 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (PDF interpreter) Bug in encryption revision 3.
+ps2write step 4 : Stream data length must preceed the stream.
DETAILS :
-It wrongly generated the encryption key with << /V 2 /R 3 >> .
+The new code is disabled with PS2WRITE 0 in gdevvec.h .
-With << /V 2 /R 3 >> the patched version is compatible to Adobe.
-With << /V 2 /R 2 >> the patched version is still incompatible to Adobe
-when Length is not 40, but it appears compatible to XPDF.
+pdf_begin_data_stream, pdfmark_PS wrote a stream data length after the stream object.
+With OrderResources true we write a direct object instead that.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[lib/pdf_sec.ps 1.13]</p>
+<p>[src/gdevpdfm.c 1.42, src/gdevpdfu.c 1.56, src/gdevpdfx.h 1.97]</p>
</blockquote>
-<p><strong><a name="2004-01-15_2144"></a>
-2004-01-15 21:44 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-05_1255"></a>
+2004-07-05 12:55 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 8.
+ps2write step 3 : Initial commit for the Ordered PDF Reader.
DETAILS :
-This fixes minor problems with parameter consistency.
+This revision only reads PDF objects into VM.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdf.c 1.84]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-15_1745"></a>
-2004-01-15 17:45 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add an RCS Id line to the documentation stylesheet. There's no reason to exempt it.</pre>
-<p>[doc/gs.css 1.3, toolbin/tests/check_source.py 1.8]</p>
+<p>[lib/opdfread.ps 1.1]</p>
</blockquote>
-<p><strong><a name="2004-01-15_1741"></a>
-2004-01-15 17:41 Ralph Giles</strong></p>
+<p><strong><a name="2004-07-03_1051"></a>
+2004-07-03 10:51 Russell Lang</strong></p>
<blockquote>
<pre>
-Add the Freetype Licence text to the exemptions list for RCS Id lines.</pre>
-<p>[toolbin/tests/check_source.py 1.7]</p>
-</blockquote>
+Log Message:
+Fixes bug 686956 Display device does not support separations.
+Add support for separations to display device.
+This requires a change to the display callback structure.
+Support is maintained for clients using version 1 of the structure.
-<p><strong><a name="2004-01-15_1735"></a>
-2004-01-15 17:35 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add gp_unix_cache.c to the developer documentation's file listing.</pre>
-<p>[doc/Develop.htm 1.130]</p>
+DETAILS:
+Add support for a new color format, DISPLAY_COLORS_SEPARATION,
+which supports CMYK and spot colors. A new callback
+display_separation() is used to tell the client about
+the names and CMYK equivalents of each separation.
+The callback structure version number is incremented to 2
+to show that has changed. The display devices checks
+whether it is passed the older v1 structure or the newer
+v2 structure, and only calls the new separation callback
+if it was given a v2 structure.
+Only 8-bit/pixel, up to 8 components and 64-bit depth are supported.
+In the Windows and gtk+ clients, a subset of these 8 separations
+can be selected for display.
+The new code is based on the tiffsep device.</pre>
+<p>[doc/API.htm 1.43, doc/Devices.htm 1.79, src/dwimg.c 1.12, src/dwimg.h 1.9, src/dwmain.c 1.17, src/dwmainc.c 1.19, src/dxmain.c 1.13, src/gdevdsp.c 1.23, src/gdevdsp.h 1.8, src/gdevdsp2.h 1.7, src/idisp.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-01-15_1608"></a>
-2004-01-15 16:08 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-01_1923"></a>
+2004-07-01 19:23 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 7.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 6).
DETAILS :
-The previous patch wrote a dubugging stub. Removing it now.
-Also improving the log messages because this revision appears better than was explained.
-
-It works fine with 40 bits keys and with 128 bits keys.
-With other key lengthes it creates PDFs that GS can open with either user or owner password,
-but Adobe Reader 6 doesn't open them, reporting a wrong password.
-That's a problem though.
+Bug 687546 pdfwrite : Type 3 glyph variations (was: ps2pdf segfaults)
+Relates to 687044, 687472, 687489, 687546.
+charproc_just_accumulated was not properly initialized on some circumstances.
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gdevpdf.c 1.83]</p>
+Bug687546.ps (new)</pre>
+<p>[src/gdevpdtt.c 1.84]</p>
</blockquote>
-<p><strong><a name="2004-01-15_1502"></a>
-2004-01-15 15:02 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-01_1827"></a>
+2004-07-01 18:27 Dan Coby</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 6.
-
-DETAILS :
-
-1. Provide pdfwrite device parameters for encryption revision 3 (PDF 1.5).
-2. Check them for consistency and provide reasonable defaults.
-3. Provide the encryption version 2 revision 3 (i.e. 48-128 bits keys).
-
-It works fine with 40 bits keys.
-With longer keys it creates PDFs that GS can open with either user or owner password,
-but Adobe Reader 6 doesn't open them, reporting a wrong password.
-That's a problem though.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdf.c 1.82, src/gdevpdfp.c 1.36, src/gdevpdfx.h 1.84]</p>
+Correct some warnings from the MSVC compiler.</pre>
+<p>[src/gscdevn.c 1.19, src/gscsepr.c 1.26, src/gsht.c 1.21, src/gzht.h 1.12]</p>
</blockquote>
-<p><strong><a name="2004-01-15_1009"></a>
-2004-01-15 10:09 Igor Melichev</strong></p>
+<p><strong><a name="2004-07-01_0441"></a>
+2004-07-01 04:41 Dan Coby</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 5.
-
-DETAILS :
-
-1. Encrypt strings in CIDSystemInfo.
-2. Provide a parent object id writing a cos object.
-3. Encrypt strings serializing a cos object.
-
-All comparefiles are now passed.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/devs.mak 1.107, src/gdevpdf.c 1.81, src/gdevpdfc.c 1.46, src/gdevpdfo.c 1.25, src/gdevpdfo.h 1.18, src/gdevpdfu.c 1.48, src/gdevpdfx.h 1.83, src/gdevpdtf.c 1.34, src/gdevpdti.c 1.27, src/gdevpdtw.c 1.27, src/gdevpdtw.h 1.4]</p>
+This change creates common routines for handling the DeviceN related
+device parameters (SeparationColorNames, SeparationOrder, and
+MaxSeparations). The change also splits up some common routines that
+were assuming that the device was a 'printer' device.</pre>
+<p>[src/devs.mak 1.116, src/gdevdevn.c 1.21, src/gdevdevn.h 1.10, src/gdevnfwd.c 1.25, src/gdevpsd.c 1.16, src/gdevtsep.c 1.3, src/gdevxcf.c 1.9, src/gxcmap.c 1.22, src/gxcmap.h 1.11]</p>
</blockquote>
-<p><strong><a name="2004-01-15_0927"></a>
-2004-01-15 09:27 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-30_1737"></a>
+2004-06-30 17:37 Raph Levien</strong></p>
<blockquote>
<pre>
-Initial commit of the persistent cache implementation. This version supports only the *nix
-platform and does not include any eviction logic. Also currently the cache directory and
-empty 'gs_cache' index file must be created manually.
-
-DETAILS:
-
-Two new calls have been added to the gp layer: gp_cache_insert() and gp_cache_query(). These
-take a byte buffer as a key under which another buffer can be stored or recalled. In addition to
-the key, buffers are filed by 'type' which provides a separate namespace for each kind of
-data. These types should be one of the GP_CACHE_TYPE_* defines in gp.h.
-
-The query call takes a callback for allocating the buffer to be filled. Thus, all memory
-management for the key and value buffers is handled by the client and the query returns
-the data (if any) within a single call.
-
-A pair of postscript test operators, .pcacheinsert and .pcachequery are provided in zmisc.c,
-however they are disabled by default to prevent access to the cache by malicious postscript
-programs. They operate only with the 'test' type, so a denial-of-service attack is the only
-real risk; however we anticipate all access will be from C code. Compile with the DEBUG_CACHE
-preprocessor symbol to enable these.
-
-Improvements and implementations for other platforms are to follow.</pre>
-<p>[src/Makefile.in 1.31, src/gp.h 1.27, src/gp_dvx.c 1.11, src/gp_iwatc.c 1.17, src/gp_mac.c 1.15, src/gp_mswin.c 1.23, src/gp_os2.c 1.30, src/gp_os9.c 1.12, src/gp_unix.c 1.13, src/gp_unix_cache.c 1.1, src/gp_vms.c 1.37, src/gs.mak 1.24, src/unix-aux.mak 1.11, src/zmisc.c 1.6]</p>
+Fixes nonportable code in the vasarely.ps example file so that keeps
+to reasonable page size values even when default clippath is very
+large (as is the case with the bbox device). Fixes bug #687549.</pre>
+<p>[examples/vasarely.ps 1.3]</p>
</blockquote>
-<p><strong><a name="2004-01-14_1805"></a>
-2004-01-14 18:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-30_1455"></a>
+2004-06-30 14:55 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 4.
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts (continued).
DETAILS :
-It fixes problems with encrypting strings in Indexed color spaces.
-Strings are not encrypted yet.
-All comparefiles are now passed except korea.ps .
+Fixing a compiler error with PS2WRITE 1.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/devs.mak 1.106, src/gdevpdfc.c 1.45]</p>
+<p>[src/gdevpdfu.c 1.55]</p>
</blockquote>
-<p><strong><a name="2004-01-14_1604"></a>
-2004-01-14 16:04 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-30_1450"></a>
+2004-06-30 14:50 Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 3.
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts.
DETAILS :
-It fixes problems with encryption of streams.
-Strings are not encrypted yet (this may affect some color spaces).
-Most of Genoa tests now passed.
+This patch makes the dependence explicit.
+Have no idea which distiller parameter must controll patterns and forms,
+so keeping the old dependence.
+With OrderResources=true pages now depend on CompressPages.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdfj.c 1.29, src/gdevpdfu.c 1.47, src/gdevpdfx.h 1.82, src/gdevpdtb.c 1.23, src/gdevpdti.c 1.26, src/gdevpdtw.c 1.26]</p>
+<p>[src/gdevpdfi.c 1.54, src/gdevpdfm.c 1.41, src/gdevpdfu.c 1.54, src/gdevpdfx.h 1.96, src/gdevpdti.c 1.34]</p>
</blockquote>
-<p><strong><a name="2004-01-14_1407"></a>
-2004-01-14 14:07 Alex Cherepanov</strong></p>
+<p><strong><a name="2004-06-30_1435"></a>
+2004-06-30 14:35 Igor Melichev</strong></p>
<blockquote>
<pre>
-Check for hypot() availability on the configure step, fix the hypot()
-replacement macro, and deal with MSVC specially.
-Fix bug 687238.</pre>
-<p>[src/Makefile.in 1.30, src/configure.ac 1.39, src/math_.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_1345"></a>
-2004-01-14 13:45 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 2.
+ps2write part 2 : Delay writing pages.
DETAILS :
-It implements the encryption of most PDF streams.
-Strings are not done yet.
-It can process 001-01.ps, but there are problems with other files.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/devs.mak 1.105, src/gdevpdf.c 1.80, src/gdevpdfo.c 1.24, src/gdevpdfu.c 1.46, src/gdevpdfx.h 1.81, src/gdevpdti.c 1.25, src/sarc4.c 1.10, src/sarc4.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-14_0750"></a>
-2004-01-14 07:50 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the PDF 1.4 encryption, step 1.
+The new code is disabled with PS2WRITE 0 in gdevvec.h .
-DETAILS :
+With OrderResources=true it writes pages at the end of the document,
+after all resources are written to PDF.
+Before that pages are accumulated in a temporary file.
-This defines new pdfwrite device parameters OwnerPassword, UserPassword, KeyLength, Permissions,
-and outputs the Encrypt dictionary if OwnerPassword is specified.
-PDF data are not encrypted yet.
+OrderResources has been moved from distiller parameters to device parameters.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/devs.mak 1.104, src/gdevpdf.c 1.79, src/gdevpdfp.c 1.35, src/gdevpdfx.h 1.80, src/sarc4.c 1.9, src/sarc4.h 1.5]</p>
+<p>[src/gdevpdf.c 1.96, src/gdevpdfg.c 1.54, src/gdevpdfp.c 1.39, src/gdevpdfu.c 1.53, src/gdevpdfx.h 1.95, src/gdevpsdf.h 1.22, src/gdevpsdp.c 1.14]</p>
</blockquote>
-<p><strong><a name="2004-01-14_0638"></a>
-2004-01-14 06:38 Ray Johnston</strong></p>
+<p><strong><a name="2004-06-30_1154"></a>
+2004-06-30 11:54 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix to prevent setdistillerparams from erasing the page device or reset
-the page device parameters. Fixes bugs 563287 and 607425.
-
-DETAILS:
-
-The .putdeviceparamsonly function defined in gs_setpd.ps is designed to
-set device properties without clearing or resetting the pagedevice.
-
-Both code snippets execute as expected with this change.
-
-While the 563287 bug report mentions an attached file, it does not
-appear to exist anywhere (any more) unless it refers to the little
-code snippet.
-
-Expected Differences:
-
-none.
-
-Only one of the regression test files, PT.ps, invokes setdistillerparams
-and this invocation doesn't trip over the problem since distiller params
-are set before painting anything.</pre>
-<p>[lib/gs_pdfwr.ps 1.37]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_1403"></a>
-2004-01-13 14:03 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Implementing the file ID.
+ps2write part 1 : starting the project.
DETAILS :
-File ID will be used in PDF encryption.
-See comment in pdf_compute_fileID.
+Define a new temporary configuration switch PS2WRITE.
+The new code is disabled with PS2WRITE 0 in gdevvec.h .
-A new function s_MD5E_make_stream is defined
-to simplify internal interfaces.
+Our development strategy is to make pdfwrite to generate an output,
+which a PS interpreter can handle with a special procset.
+For a while we'll not define a new ps2write device,
+but enhance the pdfwrite device with a new feature.
-I'm not sure about the trick "s->strm = s" in s_MD5E_make_stream.
-Want an approval.
+A new temporary distiller parameter OrderResources will make pdfwrite
+to keep a proper resource ordering for generating a PS output.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/devs.mak 1.103, src/gdevpdf.c 1.78, src/gdevpdfx.h 1.79, src/lib.mak 1.161, src/smd5.c 1.6, src/smd5.h 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_0728"></a>
-2004-01-13 07:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Cygwin/gcc compiler warnings.</pre>
-<p>[src/gdevpdfd.c 1.36, src/gdevpdfo.c 1.23]</p>
+<p>[src/gdevpsdf.h 1.21, src/gdevpsdp.c 1.13, src/gdevvec.h 1.14]</p>
</blockquote>
-<p><strong><a name="2004-01-13_0728"></a>
-2004-01-13 07:28 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-30_0815"></a>
+2004-06-30 08:15 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Adobe glitches with a small FontMatrix.
-
-DETAILS :
-
-Bug 687207 "PS file incorrectly converted to PDF".
-Actually the PDF was fine but Adobe has a precision problem with small FontMatrix.
-This patch adjusts the FontMatrix of a Type 3 font to a reasonable interval.
+Fix : MSVC compiler warning.
EXPECTED DIFFERENCES :
-None with old comparefiles.</pre>
-<p>[src/gdevpdte.c 1.51, src/gdevpdtt.c 1.71, src/gdevpdtt.h 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-13_0532"></a>
-2004-01-13 05:32 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fixing a punctuation inaccuracy in documentation.</pre>
-<p>[doc/Language.htm 1.82, doc/Use.htm 1.98]</p>
+None.</pre>
+<p>[src/gdevtsep.c 1.2]</p>
</blockquote>
-<p><strong><a name="2004-01-13_0206"></a>
-2004-01-13 02:06 Ray Johnston</strong></p>
+<p><strong><a name="2004-06-29_2246"></a>
+2004-06-29 22:46 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix problems with the "image" device when the palette is an 8-bit gray
-palette (uses the image8 device with num_components == 1). Since the
-DeviceN changes, changing num_components requires also setting the
-gray_index value appropriately. Also the rgb to color mapping function
-did not allow for num_components == 1 and used uninitialized values for
-the green and blue comonents. Fixes bugs 458261, 686909 and 687204.
+Fix for 687553 rangecheck in .sethalftone5 and SeparationOrder.
DETAILS:
-The gray_index value was being left at GX_CINFO_COMP_NO_INDEX, so the
-gx_device_has_color macro indicated a color device. This means that
-when the gs_initialize_wordimagedevice function changed the num_components
-value to 1, the gray_index was incorrect (should be 0 for a gray shade
-device).
-
-Also the mem_mapped_map_rgb_color function didn't check for num_components
-== 1, thus using uninitialized cv[1] and cv[2] values and getting incorrect
-palette selections. Also I optimized the single component case a bit as
-well as an "early out" for both color and monochrome when diff == 0 (can't
-get any better than a perfect match).
-
-I guess 8-bit monochrome image devices haven't been used much.
+If a file specifies a type 5 halftone and the SeparationOrder device
+parameter is specified then a rangecheck can occur. This happens when
+the halftone includes two or more colorants that are not in the
+SeparationOrder parameter or one colorant and a 'Default' value.
-Expected Differences:
+The problem occurs because the get_color_comp_index device procs use
+GX_DEVICE_COLOR_MAX_COMPONENTS to indicate colorants which are not
+being imaged due to the colorant not be included in the list for the
+SeparationOrder device parameter. However the
+gs_color_name_component_number routine was using the same value to
+indicate 'Default' halftones.
-none. (we don't test ps2epsi in the regression suite).</pre>
-<p>[src/gdevmem.c 1.7, src/gsdevmem.c 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_2316"></a>
-2004-01-12 23:16 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Clarify wording in the updated GridFitTT documentation.</pre>
-<p>[doc/Language.htm 1.81, doc/Use.htm 1.97]</p>
+The fix consists of modifying gs_color_name_component_number to look
+for GX_DEVICE_COLOR_MAX_COMPONENTS from the get_color_comp_index
+device proc. If found then the component is treated the same as
+a component that is not present in the device. The halftoning
+logic is only concerned with the colorants which are actually being
+used by the device.</pre>
+<p>[src/gsht.c 1.20]</p>
</blockquote>
-<p><strong><a name="2004-01-12_2304"></a>
-2004-01-12 23:04 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-29_2227"></a>
+2004-06-29 22:27 Dan Coby</strong></p>
<blockquote>
<pre>
-Clarify wording and correct some spelling errors in a recent documentation change.</pre>
-<p>[doc/Ps2pdf.htm 1.58]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_1435"></a>
-2004-01-12 14:35 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A misprint in the previous patch.
-
-DETAILS :
-
-Don't use the previous revision of gdevpdf.c - it's wrong.</pre>
-<p>[src/gdevpdf.c 1.77]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-12_1428"></a>
-2004-01-12 14:28 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-pdfwrite : Merge redundant images.
-
-DETAILS :
-
-Bug 687224 "large pdf file size".
-
-With this change pdfwrite compares images for equality
-and merges same images into a single XObject, except for inline images.
-
-A new pdfwrite device parameter MaxInlineImageSize controls
-inline images. See gs\doc\Ps2pdf.htm . Use it to disable
-inline images if the source document contains multiple redundant
-small images.
-
-A new vitrtual function cos_object_t::cos_procs->equal is implemented
-for object comparizon. But the current implementation is restricted
-with current needs. Particularly it doesn't implement cos arrays,
-and assumes equal stream segmentation for equal streams.
-To be improved someday.
-
-Note that an image is copied to temporary file before a comparizon.
-If the image appears redundant, the current implementation sometimes doesn't
-release the space consumed in the temporary file. Therefore the disk must
-have enough space for storing all copies. We could improve this using
-a smarter method than cos_stream_release_pieces, because an image can interlive
-only with same image of an alternative compression.
-To be improved someday.
-
-EXPECTED DIFFERENCES :
-
-None in rasters, some PDFs become shorter.</pre>
-<p>[doc/Ps2pdf.htm 1.57, src/gdevpdf.c 1.76, src/gdevpdfb.c 1.21, src/gdevpdfg.h 1.28, src/gdevpdfi.c 1.50, src/gdevpdfj.c 1.28, src/gdevpdfo.c 1.22, src/gdevpdfo.h 1.17, src/gdevpdfp.c 1.34, src/gdevpdfu.c 1.45, src/gdevpdfx.h 1.78]</p>
+Correct spelling in a comment.</pre>
+<p>[src/gxcmap.h 1.10]</p>
</blockquote>
-<p><strong><a name="2004-01-11_1353"></a>
-2004-01-11 13:53 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-29_2101"></a>
+2004-06-29 21:01 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A mangled CFF was written when an Encoding uses 256 glyphs.
-
-DETAILS :
-
-Bug 687217 "pdfwrite erases a certain type1 font when I used 'space' character"
-Thanks to Inoue Koich and to Mr. Hirata for the useful information
-in the Comment #4 of 687217.
-
-The reason was an old "NYI" :
- /*
- * The count of encoded characters is only a single byte, so we
- * have to use a supplement for the last character.
- */
- /****** NYI ******/
-
-This patch implements that.
-
-EXPECTED DIFFERENCES :
-
-None with old compartefiles.
-mbb-with-space.ps to be added to comparefiles.</pre>
-<p>[src/gdevpsf2.c 1.30]</p>
+Change the default handling of the MaxSeparations device parameter. This
+parameter is only used by some of the DeviceN mode devices (which have
+their own handling of this parameter). The default handler now simply
+ignores this parameter. However it does read the parameter. Not reading
+the parameter was causing problems with PDF files and page devices.</pre>
+<p>[src/gsdparam.c 1.17]</p>
</blockquote>
-<p><strong><a name="2004-01-11_1121"></a>
-2004-01-11 11:21 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-29_0105"></a>
+2004-06-29 01:05 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : removed dependence on bands in the filling algorithm.
+Add contributed pscolor utility by Carsten Hammer. This splits a ps
+document into two, one consisting only of black and white pages, and
+one of color pages. Useful for printing on separate devices.
-DETAILS :
-
-Bug 687222 "Raster depends on bands".
-This patch fixes a known dependence, but doesn't include
-an attempt to find or fix all possible dependences.
-It copmutes a next evaluation point over the top band boundary
-as it would be without a banding, store it into line_list::y_break,
-and use in proper places of fill_loop_by_trapezoids and fill_loop_by_scan_lines.
-
-EXPECTED DIFFERENCES :
-
-normal, 72dpi -dMaxBitmap=10000 :
-
-None.
+Submitted under bug 602263.
-normal, 72dpi -dMaxBitmap=30000000 :
-
-None.
-
-normal, 300dpi -dMaxBitmap=10000 :
-
-012-09.ps
-036-01.ps
-123-05.ps
-175-01.ps
-226-01.ps
-231-01.ps
-motor.pdf
-Openhuis_pdf_zw.pdf
-
-normal, 300dpi -dMaxBitmap=30000000 :
-
-Openhuis_pdf_zw.pdf
-
-pdfwrite was not tested.</pre>
-<p>[src/gxfill.c 1.85, src/gxfill.h 1.12]</p>
+The Makefile needs updating for the new location.</pre>
+<p>[contrib/pscolor/Makefile 1.1, contrib/pscolor/instream.yy 1.1, contrib/pscolor/test.c 1.1]</p>
</blockquote>
-<p><strong><a name="2004-01-10_1800"></a>
-2004-01-10 18:00 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-28_1713"></a>
+2004-06-28 17:13 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Mark copied font's glyph names when reclaiming memory.
+Fix : True Type grid fitting must not apply to FAPI fonts.
DETAILS :
-Bug 687187 "pdfwrite can duplicate glyphs embedding a font".
-If a font is freed and then reloaded, the glyph names could get different name indices,
-if the garbager freed the names before the second loading of the font.
-As the result, the copied font could embed duplicated charstrings.
+Bug 687543 "FAPI: Type 42 is broken".
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfcopy.c 1.40]</p>
+<p>[src/gxccman.c 1.26, src/lib.mak 1.187]</p>
</blockquote>
-<p><strong><a name="2004-01-10_1224"></a>
-2004-01-10 12:24 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-24_1010"></a>
+2004-06-24 10:10 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Improving heuristics in the compression chooser.
+Fix : A dangling pointer from TExecution_Context could cause a memory corruption.
DETAILS :
-Gradients' area was wrongly computed.
-Fixing it and adjust thresholds to comply with the new computation.
-Bug 687169 "(pdfwrite) : An imperfect compression choice with dina3_watermark.pdf".
-
-Processing comparefiles, with this patch pdfwrite chooses a compression
-closer to the original document.
-I noticed 3 tests differing from source :
-
-Fixed_Original.pdf
-loremIpsum.pdf
-S2_Digitalproof-Forum_x3k.pdf
-
-In all 3 tests the images are like a photo,
-so DCT is the right choice rather than the original Flate or LZW.
-
-EXPECTED DIFFERENCES :
-
-After pdfwrite the following tests generate a different raster
-due to DCT/Flate changes :
-
-adesso2.pdf
-adesso5.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-BEST8-99-Path.fh7.pdf
-besttest.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-Faktura.pdf
-Fixed_Original.pdf
-foo.pdf
-H00216q.pdf
-kazmir.pdf
-loremIpsum.pdf
-MagicEye.pdf
-Original.pdf
-S2_Digitalproof-Forum_x3k.pdf
-si_tg_brochure.pdf
-test.pdf
-
-All them generate a shorter PDF.</pre>
-<p>[src/gdevpdfj.c 1.27, src/gdevpsds.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-10_1212"></a>
-2004-01-10 12:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : A big stack consumption writing a CFF with many glyphs.
-
-DETAILS :
+The pointed area was never used and the pointer was not listed in the garbager descriptor.
+Due to the latter it was not relocated and a wrong object was released through it.
+Bug 687533 "segmentation fault on this PS file"
-This is a continuation of the patch
-http://www.ghostscript.com/pipermail/gs-cvs/2003-December/003887.html .
-The test file of the Bug 686875 contains a Type 1 font with 1280 glyphs,
-which overflowed tables in the CFF writer.
-Now we provide a dynamic allocation of the tables.
-Bugs 687212, 687233, 687212.
+We still keep the pointer defined, because we don't want to change FreeType structures.
+But now we don't allocate the area for its referent.
-The table size for CID fonts are still hardcoded.
-We believe that they must not be big because
-with CID fonts glyph names are not used.
+Minor change (ttinterp.c) : skip allocating a debug data of zero size.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpsf.h 1.26, src/gdevpsf2.c 1.29]</p>
+<p>[src/ttfmemd.c 1.7, src/ttinterp.c 1.13, src/ttobjs.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-01-09_1427"></a>
-2004-01-09 14:27 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-24_0951"></a>
+2004-06-24 09:51 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : Improving vdtrace macros.
+Fix: Unwinding the recent change to gsdparam.c becauase it breaks the PDF interpreter.
DETAILS :
-This fixes the bug 687216 "syntactical problems with vd_* macros",
-and implements a reading of the view parameters from an ini file.
-It allows to adjust the view without editing GS sources.
-The ini file is intentionally made global for all GS installations
-to simplify their comparizon.
+All comparefiles/*.pdf failed with -sDEVICE=ppmraw after the change
+http://www.ghostscript.com/pipermail/gs-cvs/2004-June/004575.html .
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/dwtrace.c 1.5, src/vdtrace.h 1.10]</p>
+See DETAILS.</pre>
+<p>[src/gsdparam.c 1.16]</p>
</blockquote>
-<p><strong><a name="2004-01-09_1340"></a>
-2004-01-09 13:40 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-24_0720"></a>
+2004-06-24 07:20 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix : Some of Sun ONE Studio 7 and Cygwin/gcc compiler warnings.
-
-DETAILS :
-
-Bug 687234 "warnings on Solaris (ghostscript-8.13)"
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/devs.mak 1.102, src/gdevpdtc.c 1.31, src/gdevpdtt.c 1.70, src/gxpcopy.c 1.16, src/zfapi.c 1.51]</p>
+Add source file src/gdevtsep.c. This file is part of the implementation
+687440 and 542629.</pre>
+<p>[src/gdevtsep.c 1.1]</p>
</blockquote>
-<p><strong><a name="2004-01-09_1302"></a>
-2004-01-09 13:02 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-24_0654"></a>
+2004-06-24 06:54 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Empty clip was written into a charproc.
-
-DETAILS :
-
-See comment in gdevpdtt.c .
-Bug 687239 "tiling bug in pdfwrite".
-
-This patch also improves a comment in gdevpdti.c .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdti.c 1.24, src/gdevpdtt.c 1.69]</p>
+Add the src/gdevtsep.c file. This contains the tiffgray, tiff32nc, and
+tiffsep devices.</pre>
+<p>[doc/Develop.htm 1.135]</p>
</blockquote>
-<p><strong><a name="2004-01-08_1402"></a>
-2004-01-08 14:02 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-24_0651"></a>
+2004-06-24 06:51 Igor Melichev</strong></p>
<blockquote>
<pre>
-Implementing a True Type grid fitting, step 12, final.
+Fix (TT interpreter) : The implementation of INSTCTRL did not follow the TT specification by Apple.
DETAILS :
-This patch switches on the new grid fitter,
-and provides related changes to the documentation.
-
-Minor change : fixed Cygwin/gcc compiler warnings in gzspotan.c .
+Bug 687526 /invalidfont in --show--
+See http://developer.apple.com/fonts/TTRefMan/RM05/Chap5.html#INSTCTRL
+The old implementation comes from FreeType.
EXPECTED DIFFERENCES :
-All True type fonts render differently.
-They present in the following tests :
-
-01_001.pdf
-159.pdf
-adesso2.pdf
-adesso7.pdf
-adesso8.pdf
-Altona.Page_3.2002-09-27.pdf
-annots.pdf
-budget2.pdf
-budget2_ai87.pdf
-bugsample.pdf
-Faktura.pdf
-fonts.pdf
-ICPconcept.pdf
-keyboard.pdf
-MagicEye.pdf
-ngnews.pdf
-ngnews1.pdf
-S2_Digitalproof-Forum_x3k.pdf
-test_multipage_prob.pdf
-Testform.v1.0.2.pdf
-xngnews.pdf
-japan.ps
-japan-.ps
-korea.ps
-MyTest5.ps
-MyTest6.ps
-Type11CDevProc.ps
-type42_glyph_index.ps</pre>
-<p>[src/gx.h 1.31, src/gzspotan.c 1.8, doc/Language.htm 1.80, doc/Use.htm 1.96]</p>
+None.</pre>
+<p>[src/ttinterp.c 1.12]</p>
</blockquote>
-<p><strong><a name="2004-01-07_1950"></a>
-2004-01-07 19:50 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-24_0648"></a>
+2004-06-24 06:48 Dan Coby</strong></p>
<blockquote>
<pre>
-Unequivocally include stdlib.h in echogs.c to avoid a warning on the Sun ONE Studio 7 compiler as
-reported in bug 687234.
+This change implements the enhancements described in 542629 CMYK
+tiff driver and 687440 Support for outputting PDF separations
+separately. This change implements three devices: tiffgray
+which produces an 8 bit gray output with uncompressed data,
+tiff32nc which produces 32 bit CMYK with uncompressed data, and
+tiffsep which produces a tiffgray file for each separation
+(CMYK and spot colors) and it also produces a CMYK output file
+which is created using the CMYK image data plus the spot
+colors image data. The spot colors are converted to CMYK using
+the logic in 687431.
DETAILS:
-The code in echogs.c calls exit() which is defined in stdlib.h. However it was not including that
-header (except) on VMS because of portability concerns, resulting in the reported 'implicit
-function definition' warning. The echogs program must be available before genarch runs and the
-std.h-based portability headers are available, so wide build support for this code is important.
-
-However, such platforms are now very old and comments elsewhere in the code suggest that any
-compiler supporting ANSI prototypes as we now require will also have a stdlib.h that defines
-exit(). If this change causes a problem, #ifdef code similar to what was used in gp_unix.c can be
-used instead.</pre>
-<p>[src/echogs.c 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-07_1112"></a>
-2004-01-07 11:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 11.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It's a furter improvement if the hint generator and the hinter.
-
-1. Improved comments about "overall" hints.
-
-2. Implemented the "autohinting" flag,
- which tells that alignment zones to be guessed from the hint orientation.
-
-3. Implemented a hint orientation for horizontal stems.
+This change requires that 687504 be included in the sources.
+
+The tiffgray and tiff32nc devices are logically similar to the
+tiff24nc device except for the use of gray and CMYK process
+color models.
+
+The tiffsep device uses much of the logic which has been created
+for the psdcmyk and spotcmyk devices. These include logic for
+implementing the SeparationOrder setpagedevice parameter 687423,
+logic for determining an equivalent CMYK color to spot colors
+687431, and automatically detecting spot colors (without requiring
+that they be specified via the SeparationColorNames setpagedevice
+parameter 687504.
+
+The tiffsep device also prints the names of any spot colors
+detected within a document to stderr. (stderr is also use for the
+output from the bbox device.) For each spot color the name of
+the color is printed preceded by '%%SeparationName: '. This
+provides a mechanism for external applications to be informed about
+the names of spot colors with a document.
+
+Due to the 64 bit pixel size limitation, the tiffsep can handle
+a maximum of 8 colorants per pass. However it is possible to
+handle more than 8 colorants by doing multiple passes. For each
+pass after the first one, the names of all of the separations need
+to be specified via the SeparationColorNames parameter and the
+names of the desired separations need to be specified via the
+SeparationOrder parameter. When colorants are selected via the
+SeparationOrder parameter, the composite CMYK output contains
+the equivalent CMYK data only from the selected colorants. It is
+possible to create an overall CMYK composite for more than 8
+colorants by then adding together (via an external application like
+imagemagick) the composite CMYK output files from the individual
+Ghostscript passes.
+
+Internally each spot color is assigned a spot color number. These
+numbers start with 0 for the first spot color. The spot color
+numbers are assigned in the same order as the names are printed to
+stderr (see above). This order also matches the ordering in the
+SeparationColorNames list, if this parameter is specified. The
+spot color numbers are not affected by the SeparationOrder parameter.
+
+This device creates multiple output files. The file specified
+via the OutputFile command line parameter is used to contain the
+composite CMYK equivalent. File names for the separations for the
+CMYK planes are created by appending '.Cyan.tif', '.Magenta.tif'
+'.Yellow.tif' or '.Black.tif' to the to the end of the file name
+specified via the OutputFile parameter. File names for the spot
+color separation files are created by appending '.sn.tif' (where n
+is the spot color number) to the end of the file name specified via
+the OutputFile parameter.
+
+The src/gdevtsep.c source file does have a compile time option for
+including/not the '.tif' at the end of the created file name. It
+also has a compile time option for using the name of the spot color
+as part of the file name. However this is not enabled since there
+may be conflicts with spot color names (in which Adobe allows almost
+anything) and the operating system's conventions on file naming.
+
+This change consists of the new source module src/gdevtsep.c,
+changes to devs.mak for defining the new devices, changes to the
+various top level make files for including these devices in their
+DEVICE_DEVS definitions, and changes to the documentation files.</pre>
+<p>[doc/Devices.htm 1.78, src/Makefile.in 1.36, src/devs.mak 1.115, src/dvx-gcc.mak 1.26, src/gdevdevn.h 1.9, src/gsdparam.c 1.15, src/macos-mcp.mak 1.25, src/msvc32.mak 1.58, src/openvms.mak 1.36, src/os2.mak 1.37, src/unix-gcc.mak 1.45, src/unixansi.mak 1.36, src/watcw32.mak 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0647"></a>
+2004-06-24 06:47 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+A new implementation of shadings, step 80.
+
+DETAILS :
+
+A stronger prevention of a tiny decomposition of a color.
+It works against glitches in function|color monotonity|linearity checks.
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gxhintn.c 1.41, src/gxhintn.h 1.19, src/gxttfb.c 1.27]</p>
-</blockquote>
+72dpi :
+Altona-Testsuite_p2_S_x3.pdf
+Clarke Tate Manns Chinese.ai
+S2_Digitalproof-Forum_x3k.pdf
-<p><strong><a name="2004-01-06_2036"></a>
-2004-01-06 20:36 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Fix a typo in the 64-bit type selection logic. Bug 687237.</pre>
-<p>[src/configure.ac 1.38]</p>
+300dpi :
+Clarke Tate Manns Chinese.ai
+S2_Digitalproof-Forum_x3k.pdf</pre>
+<p>[src/gxshade6.c 1.77]</p>
</blockquote>
-<p><strong><a name="2004-01-06_1332"></a>
-2004-01-06 13:32 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-24_0503"></a>
+2004-06-24 05:03 Dan Coby</strong></p>
<blockquote>
<pre>
-Implementing a True Type grid fitting, step 10.
-
-DETAILS :
+Fix for 687534 Unable to determine equivalent CMYK for spot colors
+that are only used with overprint.
-This patch changes a disabled code only.
-It fixes minor problems with hint generation :
-
-1. Implemented an "overall" hint, which
-designates an outer side of a glyph,
-being nearly parallel to a coordinate axis.
-It aligns a stem end rather than stem sides, and
-simulates top/bottom alignment zones.
-This branch appears low useful and was not enabled.
-Maybe will remove it later.
-
-2. Change to gxhintn.c is algorithmically equivalent.
-
-3. The default value of GritFitTT is changed to 2,
-because we can't to provide a compatibility
-of the autohinted glyph size to the TT interpreter.
+DETAILS:
-4. Improved hint_by_tangent : some slower but a better choice.
+The given test file uses spot colors. However the psdcmyk device
+was creating output files which did not contain equivalent CMYK
+colors for the spot colors. The cause was that the previous
+version of the logic was capturing the equivalent CMYK colors
+when the psdcmyk device's high drawing procs were called. However
+if overprinting is enabled, then the overprint device was inserting
+its own versions of these routines. Since it only took one call
+to a high level drawing handler, the previous logic would capture
+the equivalent CMYK colors if there were any drawing operations
+with a spot color that did not have overprinting enabled.
+
+The fix consists of moving the capturing of the equivalent CMYK
+colors to a new device proc. This new device proc is called
+update_spot_equivalent_colors. This device proc is called whenever
+a Separation or a DeviceN color space is installed.
+
+The default version of the proc does nothing. Thus there is only
+a small amount of overhead added for the installation of Separation
+and DeviceN color spaces for devices which do not need the equivalent
+CMYK colors for spot colors.
+
+Most of the change consists of the standard details of adding a
+new device proc. There are several places that have to be updated
+when this is done. The documentation in doc/Drivers.htm was updated
+to include this new proc. The high level drawing handlers in the
+psdcmyk devices were removed and a new psd_update_spot_equivalent_colors
+procedure was added. Some minor changes were made in the logic in
+gsequivc.c since it is no longer necessary to scan through base and
+alternate color spaces looking for Separation and DeviceN color spaces.
+The comments at the beginning of gsequivc.c was changed to reflect
+the changes in the logic for capturing equivalent CMYK colors for
+spot colors.</pre>
+<p>[doc/Drivers.htm 1.47, src/gdevbbox.c 1.18, src/gdevdflt.c 1.24, src/gdevnfwd.c 1.24, src/gdevprn.c 1.17, src/gdevpsd.c 1.15, src/gdevrops.c 1.12, src/gscdevn.c 1.18, src/gscsepr.c 1.25, src/gsequivc.c 1.3, src/gsequivc.h 1.2, src/gxclip.c 1.15, src/gxclip2.c 1.11, src/gxclipm.c 1.13, src/gxclist.c 1.14, src/gxdevcli.h 1.33, src/gxdevice.h 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0317"></a>
+2004-06-24 03:17 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Minor change to avoid a spurious compiler warning about 't' used before
+initialized. Fixes bug #687412.
-EXPECTED DIFFERENCES :
+DETAILS:
-None.</pre>
-<p>[src/gsfont.c 1.30, src/gxhintn.c 1.40, src/gxhintn.h 1.18, src/gxttfb.c 1.26, src/gzspotan.c 1.7, src/gzspotan.h 1.5]</p>
+This is an invalid warning, since 't' is always initialized before use,
+however the extensive use of macros confuses some compilers. IMO, this
+is an abuse of macros, but this is endemic in the older GS code.</pre>
+<p>[src/spdiff.c 1.7]</p>
</blockquote>
-<p><strong><a name="2004-01-05_2334"></a>
-2004-01-05 23:34 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-23_2037"></a>
+2004-06-23 20:37 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix some warnings reported by the Sun One Studio 7 compiler (and others). Bug 687228.</pre>
-<p>[src/devs.mak 1.101, src/gdevdevn.c 1.13, src/gdevpdfc.c 1.44, src/gdevpdtb.c 1.22, src/gdevpsu.c 1.16, src/gp_unifn.c 1.16, src/gsht.c 1.18, src/gxcmap.c 1.17, src/int.mak 1.120, src/lib.mak 1.160, src/zfapi.c 1.50, src/zfile.c 1.40]</p>
+Disable idiom recognition feature during execution of .bindnow
+because it has no effect except burning a few seconds of CPU time.
+Fix bug 687521</pre>
+<p>[lib/gs_init.ps 1.107]</p>
</blockquote>
-<p><strong><a name="2004-01-05_2306"></a>
-2004-01-05 23:06 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-23_1857"></a>
+2004-06-23 18:57 stefan</strong></p>
<blockquote>
<pre>
-Correct a typo in the checks for stdint fixed-size types. This did not materially affect the
-behavior of the configure script. Bug 687235.</pre>
-<p>[src/configure.ac 1.37]</p>
-</blockquote>
+Fixed CMYK to RGB conversion.
-<p><strong><a name="2004-01-05_2213"></a>
-2004-01-05 22:13 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Bump the development branch version to 8.30 now that the stable branch has been released as 8.13
-and update the date stamp.</pre>
-<p>[doc/News.htm 1.140, lib/gs_init.ps 1.104, src/gscdef.c 1.41, src/version.mak 1.69]</p>
+Used in rop code where RGB -> CMYK -> RGB needs to work correctly
+in the black and white cases.</pre>
+<p>[src/gdevbit.c 1.10]</p>
</blockquote>
-<p><strong><a name="2004-01-05_1915"></a>
-2004-01-05 19:15 Alex Cherepanov</strong></p>
+<p><strong><a name="2004-06-23_1850"></a>
+2004-06-23 18:50 stefan</strong></p>
<blockquote>
<pre>
-Transliterate '\0' character in PDF names to "BnZr" instead of
-'?' to reduce the chance of name collision.
-
-DETAILS:
-TeX generates Type 3 fonts with single character glyph names equal to the
-character codes, i.e. /Encoding [(\000) cvn (\001) cvn ... /? ...] . PDF
-writer used to transliterate '\0' to '?' because #00 escape is invalid.
-This conflicts with /? glyph name, which also occurs in the same font.
-Fix bug 687232.</pre>
-<p>[src/gdevpdfu.c 1.44]</p>
+Fix macro to use it's arguments. Platform specific, under exersized code.</pre>
+<p>[src/gxfarith.h 1.7]</p>
</blockquote>
-<p><strong><a name="2004-01-05_1511"></a>
-2004-01-05 15:11 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-23_0904"></a>
+2004-06-23 09:04 Igor Melichev</strong></p>
<blockquote>
<pre>
-Implementing a True Type grid fitting, step 9.
+Fix (ps2ascii) : Provide a tolerance to old versions of dvips output.
DETAILS :
-This patch changes a disabled code only.
-It fixes minor problems with hing generation.
-
-Now the TT grid fitting is working with TextAlphaBits=1,
-but some improvements still would be useful.
-TextAlphaBits=1 is not tested yet.
+Bug 531300 "ps2ascii chokes on ch-xoff and ch-* routines".
+Patch from Mike attached to the bug.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxttfb.c 1.25]</p>
+<p>[lib/ps2ascii.ps 1.10]</p>
</blockquote>
-<p><strong><a name="2004-01-05_1305"></a>
-2004-01-05 13:05 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-19_0401"></a>
+2004-06-19 04:01 Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix : Removed gx_curve_split due to inprecise implementation.
-
-DETAILS :
-
-The implemetation of gx_curve_split w3as inprecise.
-Bug 687177 "gx_curve_split disturbs the bounding box".
-Removing it because it is not longer in use.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxpcopy.c 1.15, src/gzpath.h 1.28]</p>
+Add new CMaps and update older ones to latest. Bug #687470. Thanks to
+A. Cherepanov for providing part of the newer files.</pre>
+<p>[Resource/CMap/83pv-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-UCS2 1.1, Resource/CMap/90ms-RKSJ-V 1.2, Resource/CMap/90msp-RKSJ-H 1.1, Resource/CMap/90msp-RKSJ-V 1.1, Resource/CMap/90pv-RKSJ-H 1.2, Resource/CMap/90pv-RKSJ-UCS2 1.1, Resource/CMap/90pv-RKSJ-UCS2C 1.1, Resource/CMap/90pv-RKSJ-V 1.2, Resource/CMap/Add-RKSJ-H 1.2, Resource/CMap/Add-RKSJ-V 1.2, Resource/CMap/Adobe-CNS1-B5pc 1.1, Resource/CMap/Adobe-CNS1-ETen-B5 1.1, Resource/CMap/Adobe-CNS1-H-CID 1.1, Resource/CMap/Adobe-CNS1-H-Host 1.1, Resource/CMap/Adobe-CNS1-H-Mac 1.1, Resource/CMap/Adobe-CNS1-UCS2 1.1, Resource/CMap/Adobe-GB1-GBK-EUC 1.1, Resource/CMap/Adobe-GB1-GBpc-EUC 1.1, Resource/CMap/Adobe-GB1-H-CID 1.1, Resource/CMap/Adobe-GB1-H-Host 1.1, Resource/CMap/Adobe-GB1-H-Mac 1.1, Resource/CMap/Adobe-GB1-UCS2 1.1, Resource/CMap/Adobe-Japan1-90ms-RKSJ 1.1, Resource/CMap/Adobe-Japan1-90pv-RKSJ 1.1, Resource/CMap/Adobe-Japan1-H-CID 1.1, Resource/CMap/Adobe-Japan1-H-Host 1.1, Resource/CMap/Adobe-Japan1-H-Mac 1.1, Resource/CMap/Adobe-Japan1-PS-H 1.1, Resource/CMap/Adobe-Japan1-PS-V 1.1, Resource/CMap/Adobe-Japan1-UCS2 1.1, Resource/CMap/Adobe-Korea1-H-CID 1.1, Resource/CMap/Adobe-Korea1-H-Host 1.1, Resource/CMap/Adobe-Korea1-H-Mac 1.1, Resource/CMap/Adobe-Korea1-KSCms-UHC 1.1, Resource/CMap/Adobe-Korea1-KSCpc-EUC 1.1, Resource/CMap/Adobe-Korea1-UCS2 1.1, Resource/CMap/B5pc-H 1.1, Resource/CMap/B5pc-UCS2 1.1, Resource/CMap/B5pc-UCS2C 1.1, Resource/CMap/B5pc-V 1.1, Resource/CMap/CNS-EUC-H 1.1, Resource/CMap/CNS-EUC-V 1.1, Resource/CMap/EUC-H 1.2, Resource/CMap/EUC-V 1.2, Resource/CMap/Ext-RKSJ-H 1.2, Resource/CMap/Ext-RKSJ-V 1.2, Resource/CMap/GB-EUC-H 1.1, Resource/CMap/GB-EUC-V 1.1, Resource/CMap/GBK-EUC-H 1.2, Resource/CMap/GBK-EUC-UCS2 1.1, Resource/CMap/GBK-EUC-V 1.2, Resource/CMap/GBK2K-H 1.1, Resource/CMap/GBK2K-V 1.1, Resource/CMap/GBKp-EUC-H 1.1, Resource/CMap/GBKp-EUC-V 1.1, Resource/CMap/GBT-EUC-H 1.1, Resource/CMap/GBT-EUC-V 1.1, Resource/CMap/GBpc-EUC-H 1.1, Resource/CMap/GBpc-EUC-UCS2 1.1, Resource/CMap/GBpc-EUC-UCS2C 1.1, Resource/CMap/GBpc-EUC-V 1.1, Resource/CMap/H 1.2, Resource/CMap/HKdla-B5-H 1.1, Resource/CMap/HKdla-B5-V 1.1, Resource/CMap/HKdlb-B5-H 1.1, Resource/CMap/HKdlb-B5-V 1.1, Resource/CMap/HKgccs-B5-H 1.1, Resource/CMap/HKgccs-B5-V 1.1, Resource/CMap/HKm314-B5-H 1.1, Resource/CMap/HKm314-B5-V 1.1, Resource/CMap/HKm471-B5-H 1.1, Resource/CMap/HKm471-B5-V 1.1, Resource/CMap/HKscs-B5-H 1.1, Resource/CMap/HKscs-B5-V 1.1, Resource/CMap/Identity-H 1.2, Resource/CMap/Identity-V 1.2, Resource/CMap/KSC-EUC-H 1.1, Resource/CMap/KSC-EUC-V 1.1, Resource/CMap/KSCms-UHC-H 1.2, Resource/CMap/KSCms-UHC-HW-H 1.1, Resource/CMap/KSCms-UHC-HW-V 1.1, Resource/CMap/KSCms-UHC-UCS2 1.1, Resource/CMap/KSCms-UHC-V 1.2, Resource/CMap/KSCpc-EUC-H 1.1, Resource/CMap/KSCpc-EUC-UCS2 1.1, Resource/CMap/KSCpc-EUC-UCS2C 1.1, Resource/CMap/UCS2-90ms-RKSJ 1.1, Resource/CMap/UCS2-90pv-RKSJ 1.1, Resource/CMap/UCS2-B5pc 1.1, Resource/CMap/UCS2-ETen-B5 1.1, Resource/CMap/UCS2-GBK-EUC 1.1, Resource/CMap/UCS2-GBpc-EUC 1.1, Resource/CMap/UCS2-KSCms-UHC 1.1, Resource/CMap/UCS2-KSCpc-EUC 1.1, Resource/CMap/UniCNS-UCS2-H 1.2, Resource/CMap/UniCNS-UCS2-V 1.2, Resource/CMap/UniGB-UCS2-H 1.2, Resource/CMap/UniGB-UCS2-V 1.2, Resource/CMap/UniJIS-UCS2-H 1.2, Resource/CMap/UniJIS-UCS2-HW-H 1.1, Resource/CMap/UniJIS-UCS2-HW-V 1.1, Resource/CMap/UniJIS-UCS2-V 1.2, Resource/CMap/UniKS-UCS2-H 1.2, Resource/CMap/UniKS-UCS2-V 1.2, Resource/CMap/V 1.2]</p>
</blockquote>
-<p><strong><a name="2004-01-05_1252"></a>
-2004-01-05 12:52 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-18_1746"></a>
+2004-06-18 17:46 Igor Melichev</strong></p>
<blockquote>
<pre>
-Implementing a True Type grid fitting, step 8.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 5).
DETAILS :
-1. Renamed monotonize_internal to gx_curve_monotonize.
-
-2. Allowed the curved trapezoid algorithm for non-characters.
- 2 fragments changed for this purpose : passed all_bands to intersect_al
- and removed the restriction in gxfill.c ln 482.
- This causes minor differences in rasters listed below.
-
-3. Introduced false_stub for better readability.
- This change is algorithmically equivalent.
-
-4. Improved 2 cases in scan_contour with p.monotonic check.
- The old code was wrong, but our testbase doesn't have
- such cases in characters. Discovered with (2).
-
-5. In gxttfb.c applied a curve monotonization after
- decoding a True Type glyph. It allows to
- apply Type 1 hints to non-monotonic stems.
- This change currently is disabled.
-
-6. Added some initializations to quiet the compiler warnings.
+pdf_set_charproc_attrs went out the pw array range,
+and caused an indeterministic behavior with Bug687044.ps .
EXPECTED DIFFERENCES :
-normal 72dpi :
-
-tiger.eps
-
-normal 300dpi
-
-Es001-01.pdf
-shading_prob_800.ps
-type3xshow.eps
-
-pdfwrite 72dpi :
-
-027-09.ps
-
-pdfwrite 300dpi :
-
-123-05.ps
-Es001-01.pdf
-type3xshow.eps
-
-None.</pre>
-<p>[src/gxfill.c 1.84, src/gxpcopy.c 1.14, src/gxttfb.c 1.24, src/gzpath.h 1.27]</p>
+Not detected on Windows, but the old revision was indeterministic.</pre>
+<p>[src/gdevpdti.c 1.33, src/gdevpdfx.h 1.94, src/gdevpdtt.c 1.83]</p>
</blockquote>
-<p><strong><a name="2004-01-05_0611"></a>
-2004-01-05 06:11 Ray Johnston</strong></p>
+<p><strong><a name="2004-06-18_0700"></a>
+2004-06-18 07:00 Dan Coby</strong></p>
<blockquote>
<pre>
-Fix for fonts being displayed using .notdef character (empty boxes or other
-appearance). While the test file doesn't follow the PDF 1.3 or later manual
-recommendations for providing a [1,0] cmap for an embedded symbolic TT font,
-Adobe Acrobat Reader can display these characters. When the 'post' table
-doesn't provide the glyphs required by the /Differences list, try another
-cmap [3,0] to get the correct glyph (names and glyph #'s). Bug #686959 for
-customer #1060.
+687504 Enhancement: Imaging spot colors without using the
+SeparationColorNames parameter.
DETAILS:
-The Adobe PDF 1.4 Reference Manual has some "hints" for producing portable
-PDF's, but as far as reading PDF's that don't follow these hints, all that
-is said (in section 5.5.5, p.333) is:
-
- Note: Some popular TrueType font programs contain incorrect encoding
- information. Implementations of TrueType font interpreters have
- evolved heuristics for dealing with such problems; those heuristics
- are not described here. For maximum portability, only well-formed
- TrueType font programs should be used in PDF files.
-
-The approach of trusting the 'post' table unless the glyphs given do not
-include glyphs that are mentioned in the 'prebuilt_encoding' (Differences),
-is a heuristic that works for this file and doesn't interfere with any
-other PDF's in the regression test. The thing about heuristics is that
-the 'intelligence' they embody is no better than the understanding of the
-best solution, so this may crop up again later (but we hope not).
-
-Note that simply using the 00030000 cmap [3,0] format causes the regression
-file 'test_multipage_prob.pdf' to fail with some .notdef characters.</pre>
-<p>[lib/gs_ttf.ps 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-04_1959"></a>
-2004-01-04 19:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : monotonize_internal didn't work properly.
-
-DETAILS :
-
-We believe that the new code ever gives monotonic segments,
-rather than the old one does not - see
-Bug 687210 "a bug in monotonize_internal".
-
-The new code sometimes gives slightly different segments,
-because the old code applies an incorrect rounding.
-This causes minor differences in rasters.
-
-EXPECTED DIFFERENCES :
-
-normal, 72dpi
-
-a.pdf
-ai2.pdf
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-
-normal, 300dpi
-
-093-01.ps
-a.pdf
-ai2.pdf
-Altona.Page_3.2002-09-27.pdf
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-
-pdfwrite, 72dpi :
-
-a.pdf
-ai2.pdf
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-dina3_watermark.pdf
-
-pdfwrite, 300dpi :
-
-093-01.ps
-483-05.ps
-a.pdf
-ai2.pdf
-Altona.Page_3.2002-09-27.pdf
-bugsample.pdf
-chilis_black.pdf
-chilis_red.pdf
-dina3_watermark.pdf
-DisplayedGood.pdf
-DisplayedWrong.pdf
-
-289-01.ps was not tested because it fails.</pre>
-<p>[src/gxpcopy.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-04_0612"></a>
-2004-01-04 06:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Trapezoid algorithm could cause topology distortions (continued 2).
-
-DETAILS :
-
-This is a continuation of the recent patch.
-This one provides more stability to numeric errors.
-
-This patch brings 3 improvements :
-
-1. the error proportion formula is now applied in all cases
-(one of them was missed by the previous patch).
-
-2. since the intersection point isn't equal to AL_X_AT_Y value,
-a special care is taken in the dropout prevention code.
-
-3. To provide (2), moved the assignments to x_current, x_next.
-
-EXPECTED DIFFERENCES :
+The purpose of this enhancement is to provide an example of how
+to implement imaging spot colors without requiring that they be
+specified in advance via the SeparationColorNames setpagedevice
+parameter. Note: Spot colors are only supported on a few devices
+which have output file formats which allow for spot colors. These
+are currently the psdcmyk, spotcmyk, and xcfcmyk devices.
-mormal, 72dpi :
+This commit only implements this feature on the psdcmyk, spotcmyk
+and devicen devices.
-169-13.ps
-244-01.ps
-86554321.pdf
+In order to implement this feature, a device needs to be able to
+allocate image buffer memory for each colorant and to detect when
+a new colorant is being used inside of a color space. The
+implementation has the following pieces:
-mormal, 300dpi :
+1. The handling of the MaxSeparation setpagedevice parameter was
+extended. Previously this parameter was always set to one. For
+most devices it now indicates the number of colorants being used
+by the device. For most devices this is a fixed quantity, however
+for the psdcmyk device, this parameter can be used to tell the
+device to allocate image buffer memory for up to eight colorants.
+(The eight colorant limit is due to the fact that the psdcmyk
+device uses 8 bits per colorant and we currently have a 64 bit
+maximum pixel size.)
-012-01.ps
-013-01.ps
-014-13.ps
-032-01.ps
-034-01.ps
-123-01.ps
-123-05.ps
-169-13.ps
+2. The devices already have a 'get_color_comp_index' routine which
+is used to query if a colorant is supported by the device. However
+this routine is used for both real components in color spaces and also
+for some special cases. For instance, the same halftone may be used
+either for a cyan or a red colorant. To handle this case, the halftoning
+setup logic will query the get_color_comp_index routine to check if
+cyan is supported by the device. If not then a query is made to see
+if the device supports red. By monitoring the names of the components
+passed to get_color_comp_index routine, a device can detect when a new spot
+color is being used. However it is necessary to be able to detect
+the special cases so that the device does not believe that it has a
+'red' spot color. To do this the third parameter of the
+get_color_comp_index device proc was logically modified to indicate
+if a name represents a name actually in a color space or one of the
+special case situations. Previously this parameter was not being used.
-pdfwrite, 72dpi :
-
-102-01.ps
-205-13.ps
-244-01.ps
-86554321.pdf
-waterfal.ps
-
-pdfwrite, 300dpi :
-
-032-01.ps
-123-01.ps
-123-05.ps
-169-13.ps
-205-01.ps
-205-13.ps
-222-13.ps
-307-13.ps
-
-289-01.ps was not tested because it fails.</pre>
-<p>[src/gxfdrop.c 1.9, src/gxfill.c 1.83]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-04_0537"></a>
-2004-01-04 05:37 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Remove spurious stack adjustment that caused /unmatchedmark
-when the font was loaded from Resource/Fonts/ .
-Fix bug 687220.</pre>
-<p>[lib/gs_fonts.ps 1.46]</p>
+3. The get_color_comp_index routine for the psdcmyk device was
+modified to look for new spot colors and to add then to its list of
+colorants if there was space available. Note: This also required
+that the psdcmyk device have its own structure descriptor, pointer
+enumeration and relocation procedures. The macro which was used to
+define the psdcmyk and psdrgb devices needed to be changed since the
+previous macro used the st_device_printer structure descriptor instead
+of the new structure descriptor for the psd devices.</pre>
+<p>[src/gdevdevn.c 1.20, src/gdevdevn.h 1.8, src/gdevnfwd.c 1.23, src/gdevperm.c 1.4, src/gdevpsd.c 1.14, src/gdevxcf.c 1.8, src/gscdevn.c 1.17, src/gscsepr.c 1.24, src/gscspace.c 1.16, src/gsdparam.c 1.14, src/gsht.c 1.19, src/gxcmap.c 1.21, src/gxcmap.h 1.9]</p>
</blockquote>
-<p><strong><a name="2004-01-03_1814"></a>
-2004-01-03 18:14 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-17_2142"></a>
+2004-06-17 21:42 Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct a line ending problem.</pre>
-<p>[src/gp_macio.c 1.33]</p>
+Protect genarch's test for sizeof(long long) with and #ifdef HAVE_LONG_LONG
+since a number of platforms (particularly MSVC) do not support this type.</pre>
+<p>[src/genarch.c 1.11, src/stdint_.h 1.5]</p>
</blockquote>
-<p><strong><a name="2004-01-03_1750"></a>
-2004-01-03 17:50 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-17_1305"></a>
+2004-06-17 13:05 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix : Trapezoid algorithm could cause topology distortions (continued).
-
-DETAILS :
-
-This is a continuation of the recent patch.
-This one provides a better stability to numeric errors :
-the point bias is inversedly poroportional to the line slope.
-
-EXPECTED DIFFERENCES :
-
-mormal, 72dpi :
-
-None.
-
-mormal, 300dpi :
-
-123-05.ps
-205-05.ps
-
-pdfwrite, 72dpi :
-
-None.
-
-pdfwrite, 300dpi :
-
-None.
-
-289-01.ps was not tested because it fails.</pre>
-<p>[src/gxfill.c 1.82]</p>
+Round elements of Mask array to the nearest integer following implementation
+of AR4, AR5, AR6.
+Fix bug 687494 from customer 580.</pre>
+<p>[lib/pdf_draw.ps 1.82]</p>
</blockquote>
-<p><strong><a name="2004-01-03_1234"></a>
-2004-01-03 12:34 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-17_1114"></a>
+2004-06-17 11:14 Igor Melichev</strong></p>
<blockquote>
<pre>
-Implementing a True Type grid fitting, step 7.
+Fix : Arithmetic errors could cause a function monotonity misrecongition.
DETAILS :
-This patch changes a disabled code only.
-It implements the enhanced logics for the user parameter GridFitTT,
-and provides TT grid fitting by both coordinates.
-
-GridFitTT is documented in gxttfb.c :
-+ /* gs_currentgridfittt values (binary) :
-+ 00 - no grid fitting;
-+ 01 - Grid fit with TT interpreter; On failure warn and render unhinted.
-+ 10 - Interpret in the design grid and then autohint.
-+ 11 - Grid fit with TT interpreter; On failure render autohinted.
-+ */
-
-Changes to gs/doc to be done after the new code is enabled.
+Bug 687511 "shadinds: infinite recursion".
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gsfont.c 1.29, src/gxfcache.h 1.23, src/gxttfb.c 1.23, src/zusparam.c 1.11]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-03_1038"></a>
-2004-01-03 10:38 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : Trapezoid algorithm could cause topology distortions.
-
-DETAILS :
-
-There were 2 types of possible distortions : inversed or self-intersecting trapezoids,
-and overlapping trapezoids. Rather they are pretty rare (and a consequtive
-pixel miscoverage are extremily rare), they break the topology analyzis with
-the spotan device.
-
-The distortion happen due to inprecize computations of line intersections.
-The coordinate of the intersection is represented in 'fixed', which can't be
-precise in most cases. Therefore the intersection point appear slightly shifted.
-The harmful thing was a different shift of the same point for each of
-the intersecting lines.
-
-This patch brings 2 improvements :
-
-1. Intersecting 2 lines, assign same X to both.
-A special care is taken about vertical lines.
-
-2. After intersections are computed, we check whether the coordinates
-appear in a wrong order by X. If so, we fix it with computing the average coordinate
-and assigning it to all lines. This must give a correct topology with
-a small processor time expense.
-
-Monor change : fixed some Cygwin/gcc warnings.
-
-EXPECTED DIFFERENCES :
-
-mormal, 72dpi :
-
-123-01.ps
-222-01.ps
-281-01.ps
-327-01.ps
-
-mormal, 300dpi :
-
-012-01.ps
-013-01.ps
-014-13.ps
-032-01.ps
-083-01.ps
-083-05.ps
-103-01.ps
-118-01.ps
-123-01.ps
-169-13.ps
-205-01.ps
-205-05.ps
-289-01.ps
-298-01.ps
-307-13.ps
-321-01.ps
-adesso1.pdf
-motor.pdf
-
-pdfwrite, 72dpi :
-
-102-01.ps
-169-13.ps
-205-13.ps
-222-13.ps
-244-01.ps
-281-01.ps
-298-01.ps
-308-04.ps
-321-01.ps
-321-05.ps
-327-01.ps
-waterfal.ps
-205-13.ps
-
-pdfwrite, 300dpi :
-
-012-01.ps
-012-05.ps
-013-01.ps
-014-13.ps
-027-09.ps
-083-13.ps
-102-01.ps
-123-01.ps
-123-05.ps
-169-13.ps
-205-01.ps
-205-13.ps
-222-13.ps
-307-01.ps
-307-07.ps
-307-13.ps
-
-289-01.ps was not tested because it fails.</pre>
-<p>[src/gxfill.c 1.81]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_2105"></a>
-2004-01-02 21:05 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix: The (more or less undocumented) superexec operator is supposed to
-allow "readonly" directories to be amended. Bug #674421.</pre>
-<p>[src/zgeneric.c 1.7]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_2053"></a>
-2004-01-02 20:53 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Remove spurious ^M (ctrl-M == <cr>) characters from the source -- probably
-caused by a Windows user performing an update from a file that was not
-correctly recognized as DOS vs. UNIX line endings by cvs.</pre>
-<p>[src/idict.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-02_1802"></a>
-2004-01-02 18:02 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 6.
-
-DETAILS :
-
-In the enabled code this change is algorithmically equivalent :
-generalized an argument of gx_path__check_curves,
-and fixed a design box, wich was not used.
-
-In the disabled code it computes a reasonable flattness for the stem recognition
-and exclused an unuseful (and harmful) path copying.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.80, src/gxpath.h 1.11, src/gxpcopy.c 1.12, src/gxttfb.c 1.22, src/ttfmain.c 1.21]</p>
+Not detected on Windows.
+On Linux expecting a difference with :
+Altona-Testsuite_p2_S_x3.pdf
+S2_Digitalproof-Forum_x3k.pdf</pre>
+<p>[src/gsfunc0.c 1.21]</p>
</blockquote>
-<p><strong><a name="2004-01-02_1315"></a>
-2004-01-02 13:15 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-16_2001"></a>
+2004-06-16 20:01 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix : A GCC compiler error.</pre>
-<p>[src/gxfont42.h 1.18]</p>
+Fix parsing of -2147483648.5, min_int followed by a fractional part.
+Fix bug 687500</pre>
+<p>[src/iscannum.c 1.9]</p>
</blockquote>
-<p><strong><a name="2004-01-02_1302"></a>
-2004-01-02 13:02 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-16_1122"></a>
+2004-06-16 11:22 Igor Melichev</strong></p>
<blockquote>
<pre>
-Implementing a True Type grid fitting, step 5.
+Fix (pdfwrite) : Allow named object reference in the Action key of /ANN pdfmark.
DETAILS :
-In the enabled code this change is algorithmically equivalent :
-just moved some TT outliner data definitions and refactored ttfOutliner__Outline.
-
-In the disabled code it fixes numerous problems in the TT grid fitting (by the X axis only).
-Now it looks working for small characters.
+Bug 687386 "-dEmbedAllFonts does not work".
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.79, src/gxhintn.c 1.39, src/gxttfb.c 1.21, src/gzspotan.c 1.6, src/gzspotan.h 1.4, src/ttfmain.c 1.20, src/ttfoutl.h 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2004-01-01_1701"></a>
-2004-01-01 17:01 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Implementing a True Type grid fitting, step 4.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It's a trial implementation of a TT grid fitting (by the X axis only).
+It's a PDF 1.5 feature. We still incompletely support PDF 1.5 .
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxhintn.c 1.38, src/gxhintn.h 1.17, src/gxttfb.c 1.20, src/gzspotan.c 1.5, src/gzspotan.h 1.3, src/lib.mak 1.159]</p>
+<p>[src/gdevpdfm.c 1.40]</p>
</blockquote>
-<p><strong><a name="2003-12-31_1807"></a>
-2003-12-31 18:07 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
<blockquote>
<pre>
-Add a paragraph to the license statement listing the additional requirements of
-the Freetype License.</pre>
-<p>[LICENSE 1.3]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_1753"></a>
-2003-12-31 17:53 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the text of the Freetype license and references to the freetype project to clarify our
-compilance. The new truetype bytecode interpreter is based in part of code made available as part
-of Freetype 1.</pre>
-<p>[doc/Develop.htm 1.129, doc/FTL.txt 1.2, doc/Language.htm 1.79]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_1112"></a>
-2003-12-31 11:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : The character oversampling condition was wrong.
-
-DETAILS :
-
-I can't guess why it was done depending on path. It looks wrong
-and gives a different result when recomputed from type1execchar
-when the path is reset.
-Also penum->current_font to be used rather that pgs->font due to composite fonts.
-Bug 687209 "assertion failure when open postscript file".
-
-EXPECTED DIFFERENCES :
-
-None with TextAlphaBits=1.</pre>
-<p>[src/gxchar.c 1.38]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-31_0613"></a>
-2003-12-31 06:13 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Write a smaller Widths array.
-
-DETAILS :
-
-Bug 687186 "(pdfwrite) Embedding a Type 3 font FirstChar is always 0".
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdtf.c 1.33, src/gdevpdti.c 1.23]</p>
+Protect against cache values containing spaces. This shouldn't be a problem, the change is more for consistency.</pre>
+<p>[src/configure.ac 1.47]</p>
</blockquote>
-<p><strong><a name="2003-12-31_0520"></a>
-2003-12-31 05:20 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Pattern resource was not added to Resources of a pattern object.
-
-DETAILS :
-
-This is a partial fix for the bug 687196 "Incorrect PDF produced from Adobe test file pattyp1.ps".
-A pattern resource was referred in a pattern procedure (of another pattern) but was not
-listed in Resources of the pattern object.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gdevpdfg.c 1.45]</p>
+Try to use long long as a 64 bit type in the genarch fallback stdint definitions. Fix for bug 687514.</pre>
+<p>[src/genarch.c 1.10, src/stdint_.h 1.4]</p>
</blockquote>
-<p><strong><a name="2003-12-30_1755"></a>
-2003-12-30 17:55 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-15_2028"></a>
+2004-06-15 20:28 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Color space resource was not added to Resources of a pattern object.
+Fix (pdfwrite) : A wrong CFF string index randiomization.
DETAILS :
-Bug 687206 "Could not find colorspace".
-A color space resource was referred in a pattern procedure but was not
-listed in Resources of the pattern object.
+Bug 687507 "pdfwrite device closes with -15".
-EXPECTED DIFFERENCES :
+1. Randomization parameters for cff_string_index were computed wrongly,
+causing the search to skip some items. As a consequence,
+some strings were added to the table many times, causing
+a groth of the table while CFF size estimation iterations,
+and psf_write_type2_font returned error due to "offset > End_offset".
-None.</pre>
-<p>[src/gdevpdfc.c 1.43]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-30_1753"></a>
-2003-12-30 17:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Wrote an invalid text matrix.
-
-DETAILS :
-
-While fixing the bug 687206 "Could not find colorspace",
-we discovered a problem with comparefiles/tpc2.ps :
-"1 0 0 1 0 1.#INF Tm" was written.
-The effect was indeterministic due to an access outside an array.
-This patch fixes that.
+2. If an error happened writing a font after pdf_begin_fontfile is done,
+unconditionally call pdf_end_fontfile to provide a consistent stream state.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gdevpdte.c 1.50]</p>
+<p>[src/gdevpdtb.c 1.24, src/gdevpsf2.c 1.31, src/lib.mak 1.186]</p>
</blockquote>
-<p><strong><a name="2003-12-30_1150"></a>
-2003-12-30 11:50 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-15_1527"></a>
+2004-06-15 15:27 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 24, final.
-
-DETAILS :
-
-This patch switches on the new algorithm.
-
-With comparefiles on Zeon 3.06 the curved algorithm appears in 0.6% slower.
-Will be fixed with upgrading the scanline algorithm with gx_flattened_iterator.
-
-EXPECTED DIFFERENCES :
-
--r300 chilis_black.pdf has a minor difference in raster.</pre>
-<p>[src/gx.h 1.30]</p>
+Make pdf_dominant_rotation() return unknown text rotation for the file
+without text. It returned 0 rotation before, which excluded consideration
+of DSC comments later on.
+Fix bug 687515</pre>
+<p>[src/gdevpdf.c 1.95]</p>
</blockquote>
-<p><strong><a name="2003-12-30_0825"></a>
-2003-12-30 08:25 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-10_1909"></a>
+2004-06-10 19:09 Igor Melichev</strong></p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 23.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 4).
DETAILS :
-This patch is a code optimization.
+Recent changes about charproc variations caused an appearence of idle entries
+in the xref table. Those entries pointed to zero length objects
+and were never referred.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gx.h 1.29, src/gxfill.c 1.78, src/gxpflat.c 1.28, src/gzpath.h 1.26]</p>
-</blockquote>
+Idle entries appeared due to the substream accumulator reserved an object id
+before entering a substream, but later the object (a charproc) was cancelled.
-<p><strong><a name="2003-12-29_1556"></a>
-2003-12-29 15:56 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 22.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It optimizes the contour scanner with reducing a data copying.
+This patch delays the reservation of an object id until we decide
+that the object won't be cancelled. Added a new argument of pdf_enter_substream
+for this purpose.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.77]</p>
+<p>[src/gdevpdfi.c 1.53, src/gdevpdfm.c 1.39, src/gdevpdfx.h 1.93, src/gdevpdti.c 1.32]</p>
</blockquote>
-<p><strong><a name="2003-12-29_0435"></a>
-2003-12-29 04:35 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-10_1641"></a>
+2004-06-10 16:41 Igor Melichev</strong></p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 21.
+A new implementation of shadings, step 80.
DETAILS :
-This patch changes a disabled code only.
-It fixes some problems discovered with -r300 and
-switches off the self-testing.
+Propagated error codes from is_color_monotonic, is_color_linear.
+Should fix the bug 687511 "shadinds: infitite recursion".
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.28, src/gxfill.c 1.76]</p>
+<p>[src/gxshade6.c 1.76]</p>
</blockquote>
-<p><strong><a name="2003-12-29_0418"></a>
-2003-12-29 04:18 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-09_2047"></a>
+2004-06-09 20:47 Igor Melichev</strong></p>
<blockquote>
<pre>
-Raster depended on the band size (a partial fix).
+Fix (type 1 hinter) : an indeterministic bug in t1_hinter__simplify_representation.
DETAILS :
-The old code used the Y coordinate of a top boundary of a band
-as a basis for computing a sampling factor of sloped lines.
-Therefore sloped lines generated "stairs" with a dependence of
-the phase on the band coordinate.
+Bug 687508 "segfault with cvs head".
-This patch removes that dependence. Therefore the new banded
-raster appears closer to the unbanded raster.
-But the banded raster still can be different.
-We don't intend to fix it now. We did only a simplest part, which
-is neccessary for the current development needs.
+1. An old defect in the code :
+when contour_count is greater than hint_count,
+and the hinting is disabled by one axis,
+random hints could appear,
+causing indeterministic effects.
-This patch also causes some differences, which are not related to the banding.
-This happens due to bands and clip boxes come to the filling algorithm
-in same data field. The dependence on the clip box is dropped as well.
-Particularly it affects shadings, especially radial ones.
+2. this->grid_fit_x ans this->grid_fit_y were erroneusely exchanged.
EXPECTED DIFFERENCES :
-ppmraw -r72 -dMaxBitmap=30000000 :
-
-1_2001.pdf
-
-ppmraw -r72 -dMaxBitmap=10000 :
-
-1_2001.pdf
-test.pdf
-
-ppmraw -r300 -dMaxBitmap=10000 :
+72dpi :
-012-05.ps
-013-05.ps
-014-05.ps
-015-05.ps
-027-13.ps
-032-01.ps
-034-01.ps
036-01.ps
-083-05.ps
-123-05.ps
-123-09.ps
-150-01.ps
-169-05.ps
-175-01.ps
-1_2001.pdf
-205-05.ps
-205-09.ps
-220-01.ps
-226-01.ps
-231-01.ps
-245-07.ps
-307-07.ps
-86554321.pdf
-adesso8.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-BEST8-99-Path.fh7.pdf
-Bug687044.ps
-BW0696FOLD1FRONT.pdf
-ca.pdf
-colorcir.ps
-DisplayedGood.pdf
-DisplayedWrong.pdf
-doretree.ps
-file2.pdf
-gs5.98-dragon.pdf
-gs6.0-dragon.pdf
-gslandscape.pdf
-knight.pdf
-messenger.pdf
-messenger16.pdf
-Openhuis_pdf_zw.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
-test.pdf
-
-ppmraw -r300 -dMaxBitmap=30000000 :
-
-1_2001.pdf
-205-05.ps
-86554321.pdf
-adesso8.pdf
-Altona-Testsuite_p2_S_x3.pdf
-Altona.Page_3.2002-09-27.pdf
-BEST8-99-Path.fh7.pdf
Bug687044.ps
-BW0696FOLD1FRONT.pdf
-gs6.0-dragon.pdf
-Openhuis_pdf_zw.pdf
-S2_Digitalproof-Forum_x3k.pdf
-shading_prob_800.ps
+Faktura.pdf
+kazmir.pdf
+RealCities.pdf
test.pdf
-
-Other modes were not tested.
-pdfwrite may have a slightly different differences due to the page size rounding.
-289-01.ps was not tested because it fails.</pre>
-<p>[src/gxfill.c 1.75]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_1337"></a>
-2003-12-28 13:37 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 20.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It removes a roudiment of a temporary solution with a late computation of the bounding box.
-Debugged with -r300 165-01.ps .
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.74]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_1257"></a>
-2003-12-28 12:57 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 19.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It fixes an unitialized variable.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.73]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_1223"></a>
-2003-12-28 12:23 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix : The dropout prevention code could render an occasional raster.
-
-DETAILS :
-
-We discovered that the old filling algorithm has a non-well-defined behavior
-when painting a group of contacting vertical stems with dropout prevention.
-The result of the old code appears depending on the order of lines in the X list.
-However when vertical lines have same X coordinate,
-their order was occasional, and the resulting raster appears
-deterministically occasional.
-A new section in gxfill.c near line 1629 fixes that, see comment in there.
-
-Another included change to a disabled code brings the curved trapezoid algorithm closer
-to the uncurved one. It fixes 2 minor problems with horizontal lines.
-
-EXPECTED DIFFERENCES :
-
-This patch causes a minor difference in some rasters,
-which we consider as progressions due to lesser dropouts.
-
-(Well, it is arguable whether the old feature is a dropout at all,
-but we'd like to have a well defined raster with no dependence
-on unimportant things such as which contour point is choosen for the starting point).
-
-Nornal, 72dpi :
-
- bulletin.pdf
- waterfal.ps
- womanface.pdf
-
-Nornal, 300dpi :
-
- None.
-
-pdfwrite, 72dpi :
-
- bulletin.pdf
- womanface.pdf
-
-pdfwrite, 300dpi :
-
- Not tested.</pre>
-<p>[src/gxfill.c 1.72]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-28_0815"></a>
-2003-12-28 08:15 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 17.
-
-DETAILS :
-
-This patch changes a disabled code only.
-It implements the banding to the curved trapezoid algorithm.
-
-With this patch with ppmraw with 72 dpi only 3 rasters left
-different from the old code :
-
-KozukaB-ILEmbed.pdf (1 pixel differs)
-RodinCIDEmbed.pdf (3 pixels differ)
-womanface.pdf (9 pixels differ)
-
-So now the new algorithm is almost working.
-
-An useful improvement would be to divide big curves on-fly
-(it should be pretty simple with subclassing the gx_flattened_iterator
-and regenerating the next curve part from entire curve by
-the part index), and to replace curve_cursor with gx_flattened_iterator
-in the scanline algorithm.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.71]</p>
+xgfddg.pdf</pre>
+<p>[src/gxhintn.c 1.50]</p>
</blockquote>
-<p><strong><a name="2003-12-27_1658"></a>
-2003-12-27 16:58 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-09_1207"></a>
+2004-06-09 12:07 Igor Melichev</strong></p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 16.
+Fix (type 1 hinter) :
+1. Ever align the Y-coordinate of a glyph origin to pixels.
+2. Improve the unaligned pole interpolation;
+3. Set a waeaker angle threshold in t1_hinter__is_stem_hint_applicable.
+4. Allow an offset fuzz in t1_hinter__is_stem_hint_applicable.
+5. Align upper/lower horizontal stems by the upper/lower edge.
+6. A dependency was missed in lib.mak .
DETAILS :
-In the enabled code this patch fixes the vd_get_dc syntax,
-which was unintentionally broken by the previous patch.
-This change is algorithmically equivalent.
+Bug 687419 "poor font rendering on X11 with gs 8.14".
-In the disabled code it fixes dropout problems with the curved trapezoid algorithm.
+The intention of this change is to improve the rendering quality
+with TextAlphaBits > 1, but actually it modifies glyph rendering in all cases.
-EXPECTED DIFFERENCES :
+1.
+The test file of the bug 687419 shows that we had 3
+inconsistent requirements :
+- the analigned glyph origin;
+- uniform glyph size;
+- and contrast stems.
+Since an uniform glyph height looks critical,
+we drop the analygned Y-coordinate of the glyph origin.
+In other words, now we ever align
+the Y-coordinate of the glyph origin to pixels.
+This also reduces the number of glyph raster variants in the cache.
-None.</pre>
-<p>[src/gxfill.c 1.70]</p>
-</blockquote>
+2.
+The old interpolation algorithm could cause
+significant distortions with flex-like serifs, which are not marked with flex.
+The character 'L' in the test document of the bug 687419 demonstrates that.
+If the path goes outside the interpolation interval
+and have no turns, now we shift the "outer" parts rather than
+breaking the path at extremal poles. (We wanted this change
+a long ago but haven't got a strong reason for it.)
-<p><strong><a name="2003-12-27_1524"></a>
-2003-12-27 15:24 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix missing semicolons inserted by previous commit that prevented
-compilation.
+3.
+The threshold in t1_hinter__is_stem_hint_applicable changed from
+1/3 to 9/10. This makes more stems to recognize. The reason for that
+is the same character "L".
-EXPECTED DIFFERENCES:
-
-Now it will compile, but since the previous commit was untested, there
-may be other algorithmic problems that result in differences.</pre>
-<p>[src/gxfill.c 1.69]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-27_0914"></a>
-2003-12-27 09:14 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 15.
-
-DETAILS :
+4.
+Allowed a blue_fuzz offset t1_hinter__is_stem_hint_applicable.
+Debugged with comparefiles/tpc2.ps .
-In the enabled code this patch :
+5. In the test file of the bug 687419 the small font has no
+upper alignment zone for lowercase. This caused an uniform glyph height
+due to wide and norrow horizontal stems aligned ocasionally
+by top or bottom. Implemented a choice of the aligned edge
+depending on the Y-coordinate of stem middle relative to
+the glyph middle.
-1. Refactors add_y_line into 3 functions.
-2. Restructurizes end_x_line.
-3. Changes the prototype of add_y_list.
-4. Implements a new visual trace switch 'F'.
-5. Removes 'notes' from gx_flattened_iterator.
-
-This change is algorithmically equivalent.
-
-In the disabled code it allows non-monotonic curves in the trapezoid algorithm.
+6. gxhintn_h was defined in lib.mak after it is used at once.
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gx.h 1.27, src/gxfill.c 1.68, src/gxpflat.c 1.27, src/gxfill.h 1.11, src/gzpath.h 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-24_0332"></a>
-2003-12-24 03:32 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo in the maintainer-clean target in the legacy unix makefiles.
-Thanks to William Bader for catching this.</pre>
-<p>[src/unix-gcc.mak 1.44, src/unixansi.mak 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-23_1536"></a>
-2003-12-23 15:36 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Move the documentation on handling Unicode high level text into Drivers.htm
-which is a developer document instead of Devices.htm which is intended for
-users.</pre>
-<p>[doc/Devices.htm 1.73, doc/Drivers.htm 1.44]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-22_2005"></a>
-2003-12-22 20:05 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Still more regressions that produced incorrect (different than 8.12)
-rotations. Regressions include 541_623.pdf and others that had Rotate != 0.
-
-DETAILS:
-
-Previous patch detected automatic rotation cases, but missed rotation
-cases when Orientation == 1 or == 3.</pre>
-<p>[src/zmedia2.c 1.15]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-21_2056"></a>
-2003-12-21 20:56 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Resolve regression differences caused by rotated page sizes being picked
-instead of non-rotated in some cases. Seen with 1_pct_50_bang.pdf and
-others.
-
-DETAILS:
-
-The 'rotate' variable was input to the 'make_adjustment_matrix' function,
-but the matrix could be rotated even when rotate==0. Instead bias the
-best_mismatch value when the matrix is rotated (pmat->xx == 0).</pre>
-<p>[src/zmedia2.c 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-20_1709"></a>
-2003-12-20 17:09 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a newline at the end of a file. Remove a duplicate semicolon at the end of statement.</pre>
-<p>[src/gxistate.h 1.18, src/zchar1.c 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-20_0928"></a>
-2003-12-20 09:28 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix yet another long standing bug in 'match_page_size' logic that could
-result in the wrong (too small) media being selected due to comparison
-of signed difference versus absolute difference.</pre>
-<p>[src/zmedia2.c 1.13]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-19_0834"></a>
-2003-12-19 08:34 Dan Coby</strong></p>
-<blockquote>
-<pre>
-A pair of fixes to the PDF rebuild logic. The fix in pdf_main.ps corrects
-a problem that ws creatd with the PDF 1.5 parser changes. The fix in
-pdf_rbld.ps corrects an unbalanced stack. This was not fatal but did
-leave the string (trailer) on the stack after rebuilding some PDF files.</pre>
-<p>[lib/pdf_main.ps 1.83, lib/pdf_rbld.ps 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-19_0542"></a>
-2003-12-19 05:42 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix setpagedevice problems introduced with previous commit detected by the
-regression tests, including 070-01.ps and many others. Also give priority
-to lower value slots (match_key.value.intval)
-
-DETAILS:
-
-If there was a match that didn't set a new value in 'best_mismatch' (less
-than the original 'LARGE' value), the match_key would be left at 'null',
-causing PolicyReport to be executed. The Genoa tests use PolicyReport to
-leave a value on the stack that eventually signals 'FAIL' since the count
-is greater than expected.
-
-This latest change makes sure that a valid key gets set even when the
-best_mismatch value is not relevant.
-
-The lower number slot (%MediaSource) is given priority in the case of a
-tie between best_mismatch and mbest.</pre>
-<p>[src/zmedia2.c 1.12]</p>
+Almost all comparefiles render differently.</pre>
+<p>[src/gxchar.c 1.43, src/gxhintn.c 1.49, src/lib.mak 1.185, src/gxhintn.h 1.20]</p>
</blockquote>
-<p><strong><a name="2003-12-18_1458"></a>
-2003-12-18 14:58 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-08_1142"></a>
+2004-06-08 11:42 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A temporary workaround for limitcheck writing a CFF with many glyphs.
+Fix (pdfwrite) : Merge equal ExtGState objects.
DETAILS :
-The test file of the Bug 686875 contains a Type 1 font with 1280 glyphs,
-which overflowed tables in the CFF writer. This patch increases the limitation,
-but a limitation still presents. Will improve it someday.
-Issued a new bug 687212 about that.
+Bug 687487 "(pdfwrite) redundant ExtGState objects".
-EXPECTED DIFFERENCES :
+Now we represent ExtGState objects as cos_dict_t instances,
+and perform a full comparizon before writing them into the output PDF.
+Redundant equal objects are being substituted and skipped.
-None.</pre>
-<p>[src/gdevpsf.h 1.25, src/gdevpsf2.c 1.28]</p>
-</blockquote>
+This patch consists of 4 parts :
-<p><strong><a name="2003-12-18_1323"></a>
-2003-12-18 13:23 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 14.
-
-DETAILS :
-
-This patch changes a disabled code only.
+1. Creting an ExtGstate object, replaced old calls to stream functions
+with calls to cos_dict_t functions.
-Before this patch the backward iterator works fine, but we are
-unhappy of its complexity. Rather it passed the full testing
-with comparefiles, a theoretical proof of its correctness is too hard.
-Also it highly depends on the old code in MERGE_COLLINEAR_SEGMENTS section,
-which doesnt look as a well defined code.
+2. Implemented the comparizon/substitution logic in pdf_end_gstate.
-Therefore we went back to the implementation based on a bitmask.
-It represents which points were filtered out while the forward iteration.
-It consumes some bigger memory (488 bytes per active line),
-but we believe that the C stack consupmtion
-is still lesser than one in the Type 1 hinter.
+3. pdf_prepare_drawing now doesn't pass keys to
+pdf_update_halftone, pdf_update_transfer, pdf_write_transfer_map,
+because we don't want them to become a part of a value.
+Instead that we made them to be keys of the cos_dict_t instance.
-Now we bring both implementations into a single revision,
-and define a configuration macro FLATTENED_ITERATOR_BACKSCAN
-for switching between them.
-
-The KISS principle strongly votes for the bitmask implementation.
-
-This patch also renamed CHECK_BACKSCAN_CONSISTENCY with FLATTENED_ITERATOR_SELFTEST
-for a better structurization, and removed some low useful comments.
+4. Defined new functions cos_dict_put_c_key_bool and cos_dict_put_string_copy
+to simplify the new code.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.26, src/gxfill.c 1.67, src/gxpflat.c 1.26, src/gzpath.h 1.24]</p>
+<p>[src/gdevpdfg.c 1.53, src/gdevpdfo.c 1.30, src/gdevpdfo.h 1.19]</p>
</blockquote>
-<p><strong><a name="2003-12-17_1536"></a>
-2003-12-17 15:36 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-03_1712"></a>
+2004-06-03 17:12 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : Fixed a comment syntax and removed unused variables.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxpflat.c 1.25]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_1527"></a>
-2003-12-17 15:27 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 13.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 3).
DETAILS :
-This patch changes a disabled code only.
-It allows gx_flattened_iterator__prev_filtered2 to run from any segment
-riched by gx_flattened_iterator__next_filtered2. The old code could
-only from the last curve segment. Also implemented a testing procedure for it.
+Must check FontMatrix when deciding about same charproc.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxpflat.c 1.24, src/gzpath.h 1.23]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0945"></a>
-2003-12-17 09:45 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Add "pa4" page size requested by a user. This is the intersection of
-a4 and letter page size, i.e., a4 width and letter length. Bug #553187.</pre>
-<p>[lib/gs_statd.ps 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0919"></a>
-2003-12-17 09:19 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Remove warnings and reversion to 'int' which could cause wrong decision
-for PageSize match.</pre>
-<p>[src/zmedia2.c 1.11]</p>
+<p>[src/gdevpdti.c 1.31]</p>
</blockquote>
-<p><strong><a name="2003-12-17_0912"></a>
-2003-12-17 09:12 Ray Johnston</strong></p>
+<p><strong><a name="2004-06-02_1745"></a>
+2004-06-02 17:45 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix InputAttributes initialization to have the default page size in slot
-0, and all page sizes known in statusdict/.pagetypenames included with
-the 'fit any' pagesize range last. Fixes bug #617077 and other files
-that expect slot 0 to be a valid 2 element PageSize corresponding to the
-default.
-
-DETAILS:
-
-As noted, "real" printer devices such as laserjets, and inkjets should
-set up their own InputAttributes dictionaries that do not include the
-'range' type page size.
-
-If the page size is not an exact match (off by less than 5 points), then
-the page size range will take priority. This is in a non-standard area
-of Ghostscript, but must be preserved for those that want exact PageSize
-such as for generating raster images of a specific dimension. If the
-range page size is present, then automatic rotation will not be used.
-
-If a PageSize is present in both orientations, such as [612 792] and
-[792 612], then priorty will be given to the slot that matches without
-automatic rotation.
-
-EXPECTED DIFFERENCES:
-
-Hopefully, none.</pre>
-<p>[lib/gs_setpd.ps 1.20, lib/gs_statd.ps 1.13, src/zmedia2.c 1.10]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-17_0229"></a>
-2003-12-17 02:29 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 12.
+Fix (pdfwrite) : 1. After used a process color, continue using it for same client color space.
+2. A bug in pdf_set_initial_color could miss some color commands.
DETAILS :
-This patch changes a disabled code only.
-It provide a tolerance to a bug in monotonize_internal.
-See comment in code.
+1. Bug 687197 "ps2pdf creates incorrect PDF".
+Defined nad maintained new flags pdev->fill_used_process_color and pdev->stroke_used_process_color
+for vector devices. The function pdf_reset_color use them when the cclient color space
+isn't embeddable.
-There is an error in the log message of the previous patch.
-It should read :
-"The compilation mode CURVED_TRAPEZOID_FILL0_COMPATIBLE 0 is not completed."
+2. Occasionally found that pdf_set_initial_color set saved colors to pdev->vg_initial
+rather than to argument pointers. This could loose some color commands with a small probability,
+so that some objects could get a wrong color.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxfill.c 1.66]</p>
+<p>[src/gdevpdfb.c 1.22, src/gdevpdfd.c 1.40, src/gdevpdfg.c 1.52, src/gdevpdfg.h 1.32, src/gdevpdfp.c 1.38, src/gdevpdtt.c 1.82, src/gdevpdfx.h 1.92, src/gdevvec.h 1.13]</p>
</blockquote>
-<p><strong><a name="2003-12-16_2229"></a>
-2003-12-16 22:29 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-02_1319"></a>
+2004-06-02 13:19 Igor Melichev</strong></p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 11.
+Fix (pdfwrite) : ConvertCMYKImagesToRGB crashed.
DETAILS :
-This patch contains a minor change to the enabled code, and
-a big change to the disabled code.
-
-The change to the enabled code only inserts some new fields
-into gx_flattened_iterator, actually defining a subclass.
-The enabled code doesn't use them, but provides some initialization.
-
-The change to disabled code defines a backward iterator for
-filtered flattened curve segments. Actually we define two ones :
-
- gx_flattened_iterator__prev_filtered1 - filters points with 'coords_near'
- gx_flattened_iterator__prev_filtered2 - filters points with 'coords_near' and
- 'gx_check_nearly_collinear'.
-
-The forward and the backward iterators are made to enumerate same points,
-which the old does while flatteining a curve. The old code has
-a lot of anomalies, therefore the backward iterators appear
-very coplicated. We're planning to drop the compatibility and
-simplify the iterators after the curved trapezoid algorithm passes
-the compatibility test.
-
-The compilation mode CURVED_TRAPEZOID_FILL0_COMPATIBLE 1 is not completed.
-Do not use it with this revision.
+Bug 687428 "ConvertCMYKImagesToRGB does not produce a PDF-File".
+It made a pointer from global memory to C stack.
+Fixed with allocating the structure dinamically.
+It produces a small garbage, which is not critical in pdfwrite.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.25, src/gxfill.c 1.65, src/gxfill.h 1.10, src/gxpflat.c 1.23, src/gzpath.h 1.22]</p>
+<p>[src/gdevpsdi.c 1.27]</p>
</blockquote>
-<p><strong><a name="2003-12-14_2232"></a>
-2003-12-14 22:32 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-02_1214"></a>
+2004-06-02 12:14 Igor Melichev</strong></p>
<blockquote>
<pre>
-Generalize the trapezoid filling algorithm for curves, step 10.
+Fix : 'midpoint' formula was wrong.
DETAILS :
-This patch changes a disabled code only.
-It removes CURVED_TRAPEZOID_FILL_SCANS_BACK because we decided to make
-this feature permanent.
+Bug 687463 "The 'midpoint' formula is wrong".
EXPECTED DIFFERENCES :
-None.</pre>
-<p>[src/gx.h 1.24, src/gxfill.c 1.64, src/gxfill.h 1.9, src/gxpflat.c 1.22, src/gzpath.h 1.21]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_0451"></a>
-2003-12-14 04:51 Dan Coby</strong></p>
-<blockquote>
-<pre>
-This is the first pass at the changes to support the PDF 1.5 revisions
-to the PDF format.
-
-DETAILS:
-
-The PDF 1.5 revision to the PDF specification contains two major
-additions to the format of a PDF document. Objects can be encoded
-in compressed data streams called and object streams. Xref tables
-were also changed to allow the identification of objects in
-object streams and also to allow the compression of xref tables.
-Together these changes reduced the size of the PDF 1.5 specification
-from 13.5 MB (PDF 1.4 version) to 8.7 MB (PDF 1.5 version).
-
-pdf_main.ps and pdf_rbld.ps - The changes in these modules were for
- the support of compressed XRef tables. The major part of these
- changes consist of the refactoring of readxref into pieces. One
- piece identifies the old format versus compressed XRef tables.
- A second piece supports the reading of old format XRef tables.
- The procedure readpdf15xref was added to read compressed XRef
- tables. A new larray called ObjectStream was added for
- identifying the location of objects which are inside a compressed
- object stream. The changes for the addition of ObjectStream
- also affect pdf_base.ps.
-
-pdf_base.ps - The procedures resolveR and resolved? had to be extended
- to support the presence of the objectstream type. A new procedure
- called resolveobjectstream was added for resolving objects inside
- of object streams.
-
- The code listing below has two versions of the resolveobjectstream
- procedure. I want to keep a record of both versions of this
- procedure in CVS. The first version is theoretically more robust
- than the second. It unpacks and processes objects from an object
- stream one at a time. To insure that this occurs, it creates a
- string of the exact size of an object and then unpacks and processes
- the object. However it is also very slow. Processing of a test
- document (PDF 1.5 spec.) with this routine is 4 times slower
- than processing a version of the PDF 1.5 spec. which does not use
- object streams. The second version of the procedure unpacks the
- entire object stream and then processes each object. Thus any
- problem which occurs with one object could, in theory, affect another
- object. The second version is much faster. There is about a 4%
- penalty for processing the compressed version of the PDF 1.5 spec.
-
- After the initial check in, the first version of resolveobjecstream
- will be removed unless some need is found for its robustness.</pre>
-<p>[lib/pdf_rbld.ps 1.5]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_0441"></a>
-2003-12-14 04:41 Dan Coby</strong></p>
-<blockquote>
-<pre>
-This is the first pass at the changes to support the PDF 1.5 revisions
-to the PDF format.
-
-DETAILS:
-
-The PDF 1.5 revision to the PDF specification contains two major
-additions to the format of a PDF document. Objects can be encoded
-in compressed data streams called and object streams. Xref tables
-were also changed to allow the identification of objects in
-object streams and also to allow the compression of xref tables.
-Together these changes reduced the size of the PDF 1.5 specification
-from 13.5 MB (PDF 1.4 version) to 8.7 MB (PDF 1.5 version).
-
-pdf_main.ps and pdf_rbld.ps - The changes in these modules were for
- the support of compressed XRef tables. The major part of these
- changes consist of the refactoring of readxref into pieces. One
- piece identifies the old format versus compressed XRef tables.
- A second piece supports the reading of old format XRef tables.
- The procedure readpdf15xref was added to read compressed XRef
- tables. A new larray called ObjectStream was added for
- identifying the location of objects which are inside a compressed
- object stream. The changes for the addition of ObjectStream
- also affect pdf_base.ps.
-
-pdf_base.ps - The procedures resolveR and resolved? had to be extended
- to support the presence of the objectstream type. A new procedure
- called resolveobjectstream was added for resolving objects inside
- of object streams.
-
- The code listing below has two versions of the resolveobjectstream
- procedure. I want to keep a record of both versions of this
- procedure in CVS. The first version is theoretically more robust
- than the second. It unpacks and processes objects from an object
- stream one at a time. To insure that this occurs. It creates a
- string of the exact size of an object and then unpacks and processes
- the object. However it is also very slow. Processing of a test
- document (PDF 1.5 spec.) with this routine is 4 times slower
- than processing a version of the PDF 1.5 spec. which does not use
- object streams. The second version of the procedure unpacks the
- entire object stream and then processes each object. Thus any
- problem which occurs with one object could, in theory, affect another
- object. The second version is much faster. There is about a 4%
- penalty for processing the compressed version of the PDF 1.5 spec.
-
- After the initial check in, the first version of resolveobjecstream
- will be removed unless some need is found for its robustness.</pre>
-<p>[lib/pdf_base.ps 1.40, lib/pdf_main.ps 1.82]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-14_0107"></a>
-2003-12-14 01:07 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Fix MSVC debug targets: add explicit makefile specification.
-Fix bug 687205.
-
-DETAILS:
-Debug targets have always been broken on Windows because nmake by
-default looks for "MAKEFILE" and fails. Until recently, the default
-target was built without the -O2 flag and could be used for debugging.
-This patch adds the correct filename explicitly to the debug target
-so it can be used instead.</pre>
-<p>[src/msvc32.mak 1.52]</p>
+I didn't detect any on Windows.
+After recent changes this stuff works only with curves,
+which can't flatten with 2^12 segments,
+and which are not a part of a shading,
+so likely the probability of a difference is small.</pre>
+<p>[src/gxpflat.c 1.41, src/gxshade6.c 1.75]</p>
</blockquote>
-<p><strong><a name="2003-12-13_1807"></a>
-2003-12-13 18:07 Ray Johnston</strong></p>
+<p><strong><a name="2004-06-02_0037"></a>
+2004-06-02 00:37 Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix a premature closedevice leading to a SEGV when a setpagedevice follows
-a setdevice with the only reference to the device in the graphics state.
-Bug #687204 detected with ps2epsi.ps.
-
-DETAILS:
-
-the ps2epsi.ps sets an image device, then does a .setsafe which uses
-setpagedevice to set .LockSafetyParams. Eventually setpagedevice results
-in a call to gs_setdevice_no_init, but the reference count to the current
-device is 1 so even though the device is not being changed, the device
-was being closed (which freed the buffer and line pointers). Usually
-the currentdevice reference count is > 1 since there is more than one
-gstate containing a pointer to the device.
-
-This has been broken since 8.10 when version 1.19 was released with
-some changes to device finalization.
-
-Note that ps2epsi.ps is extremely fragile and still doesn't work with
-examples/alphabet.ps after the patch (due to the "clear cleardictstack
-alphabetsave restore" logic at the end. This patch is ONLY for the SEGV.
-IMO, ps2epsi really is a mess and needs to be scrapped and designed
-properly.</pre>
-<p>[src/gsdevice.c 1.20]</p>
+Correct a typo. Thanks to Russell for catching this one.</pre>
+<p>[doc/Make.htm 1.76]</p>
</blockquote>
-<p><strong><a name="2003-12-12_1803"></a>
-2003-12-12 18:03 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-01_2113"></a>
+2004-06-01 21:13 Dan Coby</strong></p>
<blockquote>
<pre>
-Link to History8.htm in the list of history files. Patch from Alexei Podtelez.</pre>
-<p>[doc/Readme.htm 1.53]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-12_0216"></a>
-2003-12-12 02:16 Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Split an expression in two because MSVC 6.00.8168.0 cannot compile it
-in -O2 mode, enabled in GS 8.12 by default. MSVC 6 with
-Service Pack 3 doesn't require this work around.</pre>
-<p>[src/idict.c 1.9]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-12_0144"></a>
-2003-12-12 01:44 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Properly remove jbig2.dev from the FEATURE_DEVS list in the autoconf build when
-stdint_h is not available. Works around bug 687007.</pre>
-<p>[src/configure.ac 1.36]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1944"></a>
-2003-12-11 19:44 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix .gethalftone to prevent /undefinedresource or other error from being
-left in the $error dict. Seen with UnusualFontMatrix.ps when running under
-startjob encapsulation.
+Fix for 687477 Bad incremental update to a PDF file.
DETAILS:
-Internal procedures like .gethalftone that want to use stopped but don't
-propagate the error up should use .internalstopped since this doesn't
-set /newerror in $error.
-
-The file mentioned has a 'quit' following the showpage which when running
-under job encapsulation (false 0 startjob) is redefined to do 'stop'.
-This means that the /newerror flag in $error was being seen when the
-'stop' after the showpage was executed.</pre>
-<p>[lib/gs_init.ps 1.103]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1815"></a>
-2003-12-11 18:15 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 9.
-
-DETAILS :
-
-This change is algorithmically equivalent.
-It implements an iterator of filtered flattened curve segments with
-gx_flattened_iterator__next_filtered2, and the old behavior
-is now implemented with it.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxpflat.c 1.21, src/gzpath.h 1.20]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_1348"></a>
-2003-12-11 13:48 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 8.
-
-DETAILS :
+The given test file had a bad incremental update. This update
+has two problems:
-Renamed FLATTENED_CURVE_ITERATOR0_COMPATIBLE,
-because it doesn't longer reflect its semantics.
+1. The trailer dict only had a Prev entry. None of the required
+entries were present. To fix this problem, entries from previous
+trailer dicts are placed into the initial trailer dict if there is
+no entry with the same key in the initial trailer dict.
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.63, src/gx.h 1.23, src/gxfill.h 1.8, src/gxpflat.c 1.20, src/gzpath.h 1.19]</p>
+2. The update had an xref table with two entries. One of them
+was bad. (Not a very good percentage.) To fix this problem,
+all entries in the composite xref table are scanned to verify that
+they point to a valid objects. If not then the rebuild logic is
+used to attempt to recover the xref data. This can be disabled
+by adding -dNoVerifyXref to the command line. In most cases,
+the verification time is not noticeable but I did find a file with
+104,000 xref entries and it took about 2 seconds to verify the
+xref table.</pre>
+<p>[lib/pdf_base.ps 1.43, lib/pdf_main.ps 1.87, lib/pdf_rbld.ps 1.7]</p>
</blockquote>
-<p><strong><a name="2003-12-11_1333"></a>
-2003-12-11 13:33 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-01_1720"></a>
+2004-06-01 17:20 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix : The flattening algorithm inaccurately filtered points.
-Bug 687154 "Bugs in gx_flatten_sample".
-
-DETAILS :
-
-The old algorithm has 2 problems, which persist since March 20, 2000 or later :
-
-1. When points buffer overflows, it doesn't filter
-the next point with MERGE_COLLINEAR_SEGMENTS.
-
-2. With sn_not_first the first point was duplicated,
-and the last one was missed.
-
-This patch fixes both problems.
-
-EXPECTED DIFFERENCES :
-
-This patch causes differences flattening long curves.
-311-03.ps and 205-13.ps at 300dpi demonstrate a strong progression.
-Other differences should be progressions as well.
-
-normal, 72dpi:
-
-012-09.ps
-013-09.ps
-093-01.ps
-289-01.ps
-CIDembedded.pdf
-
-300dpi :
-
-012-09.ps
-013-09.ps
-014-09.ps
-015-09.ps
-032-07.ps
-035-07.ps
-083-05.ps
-083-09.ps
-093-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-289-01.ps
-298-09.ps
-311-03.ps
-321-09.ps
-KozukaB-ILEmbed.pdf
-RodinCIDEmbed.pdf
-shading_prob_800.ps
-Svd.pdf
-
-pdfwrite, 72dpi :
-
-083-09.ps
-083-13.ps
-093-01.ps
-205-13.ps
-308-04.ps
-CIDembedded.pdf
-
-pdfwrite, 300dpi :
-
-012-09.ps
-013-09.ps
-014-09.ps
-015-09.ps
-032-07.ps
-035-07.ps
-083-05.ps
-083-09.ps
-083-13.ps
-093-01.ps
-205-01.ps
-205-05.ps
-205-09.ps
-205-13.ps
-308-04.ps
-311-03.ps
-acrobat.pdf
-alphabet.ps
-Bug687044.ps
-KozukaB-ILEmbed.pdf
-RodinCIDEmbed.pdf
-shading_prob_800.ps
-Svd.pdf
-
-UnusualFontMatrix.ps was not tested because the current HEAD fails with it.</pre>
-<p>[src/gxpflat.c 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_0953"></a>
-2003-12-11 09:53 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Removed an obsolete code FLATTENED_CURVE_ITERATOR 0.
+Fix : A Cygwin/gcc warning.
DETAILS :
-The FLATTENED_CURVE_ITERATOR 0 code is not longer in use.
-It was disabled since November 25 2003.
-This patch completely removes it.
+The prefious patch appeared incomplete. Now fixing.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.22, src/gxpflat.c 1.18, src/gzpath.h 1.18]</p>
+<p>[src/gdevpdfx.h 1.91]</p>
</blockquote>
-<p><strong><a name="2003-12-11_0259"></a>
-2003-12-11 02:59 Ray Johnston</strong></p>
+<p><strong><a name="2004-06-01_1706"></a>
+2004-06-01 17:06 Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix setpagedevice so that the Default Halftone is used. Fixes bug #687199.
-
-DETAILS:
-Use .setdefaulthalftone rather than .setdefaultscreen so that setpagedevice
-picks up the correct Halftone setting. This was detected when trying to
-use 'stocht.ps' to set a Default Halftone that is the stochastic threshold
-array, which worked only if page size didn't change or other setpagedevice
-setting was made.</pre>
-<p>[lib/gs_setpd.ps 1.19]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-11_0222"></a>
-2003-12-11 02:22 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove the CC_LEAF alternate compiler definition. This basically exists to pass
--fomit-frame-pointer (or equivalent) on a few (two) files where it's unequivocably safe. This
-strikes us as premature optimization.
-
-It was also causing problems with the profile build under gcc because of a quoting problems with
-the argument list the makefile passes to itself through this define. Closes bug 687182.</pre>
-<p>[src/Makefile.in 1.29, src/bcwin32.mak 1.31, src/dvx-gcc.mak 1.25, src/gs.mak 1.23, src/int.mak 1.119, src/lib.mak 1.158, src/macos-mcp.mak 1.24, src/macosx.mak 1.22, src/msvccmd.mak 1.13, src/openvms.mak 1.34, src/openvms.mmk 1.28, src/os2.mak 1.36, src/ugcclib.mak 1.27, src/unix-end.mak 1.6, src/unix-gcc.mak 1.43, src/unixansi.mak 1.34, src/watcw32.mak 1.28, src/wccommon.mak 1.8]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-10_2342"></a>
-2003-12-10 23:42 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-In the autoconf build, only pass -O2 if the compiler is detected to be gcc. Fall back to trying
-the POSIX -O in other cases. The trial compile was not detecting that this option does not work
-correctly on the Solaris compilers. Problem report from Nelson Beebe, closes bug 687198.</pre>
-<p>[src/configure.ac 1.35]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-10_2307"></a>
-2003-12-10 23:07 Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix incorrect handling of the '\' escape character in the filenameforall
-implementation on Windwows. Fixes bug #687151. Also fix logic in the
-.scanfontdir that relied on the incorrect filenameforall implementation.
-
-DETAILS:
-The previous NT filenameforall implementation did not translate the
-template string to be used by the FindFirstFile Windows call. This
-meant that the template was being passed the '\' escape characters
-which were not correctly handled by the OS call.
-
-Also testing -sFONTPATH=\Winnt\Fonts showed that this was also broken
-in gs_fonts.ps since it didn't duplicate the '\' characters for the
-template to filenameforall.
-
-Note that other gp_* implementations of file enumeration don't
-seem to handle escapes such as gp_unifs.c. The gp_macio.c doesn't
-do anything, and the gp_dosfe.c (deprecated) seems totally broken.
-The gp_os2.c appears to be a clone of the gp_ntfs.c, so should be
-fixed. About the only version that seems to be handling the '\'
-character according to the PLRM is gp_vms.c (can you believe that?).
-
-Thanks to Alex Cherepanov and Igor Melichev for contributing.</pre>
-<p>[lib/gs_fonts.ps 1.45, src/gp_ntfs.c 1.22]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-10_1427"></a>
-2003-12-10 14:27 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 7.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 2).
DETAILS :
-This change is syntactically equivalent.
-It replaces gx_flattened_curve_iterator to a shorter identifier,
-because we intend to define a subclass with a name suffix.
+This is a final step of fixing the bug 687489
+"pdfwrite creates invalid Type3 font -- missing characters".
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.62, src/gxpflat.c 1.17, src/gzpath.h 1.17]</p>
-</blockquote>
+This patch provides a check whether a color was changed while
+a PS charproc interpretation. A color command is written
+into the PDF charproc if and only if the PS charproc changed the color.
-<p><strong><a name="2003-12-10_1423"></a>
-2003-12-10 14:23 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix: A prototype for memcpy was missed.
-
-DETAILS :
-
-It was inserted into lib.mak but did not into gxpflat.c .
+This patch discovers a bug in Adobe Acrobat Reader 5 :
+with the test document of the bug 687489 it paints an "invisible" text in the 4th page.
+That text isn't visible when viewing with Adobe reader 6 and with GS.
+The text is painted with a white color, but AR 5 erroneusly paints it with black.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxpflat.c 1.16]</p>
+<p>[src/gdevpdfd.c 1.39, src/gdevpdfg.c 1.51, src/gdevpdfg.h 1.31, src/gdevpdtt.c 1.81]</p>
</blockquote>
-<p><strong><a name="2003-12-10_1341"></a>
-2003-12-10 13:41 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-01_1703"></a>
+2004-06-01 17:03 Igor Melichev</strong></p>
<blockquote>
<pre>
-Simplify the filtering of points while flattening a curve.
+High level devices may need a device color while executing stringwidth.
DETAILS :
-This change is algorithmically equivalent due to algebraic laws.
-
-Thesis : (coord_near(x2, x0) && coords_in_order(x0, x1, x2)) implies
-coord_near(x2, x1).
-
-Proof:
-
-case 1:
- x0 >= x1 >= x2 ==> abs(x2 - x1) <= abs(x2 - x0);
-case 2:
- x0 >= x1 >= x2 ==> abs(x2 - x1) <= abs(x2 - x0);
+This is second step of fixing the bug 687489
+"pdfwrite creates invalid Type3 font -- missing characters".
+The problem happens due to the old code could run a charproc while
+executing a stringwidth, when device color is not evaluated.
-Therefore coord_near(x2, x1) doesn't need to check and has been removed.
-Same for Y.
-Then merged 2 branches with '||' because they appear same.
-The performance slightly increases, and the behavior is easier to understand.
+This patch provides the device color loading with no dependence
+on the text operation.
+dev_proc(dev, text_begin) now receives a device color in any case.
+THIS IS AN INCOMPATIBLE CHANGE : if an old device depends on
+a device color ability, it will malfunction.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gxpflat.c 1.15]</p>
+<p>[src/gstext.c 1.18]</p>
</blockquote>
-<p><strong><a name="2003-12-09_2118"></a>
-2003-12-09 21:18 Ralph Giles</strong></p>
+<p><strong><a name="2004-06-01_1342"></a>
+2004-06-01 13:42 Igor Melichev</strong></p>
<blockquote>
<pre>
-Add the new stdint_.h compatibitily header to the file roadmap.</pre>
-<p>[doc/Develop.htm 1.128]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_2117"></a>
-2003-12-09 21:17 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a new compatibility header, stdint_.h. All the code previously in std.h and stdpre.h that
-tried to make these types universally available has been moved to the new compatibility header
-as per policy.</pre>
-<p>[src/lib.mak 1.157, src/sjbig2.c 1.5, src/sjbig2.h 1.4, src/std.h 1.11, src/stdint_.h 1.1, src/stdpre.h 1.22, src/ttfsfnt.h 1.6]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_2111"></a>
-2003-12-09 21:11 Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Bump version numbers after the 8.12 release.</pre>
-<p>[doc/News.htm 1.139, lib/gs_init.ps 1.102, src/gscdef.c 1.40, src/version.mak 1.68]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1725"></a>
-2003-12-09 17:25 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 6.
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued).
DETAILS :
-This change modifies a disabled code,
-and includes a minor change to the enabled code,
-which should be algorithmically equivalent.
+This is a preparation for fixing the bug 687489
+"pdfwrite creates invalid Type3 font -- missing characters".
+The problem happens due to the old code could run a charproc while
+executing a stringwidth, when the PDF viewer state isn't syncronized
+with the PS graphic state.
+We don't synchronize in this case because stringwidth doesn't paint.
-In the enabled code factored out the new function add_y_line_aux.
+Our intention is to know whether a charproc changes graphic state parameters :
+current color, line width, etc. For doing so we need
+(1) to save the viewer state in the viewer state stack,
+and then (2) synchronize with the PS graphic state without
+writing commands to the PDF. This patch does provide (1)
+but does not implement (2) because we want to check
+the change (1) for no regressions.
+The change (2) will be a separate step.
-This patch fixes the dropout problem in CURVED_TRAPEZOID_FILL 1.
-The problem was unprocessed horizontal segments of curves.
-Now we create a new temporary horizontal line for
-each horizontal segment of a curve, and add it to the Y list.
-Then it immediately goes to H list, and then processed and freed.
+Saving a viewer state in a stack when entering a charproc
+was contributed with the recent patch
+http://www.ghostscript.com/pipermail/gs-cvs/2004-May/004507.html
+as an improvement of pdf_enter_substream, which was called from
+pdf_install_charproc_accum called from pdf_text_set_cache.
+In other words, the viewer state saving was deferred until setcachedevice/setcharwidth.
+However we need to save the viewer state in the beginning of a PS charproc.
-Due to the modification of the Y list during the main
-trapezoid loop (which did not happen before) the cycle
-commented with
-/* Move newly active lines from y to x list. */
-is improved with providing a consistency of local copies
-of the Y list pointers.
+This patch moves the call to pdf_enter_substream from pdf_install_charproc_accum
+to the TEXT_PROCESS_RENDER branch of pdf_text_process.
+We believe that the new logic is more straight :
+we start the charproc stream accumulation immediately before the PS interpreter
+enters a charproc interpretation.
-Good tests for this stuff present in a.pdf .
-With this patch with ppmraw 72dpi it renders equal to
-with CURVED_TRAPEZOID_FILL 0 code.
-
-EXPECTED DIFFERENCES :
-
-None.</pre>
-<p>[src/gxfill.c 1.61, src/gxpflat.c 1.14, src/gzpath.h 1.16]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1723"></a>
-2003-12-09 17:23 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Generalize the trapezoid filling algorithm for curves, step 5.
-
-DETAILS :
+Minor changes :
-This change modifies a disabled code only.
-
-This patch provides more compatibility of the
-CURVED_TRAPEZOID_FILL & FLATTENED_CURVE_ITERATOR0_COMPATIBLE build
-to the old code. Doing it with implementing the new function
-gx_flattened_curve_iterator__prev.
-
-We're not planning to pass this function to production
-because it slows down. Only reason is to simplify testing with
-exact comparison of results of the old and the new code.
-The macro CURVED_TRAPEZOID_FILL_SCANS_BACK helps to remove it later.
-
-A new field skip_points is inserted into active_line_s for same purpose.
-While enumerating curve segments in a backward order,
-it helps to skip same division points as the old code
-does in the forward order. This thing consumes too much RAM.
-It won't go to production.
-
-One problem is left unsolved. While flattening a curve,
-it can generate a horizontal segment. It must be passed to h-list
-for dropout prevention. It is not done yet.
-This problem causes a dropout in a Chinese glyph in a.pdf
-with ppmraw 72 dpi.
-
-For a while we don't apply CURVED_TRAPEZOID_FILL for non-characters.
-The reason is that pco_monotonize works imprecisely.
-Will improve someday. Most characters are free of non-monotonic curves,
-but we notices a number of such in Genoa tests
-and in other files.
-
-The fragment INTERTRAP_STEM_BUG is an attempt to improve a
-serif suppression while dropout prevention. The coded condition
-isn't perfect. It is disabled. A better way would be to depend on
-Y projection contiguity, checking sect->y0, sect->y1.
-Keeping it to simplify further experimenting.
+1. Defined pdf_start_charproc_accum as a symmetric one for pdf_end_charproc_accum.
+2. Renamed pdf_install_charproc_accum into pdf_set_charproc_attrs.
+3. Improved the argument list of pdf_prepare_text_drawing.
EXPECTED DIFFERENCES :
None.</pre>
-<p>[src/gx.h 1.21, src/gxfdrop.c 1.8, src/gxfill.c 1.60, src/gxfill.h 1.7, src/gxpflat.c 1.13, src/gzpath.h 1.15, src/lib.mak 1.156]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1721"></a>
-2003-12-09 17:21 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Unwinding the last patch because it was committed with a wrong log message.</pre>
-<p>[src/gx.h 1.20, src/gxfdrop.c 1.7, src/gxfill.c 1.59, src/gxfill.h 1.6, src/gxpflat.c 1.12, src/gzpath.h 1.14]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1648"></a>
-2003-12-09 16:48 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-ERRONEUS COMMITMENT - do not use this revision.</pre>
-<p>[src/lib.mak 1.155]</p>
+<p>[src/gdevpdti.c 1.30, src/gdevpdfx.h 1.90, src/gdevpdtt.c 1.80]</p>
</blockquote>
-<p><strong><a name="2003-12-09_1642"></a>
-2003-12-09 16:42 Igor Melichev</strong></p>
+<p><strong><a name="2004-06-01_0237"></a>
+2004-06-01 02:37 Alex Cherepanov</strong></p>
<blockquote>
<pre>
-ERRONEUS COMMITMENT - do not use this revision.</pre>
-<p>[src/lib.mak 1.154]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1612"></a>
-2003-12-09 16:12 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-ERRONEUS COMMITMENT - do not use this revision.</pre>
-<p>[src/gx.h 1.19, src/gxfdrop.c 1.6, src/gxfill.c 1.58, src/gxfill.h 1.5, src/gxpflat.c 1.11, src/gzpath.h 1.13, src/lib.mak 1.153]</p>
-</blockquote>
-
-<p><strong><a name="2003-12-09_1559"></a>
-2003-12-09 15:59 Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (pdfwrite) : Type 1,2 composite glyphs could point to wrong subglyphs.
-
-DETAILS :
-
-This is a continuation of the recent patch for
-Bug 687172 "Jaggies appearing for some characters".
-
-The old code converted subglyph names to char codes with the font's Encoding.
-However arguments of 'seac' command always encode glyphs by StandardEncoding.
-If the fon't Encoding specifies different codes, the result was wrong.
-
-Since the font copying routine uses gs_glyph values taken from the global
-interpreter's space (see gsccode.h), which are PS name indices,
-it needs to convert a glyph name string to a name index.
-Before now we had no support for this.
-To provide it we add a new graphics library callback
-gs_font_dir::global_glyph_code.
-
-A recommendation for PCL interpreter :
-if it is called with pdfwrite, zfont_global_glyph_code to be implemented.
-Maybe an implementation with gs_c_known_encode helps.
-
-There exists a connected minor problem (PS interpreter only),
-which this patch doesn't fix.
-If a font is freed and then reloaded, the glyph names can get
-different name indices, if a garbager is invoked and freed
-the names before the second loading. As the result, the copied font
-can embed duplicated glyph definitions (charstrings).
-It can't give an invalid PDF, but it's size may increase. Hopely this case is rare.
-Opening a new bug 687187 about this.
-
-EXPECTED DIFFERENCES :
-
-None with comparefiles.</pre>
-<p>[src/gsfont.c 1.28, src/gxfcache.h 1.22, src/gxfcopy.c 1.39, src/lib.mak 1.152, src/zfont.c 1.10]</p>
+Aviod a PostScript error in ps2ascii when the source file uses composite fonts.
+For now, dump the strings in the unmodified encoding when the corresponding
+font is composite.
+Fix bug 687466.</pre>
+<p>[lib/ps2ascii.ps 1.9]</p>
</blockquote>
</body>
</html>
diff --git a/gs/doc/Details8.htm b/gs/doc/Details8.htm
index 708116e05..4f168294a 100644
--- a/gs/doc/Details8.htm
+++ b/gs/doc/Details8.htm
@@ -29,6 +29,7 @@
<h2>Table of contents</h2>
<blockquote><ul>
+<li><a href="#Version8.31">Version 8.31 (2004-08-28)</a>
<li><a href="#Version8.30">Version 8.30 (2004-05-29)</a>
<li><a href="#Version8.12">Version 8.12 (2003-12-08)</a>
<li><a href="#Version8.11">Version 8.11 (2003-08-16)</a>
@@ -76,6 +77,3464 @@ overview</a>.
<!-- [2.0 begin contents] ================================================== -->
+<h3><a name="Version8.31"></a>Version 8.31 (2004-08-28)</h3>
+
+<p>
+This is a beta release of the development tree. It contains a number
+of new features and is made available for those interested in testing
+the new version before it becomes the next stable release.
+
+<p>
+This second beta contains a large number of bug fixes over the earlier
+8.30 version.
+
+<p>
+New features since the last stable release:
+
+<ul>
+<li><p>
+Topological grid fitting,
+an original method developed for Ghostscript by Dr. Igor V. Melichev, improves
+the rendering of True Type fonts at small resolutions.
+See the documentation for <a href="Language.htm#GridFitTT">GridFitTT</a> for information on this
+feature.
+
+<li><p>
+The PDF writer now implements PDF 1.4 encryption.
+See the <a href="Ps2pdf.htm#Encryption">encryption parameter</a> documentation for more
+information.
+
+<li><p>
+A new rendering method for shadings, developed for Ghostscript by
+Dr. Igor V. Melichev, improves the quality and performance of
+rasterization on continuous tone devices.
+The new method allows hardware or software acceleration with help of
+customizable routines for filling areas with a linearly varying color.
+functions.
+
+<li><p>
+This version contains the first release of Rinkj, an
+experimental new driver for some inkjet printers using ETS screening.
+See the <a href="Devices.htm#Rinkj">Rinkj</a> section for more information.
+
+<li><p>
+We now support PDF 1.5 files, including the new compression
+and encryption modes.
+
+<li><p>
+We have beta support for JPEG 2000 compressed images, using the JasPer
+compression library. This is only enabled as part of the default build
+in the autoconf (POSIX) build system in this release.
+
+</ul>
+
+<p>
+The following <a href="http://bugs.ghostscript.com/">bug</a> numbers were open at
+the time of release:
+<blockquote>
+405501,
+430175,
+446344,
+456692,
+458780,
+463688,
+465936,
+487953,
+493348,
+526099,
+526491,
+530011,
+535366,
+535932,
+578865,
+592160,
+603934,
+610478,
+614298,
+626295,
+634036,
+645316,
+674418,
+677324,
+685335,
+686747,
+686750,
+686816,
+686819,
+686824,
+686841,
+686842,
+686843,
+686853,
+686863,
+686865,
+686867,
+686902,
+686919,
+686980,
+686996,
+687011,
+687012,
+687013,
+687039,
+687063,
+687079,
+687084,
+687086,
+687095,
+687102,
+687105,
+687108,
+687110,
+687122,
+687125,
+687146,
+687157,
+687168,
+687174,
+687179,
+687193,
+687196,
+687203,
+687219,
+687221,
+687229,
+687231,
+687243,
+687251,
+687257,
+687259,
+687271,
+687275,
+687280,
+687295,
+687297,
+687298,
+687303,
+687314,
+687316,
+687324,
+687327,
+687341,
+687342,
+687345,
+687346,
+687360,
+687373,
+687375,
+687394,
+687397,
+687399,
+687401,
+687403,
+687410,
+687414,
+687421,
+687434,
+687435,
+687445,
+687459,
+687460,
+687461,
+687467,
+687468,
+687473,
+687474,
+687475,
+687479,
+687480,
+687484,
+687485,
+687490,
+687492,
+687497,
+687498,
+687501,
+687512,
+687514,
+687516,
+687518,
+687520,
+687523,
+687524,
+687525,
+687528,
+687529,
+687531,
+687535,
+687536,
+687537,
+687539,
+687541,
+687542,
+687545,
+687547,
+687551,
+687552,
+687554,
+687555,
+687558,
+687559,
+687560,
+687561,
+687571,
+687574,
+687575,
+687577,
+687578,
+687579,
+687581,
+687582,
+687583,
+687584,
+687585,
+687586,
+687588,
+687589,
+687590,
+687592,
+687593,
+687595,
+687600,
+687601,
+687607,
+687608,
+687610,
+687611,
+687612,
+687614,
+687615,
+687616,
+687617,
+687621,
+687622,
+687625,
+687627,
+687628,
+687630,
+687631,
+687632,
+687633,
+687634.
+</blockquote>
+
+<h3><a name="8.31_Incompatible_changes"></a>Incompatible changes</h3>
+
+<p>
+No known incompatible changes at the time of release.
+
+<h3><a name="8.31_changelog"></a>Changelog</h3>
+
+<!-- generated from: cvs2cl --utc -T --follow trunk --delta gs8_30:HEAD -U AUTHORS --xml -f doc/changelog.xml -->
+
+<p><strong><a name="2004-08-28_2210"></a>
+2004-08-28 22:10 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the version and date on the VMS help file.</pre>
+<p>[doc/gs-vms.hlp 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2152"></a>
+2004-08-28 21:52 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update release date on documentation.</pre>
+<p>[doc/API.htm 1.44, doc/Bug-form.htm 1.41, doc/Bug-info.htm 1.40, doc/C-style.htm 1.47, doc/Commprod.htm 1.32, doc/Copying.htm 1.31, doc/DLL.htm 1.35, doc/Deprecated.htm 1.12, doc/Details8.htm 1.9, doc/Develop.htm 1.138, doc/Devices.htm 1.81, doc/Drivers.htm 1.48, doc/Fonts.htm 1.42, doc/Helpers.htm 1.35, doc/History1.htm 1.31, doc/History2.htm 1.31, doc/History3.htm 1.31, doc/History4.htm 1.31, doc/History5.htm 1.33, doc/History6.htm 1.48, doc/History7.htm 1.36, doc/History8.htm 1.13, doc/Htmstyle.htm 1.36, doc/Install.htm 1.46, doc/Issues.htm 1.41, doc/Language.htm 1.87, doc/Lib.htm 1.34, doc/Maintain.htm 1.42, doc/Make.htm 1.79, doc/New-user.htm 1.51, doc/Projects.htm 1.58, doc/Ps-style.htm 1.29, doc/Ps2epsi.htm 1.33, doc/Ps2pdf.htm 1.70, doc/Psfiles.htm 1.53, doc/Readme.htm 1.56, doc/Release.htm 1.86, doc/Source.htm 1.31, doc/Tester.htm 1.31, doc/Testing.htm 1.26, doc/Unix-lpr.htm 1.31, doc/Use.htm 1.111, doc/Xfonts.htm 1.31, man/dvipdf.1 1.29, man/font2c.1 1.29, man/gs.1 1.30, man/gslp.1 1.29, man/gsnd.1 1.29, man/pdf2dsc.1 1.28, man/pdf2ps.1 1.30, man/pdfopt.1 1.28, man/pf2afm.1 1.29, man/pfbtopfa.1 1.30, man/printafm.1 1.29, man/ps2ascii.1 1.28, man/ps2epsi.1 1.27, man/ps2pdf.1 1.34, man/ps2pdfwr.1 1.33, man/ps2ps.1 1.36, man/wftopfa.1 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Change the product name to BETA RELEASE</pre>
+<p>[src/gscdef.c 1.45]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add recent new files to the listings in the documentation.</pre>
+<p>[doc/Develop.htm 1.137, doc/Psfiles.htm 1.52]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2128"></a>
+2004-08-28 21:28 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update release notes and open bug list for the 8.31 beta release. Bump
+the release date as well.</pre>
+<p>[doc/News.htm 1.150, src/version.mak 1.72]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-26_0913"></a>
+2004-08-26 09:13 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Fix half-toning for display device, bug 687629.
+
+DETAILS:
+Prior to DeviceN, dither_gray/max_gray were used if ncomp==1.
+With DeviceN, dither_gray/max_gray are used if gray_index >= 0.
+The display device was not correctly setting gray_index for
+native 1-bit/pixel format.</pre>
+<p>[src/gdevdsp.c 1.27]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-26_0015"></a>
+2004-08-26 00:15 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix for image matrix having negative values. Thanks to Len Sorenson
+for submitting this patch (author unknown). Bug #687411.
+
+DETAILS:
+
+The error is using floor to round a value without checking if it might
+be negative first. There were actually two places that did this even
+though the patch that was originally submitted only was for one of them.</pre>
+<p>[src/gximag3x.c 1.19]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-26_0004"></a>
+2004-08-26 00:04 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Close the font file after the font has been processed (loaded into VM).
+This prevents a problem with using up too many file handles detected on
+Solaris. Thanks to Alex Cherepanov for the patch. Bug #687066.
+
+DETAILS:
+
+The patch has no effect on the cache. There is no point of not closing
+the file after the content has been copied to memory.
+
+On GNU/Linux GS has 250K VMThreshold and 1024 handles. That's enough.
+On Windows GS has 1M VNThreshold and 512 handles. This is still OK.
+On Solaris GS has 1M VMThreshold and 256 handles. Handles can be used up
+before garbage collection starts. The following program fails on Solaris.
+
+(a)(w) file closefile
+1000 { (a)(r) file pop } repeat
+
+Dependence on VMThreshold indicates that GC is not activated by
+open(2) failing with EMFILE . This is a real bug, the patch is
+just a work around that we may need to fix later, but not likely to
+be a problem.</pre>
+<p>[lib/gs_type1.ps 1.15]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-25_2352"></a>
+2004-08-25 23:52 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix to close streams at EOF (not only filter streams), as required by
+the PLRM. Thanks to Alex Cherepanov for this patch. Bug #687505.
+
+DETAILS:
+
+This is similar to a patch that I had developed and tested prior to
+Alex's patch. I had tested my patch, then Alex's against the regression
+suite and determined that it does not cause any differences.
+
+Alex's patch conforms to my analysis of the problem and the fix.</pre>
+<p>[src/stream.c 1.23]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-25_1556"></a>
+2004-08-25 15:56 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Bind all operators in DefaultGray, DefaultRGB, DefaultCMYK color spaces.
+Partial fix for the bug 687608</pre>
+<p>[Resource/ColorSpace/DefaultCMYK 1.3, Resource/ColorSpace/DefaultGray 1.3, Resource/ColorSpace/DefaultRGB 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1751"></a>
+2004-08-24 17:51 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : A page compression type change could cause a crash.
+
+DETAILS :
+
+Bug 687626 "A crash in pdfwrite".
+It crashed after the compression is changed from none to Flate
+with setdevparams inside a page.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdf.c 1.98, src/gdevpdfu.c 1.58, src/gdevpdfx.h 1.100]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : gs_lib_ctx was wrongly accessed while looking up a dictionary stack extension.
+
+DETAILS :
+
+Bug 687623 A crash in the interp.c
+
+EXPECTED DIFFERENCES :
+
+Fixes crash with re-distilled files :
+251-01.ps
+Bug687044.ps
+Bug687489.ps
+test-setweightvector.ps,
+tpc2.ps</pre>
+<p>[src/idstack.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : gs_lib_ctx was not accessible while clist_playback_band.
+
+DETAILS :
+
+Bug 687624 "A crash in gp_check_interrupts".
+
+EXPECTED DIFFERENCES :
+
+Fixes crash with re-distilled files :
+Svd.pdf
+test.pdf</pre>
+<p>[src/gxclread.c 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1252"></a>
+2004-08-24 12:52 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (TT interpreter) : Provide a tolerance to an inconsistent cvt length.
+
+DETAILS :
+
+Bug 687604 "/invalidfont in --show-- error".
+
+We analyzed UFST and Free Type 2.
+UFST has same problem.
+FreeType 2 provides a tolerance, which we port now.
+Note that now we don't port a tolerance for other CVT commands.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/ttinterp.c 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1058"></a>
+2004-08-24 10:58 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (TT interpreter) : A minor portability problem.
+
+DETAILS :
+
+A preprocessor statement didn't start in the first column.
+Occasionally discovered readin the code.
+Some time ago it was claimed as non-portable.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/ttload.c 1.6]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_0910"></a>
+2004-08-24 09:10 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : Makefiles missed a dependency.
+
+DETAILS :
+
+After rebuilding the last revision got a crash due to gp_mspol.c
+was not recompiled. Found out that gslibctx_h was
+wrongly defined in lib.mak .
+Also changed the including of stdio.h in gslibctx.h to
+a C library file (IMO it should be so).
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gslibctx.h 1.4, src/lib.mak 1.192]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-23_0957"></a>
+2004-08-23 09:57 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Allow the display device row alignment to be changed from the
+default 4 bytes to 8, 16, 32 or 64 bytes.
+
+DETAILS:
+If the image is allocated in video display memory, an alignment
+such as 16 bytes (128-bit memory) may be required.
+This is implemented by making the underlying memory device
+use a larger width than the display device.</pre>
+<p>[src/gdevdsp.c 1.26, src/gdevdsp.h 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_2152"></a>
+2004-08-19 21:52 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Changed iapi to use a void* instead of a gs_main_instance pointer.</pre>
+<p>[src/dmmain.c 1.4, src/dpmain.c 1.12, src/dwmainc.c 1.22, src/dxmain.c 1.14, src/dxmainc.c 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_1933"></a>
+2004-08-19 19:33 stefan</strong></p>
+<blockquote>
+<pre>
+Changed iapi to use a void* instead of a gs_main_instance pointer.
+Cleaned up warning related to function pointer signature miss-matches.
+
+DETAILS:
+
+iapi.h no longer defines a type for gs_main_instance *
+This will likely need to be put back in for backward compatibility.
+
+The iapi interface now uses a void * instance handle reflecting
+that it is an opaque type to the outside world.
+
+Note that function pointer argument miss-matches generate warnings in
+msvc but not in gcc. These have been fixed.</pre>
+<p>[src/dwmain.c 1.19, src/gdevpdtw.c 1.29, src/gdevpsf.h 1.27, src/gdevpsfm.c 1.15, src/gsalloc.c 1.22, src/gsccode.h 1.14, src/gscpixel.c 1.13, src/gscpixel.h 1.7, src/gscspace.c 1.18, src/gsdevice.c 1.23, src/gslibctx.c 1.4, src/gslibctx.h 1.3, src/gxccman.c 1.28, src/gxfcache.h 1.27, src/iapi.c 1.12, src/iapi.h 1.13, src/idict.c 1.12, src/ilocate.c 1.11, src/iutil.c 1.11, src/iutil.h 1.8, src/sdctc.c 1.6, src/zchar32.c 1.5, src/zcssepr.c 1.16, src/zfont.c 1.12, src/zpacked.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_1050"></a>
+2004-08-19 10:50 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Add a PPD for PostScript to be used by ghostscript ps2pdf.</pre>
+<p>[doc/Develop.htm 1.136, doc/Ps2pdf.htm 1.69, lib/ghostpdf.inf 1.1, lib/ghostpdf.ppd 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_0738"></a>
+2004-08-19 07:38 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Enable progressive updates for the image window of
+the MS-Windows ghostscript command line program.
+Change update method to use a Windows timer.
+
+DETAILS:
+In the MS-Windows GUI executable (i.e. text window managed by
+ghostscript rather than using a system console window), the image
+window is progressively updated every second or so as each page
+is drawn. The console executable did not do this.
+
+The update code for both GUI and console executables is changed to
+use a timer. The display update code is called whenever particular
+device drawing operations happen, and if a timer is not already
+running, it starts an update timer. The minimum update interval
+is shortened from 1s to 100ms. The time to refresh the window is
+measured, and the update interval may be increased to make sure
+that updates account for no more than 10% of processing.
+The update interval is decreased if subsequent updates are
+much quicker. The timer is stopped by any sync.</pre>
+<p>[src/dwimg.c 1.13, src/dwimg.h 1.10, src/dwmainc.c 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_2225"></a>
+2004-08-18 22:25 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed dependancies for gslibctx.h</pre>
+<p>[src/int.mak 1.128, src/lib.mak 1.191]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_2224"></a>
+2004-08-18 22:24 stefan</strong></p>
+<blockquote>
+<pre>
+Removed redundant include.</pre>
+<p>[src/gsmalloc.c 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_2044"></a>
+2004-08-18 20:44 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Check for glyph name conflicts while font merging.
+
+DETAILS :
+
+Bug 687597 pdf created by pdfwrite has garbled text (spr 3994)
+
+1. When a document embeds 2 fonts with same name, same hinting
+and same glyph names but different charstrings, the old code
+didn't compare charstrings and erroneusely merged fonts.
+
+2. pdf_obtain_font_resource_encoded didn't compare the hinting
+because same_type1_hinting computed a too strong condition
+(this change is not strongly neccessary for the bug).
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdtt.c 1.87, src/gxfcopy.c 1.45]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_1440"></a>
+2004-08-18 14:40 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Wrong glyph positions with CIDFontType2 with no vmtx.
+
+DETAILS :
+
+Bug 687603 vertical text misplaced after distilling .
+
+1. When computing the glyph position, must account that we write
+DW2[0 0] when there is no vmtx.
+
+2. Computing a DW2, the advance got a wrong sign.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdtt.c 1.86]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_0448"></a>
+2004-08-18 04:48 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Implementation of 687496 transparency and CMYK support.
+
+DETAILS:
+
+This change extends our current implementation of the PDF 1.4
+transparency to include blending in a DeviceCMYK color space.
+There is also a partial implementation of a DeviceGray blending
+space. However I do not have a method of generating test data
+for a DeviceGray blending space. Currently the choice of a
+blending color space is based upon the process color model of
+the output device.
+
+Note: There two differences expected in the regression testing.
+These are with ai2.pdf and dina3_watermark.pdf.</pre>
+<p>[src/gdevp14.c 1.26, src/gxblend.c 1.6, src/lib.mak 1.190]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_2021"></a>
+2004-08-17 20:21 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add PDFSTEP debug aid. Prints a step number at end of PDFDEBUG line, and
+sync's the display, then reads a number of steps to skip (<cr> == single
+step). This is rudimentary but somewhat useful. Invoked with -dPDFSTEP.</pre>
+<p>[lib/pdf_base.ps 1.44]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1956"></a>
+2004-08-17 19:56 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Bump the version number after the last beta release.</pre>
+<p>[lib/gs_init.ps 1.109, src/gscdef.c 1.44, src/version.mak 1.71]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1939"></a>
+2004-08-17 19:39 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove references to the FreeType license. Artifex Software, Inc. has
+purchased rights to the FreeType 1 code and the work included here is
+relicensed under the same terms as with the rest of the Ghostscript code.</pre>
+<p>[LICENSE 1.4, doc/FTL.txt 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1859"></a>
+2004-08-17 18:59 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add support for PDF single stepping debug aid (PDFSTEP). Actual interpreter
+changes made separately.</pre>
+<p>[lib/gs_init.ps 1.108]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1753"></a>
+2004-08-17 17:53 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Handle invalid PDF's that use 0.0 font scaling (Tf operator). Fixes bug
+687606 for customer number 780.
+
+DETAILS:
+
+If the font scale is 0.0, then just use a very small value. This may result
+in a small unwanted dot, but that is probably not an issue since it is
+an invalid value. The better approach for 'invisible' text is to use
+TextRenderingMode 3. The 'pdfformaterror' function is used to complain
+about this so the problem might get fixed by the PDF Creator.</pre>
+<p>[lib/pdf_ops.ps 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-14_0206"></a>
+2004-08-14 02:06 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Correct the previous MSVC 8 updates to allow compilation with debugging.</pre>
+<p>[src/msvc32.mak 1.62, src/msvccmd.mak 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-13_1259"></a>
+2004-08-13 12:59 stefan</strong></p>
+<blockquote>
+<pre>
+Added missing parameter types to prototype.</pre>
+<p>[src/gpcheck.h 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-13_0457"></a>
+2004-08-13 04:57 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Detect the version of Microsoft Visual C++ from the version of nmake.</pre>
+<p>[doc/Make.htm 1.78, src/msvc32.mak 1.61]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-13_0016"></a>
+2004-08-13 00:16 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Add support for compiling with the beta of Microsoft Visual
+Studio 2005, also known as MSVC 8.
+
+DETAILS:
+Add new MSVC_MINOR_VERSION=1 to distinguish Microsoft Visual
+Studio .NET 2003 (MSVC 7.1) from Microsoft Visual Studio .NET
+(MSVC 7.0)
+Add new MSVC_VERSION=8 for Microsoft Visual Studio 2005
+Ignore deprecated warnings from MSVC 8 with /wd4996, because
+insecure CRTL functions like strcpy and sprintf are now
+marked as deprecated.
+Remove /Ze which is always the default and is unknown to MSVC 8.
+Replace /O with /O2. The former is not documented for MSVC 5 - 8
+and is unknown to MSVC 8.
+Remove /Gs and /Ge for MSVC 8. Stack checking is now always done.</pre>
+<p>[doc/Make.htm 1.77, src/msvc32.mak 1.60, src/msvccmd.mak 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1433"></a>
+2004-08-11 14:33 stefan</strong></p>
+<blockquote>
+<pre>
+Added memory pointers to gsmalloc use by jpg2000 interface.
+
+DETAILS:
+
+Added jpx_memory to the stream state since the memory pointer
+in a normal stream object in often NULL indicating a stack object.</pre>
+<p>[src/sjpx.c 1.10, src/sjpx.h 1.3, src/zfjpx.c 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1336"></a>
+2004-08-11 13:36 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximag3x.c 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1333"></a>
+2004-08-11 13:33 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximage3.c 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1258"></a>
+2004-08-11 12:58 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix bug 687038 that resulted in a crash if the initial device was not
+pdfwrite.
+
+DETAILS:
+
+This was almost fixed by recent changes to gs_pdfwr.ps and
+gs_setpd.ps for bugs 687325, 687436 and 687458.
+
+Unfourtunately, the initialization of parameters only occurred
+if the initial device was pdfwrite. A second patch removing
+the initial device constraint on the '1010' .schedule_init
+process was committed and fixes the problem.
+
+Note that there was a work-around that if -dPDFSETTINGS=... was
+given on the command line, it also worked.
+
+EXPECTED DIFFERENCES:
+
+none, since we don't test for this usage.</pre>
+<p>[lib/gs_pdfwr.ps 1.39]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-10_1302"></a>
+2004-08-10 13:02 stefan</strong></p>
+<blockquote>
+<pre>
+Added memory_t pointers to gs_malloc() gs_free() calls in
+devices that aren't normally built.</pre>
+<p>[src/gdev3b1.c 1.5, src/gdevadmp.c 1.6, src/gdevccr.c 1.5, src/gdevcif.c 1.6, src/gdevcp50.c 1.6, src/gdevcslw.c 1.5, src/gdevhl7x.c 1.10, src/gdevimgn.c 1.7, src/gdevlp8k.c 1.5, src/gdevlxm.c 1.5, src/gdevmgr.c 1.6, src/gdevn533.c 1.6, src/gdevo182.c 1.6, src/gdevokii.c 1.7, src/gdevos2p.c 1.8, src/gdevp14.c 1.25, src/gdevphex.c 1.7, src/gdevpsdi.c 1.30, src/gdevsgi.c 1.6, src/gdevsj48.c 1.5, src/gdevsppr.c 1.8, src/gdevsunr.c 1.7, src/gdevwddb.c 1.7, src/gdevwprn.c 1.10, src/gp_macio.c 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-10_1259"></a>
+2004-08-10 12:59 stefan</strong></p>
+<blockquote>
+<pre>
+fixed bug with iapi, removed gs_lib_finit()'s call of gs_malloc_release.
+
+DETAILS:
+
+The problem is that single instance and multi instance interfaces
+both call gs_to_exit() with different meanings.
+
+If gs_lib_init0 was called then it should malloc_release
+single instance exit library means free all.
+
+If the iapi interface was used then the memory
+should not be freed since gs_lib_finit() and gs_to_exit()
+are called when the interpreter is exited but there is a
+seperate delete_instance call that should free the memory</pre>
+<p>[src/gsinit.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-09_1702"></a>
+2004-08-09 17:02 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed uninitialized fstdio2 pointer.</pre>
+<p>[src/gslibctx.c 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-05_2017"></a>
+2004-08-05 20:17 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed incorrect function pointer prototype,
+const gs_memory_t * argument was missing.</pre>
+<p>[src/gxfcache.h 1.26, src/gxfcopy.c 1.44]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-05_2015"></a>
+2004-08-05 20:15 stefan</strong></p>
+<blockquote>
+<pre>
+Valid memory pointer used create a tile_clip device instead of NULL.
+
+Details :
+
+This needs to be leak checked.</pre>
+<p>[src/gxp1fill.c 1.6]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-05_1702"></a>
+2004-08-05 17:02 stefan</strong></p>
+<blockquote>
+<pre>
+Windows only:
+check_interrupts() with a mem pointer to access the poll function.
+
+DETAILS :
+
+This is windows specific since only windows uses the polling
+function in check_interrupts() macros. If the gs_dll interface
+is used then a single instance is forced since the design of that
+interface forces one thread per process. The iapi interface can not
+but enabled for more than one thread until the stream calling check_interrupts()
+calls are fixed.
+
+process_interrupts(NULL) calls are currently hacked to access a global memory
+pointer intended for access to stderr. This is a place holder until the
+stream object changed that guarantee a valid memory pointer in process_stream
+calls are committed. Basically it is common to allocate a stream object on the
+stack and use it in a functional manor with an uninitialized memory pointer in the
+object.</pre>
+<p>[src/gdevdbit.c 1.11, src/gdevddrw.c 1.25, src/gdevwpr2.c 1.18, src/gdevwprn.c 1.9, src/gp_macpoll.c 1.2, src/gp_mslib.c 1.6, src/gp_mspol.c 1.5, src/gp_mswin.c 1.24, src/gxclrast.c 1.30, src/gxclread.c 1.11, src/gxclutil.c 1.11, src/gxdtfill.h 1.27, src/sfxfd.c 1.10, src/sfxstdio.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_2340"></a>
+2004-08-04 23:40 stefan</strong></p>
+<blockquote>
+<pre>
+fixed typo in last commit.</pre>
+<p>[src/gpcheck.h 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_2333"></a>
+2004-08-04 23:33 stefan</strong></p>
+<blockquote>
+<pre>
+gs_memory_t pointer additions for msvc build.
+
+DETAILS :
+
+Mostly gs_malloc() and gs_free() additions of a gs_memory_t argument.
+
+Not gsdll.c forces a single instance.</pre>
+<p>[src/gdev4081.c 1.6, src/gdev4693.c 1.9, src/gdev8510.c 1.7, src/gdevdm24.c 1.8, src/gdevdsp.c 1.25, src/gdevescp.c 1.7, src/gdevmswn.c 1.11, src/gdevmsxf.c 1.8, src/gdevpjet.c 1.7, src/gdevwpr2.c 1.17, src/gp_mspol.c 1.4, src/gpcheck.h 1.7, src/gsargs.c 1.9, src/gsdll.c 1.12, src/gsmisc.c 1.18, src/gxccache.c 1.32, src/gxclutil.c 1.10, src/imain.h 1.9, src/interp.c 1.19, src/main.h 1.7, src/msvc32.mak 1.59, src/sfxstdio.c 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_1936"></a>
+2004-08-04 19:36 stefan</strong></p>
+<blockquote>
+<pre>
+Addition of a Library Context to start the process of removing globals.
+
+DETAILS :
+
+The goals is to remove globals from the system, this includes static
+globals that would hinder multiple threads from running at once.
+
+gs_lib_ctx is intended to be used as the opaque "handle" object
+that a client would use to associate with a thread running through
+the library. Independent of a gs or a language switch build, this
+needs a new iapi2.h that allows the use of better job control from the
+client side.
+
+gs_lib_ctx is stashed under the gs_memory_t object and all memory objects
+used by a thread refer to the same gs_lib_ctx. This storage location was
+choosen as a convenence since a memory_t pointer is common throughout the
+system. Most of the turmoil is adding memory_t pointers to functions that
+used global variables but didn't have a memory pointer.
+
+FILE stdin, stdout, stderr are one per process by default.
+stdin and stdout may be changed but stderr may not.
+FILE stderr is one per process and shouldn't be changed.
+Note the stderr_fn is also one per process, changing this function pointer
+will not help as most users of stderr printing do not have a thread handle.
+Changing to a thread local storage mechanism can solve this.
+
+gs_id's are currently per thread with each thread starting over at 1.
+This can be moved to per process with mutexes if so desired.
+
+A library context has a pointer to the top_of_system the intent is that this
+a void handle avaliable to make top of the system calls without knowing the
+data type. In a postscript only build this would be gs_main_instance but
+in a language switched build this would be an object above that main_universe.
+
+Other members of gs_lib_ctx_t are nothing more than global objects relocated
+to this "bag". gs_name_table, dict_autoexpand are examples of this. There
+are a few more globals that will be moved.
+
+At the moment iapi is still constrained to one thread, since some of the
+globals haven't been removed yet.
+
+The display device's callback function setting is supported for now
+but this interface should be changed to a sDEVICE style call.
+
+gs_memory_t is the base type the abstract type gs_raw_memory_t is gone,
+this means that all memory types must derive from gs_memory_t.
+In addition to a pointer to the gs_lib_ctx there is a pointer to a
+non_gc_memory this will always point to a non garbage collected memory,
+it maybe the current object or an object below the current gargabe
+collected memory space. This can be used were the previous code
+used the global gs_malloc_memory. gs_malloc() now takes a memory pointer,
+it finds the non-gc memory from a valid memory pointer and allocates from it.
+
+The gdevbit device has an improved algorthym for converting from cmyk to rgb,
+this is never used by postscript but for pcl rops it puts the k plane into rgb.</pre>
+<p>[src/bfont.h 1.10, src/devs.mak 1.117, src/dstack.h 1.6, src/files.h 1.10, src/gdevbj10.c 1.9, src/gdevcdj.c 1.15, src/gdevdcrd.c 1.6, src/gdevepsc.c 1.11, src/gdevepsn.c 1.9, src/gdevijs.c 1.9, src/gdevp14.c 1.24, src/gdevpdfb.c 1.23, src/gdevpdfc.c 1.48, src/gdevpdfg.c 1.58, src/gdevpdfg.h 1.33, src/gdevpdfi.c 1.56, src/gdevpdfk.c 1.8, src/gdevpdfv.c 1.36, src/gdevpdti.c 1.36, src/gdevplnx.c 1.10, src/gdevprn.c 1.18, src/gdevprna.c 1.6, src/gdevpsdi.c 1.29, src/gdevpxat.h 1.6, src/gdevpxen.h 1.6, src/gdevstc.c 1.10, src/gdevupd.c 1.16, src/gdevvec.c 1.23, src/gdevxcmp.c 1.9, src/gdevxxf.c 1.9, src/gp_mac.c 1.16, src/gs.c 1.12, src/gs_dll_call.h 1.1, src/gsalloc.c 1.21, src/gsalloc.h 1.7, src/gsalphac.c 1.7, src/gsccode.h 1.13, src/gscdevn.c 1.21, src/gscolor.c 1.14, src/gscolor1.c 1.11, src/gscolor3.c 1.8, src/gscparam.c 1.10, src/gscpixel.c 1.12, src/gscpixel.h 1.6, src/gscrd.c 1.6, src/gscrd.h 1.7, src/gscscie.c 1.12, src/gscsepr.c 1.27, src/gscspace.c 1.17, src/gscspace.h 1.14, src/gsdevice.c 1.22, src/gsequivc.c 1.5, src/gsexit.h 1.10, src/gsfcid2.c 1.6, src/gsfcmap.c 1.24, src/gsfcmap1.c 1.7, src/gsfont.c 1.33, src/gsht.c 1.22, src/gsht1.c 1.15, src/gshtx.c 1.6, src/gsimage.c 1.12, src/gsinit.c 1.6, src/gsio.h 1.8, src/gsiodevs.c 1.6, src/gsistate.c 1.10, src/gslib.c 1.14, src/gslib.h 1.6, src/gslibctx.c 1.2, src/gslibctx.h 1.2, src/gsmalloc.c 1.12, src/gsmalloc.h 1.6, src/gsmemlok.c 1.6, src/gsmemory.c 1.9, src/gsmemory.h 1.8, src/gsmemraw.h 1.8, src/gsmemret.c 1.5, src/gsmisc.c 1.17, src/gsovrc.c 1.6, src/gspcolor.c 1.14, src/gsptype1.c 1.19, src/gsstate.c 1.24, src/gsstruct.h 1.18, src/gsstype.h 1.6, src/gsutil.c 1.10, src/gsutil.h 1.8, src/gxacpath.c 1.10, src/gxalloc.h 1.11, src/gxccache.c 1.31, src/gxccman.c 1.27, src/gxcht.c 1.13, src/gxclbits.c 1.9, src/gxclrast.c 1.29, src/gxclread.c 1.10, src/gxclrect.c 1.7, src/gxcpath.c 1.12, src/gxcspace.h 1.13, src/gxdevcli.h 1.34, src/gxdevice.h 1.19, src/gxdhtserial.c 1.5, src/gxfcmap.h 1.16, src/gxfcopy.c 1.43, src/gxht.c 1.16, src/gxht.h 1.9, src/gximag3x.c 1.17, src/gximage.c 1.7, src/gxpcmap.c 1.13, src/gxttfb.c 1.34, src/gzht.h 1.13, src/ialloc.c 1.7, src/ialloc.h 1.6, src/iapi.c 1.11, src/ibnum.c 1.8, src/ibnum.h 1.8, src/ichar.h 1.7, src/icharout.h 1.9, src/icid.h 1.8, src/icie.h 1.7, src/icstate.h 1.13, src/idebug.c 1.9, src/idebug.h 1.6, src/idict.c 1.11, src/idict.h 1.6, src/idparam.c 1.9, src/idparam.h 1.7, src/idstack.c 1.6, src/ifapi.h 1.19, src/ifont.h 1.14, src/ifont1.h 1.7, src/ifont42.h 1.9, src/igc.c 1.13, src/igc.h 1.8, src/igcref.c 1.6, src/iimage.h 1.7, src/iinit.c 1.10, src/ilocate.c 1.10, src/imain.c 1.39, src/imainarg.c 1.32, src/iminst.h 1.8, src/iname.h 1.5, src/interp.c 1.18, src/iparam.c 1.10, src/iplugin.c 1.5, src/iplugin.h 1.5, src/isave.c 1.11, src/isave.h 1.7, src/iscan.c 1.18, src/iscanbin.c 1.14, src/iutil.c 1.10, src/iutil.h 1.7, src/lib.mak 1.189, src/sdctc.c 1.5, src/std.h 1.12, src/szlibc.c 1.6, src/ttload.c 1.5, src/zarray.c 1.5, src/zbfont.c 1.27, src/zchar.c 1.14, src/zchar1.c 1.36, src/zcharout.c 1.12, src/zcharx.c 1.7, src/zcid.c 1.9, src/zcie.c 1.12, src/zcolor.c 1.19, src/zcontext.c 1.11, src/zcontrol.c 1.11, src/zcrd.c 1.8, src/zcsdevn.c 1.12, src/zcsindex.c 1.7, src/zcspixel.c 1.5, src/zcssepr.c 1.15, src/zdevice.c 1.9, src/zdevice2.c 1.9, src/zdict.c 1.6, src/zdps.c 1.8, src/zdps1.c 1.7, src/zfapi.c 1.52, src/zfcid0.c 1.22, src/zfcid1.c 1.19, src/zfcmap.c 1.15, src/zfile.c 1.41, src/zfileio.c 1.17, src/zfont.c 1.11, src/zfont0.c 1.7, src/zfont1.c 1.12, src/zfont2.c 1.7, src/zfont32.c 1.5, src/zfont42.c 1.20, src/zfontenum.c 1.4, src/zfrsd.c 1.10, src/zfunc.c 1.14, src/zfunc3.c 1.7, src/zfunc4.c 1.12, src/zgeneric.c 1.8, src/zgstate.c 1.10, src/zht2.c 1.12, src/zht2.h 1.3, src/zicc.c 1.7, src/zimage.c 1.14, src/zimage3.c 1.7, src/ziodevs.c 1.9, src/ziodevsc.c 1.7, src/zmatrix.c 1.8, src/zmedia2.c 1.16, src/zmisc.c 1.7, src/zmisc2.c 1.7, src/zmisc3.c 1.6, src/zpacked.c 1.6, src/zpcolor.c 1.15, src/zrelbit.c 1.6, src/zshade.c 1.15, src/zstring.c 1.6, src/ztoken.c 1.14, src/ztrans.c 1.22, src/ztype.c 1.8, src/zupath.c 1.10, src/zusparam.c 1.13, src/zvmem.c 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_0100"></a>
+2004-08-04 01:00 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+add a .cvsignore list for generated files</pre>
+<p>[contrib/pscolor/.cvsignore 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_0055"></a>
+2004-08-04 00:55 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add variable declaration for the path to the ghostscript executable to
+the unix wrapper scripts. This simplifies changing the invocation name.
+Partial fix for bug 686863.</pre>
+<p>[lib/bdftops 1.5, lib/dumphint 1.2, lib/dvipdf 1.5, lib/eps2eps 1.6, lib/font2c 1.4, lib/gsbj 1.4, lib/gsdj 1.4, lib/gsdj500 1.4, lib/gslj 1.4, lib/gslp 1.4, lib/gsnd 1.4, lib/pdf2dsc 1.6, lib/pdf2ps 1.7, lib/pdfopt 1.7, lib/pf2afm 1.5, lib/pfbtopfa 1.6, lib/pphs 1.4, lib/ps2ascii 1.7, lib/ps2epsi 1.10, lib/ps2pdfwr 1.10, lib/ps2ps 1.7, lib/pv.sh 1.4, lib/unix-lpr.sh 1.5, lib/wftopfa 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-02_0333"></a>
+2004-08-02 03:33 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : .OrigFont was not provided when an embeded font is defined.
+
+DETAILS :
+
+Bug 687598 "Courier CE font problems".
+The test case embeds a font with an instandard FontMatrix [ 0.00039 0 0 0.00039 0 0 ].
+For passing it to pdfwrite, the procedure .completefont adds the
+/.OrigFont key to the font dictionary. However the key was added after
+.buildfont1 is called, and the device did not recieve the information at the time.
+This patch moves the .OrigFont setting ahead to the .buildfont* call.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/gs_fonts.ps 1.47]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-30_2132"></a>
+2004-07-30 21:32 Dan Coby</strong></p>
+<blockquote>
+<pre>
+More work upon 687551 Implement the remaining TN 5044 procedures.
+This commit implements the setcmykoverprint procedure.
+
+DETAILS:
+
+We received a posting against 687551. This posting indicated that some
+files in arXiv.org were failing with the current version of Ghostscript
+but worked with older versions. The files were all created by a package
+called Canvas by Deneba Systems. They failed because setcmykoverprint
+was not defined.
+
+Evidently the people at Deneba Systems did not read the following comment
+from page 15 of TN 5044:
+
+"Note The setcmykoverprint operator has not been adopted by the industry.
+It remains on the list of color convention operators because it has some
+perceived usefulness, but it is not supported by any shipping host-based
+separation applications today."
+
+The even stranger detail is that the Deneba Systems people have a
+dummy version of this procedure that does not implement overprinting.
+Thus if they do not need overprinting, they have no need to use this
+procedure.
+
+The files also fail with Distiller 6.0, Illustrator CS, and Photoshop 6.0.
+However this change allows these files to work with current Ghostscript.
+
+The change consists of putting in a dummy version of the setcmykoverprint
+procedure. This version does not actually implement overprinting.</pre>
+<p>[lib/gs_lev2.ps 1.32]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-29_1919"></a>
+2004-07-29 19:19 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : True Type font loader : numLoca run out the PS string size limit.
+
+DETAILS :
+
+Bug 687599 "/rangecheck in --string--".
+This patch increases the maximal 'loca' size to 64528 bytes,
+which is enough for the customer's file.
+A further improvement would be to allow more 'loca' segments
+(currently arbitrary restricted with 2 for a minor code simplification).
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/gs_ttf.ps 1.39]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-29_1746"></a>
+2004-07-29 17:46 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+1. Fix (PS interpreter) : The FontBBox validation check was too strong.
+2. Fix (pdfwrite) : Explicitely set line parameters in a charproc.
+
+DETAILS :
+
+Bug 687594 "Barcode Width".
+See comments in the new code.
+
+This solution is a partial one.
+With the current architecture of the Postscript interpreter,
+a device can't recognize whether a PS charproc sets line parameters or not.
+Therefore we copy to PDF the values, which appear at a first use
+within a charproc. The old code copied only values, which differ from defaults.
+The new behavior appears closer to Adobe Distiller.
+
+A complete solution should copy the PS behavior to PDF,
+i.e. the PDF charproc should set those and only those parameters,
+which are set by the PS charproc. For doing that we need flags in the graphic state structure
+per each graphic state parameter, reset all them before running a charproc,
+and set whenever a parameter is changed. Without the flag, when the charproc sets
+a value equal to the old one (which was inherited from the context of
+the glyph usage), the event of setting is lost and causes a line width and other problems.
+We don't want such a deep change now, and go with the partial solution,
+because the partial solution appears enough for customer's needs.
+Likely Adobe Distiller have same architectural problem, and resolves it in same manner.
+
+EXPECTED DIFFERENCES :
+
+pdfwrite, 72dpi :
+012-09.ps
+013-09.ps
+014-09.ps
+015-09.ps
+083-09.ps
+123-09.ps
+205-09.ps
+250-01.ps
+296-01.ps
+298-09.ps
+321-09.ps
+
+pdfwrite 300dpi :
+
+012-09.ps
+013-09.ps
+014-09.ps
+015-09.ps
+027-05.ps
+032-07.ps
+034-10.ps
+083-09.ps
+093-01.ps
+123-09.ps
+169-09.ps
+205-09.ps
+212-01.ps
+213-01.ps
+214-01.ps
+222-09.ps
+238-01.ps
+250-01.ps
+296-01.ps
+298-09.ps
+307-07.ps
+321-09.ps</pre>
+<p>[src/gdevpdtt.c 1.85, src/gslparam.h 1.5, src/zchar.c 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-28_1946"></a>
+2004-07-28 19:46 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+test commit; verifying the cvs announcement list is working.</pre>
+<p>[src/Makefile.in 1.37]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-28_1009"></a>
+2004-07-28 10:09 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 4).
+
+DETAILS :
+
+FunctionType 3 did not account stitches with reversed interval boundaries : lower > upper.
+Also added a tolerance to a small noise.
+687573 Error: /rangecheck in --.shfill--
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gsfunc3.c 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-26_2333"></a>
+2004-07-26 23:33 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687572 AFPL Ghostscript 8.14 fails with some PDF files.
+
+DETAILS:
+
+The given file uses the scn operator inside of a form. The scn
+operator is used for defining a color with DeviceN color spaces.
+The scn operator uses .pdfcount (inside of scresolve) to determine
+the number of parameters. However inside a form, there is an extra
+dictionary on the stack.
+
+The fix consists of adjusting pdfemptycount (which is used by .pdfcount)
+to match the stack depth while executing a form. After the form is
+executed, pdfemptycount is returned to its previous value.</pre>
+<p>[lib/pdf_draw.ps 1.83]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-26_2321"></a>
+2004-07-26 23:21 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687591 Overprint Preview is not documented. This change adds
+documentaion for how Ghostscript handles overprinting and spot colors
+to Use.htm.</pre>
+<p>[doc/Use.htm 1.110]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-24_0812"></a>
+2004-07-24 08:12 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 39 : Implementing embedded TrueType fonts (continued).
+
+DETAILS :
+
+This fixes the problem with True Type encoding :
+account 'post' when 'cmap' can't give a character mapping.
+Debugged wit 159.pdf , the character /registered.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
+UnusualFontMatrix.ps, 159.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-23_1911"></a>
+2004-07-23 19:11 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 39 : Implementing embedded TrueType fonts.
+
+DETAILS :
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
+UnusualFontMatrix.ps, 159.pdf .
+
+Embedded fonts work, but there exist an encoding problem with 159.pdf .
+The PS reader must have AdobeGlyphList and MacRomanEncoding.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.33]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_1735"></a>
+2004-07-22 17:35 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 38 : Implementing embedded Type 1 fonts.
+
+DETAILS :
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
+UnusualFontMatrix.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.32]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_1304"></a>
+2004-07-22 13:04 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 38 : Write font data after the font descriptor.
+
+DETAILS :
+
+opdfread.ps will use this constraint to provide
+a proper context for interpreting font data.
+Rather we need this constraint with ps2write only,
+we always implement it to simplify the code.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdtb.c 1.27, src/gdevpdtb.h 1.10, src/gdevpdtd.c 1.16]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_1108"></a>
+2004-07-22 11:08 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 37 : Don't convert Type 1 into CFF when generating ps2write output.
+
+DETAILS :
+
+1. Applied the Type 1 font writer.
+2. Rather Type1C is a PDF 1.2 feature, we can't write it into a ps2write output.
+ We use the OrderResources parameter to decide about (not)converting Type 1
+ into Type1C (i.e. into CFF), because we want to write some PDF1.2 objects
+ into a ps2write output (for example - function objects,
+ because we don't want to convert them in C code).
+3. The parameter OrderResources isn't a good switch for deciding about CFF
+ due to the parameter name, but currently we don't want to define one more parameter.
+ Maybe will improve it later.
+4. Fixed a bug, which wrote "/Length1 -1" with Type1C.
+5. CONVERT_CFF_TO_TYPE1 is reserved for further development.
+6. Fixed Cygwin/gcc warnings in gdevpdfg.c .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfg.c 1.57, src/gdevpdfx.h 1.99, src/gdevpdtb.c 1.26]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_0756"></a>
+2004-07-22 07:56 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 36 : Switching on the new code DELAYED_STREAMS, PS2WRITE.
+
+DETAILS :
+
+See log messages of previous patches.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevvec.h 1.15]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-20_0708"></a>
+2004-07-20 07:08 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix to make sure that device deactivation is invoked before final close
+of the device when exit. Bug #687557.
+
+DETAILS:
+
+It is not known whether or not this ever worked, but this change does
+make sure that the .uninstalldevice gets invoked before the final
+closedevice on exit.
+
+EXPECTED DIFFERENCES.
+
+None detected with regression suite.</pre>
+<p>[src/imain.c 1.38]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-17_1844"></a>
+2004-07-17 18:44 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix so that compiled fonts have the dictionary permissions set correctly.
+Bug 687444 for customer #531.
+
+DETAILS:
+
+Previously the 'dict_attrs' parameter was ignored. I compared the attrs
+of the compiled font to a font loaded from a PFB file using:
+
+%! -------------------------------------------------------------------------
+% Procedure to check attributes of all elements of a dictionary
+% used to check Font dict contents.
+
+/dumpattrs { % object dumpattrs -
+ dup { rcheck } stopped { pop (?) } { { (r) } { (-) } ifelse } ifelse print
+ dup { wcheck } stopped { pop (?) } { { (w) } { (-) } ifelse } ifelse print
+ dup { xcheck } stopped { pop (?) } { { (x) } { (-) } ifelse } ifelse print
+ ( ) print type = flush
+} bind def
+
+/chkattrs { % dict chkattrs - and lots of formatted output
+ (Dictionary: ) print dup dumpattrs
+ { exch
+ ( / ) dup dup 4 -1 roll
+ 20 string cvs
+ 5 exch putinterval print
+ ( / ) 0 exch putinterval
+ dumpattrs
+ } forall
+} bind def
+
+/Helvetica findfont chkattrs
+quit
+
+%--------------------------------------------------------------------------</pre>
+<p>[src/iccfont.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-16_2214"></a>
+2004-07-16 22:14 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Provide a delayed stream writing.
+
+DETAILS :
+
+The ps2write requires length of streams to be written before the stream.
+This implements pdf_begin_data_stream with opening a stream object in a temporary file,
+using a methgod similar to pdf_enter_substream.
+With the new mechanizm the output file doesn't need to be positionable,
+and the generated PDF appears more effective because the number of objects is smaller.
+
+Also fixed a bug in gdevpdfu.c : crashed when encrypted with no page compression.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdf.c 1.97, src/gdevpdfu.c 1.57, src/gdevpdfx.h 1.98, src/gdevpdtb.c 1.25, src/gdevpdtf.c 1.37, src/gdevpdti.c 1.35, src/gdevpdtw.c 1.28, src/gdevpdtw.h 1.5]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-15_1639"></a>
+2004-07-15 16:39 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Discard the output file seekability requirement in the /PS pdfmark implementation.
+
+DETAILS :
+
+The ps2write requires length of streams to be written before the stream.
+The implementation of /PS pdfmark wrote a length in a separate object after the stream.
+Now /PS pdfmark is implemented with pdf_enter_substream,
+which writes the length directly into the object dictionary.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfm.c 1.45]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-15_1237"></a>
+2004-07-15 12:37 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : text.operation was inconsistent after replacing TEXT_FROM_GLYPHS.
+
+DETAILS :
+
+Bug 687563 "segfault during pdfwrite".
+text.operation became inconsistent after replacing
+TEXT_FROM_*_GLYPH* with TEXT_FROM_STRING.
+Declared a stronger constraint for process_text_modify_width,
+and documented the trick with text indices in process_plain_text.
+
+EXPECTED DIFFERENCES :
+
+pdfwtite -r300 tpc2.ps</pre>
+<p>[src/gdevpdtc.c 1.36, src/gdevpdte.c 1.60]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1821"></a>
+2004-07-14 18:21 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Sort the output in filename order to make comparison of daily db's easier.</pre>
+<p>[toolbin/tests/dump_testdb 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 35 : Fixing more problems with color spaces.
+
+DETAILS :
+
+The alternative space of [/Indexed [/Separation ...] ...] was not resolved.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 473-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.31]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Don't write DeviceN, DevicePixel colors with CompatibilityLevel<=1.2 .
+
+DETAILS :
+
+PDF 1.2 doesn't define DeviceN, DevicePixel.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfc.c 1.47, src/gdevpdfg.c 1.56]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1559"></a>
+2004-07-14 15:59 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Include string_.h for missing prototypes of strlen() &c. Bug 687541.</pre>
+<p>[src/gscdevn.c 1.20, src/gsfcmap.c 1.23, src/gsht1.c 1.14, src/int.mak 1.127, src/lib.mak 1.188, src/zfile1.c 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1538"></a>
+2004-07-14 15:38 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Cast pointer type to avoid a warning. Bug 687541.</pre>
+<p>[src/sjpx.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1534"></a>
+2004-07-14 15:34 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct some types to unsigned to match the gp_file_name_combine() prototype.
+Partial fix for bug 687541.</pre>
+<p>[src/gp_unix_cache.c 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1424"></a>
+2004-07-14 14:24 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix to pdfwrite initialization to make sure initial distiller params are
+incorporated into the device. Also add collection of distillerparams when
+building currentpagedevice. Fixes bugs 687325, 687436 and 687458.
+
+DETAILS:
+
+Earlier change to use .putdeviceparamsonly in gs_pdfwr.ps so that the
+use of setdistillerparams does not reinitialize the device caused the
+initial parameter settings to not be set in the device. The change to
+gs_pdfwr.ps accomplishes this.
+
+Part of the investigation by Igor Melichev discovered that the values of
+disillerparams would not be correctly reflected in the pagedevice. The
+change to gs_setpd.ps collects the currentdistillerparams when the device
+is pdfwrite and merges new values into the pagedevice dictionary. The
+method is similar to that used for the dynamicppkeys such as PageCount
+that can be changed by the device. For the distillerparams, the values
+are changed dynamically by setdistillerparams.
+
+EXPECTED DIFFERENCES.
+
+Rotation of several files is restored to the correct value given by
+gs8.11:
+
+541.pdf
+mspro.pdf
+new_rect_nr.pdf
+pstopdf.pdf
+xes2ps-problem.pdf</pre>
+<p>[lib/gs_pdfwr.ps 1.38, lib/gs_setpd.ps 1.24]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1952"></a>
+2004-07-13 19:52 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 34 : Applying filters to the page contents stream.
+
+DETAILS :
+
+Due to the device parameter problem in the PS interpreter,
+the distilled PT.ps had a filtered contents stream in spite of we disabled filters.
+Fixing it now to avoid the dependence on another project.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.30]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1931"></a>
+2004-07-13 19:31 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 33 : Fixing problems with color spaces in image XObjects.
+
+DETAILS :
+
+1. The Separation color space needs to resolve and substitute the alternative color space.
+2. The Pattern color space needs to resolve and substitute the base color space.
+3. Removed an obsolete temporary debug printing.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.
+`</pre>
+<p>[lib/opdfread.ps 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1858"></a>
+2004-07-13 18:58 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 32 : Fixing problems with color spaces in inline images.
+
+DETAILS :
+
+Inline images use local allocation mode for image data.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
+148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.28]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1558"></a>
+2004-07-13 15:58 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 31 : Implementing DecodeParms for filters.
+
+DETAILS :
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 245-01.ps, 415-01.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.27]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1513"></a>
+2004-07-13 15:13 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 30 : Continue the implementation of color spaces.
+
+DETAILS :
+
+1. Implemented Lab.
+2. A pattern color space specification can contain an indirect reference.
+3. Moved the StreamDumperBuffer definition to the proper place.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 245-01.ps,
+0.pdf, 000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.26]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1344"></a>
+2004-07-13 13:44 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 29 : The inplementation of FunctionType 4 was wrong.
+
+DETAILS :
+
+The test case 245-01.ps .
+Also implemented a debug printing of the uncompressed data steram.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.25]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1238"></a>
+2004-07-13 12:38 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Don't write shadings with CompatibilityLevel<=1.2 .
+
+DETAILS :
+
+Bug 687567 "pdfwrite : Shadings are written with CompatibilityLevel=1.2" :
+Shadings are not allowed in PDF 1.2 .
+This patch simply forwards to the default implementation,
+causing a shading to decompose into thousands of constant color areas.
+
+Probably a convertion to an image would be a better solution -
+delaying it for a while, because our current goal is to make
+ps2write working somehow.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfd.c 1.41, src/gdevpdfg.c 1.55]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1202"></a>
+2004-07-13 12:02 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark (continued).
+
+DETAILS :
+
+Fixing a misprint in the patch
+http://www.ghostscript.com/pipermail/gs-cvs/2004-May/004502.html
+Thanks to SaGS for pointing it out.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfm.c 1.44]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1109"></a>
+2004-07-13 11:09 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Dont create the alternative image compression if a loseless compression is only allowed.
+
+DETAILS :
+
+It is an optimization.
+The problem was occasionally found when working on the bug 687325,
+rather that bug is irrelevant. It created 2 alternative streams with same filters.
+This change rejects the creation of the second stream in such cases.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfi.c 1.55, src/gdevpsdi.c 1.28]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-10_0855"></a>
+2004-07-10 08:55 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 28 : Fixing tab characters in the source code (continued).
+
+DETAILS :
+
+This change is syntactically equivalent.
+Also removed an unuseful comment.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.24]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-10_0804"></a>
+2004-07-10 08:04 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 27 : Implemented FunctionType 4.
+
+DETAILS :
+
+245-01.ps contains one.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.23]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-09_2054"></a>
+2004-07-09 20:54 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 26 : Fixing tab characters in the source code.
+
+DETAILS :
+
+This change is syntactically equivalent.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-09_2028"></a>
+2004-07-09 20:28 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 25 : Fixing various problems in functions and color spaces.
+
+DETAILS :
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
+000040cf.000_60.pdf acrobat.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-09_1652"></a>
+2004-07-09 16:52 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 24 : An initial implementation of functions.
+
+DETAILS :
+
+1-argument FunctionType 0 is converted to a Postscript procedure.
+The Order is ignored. 3d order functions interpolate as 1st order.
+Maybe we'll convert them in C in pdfwrite.
+N-argument FunctionType 0 are coded but not tested yet.
+Other function types are not coded.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1715"></a>
+2004-07-08 17:15 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 23 : Implementing Indexed and Separation (continued).
+
+DETAILS :
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.19]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1528"></a>
+2004-07-08 15:28 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 22 : Implementing Indexed and Separation.
+
+DETAILS :
+
+SubstitutePDFColorSpace factored out from ResolveColorSpace.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1400"></a>
+2004-07-08 14:00 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 20 : Implementing CalGray, CalRGB.
+
+DETAILS :
+
+- implemented the color space cache PDFColorSpaces;
+- improved the procedure 'error';
+- a bug in Register : s|gt|ge;
+- moved color procedures before image procedures;
+- a bug in the CompleteOutlineImage comment.
+- ResolveColorSpace now converts CalGray, CalRGB.
+
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.17]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1112"></a>
+2004-07-08 11:12 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 20 : The implementations of Q,q,CharProc were incomplete.
+
+DETAILS :
+
+Minor change : collected work data definitions in a single place.
+Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.16]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1006"></a>
+2004-07-08 10:06 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 17 : Implementing Patterns.
+
+DETAILS :
+
+Tested with Bug687546.ps, 035-01.ps, 035-07.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.15]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_0803"></a>
+2004-07-08 08:03 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 18 : Fix : Length was written to a wrong file position.
+
+DETAILS :
+
+Fixes a bug in the patch
+http://www.ghostscript.com/pipermail/gs-cvs/2004-July/004607.html .
+Thanks to Ray Johnston for pointing it out.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfm.c 1.43]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1519"></a>
+2004-07-07 15:19 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 17 : Image XForm implementation.
+
+DETAILS :
+
+Tested with Bug687546.ps, 035-01.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1424"></a>
+2004-07-07 14:24 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 16 : Inline image implementation.
+
+DETAILS :
+
+Tested with Bug687546.ps, TESTIMG.PS .
+The interpretation completes, but some images render wrongly.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1142"></a>
+2004-07-07 11:42 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 15 : Fix : ObjectRegistry expansion code was wrong.
+
+DETAILS :
+
+Tested with Bug687546.ps, 148-01.ps .
+148-01.ps still fails due to unimplemented images.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1100"></a>
+2004-07-07 11:00 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 14 : Fix : fonts may have no Encoding.
+
+DETAILS :
+
+Tested with Bug687546.ps, 148-01.ps .
+148-01.ps still fails due to unimplemented images.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.11]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1040"></a>
+2004-07-07 10:40 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 13 : Implementing Type 3 fonts.
+
+DETAILS :
+
+A minor restructurization of the code and a debug printout improvement.
+Tested with Bug687546.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1019"></a>
+2004-07-07 10:19 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 12 : Implementing Type 3 fonts.
+
+DETAILS :
+
+1. Implemented a delayed stream interpretation.
+2. Implemented Type 3 fonts.
+3. Renamed UnRefD with ResolveD.
+4. Debug switches are bound.
+
+Tested with Bug687546.ps - now it renders fine.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0933"></a>
+2004-07-07 09:33 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Fixes bug 687451 "default resolution for display device"
+Set the display resolution from the MS-Windows display resolution,
+using a device parameter -dDisplayResolution=DPI.
+
+DETAILS:
+The initial resolution must be set in display_put_params.
+Setting it in display_open is too late because this leaves
+the device resolution and currentpagedevice reporting
+different values. Callbacks can't be used in display_put_params
+because the callback structure is not yet initialized.
+This leaves a device parameter on the command line as
+the cleanest implementation.
+If HWResolution is set (e.g. from -r72), then use that.
+Otherwise, if DisplayResolution is set, use that in the
+initial display_put_params. After that, ignore all further
+use of DisplayResolution.
+The Windows client adds -dDisplayResolution=DPI to the
+command lines, similar to the existing -dDisplayFormat.
+The Windows client gets the resolution from the GDI.
+The default Windows display resolution is 96dpi (the same
+as the display device). This can be changed to 120dpi by
+selecting "large fonts", or other values in recent versions
+of Windows.</pre>
+<p>[doc/Devices.htm 1.80, src/dwmain.c 1.18, src/dwmainc.c 1.20, src/gdevdsp.c 1.24, src/gdevdsp.h 1.9, src/gdevdsp2.h 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0909"></a>
+2004-07-07 09:09 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Fixes bug 687562 "vector devices close output file incorrectly".
+Vector devices open the output file with gx_device_open_output_file,
+so should close it with gx_device_close_output_file, not fclose.
+This was preventing pswrite from correctly closing special
+files such as "%printer%Printer Name" on Windows and OS/2.</pre>
+<p>[src/gdevvec.c 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0907"></a>
+2004-07-07 09:07 Russell Lang</strong></p>
+<blockquote>
+<pre>
+In the Windows %printer% IODevice, the existing thread handle
+is closed automatically when the thread finishes. Duplicate
+the thread handle so we always have a valid handle for waiting
+and closing.
+
+DETAILS:
+When the thread finishes, the CRTL _endthread is closing
+the existing handle. During debugging, it was found that
+waiting on the thread handle was Ok because the thread
+was still running, but by the time CloseHandle ran the
+thread handle was invalid.
+
+IODevices are effectively static, so iodev->state is initialized
+once at the start of the interpreter. There is no need to
+test if iodev->state is valid.</pre>
+<p>[src/gp_msprn.c 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_2215"></a>
+2004-07-06 22:15 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687565 Incorrect equiv color for Orange in Altona test file.
+The altona test file Altona_Visual_bb_1v1_x3.pdf contains a spot color
+called Orange. An incorrect equivalent CMYK color is being determined for
+this spot color. The result is that the spot color is being displayed as
+black for the devices which handle spot colors and attempt to determine
+equivalent CMYK colors for the spot colors. These are the psdcmyk,
+tiffsep, and display (with -dDisplayFormat=16#a0800) devices.
+
+DETAILS:
+
+The Orange spot color is used in two different DeviceN color spaces. The
+first color space has components named 'None'. These components are used
+as part of a special feature described in section 4.5 of the PDF 1.5 spec.
+This feature uses the None components as a means for passing values to
+the color space's alternate tint transform function. In the example in
+the spec., these values are an equivalent color in the alternate color
+space.
+
+Our logic for determining an equivalent CMYK color for a spot colorant
+sets all color components except for the desired spot color to zero and
+then uses the tint transform function to form an alternate color. This
+results in the equivalent CMYK color being black since the None values
+contain the real information for the tint transform function.
+
+This change consists of check for the presence of DeviceN color space
+components named None. If any are detected then the equivalent CMYK
+color logic exits rather than determine an invalid color. This is
+sufficient for this case since the second color space which contains
+the Orange spot color does not have the None components. For the
+general case, a solution needs to be found which samples colors given
+actual values for the None components.</pre>
+<p>[src/gsequivc.c 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1927"></a>
+2004-07-06 19:27 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 11 : Implementing Metrics for Type 1,2,42 fonts (continued).
+
+DETAILS :
+
+The previous patch appeares incomplete due to MissingWidth. Now fixing.
+CID fonts and Type 3 fonts are still stubbed.
+Tested with Bug687546.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1904"></a>
+2004-07-06 19:04 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 10 : Implementing Metrics for Type 1,2,42 fonts.
+
+DETAILS :
+
+CID fonts and Type 3 fonts are still stubbed.
+Tested with Bug687546.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1744"></a>
+2004-07-06 17:44 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 9 : Implementing Encoding for Type 1,2,42 fonts.
+
+DETAILS :
+
+CID fonts and Type 3 fonts are still stubbed.
+Tested with Bug687546.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.6]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1348"></a>
+2004-07-06 13:48 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 8 : Implementing ExtGState.
+
+DETAILS :
+
+Function objects are subbed yet.
+Debugged with Bug687546.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.5]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1205"></a>
+2004-07-06 12:05 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 7 : Implementing text rendering operastors.
+
+DETAILS :
+
+Font loading is stubbed yet.
+Debugged with Bug687546.ps .
+TextRenderingMode!=0 isn't debugged yet.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_2116"></a>
+2004-07-05 21:16 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 6 : :Providing a page stream execution context.
+
+DETAILS :
+
+Most operators are eother stubbed or unimplemented,
+but the interpretation runs and prints a trace.
+Debugged wioth Bug687546.ps .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 5 : Page streams must interpret immediately.
+
+DETAILS :
+
+This works against a huge memory consumption.
+Also improved comments, the module structurization and error processing.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 4 : Stream data length must preceed the stream.
+
+DETAILS :
+
+The new code is disabled with PS2WRITE 0 in gdevvec.h .
+
+pdf_begin_data_stream, pdfmark_PS wrote a stream data length after the stream object.
+With OrderResources true we write a direct object instead that.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfm.c 1.42, src/gdevpdfu.c 1.56, src/gdevpdfx.h 1.97]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_1255"></a>
+2004-07-05 12:55 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write step 3 : Initial commit for the Ordered PDF Reader.
+
+DETAILS :
+
+This revision only reads PDF objects into VM.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/opdfread.ps 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-03_1051"></a>
+2004-07-03 10:51 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Log Message:
+Fixes bug 686956 Display device does not support separations.
+Add support for separations to display device.
+This requires a change to the display callback structure.
+Support is maintained for clients using version 1 of the structure.
+
+DETAILS:
+Add support for a new color format, DISPLAY_COLORS_SEPARATION,
+which supports CMYK and spot colors. A new callback
+display_separation() is used to tell the client about
+the names and CMYK equivalents of each separation.
+The callback structure version number is incremented to 2
+to show that has changed. The display devices checks
+whether it is passed the older v1 structure or the newer
+v2 structure, and only calls the new separation callback
+if it was given a v2 structure.
+Only 8-bit/pixel, up to 8 components and 64-bit depth are supported.
+In the Windows and gtk+ clients, a subset of these 8 separations
+can be selected for display.
+The new code is based on the tiffsep device.</pre>
+<p>[doc/API.htm 1.43, doc/Devices.htm 1.79, src/dwimg.c 1.12, src/dwimg.h 1.9, src/dwmain.c 1.17, src/dwmainc.c 1.19, src/dxmain.c 1.13, src/gdevdsp.c 1.23, src/gdevdsp.h 1.8, src/gdevdsp2.h 1.7, src/idisp.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-01_1923"></a>
+2004-07-01 19:23 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 6).
+
+DETAILS :
+
+Bug 687546 pdfwrite : Type 3 glyph variations (was: ps2pdf segfaults)
+Relates to 687044, 687472, 687489, 687546.
+charproc_just_accumulated was not properly initialized on some circumstances.
+
+EXPECTED DIFFERENCES :
+
+Bug687546.ps (new)</pre>
+<p>[src/gdevpdtt.c 1.84]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-01_1827"></a>
+2004-07-01 18:27 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Correct some warnings from the MSVC compiler.</pre>
+<p>[src/gscdevn.c 1.19, src/gscsepr.c 1.26, src/gsht.c 1.21, src/gzht.h 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-01_0441"></a>
+2004-07-01 04:41 Dan Coby</strong></p>
+<blockquote>
+<pre>
+This change creates common routines for handling the DeviceN related
+device parameters (SeparationColorNames, SeparationOrder, and
+MaxSeparations). The change also splits up some common routines that
+were assuming that the device was a 'printer' device.</pre>
+<p>[src/devs.mak 1.116, src/gdevdevn.c 1.21, src/gdevdevn.h 1.10, src/gdevnfwd.c 1.25, src/gdevpsd.c 1.16, src/gdevtsep.c 1.3, src/gdevxcf.c 1.9, src/gxcmap.c 1.22, src/gxcmap.h 1.11]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1737"></a>
+2004-06-30 17:37 Raph Levien</strong></p>
+<blockquote>
+<pre>
+Fixes nonportable code in the vasarely.ps example file so that keeps
+to reasonable page size values even when default clippath is very
+large (as is the case with the bbox device). Fixes bug #687549.</pre>
+<p>[examples/vasarely.ps 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1455"></a>
+2004-06-30 14:55 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts (continued).
+
+DETAILS :
+
+Fixing a compiler error with PS2WRITE 1.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfu.c 1.55]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1450"></a>
+2004-06-30 14:50 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts.
+
+DETAILS :
+
+This patch makes the dependence explicit.
+Have no idea which distiller parameter must controll patterns and forms,
+so keeping the old dependence.
+With OrderResources=true pages now depend on CompressPages.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfi.c 1.54, src/gdevpdfm.c 1.41, src/gdevpdfu.c 1.54, src/gdevpdfx.h 1.96, src/gdevpdti.c 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1435"></a>
+2004-06-30 14:35 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write part 2 : Delay writing pages.
+
+DETAILS :
+
+The new code is disabled with PS2WRITE 0 in gdevvec.h .
+
+With OrderResources=true it writes pages at the end of the document,
+after all resources are written to PDF.
+Before that pages are accumulated in a temporary file.
+
+OrderResources has been moved from distiller parameters to device parameters.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdf.c 1.96, src/gdevpdfg.c 1.54, src/gdevpdfp.c 1.39, src/gdevpdfu.c 1.53, src/gdevpdfx.h 1.95, src/gdevpsdf.h 1.22, src/gdevpsdp.c 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1154"></a>
+2004-06-30 11:54 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+ps2write part 1 : starting the project.
+
+DETAILS :
+
+Define a new temporary configuration switch PS2WRITE.
+The new code is disabled with PS2WRITE 0 in gdevvec.h .
+
+Our development strategy is to make pdfwrite to generate an output,
+which a PS interpreter can handle with a special procset.
+For a while we'll not define a new ps2write device,
+but enhance the pdfwrite device with a new feature.
+
+A new temporary distiller parameter OrderResources will make pdfwrite
+to keep a proper resource ordering for generating a PS output.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpsdf.h 1.21, src/gdevpsdp.c 1.13, src/gdevvec.h 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_0815"></a>
+2004-06-30 08:15 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : MSVC compiler warning.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevtsep.c 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_2246"></a>
+2004-06-29 22:46 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687553 rangecheck in .sethalftone5 and SeparationOrder.
+
+DETAILS:
+
+If a file specifies a type 5 halftone and the SeparationOrder device
+parameter is specified then a rangecheck can occur. This happens when
+the halftone includes two or more colorants that are not in the
+SeparationOrder parameter or one colorant and a 'Default' value.
+
+The problem occurs because the get_color_comp_index device procs use
+GX_DEVICE_COLOR_MAX_COMPONENTS to indicate colorants which are not
+being imaged due to the colorant not be included in the list for the
+SeparationOrder device parameter. However the
+gs_color_name_component_number routine was using the same value to
+indicate 'Default' halftones.
+
+The fix consists of modifying gs_color_name_component_number to look
+for GX_DEVICE_COLOR_MAX_COMPONENTS from the get_color_comp_index
+device proc. If found then the component is treated the same as
+a component that is not present in the device. The halftoning
+logic is only concerned with the colorants which are actually being
+used by the device.</pre>
+<p>[src/gsht.c 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_2227"></a>
+2004-06-29 22:27 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Correct spelling in a comment.</pre>
+<p>[src/gxcmap.h 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_2101"></a>
+2004-06-29 21:01 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Change the default handling of the MaxSeparations device parameter. This
+parameter is only used by some of the DeviceN mode devices (which have
+their own handling of this parameter). The default handler now simply
+ignores this parameter. However it does read the parameter. Not reading
+the parameter was causing problems with PDF files and page devices.</pre>
+<p>[src/gsdparam.c 1.17]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_0105"></a>
+2004-06-29 01:05 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add contributed pscolor utility by Carsten Hammer. This splits a ps
+document into two, one consisting only of black and white pages, and
+one of color pages. Useful for printing on separate devices.
+
+Submitted under bug 602263.
+
+The Makefile needs updating for the new location.</pre>
+<p>[contrib/pscolor/Makefile 1.1, contrib/pscolor/instream.yy 1.1, contrib/pscolor/test.c 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-28_1713"></a>
+2004-06-28 17:13 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : True Type grid fitting must not apply to FAPI fonts.
+
+DETAILS :
+
+Bug 687543 "FAPI: Type 42 is broken".
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gxccman.c 1.26, src/lib.mak 1.187]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_1010"></a>
+2004-06-24 10:10 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : A dangling pointer from TExecution_Context could cause a memory corruption.
+
+DETAILS :
+
+The pointed area was never used and the pointer was not listed in the garbager descriptor.
+Due to the latter it was not relocated and a wrong object was released through it.
+Bug 687533 "segmentation fault on this PS file"
+
+We still keep the pointer defined, because we don't want to change FreeType structures.
+But now we don't allocate the area for its referent.
+
+Minor change (ttinterp.c) : skip allocating a debug data of zero size.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/ttfmemd.c 1.7, src/ttinterp.c 1.13, src/ttobjs.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0951"></a>
+2004-06-24 09:51 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix: Unwinding the recent change to gsdparam.c becauase it breaks the PDF interpreter.
+
+DETAILS :
+
+All comparefiles/*.pdf failed with -sDEVICE=ppmraw after the change
+http://www.ghostscript.com/pipermail/gs-cvs/2004-June/004575.html .
+
+EXPECTED DIFFERENCES :
+
+See DETAILS.</pre>
+<p>[src/gsdparam.c 1.16]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0720"></a>
+2004-06-24 07:20 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Add source file src/gdevtsep.c. This file is part of the implementation
+687440 and 542629.</pre>
+<p>[src/gdevtsep.c 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0654"></a>
+2004-06-24 06:54 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Add the src/gdevtsep.c file. This contains the tiffgray, tiff32nc, and
+tiffsep devices.</pre>
+<p>[doc/Develop.htm 1.135]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0651"></a>
+2004-06-24 06:51 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (TT interpreter) : The implementation of INSTCTRL did not follow the TT specification by Apple.
+
+DETAILS :
+
+Bug 687526 /invalidfont in --show--
+See http://developer.apple.com/fonts/TTRefMan/RM05/Chap5.html#INSTCTRL
+The old implementation comes from FreeType.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/ttinterp.c 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0648"></a>
+2004-06-24 06:48 Dan Coby</strong></p>
+<blockquote>
+<pre>
+This change implements the enhancements described in 542629 CMYK
+tiff driver and 687440 Support for outputting PDF separations
+separately. This change implements three devices: tiffgray
+which produces an 8 bit gray output with uncompressed data,
+tiff32nc which produces 32 bit CMYK with uncompressed data, and
+tiffsep which produces a tiffgray file for each separation
+(CMYK and spot colors) and it also produces a CMYK output file
+which is created using the CMYK image data plus the spot
+colors image data. The spot colors are converted to CMYK using
+the logic in 687431.
+
+DETAILS:
+
+This change requires that 687504 be included in the sources.
+
+The tiffgray and tiff32nc devices are logically similar to the
+tiff24nc device except for the use of gray and CMYK process
+color models.
+
+The tiffsep device uses much of the logic which has been created
+for the psdcmyk and spotcmyk devices. These include logic for
+implementing the SeparationOrder setpagedevice parameter 687423,
+logic for determining an equivalent CMYK color to spot colors
+687431, and automatically detecting spot colors (without requiring
+that they be specified via the SeparationColorNames setpagedevice
+parameter 687504.
+
+The tiffsep device also prints the names of any spot colors
+detected within a document to stderr. (stderr is also use for the
+output from the bbox device.) For each spot color the name of
+the color is printed preceded by '%%SeparationName: '. This
+provides a mechanism for external applications to be informed about
+the names of spot colors with a document.
+
+Due to the 64 bit pixel size limitation, the tiffsep can handle
+a maximum of 8 colorants per pass. However it is possible to
+handle more than 8 colorants by doing multiple passes. For each
+pass after the first one, the names of all of the separations need
+to be specified via the SeparationColorNames parameter and the
+names of the desired separations need to be specified via the
+SeparationOrder parameter. When colorants are selected via the
+SeparationOrder parameter, the composite CMYK output contains
+the equivalent CMYK data only from the selected colorants. It is
+possible to create an overall CMYK composite for more than 8
+colorants by then adding together (via an external application like
+imagemagick) the composite CMYK output files from the individual
+Ghostscript passes.
+
+Internally each spot color is assigned a spot color number. These
+numbers start with 0 for the first spot color. The spot color
+numbers are assigned in the same order as the names are printed to
+stderr (see above). This order also matches the ordering in the
+SeparationColorNames list, if this parameter is specified. The
+spot color numbers are not affected by the SeparationOrder parameter.
+
+This device creates multiple output files. The file specified
+via the OutputFile command line parameter is used to contain the
+composite CMYK equivalent. File names for the separations for the
+CMYK planes are created by appending '.Cyan.tif', '.Magenta.tif'
+'.Yellow.tif' or '.Black.tif' to the to the end of the file name
+specified via the OutputFile parameter. File names for the spot
+color separation files are created by appending '.sn.tif' (where n
+is the spot color number) to the end of the file name specified via
+the OutputFile parameter.
+
+The src/gdevtsep.c source file does have a compile time option for
+including/not the '.tif' at the end of the created file name. It
+also has a compile time option for using the name of the spot color
+as part of the file name. However this is not enabled since there
+may be conflicts with spot color names (in which Adobe allows almost
+anything) and the operating system's conventions on file naming.
+
+This change consists of the new source module src/gdevtsep.c,
+changes to devs.mak for defining the new devices, changes to the
+various top level make files for including these devices in their
+DEVICE_DEVS definitions, and changes to the documentation files.</pre>
+<p>[doc/Devices.htm 1.78, src/Makefile.in 1.36, src/devs.mak 1.115, src/dvx-gcc.mak 1.26, src/gdevdevn.h 1.9, src/gsdparam.c 1.15, src/macos-mcp.mak 1.25, src/msvc32.mak 1.58, src/openvms.mak 1.36, src/os2.mak 1.37, src/unix-gcc.mak 1.45, src/unixansi.mak 1.36, src/watcw32.mak 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0647"></a>
+2004-06-24 06:47 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+A new implementation of shadings, step 80.
+
+DETAILS :
+
+A stronger prevention of a tiny decomposition of a color.
+It works against glitches in function|color monotonity|linearity checks.
+
+EXPECTED DIFFERENCES :
+
+72dpi :
+Altona-Testsuite_p2_S_x3.pdf
+Clarke Tate Manns Chinese.ai
+S2_Digitalproof-Forum_x3k.pdf
+
+300dpi :
+Clarke Tate Manns Chinese.ai
+S2_Digitalproof-Forum_x3k.pdf</pre>
+<p>[src/gxshade6.c 1.77]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0503"></a>
+2004-06-24 05:03 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687534 Unable to determine equivalent CMYK for spot colors
+that are only used with overprint.
+
+DETAILS:
+
+The given test file uses spot colors. However the psdcmyk device
+was creating output files which did not contain equivalent CMYK
+colors for the spot colors. The cause was that the previous
+version of the logic was capturing the equivalent CMYK colors
+when the psdcmyk device's high drawing procs were called. However
+if overprinting is enabled, then the overprint device was inserting
+its own versions of these routines. Since it only took one call
+to a high level drawing handler, the previous logic would capture
+the equivalent CMYK colors if there were any drawing operations
+with a spot color that did not have overprinting enabled.
+
+The fix consists of moving the capturing of the equivalent CMYK
+colors to a new device proc. This new device proc is called
+update_spot_equivalent_colors. This device proc is called whenever
+a Separation or a DeviceN color space is installed.
+
+The default version of the proc does nothing. Thus there is only
+a small amount of overhead added for the installation of Separation
+and DeviceN color spaces for devices which do not need the equivalent
+CMYK colors for spot colors.
+
+Most of the change consists of the standard details of adding a
+new device proc. There are several places that have to be updated
+when this is done. The documentation in doc/Drivers.htm was updated
+to include this new proc. The high level drawing handlers in the
+psdcmyk devices were removed and a new psd_update_spot_equivalent_colors
+procedure was added. Some minor changes were made in the logic in
+gsequivc.c since it is no longer necessary to scan through base and
+alternate color spaces looking for Separation and DeviceN color spaces.
+The comments at the beginning of gsequivc.c was changed to reflect
+the changes in the logic for capturing equivalent CMYK colors for
+spot colors.</pre>
+<p>[doc/Drivers.htm 1.47, src/gdevbbox.c 1.18, src/gdevdflt.c 1.24, src/gdevnfwd.c 1.24, src/gdevprn.c 1.17, src/gdevpsd.c 1.15, src/gdevrops.c 1.12, src/gscdevn.c 1.18, src/gscsepr.c 1.25, src/gsequivc.c 1.3, src/gsequivc.h 1.2, src/gxclip.c 1.15, src/gxclip2.c 1.11, src/gxclipm.c 1.13, src/gxclist.c 1.14, src/gxdevcli.h 1.33, src/gxdevice.h 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0317"></a>
+2004-06-24 03:17 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Minor change to avoid a spurious compiler warning about 't' used before
+initialized. Fixes bug #687412.
+
+DETAILS:
+
+This is an invalid warning, since 't' is always initialized before use,
+however the extensive use of macros confuses some compilers. IMO, this
+is an abuse of macros, but this is endemic in the older GS code.</pre>
+<p>[src/spdiff.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_2037"></a>
+2004-06-23 20:37 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Disable idiom recognition feature during execution of .bindnow
+because it has no effect except burning a few seconds of CPU time.
+Fix bug 687521</pre>
+<p>[lib/gs_init.ps 1.107]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_1857"></a>
+2004-06-23 18:57 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed CMYK to RGB conversion.
+
+Used in rop code where RGB -> CMYK -> RGB needs to work correctly
+in the black and white cases.</pre>
+<p>[src/gdevbit.c 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_1850"></a>
+2004-06-23 18:50 stefan</strong></p>
+<blockquote>
+<pre>
+Fix macro to use it's arguments. Platform specific, under exersized code.</pre>
+<p>[src/gxfarith.h 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_0904"></a>
+2004-06-23 09:04 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (ps2ascii) : Provide a tolerance to old versions of dvips output.
+
+DETAILS :
+
+Bug 531300 "ps2ascii chokes on ch-xoff and ch-* routines".
+Patch from Mike attached to the bug.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[lib/ps2ascii.ps 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-19_0401"></a>
+2004-06-19 04:01 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add new CMaps and update older ones to latest. Bug #687470. Thanks to
+A. Cherepanov for providing part of the newer files.</pre>
+<p>[Resource/CMap/83pv-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-UCS2 1.1, Resource/CMap/90ms-RKSJ-V 1.2, Resource/CMap/90msp-RKSJ-H 1.1, Resource/CMap/90msp-RKSJ-V 1.1, Resource/CMap/90pv-RKSJ-H 1.2, Resource/CMap/90pv-RKSJ-UCS2 1.1, Resource/CMap/90pv-RKSJ-UCS2C 1.1, Resource/CMap/90pv-RKSJ-V 1.2, Resource/CMap/Add-RKSJ-H 1.2, Resource/CMap/Add-RKSJ-V 1.2, Resource/CMap/Adobe-CNS1-B5pc 1.1, Resource/CMap/Adobe-CNS1-ETen-B5 1.1, Resource/CMap/Adobe-CNS1-H-CID 1.1, Resource/CMap/Adobe-CNS1-H-Host 1.1, Resource/CMap/Adobe-CNS1-H-Mac 1.1, Resource/CMap/Adobe-CNS1-UCS2 1.1, Resource/CMap/Adobe-GB1-GBK-EUC 1.1, Resource/CMap/Adobe-GB1-GBpc-EUC 1.1, Resource/CMap/Adobe-GB1-H-CID 1.1, Resource/CMap/Adobe-GB1-H-Host 1.1, Resource/CMap/Adobe-GB1-H-Mac 1.1, Resource/CMap/Adobe-GB1-UCS2 1.1, Resource/CMap/Adobe-Japan1-90ms-RKSJ 1.1, Resource/CMap/Adobe-Japan1-90pv-RKSJ 1.1, Resource/CMap/Adobe-Japan1-H-CID 1.1, Resource/CMap/Adobe-Japan1-H-Host 1.1, Resource/CMap/Adobe-Japan1-H-Mac 1.1, Resource/CMap/Adobe-Japan1-PS-H 1.1, Resource/CMap/Adobe-Japan1-PS-V 1.1, Resource/CMap/Adobe-Japan1-UCS2 1.1, Resource/CMap/Adobe-Korea1-H-CID 1.1, Resource/CMap/Adobe-Korea1-H-Host 1.1, Resource/CMap/Adobe-Korea1-H-Mac 1.1, Resource/CMap/Adobe-Korea1-KSCms-UHC 1.1, Resource/CMap/Adobe-Korea1-KSCpc-EUC 1.1, Resource/CMap/Adobe-Korea1-UCS2 1.1, Resource/CMap/B5pc-H 1.1, Resource/CMap/B5pc-UCS2 1.1, Resource/CMap/B5pc-UCS2C 1.1, Resource/CMap/B5pc-V 1.1, Resource/CMap/CNS-EUC-H 1.1, Resource/CMap/CNS-EUC-V 1.1, Resource/CMap/EUC-H 1.2, Resource/CMap/EUC-V 1.2, Resource/CMap/Ext-RKSJ-H 1.2, Resource/CMap/Ext-RKSJ-V 1.2, Resource/CMap/GB-EUC-H 1.1, Resource/CMap/GB-EUC-V 1.1, Resource/CMap/GBK-EUC-H 1.2, Resource/CMap/GBK-EUC-UCS2 1.1, Resource/CMap/GBK-EUC-V 1.2, Resource/CMap/GBK2K-H 1.1, Resource/CMap/GBK2K-V 1.1, Resource/CMap/GBKp-EUC-H 1.1, Resource/CMap/GBKp-EUC-V 1.1, Resource/CMap/GBT-EUC-H 1.1, Resource/CMap/GBT-EUC-V 1.1, Resource/CMap/GBpc-EUC-H 1.1, Resource/CMap/GBpc-EUC-UCS2 1.1, Resource/CMap/GBpc-EUC-UCS2C 1.1, Resource/CMap/GBpc-EUC-V 1.1, Resource/CMap/H 1.2, Resource/CMap/HKdla-B5-H 1.1, Resource/CMap/HKdla-B5-V 1.1, Resource/CMap/HKdlb-B5-H 1.1, Resource/CMap/HKdlb-B5-V 1.1, Resource/CMap/HKgccs-B5-H 1.1, Resource/CMap/HKgccs-B5-V 1.1, Resource/CMap/HKm314-B5-H 1.1, Resource/CMap/HKm314-B5-V 1.1, Resource/CMap/HKm471-B5-H 1.1, Resource/CMap/HKm471-B5-V 1.1, Resource/CMap/HKscs-B5-H 1.1, Resource/CMap/HKscs-B5-V 1.1, Resource/CMap/Identity-H 1.2, Resource/CMap/Identity-V 1.2, Resource/CMap/KSC-EUC-H 1.1, Resource/CMap/KSC-EUC-V 1.1, Resource/CMap/KSCms-UHC-H 1.2, Resource/CMap/KSCms-UHC-HW-H 1.1, Resource/CMap/KSCms-UHC-HW-V 1.1, Resource/CMap/KSCms-UHC-UCS2 1.1, Resource/CMap/KSCms-UHC-V 1.2, Resource/CMap/KSCpc-EUC-H 1.1, Resource/CMap/KSCpc-EUC-UCS2 1.1, Resource/CMap/KSCpc-EUC-UCS2C 1.1, Resource/CMap/UCS2-90ms-RKSJ 1.1, Resource/CMap/UCS2-90pv-RKSJ 1.1, Resource/CMap/UCS2-B5pc 1.1, Resource/CMap/UCS2-ETen-B5 1.1, Resource/CMap/UCS2-GBK-EUC 1.1, Resource/CMap/UCS2-GBpc-EUC 1.1, Resource/CMap/UCS2-KSCms-UHC 1.1, Resource/CMap/UCS2-KSCpc-EUC 1.1, Resource/CMap/UniCNS-UCS2-H 1.2, Resource/CMap/UniCNS-UCS2-V 1.2, Resource/CMap/UniGB-UCS2-H 1.2, Resource/CMap/UniGB-UCS2-V 1.2, Resource/CMap/UniJIS-UCS2-H 1.2, Resource/CMap/UniJIS-UCS2-HW-H 1.1, Resource/CMap/UniJIS-UCS2-HW-V 1.1, Resource/CMap/UniJIS-UCS2-V 1.2, Resource/CMap/UniKS-UCS2-H 1.2, Resource/CMap/UniKS-UCS2-V 1.2, Resource/CMap/V 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-18_1746"></a>
+2004-06-18 17:46 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 5).
+
+DETAILS :
+
+pdf_set_charproc_attrs went out the pw array range,
+and caused an indeterministic behavior with Bug687044.ps .
+
+EXPECTED DIFFERENCES :
+
+Not detected on Windows, but the old revision was indeterministic.</pre>
+<p>[src/gdevpdti.c 1.33, src/gdevpdfx.h 1.94, src/gdevpdtt.c 1.83]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-18_0700"></a>
+2004-06-18 07:00 Dan Coby</strong></p>
+<blockquote>
+<pre>
+687504 Enhancement: Imaging spot colors without using the
+SeparationColorNames parameter.
+
+DETAILS:
+
+The purpose of this enhancement is to provide an example of how
+to implement imaging spot colors without requiring that they be
+specified in advance via the SeparationColorNames setpagedevice
+parameter. Note: Spot colors are only supported on a few devices
+which have output file formats which allow for spot colors. These
+are currently the psdcmyk, spotcmyk, and xcfcmyk devices.
+
+This commit only implements this feature on the psdcmyk, spotcmyk
+and devicen devices.
+
+In order to implement this feature, a device needs to be able to
+allocate image buffer memory for each colorant and to detect when
+a new colorant is being used inside of a color space. The
+implementation has the following pieces:
+
+1. The handling of the MaxSeparation setpagedevice parameter was
+extended. Previously this parameter was always set to one. For
+most devices it now indicates the number of colorants being used
+by the device. For most devices this is a fixed quantity, however
+for the psdcmyk device, this parameter can be used to tell the
+device to allocate image buffer memory for up to eight colorants.
+(The eight colorant limit is due to the fact that the psdcmyk
+device uses 8 bits per colorant and we currently have a 64 bit
+maximum pixel size.)
+
+2. The devices already have a 'get_color_comp_index' routine which
+is used to query if a colorant is supported by the device. However
+this routine is used for both real components in color spaces and also
+for some special cases. For instance, the same halftone may be used
+either for a cyan or a red colorant. To handle this case, the halftoning
+setup logic will query the get_color_comp_index routine to check if
+cyan is supported by the device. If not then a query is made to see
+if the device supports red. By monitoring the names of the components
+passed to get_color_comp_index routine, a device can detect when a new spot
+color is being used. However it is necessary to be able to detect
+the special cases so that the device does not believe that it has a
+'red' spot color. To do this the third parameter of the
+get_color_comp_index device proc was logically modified to indicate
+if a name represents a name actually in a color space or one of the
+special case situations. Previously this parameter was not being used.
+
+3. The get_color_comp_index routine for the psdcmyk device was
+modified to look for new spot colors and to add then to its list of
+colorants if there was space available. Note: This also required
+that the psdcmyk device have its own structure descriptor, pointer
+enumeration and relocation procedures. The macro which was used to
+define the psdcmyk and psdrgb devices needed to be changed since the
+previous macro used the st_device_printer structure descriptor instead
+of the new structure descriptor for the psd devices.</pre>
+<p>[src/gdevdevn.c 1.20, src/gdevdevn.h 1.8, src/gdevnfwd.c 1.23, src/gdevperm.c 1.4, src/gdevpsd.c 1.14, src/gdevxcf.c 1.8, src/gscdevn.c 1.17, src/gscsepr.c 1.24, src/gscspace.c 1.16, src/gsdparam.c 1.14, src/gsht.c 1.19, src/gxcmap.c 1.21, src/gxcmap.h 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-17_2142"></a>
+2004-06-17 21:42 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Protect genarch's test for sizeof(long long) with and #ifdef HAVE_LONG_LONG
+since a number of platforms (particularly MSVC) do not support this type.</pre>
+<p>[src/genarch.c 1.11, src/stdint_.h 1.5]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-17_1305"></a>
+2004-06-17 13:05 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Round elements of Mask array to the nearest integer following implementation
+of AR4, AR5, AR6.
+Fix bug 687494 from customer 580.</pre>
+<p>[lib/pdf_draw.ps 1.82]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-17_1114"></a>
+2004-06-17 11:14 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : Arithmetic errors could cause a function monotonity misrecongition.
+
+DETAILS :
+
+Bug 687511 "shadinds: infinite recursion".
+
+EXPECTED DIFFERENCES :
+
+Not detected on Windows.
+On Linux expecting a difference with :
+Altona-Testsuite_p2_S_x3.pdf
+S2_Digitalproof-Forum_x3k.pdf</pre>
+<p>[src/gsfunc0.c 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_2001"></a>
+2004-06-16 20:01 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Fix parsing of -2147483648.5, min_int followed by a fractional part.
+Fix bug 687500</pre>
+<p>[src/iscannum.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_1122"></a>
+2004-06-16 11:22 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Allow named object reference in the Action key of /ANN pdfmark.
+
+DETAILS :
+
+Bug 687386 "-dEmbedAllFonts does not work".
+
+It's a PDF 1.5 feature. We still incompletely support PDF 1.5 .
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfm.c 1.40]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Protect against cache values containing spaces. This shouldn't be a problem, the change is more for consistency.</pre>
+<p>[src/configure.ac 1.47]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Try to use long long as a 64 bit type in the genarch fallback stdint definitions. Fix for bug 687514.</pre>
+<p>[src/genarch.c 1.10, src/stdint_.h 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-15_2028"></a>
+2004-06-15 20:28 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : A wrong CFF string index randiomization.
+
+DETAILS :
+
+Bug 687507 "pdfwrite device closes with -15".
+
+1. Randomization parameters for cff_string_index were computed wrongly,
+causing the search to skip some items. As a consequence,
+some strings were added to the table many times, causing
+a groth of the table while CFF size estimation iterations,
+and psf_write_type2_font returned error due to "offset > End_offset".
+
+2. If an error happened writing a font after pdf_begin_fontfile is done,
+unconditionally call pdf_end_fontfile to provide a consistent stream state.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdtb.c 1.24, src/gdevpsf2.c 1.31, src/lib.mak 1.186]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-15_1527"></a>
+2004-06-15 15:27 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Make pdf_dominant_rotation() return unknown text rotation for the file
+without text. It returned 0 rotation before, which excluded consideration
+of DSC comments later on.
+Fix bug 687515</pre>
+<p>[src/gdevpdf.c 1.95]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-10_1909"></a>
+2004-06-10 19:09 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 4).
+
+DETAILS :
+
+Recent changes about charproc variations caused an appearence of idle entries
+in the xref table. Those entries pointed to zero length objects
+and were never referred.
+
+Idle entries appeared due to the substream accumulator reserved an object id
+before entering a substream, but later the object (a charproc) was cancelled.
+
+This patch delays the reservation of an object id until we decide
+that the object won't be cancelled. Added a new argument of pdf_enter_substream
+for this purpose.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfi.c 1.53, src/gdevpdfm.c 1.39, src/gdevpdfx.h 1.93, src/gdevpdti.c 1.32]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-10_1641"></a>
+2004-06-10 16:41 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+A new implementation of shadings, step 80.
+
+DETAILS :
+
+Propagated error codes from is_color_monotonic, is_color_linear.
+Should fix the bug 687511 "shadinds: infitite recursion".
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gxshade6.c 1.76]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-09_2047"></a>
+2004-06-09 20:47 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (type 1 hinter) : an indeterministic bug in t1_hinter__simplify_representation.
+
+DETAILS :
+
+Bug 687508 "segfault with cvs head".
+
+1. An old defect in the code :
+when contour_count is greater than hint_count,
+and the hinting is disabled by one axis,
+random hints could appear,
+causing indeterministic effects.
+
+2. this->grid_fit_x ans this->grid_fit_y were erroneusely exchanged.
+
+EXPECTED DIFFERENCES :
+
+72dpi :
+
+036-01.ps
+Bug687044.ps
+Faktura.pdf
+kazmir.pdf
+RealCities.pdf
+test.pdf
+xgfddg.pdf</pre>
+<p>[src/gxhintn.c 1.50]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-09_1207"></a>
+2004-06-09 12:07 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (type 1 hinter) :
+1. Ever align the Y-coordinate of a glyph origin to pixels.
+2. Improve the unaligned pole interpolation;
+3. Set a waeaker angle threshold in t1_hinter__is_stem_hint_applicable.
+4. Allow an offset fuzz in t1_hinter__is_stem_hint_applicable.
+5. Align upper/lower horizontal stems by the upper/lower edge.
+6. A dependency was missed in lib.mak .
+
+DETAILS :
+
+Bug 687419 "poor font rendering on X11 with gs 8.14".
+
+The intention of this change is to improve the rendering quality
+with TextAlphaBits > 1, but actually it modifies glyph rendering in all cases.
+
+1.
+The test file of the bug 687419 shows that we had 3
+inconsistent requirements :
+- the analigned glyph origin;
+- uniform glyph size;
+- and contrast stems.
+Since an uniform glyph height looks critical,
+we drop the analygned Y-coordinate of the glyph origin.
+In other words, now we ever align
+the Y-coordinate of the glyph origin to pixels.
+This also reduces the number of glyph raster variants in the cache.
+
+2.
+The old interpolation algorithm could cause
+significant distortions with flex-like serifs, which are not marked with flex.
+The character 'L' in the test document of the bug 687419 demonstrates that.
+If the path goes outside the interpolation interval
+and have no turns, now we shift the "outer" parts rather than
+breaking the path at extremal poles. (We wanted this change
+a long ago but haven't got a strong reason for it.)
+
+3.
+The threshold in t1_hinter__is_stem_hint_applicable changed from
+1/3 to 9/10. This makes more stems to recognize. The reason for that
+is the same character "L".
+
+4.
+Allowed a blue_fuzz offset t1_hinter__is_stem_hint_applicable.
+Debugged with comparefiles/tpc2.ps .
+
+5. In the test file of the bug 687419 the small font has no
+upper alignment zone for lowercase. This caused an uniform glyph height
+due to wide and norrow horizontal stems aligned ocasionally
+by top or bottom. Implemented a choice of the aligned edge
+depending on the Y-coordinate of stem middle relative to
+the glyph middle.
+
+6. gxhintn_h was defined in lib.mak after it is used at once.
+
+EXPECTED DIFFERENCES :
+
+Almost all comparefiles render differently.</pre>
+<p>[src/gxchar.c 1.43, src/gxhintn.c 1.49, src/lib.mak 1.185, src/gxhintn.h 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-08_1142"></a>
+2004-06-08 11:42 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Merge equal ExtGState objects.
+
+DETAILS :
+
+Bug 687487 "(pdfwrite) redundant ExtGState objects".
+
+Now we represent ExtGState objects as cos_dict_t instances,
+and perform a full comparizon before writing them into the output PDF.
+Redundant equal objects are being substituted and skipped.
+
+This patch consists of 4 parts :
+
+1. Creting an ExtGstate object, replaced old calls to stream functions
+with calls to cos_dict_t functions.
+
+2. Implemented the comparizon/substitution logic in pdf_end_gstate.
+
+3. pdf_prepare_drawing now doesn't pass keys to
+pdf_update_halftone, pdf_update_transfer, pdf_write_transfer_map,
+because we don't want them to become a part of a value.
+Instead that we made them to be keys of the cos_dict_t instance.
+
+4. Defined new functions cos_dict_put_c_key_bool and cos_dict_put_string_copy
+to simplify the new code.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfg.c 1.53, src/gdevpdfo.c 1.30, src/gdevpdfo.h 1.19]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-03_1712"></a>
+2004-06-03 17:12 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 3).
+
+DETAILS :
+
+Must check FontMatrix when deciding about same charproc.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdti.c 1.31]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_1745"></a>
+2004-06-02 17:45 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : 1. After used a process color, continue using it for same client color space.
+2. A bug in pdf_set_initial_color could miss some color commands.
+
+DETAILS :
+
+1. Bug 687197 "ps2pdf creates incorrect PDF".
+Defined nad maintained new flags pdev->fill_used_process_color and pdev->stroke_used_process_color
+for vector devices. The function pdf_reset_color use them when the cclient color space
+isn't embeddable.
+
+2. Occasionally found that pdf_set_initial_color set saved colors to pdev->vg_initial
+rather than to argument pointers. This could loose some color commands with a small probability,
+so that some objects could get a wrong color.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfb.c 1.22, src/gdevpdfd.c 1.40, src/gdevpdfg.c 1.52, src/gdevpdfg.h 1.32, src/gdevpdfp.c 1.38, src/gdevpdtt.c 1.82, src/gdevpdfx.h 1.92, src/gdevvec.h 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_1319"></a>
+2004-06-02 13:19 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : ConvertCMYKImagesToRGB crashed.
+
+DETAILS :
+
+Bug 687428 "ConvertCMYKImagesToRGB does not produce a PDF-File".
+It made a pointer from global memory to C stack.
+Fixed with allocating the structure dinamically.
+It produces a small garbage, which is not critical in pdfwrite.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpsdi.c 1.27]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_1214"></a>
+2004-06-02 12:14 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : 'midpoint' formula was wrong.
+
+DETAILS :
+
+Bug 687463 "The 'midpoint' formula is wrong".
+
+EXPECTED DIFFERENCES :
+
+I didn't detect any on Windows.
+After recent changes this stuff works only with curves,
+which can't flatten with 2^12 segments,
+and which are not a part of a shading,
+so likely the probability of a difference is small.</pre>
+<p>[src/gxpflat.c 1.41, src/gxshade6.c 1.75]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_0037"></a>
+2004-06-02 00:37 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct a typo. Thanks to Russell for catching this one.</pre>
+<p>[doc/Make.htm 1.76]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_2113"></a>
+2004-06-01 21:13 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687477 Bad incremental update to a PDF file.
+
+DETAILS:
+
+The given test file had a bad incremental update. This update
+has two problems:
+
+1. The trailer dict only had a Prev entry. None of the required
+entries were present. To fix this problem, entries from previous
+trailer dicts are placed into the initial trailer dict if there is
+no entry with the same key in the initial trailer dict.
+
+2. The update had an xref table with two entries. One of them
+was bad. (Not a very good percentage.) To fix this problem,
+all entries in the composite xref table are scanned to verify that
+they point to a valid objects. If not then the rebuild logic is
+used to attempt to recover the xref data. This can be disabled
+by adding -dNoVerifyXref to the command line. In most cases,
+the verification time is not noticeable but I did find a file with
+104,000 xref entries and it took about 2 seconds to verify the
+xref table.</pre>
+<p>[lib/pdf_base.ps 1.43, lib/pdf_main.ps 1.87, lib/pdf_rbld.ps 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1720"></a>
+2004-06-01 17:20 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : A Cygwin/gcc warning.
+
+DETAILS :
+
+The prefious patch appeared incomplete. Now fixing.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfx.h 1.91]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1706"></a>
+2004-06-01 17:06 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 2).
+
+DETAILS :
+
+This is a final step of fixing the bug 687489
+"pdfwrite creates invalid Type3 font -- missing characters".
+
+This patch provides a check whether a color was changed while
+a PS charproc interpretation. A color command is written
+into the PDF charproc if and only if the PS charproc changed the color.
+
+This patch discovers a bug in Adobe Acrobat Reader 5 :
+with the test document of the bug 687489 it paints an "invisible" text in the 4th page.
+That text isn't visible when viewing with Adobe reader 6 and with GS.
+The text is painted with a white color, but AR 5 erroneusly paints it with black.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdfd.c 1.39, src/gdevpdfg.c 1.51, src/gdevpdfg.h 1.31, src/gdevpdtt.c 1.81]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1703"></a>
+2004-06-01 17:03 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+High level devices may need a device color while executing stringwidth.
+
+DETAILS :
+
+This is second step of fixing the bug 687489
+"pdfwrite creates invalid Type3 font -- missing characters".
+The problem happens due to the old code could run a charproc while
+executing a stringwidth, when device color is not evaluated.
+
+This patch provides the device color loading with no dependence
+on the text operation.
+dev_proc(dev, text_begin) now receives a device color in any case.
+THIS IS AN INCOMPATIBLE CHANGE : if an old device depends on
+a device color ability, it will malfunction.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gstext.c 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1342"></a>
+2004-06-01 13:42 Igor Melichev</strong></p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued).
+
+DETAILS :
+
+This is a preparation for fixing the bug 687489
+"pdfwrite creates invalid Type3 font -- missing characters".
+The problem happens due to the old code could run a charproc while
+executing a stringwidth, when the PDF viewer state isn't syncronized
+with the PS graphic state.
+We don't synchronize in this case because stringwidth doesn't paint.
+
+Our intention is to know whether a charproc changes graphic state parameters :
+current color, line width, etc. For doing so we need
+(1) to save the viewer state in the viewer state stack,
+and then (2) synchronize with the PS graphic state without
+writing commands to the PDF. This patch does provide (1)
+but does not implement (2) because we want to check
+the change (1) for no regressions.
+The change (2) will be a separate step.
+
+Saving a viewer state in a stack when entering a charproc
+was contributed with the recent patch
+http://www.ghostscript.com/pipermail/gs-cvs/2004-May/004507.html
+as an improvement of pdf_enter_substream, which was called from
+pdf_install_charproc_accum called from pdf_text_set_cache.
+In other words, the viewer state saving was deferred until setcachedevice/setcharwidth.
+However we need to save the viewer state in the beginning of a PS charproc.
+
+This patch moves the call to pdf_enter_substream from pdf_install_charproc_accum
+to the TEXT_PROCESS_RENDER branch of pdf_text_process.
+We believe that the new logic is more straight :
+we start the charproc stream accumulation immediately before the PS interpreter
+enters a charproc interpretation.
+
+Minor changes :
+
+1. Defined pdf_start_charproc_accum as a symmetric one for pdf_end_charproc_accum.
+2. Renamed pdf_install_charproc_accum into pdf_set_charproc_attrs.
+3. Improved the argument list of pdf_prepare_text_drawing.
+
+EXPECTED DIFFERENCES :
+
+None.</pre>
+<p>[src/gdevpdti.c 1.30, src/gdevpdfx.h 1.90, src/gdevpdtt.c 1.80]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_0237"></a>
+2004-06-01 02:37 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Aviod a PostScript error in ps2ascii when the source file uses composite fonts.
+For now, dump the strings in the unmodified encoding when the corresponding
+font is composite.
+Fix bug 687466.</pre>
+<p>[lib/ps2ascii.ps 1.9]</p>
+</blockquote>
+
+<hr>
+
<h2><a name="Version8.30"></a>Version 8.30 (2004-05-29)</h2>
<p>
diff --git a/gs/doc/History8.htm b/gs/doc/History8.htm
index 0c34bfc76..9db322637 100644
--- a/gs/doc/History8.htm
+++ b/gs/doc/History8.htm
@@ -29,6 +29,7 @@
<h2>Table of contents</h2>
<blockquote><ul>
+<li><a href="#Version8.31">Version 8.31 (2004-08-28)</a>
<li><a href="#Version8.30">Version 8.30 (2004-05-29)</a>
<li><a href="#Version8.12">Version 8.12 (2003-12-08)</a>
<li><a href="#Version8.11">Version 8.11 (2003-08-16)</a>
@@ -65,6 +66,1973 @@ overview</a>.
<!-- [2.0 begin contents] ================================================== -->
+<h2><a name="Version8.31"></a>Version 8.31 (2004-08-28)</h2>
+
+<p>
+This is a beta release of the development tree. It contains a number
+of new features and is made available for those interested in testing
+the new version before it becomes the next stable release.
+
+<p>
+This second beta contains a large number of bug fixes over the earlier
+8.30 version.
+
+<p>
+New features since the last stable release:
+
+<ul>
+<li><p>
+Topological grid fitting,
+an original method developed for Ghostscript by Dr. Igor V. Melichev, improves
+the rendering of True Type fonts at small resolutions.
+See the documentation for <a href="Language.htm#GridFitTT">GridFitTT</a> for information on this
+feature.
+
+<li><p>
+The PDF writer now implements PDF 1.4 encryption.
+See the <a href="Ps2pdf.htm#Encryption">encryption parameter</a> documentation for more
+information.
+
+<li><p>
+A new rendering method for shadings, developed for Ghostscript by
+Dr. Igor V. Melichev, improves the quality and performance of
+rasterization on continuous tone devices.
+The new method allows hardware or software acceleration with help of
+customizable routines for filling areas with a linearly varying color.
+functions.
+
+<li><p>
+This version contains the first release of Rinkj, an
+experimental new driver for some inkjet printers using ETS screening.
+See the <a href="Devices.htm#Rinkj">Rinkj</a> section for more information.
+
+<li><p>
+We now support PDF 1.5 files, including the new compression
+and encryption modes.
+
+<li><p>
+We have beta support for JPEG 2000 compressed images, using the JasPer
+compression library. This is only enabled as part of the default build
+in the autoconf (POSIX) build system in this release.
+
+</ul>
+
+<p>
+The following <a href="http://bugs.ghostscript.com/">bug</a> numbers were open at
+the time of release:
+<blockquote>
+405501,
+430175,
+446344,
+456692,
+458780,
+463688,
+465936,
+487953,
+493348,
+526099,
+526491,
+530011,
+535366,
+535932,
+578865,
+592160,
+603934,
+610478,
+614298,
+626295,
+634036,
+645316,
+674418,
+677324,
+685335,
+686747,
+686750,
+686816,
+686819,
+686824,
+686841,
+686842,
+686843,
+686853,
+686863,
+686865,
+686867,
+686902,
+686919,
+686980,
+686996,
+687011,
+687012,
+687013,
+687039,
+687063,
+687079,
+687084,
+687086,
+687095,
+687102,
+687105,
+687108,
+687110,
+687122,
+687125,
+687146,
+687157,
+687168,
+687174,
+687179,
+687193,
+687196,
+687203,
+687219,
+687221,
+687229,
+687231,
+687243,
+687251,
+687257,
+687259,
+687271,
+687275,
+687280,
+687295,
+687297,
+687298,
+687303,
+687314,
+687316,
+687324,
+687327,
+687341,
+687342,
+687345,
+687346,
+687360,
+687373,
+687375,
+687394,
+687397,
+687399,
+687401,
+687403,
+687410,
+687414,
+687421,
+687434,
+687435,
+687445,
+687459,
+687460,
+687461,
+687467,
+687468,
+687473,
+687474,
+687475,
+687479,
+687480,
+687484,
+687485,
+687490,
+687492,
+687497,
+687498,
+687501,
+687512,
+687514,
+687516,
+687518,
+687520,
+687523,
+687524,
+687525,
+687528,
+687529,
+687531,
+687535,
+687536,
+687537,
+687539,
+687541,
+687542,
+687545,
+687547,
+687551,
+687552,
+687554,
+687555,
+687558,
+687559,
+687560,
+687561,
+687571,
+687574,
+687575,
+687577,
+687578,
+687579,
+687581,
+687582,
+687583,
+687584,
+687585,
+687586,
+687588,
+687589,
+687590,
+687592,
+687593,
+687595,
+687600,
+687601,
+687607,
+687608,
+687610,
+687611,
+687612,
+687614,
+687615,
+687616,
+687617,
+687621,
+687622,
+687625,
+687627,
+687628,
+687630,
+687631,
+687632,
+687633,
+687634.
+</blockquote>
+
+<h3><a name="8.31_Incompatible_changes"></a>Incompatible changes</h3>
+
+<p>
+No known incompatible changes at the time of release
+
+<h3><a name="8.31_changelog"></a>Changelog</h3>
+
+<!-- generated from: cvs2cl --utc -T --follow trunk --delta gs8_30:HEAD -U AUTHORS --xml -f doc/changelog.xml -->
+
+<p><strong><a name="2004-08-28_2210"></a>
+2004-08-28 22:10 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the version and date on the VMS help file.</pre>
+<p>[doc/gs-vms.hlp 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2152"></a>
+2004-08-28 21:52 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update release date on documentation.</pre>
+<p>[doc/API.htm 1.44, doc/Bug-form.htm 1.41, doc/Bug-info.htm 1.40, doc/C-style.htm 1.47, doc/Commprod.htm 1.32, doc/Copying.htm 1.31, doc/DLL.htm 1.35, doc/Deprecated.htm 1.12, doc/Details8.htm 1.9, doc/Develop.htm 1.138, doc/Devices.htm 1.81, doc/Drivers.htm 1.48, doc/Fonts.htm 1.42, doc/Helpers.htm 1.35, doc/History1.htm 1.31, doc/History2.htm 1.31, doc/History3.htm 1.31, doc/History4.htm 1.31, doc/History5.htm 1.33, doc/History6.htm 1.48, doc/History7.htm 1.36, doc/History8.htm 1.13, doc/Htmstyle.htm 1.36, doc/Install.htm 1.46, doc/Issues.htm 1.41, doc/Language.htm 1.87, doc/Lib.htm 1.34, doc/Maintain.htm 1.42, doc/Make.htm 1.79, doc/New-user.htm 1.51, doc/Projects.htm 1.58, doc/Ps-style.htm 1.29, doc/Ps2epsi.htm 1.33, doc/Ps2pdf.htm 1.70, doc/Psfiles.htm 1.53, doc/Readme.htm 1.56, doc/Release.htm 1.86, doc/Source.htm 1.31, doc/Tester.htm 1.31, doc/Testing.htm 1.26, doc/Unix-lpr.htm 1.31, doc/Use.htm 1.111, doc/Xfonts.htm 1.31, man/dvipdf.1 1.29, man/font2c.1 1.29, man/gs.1 1.30, man/gslp.1 1.29, man/gsnd.1 1.29, man/pdf2dsc.1 1.28, man/pdf2ps.1 1.30, man/pdfopt.1 1.28, man/pf2afm.1 1.29, man/pfbtopfa.1 1.30, man/printafm.1 1.29, man/ps2ascii.1 1.28, man/ps2epsi.1 1.27, man/ps2pdf.1 1.34, man/ps2pdfwr.1 1.33, man/ps2ps.1 1.36, man/wftopfa.1 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Change the product name to BETA RELEASE</pre>
+<p>[src/gscdef.c 1.45]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2147"></a>
+2004-08-28 21:47 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add recent new files to the listings in the documentation.</pre>
+<p>[doc/Develop.htm 1.137, doc/Psfiles.htm 1.52]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-28_2128"></a>
+2004-08-28 21:28 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update release notes and open bug list for the 8.31 beta release. Bump
+the release date as well.</pre>
+<p>[doc/News.htm 1.150, src/version.mak 1.72]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-26_0913"></a>
+2004-08-26 09:13 Russell Lang</strong> (<a href="Details8.htm#2004-08-26_0913">details</a>)</p>
+<blockquote>
+<pre>
+Fix half-toning for display device, bug 687629.
+
+</pre>
+<p>[src/gdevdsp.c 1.27]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-26_0015"></a>
+2004-08-26 00:15 Ray Johnston</strong> (<a href="Details8.htm#2004-08-26_0015">details</a>)</p>
+<blockquote>
+<pre>
+Fix for image matrix having negative values. Thanks to Len Sorenson
+for submitting this patch (author unknown). Bug #687411.
+
+</pre>
+<p>[src/gximag3x.c 1.19]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-26_0004"></a>
+2004-08-26 00:04 Ray Johnston</strong> (<a href="Details8.htm#2004-08-26_0004">details</a>)</p>
+<blockquote>
+<pre>
+Close the font file after the font has been processed (loaded into VM).
+This prevents a problem with using up too many file handles detected on
+Solaris. Thanks to Alex Cherepanov for the patch. Bug #687066.
+
+</pre>
+<p>[lib/gs_type1.ps 1.15]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-25_2352"></a>
+2004-08-25 23:52 Ray Johnston</strong> (<a href="Details8.htm#2004-08-25_2352">details</a>)</p>
+<blockquote>
+<pre>
+Fix to close streams at EOF (not only filter streams), as required by
+the PLRM. Thanks to Alex Cherepanov for this patch. Bug #687505.
+
+</pre>
+<p>[src/stream.c 1.23]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-25_1556"></a>
+2004-08-25 15:56 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Bind all operators in DefaultGray, DefaultRGB, DefaultCMYK color spaces.
+Partial fix for the bug 687608</pre>
+<p>[Resource/ColorSpace/DefaultCMYK 1.3, Resource/ColorSpace/DefaultGray 1.3, Resource/ColorSpace/DefaultRGB 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1751"></a>
+2004-08-24 17:51 Igor Melichev</strong> (<a href="Details8.htm#2004-08-24_1751">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : A page compression type change could cause a crash.
+
+</pre>
+<p>[src/gdevpdf.c 1.98, src/gdevpdfu.c 1.58, src/gdevpdfx.h 1.100]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong> (<a href="Details8.htm#2004-08-24_1536">details</a>)</p>
+<blockquote>
+<pre>
+Fix : gs_lib_ctx was wrongly accessed while looking up a dictionary stack extension.
+
+</pre>
+<p>[src/idstack.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1536"></a>
+2004-08-24 15:36 Igor Melichev</strong> (<a href="Details8.htm#2004-08-24_1536">details</a>)</p>
+<blockquote>
+<pre>
+Fix : gs_lib_ctx was not accessible while clist_playback_band.
+
+</pre>
+<p>[src/gxclread.c 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1252"></a>
+2004-08-24 12:52 Igor Melichev</strong> (<a href="Details8.htm#2004-08-24_1252">details</a>)</p>
+<blockquote>
+<pre>
+Fix (TT interpreter) : Provide a tolerance to an inconsistent cvt length.
+
+</pre>
+<p>[src/ttinterp.c 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_1058"></a>
+2004-08-24 10:58 Igor Melichev</strong> (<a href="Details8.htm#2004-08-24_1058">details</a>)</p>
+<blockquote>
+<pre>
+Fix (TT interpreter) : A minor portability problem.
+
+</pre>
+<p>[src/ttload.c 1.6]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-24_0910"></a>
+2004-08-24 09:10 Igor Melichev</strong> (<a href="Details8.htm#2004-08-24_0910">details</a>)</p>
+<blockquote>
+<pre>
+Fix : Makefiles missed a dependency.
+
+</pre>
+<p>[src/gslibctx.h 1.4, src/lib.mak 1.192]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-23_0957"></a>
+2004-08-23 09:57 Russell Lang</strong> (<a href="Details8.htm#2004-08-23_0957">details</a>)</p>
+<blockquote>
+<pre>
+Allow the display device row alignment to be changed from the
+default 4 bytes to 8, 16, 32 or 64 bytes.
+
+</pre>
+<p>[src/gdevdsp.c 1.26, src/gdevdsp.h 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_2152"></a>
+2004-08-19 21:52 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Changed iapi to use a void* instead of a gs_main_instance pointer.</pre>
+<p>[src/dmmain.c 1.4, src/dpmain.c 1.12, src/dwmainc.c 1.22, src/dxmain.c 1.14, src/dxmainc.c 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_1933"></a>
+2004-08-19 19:33 stefan</strong> (<a href="Details8.htm#2004-08-19_1933">details</a>)</p>
+<blockquote>
+<pre>
+Changed iapi to use a void* instead of a gs_main_instance pointer.
+Cleaned up warning related to function pointer signature miss-matches.
+
+</pre>
+<p>[src/dwmain.c 1.19, src/gdevpdtw.c 1.29, src/gdevpsf.h 1.27, src/gdevpsfm.c 1.15, src/gsalloc.c 1.22, src/gsccode.h 1.14, src/gscpixel.c 1.13, src/gscpixel.h 1.7, src/gscspace.c 1.18, src/gsdevice.c 1.23, src/gslibctx.c 1.4, src/gslibctx.h 1.3, src/gxccman.c 1.28, src/gxfcache.h 1.27, src/iapi.c 1.12, src/iapi.h 1.13, src/idict.c 1.12, src/ilocate.c 1.11, src/iutil.c 1.11, src/iutil.h 1.8, src/sdctc.c 1.6, src/zchar32.c 1.5, src/zcssepr.c 1.16, src/zfont.c 1.12, src/zpacked.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_1050"></a>
+2004-08-19 10:50 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Add a PPD for PostScript to be used by ghostscript ps2pdf.</pre>
+<p>[doc/Develop.htm 1.136, doc/Ps2pdf.htm 1.69, lib/ghostpdf.inf 1.1, lib/ghostpdf.ppd 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-19_0738"></a>
+2004-08-19 07:38 Russell Lang</strong> (<a href="Details8.htm#2004-08-19_0738">details</a>)</p>
+<blockquote>
+<pre>
+Enable progressive updates for the image window of
+the MS-Windows ghostscript command line program.
+Change update method to use a Windows timer.
+
+</pre>
+<p>[src/dwimg.c 1.13, src/dwimg.h 1.10, src/dwmainc.c 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_2225"></a>
+2004-08-18 22:25 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed dependancies for gslibctx.h</pre>
+<p>[src/int.mak 1.128, src/lib.mak 1.191]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_2224"></a>
+2004-08-18 22:24 stefan</strong></p>
+<blockquote>
+<pre>
+Removed redundant include.</pre>
+<p>[src/gsmalloc.c 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_2044"></a>
+2004-08-18 20:44 Igor Melichev</strong> (<a href="Details8.htm#2004-08-18_2044">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Check for glyph name conflicts while font merging.
+
+</pre>
+<p>[src/gdevpdtt.c 1.87, src/gxfcopy.c 1.45]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_1440"></a>
+2004-08-18 14:40 Igor Melichev</strong> (<a href="Details8.htm#2004-08-18_1440">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Wrong glyph positions with CIDFontType2 with no vmtx.
+
+</pre>
+<p>[src/gdevpdtt.c 1.86]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-18_0448"></a>
+2004-08-18 04:48 Dan Coby</strong> (<a href="Details8.htm#2004-08-18_0448">details</a>)</p>
+<blockquote>
+<pre>
+Implementation of 687496 transparency and CMYK support.
+
+</pre>
+<p>[src/gdevp14.c 1.26, src/gxblend.c 1.6, src/lib.mak 1.190]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_2021"></a>
+2004-08-17 20:21 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add PDFSTEP debug aid. Prints a step number at end of PDFDEBUG line, and
+sync's the display, then reads a number of steps to skip (<cr> == single
+step). This is rudimentary but somewhat useful. Invoked with -dPDFSTEP.</pre>
+<p>[lib/pdf_base.ps 1.44]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1956"></a>
+2004-08-17 19:56 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Bump the version number after the last beta release.</pre>
+<p>[lib/gs_init.ps 1.109, src/gscdef.c 1.44, src/version.mak 1.71]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1939"></a>
+2004-08-17 19:39 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove references to the FreeType license. Artifex Software, Inc. has
+purchased rights to the FreeType 1 code and the work included here is
+relicensed under the same terms as with the rest of the Ghostscript code.</pre>
+<p>[LICENSE 1.4, doc/FTL.txt 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1859"></a>
+2004-08-17 18:59 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add support for PDF single stepping debug aid (PDFSTEP). Actual interpreter
+changes made separately.</pre>
+<p>[lib/gs_init.ps 1.108]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-17_1753"></a>
+2004-08-17 17:53 Ray Johnston</strong> (<a href="Details8.htm#2004-08-17_1753">details</a>)</p>
+<blockquote>
+<pre>
+Handle invalid PDF's that use 0.0 font scaling (Tf operator). Fixes bug
+687606 for customer number 780.
+
+</pre>
+<p>[lib/pdf_ops.ps 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-14_0206"></a>
+2004-08-14 02:06 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Correct the previous MSVC 8 updates to allow compilation with debugging.</pre>
+<p>[src/msvc32.mak 1.62, src/msvccmd.mak 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-13_1259"></a>
+2004-08-13 12:59 stefan</strong></p>
+<blockquote>
+<pre>
+Added missing parameter types to prototype.</pre>
+<p>[src/gpcheck.h 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-13_0457"></a>
+2004-08-13 04:57 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Detect the version of Microsoft Visual C++ from the version of nmake.</pre>
+<p>[doc/Make.htm 1.78, src/msvc32.mak 1.61]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-13_0016"></a>
+2004-08-13 00:16 Russell Lang</strong> (<a href="Details8.htm#2004-08-13_0016">details</a>)</p>
+<blockquote>
+<pre>
+Add support for compiling with the beta of Microsoft Visual
+Studio 2005, also known as MSVC 8.
+
+</pre>
+<p>[doc/Make.htm 1.77, src/msvc32.mak 1.60, src/msvccmd.mak 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1433"></a>
+2004-08-11 14:33 stefan</strong> (<a href="Details8.htm#2004-08-11_1433">details</a>)</p>
+<blockquote>
+<pre>
+Added memory pointers to gsmalloc use by jpg2000 interface.
+
+</pre>
+<p>[src/sjpx.c 1.10, src/sjpx.h 1.3, src/zfjpx.c 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1336"></a>
+2004-08-11 13:36 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximag3x.c 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1333"></a>
+2004-08-11 13:33 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+When scaling factors of /ImageMatrix in a image mask for ImageType3 are
+negative, translation offset values for image mask rendering are
+incorrect and it makes abnormal output (eg. white lines).
+This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.</pre>
+<p>[src/gximage3.c 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-11_1258"></a>
+2004-08-11 12:58 Ray Johnston</strong> (<a href="Details8.htm#2004-08-11_1258">details</a>)</p>
+<blockquote>
+<pre>
+Fix bug 687038 that resulted in a crash if the initial device was not
+pdfwrite.
+
+</pre>
+<p>[lib/gs_pdfwr.ps 1.39]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-10_1302"></a>
+2004-08-10 13:02 stefan</strong></p>
+<blockquote>
+<pre>
+Added memory_t pointers to gs_malloc() gs_free() calls in
+devices that aren't normally built.</pre>
+<p>[src/gdev3b1.c 1.5, src/gdevadmp.c 1.6, src/gdevccr.c 1.5, src/gdevcif.c 1.6, src/gdevcp50.c 1.6, src/gdevcslw.c 1.5, src/gdevhl7x.c 1.10, src/gdevimgn.c 1.7, src/gdevlp8k.c 1.5, src/gdevlxm.c 1.5, src/gdevmgr.c 1.6, src/gdevn533.c 1.6, src/gdevo182.c 1.6, src/gdevokii.c 1.7, src/gdevos2p.c 1.8, src/gdevp14.c 1.25, src/gdevphex.c 1.7, src/gdevpsdi.c 1.30, src/gdevsgi.c 1.6, src/gdevsj48.c 1.5, src/gdevsppr.c 1.8, src/gdevsunr.c 1.7, src/gdevwddb.c 1.7, src/gdevwprn.c 1.10, src/gp_macio.c 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-10_1259"></a>
+2004-08-10 12:59 stefan</strong> (<a href="Details8.htm#2004-08-10_1259">details</a>)</p>
+<blockquote>
+<pre>
+fixed bug with iapi, removed gs_lib_finit()'s call of gs_malloc_release.
+
+</pre>
+<p>[src/gsinit.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-09_1702"></a>
+2004-08-09 17:02 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed uninitialized fstdio2 pointer.</pre>
+<p>[src/gslibctx.c 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-05_2017"></a>
+2004-08-05 20:17 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed incorrect function pointer prototype,
+const gs_memory_t * argument was missing.</pre>
+<p>[src/gxfcache.h 1.26, src/gxfcopy.c 1.44]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-05_2015"></a>
+2004-08-05 20:15 stefan</strong> (<a href="Details8.htm#2004-08-05_2015">details</a>)</p>
+<blockquote>
+<pre>
+Valid memory pointer used create a tile_clip device instead of NULL.
+
+</pre>
+<p>[src/gxp1fill.c 1.6]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-05_1702"></a>
+2004-08-05 17:02 stefan</strong> (<a href="Details8.htm#2004-08-05_1702">details</a>)</p>
+<blockquote>
+<pre>
+Windows only:
+check_interrupts() with a mem pointer to access the poll function.
+
+</pre>
+<p>[src/gdevdbit.c 1.11, src/gdevddrw.c 1.25, src/gdevwpr2.c 1.18, src/gdevwprn.c 1.9, src/gp_macpoll.c 1.2, src/gp_mslib.c 1.6, src/gp_mspol.c 1.5, src/gp_mswin.c 1.24, src/gxclrast.c 1.30, src/gxclread.c 1.11, src/gxclutil.c 1.11, src/gxdtfill.h 1.27, src/sfxfd.c 1.10, src/sfxstdio.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_2340"></a>
+2004-08-04 23:40 stefan</strong></p>
+<blockquote>
+<pre>
+fixed typo in last commit.</pre>
+<p>[src/gpcheck.h 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_2333"></a>
+2004-08-04 23:33 stefan</strong> (<a href="Details8.htm#2004-08-04_2333">details</a>)</p>
+<blockquote>
+<pre>
+gs_memory_t pointer additions for msvc build.
+
+</pre>
+<p>[src/gdev4081.c 1.6, src/gdev4693.c 1.9, src/gdev8510.c 1.7, src/gdevdm24.c 1.8, src/gdevdsp.c 1.25, src/gdevescp.c 1.7, src/gdevmswn.c 1.11, src/gdevmsxf.c 1.8, src/gdevpjet.c 1.7, src/gdevwpr2.c 1.17, src/gp_mspol.c 1.4, src/gpcheck.h 1.7, src/gsargs.c 1.9, src/gsdll.c 1.12, src/gsmisc.c 1.18, src/gxccache.c 1.32, src/gxclutil.c 1.10, src/imain.h 1.9, src/interp.c 1.19, src/main.h 1.7, src/msvc32.mak 1.59, src/sfxstdio.c 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_1936"></a>
+2004-08-04 19:36 stefan</strong> (<a href="Details8.htm#2004-08-04_1936">details</a>)</p>
+<blockquote>
+<pre>
+Addition of a Library Context to start the process of removing globals.
+
+</pre>
+<p>[src/bfont.h 1.10, src/devs.mak 1.117, src/dstack.h 1.6, src/files.h 1.10, src/gdevbj10.c 1.9, src/gdevcdj.c 1.15, src/gdevdcrd.c 1.6, src/gdevepsc.c 1.11, src/gdevepsn.c 1.9, src/gdevijs.c 1.9, src/gdevp14.c 1.24, src/gdevpdfb.c 1.23, src/gdevpdfc.c 1.48, src/gdevpdfg.c 1.58, src/gdevpdfg.h 1.33, src/gdevpdfi.c 1.56, src/gdevpdfk.c 1.8, src/gdevpdfv.c 1.36, src/gdevpdti.c 1.36, src/gdevplnx.c 1.10, src/gdevprn.c 1.18, src/gdevprna.c 1.6, src/gdevpsdi.c 1.29, src/gdevpxat.h 1.6, src/gdevpxen.h 1.6, src/gdevstc.c 1.10, src/gdevupd.c 1.16, src/gdevvec.c 1.23, src/gdevxcmp.c 1.9, src/gdevxxf.c 1.9, src/gp_mac.c 1.16, src/gs.c 1.12, src/gs_dll_call.h 1.1, src/gsalloc.c 1.21, src/gsalloc.h 1.7, src/gsalphac.c 1.7, src/gsccode.h 1.13, src/gscdevn.c 1.21, src/gscolor.c 1.14, src/gscolor1.c 1.11, src/gscolor3.c 1.8, src/gscparam.c 1.10, src/gscpixel.c 1.12, src/gscpixel.h 1.6, src/gscrd.c 1.6, src/gscrd.h 1.7, src/gscscie.c 1.12, src/gscsepr.c 1.27, src/gscspace.c 1.17, src/gscspace.h 1.14, src/gsdevice.c 1.22, src/gsequivc.c 1.5, src/gsexit.h 1.10, src/gsfcid2.c 1.6, src/gsfcmap.c 1.24, src/gsfcmap1.c 1.7, src/gsfont.c 1.33, src/gsht.c 1.22, src/gsht1.c 1.15, src/gshtx.c 1.6, src/gsimage.c 1.12, src/gsinit.c 1.6, src/gsio.h 1.8, src/gsiodevs.c 1.6, src/gsistate.c 1.10, src/gslib.c 1.14, src/gslib.h 1.6, src/gslibctx.c 1.2, src/gslibctx.h 1.2, src/gsmalloc.c 1.12, src/gsmalloc.h 1.6, src/gsmemlok.c 1.6, src/gsmemory.c 1.9, src/gsmemory.h 1.8, src/gsmemraw.h 1.8, src/gsmemret.c 1.5, src/gsmisc.c 1.17, src/gsovrc.c 1.6, src/gspcolor.c 1.14, src/gsptype1.c 1.19, src/gsstate.c 1.24, src/gsstruct.h 1.18, src/gsstype.h 1.6, src/gsutil.c 1.10, src/gsutil.h 1.8, src/gxacpath.c 1.10, src/gxalloc.h 1.11, src/gxccache.c 1.31, src/gxccman.c 1.27, src/gxcht.c 1.13, src/gxclbits.c 1.9, src/gxclrast.c 1.29, src/gxclread.c 1.10, src/gxclrect.c 1.7, src/gxcpath.c 1.12, src/gxcspace.h 1.13, src/gxdevcli.h 1.34, src/gxdevice.h 1.19, src/gxdhtserial.c 1.5, src/gxfcmap.h 1.16, src/gxfcopy.c 1.43, src/gxht.c 1.16, src/gxht.h 1.9, src/gximag3x.c 1.17, src/gximage.c 1.7, src/gxpcmap.c 1.13, src/gxttfb.c 1.34, src/gzht.h 1.13, src/ialloc.c 1.7, src/ialloc.h 1.6, src/iapi.c 1.11, src/ibnum.c 1.8, src/ibnum.h 1.8, src/ichar.h 1.7, src/icharout.h 1.9, src/icid.h 1.8, src/icie.h 1.7, src/icstate.h 1.13, src/idebug.c 1.9, src/idebug.h 1.6, src/idict.c 1.11, src/idict.h 1.6, src/idparam.c 1.9, src/idparam.h 1.7, src/idstack.c 1.6, src/ifapi.h 1.19, src/ifont.h 1.14, src/ifont1.h 1.7, src/ifont42.h 1.9, src/igc.c 1.13, src/igc.h 1.8, src/igcref.c 1.6, src/iimage.h 1.7, src/iinit.c 1.10, src/ilocate.c 1.10, src/imain.c 1.39, src/imainarg.c 1.32, src/iminst.h 1.8, src/iname.h 1.5, src/interp.c 1.18, src/iparam.c 1.10, src/iplugin.c 1.5, src/iplugin.h 1.5, src/isave.c 1.11, src/isave.h 1.7, src/iscan.c 1.18, src/iscanbin.c 1.14, src/iutil.c 1.10, src/iutil.h 1.7, src/lib.mak 1.189, src/sdctc.c 1.5, src/std.h 1.12, src/szlibc.c 1.6, src/ttload.c 1.5, src/zarray.c 1.5, src/zbfont.c 1.27, src/zchar.c 1.14, src/zchar1.c 1.36, src/zcharout.c 1.12, src/zcharx.c 1.7, src/zcid.c 1.9, src/zcie.c 1.12, src/zcolor.c 1.19, src/zcontext.c 1.11, src/zcontrol.c 1.11, src/zcrd.c 1.8, src/zcsdevn.c 1.12, src/zcsindex.c 1.7, src/zcspixel.c 1.5, src/zcssepr.c 1.15, src/zdevice.c 1.9, src/zdevice2.c 1.9, src/zdict.c 1.6, src/zdps.c 1.8, src/zdps1.c 1.7, src/zfapi.c 1.52, src/zfcid0.c 1.22, src/zfcid1.c 1.19, src/zfcmap.c 1.15, src/zfile.c 1.41, src/zfileio.c 1.17, src/zfont.c 1.11, src/zfont0.c 1.7, src/zfont1.c 1.12, src/zfont2.c 1.7, src/zfont32.c 1.5, src/zfont42.c 1.20, src/zfontenum.c 1.4, src/zfrsd.c 1.10, src/zfunc.c 1.14, src/zfunc3.c 1.7, src/zfunc4.c 1.12, src/zgeneric.c 1.8, src/zgstate.c 1.10, src/zht2.c 1.12, src/zht2.h 1.3, src/zicc.c 1.7, src/zimage.c 1.14, src/zimage3.c 1.7, src/ziodevs.c 1.9, src/ziodevsc.c 1.7, src/zmatrix.c 1.8, src/zmedia2.c 1.16, src/zmisc.c 1.7, src/zmisc2.c 1.7, src/zmisc3.c 1.6, src/zpacked.c 1.6, src/zpcolor.c 1.15, src/zrelbit.c 1.6, src/zshade.c 1.15, src/zstring.c 1.6, src/ztoken.c 1.14, src/ztrans.c 1.22, src/ztype.c 1.8, src/zupath.c 1.10, src/zusparam.c 1.13, src/zvmem.c 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_0100"></a>
+2004-08-04 01:00 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+add a .cvsignore list for generated files</pre>
+<p>[contrib/pscolor/.cvsignore 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-04_0055"></a>
+2004-08-04 00:55 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add variable declaration for the path to the ghostscript executable to
+the unix wrapper scripts. This simplifies changing the invocation name.
+Partial fix for bug 686863.</pre>
+<p>[lib/bdftops 1.5, lib/dumphint 1.2, lib/dvipdf 1.5, lib/eps2eps 1.6, lib/font2c 1.4, lib/gsbj 1.4, lib/gsdj 1.4, lib/gsdj500 1.4, lib/gslj 1.4, lib/gslp 1.4, lib/gsnd 1.4, lib/pdf2dsc 1.6, lib/pdf2ps 1.7, lib/pdfopt 1.7, lib/pf2afm 1.5, lib/pfbtopfa 1.6, lib/pphs 1.4, lib/ps2ascii 1.7, lib/ps2epsi 1.10, lib/ps2pdfwr 1.10, lib/ps2ps 1.7, lib/pv.sh 1.4, lib/unix-lpr.sh 1.5, lib/wftopfa 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-08-02_0333"></a>
+2004-08-02 03:33 Igor Melichev</strong> (<a href="Details8.htm#2004-08-02_0333">details</a>)</p>
+<blockquote>
+<pre>
+Fix : .OrigFont was not provided when an embeded font is defined.
+
+</pre>
+<p>[lib/gs_fonts.ps 1.47]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-30_2132"></a>
+2004-07-30 21:32 Dan Coby</strong> (<a href="Details8.htm#2004-07-30_2132">details</a>)</p>
+<blockquote>
+<pre>
+More work upon 687551 Implement the remaining TN 5044 procedures.
+This commit implements the setcmykoverprint procedure.
+
+</pre>
+<p>[lib/gs_lev2.ps 1.32]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-29_1919"></a>
+2004-07-29 19:19 Igor Melichev</strong> (<a href="Details8.htm#2004-07-29_1919">details</a>)</p>
+<blockquote>
+<pre>
+Fix : True Type font loader : numLoca run out the PS string size limit.
+
+</pre>
+<p>[lib/gs_ttf.ps 1.39]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-29_1746"></a>
+2004-07-29 17:46 Igor Melichev</strong> (<a href="Details8.htm#2004-07-29_1746">details</a>)</p>
+<blockquote>
+<pre>
+1. Fix (PS interpreter) : The FontBBox validation check was too strong.
+2. Fix (pdfwrite) : Explicitely set line parameters in a charproc.
+
+</pre>
+<p>[src/gdevpdtt.c 1.85, src/gslparam.h 1.5, src/zchar.c 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-28_1946"></a>
+2004-07-28 19:46 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+test commit; verifying the cvs announcement list is working.</pre>
+<p>[src/Makefile.in 1.37]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-28_1009"></a>
+2004-07-28 10:09 Igor Melichev</strong> (<a href="Details8.htm#2004-07-28_1009">details</a>)</p>
+<blockquote>
+<pre>
+Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 4).
+
+</pre>
+<p>[src/gsfunc3.c 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-26_2333"></a>
+2004-07-26 23:33 Dan Coby</strong> (<a href="Details8.htm#2004-07-26_2333">details</a>)</p>
+<blockquote>
+<pre>
+Fix for 687572 AFPL Ghostscript 8.14 fails with some PDF files.
+
+</pre>
+<p>[lib/pdf_draw.ps 1.83]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-26_2321"></a>
+2004-07-26 23:21 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Fix for 687591 Overprint Preview is not documented. This change adds
+documentaion for how Ghostscript handles overprinting and spot colors
+to Use.htm.</pre>
+<p>[doc/Use.htm 1.110]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-24_0812"></a>
+2004-07-24 08:12 Igor Melichev</strong> (<a href="Details8.htm#2004-07-24_0812">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 39 : Implementing embedded TrueType fonts (continued).
+
+</pre>
+<p>[lib/opdfread.ps 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-23_1911"></a>
+2004-07-23 19:11 Igor Melichev</strong> (<a href="Details8.htm#2004-07-23_1911">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 39 : Implementing embedded TrueType fonts.
+
+</pre>
+<p>[lib/opdfread.ps 1.33]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_1735"></a>
+2004-07-22 17:35 Igor Melichev</strong> (<a href="Details8.htm#2004-07-22_1735">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 38 : Implementing embedded Type 1 fonts.
+
+</pre>
+<p>[lib/opdfread.ps 1.32]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_1304"></a>
+2004-07-22 13:04 Igor Melichev</strong> (<a href="Details8.htm#2004-07-22_1304">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 38 : Write font data after the font descriptor.
+
+</pre>
+<p>[src/gdevpdtb.c 1.27, src/gdevpdtb.h 1.10, src/gdevpdtd.c 1.16]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_1108"></a>
+2004-07-22 11:08 Igor Melichev</strong> (<a href="Details8.htm#2004-07-22_1108">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 37 : Don't convert Type 1 into CFF when generating ps2write output.
+
+</pre>
+<p>[src/gdevpdfg.c 1.57, src/gdevpdfx.h 1.99, src/gdevpdtb.c 1.26]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-22_0756"></a>
+2004-07-22 07:56 Igor Melichev</strong> (<a href="Details8.htm#2004-07-22_0756">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 36 : Switching on the new code DELAYED_STREAMS, PS2WRITE.
+
+</pre>
+<p>[src/gdevvec.h 1.15]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-20_0708"></a>
+2004-07-20 07:08 Ray Johnston</strong> (<a href="Details8.htm#2004-07-20_0708">details</a>)</p>
+<blockquote>
+<pre>
+Fix to make sure that device deactivation is invoked before final close
+of the device when exit. Bug #687557.
+
+</pre>
+<p>[src/imain.c 1.38]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-17_1844"></a>
+2004-07-17 18:44 Ray Johnston</strong> (<a href="Details8.htm#2004-07-17_1844">details</a>)</p>
+<blockquote>
+<pre>
+Fix so that compiled fonts have the dictionary permissions set correctly.
+Bug 687444 for customer #531.
+
+</pre>
+<p>[src/iccfont.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-16_2214"></a>
+2004-07-16 22:14 Igor Melichev</strong> (<a href="Details8.htm#2004-07-16_2214">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Provide a delayed stream writing.
+
+</pre>
+<p>[src/gdevpdf.c 1.97, src/gdevpdfu.c 1.57, src/gdevpdfx.h 1.98, src/gdevpdtb.c 1.25, src/gdevpdtf.c 1.37, src/gdevpdti.c 1.35, src/gdevpdtw.c 1.28, src/gdevpdtw.h 1.5]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-15_1639"></a>
+2004-07-15 16:39 Igor Melichev</strong> (<a href="Details8.htm#2004-07-15_1639">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Discard the output file seekability requirement in the /PS pdfmark implementation.
+
+</pre>
+<p>[src/gdevpdfm.c 1.45]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-15_1237"></a>
+2004-07-15 12:37 Igor Melichev</strong> (<a href="Details8.htm#2004-07-15_1237">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : text.operation was inconsistent after replacing TEXT_FROM_GLYPHS.
+
+</pre>
+<p>[src/gdevpdtc.c 1.36, src/gdevpdte.c 1.60]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1821"></a>
+2004-07-14 18:21 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Sort the output in filename order to make comparison of daily db's easier.</pre>
+<p>[toolbin/tests/dump_testdb 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong> (<a href="Details8.htm#2004-07-14_1757">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 35 : Fixing more problems with color spaces.
+
+</pre>
+<p>[lib/opdfread.ps 1.31]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1757"></a>
+2004-07-14 17:57 Igor Melichev</strong> (<a href="Details8.htm#2004-07-14_1757">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Don't write DeviceN, DevicePixel colors with CompatibilityLevel<=1.2 .
+
+</pre>
+<p>[src/gdevpdfc.c 1.47, src/gdevpdfg.c 1.56]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1559"></a>
+2004-07-14 15:59 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Include string_.h for missing prototypes of strlen() &c. Bug 687541.</pre>
+<p>[src/gscdevn.c 1.20, src/gsfcmap.c 1.23, src/gsht1.c 1.14, src/int.mak 1.127, src/lib.mak 1.188, src/zfile1.c 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1538"></a>
+2004-07-14 15:38 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Cast pointer type to avoid a warning. Bug 687541.</pre>
+<p>[src/sjpx.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1534"></a>
+2004-07-14 15:34 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct some types to unsigned to match the gp_file_name_combine() prototype.
+Partial fix for bug 687541.</pre>
+<p>[src/gp_unix_cache.c 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-14_1424"></a>
+2004-07-14 14:24 Ray Johnston</strong> (<a href="Details8.htm#2004-07-14_1424">details</a>)</p>
+<blockquote>
+<pre>
+Fix to pdfwrite initialization to make sure initial distiller params are
+incorporated into the device. Also add collection of distillerparams when
+building currentpagedevice. Fixes bugs 687325, 687436 and 687458.
+
+</pre>
+<p>[lib/gs_pdfwr.ps 1.38, lib/gs_setpd.ps 1.24]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1952"></a>
+2004-07-13 19:52 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1952">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 34 : Applying filters to the page contents stream.
+
+</pre>
+<p>[lib/opdfread.ps 1.30]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1931"></a>
+2004-07-13 19:31 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1931">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 33 : Fixing problems with color spaces in image XObjects.
+
+</pre>
+<p>[lib/opdfread.ps 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1858"></a>
+2004-07-13 18:58 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1858">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 32 : Fixing problems with color spaces in inline images.
+
+</pre>
+<p>[lib/opdfread.ps 1.28]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1558"></a>
+2004-07-13 15:58 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1558">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 31 : Implementing DecodeParms for filters.
+
+</pre>
+<p>[lib/opdfread.ps 1.27]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1513"></a>
+2004-07-13 15:13 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1513">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 30 : Continue the implementation of color spaces.
+
+</pre>
+<p>[lib/opdfread.ps 1.26]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1344"></a>
+2004-07-13 13:44 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1344">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 29 : The inplementation of FunctionType 4 was wrong.
+
+</pre>
+<p>[lib/opdfread.ps 1.25]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1238"></a>
+2004-07-13 12:38 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1238">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Don't write shadings with CompatibilityLevel<=1.2 .
+
+</pre>
+<p>[src/gdevpdfd.c 1.41, src/gdevpdfg.c 1.55]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1202"></a>
+2004-07-13 12:02 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1202">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark (continued).
+
+</pre>
+<p>[src/gdevpdfm.c 1.44]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-13_1109"></a>
+2004-07-13 11:09 Igor Melichev</strong> (<a href="Details8.htm#2004-07-13_1109">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Dont create the alternative image compression if a loseless compression is only allowed.
+
+</pre>
+<p>[src/gdevpdfi.c 1.55, src/gdevpsdi.c 1.28]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-10_0855"></a>
+2004-07-10 08:55 Igor Melichev</strong> (<a href="Details8.htm#2004-07-10_0855">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 28 : Fixing tab characters in the source code (continued).
+
+</pre>
+<p>[lib/opdfread.ps 1.24]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-10_0804"></a>
+2004-07-10 08:04 Igor Melichev</strong> (<a href="Details8.htm#2004-07-10_0804">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 27 : Implemented FunctionType 4.
+
+</pre>
+<p>[lib/opdfread.ps 1.23]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-09_2054"></a>
+2004-07-09 20:54 Igor Melichev</strong> (<a href="Details8.htm#2004-07-09_2054">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 26 : Fixing tab characters in the source code.
+
+</pre>
+<p>[lib/opdfread.ps 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-09_2028"></a>
+2004-07-09 20:28 Igor Melichev</strong> (<a href="Details8.htm#2004-07-09_2028">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 25 : Fixing various problems in functions and color spaces.
+
+</pre>
+<p>[lib/opdfread.ps 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-09_1652"></a>
+2004-07-09 16:52 Igor Melichev</strong> (<a href="Details8.htm#2004-07-09_1652">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 24 : An initial implementation of functions.
+
+</pre>
+<p>[lib/opdfread.ps 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1715"></a>
+2004-07-08 17:15 Igor Melichev</strong> (<a href="Details8.htm#2004-07-08_1715">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 23 : Implementing Indexed and Separation (continued).
+
+</pre>
+<p>[lib/opdfread.ps 1.19]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1528"></a>
+2004-07-08 15:28 Igor Melichev</strong> (<a href="Details8.htm#2004-07-08_1528">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 22 : Implementing Indexed and Separation.
+
+</pre>
+<p>[lib/opdfread.ps 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1400"></a>
+2004-07-08 14:00 Igor Melichev</strong> (<a href="Details8.htm#2004-07-08_1400">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 20 : Implementing CalGray, CalRGB.
+
+</pre>
+<p>[lib/opdfread.ps 1.17]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1112"></a>
+2004-07-08 11:12 Igor Melichev</strong> (<a href="Details8.htm#2004-07-08_1112">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 20 : The implementations of Q,q,CharProc were incomplete.
+
+</pre>
+<p>[lib/opdfread.ps 1.16]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_1006"></a>
+2004-07-08 10:06 Igor Melichev</strong> (<a href="Details8.htm#2004-07-08_1006">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 17 : Implementing Patterns.
+
+</pre>
+<p>[lib/opdfread.ps 1.15]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-08_0803"></a>
+2004-07-08 08:03 Igor Melichev</strong> (<a href="Details8.htm#2004-07-08_0803">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 18 : Fix : Length was written to a wrong file position.
+
+</pre>
+<p>[src/gdevpdfm.c 1.43]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1519"></a>
+2004-07-07 15:19 Igor Melichev</strong> (<a href="Details8.htm#2004-07-07_1519">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 17 : Image XForm implementation.
+
+</pre>
+<p>[lib/opdfread.ps 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1424"></a>
+2004-07-07 14:24 Igor Melichev</strong> (<a href="Details8.htm#2004-07-07_1424">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 16 : Inline image implementation.
+
+</pre>
+<p>[lib/opdfread.ps 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1142"></a>
+2004-07-07 11:42 Igor Melichev</strong> (<a href="Details8.htm#2004-07-07_1142">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 15 : Fix : ObjectRegistry expansion code was wrong.
+
+</pre>
+<p>[lib/opdfread.ps 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1100"></a>
+2004-07-07 11:00 Igor Melichev</strong> (<a href="Details8.htm#2004-07-07_1100">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 14 : Fix : fonts may have no Encoding.
+
+</pre>
+<p>[lib/opdfread.ps 1.11]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1040"></a>
+2004-07-07 10:40 Igor Melichev</strong> (<a href="Details8.htm#2004-07-07_1040">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 13 : Implementing Type 3 fonts.
+
+</pre>
+<p>[lib/opdfread.ps 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_1019"></a>
+2004-07-07 10:19 Igor Melichev</strong> (<a href="Details8.htm#2004-07-07_1019">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 12 : Implementing Type 3 fonts.
+
+</pre>
+<p>[lib/opdfread.ps 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0933"></a>
+2004-07-07 09:33 Russell Lang</strong> (<a href="Details8.htm#2004-07-07_0933">details</a>)</p>
+<blockquote>
+<pre>
+Fixes bug 687451 "default resolution for display device"
+Set the display resolution from the MS-Windows display resolution,
+using a device parameter -dDisplayResolution=DPI.
+
+</pre>
+<p>[doc/Devices.htm 1.80, src/dwmain.c 1.18, src/dwmainc.c 1.20, src/gdevdsp.c 1.24, src/gdevdsp.h 1.9, src/gdevdsp2.h 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0909"></a>
+2004-07-07 09:09 Russell Lang</strong></p>
+<blockquote>
+<pre>
+Fixes bug 687562 "vector devices close output file incorrectly".
+Vector devices open the output file with gx_device_open_output_file,
+so should close it with gx_device_close_output_file, not fclose.
+This was preventing pswrite from correctly closing special
+files such as "%printer%Printer Name" on Windows and OS/2.</pre>
+<p>[src/gdevvec.c 1.22]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-07_0907"></a>
+2004-07-07 09:07 Russell Lang</strong> (<a href="Details8.htm#2004-07-07_0907">details</a>)</p>
+<blockquote>
+<pre>
+In the Windows %printer% IODevice, the existing thread handle
+is closed automatically when the thread finishes. Duplicate
+the thread handle so we always have a valid handle for waiting
+and closing.
+
+</pre>
+<p>[src/gp_msprn.c 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_2215"></a>
+2004-07-06 22:15 Dan Coby</strong> (<a href="Details8.htm#2004-07-06_2215">details</a>)</p>
+<blockquote>
+<pre>
+Fix for 687565 Incorrect equiv color for Orange in Altona test file.
+The altona test file Altona_Visual_bb_1v1_x3.pdf contains a spot color
+called Orange. An incorrect equivalent CMYK color is being determined for
+this spot color. The result is that the spot color is being displayed as
+black for the devices which handle spot colors and attempt to determine
+equivalent CMYK colors for the spot colors. These are the psdcmyk,
+tiffsep, and display (with -dDisplayFormat=16#a0800) devices.
+
+</pre>
+<p>[src/gsequivc.c 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1927"></a>
+2004-07-06 19:27 Igor Melichev</strong> (<a href="Details8.htm#2004-07-06_1927">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 11 : Implementing Metrics for Type 1,2,42 fonts (continued).
+
+</pre>
+<p>[lib/opdfread.ps 1.8]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1904"></a>
+2004-07-06 19:04 Igor Melichev</strong> (<a href="Details8.htm#2004-07-06_1904">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 10 : Implementing Metrics for Type 1,2,42 fonts.
+
+</pre>
+<p>[lib/opdfread.ps 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1744"></a>
+2004-07-06 17:44 Igor Melichev</strong> (<a href="Details8.htm#2004-07-06_1744">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 9 : Implementing Encoding for Type 1,2,42 fonts.
+
+</pre>
+<p>[lib/opdfread.ps 1.6]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1348"></a>
+2004-07-06 13:48 Igor Melichev</strong> (<a href="Details8.htm#2004-07-06_1348">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 8 : Implementing ExtGState.
+
+</pre>
+<p>[lib/opdfread.ps 1.5]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-06_1205"></a>
+2004-07-06 12:05 Igor Melichev</strong> (<a href="Details8.htm#2004-07-06_1205">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 7 : Implementing text rendering operastors.
+
+</pre>
+<p>[lib/opdfread.ps 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_2116"></a>
+2004-07-05 21:16 Igor Melichev</strong> (<a href="Details8.htm#2004-07-05_2116">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 6 : :Providing a page stream execution context.
+
+</pre>
+<p>[lib/opdfread.ps 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong> (<a href="Details8.htm#2004-07-05_1703">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 5 : Page streams must interpret immediately.
+
+</pre>
+<p>[lib/opdfread.ps 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_1703"></a>
+2004-07-05 17:03 Igor Melichev</strong> (<a href="Details8.htm#2004-07-05_1703">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 4 : Stream data length must preceed the stream.
+
+</pre>
+<p>[src/gdevpdfm.c 1.42, src/gdevpdfu.c 1.56, src/gdevpdfx.h 1.97]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-05_1255"></a>
+2004-07-05 12:55 Igor Melichev</strong> (<a href="Details8.htm#2004-07-05_1255">details</a>)</p>
+<blockquote>
+<pre>
+ps2write step 3 : Initial commit for the Ordered PDF Reader.
+
+</pre>
+<p>[lib/opdfread.ps 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-03_1051"></a>
+2004-07-03 10:51 Russell Lang</strong> (<a href="Details8.htm#2004-07-03_1051">details</a>)</p>
+<blockquote>
+<pre>
+Log Message:
+Fixes bug 686956 Display device does not support separations.
+Add support for separations to display device.
+This requires a change to the display callback structure.
+Support is maintained for clients using version 1 of the structure.
+
+</pre>
+<p>[doc/API.htm 1.43, doc/Devices.htm 1.79, src/dwimg.c 1.12, src/dwimg.h 1.9, src/dwmain.c 1.17, src/dwmainc.c 1.19, src/dxmain.c 1.13, src/gdevdsp.c 1.23, src/gdevdsp.h 1.8, src/gdevdsp2.h 1.7, src/idisp.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-01_1923"></a>
+2004-07-01 19:23 Igor Melichev</strong> (<a href="Details8.htm#2004-07-01_1923">details</a>)</p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 6).
+
+</pre>
+<p>[src/gdevpdtt.c 1.84]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-01_1827"></a>
+2004-07-01 18:27 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Correct some warnings from the MSVC compiler.</pre>
+<p>[src/gscdevn.c 1.19, src/gscsepr.c 1.26, src/gsht.c 1.21, src/gzht.h 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-07-01_0441"></a>
+2004-07-01 04:41 Dan Coby</strong></p>
+<blockquote>
+<pre>
+This change creates common routines for handling the DeviceN related
+device parameters (SeparationColorNames, SeparationOrder, and
+MaxSeparations). The change also splits up some common routines that
+were assuming that the device was a 'printer' device.</pre>
+<p>[src/devs.mak 1.116, src/gdevdevn.c 1.21, src/gdevdevn.h 1.10, src/gdevnfwd.c 1.25, src/gdevpsd.c 1.16, src/gdevtsep.c 1.3, src/gdevxcf.c 1.9, src/gxcmap.c 1.22, src/gxcmap.h 1.11]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1737"></a>
+2004-06-30 17:37 Raph Levien</strong></p>
+<blockquote>
+<pre>
+Fixes nonportable code in the vasarely.ps example file so that keeps
+to reasonable page size values even when default clippath is very
+large (as is the case with the bbox device). Fixes bug #687549.</pre>
+<p>[examples/vasarely.ps 1.3]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1455"></a>
+2004-06-30 14:55 Igor Melichev</strong> (<a href="Details8.htm#2004-06-30_1455">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts (continued).
+
+</pre>
+<p>[src/gdevpdfu.c 1.55]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1450"></a>
+2004-06-30 14:50 Igor Melichev</strong> (<a href="Details8.htm#2004-06-30_1450">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts.
+
+</pre>
+<p>[src/gdevpdfi.c 1.54, src/gdevpdfm.c 1.41, src/gdevpdfu.c 1.54, src/gdevpdfx.h 1.96, src/gdevpdti.c 1.34]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1435"></a>
+2004-06-30 14:35 Igor Melichev</strong> (<a href="Details8.htm#2004-06-30_1435">details</a>)</p>
+<blockquote>
+<pre>
+ps2write part 2 : Delay writing pages.
+
+</pre>
+<p>[src/gdevpdf.c 1.96, src/gdevpdfg.c 1.54, src/gdevpdfp.c 1.39, src/gdevpdfu.c 1.53, src/gdevpdfx.h 1.95, src/gdevpsdf.h 1.22, src/gdevpsdp.c 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_1154"></a>
+2004-06-30 11:54 Igor Melichev</strong> (<a href="Details8.htm#2004-06-30_1154">details</a>)</p>
+<blockquote>
+<pre>
+ps2write part 1 : starting the project.
+
+</pre>
+<p>[src/gdevpsdf.h 1.21, src/gdevpsdp.c 1.13, src/gdevvec.h 1.14]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-30_0815"></a>
+2004-06-30 08:15 Igor Melichev</strong> (<a href="Details8.htm#2004-06-30_0815">details</a>)</p>
+<blockquote>
+<pre>
+Fix : MSVC compiler warning.
+
+</pre>
+<p>[src/gdevtsep.c 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_2246"></a>
+2004-06-29 22:46 Dan Coby</strong> (<a href="Details8.htm#2004-06-29_2246">details</a>)</p>
+<blockquote>
+<pre>
+Fix for 687553 rangecheck in .sethalftone5 and SeparationOrder.
+
+</pre>
+<p>[src/gsht.c 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_2227"></a>
+2004-06-29 22:27 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Correct spelling in a comment.</pre>
+<p>[src/gxcmap.h 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_2101"></a>
+2004-06-29 21:01 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Change the default handling of the MaxSeparations device parameter. This
+parameter is only used by some of the DeviceN mode devices (which have
+their own handling of this parameter). The default handler now simply
+ignores this parameter. However it does read the parameter. Not reading
+the parameter was causing problems with PDF files and page devices.</pre>
+<p>[src/gsdparam.c 1.17]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-29_0105"></a>
+2004-06-29 01:05 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add contributed pscolor utility by Carsten Hammer. This splits a ps
+document into two, one consisting only of black and white pages, and
+one of color pages. Useful for printing on separate devices.
+
+Submitted under bug 602263.
+
+The Makefile needs updating for the new location.</pre>
+<p>[contrib/pscolor/Makefile 1.1, contrib/pscolor/instream.yy 1.1, contrib/pscolor/test.c 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-28_1713"></a>
+2004-06-28 17:13 Igor Melichev</strong> (<a href="Details8.htm#2004-06-28_1713">details</a>)</p>
+<blockquote>
+<pre>
+Fix : True Type grid fitting must not apply to FAPI fonts.
+
+</pre>
+<p>[src/gxccman.c 1.26, src/lib.mak 1.187]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_1010"></a>
+2004-06-24 10:10 Igor Melichev</strong> (<a href="Details8.htm#2004-06-24_1010">details</a>)</p>
+<blockquote>
+<pre>
+Fix : A dangling pointer from TExecution_Context could cause a memory corruption.
+
+</pre>
+<p>[src/ttfmemd.c 1.7, src/ttinterp.c 1.13, src/ttobjs.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0951"></a>
+2004-06-24 09:51 Igor Melichev</strong> (<a href="Details8.htm#2004-06-24_0951">details</a>)</p>
+<blockquote>
+<pre>
+Fix: Unwinding the recent change to gsdparam.c becauase it breaks the PDF interpreter.
+
+</pre>
+<p>[src/gsdparam.c 1.16]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0720"></a>
+2004-06-24 07:20 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Add source file src/gdevtsep.c. This file is part of the implementation
+687440 and 542629.</pre>
+<p>[src/gdevtsep.c 1.1]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0654"></a>
+2004-06-24 06:54 Dan Coby</strong></p>
+<blockquote>
+<pre>
+Add the src/gdevtsep.c file. This contains the tiffgray, tiff32nc, and
+tiffsep devices.</pre>
+<p>[doc/Develop.htm 1.135]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0651"></a>
+2004-06-24 06:51 Igor Melichev</strong> (<a href="Details8.htm#2004-06-24_0651">details</a>)</p>
+<blockquote>
+<pre>
+Fix (TT interpreter) : The implementation of INSTCTRL did not follow the TT specification by Apple.
+
+</pre>
+<p>[src/ttinterp.c 1.12]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0648"></a>
+2004-06-24 06:48 Dan Coby</strong> (<a href="Details8.htm#2004-06-24_0648">details</a>)</p>
+<blockquote>
+<pre>
+This change implements the enhancements described in 542629 CMYK
+tiff driver and 687440 Support for outputting PDF separations
+separately. This change implements three devices: tiffgray
+which produces an 8 bit gray output with uncompressed data,
+tiff32nc which produces 32 bit CMYK with uncompressed data, and
+tiffsep which produces a tiffgray file for each separation
+(CMYK and spot colors) and it also produces a CMYK output file
+which is created using the CMYK image data plus the spot
+colors image data. The spot colors are converted to CMYK using
+the logic in 687431.
+
+</pre>
+<p>[doc/Devices.htm 1.78, src/Makefile.in 1.36, src/devs.mak 1.115, src/dvx-gcc.mak 1.26, src/gdevdevn.h 1.9, src/gsdparam.c 1.15, src/macos-mcp.mak 1.25, src/msvc32.mak 1.58, src/openvms.mak 1.36, src/os2.mak 1.37, src/unix-gcc.mak 1.45, src/unixansi.mak 1.36, src/watcw32.mak 1.29]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0647"></a>
+2004-06-24 06:47 Igor Melichev</strong> (<a href="Details8.htm#2004-06-24_0647">details</a>)</p>
+<blockquote>
+<pre>
+A new implementation of shadings, step 80.
+
+</pre>
+<p>[src/gxshade6.c 1.77]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0503"></a>
+2004-06-24 05:03 Dan Coby</strong> (<a href="Details8.htm#2004-06-24_0503">details</a>)</p>
+<blockquote>
+<pre>
+Fix for 687534 Unable to determine equivalent CMYK for spot colors
+that are only used with overprint.
+
+</pre>
+<p>[doc/Drivers.htm 1.47, src/gdevbbox.c 1.18, src/gdevdflt.c 1.24, src/gdevnfwd.c 1.24, src/gdevprn.c 1.17, src/gdevpsd.c 1.15, src/gdevrops.c 1.12, src/gscdevn.c 1.18, src/gscsepr.c 1.25, src/gsequivc.c 1.3, src/gsequivc.h 1.2, src/gxclip.c 1.15, src/gxclip2.c 1.11, src/gxclipm.c 1.13, src/gxclist.c 1.14, src/gxdevcli.h 1.33, src/gxdevice.h 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-24_0317"></a>
+2004-06-24 03:17 Ray Johnston</strong> (<a href="Details8.htm#2004-06-24_0317">details</a>)</p>
+<blockquote>
+<pre>
+Minor change to avoid a spurious compiler warning about 't' used before
+initialized. Fixes bug #687412.
+
+</pre>
+<p>[src/spdiff.c 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_2037"></a>
+2004-06-23 20:37 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Disable idiom recognition feature during execution of .bindnow
+because it has no effect except burning a few seconds of CPU time.
+Fix bug 687521</pre>
+<p>[lib/gs_init.ps 1.107]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_1857"></a>
+2004-06-23 18:57 stefan</strong></p>
+<blockquote>
+<pre>
+Fixed CMYK to RGB conversion.
+
+Used in rop code where RGB -> CMYK -> RGB needs to work correctly
+in the black and white cases.</pre>
+<p>[src/gdevbit.c 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_1850"></a>
+2004-06-23 18:50 stefan</strong></p>
+<blockquote>
+<pre>
+Fix macro to use it's arguments. Platform specific, under exersized code.</pre>
+<p>[src/gxfarith.h 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-23_0904"></a>
+2004-06-23 09:04 Igor Melichev</strong> (<a href="Details8.htm#2004-06-23_0904">details</a>)</p>
+<blockquote>
+<pre>
+Fix (ps2ascii) : Provide a tolerance to old versions of dvips output.
+
+</pre>
+<p>[lib/ps2ascii.ps 1.10]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-19_0401"></a>
+2004-06-19 04:01 Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add new CMaps and update older ones to latest. Bug #687470. Thanks to
+A. Cherepanov for providing part of the newer files.</pre>
+<p>[Resource/CMap/83pv-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-H 1.2, Resource/CMap/90ms-RKSJ-UCS2 1.1, Resource/CMap/90ms-RKSJ-V 1.2, Resource/CMap/90msp-RKSJ-H 1.1, Resource/CMap/90msp-RKSJ-V 1.1, Resource/CMap/90pv-RKSJ-H 1.2, Resource/CMap/90pv-RKSJ-UCS2 1.1, Resource/CMap/90pv-RKSJ-UCS2C 1.1, Resource/CMap/90pv-RKSJ-V 1.2, Resource/CMap/Add-RKSJ-H 1.2, Resource/CMap/Add-RKSJ-V 1.2, Resource/CMap/Adobe-CNS1-B5pc 1.1, Resource/CMap/Adobe-CNS1-ETen-B5 1.1, Resource/CMap/Adobe-CNS1-H-CID 1.1, Resource/CMap/Adobe-CNS1-H-Host 1.1, Resource/CMap/Adobe-CNS1-H-Mac 1.1, Resource/CMap/Adobe-CNS1-UCS2 1.1, Resource/CMap/Adobe-GB1-GBK-EUC 1.1, Resource/CMap/Adobe-GB1-GBpc-EUC 1.1, Resource/CMap/Adobe-GB1-H-CID 1.1, Resource/CMap/Adobe-GB1-H-Host 1.1, Resource/CMap/Adobe-GB1-H-Mac 1.1, Resource/CMap/Adobe-GB1-UCS2 1.1, Resource/CMap/Adobe-Japan1-90ms-RKSJ 1.1, Resource/CMap/Adobe-Japan1-90pv-RKSJ 1.1, Resource/CMap/Adobe-Japan1-H-CID 1.1, Resource/CMap/Adobe-Japan1-H-Host 1.1, Resource/CMap/Adobe-Japan1-H-Mac 1.1, Resource/CMap/Adobe-Japan1-PS-H 1.1, Resource/CMap/Adobe-Japan1-PS-V 1.1, Resource/CMap/Adobe-Japan1-UCS2 1.1, Resource/CMap/Adobe-Korea1-H-CID 1.1, Resource/CMap/Adobe-Korea1-H-Host 1.1, Resource/CMap/Adobe-Korea1-H-Mac 1.1, Resource/CMap/Adobe-Korea1-KSCms-UHC 1.1, Resource/CMap/Adobe-Korea1-KSCpc-EUC 1.1, Resource/CMap/Adobe-Korea1-UCS2 1.1, Resource/CMap/B5pc-H 1.1, Resource/CMap/B5pc-UCS2 1.1, Resource/CMap/B5pc-UCS2C 1.1, Resource/CMap/B5pc-V 1.1, Resource/CMap/CNS-EUC-H 1.1, Resource/CMap/CNS-EUC-V 1.1, Resource/CMap/EUC-H 1.2, Resource/CMap/EUC-V 1.2, Resource/CMap/Ext-RKSJ-H 1.2, Resource/CMap/Ext-RKSJ-V 1.2, Resource/CMap/GB-EUC-H 1.1, Resource/CMap/GB-EUC-V 1.1, Resource/CMap/GBK-EUC-H 1.2, Resource/CMap/GBK-EUC-UCS2 1.1, Resource/CMap/GBK-EUC-V 1.2, Resource/CMap/GBK2K-H 1.1, Resource/CMap/GBK2K-V 1.1, Resource/CMap/GBKp-EUC-H 1.1, Resource/CMap/GBKp-EUC-V 1.1, Resource/CMap/GBT-EUC-H 1.1, Resource/CMap/GBT-EUC-V 1.1, Resource/CMap/GBpc-EUC-H 1.1, Resource/CMap/GBpc-EUC-UCS2 1.1, Resource/CMap/GBpc-EUC-UCS2C 1.1, Resource/CMap/GBpc-EUC-V 1.1, Resource/CMap/H 1.2, Resource/CMap/HKdla-B5-H 1.1, Resource/CMap/HKdla-B5-V 1.1, Resource/CMap/HKdlb-B5-H 1.1, Resource/CMap/HKdlb-B5-V 1.1, Resource/CMap/HKgccs-B5-H 1.1, Resource/CMap/HKgccs-B5-V 1.1, Resource/CMap/HKm314-B5-H 1.1, Resource/CMap/HKm314-B5-V 1.1, Resource/CMap/HKm471-B5-H 1.1, Resource/CMap/HKm471-B5-V 1.1, Resource/CMap/HKscs-B5-H 1.1, Resource/CMap/HKscs-B5-V 1.1, Resource/CMap/Identity-H 1.2, Resource/CMap/Identity-V 1.2, Resource/CMap/KSC-EUC-H 1.1, Resource/CMap/KSC-EUC-V 1.1, Resource/CMap/KSCms-UHC-H 1.2, Resource/CMap/KSCms-UHC-HW-H 1.1, Resource/CMap/KSCms-UHC-HW-V 1.1, Resource/CMap/KSCms-UHC-UCS2 1.1, Resource/CMap/KSCms-UHC-V 1.2, Resource/CMap/KSCpc-EUC-H 1.1, Resource/CMap/KSCpc-EUC-UCS2 1.1, Resource/CMap/KSCpc-EUC-UCS2C 1.1, Resource/CMap/UCS2-90ms-RKSJ 1.1, Resource/CMap/UCS2-90pv-RKSJ 1.1, Resource/CMap/UCS2-B5pc 1.1, Resource/CMap/UCS2-ETen-B5 1.1, Resource/CMap/UCS2-GBK-EUC 1.1, Resource/CMap/UCS2-GBpc-EUC 1.1, Resource/CMap/UCS2-KSCms-UHC 1.1, Resource/CMap/UCS2-KSCpc-EUC 1.1, Resource/CMap/UniCNS-UCS2-H 1.2, Resource/CMap/UniCNS-UCS2-V 1.2, Resource/CMap/UniGB-UCS2-H 1.2, Resource/CMap/UniGB-UCS2-V 1.2, Resource/CMap/UniJIS-UCS2-H 1.2, Resource/CMap/UniJIS-UCS2-HW-H 1.1, Resource/CMap/UniJIS-UCS2-HW-V 1.1, Resource/CMap/UniJIS-UCS2-V 1.2, Resource/CMap/UniKS-UCS2-H 1.2, Resource/CMap/UniKS-UCS2-V 1.2, Resource/CMap/V 1.2]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-18_1746"></a>
+2004-06-18 17:46 Igor Melichev</strong> (<a href="Details8.htm#2004-06-18_1746">details</a>)</p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 5).
+
+</pre>
+<p>[src/gdevpdti.c 1.33, src/gdevpdfx.h 1.94, src/gdevpdtt.c 1.83]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-18_0700"></a>
+2004-06-18 07:00 Dan Coby</strong> (<a href="Details8.htm#2004-06-18_0700">details</a>)</p>
+<blockquote>
+<pre>
+687504 Enhancement: Imaging spot colors without using the
+SeparationColorNames parameter.
+
+</pre>
+<p>[src/gdevdevn.c 1.20, src/gdevdevn.h 1.8, src/gdevnfwd.c 1.23, src/gdevperm.c 1.4, src/gdevpsd.c 1.14, src/gdevxcf.c 1.8, src/gscdevn.c 1.17, src/gscsepr.c 1.24, src/gscspace.c 1.16, src/gsdparam.c 1.14, src/gsht.c 1.19, src/gxcmap.c 1.21, src/gxcmap.h 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-17_2142"></a>
+2004-06-17 21:42 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Protect genarch's test for sizeof(long long) with and #ifdef HAVE_LONG_LONG
+since a number of platforms (particularly MSVC) do not support this type.</pre>
+<p>[src/genarch.c 1.11, src/stdint_.h 1.5]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-17_1305"></a>
+2004-06-17 13:05 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Round elements of Mask array to the nearest integer following implementation
+of AR4, AR5, AR6.
+Fix bug 687494 from customer 580.</pre>
+<p>[lib/pdf_draw.ps 1.82]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-17_1114"></a>
+2004-06-17 11:14 Igor Melichev</strong> (<a href="Details8.htm#2004-06-17_1114">details</a>)</p>
+<blockquote>
+<pre>
+Fix : Arithmetic errors could cause a function monotonity misrecongition.
+
+</pre>
+<p>[src/gsfunc0.c 1.21]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_2001"></a>
+2004-06-16 20:01 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Fix parsing of -2147483648.5, min_int followed by a fractional part.
+Fix bug 687500</pre>
+<p>[src/iscannum.c 1.9]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_1122"></a>
+2004-06-16 11:22 Igor Melichev</strong> (<a href="Details8.htm#2004-06-16_1122">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Allow named object reference in the Action key of /ANN pdfmark.
+
+</pre>
+<p>[src/gdevpdfm.c 1.40]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Protect against cache values containing spaces. This shouldn't be a problem, the change is more for consistency.</pre>
+<p>[src/configure.ac 1.47]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-16_0927"></a>
+2004-06-16 09:27 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Try to use long long as a 64 bit type in the genarch fallback stdint definitions. Fix for bug 687514.</pre>
+<p>[src/genarch.c 1.10, src/stdint_.h 1.4]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-15_2028"></a>
+2004-06-15 20:28 Igor Melichev</strong> (<a href="Details8.htm#2004-06-15_2028">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : A wrong CFF string index randiomization.
+
+</pre>
+<p>[src/gdevpdtb.c 1.24, src/gdevpsf2.c 1.31, src/lib.mak 1.186]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-15_1527"></a>
+2004-06-15 15:27 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Make pdf_dominant_rotation() return unknown text rotation for the file
+without text. It returned 0 rotation before, which excluded consideration
+of DSC comments later on.
+Fix bug 687515</pre>
+<p>[src/gdevpdf.c 1.95]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-10_1909"></a>
+2004-06-10 19:09 Igor Melichev</strong> (<a href="Details8.htm#2004-06-10_1909">details</a>)</p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 4).
+
+</pre>
+<p>[src/gdevpdfi.c 1.53, src/gdevpdfm.c 1.39, src/gdevpdfx.h 1.93, src/gdevpdti.c 1.32]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-10_1641"></a>
+2004-06-10 16:41 Igor Melichev</strong> (<a href="Details8.htm#2004-06-10_1641">details</a>)</p>
+<blockquote>
+<pre>
+A new implementation of shadings, step 80.
+
+</pre>
+<p>[src/gxshade6.c 1.76]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-09_2047"></a>
+2004-06-09 20:47 Igor Melichev</strong> (<a href="Details8.htm#2004-06-09_2047">details</a>)</p>
+<blockquote>
+<pre>
+Fix (type 1 hinter) : an indeterministic bug in t1_hinter__simplify_representation.
+
+</pre>
+<p>[src/gxhintn.c 1.50]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-09_1207"></a>
+2004-06-09 12:07 Igor Melichev</strong> (<a href="Details8.htm#2004-06-09_1207">details</a>)</p>
+<blockquote>
+<pre>
+Fix (type 1 hinter) :
+1. Ever align the Y-coordinate of a glyph origin to pixels.
+2. Improve the unaligned pole interpolation;
+3. Set a waeaker angle threshold in t1_hinter__is_stem_hint_applicable.
+4. Allow an offset fuzz in t1_hinter__is_stem_hint_applicable.
+5. Align upper/lower horizontal stems by the upper/lower edge.
+6. A dependency was missed in lib.mak .
+
+</pre>
+<p>[src/gxchar.c 1.43, src/gxhintn.c 1.49, src/lib.mak 1.185, src/gxhintn.h 1.20]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-08_1142"></a>
+2004-06-08 11:42 Igor Melichev</strong> (<a href="Details8.htm#2004-06-08_1142">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : Merge equal ExtGState objects.
+
+</pre>
+<p>[src/gdevpdfg.c 1.53, src/gdevpdfo.c 1.30, src/gdevpdfo.h 1.19]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-03_1712"></a>
+2004-06-03 17:12 Igor Melichev</strong> (<a href="Details8.htm#2004-06-03_1712">details</a>)</p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 3).
+
+</pre>
+<p>[src/gdevpdti.c 1.31]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_1745"></a>
+2004-06-02 17:45 Igor Melichev</strong> (<a href="Details8.htm#2004-06-02_1745">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : 1. After used a process color, continue using it for same client color space.
+2. A bug in pdf_set_initial_color could miss some color commands.
+
+</pre>
+<p>[src/gdevpdfb.c 1.22, src/gdevpdfd.c 1.40, src/gdevpdfg.c 1.52, src/gdevpdfg.h 1.32, src/gdevpdfp.c 1.38, src/gdevpdtt.c 1.82, src/gdevpdfx.h 1.92, src/gdevvec.h 1.13]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_1319"></a>
+2004-06-02 13:19 Igor Melichev</strong> (<a href="Details8.htm#2004-06-02_1319">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite) : ConvertCMYKImagesToRGB crashed.
+
+</pre>
+<p>[src/gdevpsdi.c 1.27]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_1214"></a>
+2004-06-02 12:14 Igor Melichev</strong> (<a href="Details8.htm#2004-06-02_1214">details</a>)</p>
+<blockquote>
+<pre>
+Fix : 'midpoint' formula was wrong.
+
+</pre>
+<p>[src/gxpflat.c 1.41, src/gxshade6.c 1.75]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-02_0037"></a>
+2004-06-02 00:37 Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct a typo. Thanks to Russell for catching this one.</pre>
+<p>[doc/Make.htm 1.76]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_2113"></a>
+2004-06-01 21:13 Dan Coby</strong> (<a href="Details8.htm#2004-06-01_2113">details</a>)</p>
+<blockquote>
+<pre>
+Fix for 687477 Bad incremental update to a PDF file.
+
+</pre>
+<p>[lib/pdf_base.ps 1.43, lib/pdf_main.ps 1.87, lib/pdf_rbld.ps 1.7]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1720"></a>
+2004-06-01 17:20 Igor Melichev</strong> (<a href="Details8.htm#2004-06-01_1720">details</a>)</p>
+<blockquote>
+<pre>
+Fix : A Cygwin/gcc warning.
+
+</pre>
+<p>[src/gdevpdfx.h 1.91]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1706"></a>
+2004-06-01 17:06 Igor Melichev</strong> (<a href="Details8.htm#2004-06-01_1706">details</a>)</p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 2).
+
+</pre>
+<p>[src/gdevpdfd.c 1.39, src/gdevpdfg.c 1.51, src/gdevpdfg.h 1.31, src/gdevpdtt.c 1.81]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1703"></a>
+2004-06-01 17:03 Igor Melichev</strong> (<a href="Details8.htm#2004-06-01_1703">details</a>)</p>
+<blockquote>
+<pre>
+High level devices may need a device color while executing stringwidth.
+
+</pre>
+<p>[src/gstext.c 1.18]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_1342"></a>
+2004-06-01 13:42 Igor Melichev</strong> (<a href="Details8.htm#2004-06-01_1342">details</a>)</p>
+<blockquote>
+<pre>
+(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued).
+
+</pre>
+<p>[src/gdevpdti.c 1.30, src/gdevpdfx.h 1.90, src/gdevpdtt.c 1.80]</p>
+</blockquote>
+
+<p><strong><a name="2004-06-01_0237"></a>
+2004-06-01 02:37 Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Aviod a PostScript error in ps2ascii when the source file uses composite fonts.
+For now, dump the strings in the unmodified encoding when the corresponding
+font is composite.
+Fix bug 687466.</pre>
+<p>[lib/ps2ascii.ps 1.9]</p>
+</blockquote>
+
+<hr>
+
<h2><a name="Version8.30"></a>Version 8.30 (2004-05-29)</h2>
<p>