summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Giles <ralph.giles@artifex.com>2008-03-01 00:42:04 +0000
committerRalph Giles <ralph.giles@artifex.com>2008-03-01 00:42:04 +0000
commit45739be110471ddf1631ddc459a9cbce27a4b5e4 (patch)
tree0aaf548bf4eb00599a9b1f37593a5a8977e466af
parentbf2a1bcffb5e833a85a0b20ac4b91345585c6ca4 (diff)
Update changelogs for the 8.62 release.ghostscript-8.62
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@8566 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r--gs/doc/Changes.htm2036
-rw-r--r--gs/doc/Details.htm4361
-rw-r--r--gs/doc/Details8.htm2951
-rw-r--r--gs/doc/History8.htm1704
-rw-r--r--gs/doc/News.htm5
5 files changed, 7088 insertions, 3969 deletions
diff --git a/gs/doc/Changes.htm b/gs/doc/Changes.htm
index 86200fe6c..69b8e806c 100644
--- a/gs/doc/Changes.htm
+++ b/gs/doc/Changes.htm
@@ -8,2191 +8,1591 @@
</head>
<body>
-<p><strong><a name="2007-11-21T194440.574652Z"></a>
-2007-11-21T19:44:40.574652Z Ralph Giles</strong> (<a href="bar#2007-11-21T194440.574652Z">details</a>)</p>
+<p><strong><a name="2008-02-29T235931.476236Z"></a>
+2008-02-29T23:59:31.476236Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Revert the change to using an environment variable for the MSVC LIBPATH.
+Fix typo that caused unbalanced 'q' 'Q' operators in PDF's (caused by
+rev 8501). Bug 689728.
</pre>
-<p>[src/msvc32.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-21T061053.144641Z"></a>
-2007-11-21T06:10:53.144641Z Henry Stiles</strong></p>
-<blockquote>
-<pre>
-Check that a device halftone exists before writing it. Fixes
-segmentation fault in xps. No differences expected.
-</pre>
-<p>[src/gdevp14.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-21T055723.672501Z"></a>
-2007-11-21T05:57:23.672501Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix compiler flag conflict for non-debug build (seen when switching
-PCL6 build to default to non-debug default). Changes /ZI to /Zi.
-</pre>
-<p>[src/msvccmd.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-20T183658.009554Z"></a>
-2007-11-20T18:36:58.009554Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix broken MSVC 6 build issue caused by change in src/msvccmd.mak that puts
-a LIBPATH into the link command line. MSVC linker can't handle spaces in the
-LIBPATH even if within " ". We use an environment variable set by Microsoft
-MSVC 6 'vcvars32.bat' instead. This can be manually set if needed.
-</pre>
-<p>[src/msvc32.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-20T114222.623309Z"></a>
-2007-11-20T11:42:22.623309Z Ken Sharp</strong></p>
-<blockquote>
-<pre>
-Batch file to create MSVC solution and projects.
-
-Usage:
-msvcxml gs obj\ld.tr > ghostscript.sln
-
-This is the first attempt, and very poor.
-</pre>
-<p>[toolbin/msvcxml.bat]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T235746.396323Z"></a>
-2007-11-19T23:57:46.396323Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Change the product name for the release.
-</pre>
-<p>[src/gscdef.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T235628.975783Z"></a>
-2007-11-19T23:56:28.975783Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update changelogs for release.
-</pre>
-<p>[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T203607.538187Z"></a>
-2007-11-19T20:36:07.538187Z Igor Melichev</strong> (<a href="Details.htm#2007-11-19T203607.538187Z">details</a>)</p>
-<blockquote>
-<pre>
-Fix (transparency) : Wrong background color of a soft mask group.
-
-</pre>
-<p>[src/gdevp14.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T202407.302766Z"></a>
-2007-11-19T20:24:07.302766Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update documentation timestamps for 8.61.
-</pre>
-<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm man/ps2ps.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 doc/History5.htm doc/History6.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T202339.904096Z"></a>
-2007-11-19T20:23:39.904096Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove the verification checks for PVERSION and JVERSION, which we no
-longer use.
-</pre>
-<p>[toolbin/pre.tcl]</p>
+<p>[src/gdevpdfi.c]</p>
</blockquote>
-<p><strong><a name="2007-11-19T201545.795513Z"></a>
-2007-11-19T20:15:45.795513Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-29T222759.143965Z"></a>
+2008-02-29T22:27:59.143965Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Add new files to the documentation.
+Release notes for the 8.62 release. Thanks to Ray Johnston for compiling these.
</pre>
-<p>[doc/Develop.htm doc/Psfiles.htm]</p>
+<p>[doc/News.htm]</p>
</blockquote>
-<p><strong><a name="2007-11-19T201543.672566Z"></a>
-2007-11-19T20:15:43.672566Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-29T204904.253927Z"></a>
+2008-02-29T20:49:04.253927Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update release notes and date for 8.61.
+Remove some C++ style comments.
</pre>
-<p>[doc/News.htm src/version.mak]</p>
+<p>[src/siscale.c src/gdevijs.c]</p>
</blockquote>
-<p><strong><a name="2007-11-18T225036.855233Z"></a>
-2007-11-18T22:50:36.855233Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-29T204902.503198Z"></a>
+2008-02-29T20:49:02.503198Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Normalize weigts in the Mitchell filter and use proper rounding to ensure
-that the constant value is not changed by the filter.
-Bug 689556, customer 581.
-
+Add some new files to the documentation tree.
</pre>
-<p>[src/siscale.c]</p>
+<p>[doc/Develop.htm]</p>
</blockquote>
-<p><strong><a name="2007-11-18T164841.008511Z"></a>
-2007-11-18T16:48:41.008511Z Igor Melichev</strong> (<a href="Details.htm#2007-11-18T164841.008511Z">details</a>)</p>
+<p><strong><a name="2008-02-29T204752.884152Z"></a>
+2008-02-29T20:47:52.884152Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (clist interpreter) : Transparency caused a wrong color depth.
-
+Update product name, copyright and release dates.
</pre>
-<p>[src/gxclrast.c]</p>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Deprecated.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 src/dwsetup.rc man/pf2afm.1 doc/Fonts.htm doc/Ps2ps2.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 src/winint.mak doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Details8.htm doc/Testing.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
</blockquote>
-<p><strong><a name="2007-11-18T093055.737640Z"></a>
-2007-11-18T09:30:55.737640Z Russell Lang</strong></p>
+<p><strong><a name="2008-02-29T185314.162723Z"></a>
+2008-02-29T18:53:14.162723Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Remove incorrect and unnecessary gtk+ separation code. Fixes bug 689541.
+Add default FontResourceDir needed when COMPILE_INITS=1 is used so
+that the fonts from Resource/Font in the distribution directory that
+are built into %rom%Resource/Font/ will be found.
</pre>
-<p>[src/dxmain.c]</p>
+<p>[src/iccinit1.c]</p>
</blockquote>
-<p><strong><a name="2007-11-18T060720.783700Z"></a>
-2007-11-18T06:07:20.783700Z Igor Melichev</strong> (<a href="Details.htm#2007-11-18T060720.783700Z">details</a>)</p>
+<p><strong><a name="2008-02-29T081308.227205Z"></a>
+2008-02-29T08:13:08.227205Z Ray Johnston</strong> (<a href="Details.htm#2008-02-29T081308.227205Z">details</a>)</p>
<blockquote>
<pre>
-Fix (clist) : Improving the debug printing.
+Fix COMPILE_INITS=1. Note the next commit to the PCL tree will combine
+with this one, but we can't commit to both trees atomically.
</pre>
-<p>[src/gxclpath.h]</p>
+<p>[src/openvms.mak src/psromfs.mak src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/unixlink.mak src/os2.mak src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gsromfs0.c src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/watclib.mak]</p>
</blockquote>
-<p><strong><a name="2007-11-18T053055.503323Z"></a>
-2007-11-18T05:30:55.503323Z Igor Melichev</strong> (<a href="Details.htm#2007-11-18T053055.503323Z">details</a>)</p>
+<p><strong><a name="2008-02-28T145632.629339Z"></a>
+2008-02-28T14:56:32.629339Z Alex Cherepanov</strong> (<a href="Details.htm#2008-02-28T145632.629339Z">details</a>)</p>
<blockquote>
<pre>
-Fix (clist) : Improving the debug printing.
+Attempt to repair invalid embedded TT fonts without cmap table.
+Bug 689707, customer 531.
</pre>
-<p>[src/gstrans.c src/gdevp14.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-16T213922.306411Z"></a>
-2007-11-16T21:39:22.306411Z Ray Johnston</strong> (<a href="Details.htm#2007-11-16T213922.306411Z">details</a>)</p>
-<blockquote>
-<pre>
-Fix dependency problems that caused obj/gs_init.ps to be missed. Also fix a
-typo that caused CMap files to be missing.
-
-</pre>
-<p>[src/lib.mak src/int.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-16T211431.380613Z"></a>
-2007-11-16T21:14:31.380613Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct typos and spelling errors in the change log. Bug 688940.
-</pre>
-<p>[doc/History8.htm]</p>
+<p>[lib/gs_ttf.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-16T081105.046465Z"></a>
-2007-11-16T08:11:05.046465Z Igor Melichev</strong> (<a href="Details.htm#2007-11-16T081105.046465Z">details</a>)</p>
+<p><strong><a name="2008-02-27T193618.181168Z"></a>
+2008-02-27T19:36:18.181168Z Igor Melichev</strong> (<a href="Details.htm#2008-02-27T193618.181168Z">details</a>)</p>
<blockquote>
<pre>
-Fix (clist) : Providing clist instruction ids and offsets to debug trace (continued 2).
+Fix (clist interpreter) : Improve transparency performance, step 4a.
</pre>
-<p>[src/gxclread.c src/gxht.c]</p>
+<p>[lib/pdf_draw.ps lib/pdf_ops.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-16T021056.107493Z"></a>
-2007-11-16T02:10:56.107493Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-27T192257.279403Z"></a>
+2008-02-27T19:22:57.279403Z Igor Melichev</strong> (<a href="Details.htm#2008-02-27T192257.279403Z">details</a>)</p>
<blockquote>
<pre>
-Update the makefile for current pkgconfig macros.
-</pre>
-<p>[ijs/Makefile.am]</p>
-</blockquote>
+Fix (clist interpreter) : Improve transparency performance, step 4.
-<p><strong><a name="2007-11-16T015209.559298Z"></a>
-2007-11-16T01:52:09.559298Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Don't generate build files for the ijs package when building. Since this
-is distinct from 'make dist' the results are not optimal Bug 689425.
</pre>
-<p>[doc/Release.htm]</p>
+<p>[src/gstrans.c src/ztrans.c src/gdevpdft.c src/gstrans.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-11-15T072243.143761Z"></a>
-2007-11-15T07:22:43.143761Z Igor Melichev</strong> (<a href="Details.htm#2007-11-15T072243.143761Z">details</a>)</p>
+<p><strong><a name="2008-02-27T183931.036262Z"></a>
+2008-02-27T18:39:31.036262Z Igor Melichev</strong> (<a href="Details.htm#2008-02-27T183931.036262Z">details</a>)</p>
<blockquote>
<pre>
-Fix (clist) : Providing clist instruction ids and offsets to debug trace (continued).
-
-</pre>
-<p>[src/gxclist.c src/gxcldev.h src/gxclist.h src/gxp1fill.c src/gxclrast.c src/gxclread.c src/gxclpage.c src/gxclutil.c]</p>
-</blockquote>
+Fix (clist interpreter) : Improve transparency performance, step 3.
-<p><strong><a name="2007-11-14T230322.440437Z"></a>
-2007-11-14T23:03:22.440437Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove an obsolete include.
</pre>
-<p>[src/gendev.c]</p>
+<p>[src/gxistate.h]</p>
</blockquote>
-<p><strong><a name="2007-11-14T220613.972530Z"></a>
-2007-11-14T22:06:13.972530Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-27T004737.036819Z"></a>
+2008-02-27T00:47:37.036819Z Marcos Woehrmann</strong> (<a href="Details.htm#2008-02-27T004737.036819Z">details</a>)</p>
<blockquote>
<pre>
-Refactor the gs int.mak and lib,mak to simplify building COMPILE_INITS=1 without PS (PCL
-only build). Make sure gs/src/ugcclib.mak does conditional assignment of COMPILE_INITS
-</pre>
-<p>[src/lib.mak src/ugcclib.mak src/int.mak]</p>
-</blockquote>
+Added setting of fill_rule in pclxl_endpath().
-<p><strong><a name="2007-11-14T220453.375824Z"></a>
-2007-11-14T22:04:53.375824Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix number of macro arguments that showed an error when FPU_TYPE=-1 (no FPU)
</pre>
-<p>[src/gsciemap.c]</p>
+<p>[src/gdevpx.c]</p>
</blockquote>
-<p><strong><a name="2007-11-14T183745.596510Z"></a>
-2007-11-14T18:37:45.596510Z Igor Melichev</strong> (<a href="Details.htm#2007-11-14T183745.596510Z">details</a>)</p>
+<p><strong><a name="2008-02-27T000822.308407Z"></a>
+2008-02-27T00:08:22.308407Z Igor Melichev</strong> (<a href="Details.htm#2008-02-27T000822.308407Z">details</a>)</p>
<blockquote>
<pre>
-Fix (clist) : Providing clist instruction ids and offsets to debug trace.
+Fix (clist interpreter) : Improve transparency performance, step 2.
</pre>
-<p>[src/gxclist.c src/gxcldev.h src/gxclist.h src/gxclrast.c src/gxclread.c src/gxclutil.c]</p>
+<p>[src/lib.mak src/gxistate.h src/gsistate.c src/gdevpdfg.c]</p>
</blockquote>
-<p><strong><a name="2007-11-14T180902.242685Z"></a>
-2007-11-14T18:09:02.242685Z Igor Melichev</strong> (<a href="Details.htm#2007-11-14T180902.242685Z">details</a>)</p>
+<p><strong><a name="2008-02-26T231440.608304Z"></a>
+2008-02-26T23:14:40.608304Z Igor Melichev</strong> (<a href="Details.htm#2008-02-26T231440.608304Z">details</a>)</p>
<blockquote>
<pre>
-Fix (clist) : A preparation for providing clist instruction ids and offsets to debug trace.
+Fix (clist interpreter) : Improve transparency performance, step 1.
</pre>
-<p>[src/gxclist.h src/gxclrast.c]</p>
+<p>[src/gstrans.c src/gstrans.h]</p>
</blockquote>
-<p><strong><a name="2007-11-14T022253.263144Z"></a>
-2007-11-14T02:22:53.263144Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-26T071249.848447Z"></a>
+2008-02-26T07:12:49.848447Z Alex Cherepanov</strong> (<a href="Details.htm#2008-02-26T071249.848447Z">details</a>)</p>
<blockquote>
<pre>
-Add support for passing EXPAT_CFLAGS from the top-level makefile.
-Passing -DHAVE_MEMMOVE is required in the unix build.
-</pre>
-<p>[src/expat.mak]</p>
-</blockquote>
+Change the decimal separator in generated strings to '.' effectively selecting
+a C numeric locale without calling any locale functions. Bug 689624.
-<p><strong><a name="2007-11-14T020605.012311Z"></a>
-2007-11-14T02:06:05.012311Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove spurious executable bits.
</pre>
-<p>[expat/MANIFEST expat/conftools/expat.m4 expat/tests/benchmark/benchmark.c expat/lib/internal.h expat/COPYING expat/Changes expat/lib/utf8tab.h expat/tests/runtestspp.cpp expat/tests/runtests.c expat/lib/expatw_static.dsp expat/lib/libexpat.def expat/amiga/include/proto/expat.h expat/tests/README.txt expat/xmlwf/xmlfile.c expat/xmlwf/xmlfile.h expat/xmlwf/ct.c expat/lib/Makefile.MPW expat/xmlwf/codepage.c expat/vms/descrip.mms expat/xmlwf/codepage.h expat/bcb5/elements.bpf expat/lib/amigaconfig.h expat/amiga/expat_lib.c expat/bcb5/elements.bpr expat/lib/expat.h expat/win32/README.txt expat/conftools/get-version.sh expat/doc/valid-xhtml10.png expat/examples/outline.dsp expat/xmlwf/readfilemap.c expat/bcb5/outline.mak expat/lib/xmlrole.c expat/amiga/launch.c expat/bcb5/expat_static.mak expat/lib/xmlrole.h expat/lib/winconfig.h expat/examples/elements.dsp expat/win32/expat.iss expat/win32/MANIFEST.txt expat/amiga/expat.xml expat/bcb5/outline.bpf expat/expat_config.h.in expat/lib/libexpatw.def expat/lib/expatw.dsp expat/bcb5/expat.mak expat/lib/xmltok.c expat/vms/README.vms expat/tests/benchmark/README.txt expat/bcb5/expat_static.bpf expat/lib/xmltok.h expat/tests/xmltest.sh expat/lib/latin1tab.h expat/bcb5/outline.bpr expat/tests/minicheck.c expat/xmlwf/xmlwf.dsp expat/conftools/PrintPath expat/tests/minicheck.h expat/Makefile.in expat/lib/expat_static.dsp expat/bcb5/libexpat_mtd.def expat/bcb5/expat_static.bpr expat/lib/xmltok_impl.c expat/bcb5/expatw.mak expat/amiga/include/interfaces/expat.h expat/lib/xmltok_impl.h expat/xmlwf/filemap.h expat/bcb5/expatw_static.mak expat/vms/expat_config.h expat/bcb5/expat.bpf expat/xmlwf/xmlwin32url.cxx expat/lib/xmltok_ns.c expat/xmlwf/xmltchar.h expat/doc/reference.html expat/tests/benchmark/benchmark.dsp expat/bcb5/expat.bpr expat/bcb5/xmlwf.mak expat/bcb5/setup.bat expat/lib/xmlparse.c expat/tests/benchmark/benchmark.dsw expat/conftools/install-sh expat/configure.in expat/conftools/libtool.m4 expat/bcb5/expatw.bpf expat/amiga/Makefile expat/bcb5/expatw_static.bpf expat/bcb5/expatw.bpr expat/bcb5/expatw_static.bpr expat/bcb5/xmlwf.bpf expat/lib/expat_external.h expat/configure expat/lib/macconfig.h expat/conftools/ac_c_bigendian_cross.m4 expat/lib/ascii.h expat/amiga/expat_vectors.c expat/conftools/mkinstalldirs expat/bcb5/README.txt expat/amiga/README.txt expat/bcb5/xmlwf.bpr expat/xmlwf/unixfilemap.c expat/doc/xmlwf.sgml expat/bcb5/all_projects.bpg expat/xmlwf/xmlurl.h expat/doc/expat.png expat/amiga/include/inline4/expat.h expat/examples/elements.c expat/expat.dsw expat/amiga/stdlib.c expat/amiga/include/libraries/expat.h expat/lib/iasciitab.h expat/xmlwf/xmlmime.c expat/tests/chardata.c expat/xmlwf/xmlmime.h expat/doc/style.css expat/README expat/tests/chardata.h expat/conftools/config.guess expat/doc/xmlwf.1 expat/conftools/ltmain.sh expat/conftools/config.sub expat/lib/nametab.h expat/bcb5/libexpatw_mtd.def expat/lib/asciitab.h expat/xmlwf/xmlwf.c expat/lib/expat.dsp expat/examples/outline.c expat/xmlwf/win32filemap.c expat/bcb5/elements.mak expat/bcb5/makefile.mak]</p>
+<p>[src/spprint.c src/zdouble.c]</p>
</blockquote>
-<p><strong><a name="2007-11-13T185718.728921Z"></a>
-2007-11-13T18:57:18.728921Z Igor Melichev</strong> (<a href="Details.htm#2007-11-13T185718.728921Z">details</a>)</p>
+<p><strong><a name="2008-02-25T161043.614503Z"></a>
+2008-02-25T16:10:43.614503Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (make) : Could not build for x64 platform with Developer Studio 2005.
+Remove a space betveen -f and a file name to prevent parsing of the file name
+that starts with '-' as an options. Bug 689682.
</pre>
-<p>[src/msvccmd.mak]</p>
+<p>[lib/ps2pdfxx.bat]</p>
</blockquote>
-<p><strong><a name="2007-11-13T100155.069333Z"></a>
-2007-11-13T10:01:55.069333Z Ken Sharp</strong> (<a href="Details.htm#2007-11-13T100155.069333Z">details</a>)</p>
+<p><strong><a name="2008-02-25T054845.219666Z"></a>
+2008-02-25T05:48:45.219666Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite): type 3 fonts with exceedingly small BoundingBox
-entries were clamped to 0 or 1.
+Add a check for null value. Since rev. 6956 following Adobe implementation
+Ghostscript doesn't accept null as a key in dictionary look-up. Bug 689696.
</pre>
-<p>[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdfu.c src/gdevpdtw.c src/gdevpdtf.h]</p>
+<p>[lib/pdf2dsc.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-12T085935.891834Z"></a>
-2007-11-12T08:59:35.891834Z Ken Sharp</strong> (<a href="Details.htm#2007-11-12T085935.891834Z">details</a>)</p>
+<p><strong><a name="2008-02-25T042047.177440Z"></a>
+2008-02-25T04:20:47.177440Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite): named objects, created via a pdfmark such as /BP,
-could not have their content modified after the object was completed.
+When the values of the color key mask exceed the valid range clip them to the
+nearest valid values and continue. Don't discard the mask as we did before.
+Bug 689717, customer 580.
</pre>
-<p>[src/gdevpdfm.c]</p>
+<p>[lib/pdf_draw.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-10T172049.620638Z"></a>
-2007-11-10T17:20:49.620638Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-24T092154.361457Z"></a>
+2008-02-24T09:21:54.361457Z Igor Melichev</strong> (<a href="Details.htm#2008-02-24T092154.361457Z">details</a>)</p>
<blockquote>
<pre>
-Pre-scan the stream for '{' during the stream length check to avoid reading
-to the end of the stream and closing it. Bug 689551, customer 661.
+Fix (images) : Improve coordinate precision when scaling an image (continued 8).
</pre>
-<p>[lib/pdf_base.ps]</p>
+<p>[src/siscale.c]</p>
</blockquote>
-<p><strong><a name="2007-11-09T211804.579128Z"></a>
-2007-11-09T21:18:04.579128Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-24T033703.979896Z"></a>
+2008-02-24T03:37:03.979896Z Igor Melichev</strong> (<a href="Details.htm#2008-02-24T033703.979896Z">details</a>)</p>
<blockquote>
<pre>
-Remove the JVERSION makefile variable.
-
-We only support the current version 6 library, and it seems
-unlikely to revise in the the near future. We also include
-our own copy of the source now, so it is less important to
-support a variety of third party library versions.
-</pre>
-<p>[src/openvms.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/bcwin32.mak src/ugcclib.mak src/gs.mak src/Makefile.in doc/Make.htm src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/watclib.mak src/jpeg.mak]</p>
-</blockquote>
+Fix (images) : Improve coordinate precision when scaling an image (continued 7).
-<p><strong><a name="2007-11-09T211556.512922Z"></a>
-2007-11-09T21:15:56.512922Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove the PNGVERSION makefile variable.
-
-We no longer support building older versions of the libpng source,
-and now include our own version, so there is no reason to maintain
-this.
</pre>
-<p>[src/openvms.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/bcwin32.mak src/ugcclib.mak src/gs.mak src/libpng.mak doc/Make.htm src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/all-arch.mak src/watclib.mak]</p>
+<p>[src/gxiscale.c]</p>
</blockquote>
-<p><strong><a name="2007-11-09T210048.139238Z"></a>
-2007-11-09T21:00:48.139238Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-24T025834.824461Z"></a>
+2008-02-24T02:58:34.824461Z Alex Cherepanov</strong> (<a href="Details.htm#2008-02-24T025834.824461Z">details</a>)</p>
<blockquote>
<pre>
-Update the top level makefiles with the current libpng version number.
-</pre>
-<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/macos-mcp.mak src/msvclib.mak src/all-arch.mak src/openvms.mmk src/os2.mak src/watclib.mak]</p>
-</blockquote>
+Fix link errors in the file descriptor-based implementation of file streams.
+Move function used by both fd and stdio implementations to a separate file
+and compile it in both versions. Bug 688918.
-<p><strong><a name="2007-11-09T205819.833269Z"></a>
-2007-11-09T20:58:19.833269Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Use PNGSRCDIR and PNGVERSION instead of PSRCDIR and PVERSION in
-the top level makefiles.
</pre>
-<p>[src/openvms.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/bcwin32.mak src/ugcclib.mak src/gs.mak src/libpng.mak src/Makefile.in doc/Make.htm src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/all-arch.mak src/watclib.mak]</p>
+<p>[src/lib.mak src/sfxstdio.c src/sfxcommon.c]</p>
</blockquote>
-<p><strong><a name="2007-11-09T195457.891517Z"></a>
-2007-11-09T19:54:57.891517Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-24T011218.214936Z"></a>
+2008-02-24T01:12:18.214936Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Minor cleanup of the expat makefile.
+Add definitions of some C99 types missing from old versions of Cygwin.
</pre>
-<p>[src/expat.mak]</p>
+<p>[src/stdint_.h]</p>
</blockquote>
-<p><strong><a name="2007-11-09T011415.828665Z"></a>
-2007-11-09T01:14:15.828665Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-23T222601.799844Z"></a>
+2008-02-23T22:26:01.799844Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Change the jbig2dec license from GPLv2 to GPLv2 or later.
+Fix typo that caused Cygwin build to fail if 'fontconfig' package was present.
</pre>
-<p>[jbig2dec/LICENSE]</p>
+<p>[src/configure.ac]</p>
</blockquote>
-<p><strong><a name="2007-11-08T075721.838362Z"></a>
-2007-11-08T07:57:21.838362Z Suzuki Toshiya</strong> (<a href="Details.htm#2007-11-08T075721.838362Z">details</a>)</p>
+<p><strong><a name="2008-02-22T201808.422807Z"></a>
+2008-02-22T20:18:08.422807Z Igor Melichev</strong> (<a href="Details.htm#2008-02-22T201808.422807Z">details</a>)</p>
<blockquote>
<pre>
-Fix: Ignore problematic post table in format 2.0 with ISOLatin1Encoding glyph names.
+Fix (images) : Improve coordinate precision when scaling an image (continued 6).
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[src/gsimage.c src/lib.mak src/gxiscale.c src/siscale.c src/gdevm24.c]</p>
</blockquote>
-<p><strong><a name="2007-11-07T071345.310142Z"></a>
-2007-11-07T07:13:45.310142Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-22T102949.290734Z"></a>
+2008-02-22T10:29:49.290734Z Igor Melichev</strong> (<a href="Details.htm#2008-02-22T102949.290734Z">details</a>)</p>
<blockquote>
<pre>
-Preliminary makefile for the expat third party library.
+Fix (FAPI) : Embedded fonts didn't work (continued).
-Can be used to link to the system expat with SHARE_EXPAT=1,
-but compiling the source doesn't work on linux in this revision
-because of missing configuration defines.
</pre>
-<p>[src/gs.mak src/expat.mak]</p>
+<p>[src/zfapi.c]</p>
</blockquote>
-<p><strong><a name="2007-11-07T050406.063702Z"></a>
-2007-11-07T05:04:06.063702Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-22T100930.542153Z"></a>
+2008-02-22T10:09:30.542153Z Igor Melichev</strong> (<a href="Details.htm#2008-02-22T100930.542153Z">details</a>)</p>
<blockquote>
<pre>
-Copy the expat-2.0.1 tag source into the gs tree.
+Fix (FAPI) : Embedded fonts didn't work.
-This 3rd party library is needed for XPS and eventually SVG support.
-</pre>
-<p>[expat]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-07T041913.410191Z"></a>
-2007-11-07T04:19:13.410191Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Add a skeleton implementation of the text extraction device.
-It doesn't do anything useful yet, only prints "Hello world" once per page.
</pre>
-<p>[src/gdevtxtw.c src/bcwin32.mak src/openvms.mak src/macosx.mak src/watcw32.mak src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
+<p>[lib/gs_typ42.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-02T190903.093400Z"></a>
-2007-11-02T19:09:03.093400Z Marcos Woehrmann</strong></p>
+<p><strong><a name="2008-02-20T210248.212097Z"></a>
+2008-02-20T21:02:48.212097Z Igor Melichev</strong> (<a href="Details.htm#2008-02-20T210248.212097Z">details</a>)</p>
<blockquote>
<pre>
-Fix for Bug 689316.
-
-On some systems XInitImage() appears to have
-problems with images that are one pixel in height, so
-if XInitImage() returns an error call XPutImage() instead.
+Fix (images) : Improve coordinate precision when scaling an image (continued 5).
</pre>
-<p>[src/gdevx.c]</p>
+<p>[src/lib.mak src/gsmatrix.c src/gximono.c src/gxidata.c src/gsmatrix.h src/gdevm24.c src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-11-02T181645.038692Z"></a>
-2007-11-02T18:16:45.038692Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-18T202859.836803Z"></a>
+2008-02-18T20:28:59.836803Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Document the interaction between a the vector device beginpage method
-and gdev_vector_stream() more clearly.
-</pre>
-<p>[src/gdevvec.h]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-01T204928.224038Z"></a>
-2007-11-01T20:49:28.224038Z Ray Johnston</strong> (<a href="Details.htm#2007-11-01T204928.224038Z">details</a>)</p>
-<blockquote>
-<pre>
-Make sure that errors are propogated to caller in the WTS device (such
-as VMerror). Bug 689511 for customer 951.
-
+Propagate the new method argument change introduced in r8528 to the wts
+device so that it compiles again.
</pre>
<p>[src/gdevwts.c]</p>
</blockquote>
-<p><strong><a name="2007-11-01T172245.182105Z"></a>
-2007-11-01T17:22:45.182105Z Igor Melichev</strong> (<a href="Details.htm#2007-11-01T172245.182105Z">details</a>)</p>
-<blockquote>
-<pre>
-PS interpreter : Trace the executed operators' names (continued).
-
-</pre>
-<p>[src/iinit.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-01T162001.816428Z"></a>
-2007-11-01T16:20:01.816428Z Igor Melichev</strong> (<a href="Details.htm#2007-11-01T162001.816428Z">details</a>)</p>
-<blockquote>
-<pre>
-PS interpreter : Trace the executed operators' names.
-
-</pre>
-<p>[src/iinit.c doc/Use.htm src/int.mak src/iinit.h src/interp.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-01T155622.262417Z"></a>
-2007-11-01T15:56:22.262417Z Alex Cherepanov</strong> (<a href="Details.htm#2007-11-01T155622.262417Z">details</a>)</p>
+<p><strong><a name="2008-02-17T233650.588580Z"></a>
+2008-02-17T23:36:50.588580Z Igor Melichev</strong> (<a href="Details.htm#2008-02-17T233650.588580Z">details</a>)</p>
<blockquote>
<pre>
-Move a 32K array from the stack to the heap to save stack space.
+Fix (images) : Improve coordinate precision when scaling an image (continued 4).
</pre>
-<p>[src/gdevpdfi.c]</p>
+<p>[src/gxiscale.c src/siscale.c src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-10-31T170102.758539Z"></a>
-2007-10-31T17:01:02.758539Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-17T232547.528293Z"></a>
+2008-02-17T23:25:47.528293Z Igor Melichev</strong> (<a href="Details.htm#2008-02-17T232547.528293Z">details</a>)</p>
<blockquote>
<pre>
-Rewrite gs_getdefaultdevice to avoid allocating memory.
+Fix (images) : Improve coordinate precision when scaling an image (continued 3).
-The new version also skips tabs as whitespace and is more robust.
</pre>
-<p>[src/gsdevice.c]</p>
+<p>[src/lib.mak src/gxiscale.c src/gxfixed.h src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-10-31T170059.582623Z"></a>
-2007-10-31T17:00:59.582623Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-17T223215.427994Z"></a>
+2008-02-17T22:32:15.427994Z Igor Melichev</strong> (<a href="Details.htm#2008-02-17T223215.427994Z">details</a>)</p>
<blockquote>
<pre>
-Add a new GS_DEV_DEFAULT makefile variable for passing a preferred list
-of default devices, in order of priority. These are passed through to
-the C code, and searched for in gs_getdefaultdevice().
-</pre>
-<p>[src/gs.mak src/Makefile.in src/gscdefs.h src/gsdevice.c src/gscdef.c]</p>
-</blockquote>
+Fix (images) : Improve coordinate precision when scaling an image (continued 2).
-<p><strong><a name="2007-10-31T170055.551499Z"></a>
-2007-10-31T17:00:55.551499Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add Postcript bindings to gs_getdefaultdevice() and use them to set the
-default device in the interpreter. Bug 689273.
</pre>
-<p>[doc/Language.htm src/zdevice.c lib/gs_init.ps]</p>
+<p>[src/gxclist.c src/gxdevbuf.h src/gxdevmem.h src/gdevppla.c src/gdevmem.c src/gdevbmpa.c src/gdevprn.c src/gdevppla.h src/gdevm24.c src/gxclread.c src/gdevpng.c src/gdevprn.h src/gdevijs.c]</p>
</blockquote>
-<p><strong><a name="2007-10-31T170051.435508Z"></a>
-2007-10-31T17:00:51.435508Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-17T035945.216145Z"></a>
+2008-02-17T03:59:45.216145Z Ray Johnston</strong> (<a href="Details.htm#2008-02-17T035945.216145Z">details</a>)</p>
<blockquote>
<pre>
-Add a gs_getdefaultdevice() call and use it when printing the help
-message. It just returns the first device as before. Bug 689273.
-</pre>
-<p>[src/gsdevice.h src/imainarg.c src/gsdevice.c]</p>
-</blockquote>
+Fix for regressions introduced with rev 8526. Some resolutions of CMYK, 1-bit
+per component devices that had CMYK colors and Gray colors had strange dithers.
+Bug 689706.
-<p><strong><a name="2007-10-30T234546.184301Z"></a>
-2007-10-30T23:45:46.184301Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add missing dependencies to the contrib device build.
</pre>
-<p>[contrib/contrib.mak]</p>
+<p>[src/gxht.c]</p>
</blockquote>
-<p><strong><a name="2007-10-30T192601.651347Z"></a>
-2007-10-30T19:26:01.651347Z Igor Melichev</strong> (<a href="Details.htm#2007-10-30T192601.651347Z">details</a>)</p>
+<p><strong><a name="2008-02-14T083456.225081Z"></a>
+2008-02-14T08:34:56.225081Z Ray Johnston</strong> (<a href="Details.htm#2008-02-14T083456.225081Z">details</a>)</p>
<blockquote>
<pre>
-Fix (banding) : Improving the debug trace about compositors (continued).
+Improve Halftone tile cache efficiency. Make default cache large enough
+on default 32-bit (LARGE) configuration to allow for > 256 cache tiles
+when using the 'ht_ccsto.ps' 167x167 Threshold array. Change cache
+lookup logic to eliminate collisions when the number of cache slots
+exceeds the number of levels (the normal case). Remove duplicated
+ht cache default size #defines and normalize the names to end in
+_size (to imply size in bytes) and be consistent with other similar
+function/macro names.
</pre>
-<p>[src/gstrans.c]</p>
+<p>[src/gshtscr.c src/gzht.h src/gsht.c src/gdevprna.c src/gxht.c]</p>
</blockquote>
-<p><strong><a name="2007-10-30T174749.373667Z"></a>
-2007-10-30T17:47:49.373667Z Igor Melichev</strong> (<a href="Details.htm#2007-10-30T174749.373667Z">details</a>)</p>
+<p><strong><a name="2008-02-12T203017.540929Z"></a>
+2008-02-12T20:30:17.540929Z Igor Melichev</strong> (<a href="Details.htm#2008-02-12T203017.540929Z">details</a>)</p>
<blockquote>
<pre>
-Fix (banding) : Improving the debug trace about compositors.
+Fix (images) : Improve coordinate precision when scaling an image (continued).
</pre>
-<p>[src/gsropc.c doc/Use.htm src/gsalphac.c src/gsovrc.c src/gxclrast.c]</p>
+<p>[src/gxdda.h src/lib.mak src/gxiscale.c src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-10-30T005844.912591Z"></a>
-2007-10-30T00:58:44.912591Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-12T190319.125442Z"></a>
+2008-02-12T19:03:19.125442Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Add a cast to prevent a warning.
+Document the need to update the current documentation snapshot.
</pre>
-<p>[src/zfjpx.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-28T233359.326612Z"></a>
-2007-10-28T23:33:59.326612Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Move "true .setaccuratecurves" to the PDF graphic state initialization
-where it belongs. This fix enables accurate curve rendering by GSview
-doesn't use some parts of Ghostscript startup code. Bug 688434.
-
-</pre>
-<p>[lib/pdf_main.ps lib/pdf_ops.ps]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-28T182229.779063Z"></a>
-2007-10-28T18:22:29.779063Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct a typo.
-</pre>
-<p>[doc/Use.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-28T171747.899537Z"></a>
-2007-10-28T17:17:47.899537Z Alex Cherepanov</strong> (<a href="Details.htm#2007-10-28T171747.899537Z">details</a>)</p>
-<blockquote>
-<pre>
-Change pdf_base.ps::.pdfrun and pdf_sec.ps::.decpdfrun to ensure
-"PDFScanRules" == "true" while scanning the PDF, and if necessary revert
-it back to "null" before returning. Thanks to SaGS for the patch. Bug 688598.
-
-</pre>
-<p>[src/itoken.h lib/pdf_base.ps lib/pdf_sec.ps src/zusparam.c src/ztoken.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-28T141946.108672Z"></a>
-2007-10-28T14:19:46.108672Z Alex Cherepanov</strong> (<a href="Details.htm#2007-10-28T141946.108672Z">details</a>)</p>
-<blockquote>
-<pre>
-Stop reading the xref+trailer at the closing ">>" because PDF 1.7 Reference
-made "startxref" optional in some cases. Thanks to SaGS for thr patch.
-Bug 688283.
-
-</pre>
-<p>[lib/pdf_main.ps lib/pdf_rbld.ps]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-27T195500.858126Z"></a>
-2007-10-27T19:55:00.858126Z Igor Melichev</strong> (<a href="Details.htm#2007-10-27T195500.858126Z">details</a>)</p>
-<blockquote>
-<pre>
-Banding : Extend clist language with trapezoids, linear color trapezoids and linear color triangles (continued 9).
-
-</pre>
-<p>[src/gxclrast.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-27T185514.195971Z"></a>
-2007-10-27T18:55:14.195971Z Alex Cherepanov</strong> (<a href="Details.htm#2007-10-27T185514.195971Z">details</a>)</p>
-<blockquote>
-<pre>
-Extract and process default PDF file from the PDF collection when
-it is defined. Otherwise process the container PDF file.
-
-</pre>
-<p>[lib/pdf_main.ps lib/pdf2dsc.ps]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-26T074130.826491Z"></a>
-2007-10-26T07:41:30.826491Z Ken Sharp</strong> (<a href="Details.htm#2007-10-26T074130.826491Z">details</a>)</p>
-<blockquote>
-<pre>
-Fix (pdfwrite): Type 1 CharStrings could be converted to invalid
-type 2 CharStrings if the glyph program used implicit start points
-for subpaths.
-
-</pre>
-<p>[src/gdevpsfx.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-26T014956.180182Z"></a>
-2007-10-26T01:49:56.180182Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Merge makeset.tcl into makehist.tcl.
-</pre>
-<p>[toolbin/makehist.tcl toolbin/makeset.tcl]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-26T014954.293117Z"></a>
-2007-10-26T01:49:54.293117Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove obsolete release and diff scripts.
-</pre>
-<p>[toolbin/3way.tcl toolbin/makefonts.tcl toolbin/maketars.tcl toolbin/makemaster.tcl toolbin/makeset.tcl toolbin/makewin.tcl]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-26T010804.549848Z"></a>
-2007-10-26T01:08:04.549848Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Document how to use -dTTYPAUSE with -dSAFER. Bug 687988.
-</pre>
-<p>[doc/Use.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-25T221422.288695Z"></a>
-2007-10-25T22:14:22.288695Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct some gcc warnings.
-</pre>
-<p>[jbig2dec/config.h jbig2dec/jbig2_text.c jbig2dec/jbig2_image.h jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_generic.c jbig2dec/jbig2_page.c jbig2dec/jbig2_refinement.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-25T003018.383197Z"></a>
-2007-10-25T00:30:18.383197Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Include an example of how to create non-ASCII font names in the cidfmap.
-Bug 688203.
-</pre>
-<p>[doc/Use.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-24T233220.291355Z"></a>
-2007-10-24T23:32:20.291355Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Append the CUPS font directory to the search path. Bug 689334.
-</pre>
-<p>[src/configure.ac]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-24T224628.083133Z"></a>
-2007-10-24T22:46:28.083133Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add an XCFLAGS macro to the MSVC build to match the variable of the same
-name in the unix builds. This is intended mainly for adding preprocessor
-defines at make time. Bug 689530.
-</pre>
-<p>[src/msvc32.mak]</p>
+<p>[doc/Release.htm]</p>
</blockquote>
-<p><strong><a name="2007-10-24T224625.428278Z"></a>
-2007-10-24T22:46:25.428278Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-09T023031.322331Z"></a>
+2008-02-09T02:30:31.322331Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Only add XLDFLAGS to LDFLAGS temporarily when checking for the
-additional X libraries. Bug 689411.
+Clamp the number components read from the ICC DataSource array to the
+number actually allocated to avoid buffer overflow. CESA-2008-001.
</pre>
-<p>[src/configure.ac]</p>
+<p>[src/zicc.c]</p>
</blockquote>
-<p><strong><a name="2007-10-24T183955.448984Z"></a>
-2007-10-24T18:39:55.448984Z Ralph Giles</strong> (<a href="Details.htm#2007-10-24T183955.448984Z">details</a>)</p>
+<p><strong><a name="2008-02-09T005538.575949Z"></a>
+2008-02-09T00:55:38.575949Z Ralph Giles</strong> (<a href="Details.htm#2008-02-09T005538.575949Z">details</a>)</p>
<blockquote>
<pre>
-Use the proper build machinery to link to cups.
+Include 12 and 16 bit image support as part of the core graphics
+library. Bug 689688.
</pre>
-<p>[src/Makefile.in src/configure.ac cups/cups.mak]</p>
+<p>[src/lib.mak src/int.mak]</p>
</blockquote>
-<p><strong><a name="2007-10-24T183951.211490Z"></a>
-2007-10-24T18:39:51.211490Z Ralph Giles</strong> (<a href="Details.htm#2007-10-24T183951.211490Z">details</a>)</p>
+<p><strong><a name="2008-02-07T093322.506379Z"></a>
+2008-02-07T09:33:22.506379Z Ken Sharp</strong> (<a href="Details.htm#2008-02-07T093322.506379Z">details</a>)</p>
<blockquote>
<pre>
-Abstract the autoconf build's link line flattening for generic use.
+Fix (pdfwrite): problems with unusual PDF text rendering modes.
</pre>
-<p>[src/configure.ac]</p>
+<p>[src/gdevpdts.c src/gdevpdtt.c lib/pdf_ops.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-24T073109.815969Z"></a>
-2007-10-24T07:31:09.815969Z Ken Sharp</strong> (<a href="Details.htm#2007-10-24T073109.815969Z">details</a>)</p>
+<p><strong><a name="2008-02-04T221808.283584Z"></a>
+2008-02-04T22:18:08.283584Z Igor Melichev</strong> (<a href="Details.htm#2008-02-04T221808.283584Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : An integer arithmetic overflow while converting Type 1 CharStrings into Type 2.
+Fix (images) : Improve coordinate precision when scaling an image.
</pre>
-<p>[src/gstype1.c src/gdevpsfx.c src/gxtype1.h]</p>
+<p>[src/lib.mak src/gxidata.c src/gdevddrw.c src/gdevm24.c src/gxclread.c src/gxi12bit.c src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-10-23T034859.052392Z"></a>
-2007-10-23T03:48:59.052392Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-03T175423.256452Z"></a>
+2008-02-03T17:54:23.256452Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Handle yet another type of broken PDF generated by Adobe Acrobat 8.1
-that lacks startxref operator. Bug 689413, customer 531.
-
+Modify pdf_info utility to match the changes in PDF interpreter interface.
+Bug 689680.
</pre>
-<p>[lib/pdf_main.ps]</p>
+<p>[toolbin/pdf_info.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-21T204929.646397Z"></a>
-2007-10-21T20:49:29.646397Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-01T220551.322620Z"></a>
+2008-02-01T22:05:51.322620Z Igor Melichev</strong> (<a href="Details.htm#2008-02-01T220551.322620Z">details</a>)</p>
<blockquote>
<pre>
-Process duplicate entries in PDF 1.5 context stream the same way as
-the entries from regular streams: the first entry found (i.e. the last
-in the xref chain) takes efferct. Keep rebuilding logic intact, where
-the last entry wins. Bug 689513, customer 700.
+Fix (graphics) : Interpolated images were shifed in a half of source pixel.
</pre>
-<p>[lib/pdf_main.ps lib/pdf_rbld.ps]</p>
+<p>[src/siscale.c]</p>
</blockquote>
-<p><strong><a name="2007-10-20T231430.016619Z"></a>
-2007-10-20T23:14:30.016619Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-31T222032.934182Z"></a>
+2008-01-31T22:20:32.934182Z Ray Johnston</strong> (<a href="Details.htm#2008-01-31T222032.934182Z">details</a>)</p>
<blockquote>
<pre>
-Check for unbalanced q operators in the pattern stream and add Q as needed.
-Bug 689523, customer 870.
+Fix ColorValues parameter problem when device has total number of bits (depth)
+of more than 31 bits, resulting in a "rangecheck" (-15) error.
</pre>
-<p>[lib/pdf_draw.ps]</p>
+<p>[src/gsdparam.c]</p>
</blockquote>
-<p><strong><a name="2007-10-20T191428.348994Z"></a>
-2007-10-20T19:14:28.348994Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-29T170250.720617Z"></a>
+2008-01-29T17:02:50.720617Z Igor Melichev</strong> (<a href="Details.htm#2008-01-29T170250.720617Z">details</a>)</p>
<blockquote>
<pre>
-Make IGC_PTR_STABILITY_CHECK an independent compile-time flag that can be set
-from the command line without editing gxobj.h .
+Fix (graphics) : Optimize filling a path with a shading color (continued 2).
</pre>
-<p>[src/gxobj.h]</p>
+<p>[src/gsptype2.c src/gsptype2.h src/gximask.c src/gxfill.c]</p>
</blockquote>
-<p><strong><a name="2007-10-20T163438.276462Z"></a>
-2007-10-20T16:34:38.276462Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-29T124142.337727Z"></a>
+2008-01-29T12:41:42.337727Z mpsuzuki</strong> (<a href="Details.htm#2008-01-29T124142.337727Z">details</a>)</p>
<blockquote>
<pre>
-Relax ICCBased color space validation. Don't reject correct PDF files that have
-ICCBased color space as an alternative color space to another ICCBased color
-space. Bug 689524, customer 870.
+Fix (TT): Ignore broken post 2.0 table generated by "Windows Type 1 Installer".
</pre>
-<p>[lib/gs_icc.ps]</p>
+<p>[lib/gs_ttf.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-20T005555.884848Z"></a>
-2007-10-20T00:55:55.884848Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-29T115450.007576Z"></a>
+2008-01-29T11:54:50.007576Z Igor Melichev</strong> (<a href="Details.htm#2008-01-29T115450.007576Z">details</a>)</p>
<blockquote>
<pre>
-Pass the CFLAGS obtained for fontconfig from pkg-config separately
-to avoid contaminating the general build.
-</pre>
-<p>[src/Makefile.in src/configure.ac src/unix-aux.mak]</p>
-</blockquote>
+Fix (graphics) : Optimize filling a path with a shading color (continued).
-<p><strong><a name="2007-10-20T003723.775560Z"></a>
-2007-10-20T00:37:23.775560Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove a redundant check for pkg-config.
</pre>
-<p>[src/configure.ac]</p>
+<p>[src/gximask.c]</p>
</blockquote>
-<p><strong><a name="2007-10-20T003719.682121Z"></a>
-2007-10-20T00:37:19.682121Z Ralph Giles</strong> (<a href="Details.htm#2007-10-20T003719.682121Z">details</a>)</p>
+<p><strong><a name="2008-01-28T230259.180158Z"></a>
+2008-01-28T23:02:59.180158Z Igor Melichev</strong> (<a href="Details.htm#2008-01-28T230259.180158Z">details</a>)</p>
<blockquote>
<pre>
-Look for fontconfig even if pkg-config doesn't find it.
+Fix (graphics) : Optimize filling a path with a shading color.
</pre>
-<p>[src/configure.ac]</p>
+<p>[src/gsptype2.c src/gsptype2.h src/gxfill.c]</p>
</blockquote>
-<p><strong><a name="2007-10-18T185854.836534Z"></a>
-2007-10-18T18:58:54.836534Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-28T103145.187261Z"></a>
+2008-01-28T10:31:45.187261Z mpsuzuki</strong> (<a href="Details.htm#2008-01-28T103145.187261Z">details</a>)</p>
<blockquote>
<pre>
-Install header files as data, not executables. Bug 689466.
-</pre>
-<p>[src/unix-dll.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-18T003637.403207Z"></a>
-2007-10-18T00:36:37.403207Z Ralph Giles</strong> (<a href="Details.htm#2007-10-18T003637.403207Z">details</a>)</p>
-<blockquote>
-<pre>
-Remove a spurious CFLAGS instance from the jasper compile line.
+Fix: ignore the embedded font resource when PDF interpreter resolves
+ the unembedded font resource.
</pre>
-<p>[src/jasper.mak]</p>
+<p>[lib/pdf_font.ps src/zfont.c]</p>
</blockquote>
-<p><strong><a name="2007-10-18T000555.933230Z"></a>
-2007-10-18T00:05:55.933230Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-28T095854.861949Z"></a>
+2008-01-28T09:58:54.861949Z mpsuzuki</strong> (<a href="Details.htm#2008-01-28T095854.861949Z">details</a>)</p>
<blockquote>
<pre>
-Replace our included libpng with the new upstream 1.2.22 release.
-</pre>
-<p>[libpng]</p>
-</blockquote>
+Fix (TT): Fix a bug in /getinterval_from_stringarray
-<p><strong><a name="2007-10-18T000145.449158Z"></a>
-2007-10-18T00:01:45.449158Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Move the current copy of libpng out of the way for a pending update.
</pre>
-<p>[libpng]</p>
+<p>[lib/gs_ttf.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-17T230450.954798Z"></a>
-2007-10-17T23:04:50.954798Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-28T085010.139318Z"></a>
+2008-01-28T08:50:10.139318Z Igor Melichev</strong> (<a href="Details.htm#2008-01-28T085010.139318Z">details</a>)</p>
<blockquote>
<pre>
-Avoid memory corruption with broken files.
+Fix (clist & transparency) : Improve the compositor queue logic (continued).
-Patch from the Ubuntu libjasper package.
</pre>
-<p>[jasper/src/libjasper/jpc/jpc_cs.c jasper/src/libjasper/jpc/jpc_dec.c jasper/src/libjasper/jp2/jp2_cod.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-16T075408.209510Z"></a>
-2007-10-16T07:54:08.209510Z Ken Sharp</strong> (<a href="Details.htm#2007-10-16T075408.209510Z">details</a>)</p>
+<p><strong><a name="2008-01-28T084521.850870Z"></a>
+2008-01-28T08:45:21.850870Z Igor Melichev</strong> (<a href="Details.htm#2008-01-28T084521.850870Z">details</a>)</p>
<blockquote>
<pre>
-ps2write: When encountering font names which contain unfortunate characters
-such as white space, or delimiters, emit the name as an escaped string and
-'cvn' instead of a literal name.
-
-</pre>
-<p>[src/gdevpsf1.c lib/opdfread.ps]</p>
-</blockquote>
+Fix (clist & transparency) : Improve the compositor queue logic.
-<p><strong><a name="2007-10-16T003628.849878Z"></a>
-2007-10-16T00:36:28.849878Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Don't override the memory set by the caller in the JPXDecode stream.
</pre>
-<p>[src/sjpx.c]</p>
+<p>[src/gxclrast.c]</p>
</blockquote>
-<p><strong><a name="2007-10-16T003627.806530Z"></a>
-2007-10-16T00:36:27.806530Z Ralph Giles</strong> (<a href="Details.htm#2007-10-16T003627.806530Z">details</a>)</p>
+<p><strong><a name="2008-01-26T132127.618379Z"></a>
+2008-01-26T13:21:27.618379Z Igor Melichev</strong> (<a href="Details.htm#2008-01-26T132127.618379Z">details</a>)</p>
<blockquote>
<pre>
-It's the client's responsibility to call the set_defaults
-method on a new stream. Bug 689362.
+Fix (transparency) : Memory leak after an image with soft mask.
</pre>
-<p>[src/zfjpx.c src/sjpx.c]</p>
+<p>[src/gstrans.c src/ztrans.c src/gstparam.h src/gstrans.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-15T223154.394164Z"></a>
-2007-10-15T22:31:54.394164Z Henry Stiles</strong></p>
+<p><strong><a name="2008-01-25T081716.431601Z"></a>
+2008-01-25T08:17:16.431601Z Igor Melichev</strong> (<a href="Details.htm#2008-01-25T081716.431601Z">details</a>)</p>
<blockquote>
<pre>
-Error code from clist_decode_segment did not propagate back because
-the inner automatic variable code shadowed the outer.
+Fix (Font renderer) : Horizontal metrics sometimes applied with WMode 1 fonts.
</pre>
-<p>[src/gxclrast.c]</p>
+<p>[src/int.mak src/zchar1.c]</p>
</blockquote>
-<p><strong><a name="2007-10-15T180918.231759Z"></a>
-2007-10-15T18:09:18.231759Z Ray Johnston</strong> (<a href="Details.htm#2007-10-15T180918.231759Z">details</a>)</p>
+<p><strong><a name="2008-01-23T211316.354024Z"></a>
+2008-01-23T21:13:16.354024Z Igor Melichev</strong> (<a href="Details.htm#2008-01-23T211316.354024Z">details</a>)</p>
<blockquote>
<pre>
-Prevent C-stack overflow caused by infinite recursion. Related to
-previous fix in same function to access the correct target color
-procedure.
+Fix (clist & transparency) : Inconsisting compressed color index info.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-15T131116.778228Z"></a>
-2007-10-15T13:11:16.778228Z Ken Sharp</strong> (<a href="Details.htm#2007-10-15T131116.778228Z">details</a>)</p>
+<p><strong><a name="2008-01-23T183335.648405Z"></a>
+2008-01-23T18:33:35.648405Z Igor Melichev</strong> (<a href="Details.htm#2008-01-23T183335.648405Z">details</a>)</p>
<blockquote>
<pre>
-pdfwrite: When writing the /CreationDate /ModDate keys in the Info dictionary,
-properly write the system local time instead of UTC.
+Fix (DSC parser) : Avoid a structure type name duplicate.
</pre>
-<p>[src/gdevpdf.c]</p>
+<p>[src/zdscpars.c]</p>
</blockquote>
-<p><strong><a name="2007-10-15T064304.430544Z"></a>
-2007-10-15T06:43:04.430544Z Marcos Woehrmann</strong> (<a href="Details.htm#2007-10-15T064304.430544Z">details</a>)</p>
+<p><strong><a name="2008-01-23T181227.956590Z"></a>
+2008-01-23T18:12:27.956590Z Igor Melichev</strong> (<a href="Details.htm#2008-01-23T181227.956590Z">details</a>)</p>
<blockquote>
<pre>
-Added code to the pxlcolor device (gdevpx.c) to set the color space even
-if the test for "portrait transformations" fails.
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix (continued).
</pre>
-<p>[src/gdevpx.c]</p>
+<p>[src/gdevpdfi.c src/zpcolor.c]</p>
</blockquote>
-<p><strong><a name="2007-10-12T202208.884187Z"></a>
-2007-10-12T20:22:08.884187Z Ray Johnston</strong> (<a href="Details.htm#2007-10-12T202208.884187Z">details</a>)</p>
+<p><strong><a name="2008-01-23T180949.970130Z"></a>
+2008-01-23T18:09:49.970130Z Igor Melichev</strong> (<a href="Details.htm#2008-01-23T180949.970130Z">details</a>)</p>
<blockquote>
<pre>
-Fix SEGV when clist used with pdf14_cmykspot device.
-Bug 689493 for customer #190.
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gsptype1.c]</p>
</blockquote>
-<p><strong><a name="2007-10-12T163807.833396Z"></a>
-2007-10-12T16:38:07.833396Z Ray Johnston</strong> (<a href="Details.htm#2007-10-12T163807.833396Z">details</a>)</p>
+<p><strong><a name="2008-01-23T164951.344351Z"></a>
+2008-01-23T16:49:51.344351Z Ken Sharp</strong> (<a href="Details.htm#2008-01-23T164951.344351Z">details</a>)</p>
<blockquote>
<pre>
-Fix divide by zero crash. Bug 689493 reported by customer #190.
+Fix (pdfwrite): Wrong format string for pprintg.
</pre>
-<p>[src/gdevprn.c]</p>
+<p>[src/gdevpdfu.c]</p>
</blockquote>
-<p><strong><a name="2007-10-11T163626.031981Z"></a>
-2007-10-11T16:36:26.031981Z Ray Johnston</strong> (<a href="Details.htm#2007-10-11T163626.031981Z">details</a>)</p>
+<p><strong><a name="2008-01-23T133039.283039Z"></a>
+2008-01-23T13:30:39.283039Z Igor Melichev</strong> (<a href="Details.htm#2008-01-23T133039.283039Z">details</a>)</p>
<blockquote>
<pre>
-Fix incorrect colors with transparency to cmyk+spot devices (such as tiffsep).
-Bug 689494 for customer #190.
+Fix (shadings) : A memory deallocation problem.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/lib.mak src/gsptype2.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T230218.957895Z"></a>
-2007-10-10T23:02:18.957895Z Igor Melichev</strong> (<a href="Details.htm#2007-10-10T230218.957895Z">details</a>)</p>
+<p><strong><a name="2008-01-23T132309.676697Z"></a>
+2008-01-23T13:23:09.676697Z Till Kamppeter</strong></p>
<blockquote>
<pre>
-Fix (stroking) : Prevent installing an extra clipper device, step 2.
-
+Added HP's KRGB patch for improved control of true black text printing on color printers with HPIJS. Bug #689065 (Ubuntu LP: #69905) is fixed in this updated version of the patch.
</pre>
-<p>[src/gxstroke.c]</p>
+<p>[src/gdevijs.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T184235.474048Z"></a>
-2007-10-10T18:42:35.474048Z Ralph Giles</strong> (<a href="Details.htm#2007-10-10T184235.474048Z">details</a>)</p>
+<p><strong><a name="2008-01-21T205955.657274Z"></a>
+2008-01-21T20:59:55.657274Z Igor Melichev</strong> (<a href="Details.htm#2008-01-21T205955.657274Z">details</a>)</p>
<blockquote>
<pre>
-Pass the results of calling cups-config to cups.mak from configure
-through the top-level makefile rather than calling cups-config directly,
-so that passing an alternate cups environment to configure works.
-Bug 689496.
+Fix (save/restore) : Remove gs_ref_memory_s::inherited.
</pre>
-<p>[src/Makefile.in src/configure.ac cups/cups.mak]</p>
+<p>[src/gxalloc.h src/igc.c src/gsalloc.c src/isave.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T174038.235834Z"></a>
-2007-10-10T17:40:38.235834Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-20T222307.686290Z"></a>
+2008-01-20T22:23:07.686290Z Igor Melichev</strong> (<a href="Details.htm#2008-01-20T222307.686290Z">details</a>)</p>
<blockquote>
<pre>
-Turn on keyword substitution on pdf_cslayer.ps. This is the correct fix
-for the issue mentinoed in r8283. Also set native line endings and
-remove some spurious executable properties.
-</pre>
-<p>[lib/EndOfTask.ps lib/PDFX_def.ps lib/PDFA_def.ps lib/dumphint.ps lib/pdf_cslayer.ps]</p>
-</blockquote>
+Fix (save/restore) : Do not create invisible save levels.
-<p><strong><a name="2007-10-10T161923.023493Z"></a>
-2007-10-10T16:19:23.023493Z Marcos Woehrmann</strong></p>
-<blockquote>
-<pre>
-Fixed Id line to make nightly regression run happy.
</pre>
-<p>[lib/pdf_cslayer.ps]</p>
+<p>[src/isave.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T152826.622499Z"></a>
-2007-10-10T15:28:26.622499Z Igor Melichev</strong> (<a href="Details.htm#2007-10-10T152826.622499Z">details</a>)</p>
+<p><strong><a name="2008-01-20T095615.017727Z"></a>
+2008-01-20T09:56:15.017727Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (stroking) : Prevent installing an extra clipper device.
-
+Only report the ICC Profile colorspace when the jasper library's debug
+level is above zero. Bug 689662.
</pre>
-<p>[src/gxstroke.c]</p>
+<p>[jasper/src/libjasper/jp2/jp2_dec.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T101345.175824Z"></a>
-2007-10-10T10:13:45.175824Z Igor Melichev</strong> (<a href="Details.htm#2007-10-10T101345.175824Z">details</a>)</p>
+<p><strong><a name="2008-01-20T092115.660626Z"></a>
+2008-01-20T09:21:15.660626Z Igor Melichev</strong> (<a href="Details.htm#2008-01-20T092115.660626Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdf14 device) : Optimize the buffer backdropping, step 2.
+Fix (save/restore) : Compact the changes list against big memory leak.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gxalloc.h src/gsalloc.c src/isave.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T093832.826812Z"></a>
-2007-10-10T09:38:32.826812Z Igor Melichev</strong> (<a href="Details.htm#2007-10-10T093832.826812Z">details</a>)</p>
+<p><strong><a name="2008-01-18T215038.830947Z"></a>
+2008-01-18T21:50:38.830947Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdf14 device) : Optimize the buffer backdropping, step 1.
+Explicitly close CMap files opened during CMap-CIDFont font enumeration.
+On certain systems file handles were used up before GC freed inaccessible
+handles causing PostScript errors. Bug 689594.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[lib/gs_cidcm.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-10T085939.164904Z"></a>
-2007-10-10T08:59:39.164904Z Igor Melichev</strong> (<a href="Details.htm#2007-10-10T085939.164904Z">details</a>)</p>
+<p><strong><a name="2008-01-18T061702.734368Z"></a>
+2008-01-18T06:17:02.734368Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdf14 device) : Don't allocate transparency buffer for bands that appear outside the transparency bounding box.
-
+Add redefinition of setpagedevice to ps2epsi utility to support PS files
+that call setpagedevice. Bug 689650.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[lib/ps2epsi lib/ps2epsi.ps lib/ps2epsi.cmd lib/ps2epsi.bat]</p>
</blockquote>
-<p><strong><a name="2007-10-10T081249.566532Z"></a>
-2007-10-10T08:12:49.566532Z Igor Melichev</strong> (<a href="Details.htm#2007-10-10T081249.566532Z">details</a>)</p>
+<p><strong><a name="2008-01-17T135043.754302Z"></a>
+2008-01-17T13:50:43.754302Z Igor Melichev</strong> (<a href="Details.htm#2008-01-17T135043.754302Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdf14 device) : Properly intersect rects when composing transparency buffers (continued 2).
+Fix (clist interpreter) : Skip idle compositors, step 6.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-09T193327.492485Z"></a>
-2007-10-09T19:33:27.492485Z Till Kamppeter</strong></p>
-<blockquote>
-<pre>
-On "make soinstall" some files did not get installed.
-</pre>
-<p>[src/unix-dll.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-09T170249.926924Z"></a>
-2007-10-09T17:02:49.926924Z Igor Melichev</strong> (<a href="Details.htm#2007-10-09T170249.926924Z">details</a>)</p>
+<p><strong><a name="2008-01-17T134711.707889Z"></a>
+2008-01-17T13:47:11.707889Z Igor Melichev</strong> (<a href="Details.htm#2008-01-17T134711.707889Z">details</a>)</p>
<blockquote>
<pre>
-Fix (FAPI / UFST bridge) : A crash when processing an embedded CIDFontType 11.
+Fix (visual trace) : Add a single pixels painting operation.
</pre>
-<p>[src/fapiufst.c]</p>
+<p>[src/vdtrace.h src/vdtrace.c src/dwtrace.c]</p>
</blockquote>
-<p><strong><a name="2007-10-09T082849.108879Z"></a>
-2007-10-09T08:28:49.108879Z Ken Sharp</strong> (<a href="Details.htm#2007-10-09T082849.108879Z">details</a>)</p>
+<p><strong><a name="2008-01-17T133719.476394Z"></a>
+2008-01-17T13:37:19.476394Z Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite: Allow downsampling of images in a /Indexed colour space, provided the
-downsampling type is 'subsample'.
-
+Fix : Cygwin/gcc warnings.
</pre>
-<p>[src/gdevpsdi.c src/gdevpdfi.c]</p>
+<p>[src/gdevcgm.c src/int.mak src/gstrans.c src/gdevpdfe.c src/gdevbit.c src/devs.mak src/gxclread.c src/gscdevn.c src/gscie.c src/gxclutil.c src/lib.mak src/gdevp2up.c src/gxclmem.c src/gdevdflt.c src/gdevpdtd.c src/gxcomp.h src/gsovrc.c src/gdevprn.c src/gscsepr.c src/genarch.c src/ztoken.c src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-09T000624.193850Z"></a>
-2007-10-09T00:06:24.193850Z Igor Melichev</strong> (<a href="Details.htm#2007-10-09T000624.193850Z">details</a>)</p>
+<p><strong><a name="2008-01-17T031602.921192Z"></a>
+2008-01-17T03:16:02.921192Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (font emulation) : Could not handle unknown Ordering with FAPI.
-
+Comment-only change: remove obsolete reference to MS-DOS limitations and
+mention that PDF interpreter passes un-escaped font names to PS level.
+Bug 689651.
</pre>
-<p>[lib/gs_fntem.ps]</p>
+<p>[lib/Fontmap.GS]</p>
</blockquote>
-<p><strong><a name="2007-10-08T100533.511010Z"></a>
-2007-10-08T10:05:33.511010Z Ken Sharp</strong> (<a href="Details.htm#2007-10-08T100533.511010Z">details</a>)</p>
+<p><strong><a name="2008-01-17T031245.266699Z"></a>
+2008-01-17T03:12:45.266699Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-pdfwrite: Alter the AIIM URL emitted when creating PDF/A files.
+Remove the warning about non-embedded TrueType fonts in PDF files because it
+confuses users but seems to have little effect on the main producer of
+non-conforming files.
</pre>
-<p>[src/gdevpdfe.c]</p>
+<p>[lib/pdf_main.ps lib/pdf_font.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-08T071332.510990Z"></a>
-2007-10-08T07:13:32.510990Z Ken Sharp</strong> (<a href="Details.htm#2007-10-08T071332.510990Z">details</a>)</p>
+<p><strong><a name="2008-01-16T233548.055065Z"></a>
+2008-01-16T23:35:48.055065Z Ralph Giles</strong></p>
<blockquote>
<pre>
-pdfwrite: when encountering a glyph in a type 3 font for which no Charproc is defined
-emit a simple setcachedevice operation instead of an empty stream.
-
+Unbreak the build.
</pre>
-<p>[src/gdevpdtt.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-07T180911.121700Z"></a>
-2007-10-07T18:09:11.121700Z Igor Melichev</strong> (<a href="Details.htm#2007-10-07T180911.121700Z">details</a>)</p>
+<p><strong><a name="2008-01-16T225542.290132Z"></a>
+2008-01-16T22:55:42.290132Z Igor Melichev</strong> (<a href="Details.htm#2008-01-16T225542.290132Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Ignore font errors that do not belong to embedded subset.
+Fix (clist interpreter) : Skip idle compositors, step 5.
</pre>
-<p>[src/gdevpdtb.c src/gsfont.c]</p>
+<p>[src/lib.mak src/zdict.c src/gdevdflt.c src/gdevp14.h src/gstrans.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstparam.h src/gstrans.h src/gxclrast.c src/gsovrc.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-04T064654.927607Z"></a>
-2007-10-04T06:46:54.927607Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-09T003630.938192Z"></a>
+2008-01-09T00:36:30.938192Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Revert a change inadvertently included r8257. This broke the MSVC
-build, which does not define CC_SHARED.
+Fixed umlauts (maybe, am having trouble testing the results).
</pre>
-<p>[src/lib.mak]</p>
+<p>[man/de/pdf2dsc.1]</p>
</blockquote>
-<p><strong><a name="2007-10-03T173735.315273Z"></a>
-2007-10-03T17:37:35.315273Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-09T002450.313955Z"></a>
+2008-01-09T00:24:50.313955Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Revert patch 8268 (restoring the FCOfontmap-* files) and add the Encoding/
-directory to the RESOURCE_LIST so that it will be include in the %rom%
-file system. This is the _real_ fix to bug #689050 and explains why the
-symptoms appeared to be related to having Wingdings installed on the
-system. Thanks to Henry and Igor in pointing out the incorrect Encoding
-used in the previous patch that led me to the actual problem.
+Corrected man page (thanks to Peter Dyballa).
</pre>
-<p>[lib/FCOfontmap-PCLPS3 lib/FCOfontmap-PS3 src/int.mak lib/FCOfontmap-PCLPS2]</p>
+<p>[man/de/pdf2dsc.1]</p>
</blockquote>
-<p><strong><a name="2007-10-03T044018.040901Z"></a>
-2007-10-03T04:40:18.040901Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-09T000059.719986Z"></a>
+2008-01-09T00:00:59.719986Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix FCOfontmap-* files so that Wingdings will be found.
-Bug #689050 for customer #951.
+Add unmodified byte-oriented AES encryption code by Brian Gladman. These
+files serve as a reference point. They are not yet included into any
+project nor can be compiled by some of the compilers we support.
</pre>
-<p>[lib/FCOfontmap-PCLPS3 lib/FCOfontmap-PS3 lib/FCOfontmap-PCLPS2]</p>
+<p>[src/aes.h src/aes.c]</p>
</blockquote>
-<p><strong><a name="2007-10-03T001812.256656Z"></a>
-2007-10-03T00:18:12.256656Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-07T205840.018332Z"></a>
+2008-01-07T20:58:40.018332Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Document the .IgnoreNumCopies device parameter. Bug 689491.
+Remove the obsolete gconfigv.h.
</pre>
-<p>[doc/Use.htm doc/Language.htm]</p>
+<p>[src/lib.mak toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/std.h src/gscdefs.h src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
-<p><strong><a name="2007-10-02T235530.880679Z"></a>
-2007-10-02T23:55:30.880679Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-07T205836.882379Z"></a>
+2008-01-07T20:58:36.882379Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Add extraction of layer information from Illustratir CS2/CS3 PDF files
-to the code base but don't run it in the default configuration.
+Remove EXTEND_NAMES from the top level makefiles.
+There is a fallback to the default value of 0 in inameidx.h so there
+is no change in the default behaviour. The extended name table can
+still be activated by defining EXTEND_NAMES on the compiler command
+line or changing the source directly.
</pre>
-<p>[src/int.mak doc/Develop.htm lib/pdf_cslayer.ps]</p>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak doc/Use.htm src/int.mak src/macosx.mak src/Makefile.in src/inameidx.h src/unix-gcc.mak src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
-<p><strong><a name="2007-10-02T073158.125500Z"></a>
-2007-10-02T07:31:58.125500Z Ken Sharp</strong> (<a href="Details.htm#2007-10-02T073158.125500Z">details</a>)</p>
+<p><strong><a name="2008-01-07T184302.811990Z"></a>
+2008-01-07T18:43:02.811990Z Henry Stiles</strong></p>
<blockquote>
<pre>
-pdfwrite: Convert 'text' followed by 'text charpath stroke' to a single text
-operation by using text rendering mode 2.
-
+Deprecate USE_FPU, no changes expected.
</pre>
-<p>[src/gdevpdfx.h src/gxchar.c src/gdevpdts.c src/gdevpdtt.c src/gzpath.h src/gdevpdfd.c src/gdevpdts.h src/gdevpdfg.c src/gdevpdti.c src/gdevpdtt.h src/gdevpdfg.h src/gxpath.c]</p>
+<p>[src/gxchar.c src/openvms.mak src/unix-end.mak src/gsjmorec.h src/macosx.mak src/dvx-gcc.mak src/gxfarith.h src/msvccmd.mak src/siscale.c src/unixansi.mak src/gsmisc.c src/msvclib.mak src/gsfemu.c src/os2.mak src/openvms.mmk src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gscie.h src/Makefile.in src/unix-gcc.mak src/gxfixed.h src/msvc32.mak src/macos-mcp.mak src/wccommon.mak src/wctail.mak src/winlib.mak src/watclib.mak]</p>
</blockquote>
-<p><strong><a name="2007-10-01T230253.086636Z"></a>
-2007-10-01T23:02:53.086636Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-02T235844.056429Z"></a>
+2008-01-02T23:58:44.056429Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Have mkromfs use $(GS_INIT) instead of hard-coding gs_init.ps. It was
-intended that this be part of r8257.
-</pre>
-<p>[src/int.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-01T230035.110412Z"></a>
-2007-10-01T23:00:35.110412Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update pkg-config support in the ijs tree.
-</pre>
-<p>[ijs/Makefile.am]</p>
-</blockquote>
+Re-export runpdfbegin, dopdfpages, and runpdfend procedures, which turned out
+to be used by 3rd party programs. Partly revert the rev. 8325.
-<p><strong><a name="2007-10-01T225959.038063Z"></a>
-2007-10-01T22:59:59.038063Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve portability in the autoconf build. Solaris doesn't support 'grep
--q'. Bug 689490.
</pre>
-<p>[src/configure.ac]</p>
+<p>[lib/pdf_main.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-01T062621.808008Z"></a>
-2007-10-01T06:26:21.808008Z Suzuki Toshiya</strong> (<a href="Details.htm#2007-10-01T062621.808008Z">details</a>)</p>
+<p><strong><a name="2008-01-02T131059.547816Z"></a>
+2008-01-02T13:10:59.547816Z Ken Sharp</strong> (<a href="Details.htm#2008-01-02T131059.547816Z">details</a>)</p>
<blockquote>
<pre>
-Fix: (TT font handler) : Use given prebuilt_encoding when Apple Roman TrueType cmap subtable is chosen
+Fix (pdfwrite): Tidy up after the prior patch,
+algorithmically this is the same as before.
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h]</p>
</blockquote>
-<p><strong><a name="2007-10-01T061918.139797Z"></a>
-2007-10-01T06:19:18.139797Z Suzuki Toshiya</strong> (<a href="Details.htm#2007-10-01T061918.139797Z">details</a>)</p>
+<p><strong><a name="2008-01-01T204452.186969Z"></a>
+2008-01-01T20:44:52.186969Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix: Preprocess the glyphnames in prebuilt_encoding by AdobeGlyphList for Microsft UCS2 cmap subtable
+Don't ignore xref stream in a hybrid "classic xref" + "stream xref" file
+as PDF 1.5-compatible should do. Thanks to SaGS for the patch. Bug 688282.
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[lib/pdf_main.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-30T194625.258028Z"></a>
-2007-09-30T19:46:25.258028Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-01T142830.927323Z"></a>
+2008-01-01T14:28:30.927323Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Add an option that controls rendering of PDF annotations. By default
-annotations are rendered as before.
+Replace clearly invalid generation numbers out of 0..65535 range with 0 during
+rebuilding of xref table. Bug 689634.
</pre>
-<p>[lib/pdf_main.ps doc/Use.htm]</p>
+<p>[lib/pdf_rbld.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-29T055334.943145Z"></a>
-2007-09-29T05:53:34.943145Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-01T013052.687921Z"></a>
+2008-01-01T01:30:52.687921Z Ralph Giles</strong> (<a href="Details.htm#2008-01-01T013052.687921Z">details</a>)</p>
<blockquote>
<pre>
-Following the PDF spec, don't use .notdef glyph in Type 3 font.
-.notdef may not be present at all. Bug 689475
+Remove the SYSTEM_CONSTANTS_ARE_WRITABLE compile-time define.
</pre>
-<p>[lib/pdf_font.ps]</p>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/gscdefs.h src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak src/gscdef.c]</p>
</blockquote>
-<p><strong><a name="2007-09-27T230607.081517Z"></a>
-2007-09-27T23:06:07.081517Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-31T224650.849681Z"></a>
+2007-12-31T22:46:50.849681Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Remove the mkromfs code under 'make clean'. Bug 689474.
-Also, use the GS_INIT define instead of hard-coding gs_init.ps
-as the root of the postscript library code.
-</pre>
-<p>[src/lib.mak src/gs.mak]</p>
-</blockquote>
+Add a flag that marks PDF text rendering mode 3 to avoid confusion with other
+non-rendering text operations such as stringwidth. This avoids unnecessary
+calculation of the current point, which fails when the CTM is singular. This
+patch continues conservative approach to the text rendering modes started in
+rev. 4006. Bug 689614, customer 384.
-<p><strong><a name="2007-09-27T203039.973443Z"></a>
-2007-09-27T20:30:39.973443Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve shared build support on MacOS X.
</pre>
-<p>[src/configure.ac src/unix-dll.mak]</p>
+<p>[src/gxchar.c src/gstext.c src/gstext.h]</p>
</blockquote>
-<p><strong><a name="2007-09-27T202651.405933Z"></a>
-2007-09-27T20:26:51.405933Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-31T190652.216061Z"></a>
+2007-12-31T19:06:52.216061Z Ray Johnston</strong> (<a href="Details.htm#2007-12-31T190652.216061Z">details</a>)</p>
<blockquote>
<pre>
-Install iapi.h and ierrors.h as part of the soinstall makefile target.
-Bug 689466.
-</pre>
-<p>[src/macosx.mak src/Makefile.in src/unix-dll.mak src/unix-gcc.mak]</p>
-</blockquote>
+Correct polarity of the stochastic threshold array so that the images are
+not too dark.
-<p><strong><a name="2007-09-27T202046.283268Z"></a>
-2007-09-27T20:20:46.283268Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Prevent BandWidth from being set smaller than the page width. Fixes
-crash reported in bug #688734.
</pre>
-<p>[src/gxclist.c]</p>
+<p>[lib/ht_ccsto.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-26T094855.994917Z"></a>
-2007-09-26T09:48:55.994917Z Igor Melichev</strong> (<a href="Details.htm#2007-09-26T094855.994917Z">details</a>)</p>
+<p><strong><a name="2007-12-31T180759.109475Z"></a>
+2007-12-31T18:07:59.109475Z Ralph Giles</strong> (<a href="Details.htm#2007-12-31T180759.109475Z">details</a>)</p>
<blockquote>
<pre>
-Fix (Windows installer) : MSVC can't build dwinst.c .
-
+Remove the USE_ASM build flag.
+
</pre>
-<p>[src/dwinst.h]</p>
+<p>[src/unix-end.mak src/openvms.mak src/watcw32.mak src/gdevpcfb.c doc/Develop.htm src/msvccmd.mak src/iutilasm.asm src/gsmisc.c src/msvclib.mak src/dvx-head.mak src/devs.mak src/os2.mak src/openvms.mmk src/unixhead.mak src/lib.mak src/bcwin32.mak src/winint.mak src/gdevegaa.asm src/msvc32.mak src/gdevsvga.c src/gsutil.c src/wccommon.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
-<p><strong><a name="2007-09-26T043720.025441Z"></a>
-2007-09-26T04:37:20.025441Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-31T061033.027699Z"></a>
+2007-12-31T06:10:33.027699Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix multiple inclusion of page objects in the optimized PDF file.
-Extend special handling of page objects to Annots and AcroForm
-object enumeration. Bug 689292, customer 932.
+Don't try to obtain the bounding box of a glyph when FontBBox is invalid and
+CTM is singular. Set an empty box and consider it valid. The bounding box is
+not used when the CTM is singular. Bug 689614, customer 384.
</pre>
-<p>[lib/pdfopt.ps]</p>
+<p>[src/zchar1.c]</p>
</blockquote>
-<p><strong><a name="2007-09-25T133124.199299Z"></a>
-2007-09-25T13:31:24.199299Z Ralph Giles</strong> (<a href="Details.htm#2007-09-25T133124.199299Z">details</a>)</p>
+<p><strong><a name="2007-12-29T025321.940078Z"></a>
+2007-12-29T02:53:21.940078Z Ralph Giles</strong> (<a href="Details.htm#2007-12-29T025321.940078Z">details</a>)</p>
<blockquote>
<pre>
-Replace the 'private' define with the now standard C keyword 'static'.
+Remove the ARCH_CAN_SHIFT_FULL_LONG define and its derivatives. Bug 689611.
</pre>
-<p>[src/gdevm48.c src/idstack.c src/gdevmsxf.c src/gdevrinkj.c src/gdevmem.c src/gdevmem.h src/gdevwdib.c src/gxoprect.c src/gdevsunr.c src/zvmem.c src/gdevpdtc.c src/gstrap.c src/gsfcmap1.c src/gxxfont.h src/gswts.c src/gsstate.c src/gdevlbp8.c src/zcsdevn.c src/gdevdm24.c src/zcontext.c src/gxdhtserial.c src/gdevpdts.c src/gdevcljc.c src/iscanbin.c src/gdevmiff.c contrib/gdevlx7.c src/gxclutil.c src/gp_mshdl.c src/zfont.c contrib/japanese/gdevml6.c src/zarray.c src/gxdevcli.h src/gdevpe.c src/zchar42.c src/gsfont0.c src/gscscie.c contrib/lips4/gdevlips.c src/gdevwts.c src/zdfilter.c src/icfontab.c src/zht1.c src/zdevcal.c src/zpcolor.c src/gdevpdfi.c src/zcssepr.c src/sdcparam.c contrib/gdevcd8.c src/bcwin32.mak src/zdps1.c src/gdevokii.c src/gdevpdtd.c src/zcfont.c src/zhsb.c src/gdevprna.c src/zcolor.c src/gxhtbit.c src/sfxfd.c src/zupath.c contrib/lips4/gdevl4v.c src/gdevpdtt.c src/gpmisc.c src/gdevpbm.c src/ireclaim.c src/gdevmrun.c src/gconf.c contrib/japanese/gdevnpdl.c src/zfbcp.c contrib/japanese/gdevmag.c src/gserver.c src/gp_psync.c src/gdevcmap.c src/zht2.c src/gdevpdfj.c src/zfarc4.c src/gp_os2pr.c src/gdevwprn.c src/gdevpsd.c src/gsiomacres.c src/gxclfile.c src/gxpdash.c src/ztrap.c src/gxfilltr.h src/gdevpdte.c src/gdevdevn.c doc/Drivers.htm contrib/japanese/gdevalps.c src/gsgcache.c src/zfile.c src/gdev4693.c src/gsptype1.c src/gxchar.c src/gxclbits.c src/zfcid0.c src/gsfcid2.c src/zgstate.c contrib/gomni.c src/gsalloc.c src/zfontenum.c src/gdevmeds.c src/gdevmpla.c src/gdev4081.c src/gscicach.c src/watclib.mak src/gxclzlib.c src/istack.c src/zfont0.c src/zmath.c src/gdevpdfk.c src/gdevhit.c src/gxclimag.c src/gxhintn1.c src/gxfillts.h src/gdevpdtf.c src/gdevddrw.c src/gschar.c src/gxht.c src/gdevpsfm.c src/sarc4.c src/gdevpsdp.c src/gxcht.c src/gsptype2.c src/gdevpsu.c src/gdevxalt.c src/gdevclj.c src/zvmem2.c src/zfcid1.c src/gstrans.c contrib/gdevln03.c src/gstype2.c src/icontext.c src/zstring.c src/zfont32.c src/gzspotan.c src/gxclip2.c src/gdevdrop.c src/gp_macio.c src/sbhc.c src/scfd.c src/gsdps.c src/zfont1.c src/spngp.c src/gdevcgml.c src/gdevpx.c src/gsmatrix.c src/gdevl256.c src/igcref.c src/zcharx.c src/gxtype1.c src/zdouble.c src/spdiff.c src/gdevcp50.c src/gsmemret.c src/gdevpdtw.c src/gxclip.c src/sfilter1.c src/iname.c src/zmedia2.c src/gxiscale.c src/gxpcmap.c src/gdevnfwd.c src/zcontrol.c src/gdevxcmp.c src/gsfcmap.c src/scfe.c src/zfont2.c src/gdevlj56.c src/gxp1fill.c src/gsciemap.c src/gdevhl7x.c src/zdscpars.c src/gdevos2p.c src/gsparam.c src/gdevpdfm.c src/gp_unix_cache.c src/imain.c src/gdevwpr2.c src/zfilter2.c src/zfont42.c src/zchar.c src/smd5.c src/gdevsun.c src/ztrans.c src/sjpx.c src/zcsindex.c src/gdevrops.c src/gxipixel.c src/zcidtest.c src/sfilter2.c src/gdevijs.c src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/gxmclip.c src/gdevjpx.c src/gdevcslw.c src/zfdctd.c src/zdps.c contrib/gdevhl12.c src/gdevdsp.c src/zmatrix.c src/gdevescp.c src/gsiodev.c src/igc.c src/gdevpipe.c src/msvc32.mak src/gdevmacxf.c src/gsfunc0.c src/gdevsvga.c src/gdevpdti.c src/zdosio.c src/gdevepsn.c src/gsparam2.c src/gdevpsf1.c src/gdevpsds.c src/zfsample.c src/zfdecode.c src/gsstruct.h src/siscale.c src/gxfill.c src/gsdsrc.c src/gximag3x.c src/gxclread.c src/dwtrace.c src/gdevmswn.c src/gdevjpeg.c src/siinterp.c src/gdevbbox.c src/gsdll.c src/gspath1.c src/gdevtfax.c src/gdevpjet.c src/gdevphex.c src/sjpegc.c src/gshtscr.c src/zfdcte.c src/gsnogc.c src/zfcmap.c src/gdevbit.c src/gdevfax.c src/gdevbmpa.c src/gsequivc.c src/gp_wsync.c src/gsdevice.c src/gxclmem.c src/gscparam.c src/gshtx.c src/gdevsj48.c src/gdevpdfo.c src/sdctd.c src/gsmemory.c contrib/japanese/gdevfmlbp.c src/gdevcdj.c src/scfdgen.c src/ttcalc.c src/gdevtknk.c src/gdevpsf2.c src/gxidata.c src/gsroptab.c src/gdevm1.c src/gsistate.c src/os2.mak src/sstring.c src/gscolor2.c src/gxpath.c src/scfparam.c src/gdevupd.c src/interp.c src/gsmalloc.c src/zcrd.c src/ttfmain.c doc/C-style.htm src/gdevm40.c contrib/japanese/dviprlib.c src/gsiodisk.c src/gdevpsim.c contrib/japanese/dviprlib.h src/gdevpcfb.c src/gdevvec.c src/gp_msprn.c src/gdevmgr.c src/sdeparam.c src/gxacpath.c src/gdevpdfp.c src/ziodev.c src/gslib.c src/gdevimgn.c src/gdevvglb.c src/sdcte.c src/gsovrc.c src/gxshade1.c src/gxccache.c src/gdevm32.c src/gxfdrop.c src/gp_unifs.c src/gsparams.c src/gxhintn.c src/gsiorom.c src/gdevbjcl.c src/dvx-gcc.mak src/gdevpsdu.c src/gp_mswin.c src/gdevm2.c src/gspath.c src/gdevwddb.c src/gp_os2.c src/zcolor1.c src/gxpcopy.c src/gdevdjet.c src/gdevstc.c src/ialloc.c src/gxfapiu.c contrib/japanese/gdevlbp3.c src/zpath1.c src/gdevm24.c contrib/eplaser/gdevescv.c contrib/gdevxes.c src/ilocate.c src/gxdcolor.c src/gdevpm.c src/gdevbmp.c src/gschar0.c src/gdevbmpc.c src/zdevice.c src/gscie.c src/gdevsppr.c src/igcstr.c src/gxi16bit.c src/gdevn533.c src/idebug.c src/gsht.c src/gsncdummy.c src/gsfunc3.c src/gdevm16.c src/gdevperm.c src/genconf.c src/zfilter.c src/gstype42.c src/sa85d.c src/sbcp.c src/zcolor2.c src/gdev3b1.c src/gdevtrac.c src/gp_ntfs.c src/gdevatx.c src/zfproc.c src/genht.c src/zgeneric.c src/gs.c src/gxclrect.c src/zdevice2.c src/gsshade.c src/sjbig2.c src/gdevpdfb.c src/gscrdp.c src/msvclib.mak src/sjbig2.h src/gxclrast.c src/gsicc.c src/zcid.c src/zfile1.c src/gdevp2up.c src/zimage3.c src/gdevo182.c src/zarith.c src/gdevpdfr.c src/zcspixel.c src/gximage1.c src/gdevppla.c src/zmisc1.c contrib/gdevop4w.c src/wccommon.mak src/gsfunc4.c src/gxclpath.c src/gxcmap.c src/gxfcopy.c src/gdevpsft.c src/gdevtfnx.c src/gsmisc.c src/gxicolor.c src/zpath.c src/gdevm4.c contrib/opvp/gdevopvp.c src/gxfillsl.h src/zcolor3.c src/gxpageq.c src/gsdparam.c src/gxcpath.c src/gdevprn.c src/gdevlxm.c contrib/japanese/gdevdmpr.c src/gdevcif.c src/gxdevndi.c src/gdevprn.h src/gdevpdfc.c contrib/gdevgdi.c src/gdevabuf.c src/gdevherc.c src/gdevsgi.c src/zcie.c src/gdevsco.c src/stream.c src/gdevdflt.c src/zcharout.c src/gdevepsc.c src/gdev8510.c src/gximage2.c src/srld.c src/zht.c src/zncdummy.c src/gxstroke.c src/gxshade4.c contrib/gdevlx32.c src/zmisc2.c src/iparam.c src/sjpx_luratech.c src/zrelbit.c src/iinit.c src/gdevxini.c src/gxclist.c contrib/japanese/gdevmjc.c src/watcw32.mak src/gxccman.c src/gsalphac.c src/gdevpsfu.c src/gxshade.c contrib/japanese/gdevmjc.h src/gdevlp8k.c src/zfunc.c src/gsclipsr.c src/idict.c src/ttfmemd.c src/gscoord.c contrib/japanese/gdevrpdl.c src/genarch.c src/ztype.c src/gdevxxf.c src/zshade.c src/gdevpdfd.c src/gdevdgbr.c src/gdevmr2n.c src/gdevxcf.c src/gdevcfax.c src/zicc.c src/zchar1.c src/vdtrace.c src/gscdevn.c src/iscan.c src/gsnotify.c src/gdevpdft.c src/gximage3.c src/gdevpsdi.c src/srle.c src/zfilterx.c contrib/gdevlx50.c src/shcgen.c src/zmisc3.c src/zfapi.c src/zfunc4.c contrib/gdevbjc_.c src/gscpixel.c src/ziodev2.c src/gsiodevs.c src/zmisc.c src/gdevplnx.c src/gxttfb.c src/simscale.c src/zfzlib.c src/Makefile.in src/dscparse.c src/gscsepr.c src/gdev3852.c src/iutil2.c src/dscparse.h src/gsimage.c src/gxwts.c src/gstext.c contrib/japanese/gdevj100.c src/msvccmd.mak src/gdevpdfe.c src/gsflip.c contrib/lips4/gdevlprn.c src/gdevadmp.c src/sidscale.c src/zchar2.c src/zdpnext.c src/geninit.c src/zusparam.c src/gdevjbig2.c src/gdevpdfu.c src/gximage4.c contrib/gdevdj9.c src/gxshade6.c src/gdevp14.c contrib/lips4/gdevl4r.c src/dwinst.h src/gdevpdf.c src/macosx.mak src/zpacked.c src/ifont.h src/zfmd5.c src/gp_dosfe.c src/iutil.c src/gdevpng.c src/zrop.c src/zalg.c src/zfjpx.c src/gzpath.h src/sfxstdio.c src/gspaint.c src/sjbig2_luratech.c contrib/japanese/gdev10v.c contrib/gdevmd2k.c src/sjbig2_luratech.h src/gdevccr.c src/gdevdcrd.c src/zbseq.c src/ziodevsc.c src/imainarg.c src/zfrsd.c src/gdevl31s.c src/gdevdjtc.c src/spprint.c src/gdevpcx.c src/zfileio.c src/zbfont.c src/slzwd.c contrib/japanese/gdevespg.c src/unix-gcc.mak src/gdevpdfv.c src/gxpflat.c src/gxifast.c src/zsysvm.c src/gsimpath.c src/gdevx.c contrib/gdevbjca.c src/gsmemlok.c src/sbwbs.c src/gximage.c src/gdevstc4.c src/ziodevs.c src/unixansi.mak src/gdevpsfx.c src/szlibd.c src/gscspace.c src/gdevimdi.c src/gdevdfax.c src/gdevm8.c src/gdevpnga.c src/gsropc.c src/zstack.c src/gsfcid.c src/gsfont.c src/isave.c src/zimage.c src/gdevm64.c src/gdevcgm.c src/zdict.c src/zfimscale.c src/gdevtsep.c src/gsfont0c.c src/iccfont.c src/gsht1.c src/gdevpdfg.c contrib/japanese/gdevp201.c src/gdevps.c src/gspcolor.c src/gxi12bit.c src/gxcllzw.c src/zfjbig2.c src/gdevpdtb.c src/gsdps1.c src/gdevs3ga.c src/slzwe.c src/gshsb.c src/gscolor.c src/smtf.c src/ztoken.c src/gxpaint.c src/x_.h src/gdevtifs.c src/zchar32.c src/seexec.c src/gdevm56.c src/spsdf.c src/gximono.c src/fapiufst.c src/szlibe.c src/gxctable.c src/gp_vms.c src/gp_iwatc.c src/gp_os9.c src/gdevbj10.c src/gxclipm.c src/zpaint.c src/gdevmac.c src/stdpre.h src/iplugin.c contrib/japanese/gdevfmpr.c src/gsgdata.c src/gdevmac.h]</p>
+<p>[src/std.h src/gxshade.c src/gxbitops.h src/genarch.c]</p>
</blockquote>
-<p><strong><a name="2007-09-24T035218.847453Z"></a>
-2007-09-24T03:52:18.847453Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-27T222836.610626Z"></a>
+2007-12-27T22:28:36.610626Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Ignore color operations in uncolored type 3 font in PDF files for
-compatibility with Acrobat Reader 6 and higher.
-Bug 689302, customer 870.
+Add -Wundef to the autoconf build.
+There have been a number of problems related to missing defines lately.
</pre>
-<p>[src/int.mak lib/pdf_draw.ps src/zchar.c]</p>
+<p>[src/configure.ac]</p>
</blockquote>
-<p><strong><a name="2007-09-20T121552.643667Z"></a>
-2007-09-20T12:15:52.643667Z Igor Melichev</strong> (<a href="Details.htm#2007-09-20T121552.643667Z">details</a>)</p>
+<p><strong><a name="2007-12-22T191320.335131Z"></a>
+2007-12-22T19:13:20.335131Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : A crash in garbager after clist playback fails in image.
+Correction to the refcount documentation.
+Our allocator can't double free, but attempting to trace a freed pointer
+can confuse things, possibly resulting in a segfault or other
+misbehaviour.
</pre>
-<p>[src/gxclrast.c]</p>
+<p>[src/gsrefct.h]</p>
</blockquote>
-<p><strong><a name="2007-09-20T084949.922199Z"></a>
-2007-09-20T08:49:49.922199Z Igor Melichev</strong> (<a href="Details.htm#2007-09-20T084949.922199Z">details</a>)</p>
+<p><strong><a name="2007-12-22T020540.922995Z"></a>
+2007-12-22T02:05:40.922995Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Allow image encoding filter initialization with no parameters passed from the client.
-
+Also remove gdevcmap from the documentation.
</pre>
-<p>[src/gdevpsdi.c]</p>
+<p>[doc/Develop.htm]</p>
</blockquote>
-<p><strong><a name="2007-09-18T191121.591397Z"></a>
-2007-09-18T19:11:21.591397Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-22T020536.008019Z"></a>
+2007-12-22T02:05:36.008019Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update the build instructions to reflect current practice of shipping
-all the 3rd party libraries we depend on. Bug 689446.
+Include gconfigv.h in std.h so defines like USE_FPU are more
+consistently defined.
</pre>
-<p>[doc/Make.htm]</p>
+<p>[src/lib.mak src/gscie.h src/std.h src/gdevpcfb.c src/gxfarith.h src/siscale.c src/gsmisc.c src/gdevsvga.c src/devs.mak src/sidscale.c src/gxpcopy.c]</p>
</blockquote>
-<p><strong><a name="2007-09-18T190134.199941Z"></a>
-2007-09-18T19:01:34.199941Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-22T001936.075695Z"></a>
+2007-12-22T00:19:36.075695Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct some documentation errors. Bug 689433.
+Document the behaviour of the reference count macros.
</pre>
-<p>[doc/Projects.htm lib/ps2pdf.cmd doc/Use.htm lib/ps2pdf.bat doc/Ps2pdf.htm]</p>
+<p>[src/gsrefct.h]</p>
</blockquote>
-<p><strong><a name="2007-09-18T173231.734909Z"></a>
-2007-09-18T17:32:31.734909Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-22T001005.865239Z"></a>
+2007-12-22T00:10:05.865239Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Remove obsolete font encoding and compilation instructions from the
-documentation. Bug 689432.
+Remove the unused cmap device.
</pre>
-<p>[doc/Fonts.htm]</p>
+<p>[src/lib.mak src/ugcclib.mak src/gslib.c src/gdevcmap.c src/gdevcmap.h]</p>
</blockquote>
-<p><strong><a name="2007-09-18T154108.152952Z"></a>
-2007-09-18T15:41:08.152952Z Igor Melichev</strong> (<a href="Details.htm#2007-09-18T154108.152952Z">details</a>)</p>
+<p><strong><a name="2007-12-21T195819.459173Z"></a>
+2007-12-21T19:58:19.459173Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : The interpolation of imagemask must not apply to high resolution images (continued).
+Further update the graphics library unit test and build. The gslib test
+executable builds and works now.
</pre>
-<p>[lib/gs_img.ps]</p>
+<p>[src/ugcclib.mak src/gslib.c]</p>
</blockquote>
-<p><strong><a name="2007-09-18T153351.055573Z"></a>
-2007-09-18T15:33:51.055573Z Igor Melichev</strong> (<a href="Details.htm#2007-09-18T153351.055573Z">details</a>)</p>
+<p><strong><a name="2007-12-21T195607.995361Z"></a>
+2007-12-21T19:56:07.995361Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : The interpolation of imagemask must not apply to high resolution images.
-
+Construct romfs.dev in the graphics library's gen directory instead of
+the ps interpreter's so building just the library is possible.
</pre>
-<p>[lib/gs_img.ps]</p>
+<p>[src/gs.mak]</p>
</blockquote>
-<p><strong><a name="2007-09-14T101707.152885Z"></a>
-2007-09-14T10:17:07.152885Z Igor Melichev</strong> (<a href="Details.htm#2007-09-14T101707.152885Z">details</a>)</p>
+<p><strong><a name="2007-12-21T103100.226023Z"></a>
+2007-12-21T10:31:00.226023Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Banding : Extend clist language with trapezoids, linear color trapezoids and linear color triangles (continued 8).
+Fix (jbig2dec): The global data stream for a JBIG2 image in a PDF
+file was being released, and the data freed by the garbage collector,
+before the data was used.
-</pre>
-<p>[src/gxclpath.c]</p>
-</blockquote>
+Details: Bug #689568 and #689569. Uses the patch supplied by Alex
+in thread for #689569, implements Ralph's comments about the structure
+naming. Does not attempt to change the memory allocator. This slightly
+modified patch also works with the Luratech decoder.
-<p><strong><a name="2007-09-14T052352.359324Z"></a>
-2007-09-14T05:23:52.359324Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Add recognition of a CFF file fith the extended header = <01000C02>.
-Bug 689449, customer 1110.
+sjbig2.h, sjbig2_luratech.h; make the global data structure
+s_jbig2_global_data_t public. Store the structure in the
+stream decoder state.
-</pre>
-<p>[lib/pdf_font.ps lib/gs_cff.ps]</p>
-</blockquote>
+sjbig2.c, sjbig2_luratech.c; store a pointer to the global
+data structure.
-<p><strong><a name="2007-09-13T083048.823871Z"></a>
-2007-09-13T08:30:48.823871Z Ken Sharp</strong> (<a href="Details.htm#2007-09-13T083048.823871Z">details</a>)</p>
-<blockquote>
-<pre>
-Update pdfwrite to handle type 0 fonts with type 1 or type 2 descendant fonts (continued).
-
-</pre>
-<p>[src/gdevpdtc.c src/gdevpdtt.c]</p>
-</blockquote>
+sjbig2_luratech.c; don't reset the pointer during initialisation!
-<p><strong><a name="2007-09-11T192917.888456Z"></a>
-2007-09-11T19:29:17.888456Z Igor Melichev</strong> (<a href="Details.htm#2007-09-11T192917.888456Z">details</a>)</p>
-<blockquote>
-<pre>
-Fix (filling algorithm) : Split big segments before filling a path.
+zfjbig2.c; Pass the global pointer to the stream decoder for
+release in the finalize routine.
</pre>
-<p>[src/gxpcopy.c]</p>
+<p>[src/sjbig2_luratech.h src/zfjbig2.c src/sjbig2.c src/sjbig2.h src/sjbig2_luratech.c]</p>
</blockquote>
-<p><strong><a name="2007-09-10T083142.651229Z"></a>
-2007-09-10T08:31:42.651229Z Ken Sharp</strong> (<a href="Details.htm#2007-09-10T083142.651229Z">details</a>)</p>
+<p><strong><a name="2007-12-21T001553.911110Z"></a>
+2007-12-21T00:15:53.911110Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update pdfwrite to handle type 0 fonts with type 1 or type 2 descendant fonts.
+Remove some old helper scripts.
+They aren't used much and we no longer wish to maintain them.
</pre>
-<p>[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtt.h]</p>
+<p>[toolbin/many2pdf.tcl toolbin/pre toolbin/gssubst toolbin/gsindent]</p>
</blockquote>
-<p><strong><a name="2007-09-09T005312.649192Z"></a>
-2007-09-09T00:53:12.649192Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-21T001154.376327Z"></a>
+2007-12-21T00:11:54.376327Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Make pswrite and epswrite devices generate proper line-interleaved image
-stream even when they receive several scan lines at once. This happens when
-the source image operator takes large strings as multiple data sources.
-Bug 688200, customer 632.
+Make pre.tcl more robust in creating temporary files.
+Also update the copyright header and fix a bug in an error handler.
</pre>
-<p>[src/gdevps.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-09-08T223120.200765Z"></a>
-2007-09-08T22:31:20.200765Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Declare Ghostscript as _LARGEFILE64_SOURCE program, i.e. request transitional
-interface to large file support. Check for mkstemp64() availability specially.
-</pre>
-<p>[src/Makefile.in src/configure.ac src/stdpre.h src/gp_unifs.c]</p>
+<p>[toolbin/pre.tcl]</p>
</blockquote>
-<p><strong><a name="2007-09-08T215954.482448Z"></a>
-2007-09-08T21:59:54.482448Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-19T062541.308572Z"></a>
+2007-12-19T06:25:41.308572Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Include our std.h header first to ensure consistent type definitions in
-contributed files. This is required on HP-UX with aC++ compiler.
-</pre>
-<p>[contrib/gomni.c contrib/pcl3/eprn/pagecount.c contrib/pcl3/src/pclcap.c contrib/gdevlx50.c contrib/opvp/gdevopvp.c contrib/pcl3/eprn/mediasize.c]</p>
-</blockquote>
+Ignore operator readonly when it is applied to a wrong type inside an
+embedded Type 1 font. Bug 689617, customer 580.
-<p><strong><a name="2007-09-08T170559.540260Z"></a>
-2007-09-08T17:05:59.540260Z Till Kamppeter</strong></p>
-<blockquote>
-<pre>
-Reflect in the PPD files that the CUPS support comes with GPL Ghostscript now and not with ESP Ghostscript.
</pre>
-<p>[cups/pxlmono.ppd cups/pxlcolor.ppd]</p>
+<p>[lib/pdf_font.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-05T192105.959793Z"></a>
-2007-09-05T19:21:05.959793Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-19T062222.816836Z"></a>
+2007-12-19T06:22:22.816836Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Replace non-standard function call fdopen64() with fdopen(). The former
-is not available on most platforms and not needed anyway because O_LARGEFILE
-flag is set earlier in the code. Bug 689175.
+Treat the text after empty ASCII block in PFB stream as ASCII sub-stream
+terminated by 0x80 character, a presumed header of the next block.
+Bug 689617, customer 580.
</pre>
-<p>[src/gpmisc.c]</p>
+<p>[src/sfilter1.c]</p>
</blockquote>
-<p><strong><a name="2007-09-05T075454.782032Z"></a>
-2007-09-05T07:54:54.782032Z Suzuki Toshiya</strong> (<a href="Details.htm#2007-09-05T075454.782032Z">details</a>)</p>
+<p><strong><a name="2007-12-19T002508.107768Z"></a>
+2007-12-19T00:25:08.107768Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (TT fonts) : Suppress loading trailing data after chosen cmap subtable.
-
+Update the graphics library unit tests for recent code changes.
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[src/gslib.c]</p>
</blockquote>
-<p><strong><a name="2007-09-03T131911.511212Z"></a>
-2007-09-03T13:19:11.511212Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-18T100307.564012Z"></a>
+2007-12-18T10:03:07.564012Z Ken Sharp</strong> (<a href="Details.htm#2007-12-18T100307.564012Z">details</a>)</p>
<blockquote>
<pre>
-Fix reference counting logic for clip stack elements. The reference counter
-now shows the number of gstates that point to a given element directly or
-indirectly. Bug 689429.
+Fix (pdfwrite): Font Descriptors for fonts not embedded, due to
+EmbedAllFonts=false, did not preserve the original font name.
</pre>
-<p>[src/gsclipsr.c src/gsstate.c]</p>
+<p>[src/gdevpdtd.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T205342.169700Z"></a>
-2007-08-31T20:53:42.169700Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T205342.169700Z">details</a>)</p>
+<p><strong><a name="2007-12-18T100209.815887Z"></a>
+2007-12-18T10:02:09.815887Z Ken Sharp</strong> (<a href="Details.htm#2007-12-18T100209.815887Z">details</a>)</p>
<blockquote>
<pre>
-Fix (graphics library) : Always set HWResolution to clipper device.
+Fix (pdfwrite): PDFXTrimBoxToMediaBoxOffset used the supplied data
+incorrectly.
</pre>
-<p>[src/gxfill.c src/gxclip.c]</p>
+<p>[src/gdevpdf.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T190947.125231Z"></a>
-2007-08-31T19:09:47.125231Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T190947.125231Z">details</a>)</p>
+<p><strong><a name="2007-12-18T034036.305448Z"></a>
+2007-12-18T03:40:36.305448Z Ralph Giles</strong> (<a href="Details.htm#2007-12-18T034036.305448Z">details</a>)</p>
<blockquote>
<pre>
-Fix (graphics library) : Distinguish two methods gx_make_clip_device_on_stack, gx_make_clip_device_in_heap.
+Remove the unused composite_rop device.
</pre>
-<p>[src/gdevbbox.c src/gxcpath.h src/gximask.c src/gxccache.c src/gxfill.c src/gxclip.c src/gxstroke.c src/gxclrast.c src/gdevdbit.c src/gxipixel.c]</p>
+<p>[src/lib.mak src/gsropc.c src/gsropc.h doc/Develop.htm src/gxropc.h]</p>
</blockquote>
-<p><strong><a name="2007-08-31T172221.775099Z"></a>
-2007-08-31T17:22:21.775099Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T172221.775099Z">details</a>)</p>
+<p><strong><a name="2007-12-17T213335.320044Z"></a>
+2007-12-17T21:33:35.320044Z Igor Melichev</strong> (<a href="Details.htm#2007-12-17T213335.320044Z">details</a>)</p>
<blockquote>
<pre>
-Fix (graphics library) : Expand gx_make_clip_path_device, gx_make_clip_device.
+Fix (transparency) : Providing a right nested masks logic (continued).
</pre>
-<p>[src/gdevbbox.c src/gxcpath.h src/gximask.c src/gxccache.c src/gxfill.c src/gxclip.c src/gxstroke.c src/gxclrast.c src/gdevdbit.c src/gxipixel.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T153106.557286Z"></a>
-2007-08-31T15:31:06.557286Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T153106.557286Z">details</a>)</p>
+<p><strong><a name="2007-12-17T072822.397599Z"></a>
+2007-12-17T07:28:22.397599Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix : Remove the pdfwrite/NODISPLAY nonsense from the documentation.
+Improve outline pdfmarks produced by the pdf interpreter. Add page number and view
+values. Thanks to Leon Bottou for the patch. Bug 689599.
</pre>
-<p>[doc/Use.htm]</p>
+<p>[lib/pdf_main.ps]</p>
</blockquote>
-<p><strong><a name="2007-08-31T082955.996410Z"></a>
-2007-08-31T08:29:55.996410Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T082955.996410Z">details</a>)</p>
+<p><strong><a name="2007-12-16T153809.417159Z"></a>
+2007-12-16T15:38:09.417159Z Igor Melichev</strong> (<a href="Details.htm#2007-12-16T153809.417159Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : A wrong encoding of Metadata (continued).
+Fix (clist interpreter) : Improving debug trace about compositors.
</pre>
-<p>[src/gdevpdfe.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T082716.425671Z"></a>
-2007-08-31T08:27:16.425671Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T082716.425671Z">details</a>)</p>
+<p><strong><a name="2007-12-16T013756.744199Z"></a>
+2007-12-16T01:37:56.744199Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A crash with incorrect shading.
+Don't skip space characters after eexec in embedded PDF fonts but
+continue to do so in other cases. Bug 689615.
</pre>
-<p>[src/gdevpdfi.c]</p>
+<p>[src/seexec.c src/sfilter.h lib/pdf_font.ps src/zmisc1.c doc/Language.htm]</p>
</blockquote>
-<p><strong><a name="2007-08-31T054344.869532Z"></a>
-2007-08-31T05:43:44.869532Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T054344.869532Z">details</a>)</p>
+<p><strong><a name="2007-12-14T195101.706015Z"></a>
+2007-12-14T19:51:01.706015Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (Type 1 hinter) : Infinite loop in t1_hinter__fix_subglyph_contour_signs.
+Work around a GCC 4.2.1 bug on PowerPC that generates incorrect code in the
+release build affecting scanning of binary tokens containing floating point
+numbers. Bug 689586.
</pre>
-<p>[src/gxhintn1.c]</p>
+<p>[src/ibnum.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T044758.034291Z"></a>
-2007-08-31T04:47:58.034291Z Igor Melichev</strong> (<a href="Details.htm#2007-08-31T044758.034291Z">details</a>)</p>
+<p><strong><a name="2007-12-14T184031.738291Z"></a>
+2007-12-14T18:40:31.738291Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Fix (font rendering) : alloc_char_bits could fall into infinite loop.
-
+Added casts to sprintf debugging statements (thanks for Michael Rutter for finding these).
</pre>
-<p>[src/gxchar.c src/gxccman.c src/gxchar.h src/gxccache.c]</p>
+<p>[contrib/eplaser/gdevescv.c]</p>
</blockquote>
-<p><strong><a name="2007-08-30T055342.339598Z"></a>
-2007-08-30T05:53:42.339598Z Igor Melichev</strong> (<a href="Details.htm#2007-08-30T055342.339598Z">details</a>)</p>
+<p><strong><a name="2007-12-14T183139.938693Z"></a>
+2007-12-14T18:31:39.938693Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Uninitialized data after converting a Type 42 font into CID font.
+Align the pointer to gx_clist_state array in gx_device_clist_writer device to
+the natural boundary to avoid misaligned memory access and bus errors on ARM
+processors. Bug 689600.
</pre>
-<p>[src/gdevpdtd.c]</p>
+<p>[src/gxclist.c]</p>
</blockquote>
-<p><strong><a name="2007-08-30T023652.268008Z"></a>
-2007-08-30T02:36:52.268008Z Igor Melichev</strong> (<a href="Details.htm#2007-08-30T023652.268008Z">details</a>)</p>
+<p><strong><a name="2007-12-12T202944.002303Z"></a>
+2007-12-12T20:29:44.002303Z Igor Melichev</strong> (<a href="Details.htm#2007-12-12T202944.002303Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Properly handle FontMatrix of a Type 3 font.
+Fix (transparency) : Providing a right nested masks logic.
</pre>
-<p>[lib/pdf_font.ps src/gdevpdtt.c src/gdevpdte.c lib/opdfread.ps src/gdevpdti.c src/gdevpdtt.h lib/pdf_ops.ps]</p>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T173636.852840Z"></a>
-2007-08-29T17:36:36.852840Z Igor Melichev</strong> (<a href="Details.htm#2007-08-29T173636.852840Z">details</a>)</p>
+<p><strong><a name="2007-12-12T195831.269810Z"></a>
+2007-12-12T19:58:31.269810Z Igor Melichev</strong> (<a href="Details.htm#2007-12-12T195831.269810Z">details</a>)</p>
<blockquote>
<pre>
-Fix (TT font handling) : pdfwrite recieved meanless font names.
+Fix (transparency) : Unwinding the nested masks logic.
</pre>
-<p>[src/zfcid0.c src/gdevpdtc.c src/zfcid1.c src/gdevpdtt.c src/zbfont.c src/gdevpdtf.c src/gdevpdtt.h src/gdevpdtf.h]</p>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T094215.384249Z"></a>
-2007-08-29T09:42:15.384249Z Igor Melichev</strong> (<a href="Details.htm#2007-08-29T094215.384249Z">details</a>)</p>
+<p><strong><a name="2007-12-12T190044.753250Z"></a>
+2007-12-12T19:00:44.753250Z Igor Melichev</strong> (<a href="Details.htm#2007-12-12T190044.753250Z">details</a>)</p>
<blockquote>
<pre>
-Fix (TT font handler) : Place thr True Type interpreter and its data into stable memory (continued 2).
+Fix (clist interpreter) : Skip idle compositors, step 4.
</pre>
-<p>[src/gxttfb.c]</p>
+<p>[src/gsropc.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T093629.695665Z"></a>
-2007-08-29T09:36:29.695665Z Igor Melichev</strong> (<a href="Details.htm#2007-08-29T093629.695665Z">details</a>)</p>
+<p><strong><a name="2007-12-11T234718.340705Z"></a>
+2007-12-11T23:47:18.340705Z Ray Johnston</strong> (<a href="Details.htm#2007-12-11T234718.340705Z">details</a>)</p>
<blockquote>
<pre>
-Fix (TT font handler) : Place thr True Type interpreter and its data into stable memory (continued).
+Fix for SEGV when more than 4 colorants used with psdcmyk device.
+Bug 689457 for customer #460.
</pre>
-<p>[src/gxttfb.c]</p>
+<p>[src/gdevpsd.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T070901.667008Z"></a>
-2007-08-29T07:09:01.667008Z Igor Melichev</strong> (<a href="Details.htm#2007-08-29T070901.667008Z">details</a>)</p>
+<p><strong><a name="2007-12-11T212702.763129Z"></a>
+2007-12-11T21:27:02.763129Z Ralph Giles</strong> (<a href="Details.htm#2007-12-11T212702.763129Z">details</a>)</p>
<blockquote>
<pre>
-Fix (font rendering) : CIDFontType 9 missed PaintType.
+Store the posix persistent cache's last modified line as an unsigned
+long to avoid portability problems when reading and writing. Bug 689604.
</pre>
-<p>[src/zfcid0.c src/zchar1.c]</p>
+<p>[src/gp_unix_cache.c]</p>
</blockquote>
-<p><strong><a name="2007-08-28T161827.199037Z"></a>
-2007-08-28T16:18:27.199037Z Igor Melichev</strong> (<a href="Details.htm#2007-08-28T161827.199037Z">details</a>)</p>
+<p><strong><a name="2007-12-11T165405.187153Z"></a>
+2007-12-11T16:54:05.187153Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Uninitialized defaultWidthXwhile while converting a Type 1 font into Type 2.
-
+Replaced C++ comments with C comments (// -> /* */).
</pre>
-<p>[src/gdevpsf2.c src/gdevpsf.h src/gdevpsfx.c]</p>
+<p>[imdi/imdi.c imdi/imdi_tab.c imdi/imdi_gen.c imdi/cctiff.c]</p>
</blockquote>
-<p><strong><a name="2007-08-28T160612.766158Z"></a>
-2007-08-28T16:06:12.766158Z Igor Melichev</strong> (<a href="Details.htm#2007-08-28T160612.766158Z">details</a>)</p>
+<p><strong><a name="2007-12-11T082958.454613Z"></a>
+2007-12-11T08:29:58.454613Z Ken Sharp</strong> (<a href="Details.htm#2007-12-11T082958.454613Z">details</a>)</p>
<blockquote>
<pre>
-Fix (pdfwrite) : Uninitialized defaultWidthXwhile while converting a Type 1 font into Type 2.
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
</pre>
-<p>[src/gdevpsfx.c]</p>
+<p>[jbig2dec/jbig2_symbol_dict.c]</p>
</blockquote>
-<p><strong><a name="2007-08-28T063408.453844Z"></a>
-2007-08-28T06:34:08.453844Z Ray Johnston</strong></p>
+<p><strong><a name="2007-12-10T221105.461373Z"></a>
+2007-12-10T22:11:05.461373Z Tor Andersson</strong></p>
<blockquote>
<pre>
-Correct obvious typo in default rgb to cmyk color mapping. It makes
-no sense to use the 'g' component to calculate the 'k' for black
-generation and undercolorremoval.
-</pre>
-<p>[src/gxcmap.c]</p>
+Update to previous commit. Add pdf14_buffer maskbuf pointer to GC structures.</pre>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-27T204427.984183Z"></a>
-2007-08-27T20:44:27.984183Z Igor Melichev</strong> (<a href="Details.htm#2007-08-27T204427.984183Z">details</a>)</p>
+<p><strong><a name="2007-12-10T202711.787298Z"></a>
+2007-12-10T20:27:11.787298Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (TT font handler) : Place the True Type interpreter and its data into stable memory.
-
+Fix a compilation error on Tru64's native cc, which doesn't tolerate spaces
+between -I and the directory. Thanks to M. Rutter for the patch. Bug 689602
</pre>
-<p>[src/gxttfb.c src/gxccman.c]</p>
+<p>[contrib/contrib.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-27T011647.532710Z"></a>
-2007-08-27T01:16:47.532710Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-10T161326.551663Z"></a>
+2007-12-10T16:13:26.551663Z Tor Andersson</strong></p>
<blockquote>
<pre>
-Change the order of include files to define a macro before it's used.
-The undefined macro in the old code passed as a function declaration.
-
-</pre>
-<p>[src/gxshade1.c]</p>
+Pick up the transparency mask buffer when a new transparency group is pushed rather than when it is popped. Solves memory leaks and incorrect rendering when transparency groups are nested.</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-27T005359.301536Z"></a>
-2007-08-27T00:53:59.301536Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-10T094503.624134Z"></a>
+2007-12-10T09:45:03.624134Z Ken Sharp</strong> (<a href="Details.htm#2007-12-10T094503.624134Z">details</a>)</p>
<blockquote>
<pre>
-Add HP-UX to the long list of systems that need both time.h and sys/time.h
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
</pre>
-<p>[src/time_.h]</p>
+<p>[jbig2dec/jbig2_text.c src/jbig2.mak jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_text.h]</p>
</blockquote>
-<p><strong><a name="2007-08-26T233221.633797Z"></a>
-2007-08-26T23:32:21.633797Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-09T063300.168945Z"></a>
+2007-12-09T06:33:00.168945Z Alex Cherepanov</strong> (<a href="Details.htm#2007-12-09T063300.168945Z">details</a>)</p>
<blockquote>
<pre>
-Cast the pointers to the same type because aC++ compiler cannot compare
-pointers of different types.
+Use a smaller buffer for eexecDecode filter to avoid consumption of the data
+that follow a short (and incorrect) run of 0's in PS files generated by
+Adobe Acrobat from PDF files with usage restrictions. Bug 689577
</pre>
-<p>[contrib/japanese/gdevmjc.c]</p>
+<p>[src/seexec.c]</p>
</blockquote>
-<p><strong><a name="2007-08-26T232457.663909Z"></a>
-2007-08-26T23:24:57.663909Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-08T135753.015953Z"></a>
+2007-12-08T13:57:53.015953Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Fix a typo in a contributed driver for HP color printers detected by aC++
-compiler. Assuming that pointers compare as unsigned values, the fix doesn't
-have any run-time effects.
-
+Update the MSVC makefile to work with Visual Studio 2005 (nmake version 8).
+Should still be OK with MSVC 6.
</pre>
-<p>[contrib/gdevcd8.c]</p>
+<p>[jbig2dec/msvc.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-23T180019.425565Z"></a>
-2007-08-23T18:00:19.425565Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-07T233906.271814Z"></a>
+2007-12-07T23:39:06.271814Z Igor Melichev</strong> (<a href="Details.htm#2007-12-07T233906.271814Z">details</a>)</p>
<blockquote>
<pre>
-When the same name maps to more than one glyph change the name.
-Don't treat /.notdef names specially because glyphs corresponding
-to /.notdef names can look different. Bug 689408, customer 770.
+Fix (clist interpreter) : Skip idle compositors, step 3.
-DIFFERENCE:
-None
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[src/lib.mak src/gsropc.c src/gdevdflt.c src/gxclpath.h src/gxcldev.h src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstrans.h src/gxclrast.c src/gdevp14.c src/gxclpath.c src/gxclimag.c src/gxclutil.c]</p>
</blockquote>
-<p><strong><a name="2007-08-22T063836.487276Z"></a>
-2007-08-22T06:38:36.487276Z Suzuki Toshiya</strong> (<a href="Details.htm#2007-08-22T063836.487276Z">details</a>)</p>
+<p><strong><a name="2007-12-05T233942.529355Z"></a>
+2007-12-05T23:39:42.529355Z Igor Melichev</strong> (<a href="Details.htm#2007-12-05T233942.529355Z">details</a>)</p>
<blockquote>
<pre>
-Fix (TT fonts) : Ignore invalid entries in loca table.
+Fix (clist interpreter) : Skip idle compositors, step 2.
</pre>
-<p>[src/gstype42.c]</p>
+<p>[src/gxcomp.h src/gxclrast.c]</p>
</blockquote>
-<p><strong><a name="2007-08-21T222658.681438Z"></a>
-2007-08-21T22:26:58.681438Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-05T164041.424504Z"></a>
+2007-12-05T16:40:41.424504Z Igor Melichev</strong> (<a href="Details.htm#2007-12-05T164041.424504Z">details</a>)</p>
<blockquote>
<pre>
-Correct more changelog substitution errors. Bug 689388.
-</pre>
-<p>[doc/History8.htm doc/Details8.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-08-20T171522.306956Z"></a>
-2007-08-20T17:15:22.306956Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Fix command list-based devices on 64-bit platforms. Ghostscript always writes
-int values to the command list but old code interpreted the bit pattern as a
-long int, causing conversion of the negative values to large positive ones.
-Bug 689353.
+Fix (clist interpreter) : Skip idle compositors, step 1.
</pre>
<p>[src/gxclrast.c]</p>
</blockquote>
-<p><strong><a name="2007-08-20T171051.151066Z"></a>
-2007-08-20T17:10:51.151066Z Ray Johnston</strong> (<a href="Details.htm#2007-08-20T171051.151066Z">details</a>)</p>
+<p><strong><a name="2007-12-05T000850.583846Z"></a>
+2007-12-05T00:08:50.583846Z Till Kamppeter</strong></p>
<blockquote>
<pre>
-Use the color lookup cache in wtsimdi_contone_get_bits_rectangle.
-This results in a 6% overall performance improvement on the 12
-performance test files, and up to a 38% improvement on WW2KA122.prn
-Also clean up the MSVC and gcc warnings. Customer #951.
-
+Let CUPS filters use buffered input to Ghostscript via '-_', to work around bug #689577.
</pre>
-<p>[src/gdevwts.c]</p>
+<p>[cups/pstoraster.in cups/pstopxl.in]</p>
</blockquote>
-<p><strong><a name="2007-08-17T185033.373530Z"></a>
-2007-08-17T18:50:33.373530Z Ray Johnston</strong> (<a href="Details.htm#2007-08-17T185033.373530Z">details</a>)</p>
+<p><strong><a name="2007-12-03T213116.528843Z"></a>
+2007-12-03T21:31:16.528843Z Henry Stiles</strong></p>
<blockquote>
<pre>
-Fix stdint.h related problems with the Cygwin build (gcc 3.4.4)
-
+Replace the "tricky" unit_frac macro with a normal function call. The
+macro produced a false positive in valgrind and seems to cause
+incorrect code generation on gcc 4.1.2 with optimization but we did
+not study it in detail. The change should be equivalent to the
+previous code, reviewed by Ralph Giles.
</pre>
-<p>[src/unix-gcc.mak src/stdint_.h]</p>
+<p>[src/gxcmap.c src/gxcmap.h src/gscsepr.c src/gscdevn.c]</p>
</blockquote>
-<p><strong><a name="2007-08-17T135812.668319Z"></a>
-2007-08-17T13:58:12.668319Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-03T200705.165284Z"></a>
+2007-12-03T20:07:05.165284Z Igor Melichev</strong> (<a href="Details.htm#2007-12-03T200705.165284Z">details</a>)</p>
<blockquote>
<pre>
-Fully initialize pdf_resource_t object allocated in pdf_alloc_aside()
-to avoid a Valgrind warning. Bug 688907.
+Fix (shadings) : Optimize fill_linear_color_scanline with analitic computation of the color change position.
</pre>
-<p>[src/gdevpdfu.c]</p>
+<p>[src/gdevdsha.c]</p>
</blockquote>
-<p><strong><a name="2007-08-17T130219.679286Z"></a>
-2007-08-17T13:02:19.679286Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-30T221349.581001Z"></a>
+2007-11-30T22:13:49.581001Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Add missing initialization of txy_fixed_valid field. Since the fixed
-coordinates are valid, the patch eliminates possible re-calculation of the
-fixed coordinates but doesn't affect the end result. Bug 688914.
-
+Add a tool that analyzes logs produced by gs -Z67, producing a report of
+memory leaks.
</pre>
-<p>[src/gdevpdfv.c]</p>
+<p>[toolbin/memory.py]</p>
</blockquote>
-<p><strong><a name="2007-08-17T044922.864920Z"></a>
-2007-08-17T04:49:22.864920Z Ray Johnston</strong> (<a href="Details.htm#2007-08-17T044922.864920Z">details</a>)</p>
+<p><strong><a name="2007-11-30T064347.688763Z"></a>
+2007-11-30T06:43:47.688763Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-This set of changes is an example for users or Artifex customers
-that want to intercept the color spaces and perform their own
-color space conversion for the CIEBased or ICCBased color spaces,
-converting all of these spaces to the PostScript color management
-link space "CIE XYZ". There were changes needed to implement this
-that transcended the original custom color callback scheme, but
-the approach taken is intended to minimize changes to the color
-space processing.
-
-Artifex customer #330
-
+Adds the base font address to the -Zm tracing output.
</pre>
-<p>[src/gxistate.h src/gscie.h src/gsistate.c src/gsncdummy.c src/gsciemap.c src/gscspace.c src/gscie.c]</p>
+<p>[src/gsfont.c]</p>
</blockquote>
-<p><strong><a name="2007-08-14T212855.383671Z"></a>
-2007-08-14T21:28:55.383671Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-30T064312.449891Z"></a>
+2007-11-30T06:43:12.449891Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Revert r8187, which is part of the CJKV patch set reverted in r8190.
+Fixes bug: -Z89 produced slightly mangled output (-Z9 output inserted in the
+middle of a line of -Z8 output).
</pre>
-<p>[src/int.mak]</p>
+<p>[src/igcref.c]</p>
</blockquote>
-<p><strong><a name="2007-08-14T204829.233978Z"></a>
-2007-08-14T20:48:29.233978Z Till Kamppeter</strong></p>
+<p><strong><a name="2007-11-30T004553.632689Z"></a>
+2007-11-30T00:45:53.632689Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Removed CJK patches.
+Add URW fonts to the Resource/Font directory. These will be included when
+COMPILE_INITS=1. Fontmap.GS still references the disk file name so that
+the disk file based fonts can still be used if they are available.
</pre>
-<p>[examples/cjk src/zchar42.c lib/gs_cidtt.ps src/gxfont42.h src/gstype42.c src/unixinst.mak src/zchar1.c lib/cjkv lib/gs_init.ps]</p>
+<p>[Resource/Font/URWPalladioL-BoldItal Resource/Font/NimbusRomNo9L-Medi Resource/Font/NimbusSanL-Bold Resource/Font/Dingbats Resource/Font/URWChanceryL-MediItal Resource/Font/CenturySchL-Roma Resource/Font Resource/Font/NimbusMonL-Bold Resource/Font/URWGothicL-Demi Resource/Font/NimbusSanL-BoldItal Resource/Font/NimbusRomNo9L-MediItal Resource/Font/StandardSymL Resource/Font/URWBookmanL-DemiBold Resource/Font/NimbusRomNo9L-Regu Resource/Font/URWGothicL-Book Resource/Font/NimbusSanL-ReguCond Resource/Font/CenturySchL-Bold Resource/Font/URWBookmanL-Ligh Resource/Font/NimbusRomNo9L-ReguItal Resource/Font/URWBookmanL-DemiBoldItal Resource/Font/NimbusMonL-ReguObli Resource/Font/NimbusSanL-ReguCondItal Resource/Font/CenturySchL-Ital Resource/Font/URWPalladioL-Roma Resource/Font/CenturySchL-BoldItal Resource/Font/URWBookmanL-LighItal Resource/Font/NimbusSanL-BoldCond Resource/Font/NimbusMonL-BoldObli Resource/Font/NimbusSanL-BoldCondItal Resource/Font/URWGothicL-DemiObli Resource/Font/NimbusSanL-Regu Resource/Font/URWPalladioL-Bold Resource/Font/NimbusMonL-Regu Resource/Font/URWGothicL-BookObli Resource/Font/NimbusSanL-ReguItal Resource/Font/URWPalladioL-Ital]</p>
</blockquote>
-<p><strong><a name="2007-08-14T185348.875152Z"></a>
-2007-08-14T18:53:48.875152Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-29T213953.584646Z"></a>
+2007-11-29T21:39:53.584646Z Igor Melichev</strong> (<a href="Details.htm#2007-11-29T213953.584646Z">details</a>)</p>
<blockquote>
<pre>
-Throw an diagnostic error if the wts_plane_* halftone files cannot
-be opened. Propagate the error and clean up properly to avoid a
-segfault.
+Fix (shadings) : Optimize path manipulations for shading fill (continued).
-Also #ifdef DEBUG protects some debug printouts to reduce noise.
</pre>
-<p>[src/gdevwts.c src/gdevimdi.c]</p>
+<p>[src/gdevp14.c src/gxclpath.c src/gxclrect.c]</p>
</blockquote>
-<p><strong><a name="2007-08-14T161828.564745Z"></a>
-2007-08-14T16:18:28.564745Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-29T014216.432740Z"></a>
+2007-11-29T01:42:16.432740Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Change the path to the icc link profile to the current working
-directory, the same path used for the wts_* halftone files and
-for link.icc in gdevimdi.c. Motivated by simplifying running
-the device in regression testing.
-</pre>
-<p>[src/gdevwts.c]</p>
-</blockquote>
+Remove obsolete variables dstderr and estderr; repair tracing code in
+igcstr.c that would cause a crash if -Z5 was used.
-<p><strong><a name="2007-08-13T170758.742285Z"></a>
-2007-08-13T17:07:58.742285Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add the library files from the cjkv to the romfs file list. This
-restores executability of the build with COMPILE_INITS=1 which
-was broken by r8185.
</pre>
-<p>[src/int.mak]</p>
+<p>[src/interp.c src/gdebug.h src/igcstr.c]</p>
</blockquote>
-<p><strong><a name="2007-08-13T160016.465824Z"></a>
-2007-08-13T16:00:16.465824Z Till Kamppeter</strong></p>
+<p><strong><a name="2007-11-28T200434.791598Z"></a>
+2007-11-28T20:04:34.791598Z Ray Johnston</strong> (<a href="Details.htm#2007-11-28T200434.791598Z">details</a>)</p>
<blockquote>
<pre>
-Fixed DESTDIR support in Koji Otani's CJK patches
-</pre>
-<p>[src/unixinst.mak]</p>
-</blockquote>
+Add the 'pamcmyk32' (previously the 'pam' device) to all default builds.
+This will be used for regression testing of 32-bit CMYK.
-<p><strong><a name="2007-08-13T100805.772194Z"></a>
-2007-08-13T10:08:05.772194Z Till Kamppeter</strong></p>
-<blockquote>
-<pre>
-Added CJK patches from Koji Otani
</pre>
-<p>[src/zchar42.c examples/cjk lib/gs_cidtt.ps src/gxfont42.h src/gstype42.c lib/cjkv/cjkcidcm.ps lib/cjkv/baseutil.ps src/zchar1.c lib/cjkv/cjkvttcf.ps examples/cjk/all_ac1.ps lib/cjkv lib/cjkv/cjkvinit.ps examples/cjk/all_ag1.ps examples/cjk/iso2022.ps examples/cjk/all_aj1.ps examples/cjk/gscjk_ac.ps examples/cjk/all_ak1.ps examples/cjk/all_aj2.ps lib/cjkv/tt11util.ps lib/cjkv/cjkfnmap.ps examples/cjk/gscjk_ag.ps lib/cjkv/tt42util.ps src/unixinst.mak examples/cjk/gscjk_aj.ps examples/cjk/gscjk_ak.ps examples/cjk/article9.ps lib/gs_init.ps]</p>
+<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/gdevpbm.c src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-12T172929.699921Z"></a>
-2007-08-12T17:29:29.699921Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-28T194748.435055Z"></a>
+2007-11-28T19:47:48.435055Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Use inline and intristic functions to improve the speed of CIE cache set-up.
-Bug 689153, customer 850.
-
+Document the jasper build file version skew menioned in Bug 689570.
</pre>
-<p>[src/gscie.h src/gscie.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-08-11T035731.402230Z"></a>
-2007-08-11T03:57:31.402230Z Alex Cherepanov</strong> (<a href="Details.htm#2007-08-11T035731.402230Z">details</a>)</p>
-<blockquote>
-<pre>
-Change stream keyword handling to accommodate yet another kind of a broken PDF.
-Bug 689400, customer 580.
-
-</pre>
-<p>[lib/pdf_base.ps]</p>
-</blockquote>
-
-<p><strong><a name="2007-08-10T081558.076010Z"></a>
-2007-08-10T08:15:58.076010Z Henry Stiles</strong></p>
-<blockquote>
-<pre>
-This code change should have been committed in tandem with the change
-in revision 8055 (see 8055 log for details).
-</pre>
-<p>[src/gxclpath.c]</p>
+<p>[doc/Release.htm]</p>
</blockquote>
-<p><strong><a name="2007-08-09T181259.257962Z"></a>
-2007-08-09T18:12:59.257962Z Ray Johnston</strong> (<a href="Details.htm#2007-08-09T181259.257962Z">details</a>)</p>
+<p><strong><a name="2007-11-28T184655.924792Z"></a>
+2007-11-28T18:46:55.924792Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Update the testing.cfg.example to match the current (after rev 7854) of
-the regression scripts in toolbin/tests. The r7854 had included a
-testing.cfg file instead of the example file (see comment for rev 7862).
-
+Fix #defines when USE_COMPRESSED_ENCODING == 0 so that the number of
+components, separable/linear and encode/decode values are correct.
+Also add checking for TIFF file larger than max_long.
</pre>
-<p>[toolbin/tests/testing.cfg.example]</p>
+<p>[src/gdevtsep.c]</p>
</blockquote>
-<p><strong><a name="2007-08-08T001249.260263Z"></a>
-2007-08-08T00:12:49.260263Z Timothy Osborn</strong> (<a href="Details.htm#2007-08-08T001249.260263Z">details</a>)</p>
+<p><strong><a name="2007-11-28T183959.435918Z"></a>
+2007-11-28T18:39:59.435918Z Ray Johnston</strong> (<a href="Details.htm#2007-11-28T183959.435918Z">details</a>)</p>
<blockquote>
<pre>
-Updating CMAP files as per bug report #689386
+Fix CIEBasedA problem, add DeviceGray and DeviceRGB support to this utility.
</pre>
-<p>[Resource/CMap/UniJIS2004-UTF16-V Resource/CMap/UniJIS2004-UTF32-H Resource/CMap/UniJIS2004-UTF8-V Resource/CMap/UniJIS2004-UTF16-H Resource/CMap/UniJIS2004-UTF8-H Resource/CMap/ETenms-B5-V Resource/CMap/ETenms-B5-H Resource/CMap/UniCNS-UTF32-H Resource/CMap/UniCNS-UTF16-H Resource/CMap/UniCNS-UTF8-H Resource/CMap/UniJISX02132004-UTF32-V Resource/CMap/UniJIS2004-UTF32-V Resource/CMap/UniJISX02132004-UTF32-H]</p>
+<p>[lib/docie.ps]</p>
</blockquote>
-<p><strong><a name="2007-08-07T004018.162968Z"></a>
-2007-08-07T00:40:18.162968Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-27T225840.032075Z"></a>
+2007-11-27T22:58:40.032075Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Pacify MSVC 7 run time checks. Change the order of condition checking to avoid
-returning an uninitialized value. The code is algorithmically equivalent,
-except it doesn't assign anything instead of assigning an uninitialized value.
-Bug 689387
-
+Also install gdevdsp.h in the unix so build. This header contains the
+callback definitions for the "display" device. Bug 689576.
</pre>
-<p>[src/gdevpdfd.c]</p>
+<p>[src/unix-dll.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-05T135526.215718Z"></a>
-2007-08-05T13:55:26.215718Z Igor Melichev</strong> (<a href="Details.htm#2007-08-05T135526.215718Z">details</a>)</p>
+<p><strong><a name="2007-11-27T204309.836338Z"></a>
+2007-11-27T20:43:09.836338Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A wrong encoding of Metadata.
-
+Update the regression code license headers with the current contact
+address.
</pre>
-<p>[src/gdevpdfx.h src/ConvertUTF.c src/gdevpdfp.c doc/Ps2pdf.htm src/ConvertUTF.h src/gdevpdfe.c src/gdevpdfb.h src/devs.mak lib/gs_pdfwr.ps lib/gs_agl.ps]</p>
+<p>[toolbin/tests/dump_checksum.py toolbin/tests/cmpi.py toolbin/tests/gscheck_testfiles.py toolbin/tests/dump_checksum_plus.py toolbin/tests/check_source.py toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/dump_checksum_raw.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/rasterdb.py toolbin/tests/gsutil.py toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/revert_pdfbaseline toolbin/tests/build_revision.py toolbin/tests/compare_checksumdb.py toolbin/tests/gsconf.py toolbin/tests/revert_baseline toolbin/tests/update_baseline.py toolbin/tests/make_baselinedb.py toolbin/tests/gscheck_raster.py toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py toolbin/tests/compare_checksums.py toolbin/tests/check_dirs.py toolbin/tests/update_specific toolbin/tests/run_nightly.py toolbin/tests/gstestgs.py toolbin/tests/myoptparse.py toolbin/tests/run_regression.py toolbin/tests/get_baselines.py toolbin/tests/make_two_versions toolbin/tests/testdiff.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_testdb.py toolbin/tests/check_comments.py toolbin/tests/check_docrefs.py toolbin/tests/get_baseline_log.py]</p>
</blockquote>
-<p><strong><a name="2007-08-04T214253.446406Z"></a>
-2007-08-04T21:42:53.446406Z Alex Cherepanov</strong> (<a href="Details.htm#2007-08-04T214253.446406Z">details</a>)</p>
+<p><strong><a name="2007-11-27T204307.921159Z"></a>
+2007-11-27T20:43:07.921159Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Change the order of tests to identify fonts with FID attribute that have been
-both scaled and copied. Bug 689390
-
+Change the regression scripts to rewrite the product as
+"GPL Ghostscript".
</pre>
-<p>[src/zfont.c src/zbfont.c]</p>
+<p>[toolbin/tests/build_revision.py toolbin/tests/update_specific]</p>
</blockquote>
-<p><strong><a name="2007-08-04T143004.276917Z"></a>
-2007-08-04T14:30:04.276917Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-27T181110.542532Z"></a>
+2007-11-27T18:11:10.542532Z Igor Melichev</strong> (<a href="Details.htm#2007-11-27T181110.542532Z">details</a>)</p>
<blockquote>
<pre>
-Take rendering intent type from the /Intent key of the CRD created by Adobe
-ProcSet "Adobe_AGM_Core 2.0 0" and pass it to the graphic state. Bug 689379
+Fix (graphics) : Improving the setoverprint logic.
</pre>
-<p>[lib/gs_lev2.ps lib/pdf_ops.ps lib/gs_init.ps]</p>
+<p>[src/gsstate.c]</p>
</blockquote>
-<p><strong><a name="2007-08-03T162944.050173Z"></a>
-2007-08-03T16:29:44.050173Z Timothy Osborn</strong> (<a href="Details.htm#2007-08-03T162944.050173Z">details</a>)</p>
+<p><strong><a name="2007-11-23T092306.243419Z"></a>
+2007-11-23T09:23:06.243419Z Ken Sharp</strong> (<a href="Details.htm#2007-11-23T092306.243419Z">details</a>)</p>
<blockquote>
<pre>
-Fix for seg fault caused by undersized buffer as reported in bug report #687397
+Fix (pdfwrite): Fonts containing glyphs with no sbw or hsbw
+instruction caused pdfwrite to crash.
</pre>
-<p>[src/siscale.c]</p>
+<p>[src/gxtype1.c src/gdevpsfu.c]</p>
</blockquote>
-<p><strong><a name="2007-08-03T154603.840774Z"></a>
-2007-08-03T15:46:03.840774Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-22T024659.719550Z"></a>
+2007-11-22T02:46:59.719550Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct a substitution script error in the change logs.
+Correct Id line and double-include protection warnings.
</pre>
-<p>[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]</p>
+<p>[src/ConvertUTF.h toolbin/tests/check_source.py src/expat.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-02T085309.078741Z"></a>
-2007-08-02T08:53:09.078741Z Igor Melichev</strong> (<a href="Details.htm#2007-08-02T085309.078741Z">details</a>)</p>
+<p><strong><a name="2007-11-22T010346.485805Z"></a>
+2007-11-22T01:03:46.485805Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (transparency in clist) : Write transparent paths and images to clist as high level objcts.
-
+Update the run_nightly regression script to rewrite the product
+name to GPL Ghostscript instead of AFPL Ghostscript. Also, include
+quotation marks in the optional part of the regex so we work when
+GS_PRODUCT is set to another macro and does not include a literal
+string, as it does at release time.
</pre>
-<p>[src/lib.mak src/gdevp14.h src/gdevm4.c src/gdevp14.c]</p>
+<p>[toolbin/tests/run_nightly.py]</p>
</blockquote>
-<p><strong><a name="2007-08-02T040811.471770Z"></a>
-2007-08-02T04:08:11.471770Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-22T005403.544607Z"></a>
+2007-11-22T00:54:03.544607Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Pacify Valgrind - initialise both operands of the product. Valgrind considers
-a product of 0 and an uninitialized value to be uninitialized. Bug 689384.
-
+Correct a format string error in the PDF 1.4 spot color name generation.
</pre>
-<p>[src/gximage3.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-02T012214.242094Z"></a>
-2007-08-02T01:22:14.242094Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-22T005401.468513Z"></a>
+2007-11-22T00:54:01.468513Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update the interpreter library version number to match the one in
-version.mak. The previous commit just improved the comments.
+Update release procedure documentation.
</pre>
-<p>[lib/gs_init.ps]</p>
+<p>[doc/Release.htm]</p>
</blockquote>
-<p><strong><a name="2007-08-01T235658.305050Z"></a>
-2007-08-01T23:56:58.305050Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-21T224203.178745Z"></a>
+2007-11-21T22:42:03.178745Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Bump the revision number post release.
+Bump the version number and date after the 8.61 release.
</pre>
<p>[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-01T223801.441981Z"></a>
-2007-08-01T22:38:01.441981Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct some cut-and-paste typos in the change log update.
-</pre>
-<p>[doc/Changes.htm doc/History8.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-08-01T221056.427930Z"></a>
-2007-08-01T22:10:56.427930Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-21T200708.596302Z"></a>
+2007-11-21T20:07:08.596302Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update change logs and the open bug list or final release.
+Update changelogs and release date for the second 8.61 candidate.
</pre>
-<p>[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]</p>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/Changes.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 src/version.mak man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/Details.htm doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
</blockquote>
</body>
</html>
diff --git a/gs/doc/Details.htm b/gs/doc/Details.htm
index 463161408..6ea9c486d 100644
--- a/gs/doc/Details.htm
+++ b/gs/doc/Details.htm
@@ -8,3773 +8,2838 @@
</head>
<body>
-<p><strong><a name="2007-11-21T194440.574652Z"></a>
-2007-11-21T19:44:40.574652Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-29T235931.476236Z"></a>
+2008-02-29T23:59:31.476236Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Revert the change to using an environment variable for the MSVC LIBPATH.
+Fix typo that caused unbalanced 'q' 'Q' operators in PDF's (caused by
+rev 8501). Bug 689728.
-Details:
-
-This wasn't effective in addressing the problem and could cause
-additional trouble if the environment isn't configured. The changes
-in r8394 should properly address the issue of quote interpretation
-with MSVC6.
-</pre>
-<p>[src/msvc32.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-21T061053.144641Z"></a>
-2007-11-21T06:10:53.144641Z Henry Stiles</strong></p>
-<blockquote>
-<pre>
-Check that a device halftone exists before writing it. Fixes
-segmentation fault in xps. No differences expected.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gdevpdfi.c]</p>
</blockquote>
-<p><strong><a name="2007-11-21T055723.672501Z"></a>
-2007-11-21T05:57:23.672501Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-29T222759.143965Z"></a>
+2008-02-29T22:27:59.143965Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix compiler flag conflict for non-debug build (seen when switching
-PCL6 build to default to non-debug default). Changes /ZI to /Zi.
+Release notes for the 8.62 release. Thanks to Ray Johnston for compiling these.
</pre>
-<p>[src/msvccmd.mak]</p>
+<p>[doc/News.htm]</p>
</blockquote>
-<p><strong><a name="2007-11-20T183658.009554Z"></a>
-2007-11-20T18:36:58.009554Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-29T204904.253927Z"></a>
+2008-02-29T20:49:04.253927Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix broken MSVC 6 build issue caused by change in src/msvccmd.mak that puts
-a LIBPATH into the link command line. MSVC linker can't handle spaces in the
-LIBPATH even if within " ". We use an environment variable set by Microsoft
-MSVC 6 'vcvars32.bat' instead. This can be manually set if needed.
+Remove some C++ style comments.
</pre>
-<p>[src/msvc32.mak]</p>
+<p>[src/siscale.c src/gdevijs.c]</p>
</blockquote>
-<p><strong><a name="2007-11-20T114222.623309Z"></a>
-2007-11-20T11:42:22.623309Z Ken Sharp</strong></p>
+<p><strong><a name="2008-02-29T204902.503198Z"></a>
+2008-02-29T20:49:02.503198Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Batch file to create MSVC solution and projects.
-
-Usage:
-msvcxml gs obj\ld.tr > ghostscript.sln
-
-This is the first attempt, and very poor.
+Add some new files to the documentation tree.
</pre>
-<p>[toolbin/msvcxml.bat]</p>
+<p>[doc/Develop.htm]</p>
</blockquote>
-<p><strong><a name="2007-11-19T235746.396323Z"></a>
-2007-11-19T23:57:46.396323Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-29T204752.884152Z"></a>
+2008-02-29T20:47:52.884152Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Change the product name for the release.
+Update product name, copyright and release dates.
</pre>
-<p>[src/gscdef.c]</p>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Deprecated.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 src/dwsetup.rc man/pf2afm.1 doc/Fonts.htm doc/Ps2ps2.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 src/winint.mak doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Details8.htm doc/Testing.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
</blockquote>
-<p><strong><a name="2007-11-19T235628.975783Z"></a>
-2007-11-19T23:56:28.975783Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-29T185314.162723Z"></a>
+2008-02-29T18:53:14.162723Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Update changelogs for release.
+Add default FontResourceDir needed when COMPILE_INITS=1 is used so
+that the fonts from Resource/Font in the distribution directory that
+are built into %rom%Resource/Font/ will be found.
</pre>
-<p>[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]</p>
+<p>[src/iccinit1.c]</p>
</blockquote>
-<p><strong><a name="2007-11-19T203607.538187Z"></a>
-2007-11-19T20:36:07.538187Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-29T081308.227205Z"></a>
+2008-02-29T08:13:08.227205Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (transparency) : Wrong background color of a soft mask group.
+Fix COMPILE_INITS=1. Note the next commit to the PCL tree will combine
+with this one, but we can't commit to both trees atomically.
-DETAILS :
+DETAILS:
-Bug 689531 "Regression: PDF file has undesired extra gray object.".
+Tested with Windows and linux. Needs OS/2 testing. Other build systems
+may have bit rotted, and I don't hav them to test. Some of the changes
+here are to allow working with a PCL or XPS only build where the PS
+interpreter is not used/needed.
-The old code used the 0th component of the background color
-instead its gray equivalent. The bug was introduced when
-working on bug 687176.
+I noticed that the default systemparam value for FontResourceDir isn't
+getting et to %rom$Resource/Font/ as it should, but GenericResourceDir
+_is_ being initialized correctly to %rom%Resource/ which is _NOT_
+fixed by this commit.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/openvms.mak src/psromfs.mak src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/unixlink.mak src/os2.mak src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gsromfs0.c src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/watclib.mak]</p>
</blockquote>
-<p><strong><a name="2007-11-19T202407.302766Z"></a>
-2007-11-19T20:24:07.302766Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-28T145632.629339Z"></a>
+2008-02-28T14:56:32.629339Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Update documentation timestamps for 8.61.
-</pre>
-<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm man/ps2ps.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 doc/History5.htm doc/History6.htm]</p>
-</blockquote>
+Attempt to repair invalid embedded TT fonts without cmap table.
+Bug 689707, customer 531.
-<p><strong><a name="2007-11-19T202339.904096Z"></a>
-2007-11-19T20:23:39.904096Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove the verification checks for PVERSION and JVERSION, which we no
-longer use.
-</pre>
-<p>[toolbin/pre.tcl]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T201545.795513Z"></a>
-2007-11-19T20:15:45.795513Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add new files to the documentation.
-</pre>
-<p>[doc/Develop.htm doc/Psfiles.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-19T201543.672566Z"></a>
-2007-11-19T20:15:43.672566Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update release notes and date for 8.61.
-</pre>
-<p>[doc/News.htm src/version.mak]</p>
-</blockquote>
+DETAILS:
+1. Use identity cmap if it is missing from the TT file. Set an unknown
+ language ID to activate post table processing.
-<p><strong><a name="2007-11-18T225036.855233Z"></a>
-2007-11-18T22:50:36.855233Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Normalize weigts in the Mitchell filter and use proper rounding to ensure
-that the constant value is not changed by the filter.
-Bug 689556, customer 581.
+2. To avoid false rejection during the validation of post table run the
+ validator only on the TT files generated by an utility that is known
+ to write broken post tables.
</pre>
-<p>[src/siscale.c]</p>
+<p>[lib/gs_ttf.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-18T164841.008511Z"></a>
-2007-11-18T16:48:41.008511Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-27T193618.181168Z"></a>
+2008-02-27T19:36:18.181168Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (clist interpreter) : Transparency caused a wrong color depth.
+Fix (clist interpreter) : Improve transparency performance, step 4a.
DETAILS :
-Bug 689520 Regression: 1bpp and grayscale output broken.
+Bug 689708 "Long processing time of PDF file"
+Bug 689714 "Severe performance penalty for PDF transparency through to clist"
-The clist interpreter clist_playback_band maintains 2 devices :
-the clist reader and target. The clist reader device stores
-private interpreter's data. However using a device structure
-for this purpose is pretty confusing, because the target
-device may have same device fields with different values.
-Particularly while processing a transparency, the target device
-chage to a transparency buffer device,
-which may have a different number of color components.
+The last patch is incomplete due to a commitment failure.
+The patch completely removes .inittransparencymask because it is noop.
-The problem happens due to the clist interpreter used
-a wrong device to obtain the number of color components.
-This patch changes the code with taking color components
-from the target device.
+With the test case of the bug 689708 at 144 dpi
+with default band size it reduces
+the temp file size from 64.8Meg to 36.5 Meg,
+and speeds up the rendering in 11 times.
-Now we don't try to analyze all other access to the clist device -
-it should be a subject of a separate job.
-Therefore the code may need further improvements.
-The right way would be to define a special structure for the clist interpreter,
-and to drop the clist reader device at all.
+With the test case of the bug 689714 at 144 dpi
+with default band size it reduces
+the temp file size from 12.0Meg to 3.3 Meg,
+and speeds up the rendering in 11 times.
-</pre>
-<p>[src/gxclrast.c]</p>
-</blockquote>
+The speed factor depends on resolution.
-<p><strong><a name="2007-11-18T093055.737640Z"></a>
-2007-11-18T09:30:55.737640Z Russell Lang</strong></p>
-<blockquote>
-<pre>
-Remove incorrect and unnecessary gtk+ separation code. Fixes bug 689541.
</pre>
-<p>[src/dxmain.c]</p>
+<p>[lib/pdf_draw.ps lib/pdf_ops.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-18T060720.783700Z"></a>
-2007-11-18T06:07:20.783700Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-27T192257.279403Z"></a>
+2008-02-27T19:22:57.279403Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (clist) : Improving the debug printing.
+Fix (clist interpreter) : Improve transparency performance, step 4.
DETAILS :
-This patch only inserts some debug trace printing about the pdf14 compositor.
-The old code is confusing due to mapping an obsolete instruction to "set_color[*]".
+Bug 689708 "Long processing time of PDF file"
+Bug 689714 "Severe performance penalty for PDF transparency through to clist"
+
+The patch completely removes .inittransparencymask because it is noop.
+
+With the test case of the bug 689708 at 144 dpi
+with default band size it reduces
+the temp file size from 64.8Meg to 36.5 Meg,
+and speeds up the rendering in 11 times.
+
+With the test case of the bug 689714 at 144 dpi
+with default band size it reduces
+the temp file size from 12.0Meg to 3.3 Meg,
+and speeds up the rendering in 11 times.
+
+The speed factor depends on resolution.
</pre>
-<p>[src/gxclpath.h]</p>
+<p>[src/gstrans.c src/ztrans.c src/gdevpdft.c src/gstrans.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-11-18T053055.503323Z"></a>
-2007-11-18T05:30:55.503323Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-27T183931.036262Z"></a>
+2008-02-27T18:39:31.036262Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (clist) : Improving the debug printing.
+Fix (clist interpreter) : Improve transparency performance, step 3.
DETAILS :
-This patch only inserts some debug trace printing about the pdf14 compositor.
-The old code generates a confusing trace due to missing an important information.
+This is a preparation for fixing bug 689708 "Long processing time of PDF file"
+The last patch appears incomplete, now fixing.
</pre>
-<p>[src/gstrans.c src/gdevp14.c]</p>
+<p>[src/gxistate.h]</p>
</blockquote>
-<p><strong><a name="2007-11-16T213922.306411Z"></a>
-2007-11-16T21:39:22.306411Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-27T004737.036819Z"></a>
+2008-02-27T00:47:37.036819Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Fix dependency problems that caused obj/gs_init.ps to be missed. Also fix a
-typo that caused CMap files to be missing.
+Added setting of fill_rule in pclxl_endpath().
DETAILS:
-This method of putting the gs_init.ps dependency down in lib.mak require
-us to get gs_init.ps. This hack was discussed with Ralph and is an
-alternative to adding a dependency to all of the top level makefiles.
-The dummy gs_init.ps is only made when we are NOT including the PS
-interpreter (PSI_INCLUDED) since we need the real one for the language
-switch build. Note that the dummy file doesn't get added to the %rom%
-file system since PS_ROMFS_ARGS is empty if int.mak is not included.
+The pclxl_endpath() function checked if a clip_rule needed to be set but not a fill_rule.
+
+This is a fix for bug 689665.
-</pre>
-<p>[src/lib.mak src/int.mak]</p>
-</blockquote>
-<p><strong><a name="2007-11-16T211431.380613Z"></a>
-2007-11-16T21:14:31.380613Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct typos and spelling errors in the change log. Bug 688940.
</pre>
-<p>[doc/History8.htm]</p>
+<p>[src/gdevpx.c]</p>
</blockquote>
-<p><strong><a name="2007-11-16T081105.046465Z"></a>
-2007-11-16T08:11:05.046465Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-27T000822.308407Z"></a>
+2008-02-27T00:08:22.308407Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (clist) : Providing clist instruction ids and offsets to debug trace (continued 2).
+Fix (clist interpreter) : Improve transparency performance, step 2.
DETAILS :
-The last patch (rev 8365) appears incorrect and causes crashes with halftoning devices.
-
-The problem happens due to gx_device_clist_reader::offset_map
-has been initialized too early in clist_reader_init.
-At that moment the device is still a clist writer,
-but the field offset_map belongs to clist reader.
-Due to gx_device_clist_s is a union, the field overlaps band_range_list.head,
-and the letter was prematurely reset. It caused some commands were not written
-to clist file while the page closes. With the test case (pbmraw -r300 012-01.ps)
-it missed cmd_opv_ext_put_halftone and did not miss cmd_opv_ext_put_drawing_color
-with color index type == ht_binary. It caused the crash in gx_dc_ht_binary_readdue to
-pis->dev_ht was not set. (cmd_opv_ext_put_halftone does set, but it was missed).
-
-The log message of the revision 8365 reads :
-"This change is algorithmically equivalent for release build."
-This statement is false due to the premature initialization of
-gx_device_clist_reader::offset_map.
-This patch fixes that with removing its initialization from
-clist_reader_init. A subsequent call to clist_render_init initializes it.
-
-The last patch was made buggy due to the function name
-clist_reader_init does not properly reflects its finction.
-This patch fixes the naming.
-
-Also provided more stability in gxht.c with a check for NULL pointer.
+This is a preparation for fixing bug 689708 "Long processing time of PDF file"
+The last patch appears incomplete due to a missed dependence in makefile.
+Now we see the mask pointer was used but it was always NULL.
</pre>
-<p>[src/gxclread.c src/gxht.c]</p>
+<p>[src/lib.mak src/gxistate.h src/gsistate.c src/gdevpdfg.c]</p>
</blockquote>
-<p><strong><a name="2007-11-16T021056.107493Z"></a>
-2007-11-16T02:10:56.107493Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-26T231440.608304Z"></a>
+2008-02-26T23:14:40.608304Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Update the makefile for current pkgconfig macros.
-</pre>
-<p>[ijs/Makefile.am]</p>
-</blockquote>
+Fix (clist interpreter) : Improve transparency performance, step 1.
+
+DETAILS :
+
+This is a preparation for fixing bug 689708 "Long processing time of PDF file"
+It completely removes the mask pointer field from gs_transparency_source_s.
+No idea what it was defined for. Nobody uses it.
-<p><strong><a name="2007-11-16T015209.559298Z"></a>
-2007-11-16T01:52:09.559298Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Don't generate build files for the ijs package when building. Since this
-is distinct from 'make dist' the results are not optimal Bug 689425.
</pre>
-<p>[doc/Release.htm]</p>
+<p>[src/gstrans.c src/gstrans.h]</p>
</blockquote>
-<p><strong><a name="2007-11-15T072243.143761Z"></a>
-2007-11-15T07:22:43.143761Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-26T071249.848447Z"></a>
+2008-02-26T07:12:49.848447Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (clist) : Providing clist instruction ids and offsets to debug trace (continued).
-
-DETAILS :
-
-The last patch appears incorrect for the debug build
-and causes crashes sometimes. Not sure why local testing didn't detect that.
-
-This change is algorithmically equivalent for release build.
-In the debug build it fixes problems of the last patch.
+Change the decimal separator in generated strings to '.' effectively selecting
+a C numeric locale without calling any locale functions. Bug 689624.
-1. Offset map could be prematurely released by the garbager
-(It could cause a crash. Not sure why the local test didn't detect it).
-A new pointer gx_device_clist_reader::offset_map prevents that.
-Added it to the garbager descriptor and provided its initialization.
-
-2. buffer_segment_index can fail with returning a negative index.
-Checked that and propagated error codes.
-
-4. Besides top_up_cbuf, the buffer topping up also happens
-with calling memmove when reading bitmap data.
-Added calls to top_up_offset_map for accounting that.
-
-5. See comment in top_up_offset_map about the improved invariant.
-
-6. The prototupe of top_up_cbuf is changed with passing the error code.
-Due to that the variable 'cbp' is droped the 'register' modifier.
-We believe it won't cause a visible slowdown because
-modern compilers are smart enough.
-
-7. Do not maintain offset_map when -ZL is not specified.
-It saves some CPU time with debug build.
+DETAILS:
+For most clients Ghostscript is a library. We cannot set C locale before
+sprintf() and reset it afterwards because this may affect other threads.
</pre>
-<p>[src/gxclist.c src/gxcldev.h src/gxclist.h src/gxp1fill.c src/gxclrast.c src/gxclread.c src/gxclpage.c src/gxclutil.c]</p>
+<p>[src/spprint.c src/zdouble.c]</p>
</blockquote>
-<p><strong><a name="2007-11-14T230322.440437Z"></a>
-2007-11-14T23:03:22.440437Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-25T161043.614503Z"></a>
+2008-02-25T16:10:43.614503Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Remove an obsolete include.
+Remove a space betveen -f and a file name to prevent parsing of the file name
+that starts with '-' as an options. Bug 689682.
+
</pre>
-<p>[src/gendev.c]</p>
+<p>[lib/ps2pdfxx.bat]</p>
</blockquote>
-<p><strong><a name="2007-11-14T220613.972530Z"></a>
-2007-11-14T22:06:13.972530Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-25T054845.219666Z"></a>
+2008-02-25T05:48:45.219666Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Refactor the gs int.mak and lib,mak to simplify building COMPILE_INITS=1 without PS (PCL
-only build). Make sure gs/src/ugcclib.mak does conditional assignment of COMPILE_INITS
+Add a check for null value. Since rev. 6956 following Adobe implementation
+Ghostscript doesn't accept null as a key in dictionary look-up. Bug 689696.
+
</pre>
-<p>[src/lib.mak src/ugcclib.mak src/int.mak]</p>
+<p>[lib/pdf2dsc.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-14T220453.375824Z"></a>
-2007-11-14T22:04:53.375824Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-25T042047.177440Z"></a>
+2008-02-25T04:20:47.177440Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix number of macro arguments that showed an error when FPU_TYPE=-1 (no FPU)
+When the values of the color key mask exceed the valid range clip them to the
+nearest valid values and continue. Don't discard the mask as we did before.
+Bug 689717, customer 580.
+
</pre>
-<p>[src/gsciemap.c]</p>
+<p>[lib/pdf_draw.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-14T183745.596510Z"></a>
-2007-11-14T18:37:45.596510Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-24T092154.361457Z"></a>
+2008-02-24T09:21:54.361457Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (clist) : Providing clist instruction ids and offsets to debug trace.
+Fix (images) : Improve coordinate precision when scaling an image (continued 8).
DETAILS :
-This change is algorithmically equivalent for release build.
-In the debug build it only adds a new debug printing.
-
-Let clist segment is consecutive instuctions buffered for same band.
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+Ghostscript Bug 689686 "siscale.c contrast degradation"
-1. gx_device_clist_writer::ins_count counts clist segments.
-
-2. cmd_prefix_s::id is the number of clist segment that it belongs to.
-
-3. stream_band_read_state_s::offset_map stores a table for mapping
-clist segments' buffer offsets to clist file offsets.
-
-4. s_band_read_init_offset_map, s_band_read_dnit_offset_map,
-clist_file_offset, top_up_offset_map maintain the table.
-
-5. Inserted a debug printing into gxclutil.c, gxclrast.c .
+Accurately compute pixel center coordinates when applying the interpolation filter.
+See comment in code. When scale=1, the offsets mutually eliminate.
+Also the old code missed a bit when computing center_denom/2 in integers.
</pre>
-<p>[src/gxclist.c src/gxcldev.h src/gxclist.h src/gxclrast.c src/gxclread.c src/gxclutil.c]</p>
+<p>[src/siscale.c]</p>
</blockquote>
-<p><strong><a name="2007-11-14T180902.242685Z"></a>
-2007-11-14T18:09:02.242685Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-24T033703.979896Z"></a>
+2008-02-24T03:37:03.979896Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (clist) : A preparation for providing clist instruction ids and offsets to debug trace.
+Fix (images) : Improve coordinate precision when scaling an image (continued 7).
DETAILS :
-We would like this change to be algorithmically equivalent,
-but the proof is too complex. Therefore we commit it separately
-in order to check for raster differences.
-
-1. Inserted a new field into cmd_prefix_s.
-For now this field is never used, but it changes memory allocation.
-Due to that the bufferring in the clist writer goes slightly different.
-Particularly it may cause new effects while restarting failed instructions.
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+Ghostscript Bug 689720 "Hang with -dDOINTERPOLATE caused by rev 8530 changes"
-2. Early return from top_up_cbuf when the stream is over.
-The new code does not top up the last portion of the data stream.
-It shouldn't be important for the reader, but we can't proove for sure.
-This change is necessary because we want to add more fields to gx_clist_state_s,
-and the new fields would be invalid after s_close resets stream::state.
-See the next patch for details.
+An expression for HeightOut missed 'abs' with recent patch.
+Thanks to Ray for pointing it out.
</pre>
-<p>[src/gxclist.h src/gxclrast.c]</p>
+<p>[src/gxiscale.c]</p>
</blockquote>
-<p><strong><a name="2007-11-14T022253.263144Z"></a>
-2007-11-14T02:22:53.263144Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-24T025834.824461Z"></a>
+2008-02-24T02:58:34.824461Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Add support for passing EXPAT_CFLAGS from the top-level makefile.
-Passing -DHAVE_MEMMOVE is required in the unix build.
+Fix link errors in the file descriptor-based implementation of file streams.
+Move function used by both fd and stdio implementations to a separate file
+and compile it in both versions. Bug 688918.
+
+DETAILS:
+Although the patch fixes link errors, pdfwrite and other devices,
+use stdio functions directly and generate incorrect documents in fd version.
+
</pre>
-<p>[src/expat.mak]</p>
+<p>[src/lib.mak src/sfxstdio.c src/sfxcommon.c]</p>
</blockquote>
-<p><strong><a name="2007-11-14T020605.012311Z"></a>
-2007-11-14T02:06:05.012311Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-24T011218.214936Z"></a>
+2008-02-24T01:12:18.214936Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Remove spurious executable bits.
+Add definitions of some C99 types missing from old versions of Cygwin.
</pre>
-<p>[expat/MANIFEST expat/conftools/expat.m4 expat/tests/benchmark/benchmark.c expat/lib/internal.h expat/COPYING expat/Changes expat/lib/utf8tab.h expat/tests/runtestspp.cpp expat/tests/runtests.c expat/lib/expatw_static.dsp expat/lib/libexpat.def expat/amiga/include/proto/expat.h expat/tests/README.txt expat/xmlwf/xmlfile.c expat/xmlwf/xmlfile.h expat/xmlwf/ct.c expat/lib/Makefile.MPW expat/xmlwf/codepage.c expat/vms/descrip.mms expat/xmlwf/codepage.h expat/bcb5/elements.bpf expat/lib/amigaconfig.h expat/amiga/expat_lib.c expat/bcb5/elements.bpr expat/lib/expat.h expat/win32/README.txt expat/conftools/get-version.sh expat/doc/valid-xhtml10.png expat/examples/outline.dsp expat/xmlwf/readfilemap.c expat/bcb5/outline.mak expat/lib/xmlrole.c expat/amiga/launch.c expat/bcb5/expat_static.mak expat/lib/xmlrole.h expat/lib/winconfig.h expat/examples/elements.dsp expat/win32/expat.iss expat/win32/MANIFEST.txt expat/amiga/expat.xml expat/bcb5/outline.bpf expat/expat_config.h.in expat/lib/libexpatw.def expat/lib/expatw.dsp expat/bcb5/expat.mak expat/lib/xmltok.c expat/vms/README.vms expat/tests/benchmark/README.txt expat/bcb5/expat_static.bpf expat/lib/xmltok.h expat/tests/xmltest.sh expat/lib/latin1tab.h expat/bcb5/outline.bpr expat/tests/minicheck.c expat/xmlwf/xmlwf.dsp expat/conftools/PrintPath expat/tests/minicheck.h expat/Makefile.in expat/lib/expat_static.dsp expat/bcb5/libexpat_mtd.def expat/bcb5/expat_static.bpr expat/lib/xmltok_impl.c expat/bcb5/expatw.mak expat/amiga/include/interfaces/expat.h expat/lib/xmltok_impl.h expat/xmlwf/filemap.h expat/bcb5/expatw_static.mak expat/vms/expat_config.h expat/bcb5/expat.bpf expat/xmlwf/xmlwin32url.cxx expat/lib/xmltok_ns.c expat/xmlwf/xmltchar.h expat/doc/reference.html expat/tests/benchmark/benchmark.dsp expat/bcb5/expat.bpr expat/bcb5/xmlwf.mak expat/bcb5/setup.bat expat/lib/xmlparse.c expat/tests/benchmark/benchmark.dsw expat/conftools/install-sh expat/configure.in expat/conftools/libtool.m4 expat/bcb5/expatw.bpf expat/amiga/Makefile expat/bcb5/expatw_static.bpf expat/bcb5/expatw.bpr expat/bcb5/expatw_static.bpr expat/bcb5/xmlwf.bpf expat/lib/expat_external.h expat/configure expat/lib/macconfig.h expat/conftools/ac_c_bigendian_cross.m4 expat/lib/ascii.h expat/amiga/expat_vectors.c expat/conftools/mkinstalldirs expat/bcb5/README.txt expat/amiga/README.txt expat/bcb5/xmlwf.bpr expat/xmlwf/unixfilemap.c expat/doc/xmlwf.sgml expat/bcb5/all_projects.bpg expat/xmlwf/xmlurl.h expat/doc/expat.png expat/amiga/include/inline4/expat.h expat/examples/elements.c expat/expat.dsw expat/amiga/stdlib.c expat/amiga/include/libraries/expat.h expat/lib/iasciitab.h expat/xmlwf/xmlmime.c expat/tests/chardata.c expat/xmlwf/xmlmime.h expat/doc/style.css expat/README expat/tests/chardata.h expat/conftools/config.guess expat/doc/xmlwf.1 expat/conftools/ltmain.sh expat/conftools/config.sub expat/lib/nametab.h expat/bcb5/libexpatw_mtd.def expat/lib/asciitab.h expat/xmlwf/xmlwf.c expat/lib/expat.dsp expat/examples/outline.c expat/xmlwf/win32filemap.c expat/bcb5/elements.mak expat/bcb5/makefile.mak]</p>
+<p>[src/stdint_.h]</p>
</blockquote>
-<p><strong><a name="2007-11-13T185718.728921Z"></a>
-2007-11-13T18:57:18.728921Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-23T222601.799844Z"></a>
+2008-02-23T22:26:01.799844Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (make) : Could not build for x64 platform with Developer Studio 2005.
-
-DETAILS :
-
-1. The old code uses the 32 bits compiler for compiling build utilities
-(genarchg, echogs), and then tries to link them with x64 libraries.
-
-2. Developer Studio 2005 doesn't support -ZI
-(debug database for edit end continue) for the x64 platform.
-
+Fix typo that caused Cygwin build to fail if 'fontconfig' package was present.
</pre>
-<p>[src/msvccmd.mak]</p>
+<p>[src/configure.ac]</p>
</blockquote>
-<p><strong><a name="2007-11-13T100155.069333Z"></a>
-2007-11-13T10:01:55.069333Z Ken Sharp</strong></p>
+<p><strong><a name="2008-02-22T201808.422807Z"></a>
+2008-02-22T20:18:08.422807Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite): type 3 fonts with exceedingly small BoundingBox
-entries were clamped to 0 or 1.
-
-Details:
-Bug #689537 "FontBBox wrong in pdf generated by ps2pdf (breaks
-acrobat 8)".
+Fix (images) : Improve coordinate precision when scaling an image (continued 6).
-The type 3 font has a FontBBox of [0 0 0.3 0.3]. Because
-pdfwrite uses integers to record the font bounding box, this was
-being clampled to [0 0 1 1]. This should not cause a prolem, but
-for unknown reasons causes Acrobat 8 to render *very* slowly.
-
-(gdevpdtf.h), 'struct /*type 3*/', alter the FontBBox member from
-a gs_int_rect to a gs_rect to preserve floating point box values.
+DETAILS :
-(gdevpdtt.c), pdf_make_font3_resource, copy the font bbox values
-instead of floor'ing the lower and ceil'ing the upper values.
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+Ghostscript Bug 689718 "Regression: differences in FIG3.eps".
-(gdevpdfu.c), create a new function 'pdf_write_font_bbox_float'
-to write the bbox as floats instead of ints.
+1. siscale.c : The revision 8529 patch part 4 tried to represent 'ceil' with rational
+arithmetics. But when downsampling the argument still uses a floating
+number WidthIn, so we still need 'ceil'.
+This patch converts the formula back to floats,
+assuming that double precision is enough for precise result
+because source image size usually is smaller than 2^24.
-(gdevpdfx.h) prototype 'pdf_write_font_bbox_float'
+The wrong rational representation of 'ceil' caused an array element index
+to fall outside the array. Debugged with FIG3.eps.
-(gdevpdtw.c), pdf_finish_write_contents_type3, use the new
-routine to write out a floating point bounding box.
+2. Improved debug printing and visual trace.
</pre>
-<p>[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdfu.c src/gdevpdtw.c src/gdevpdtf.h]</p>
+<p>[src/gsimage.c src/lib.mak src/gxiscale.c src/siscale.c src/gdevm24.c]</p>
</blockquote>
-<p><strong><a name="2007-11-12T085935.891834Z"></a>
-2007-11-12T08:59:35.891834Z Ken Sharp</strong></p>
+<p><strong><a name="2008-02-22T102949.290734Z"></a>
+2008-02-22T10:29:49.290734Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite): named objects, created via a pdfmark such as /BP,
-could not have their content modified after the object was completed.
-
-DETAILS:
-Bug #689104 "Overwriting transformation /Matrix in XObject previously
-created with /BP & /EP pdfmarks".
+Fix (FAPI) : Embedded fonts didn't work (continued).
-Some pdfmarks, such as /BP create named objects. These can accumulate
-information until a matching pdfmark (/EP in this case) completes the
-object. When complete, objects were written to the final destination
-PDF file. This made it impossible to later modify the object.
+DETAILS :
-(gdevpfm.c) pdfmark_bind_named_object, change the call to
-pdf_substitute_resource to defer writing the object to the
-destination file, if the object is named. This means the object is still
-available for modification until the end of the job. NB if the object
-is not named, we still write it immediately, as there is no mechanism
-for modifying an unnamed object, nor do we currently have a mechanism
-for maintaining a record of unnamed objects.
+A condition for querying a glyph in GlyphDirectory was wrong.
+Debugged with buttons.pdf from Karen.
</pre>
-<p>[src/gdevpdfm.c]</p>
+<p>[src/zfapi.c]</p>
</blockquote>
-<p><strong><a name="2007-11-10T172049.620638Z"></a>
-2007-11-10T17:20:49.620638Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-22T100930.542153Z"></a>
+2008-02-22T10:09:30.542153Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Pre-scan the stream for '{' during the stream length check to avoid reading
-to the end of the stream and closing it. Bug 689551, customer 661.
+Fix (FAPI) : Embedded fonts didn't work.
-</pre>
-<p>[lib/pdf_base.ps]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-11-09T211804.579128Z"></a>
-2007-11-09T21:18:04.579128Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove the JVERSION makefile variable.
+Embedded Type 42 FAPI support was broken since
+Revision 7107 Sun Oct 15 17:19:45 2006 UTC (16 months, 1 week ago)
+due to premature binding.
-We only support the current version 6 library, and it seems
-unlikely to revise in the the near future. We also include
-our own copy of the source now, so it is less important to
-support a variety of third party library versions.
</pre>
-<p>[src/openvms.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/bcwin32.mak src/ugcclib.mak src/gs.mak src/Makefile.in doc/Make.htm src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/watclib.mak src/jpeg.mak]</p>
+<p>[lib/gs_typ42.ps]</p>
</blockquote>
-<p><strong><a name="2007-11-09T211556.512922Z"></a>
-2007-11-09T21:15:56.512922Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-20T210248.212097Z"></a>
+2008-02-20T21:02:48.212097Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Remove the PNGVERSION makefile variable.
-
-We no longer support building older versions of the libpng source,
-and now include our own version, so there is no reason to maintain
-this.
-</pre>
-<p>[src/openvms.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/bcwin32.mak src/ugcclib.mak src/gs.mak src/libpng.mak doc/Make.htm src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/all-arch.mak src/watclib.mak]</p>
-</blockquote>
+Fix (images) : Improve coordinate precision when scaling an image (continued 5).
-<p><strong><a name="2007-11-09T210048.139238Z"></a>
-2007-11-09T21:00:48.139238Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Update the top level makefiles with the current libpng version number.
-</pre>
-<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/macos-mcp.mak src/msvclib.mak src/all-arch.mak src/openvms.mmk src/os2.mak src/watclib.mak]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-11-09T205819.833269Z"></a>
-2007-11-09T20:58:19.833269Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Use PNGSRCDIR and PNGVERSION instead of PSRCDIR and PVERSION in
-the top level makefiles.
-</pre>
-<p>[src/openvms.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/bcwin32.mak src/ugcclib.mak src/gs.mak src/libpng.mak src/Makefile.in doc/Make.htm src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/all-arch.mak src/watclib.mak]</p>
-</blockquote>
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
-<p><strong><a name="2007-11-09T195457.891517Z"></a>
-2007-11-09T19:54:57.891517Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Minor cleanup of the expat makefile.
-</pre>
-<p>[src/expat.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-11-09T011415.828665Z"></a>
-2007-11-09T01:14:15.828665Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Change the jbig2dec license from GPLv2 to GPLv2 or later.
-</pre>
-<p>[jbig2dec/LICENSE]</p>
-</blockquote>
+This is a further improvement to image placement precision.
+Debugged with a.pdf .
-<p><strong><a name="2007-11-08T075721.838362Z"></a>
-2007-11-08T07:57:21.838362Z Suzuki Toshiya</strong></p>
-<blockquote>
-<pre>
-Fix: Ignore problematic post table in format 2.0 with ISOLatin1Encoding glyph names.
+The old code provides insufficientg precision when computing
+transformation matrix for an image. This computation
+include matrix inversion and matrix miltiplication.
+The old code uses floats and causes a visible shift of subimages with banding.
+The new code uses double precision.
-DETAILS:
-Some TrueType fonts converted by "Windows Type 1 Installer" have
-problematic post table format 2.0 including MacGlyphEncoding
-entries which should be omitted. Such extra entries in the
-beginning of glyphName array make /Encoding broken. By checking
-if glyph name in post table is predefined one in MacGlyphEncoding,
-such problematic post table can be detected. By ignoring such
-problematic post table, bug 689495 is fixed.
-
-However, some TrueType fonts designed for Microsoft redefines
-MacGlyphEncoding glyph name out of predefined range. To permit
-such font, the post table in format 2.0 is checked by
-ISOLatin1Encoding which is the cross section of MacGlyphEncoding
-and WinAnsiEncoding. ISOLatin1Encoding is enought to fix the
-bug 689495.
+We didn't test how it relates to the revision 7026 change,
+which dectreased the matrix precision for CPSI compatibility.
+It should be a separate job.
-</pre>
-<p>[lib/gs_ttf.ps]</p>
-</blockquote>
+In the new gsmatrix.c code we simply duplicate old code fragments
+and replace types for double. We don't want to define a template
+for now. Will see after the code passes enough practical work.
-<p><strong><a name="2007-11-07T071345.310142Z"></a>
-2007-11-07T07:13:45.310142Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Preliminary makefile for the expat third party library.
+Besides that, in gxidata.c replaced fixed2int_pixround
+with fixed2int_pixround_perfect. It is not related to a.pdf,
+but we believe it is an useful change.
-Can be used to link to the system expat with SHARE_EXPAT=1,
-but compiling the source doesn't work on linux in this revision
-because of missing configuration defines.
-</pre>
-<p>[src/gs.mak src/expat.mak]</p>
-</blockquote>
+In gxipixel.c the patch replaces dda_advance with a repeated dda_next.
+The old code appears implrecise due to loosing fraction pixels.
+It eliminates a 1 pixel difference with Bug688789.pdf .
-<p><strong><a name="2007-11-07T050406.063702Z"></a>
-2007-11-07T05:04:06.063702Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Copy the expat-2.0.1 tag source into the gs tree.
+Minor changes : inserted debug printing and visual trace.
-This 3rd party library is needed for XPS and eventually SVG support.
</pre>
-<p>[expat]</p>
+<p>[src/lib.mak src/gsmatrix.c src/gximono.c src/gxidata.c src/gsmatrix.h src/gdevm24.c src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-11-07T041913.410191Z"></a>
-2007-11-07T04:19:13.410191Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-18T202859.836803Z"></a>
+2008-02-18T20:28:59.836803Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Add a skeleton implementation of the text extraction device.
-It doesn't do anything useful yet, only prints "Hello world" once per page.
+Propagate the new method argument change introduced in r8528 to the wts
+device so that it compiles again.
</pre>
-<p>[src/gdevtxtw.c src/bcwin32.mak src/openvms.mak src/macosx.mak src/watcw32.mak src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
+<p>[src/gdevwts.c]</p>
</blockquote>
-<p><strong><a name="2007-11-02T190903.093400Z"></a>
-2007-11-02T19:09:03.093400Z Marcos Woehrmann</strong></p>
+<p><strong><a name="2008-02-17T233650.588580Z"></a>
+2008-02-17T23:36:50.588580Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix for Bug 689316.
+Fix (images) : Improve coordinate precision when scaling an image (continued 4).
+
+DETAILS :
-On some systems XInitImage() appears to have
-problems with images that are one pixel in height, so
-if XInitImage() returns an error call XPutImage() instead.
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
-</pre>
-<p>[src/gdevx.c]</p>
-</blockquote>
+This patch doesn't change the algorithm.
+It only removes tracks of dead development branches.
-<p><strong><a name="2007-11-02T181645.038692Z"></a>
-2007-11-02T18:16:45.038692Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Document the interaction between a the vector device beginpage method
-and gdev_vector_stream() more clearly.
</pre>
-<p>[src/gdevvec.h]</p>
+<p>[src/gxiscale.c src/siscale.c src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-11-01T204928.224038Z"></a>
-2007-11-01T20:49:28.224038Z Ray Johnston</strong></p>
+<p><strong><a name="2008-02-17T232547.528293Z"></a>
+2008-02-17T23:25:47.528293Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Make sure that errors are propogated to caller in the WTS device (such
-as VMerror). Bug 689511 for customer 951.
+Fix (images) : Improve coordinate precision when scaling an image (continued 3).
-DETAILS:
+DETAILS :
-This doesn't really fix the underlying problem seen by the (embedded)
-customer where the clist rendering uses a large amount of RAM.
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
-</pre>
-<p>[src/gdevwts.c]</p>
-</blockquote>
+1. The macro fixed2int_pixround returns a mathematically incorrect
+result with negative half-integer arguments.
+For example fixed2int_pixround(-2.5) = -3 when the math gives -2.
+We guess it was designed for positive page coordinates only,
+but later it was applied to objects with negative coordinates.
+Particularly, an image can start outside the page with a negative coordinate,
+and fixed2int_pixround causes distorsions with banding.
-<p><strong><a name="2007-11-01T172245.182105Z"></a>
-2007-11-01T17:22:45.182105Z Igor Melichev</strong></p>
-<blockquote>
-<pre>
-PS interpreter : Trace the executed operators' names (continued).
+We do not update fixed2int_pixround for backward compatibility
+of other parts of the algorithm. Instead that the patch defines
+a mew macro fixed2int_pixround_perfect, and applies it to
+images with Interpolate=true. (gxfixed.h, gxipixel.c, gxiscale.c).
-DETAILS :
+2. Added gx_image_enum_s::yi0 to provide entire image origion in the page.
+This value does not depend on band size, so it gives more stability -
+see below. (gximage.h).
+
+3. Added entire image sizes to stream_image_scale_params_s
+for source image and scaled image. These values do not depend on band size
+and provide more stability - see how they are used in siscale.c.
+(sisparam.h, gxiscale.c).
+
+4. (siscale.c) calculate_contrib now computes the filter kernel center
+with global (page) coordinates of the image, using the right macro
+fixed2int_pixround_perfect and with the rational arithmetics
+instead floats. It gives the kernel center position relatively to source image
+with no dependence on the band size. Also improved the debug printing
+about that.
-Fix an inaccurate coding of the last patch.
+5. In siscale.c we keep track of some experiments done while
+developing the patch. We need to save them to history because they're not trivial.
+See comments in code. We'll remove them from trunk with a separate patch.
</pre>
-<p>[src/iinit.c]</p>
+<p>[src/lib.mak src/gxiscale.c src/gxfixed.h src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-11-01T162001.816428Z"></a>
-2007-11-01T16:20:01.816428Z Igor Melichev</strong></p>
+<p><strong><a name="2008-02-17T223215.427994Z"></a>
+2008-02-17T22:32:15.427994Z Igor Melichev</strong></p>
<blockquote>
<pre>
-PS interpreter : Trace the executed operators' names.
+Fix (images) : Improve coordinate precision when scaling an image (continued 2).
DETAILS :
-This change is syntactically equivalent for a default build.
-For obtaining the new functionality Ghostscript must be compiled
-with a new predefined macro DEBUG_TRACE_PS_OPERATORS.
-The new debug switch '!' prints names of operators executed while the interpretation.
-Note : Inline operators (which are expanded inside interp.c) are not printed.
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This patch does not change the algorithm,
+except adding a debug printing with y coordinate of an image rectangle
+in the page coordinate systems. It allows to compare
+image fragments, which fall to verious bands depending on band size.
+
+We could wrap the definition of gx_device_memory_s::band_y
+and all access to it with #ifdef DEBUG,
+but we don't want to reduce the readability and because
+memory and the CPU time expense is too small.
</pre>
-<p>[src/iinit.c doc/Use.htm src/int.mak src/iinit.h src/interp.c]</p>
+<p>[src/gxclist.c src/gxdevbuf.h src/gxdevmem.h src/gdevppla.c src/gdevmem.c src/gdevbmpa.c src/gdevprn.c src/gdevppla.h src/gdevm24.c src/gxclread.c src/gdevpng.c src/gdevprn.h src/gdevijs.c]</p>
</blockquote>
-<p><strong><a name="2007-11-01T155622.262417Z"></a>
-2007-11-01T15:56:22.262417Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-17T035945.216145Z"></a>
+2008-02-17T03:59:45.216145Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Move a 32K array from the stack to the heap to save stack space.
+Fix for regressions introduced with rev 8526. Some resolutions of CMYK, 1-bit
+per component devices that had CMYK colors and Gray colors had strange dithers.
+Bug 689706.
DETAILS:
-Ghostscript is designed to run with 64K stack space for compatibility with
-embedded environments. Unlike other MS systems, Windows NT enforces stack
-space limit claimed by the application. MSVC 6 run-time uses about 8K
-internally and remaining 56K stack was insufficient.
-</pre>
-<p>[src/gdevpdfi.c]</p>
-</blockquote>
+The previous changes missed changing the cache index logic in gx_render_ht_1_level,
+If the cache had been set with one of the other routines, gx_render_ht_default or
+gx_dc_ht_binary_load_cache, then gx_render_ht_1_level would be inconsistent.
+
+EXPECTED DIFFERNCES:
+
+This is expected to resolve the regressions from rev 8527 with pkmraw on:
+
+035-01.ps
+119-28.ps
+1_2001.pdf
+Altona-Testsuite_p2_S_x3.pdf
+Altona_Measure_1v1.pdf
+Altona_Visual_bb_1v1_x3.pdf
+Altona_Visual_sb_1v1_x3.pdf
+BEST8-99-Path.fh7.pdf
+BW0696FOLD1FRONT.pdf
+Bug687489.ps
+Bug687724.pdf
+Bug687832.pdf
+Bug687840.pdf
+Bug688308.ps
+Bug688822.eps
+Bug689269.ps
+Clarke-Tate-Manns-Chinese.ai
+H00216q.pdf
+Original.pdf
+S2_Digitalproof-Forum_x3k.pdf
+a.pdf
+besttest.pdf
+cmyk.pdf
+foo.pdf
+knight.pdf
+test.pdf
+time1.pdf
+</pre>
+<p>[src/gxht.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-14T083456.225081Z"></a>
+2008-02-14T08:34:56.225081Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Improve Halftone tile cache efficiency. Make default cache large enough
+on default 32-bit (LARGE) configuration to allow for > 256 cache tiles
+when using the 'ht_ccsto.ps' 167x167 Threshold array. Change cache
+lookup logic to eliminate collisions when the number of cache slots
+exceeds the number of levels (the normal case). Remove duplicated
+ht cache default size #defines and normalize the names to end in
+_size (to imply size in bytes) and be consistent with other similar
+function/macro names.
-<p><strong><a name="2007-10-31T170102.758539Z"></a>
-2007-10-31T17:01:02.758539Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Rewrite gs_getdefaultdevice to avoid allocating memory.
+DETAILS:
-The new version also skips tabs as whitespace and is more robust.
-</pre>
-<p>[src/gsdevice.c]</p>
-</blockquote>
+When we have more cache slots than the number of levels, we can use
+the 'b_level' directly and don't lookup based on the 'number of bits'
+(level). This ELIMINATES collisions and on customer 661's benchmarks
+resulted in up to 40% performance improvement for some files with
+no performance degradation on any when running a large threshold
+array based halftone (as the customer does).
-<p><strong><a name="2007-10-31T170059.582623Z"></a>
-2007-10-31T17:00:59.582623Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add a new GS_DEV_DEFAULT makefile variable for passing a preferred list
-of default devices, in order of priority. These are passed through to
-the C code, and searched for in gs_getdefaultdevice().
-</pre>
-<p>[src/gs.mak src/Makefile.in src/gscdefs.h src/gsdevice.c src/gscdef.c]</p>
-</blockquote>
+The previous -Z. behavior is retained, although small cache sizes
+are of questionable value, and this is sort of confusing since a
+small memory build will use the same cache size with and without
+-Z.
-<p><strong><a name="2007-10-31T170055.551499Z"></a>
-2007-10-31T17:00:55.551499Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add Postcript bindings to gs_getdefaultdevice() and use them to set the
-default device in the interpreter. Bug 689273.
</pre>
-<p>[doc/Language.htm src/zdevice.c lib/gs_init.ps]</p>
+<p>[src/gshtscr.c src/gzht.h src/gsht.c src/gdevprna.c src/gxht.c]</p>
</blockquote>
-<p><strong><a name="2007-10-31T170051.435508Z"></a>
-2007-10-31T17:00:51.435508Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-12T203017.540929Z"></a>
+2008-02-12T20:30:17.540929Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Add a gs_getdefaultdevice() call and use it when printing the help
-message. It just returns the first device as before. Bug 689273.
-</pre>
-<p>[src/gsdevice.h src/imainarg.c src/gsdevice.c]</p>
-</blockquote>
+Fix (images) : Improve coordinate precision when scaling an image (continued).
-<p><strong><a name="2007-10-30T234546.184301Z"></a>
-2007-10-30T23:45:46.184301Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add missing dependencies to the contrib device build.
-</pre>
-<p>[contrib/contrib.mak]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-10-30T192601.651347Z"></a>
-2007-10-30T19:26:01.651347Z Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (banding) : Improving the debug trace about compositors (continued).
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
-DETAILS :
+This is another partial fix for the bug 687345 for portrait images with Interpolate=true.
+Debugged with CET 148-13.
-This change is algorithmically equivalent for release build.
-In the debug build it only improves debug printing
-with distinguishing gs_ and gx_ operations.
+1. The old code inprecisely computes the scaling factor
+when interpolating images with Mitchel filter.
+The computation was done with the subimage rectangle,
+which is different for different bands.
+The new code always computes the scale from the entire image rectangle,
+which's size is same for all bands.
-</pre>
-<p>[src/gstrans.c]</p>
-</blockquote>
+2. New fields are inserted into gx_image_enum_s and stream_image_scale_params_s
+to provide data delivery for (1).
-<p><strong><a name="2007-10-30T174749.373667Z"></a>
-2007-10-30T17:47:49.373667Z Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (banding) : Improving the debug trace about compositors.
+3. In calculate_contrib in siscale.c the variable input_index
+is renamed into starting_output_index for a better reflection of its semantics.
-DETAILS :
+4. In calculate_contrib in siscale.c the new variable dst_offset_fraction
+is added for a preciser positioning of the filter center,
+when it fails between device pixel rows. The old code missed fractional
+pixels when stepping to a next band. The expression for its value
+was created empirically, so it may need further improvements.
-This change is algorithmically equivalent for release build.
-In the debug build it only adds more debug printing.
+5. Inserted visual trace instructions for easier debugging.
-1. Added a debug printing for alpha, overprint and rop compositors
-when writing/reading from/to clist.
+6. Improved the debug trace printing.
-2. (gxclrast.c) When printing a matrix with the 'L' switch,
-use global page coordinates as rectangle operations do.
-It allows to map reading operatrions to corresponding writeing operations.
-
</pre>
-<p>[src/gsropc.c doc/Use.htm src/gsalphac.c src/gsovrc.c src/gxclrast.c]</p>
+<p>[src/gxdda.h src/lib.mak src/gxiscale.c src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-10-30T005844.912591Z"></a>
-2007-10-30T00:58:44.912591Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-12T190319.125442Z"></a>
+2008-02-12T19:03:19.125442Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Add a cast to prevent a warning.
+Document the need to update the current documentation snapshot.
</pre>
-<p>[src/zfjpx.c]</p>
+<p>[doc/Release.htm]</p>
</blockquote>
-<p><strong><a name="2007-10-28T233359.326612Z"></a>
-2007-10-28T23:33:59.326612Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-09T023031.322331Z"></a>
+2008-02-09T02:30:31.322331Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Move "true .setaccuratecurves" to the PDF graphic state initialization
-where it belongs. This fix enables accurate curve rendering by GSview
-doesn't use some parts of Ghostscript startup code. Bug 688434.
-
+Clamp the number components read from the ICC DataSource array to the
+number actually allocated to avoid buffer overflow. CESA-2008-001.
</pre>
-<p>[lib/pdf_main.ps lib/pdf_ops.ps]</p>
+<p>[src/zicc.c]</p>
</blockquote>
-<p><strong><a name="2007-10-28T182229.779063Z"></a>
-2007-10-28T18:22:29.779063Z Ralph Giles</strong></p>
+<p><strong><a name="2008-02-09T005538.575949Z"></a>
+2008-02-09T00:55:38.575949Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct a typo.
+Include 12 and 16 bit image support as part of the core graphics
+library. Bug 689688.
+
+Details:
+
+Previously, the core graphics library defaulted to including the
+'no12bit' and 'no16bit' modules, which contained stubs. These modules
+were replaced by full implementations when the psl2lib (12 bit) and
+pdfread (16 bit) modules were included.
+
+We now consider this build-time flexibility redundant. The extra code is
+not large and the default build generally includes it as these images
+are part of all the newer page description languages. We therefore
+include the unpack routines directly in libcore and remove the
+noi1xbit modules entirely.
</pre>
-<p>[doc/Use.htm]</p>
+<p>[src/lib.mak src/int.mak]</p>
</blockquote>
-<p><strong><a name="2007-10-28T171747.899537Z"></a>
-2007-10-28T17:17:47.899537Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-07T093322.506379Z"></a>
+2008-02-07T09:33:22.506379Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Change pdf_base.ps::.pdfrun and pdf_sec.ps::.decpdfrun to ensure
-"PDFScanRules" == "true" while scanning the PDF, and if necessary revert
-it back to "null" before returning. Thanks to SaGS for the patch. Bug 688598.
+Fix (pdfwrite): problems with unusual PDF text rendering modes.
-DETAILS:
-The bug is triggered by the construct "//DeviceGray" found in the sample PDF.
-The following command fails with the same error as GSView, and for the
-same reason:
-
- pdfopt.bat media_365163.pdf output.pdf
+Details:
+Bug #689596 "Generated PDF loses an image from original".
-When Ghostscript interprets a PDF directly, most of the job is done by
-LIB\pdf_main.ps::dopdfpages which sets "PDFScanRules" correctly. However,
-the initial part of scanning the PDF (trailer dict, ...), and the rebuild
-logic scan the PDF with wrong "PDFScanRules". Also GS's own various tools
-and GSView don't set/ reset it as needed.
+Although the PDF interpreter stores both stroke and fill colours,
+there is no way to pass both these colours to the graphics library.
+The PostScript graphics state may only contain a single colour, and the
+device interface only allows for a single colour to be passed.
-Implementation details:
+The old code set the text rendering mode, and assumed that if the
+current device was pdfwrite this would be sufficient. However the
+need to set both colours causes this to fail.
-(A) ".pdfrun" and ".decpdfrun" dinamically construct procedures that do the
-real work and immediately execute them. The patch changes these procedures
-to include setting/ restoring "PDFScanRules". If "PDFScanRules" == "true"
-already, then "setuserparams" is not called at all, so normally
-(when ".[dec]pdfrun" executed during "dopdfpages") there's practically no
-impact on performance.
+Modified the pdf_ops to set a show/colour/charpath/stroke combination
+instead. The existing code will spot text followed by a charpath of
+the same text and collapse it back.
-There are also "token" calls outside these 2 procedures, but these calls are
-for scanning the xref and "# # obj" lines, which don't contain PDF name
-objects.
+A number of other problems with text rendering modes were also addressed
+at the same time, but in a less than optimal fashion. This patch
+is a temporary fix while an enhancement is coded to better address
+the problem.
-(B) ".getuserparam" GS-specific operator changed to recognize scanner options
-too ("PDFScanRules" and "PDFScanInvNum"). This is needed by ".[dec]pdfrun"
-for restoring "PDFScanRules"; also used for an optimization (to omit calling
-"setuserparams" when not actually needed).
+(gdevpdts.c) pdf_render_mode_uses_stroke, was checking for render mode
+not 0 (fill). Altered to check against the actual stroking modes.
-Note:
- For "Process[DSC]Comment" it returns "true" if a procedure
- is set, and not the actual procedure. To retrive the
- procedures (or null if none set), use "currentuserparams".
+(gdevpdtt.c) pdf_update_text_state was setting the text rendering mode
+to 0 (fill) under most conditions. Altered this to set the mode from
+the graphics state, unless the current font PaintType is 2 (stroke),
+and the render mode is 0, in which case set render mode to 1 (stroke).
-(C) ".currentuserparams" is NOT modified, so it does not return scanner
-options. If it did, these ended up being put into "userparams" and be
-affected by "save"/ "restore" (see the redefinition of "restore" in
-gs_lev2.ps).
+(pdf_ops.ps) Modify setshowstate to provide better methods of implementing
+various text rendering modes to pdfwrite. Rendering is unaffected by
+this change.
</pre>
-<p>[src/itoken.h lib/pdf_base.ps lib/pdf_sec.ps src/zusparam.c src/ztoken.c]</p>
+<p>[src/gdevpdts.c src/gdevpdtt.c lib/pdf_ops.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-28T141946.108672Z"></a>
-2007-10-28T14:19:46.108672Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-04T221808.283584Z"></a>
+2008-02-04T22:18:08.283584Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Stop reading the xref+trailer at the closing ">>" because PDF 1.7 Reference
-made "startxref" optional in some cases. Thanks to SaGS for thr patch.
-Bug 688283.
-
-DETAILS:
-The PDF 1.7 Reference, section F.2.3 "First-Page Cross-Reference
-Table and Trailer (Part 3)", 2nd paragraph on page 1031 states:
-
- "The first-page trailer may optionally end with startxref, an
- integer, and %%EOF, just as in an ordinary trailer. This
- information is ignored."
-
-(note the word "optionally"), so in such a case a PDF interpreter
-cannot rely on anything particular (like "startxref"/ "startref"/
-"xref") to follow the trailer dictionary. Now consider a linearized
-PDF being incrementally updated, and you get that in the general
-case a "previous trailer" may lack the "startxref". Apparently,
-Acrobat does a similar thing when creating hybrid-ref PDFs.
-
-</pre>
-<p>[lib/pdf_main.ps lib/pdf_rbld.ps]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-27T195500.858126Z"></a>
-2007-10-27T19:55:00.858126Z Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Banding : Extend clist language with trapezoids, linear color trapezoids and linear color triangles (continued 9).
+Fix (images) : Improve coordinate precision when scaling an image.
DETAILS :
-Bug 689526 "Regression: performance issues with r8118".
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This is a partial fix for the bug 687345 for images with Interpolate=false.
+Actually it is related to scaling raher than interpolation.
+
+1. gx_image_enum_begin performed inaccurate coordinate computations,
+which caused a different image bias for different bands
+due to a wrong coordinate rounding.
+The patch replaces it with a better code,
+which provides same bias for all bands and for unbanded rendering.
+But we're not sure that image placement is now perfect,
+because the initial rounding looks strange.
+We keep the initial rounding to be compatible with the old code
+to minimize raster differences and easier visual analyzis.
+For a while we keep the old code in #if 0 because
+it may be useful for next patch.
+
+2. image_render_frac contains optimized branches for the case when
+image's axes are parallel to page's axes.
+Those optimized branches convert parallelograms into rectangles,
+except for the last parallelogramm in the chunk.
+It caused the last parallelogram to shift in 1 pixel relatively
+to the rectangles. This patch adds the optimized branch
+for the last parallelogram, so that all image parts
+are now placed with same rounding. It avoids rendering artifacts
+with 148-05.ps and many other tests. Note that the patch does not fix
+the rectangle shift from parallelograms,
+so probably it still contain another bug,
+which may need a separate fix.
+
+3. While working on this patch we noted that update_strip
+doesn't correctly preserve the fractional part for
+dda.strip and dda.pixel . We include a track of that experiment
+in the new code in #if 0 section for further development.
+See comment in code.
-This patch clips triangles an trapezoids with band bbox
-during the clist playback. The old code spends much time
-for rasterizes parts that fall outside the band,
-espcially if the band height is small.
+4. Inserted visual trace commands for easier debugging.
-Also fixed an obsolete comment.
-
</pre>
-<p>[src/gxclrast.c]</p>
+<p>[src/lib.mak src/gxidata.c src/gdevddrw.c src/gdevm24.c src/gxclread.c src/gxi12bit.c src/gxipixel.c]</p>
</blockquote>
-<p><strong><a name="2007-10-27T185514.195971Z"></a>
-2007-10-27T18:55:14.195971Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-02-03T175423.256452Z"></a>
+2008-02-03T17:54:23.256452Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Extract and process default PDF file from the PDF collection when
-it is defined. Otherwise process the container PDF file.
-
-DETAILS:
-The procedure pdf_collection_files can be extended to select other
-PDF files from the collection and extract them for processing.
-
+Modify pdf_info utility to match the changes in PDF interpreter interface.
+Bug 689680.
</pre>
-<p>[lib/pdf_main.ps lib/pdf2dsc.ps]</p>
+<p>[toolbin/pdf_info.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-26T074130.826491Z"></a>
-2007-10-26T07:41:30.826491Z Ken Sharp</strong></p>
+<p><strong><a name="2008-02-01T220551.322620Z"></a>
+2008-02-01T22:05:51.322620Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite): Type 1 CharStrings could be converted to invalid
-type 2 CharStrings if the glyph program used implicit start points
-for subpaths.
-
-DETAILS:
-Bug #689055 "pdfwrite creates a bad Type1C font"
-
-If a type 1 CharString used an implicit point, either the initial point
-(0,0) or the point resulting from a closepath, then the type 2 output
-code duplicated this. Unfortunately this is illegal in type 2 CharStrings
-where each subpath must begin with one of the 'move' instructions.
+Fix (graphics) : Interpolated images were shifed in a half of source pixel.
-(gdevpsfx.c) psf_convert_type1_to_type2, create a new boolean variable
-'need_moveto' initialised to true. When we encounter a move operation,
-set it to false. When we encounter a closepath, set it back to true.
-Thus this variable is always true at the beginning of a subpath, and
-becomes false as soon as a move instruction is encountered.
+DETAILS :
-While converting type 1 CharStrings, whenever the current instruction is
-a line drawing operation, if 'need_moveto' create a move instruction,
-taking account of any pending glyph widths.
+Bug 687039 "Interpolated images looks strange on Win32 display device".
+1. The old code maps the center of the [0,0]th source pixel
+ to the output image origin. However Adobe maps
+ the source pixel's corner to the output origin.
+ This patch compensates the shift when computing the
+ filter kernel position - see '0.5' when computing 'center'.
-This is only performed on the second (conversion) pass through the type 1
-CharSrtring as we don't need to worry about this during the first (hint
-collection) pass.
+2. When the filter kernel scans partially outside the source image,
+ the math requires to extrapolate source data somenow
+ to fill the kernel. However the old code performs some strange
+ computation, which we're not sure what for.
+ It looks as a rudiment of wrapping the source image
+ like a thorus. Well, it's an useful math for periodic patterns,
+ but not for single images. Since we never apply siscale.c to
+ patterns, we replace this code portion with a simpler one,
+ which duplicates pixels at image boundaries.
+ See attachment to the bug to prove that Adobe does so.
</pre>
-<p>[src/gdevpsfx.c]</p>
+<p>[src/siscale.c]</p>
</blockquote>
-<p><strong><a name="2007-10-26T014956.180182Z"></a>
-2007-10-26T01:49:56.180182Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-31T222032.934182Z"></a>
+2008-01-31T22:20:32.934182Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Merge makeset.tcl into makehist.tcl.
-</pre>
-<p>[toolbin/makehist.tcl toolbin/makeset.tcl]</p>
-</blockquote>
+Fix ColorValues parameter problem when device has total number of bits (depth)
+of more than 31 bits, resulting in a "rangecheck" (-15) error.
-<p><strong><a name="2007-10-26T014954.293117Z"></a>
-2007-10-26T01:49:54.293117Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove obsolete release and diff scripts.
-</pre>
-<p>[toolbin/3way.tcl toolbin/makefonts.tcl toolbin/maketars.tcl toolbin/makemaster.tcl toolbin/makeset.tcl toolbin/makewin.tcl]</p>
-</blockquote>
+DETAILS:
-<p><strong><a name="2007-10-26T010804.549848Z"></a>
-2007-10-26T01:08:04.549848Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Document how to use -dTTYPAUSE with -dSAFER. Bug 687988.
+The default get_params would not return -1 for values too large for 32 bits,
+but the default put_params tested for this. The rangecheck would show up
+on 32-bit devices, such as tiff32nc when running:
+ "currentpagedevice setpagedevice"
+Note that the value returned for ColorValues was platform dependent since
+it previously set ColorValues to 1<<depth, but 1<<32 is not -1 on any
+platform (that I know of).
</pre>
-<p>[doc/Use.htm]</p>
+<p>[src/gsdparam.c]</p>
</blockquote>
-<p><strong><a name="2007-10-25T221422.288695Z"></a>
-2007-10-25T22:14:22.288695Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-29T170250.720617Z"></a>
+2008-01-29T17:02:50.720617Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Correct some gcc warnings.
-</pre>
-<p>[jbig2dec/config.h jbig2dec/jbig2_text.c jbig2dec/jbig2_image.h jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_generic.c jbig2dec/jbig2_page.c jbig2dec/jbig2_refinement.c]</p>
-</blockquote>
+Fix (graphics) : Optimize filling a path with a shading color (continued 2).
-<p><strong><a name="2007-10-25T003018.383197Z"></a>
-2007-10-25T00:30:18.383197Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Include an example of how to create non-ASCII font names in the cidfmap.
-Bug 688203.
-</pre>
-<p>[doc/Use.htm]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-10-24T233220.291355Z"></a>
-2007-10-24T23:32:20.291355Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Append the CUPS font directory to the search path. Bug 689334.
-</pre>
-<p>[src/configure.ac]</p>
-</blockquote>
+Bug 688970 "(shadings) Optimize filling a path with a shading color".
-<p><strong><a name="2007-10-24T224628.083133Z"></a>
-2007-10-24T22:46:28.083133Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Add an XCFLAGS macro to the MSVC build to match the variable of the same
-name in the unix builds. This is intended mainly for adding preprocessor
-defines at make time. Bug 689530.
-</pre>
-<p>[src/msvc32.mak]</p>
-</blockquote>
+A minor code cleanup : Removing code portions that became unused.
-<p><strong><a name="2007-10-24T224625.428278Z"></a>
-2007-10-24T22:46:25.428278Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Only add XLDFLAGS to LDFLAGS temporarily when checking for the
-additional X libraries. Bug 689411.
</pre>
-<p>[src/configure.ac]</p>
+<p>[src/gsptype2.c src/gsptype2.h src/gximask.c src/gxfill.c]</p>
</blockquote>
-<p><strong><a name="2007-10-24T183955.448984Z"></a>
-2007-10-24T18:39:55.448984Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-29T124142.337727Z"></a>
+2008-01-29T12:41:42.337727Z mpsuzuki</strong></p>
<blockquote>
<pre>
-Use the proper build machinery to link to cups.
+Fix (TT): Ignore broken post 2.0 table generated by "Windows Type 1 Installer".
DETAILS:
-Previously, the configure script just appended the output of cups-config
-to CFLAGS and LIBS which could confuse other parts of the build. The
-LIBS setting was actually ignored by cups.mak which hard coded liking
-to cups and cupsimage through the genconf -lib option, although it
-depended on it for the search patch if cups was in a non-standard
-location.
+This is the second fix for bug 689495, that is quite specific
+to a TrueType font generated by "Windows Type 1 Installer".
-Instead, we parse the output of cups-config to separate the dependent
-libraries and additional search paths if any, and pass those through
-to genconf in the intended way. This destroys the order of the link
-line, but GNU ld, at least, applies all -L paths to all -l libraries,
-so that should not distrurb the build. We pass any extra include paths
-in a special variable and use it directly when compiling gdevcups.c to
-avoid confusing the search path for other components.
+"Windows Type 1 Installer" makes a TrueType font including broken
+post table in format 2.0. Previous fix (SVN revision 8351) just
+ignores such broken post table, and ISOLatin1Encoding is used
+for fallback. When such TrueType font is combined with WinAnsiEncoding,
+some glyph names (exists only in WinAnsiEncoding) cannot be resolved.
-Configure also used to ignore cups-config if it found cups/raster.h in
-the current search path. We now prefer cups-config.
-</pre>
-<p>[src/Makefile.in src/configure.ac cups/cups.mak]</p>
-</blockquote>
+The post table format 2.0 uses 2 maps to assign a glyph name to
+TrueType glyph index: the first map is from TrueType glyph index
+to glyph name index (glyphNameIndex[] array), the second map is
+from glyph name index to glyph name string (names[] Pascal string
+array). The broken post table generated by "Windows Type 1 Installer"
+seems to use name[] array by TrueType glyph index directly, and
+the glyphNameIndex[] array has unreliable values.
-<p><strong><a name="2007-10-24T183951.211490Z"></a>
-2007-10-24T18:39:51.211490Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Abstract the autoconf build's link line flattening for generic use.
-
-DETAILS:
-
-The Ghostscript build system expects a list of bare library names
-for specifying library dependencies through the .dev files to
-genconf. The configure script had some code to decompose the usual
-unix-style "-lX11 -lXt" link flags returned by AC_PATH_XTRA.
+This patch sets /.broken_post when the post table is broken (the
+detection of broken post table is same with SVN revision 8351),
+then use names[] array by TrueType glyph index when /.broken_post
+is set.
-As we've added more optional external libraries to the autoconf
-build, this has become a general need, so the code is now abstracted
-into an autoconf macro for use elsewhere in the configure script.
</pre>
-<p>[src/configure.ac]</p>
+<p>[lib/gs_ttf.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-24T073109.815969Z"></a>
-2007-10-24T07:31:09.815969Z Ken Sharp</strong></p>
+<p><strong><a name="2008-01-29T115450.007576Z"></a>
+2008-01-29T11:54:50.007576Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : An integer arithmetic overflow while converting Type 1 CharStrings into Type 2.
+Fix (graphics) : Optimize filling a path with a shading color (continued).
DETAILS :
-Bug #689106 "Wrong charpath direction in PDF"
-Patch from Rolf Becker with minor improvements.
-
-A processing of big integers was implemented in gstype1.c
-while rendering a glyph, but it was not implemented
-in pdfwrite while converting a Type 1 font into Type 2.
-It caused an incorrect glyph outlines embedded into PDF.
-This patch factors out the old processing as a new
-function gs_type1_check_float and applies it in gdevpsfx.c .
-The function prototype is added to gxtype1.h as it needs to be public.
-
-The patch also improves comments in code
-because now we understand better what happens in there.
-For more details see comments in code.
+Bug 688970 "(shadings) Optimize filling a path with a shading color".
-The change to gstype1.c is algorithmically equivalent
-except inserting a new check for overflow in float2fixed.
-The new check may fail when the old code
-renders an incorrect outline.
-We have no practical cases that demonstrate it.
+A minor code cleanup : prepare to eliminate gx_dc_pattern2_clip_with_bbox.
</pre>
-<p>[src/gstype1.c src/gdevpsfx.c src/gxtype1.h]</p>
+<p>[src/gximask.c]</p>
</blockquote>
-<p><strong><a name="2007-10-23T034859.052392Z"></a>
-2007-10-23T03:48:59.052392Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-28T230259.180158Z"></a>
+2008-01-28T23:02:59.180158Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Handle yet another type of broken PDF generated by Adobe Acrobat 8.1
-that lacks startxref operator. Bug 689413, customer 531.
+Fix (graphics) : Optimize filling a path with a shading color.
-</pre>
-<p>[lib/pdf_main.ps]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-10-21T204929.646397Z"></a>
-2007-10-21T20:49:29.646397Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Process duplicate entries in PDF 1.5 context stream the same way as
-the entries from regular streams: the first entry found (i.e. the last
-in the xref chain) takes efferct. Keep rebuilding logic intact, where
-the last entry wins. Bug 689513, customer 700.
+Bug 688970 "(shadings) Optimize filling a path with a shading color".
-</pre>
-<p>[lib/pdf_main.ps lib/pdf_rbld.ps]</p>
-</blockquote>
+When filling a path with a shading color, the old code
+first intersects the the clipping path with the path,
+then intersects the result with the shading BBox.
+However the intermediate result frequently appears to be
+a big list of rectangles, so the second intersection is slow.
-<p><strong><a name="2007-10-20T231430.016619Z"></a>
-2007-10-20T23:14:30.016619Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Check for unbalanced q operators in the pattern stream and add Q as needed.
-Bug 689523, customer 870.
+This patch accounts that the clipping path and shading BBox
+frequently are rectangles, which are easier to intersect with
+no converting to paths. Also the shading box is always a quadrangle,
+so intersecting it early gives a smaller intermediate result.
+Therefore we first intersect the clipping path with the shading BBox,
+then with the path.
+
+This patch keeps the old code within #if #endif
+until the full regression testing is passed on the server.
+Also would like to eliminate the old complicated function
+gx_dc_pattern2_clip_with_bbox, which is still called from elswhere.
</pre>
-<p>[lib/pdf_draw.ps]</p>
+<p>[src/gsptype2.c src/gsptype2.h src/gxfill.c]</p>
</blockquote>
-<p><strong><a name="2007-10-20T191428.348994Z"></a>
-2007-10-20T19:14:28.348994Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-28T103145.187261Z"></a>
+2008-01-28T10:31:45.187261Z mpsuzuki</strong></p>
<blockquote>
<pre>
-Make IGC_PTR_STABILITY_CHECK an independent compile-time flag that can be set
-from the command line without editing gxobj.h .
+Fix: ignore the embedded font resource when PDF interpreter resolves
+ the unembedded font resource.
-</pre>
-<p>[src/gxobj.h]</p>
-</blockquote>
+DETAILS:
-<p><strong><a name="2007-10-20T163438.276462Z"></a>
-2007-10-20T16:34:38.276462Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Relax ICCBased color space validation. Don't reject correct PDF files that have
-ICCBased color space as an alternative color space to another ICCBased color
-space. Bug 689524, customer 870.
+Some PDF generators (e.g. Microsoft Office 2007 add-on to export the
+documents to PDF format) emits incompatible font objects with same
+resource name. The sample PDF in bug 689637 includes 2 "Times New
+Roman" font objects: one is embedded CID-keyed TrueType for Cyrillic
+glyphs, another is unembedded WinAnsiEncoding TrueType (possibly for
+empty page header or footer). When PDF interpreter resolves latter
+unembedded "Times New Roman", external font resource should be used
+(Adobe Reader does so). But current Ghostscript uses former embedded
+"Times New Roman", because the sample PDF includes "Times New Roman"
+without randomization prefix.
-</pre>
-<p>[lib/gs_icc.ps]</p>
-</blockquote>
+To avoid the confusion between embedded and unembedded fonts with
+same name, pfont->is_resource flag (=0 embedded, =1 unembedded)
+is checked during font object resolution. Even if a cached font
+object with same name is found, it is ignored if it is embedded
+font. To execute this check in PostScript space (pdf_font.ps),
+new operator ".isregisteredfont" is introduced. This patch assumes
+that embedded font object in PDF is resolvable by tracking the
+indirect object references. If a PDF assumes name-based resolution
+of embedded font object (without indirect object), it may be
+rendered by external font resource. At present, we don't have
+such sample.
-<p><strong><a name="2007-10-20T005555.884848Z"></a>
-2007-10-20T00:55:55.884848Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Pass the CFLAGS obtained for fontconfig from pkg-config separately
-to avoid contaminating the general build.
-</pre>
-<p>[src/Makefile.in src/configure.ac src/unix-aux.mak]</p>
-</blockquote>
+By this patch, bug 689637 is fixed.
-<p><strong><a name="2007-10-20T003723.775560Z"></a>
-2007-10-20T00:37:23.775560Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Remove a redundant check for pkg-config.
</pre>
-<p>[src/configure.ac]</p>
+<p>[lib/pdf_font.ps src/zfont.c]</p>
</blockquote>
-<p><strong><a name="2007-10-20T003719.682121Z"></a>
-2007-10-20T00:37:19.682121Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-28T095854.861949Z"></a>
+2008-01-28T09:58:54.861949Z mpsuzuki</strong></p>
<blockquote>
<pre>
-Look for fontconfig even if pkg-config doesn't find it.
+Fix (TT): Fix a bug in /getinterval_from_stringarray
DETAILS:
-Like the comment says, pkg-config isn't universally installed,
-so we should not depend on it. If pkg-config isn't available
-or doesn't find fontconfig, check for the library and headers
-it in the standard locations.
-</pre>
-<p>[src/configure.ac]</p>
-</blockquote>
+getinterval_from_stringarray is a procedure defined to
+extract a substring from long table of TrueType font.
+When a table is too long to fit into 16bit-length string
+object in PostScript, gs_ttf.ps split the table into
+the array of strings. When getinterval_from_stringarray
+is requested to extract a string which starts in one
+member and ends in following member, it returns a string
+that only the content of the first member is copied.
+There was a wrong conditional that made the substring
+extraction aborted. It was fixed to return the correct
+substring.
+
+By this fix, bug 689593 (IPA font 2007 edition cannot
+be parsed correctly) is closed.
-<p><strong><a name="2007-10-18T185854.836534Z"></a>
-2007-10-18T18:58:54.836534Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Install header files as data, not executables. Bug 689466.
</pre>
-<p>[src/unix-dll.mak]</p>
+<p>[lib/gs_ttf.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-18T003637.403207Z"></a>
-2007-10-18T00:36:37.403207Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-28T085010.139318Z"></a>
+2008-01-28T08:50:10.139318Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Remove a spurious CFLAGS instance from the jasper compile line.
+Fix (clist & transparency) : Improve the compositor queue logic (continued).
-DETAILS:
+DETAILS :
-The definition of CC_ passed from the top level makefile should
-already include a copy of the CFLAGS for environment overrides,
-so the duplicate copy here was unnecessary.
+The last commit is incomplete due to human error.
+Please don't use the last revision.
-Furthermore, the second expansion of CFLAGS at the end of the
-compiler command line could result in picking up a version of
-the jasper headers installed elsewhere in the system instead
-of the copy in JASSRC, causing the build to fail on undefined
-preprocessor symbols, since upstream doesn't have our error
-reporting callback.
-</pre>
-<p>[src/jasper.mak]</p>
-</blockquote>
+Bug 689492 "Ghostscript uses a large amount of memory", part 2.
-<p><strong><a name="2007-10-18T000555.933230Z"></a>
-2007-10-18T00:05:55.933230Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Replace our included libpng with the new upstream 1.2.22 release.
-</pre>
-<p>[libpng]</p>
-</blockquote>
+This patch fixes the missed shadow of a text, which is mentioned
+in the Comment #8 of the bug report.
-<p><strong><a name="2007-10-18T000145.449158Z"></a>
-2007-10-18T00:01:45.449158Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Move the current copy of libpng out of the way for a pending update.
-</pre>
-<p>[libpng]</p>
-</blockquote>
+1. Added macros for configuring visual trace for easier debugging.
+2. The idle transparency bufer allocation condition was wrong.
+ The patched code allocated ;esser buffers.
+3. Found more cases when a mask needs to be released.
+4. The old code immediately executes idle masks.
+ It caused a wrong order for compositor execution
+ with images that have a soft mask.
+ With the test case the image's mask was executed before
+ the group that containing the image.
+ It caused a premature releasing of a mask,
+ which preceeeds the group and must noy be released.
-<p><strong><a name="2007-10-17T230450.954798Z"></a>
-2007-10-17T23:04:50.954798Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Avoid memory corruption with broken files.
+ The new code delays the execution of idle masks
+ after all containing groups are executed,
+ so that the queue is now longer and stores all masks.
+ We beleive that's not harmful, because
+ transparency queue elements are pretty small and
+ work for hos based applications only.
+
+ The new function mark_as_idle works for the new logic.
+ Few aother functions are enhanced with a smarter
+ processing of the idle flag.
+5. Improved comments for the compositor queue logic.
-Patch from the Ubuntu libjasper package.
</pre>
-<p>[jasper/src/libjasper/jpc/jpc_cs.c jasper/src/libjasper/jpc/jpc_dec.c jasper/src/libjasper/jp2/jp2_cod.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-16T075408.209510Z"></a>
-2007-10-16T07:54:08.209510Z Ken Sharp</strong></p>
+<p><strong><a name="2008-01-28T084521.850870Z"></a>
+2008-01-28T08:45:21.850870Z Igor Melichev</strong></p>
<blockquote>
<pre>
-ps2write: When encountering font names which contain unfortunate characters
-such as white space, or delimiters, emit the name as an escaped string and
-'cvn' instead of a literal name.
-
-DETAILS:
-Bug #689420 "Errors with ps2write and special chars in FontName"
-
-Patch from SaGS with some minor improvements.
+Fix (clist & transparency) : Improve the compositor queue logic.
-Fonts whose name contains white space, or delimiter characters (eg /,(,[ etc)
-were being written into the type 1 font stream using the name unchanged. This
-causes the resulting PostScript to fail on any PostScript interpreter. The
-exact error varies depending on the placement of the invalid character and
-the following data.
+DETAILS :
-This is now handled by emitting the font name as a string, and using the cvn
-operator to convert the string to a name, escaping characters if required.
-Note that both the C portion of the code needs to change, in order to write
-escaped names, and the PostScript prolog in order to undo any name escapement.
+Bug 689492 "Ghostscript uses a large amount of memory", part 2.
-1. (gdevpsf1.c) write_font_name, check to see if the font name contains any
- characters which we need to escape. If so, then use the existing routine
- 's_PSSE_template.process' to convert the name to an escaped character
- sequence.
+This patch fixes the missed shadow of a text, which is mentioned
+in the Comment #8 of the bug report.
- Update the write_font_name routine so that it optionally writes a name
- to the output. If the name does not need escaping, then simply prepend a
- '/' to make a literal name, otherwise append a 'cvn' to convert the
- escaped string to a name. When writing out the font header we just need
- the font name as a human readable string. When writing the /FontName
- entry in the font dictionary we need a PostScript name, either a literal
- or a PostScript escaped string converted to a name. (see below)
+1. Added macros for configuring visual trace for easier debugging.
+2. The idle transparency bufer allocation condition was wrong.
+ The patched code allocated ;esser buffers.
+3. Found more cases when a mask needs to be released.
+4. The old code immediately executes idle masks.
+ It caused a wrong order for compositor execution
+ with images that have a soft mask.
+ With the test case the image's mask was executed before
+ the group that containing the image.
+ It caused a premature releasing of a mask,
+ which preceeeds the group and must noy be released.
-2. (gdevpsf1.c) psf_write_type1_font, alter the use of write_font_name in two
- places. Firstly to emit the name as part of the font comment, secondly to
- put the name as the value for the /FontName key in the fotn dictionary. In
- the first case we write it as a simple string, in the second as a name.
+ The new code delays the execution of idle masks
+ after all containing groups are executed,
+ so that the queue is now longer and stores all masks.
+ We beleive that's not harmful, because
+ transparency queue elements are pretty small and
+ work for hos based applications only.
-3. (opdfread.ps) The TypeDameons procedure extracts the FontName from the Font
- dictionary in the body of the job. Since the FontName can now be escaped,
- we need to undo the escapement before defining the font. Firstly we define
- a new procedure 'UnPDFEscape', secondly we call this when dealing with the
- FontName and the BaseFont keys, in order to convert the escaped name back
- to a normal name, so that the font can be found with findfont.
+ The new function mark_as_idle works for the new logic.
+ Few aother functions are enhanced with a smarter
+ processing of the idle flag.
+5. Improved comments for the compositor queue logic.
</pre>
-<p>[src/gdevpsf1.c lib/opdfread.ps]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-16T003628.849878Z"></a>
-2007-10-16T00:36:28.849878Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Don't override the memory set by the caller in the JPXDecode stream.
-</pre>
-<p>[src/sjpx.c]</p>
+<p>[src/gxclrast.c]</p>
</blockquote>
-<p><strong><a name="2007-10-16T003627.806530Z"></a>
-2007-10-16T00:36:27.806530Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-26T132127.618379Z"></a>
+2008-01-26T13:21:27.618379Z Igor Melichev</strong></p>
<blockquote>
<pre>
-It's the client's responsibility to call the set_defaults
-method on a new stream. Bug 689362.
+Fix (transparency) : Memory leak after an image with soft mask.
-DETAILS:
+DETAILS :
-The JPXDecode stream implementation was calling set_defaults
-from within its own init method, clobbering the colorspace
-request passed in through the stream's parameter dictionary.
-</pre>
-<p>[src/zfjpx.c src/sjpx.c]</p>
-</blockquote>
+Bug 689492 "Ghostscript uses a large amount of memory".
-<p><strong><a name="2007-10-15T223154.394164Z"></a>
-2007-10-15T22:31:54.394164Z Henry Stiles</strong></p>
-<blockquote>
-<pre>
-Error code from clist_decode_segment did not propagate back because
-the inner automatic variable code shadowed the outer.
+When a PDF command stream executes "/d1 gs /d2 gs" where d1 and d2 both define an
+untrivial SMask (not important whether they are same mask or different masks),
+the second mask replaces the first one, and the first one to be released.
-</pre>
-<p>[src/gxclrast.c]</p>
-</blockquote>
+When a transparent group includes an image with a soft mask
+(this case happens in the test document for the bug), the image's soft mask must
+*temporary* replace the groups soft mask, and the first mask must not
+be released.
-<p><strong><a name="2007-10-15T180918.231759Z"></a>
-2007-10-15T18:09:18.231759Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Prevent C-stack overflow caused by infinite recursion. Related to
-previous fix in same function to access the correct target color
-procedure.
+The old code does not distinguish these cases, assuming that
+a mask buffer is being released after rendering a group with it.
+Due to that some mask buffers were never released,
+causing a memory leak with banded rendering,
+because the clist interpreter doesn't run the garbager.
-DETAILS:
+A simpler case for demonstrating the leak could be created with
+"/d1 gs /d2 gs" as explained above.
-Testing with other problem files detected the recursion. The previous
-method to access the saved target get_color_comp_index is moved
-before either use.
+The patch defines a new bool gs_transparency_mask_params_s::replacing,
+gx_transparency_mask_params_s::replacing and gs_pdf14trans_params_s::replacing
+for passing the necessary information through old interfaces.
+Note that as usual we cannot change the device interface for
+an easier passing of this info, because we need to maintain
+the compatibility with 3d party devices.
-EXPECTED DIFFRENCES:
+Using the 'replacing' flag, pdf14_push_transparency_mask either replaces
+the old mask buffer, or creates a new one as a temporary substitution for
+an image with a soft mask. In the second case the group mask is
+saved in the last transparency stack element in the field
+buf->maskbuf. After rendering the image's group
+the function pdf14_pop_transparency_group restores
+the saved mask buffer, as it was set in the transparency context
+before starting the image's mask. For more details see
+comments added into gdevp14.c .
-None.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gstrans.c src/ztrans.c src/gstparam.h src/gstrans.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-15T131116.778228Z"></a>
-2007-10-15T13:11:16.778228Z Ken Sharp</strong></p>
+<p><strong><a name="2008-01-25T081716.431601Z"></a>
+2008-01-25T08:17:16.431601Z Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite: When writing the /CreationDate /ModDate keys in the Info dictionary,
-properly write the system local time instead of UTC.
-
-DETAILS:
-Bug #688783 "commit 6892 mis-uses the TZ environmental"
+Fix (Font renderer) : Horizontal metrics sometimes applied with WMode 1 fonts.
-A rather lengthy thread, but in essence quite simple. A change to calculate
-the system local time as an offset from UTC, and store this information in
-the form described in the PDF Reference (Section 3.8.3 "Dates" on p133 of
-the 1.6 PDF Reference).
+DETAILS :
-The patch uses code supplied by SaGS.
+Bug 689464 "Japanese font writing direction (vertical ?)".
+Bug 689646 "vertical text rendered by external CIDFontType0 flows horizontal".
-(gdevpdf.c) pdf_initialize_ids, use the C runtime 'time' and 'gmtime' to
-determine the difference between local system time and GMT. Use this to
-calculate the difference (positive, negative, or none) from GMT, and the
-number of hours and minutes comprising the difference. Use 'localtime' to
-find the local system date and time.
+1. When a descendent font of a type 0 CID font has zero FontBBox,
+ use the FontBBox of the CID font. This is another case when
+ a 3d party software generates a font with zero FontBBox.
+ We believe that such font data is incorrect,
+ but this patch provides a simple workaround.
-Take all of the information from above, and format the result according to
-the specification in the PDF Reference:
+2. When FontBBox to be used to compute Metrics2,
+ don't obtain sbw from type 1 glyph descriptions.
+ The old code does so causing the horizontal metrics
+ to be used when rendering a WMode 1 font.
-(D:YYYYMMDDhhmmssZhh'mm')
+3. The case (2) appears to have an exception,
+ when the font has CDevProc. In this case
+ we do need sbw from the glyph description
+ to provide arguments for CDevProc.
+ See alse the comment added to code.
-Where YYYY=4 digit local time year
- MM=2 digit local time month
- DD=2 digit local time day
- hh=2 digit local time hours (24 hour)
- mm=2 digit local time minutes
- ss=2 digit local time seconds
- Z=offset of local time from UTC
- Z=no difference
- +=local time later than UTC
- -=local time earlier than UTC
- hh'=hours difference between local time and UTC
- mm'=minutes difference between local time and UTC
+Note that Type 1 font renderer now depends on some knowledge about type 0 CID font.
+But this dependence does not break the configurability
+because only an .h file is included into the Type 1 font renderer.
</pre>
-<p>[src/gdevpdf.c]</p>
+<p>[src/int.mak src/zchar1.c]</p>
</blockquote>
-<p><strong><a name="2007-10-15T064304.430544Z"></a>
-2007-10-15T06:43:04.430544Z Marcos Woehrmann</strong></p>
+<p><strong><a name="2008-01-23T211316.354024Z"></a>
+2008-01-23T21:13:16.354024Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Added code to the pxlcolor device (gdevpx.c) to set the color space even
-if the test for "portrait transformations" fails.
-
-DETAILS:
-
-The pclxl_begin_image() function performs a rather complicated test to
-see if the image transformation can be "handled" (line 1434). If this
-test fails the routine falls through to using gx_default_begin_image().
-However, in this case the pcl-xl color space is never set and if
-the previous color space was eGray the pcl-xl stream will fail with
-ExtraData (because 3 times as much data as expected will be written).
-Presumably the inverse is also true, but I don't have a test case for it.
+Fix (clist & transparency) : Inconsisting compressed color index info.
-The solution is to call pclxl_set_color_space() in the use_default
-case (a possibly more correct solution would be to call
-pclxl_set_color_palette()).
+DETAILS :
-</pre>
-<p>[src/gdevpx.c]</p>
-</blockquote>
+Bug 689626 "Segmentation Fault using 'bit' device to clist.".
-<p><strong><a name="2007-10-12T202208.884187Z"></a>
-2007-10-12T20:22:08.884187Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix SEGV when clist used with pdf14_cmykspot device.
-Bug 689493 for customer #190.
+The bug was put while the custom color callback merge in revision 7795.
+The color index information to be passed to the clist writer
+after restoring the color information to the clist writer.
+Before restoring it is set to a blending space,
+which may be incompatible with the target device's color index type.
-DETAILS:
-
-When the clist is used, the pdf14 device sets the clist color procs
-(including get_color_comp_index) to it's own procedures, saving the
-actual target procs. When the Separation name is new, we need to use
-the saved target procs.
+I'm unable to test this patch fully
+due to no test cases for antrivial spot colors with transparency.
</pre>
<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-12T163807.833396Z"></a>
-2007-10-12T16:38:07.833396Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-23T183335.648405Z"></a>
+2008-01-23T18:33:35.648405Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix divide by zero crash. Bug 689493 reported by customer #190.
+Fix (DSC parser) : Avoid a structure type name duplicate.
-DETAILS:
+DETAILS :
-When new_width is 0, just use 1 in the test (works well enough
-for checking overflow)
+The old name cmd_list_s is also defined in gxclist.h .
+It confused MSVC debugger while tracing gxclutil.c for bug 689626.
</pre>
-<p>[src/gdevprn.c]</p>
+<p>[src/zdscpars.c]</p>
</blockquote>
-<p><strong><a name="2007-10-11T163626.031981Z"></a>
-2007-10-11T16:36:26.031981Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-23T181227.956590Z"></a>
+2008-01-23T18:12:27.956590Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix incorrect colors with transparency to cmyk+spot devices (such as tiffsep).
-Bug 689494 for customer #190.
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix (continued).
-DETAILS:
+DETAILS :
-CMYK + Spot colors are subtractive. The blending with the 'bg' color was
-inverted, causing very strange colors.
+Bug 687196 "Incorrect pattern processing from Adobe test file pattyp1.ps".
+This is a partial fix for the bug, which fixes vector devices only.
+It closes the bug with the last patch applied.
-Note that the pdf14_cmykspot_put_image is VERY inefficient and at the
-very least should have logic added to write runs of the same color
-as a wide rectangle (rather than the current 1x1 pixel rectangles).
+The old code set identity matrix for a pattern dstream accummulation.
+It appears incompatible with Type 2 pattern handler, which assumes
+the default page matrix. This patch changes the matrix and improves
+the pattern stream accumulator with accounting the default page scale.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gdevpdfi.c src/zpcolor.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T230218.957895Z"></a>
-2007-10-10T23:02:18.957895Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-23T180949.970130Z"></a>
+2008-01-23T18:09:49.970130Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (stroking) : Prevent installing an extra clipper device, step 2.
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix.
DETAILS :
-Bug 689427 "Superposed clippers".
+Bug 687196 "Incorrect pattern processing from Adobe test file pattyp1.ps".
+This is a partial fix for the bug, which fixes raster devices only.
-The last patch doesn't fix the problem when stroking
-a path with a shading color.
+1. The old code always sets a canonic rectangular clipping,
+ which is wrong with rotated or skewed matrices.
-The new code distinguishes 3 cases :
+ Note the patch resets path in the pattern's graphic state.
+ It is not done in the old code, so it may cause raster diferences.
+ But it is required in PLRM chapter 8 by the definition of 'makepattern'.
-1. When painting happens through low level device methods
-which don't accept a clipping path. It happens inside
-stroke_fill, so the new code passes the clipper device to it.
+2. Adjust the pattern matrix to pixel grid.
+ After doing the change (1) the clipping area appears too small for some cases.
+ It happens because the tile origin falls at fractional pixels,
+ The new code causes a massive raster difference, which actually is minor
+ (a shift of some pattern instances in 1 pixel).
-2. When the painting happens through fill_path,
-which does handle a clipping path. It happens inside
-FILL_STROKE_PATH, so the new code doesn't pass the clipper to it,
-but passes the clipping path as it worked before the last patch.
+ Note that PLRM requires to adjust pattern matrix in the definition of 'makepattern',
+ but doesn't explain how to.
-3. When the stroking algorithm is called from 'strokepath',
-don't need a clipping at all. This case works as before,
-but the new code doesn't construct a clipping device.
+3. In compute_inst_matrix perform computations in 'float'
+ because the matrix is represented with 'float'.
-Minor change : Added a new argument 'dev' to the macro
-FILL_STROKE_PATH to simplify the code understanding and debugging.
+4. (miror change) Expanded the 'mat' macro for easier debugging with MSVC.
</pre>
-<p>[src/gxstroke.c]</p>
+<p>[src/gsptype1.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T184235.474048Z"></a>
-2007-10-10T18:42:35.474048Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-23T164951.344351Z"></a>
+2008-01-23T16:49:51.344351Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Pass the results of calling cups-config to cups.mak from configure
-through the top-level makefile rather than calling cups-config directly,
-so that passing an alternate cups environment to configure works.
-Bug 689496.
-
-DETAILS:
+Fix (pdfwrite): Wrong format string for pprintg.
-This is more consistent, since configure and cups.mak were previously
-calling cups independently. However, setting the cups environment at
-the make level my have accidentally worked before; it won't work now.
-</pre>
-<p>[src/Makefile.in src/configure.ac cups/cups.mak]</p>
-</blockquote>
+Details:
+Bug #689661 "pdfwrite : Incorrect sprintf format".
-<p><strong><a name="2007-10-10T174038.235834Z"></a>
-2007-10-10T17:40:38.235834Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Turn on keyword substitution on pdf_cslayer.ps. This is the correct fix
-for the issue mentinoed in r8283. Also set native line endings and
-remove some spurious executable properties.
-</pre>
-<p>[lib/EndOfTask.ps lib/PDFX_def.ps lib/PDFA_def.ps lib/dumphint.ps lib/pdf_cslayer.ps]</p>
-</blockquote>
+(gdevpdfu.c) The new function, 'pdf_write_font_bbox_float,
+added in revision 8360, used the wrong format string (%f
+instead of %g) to write the font BBox.
-<p><strong><a name="2007-10-10T161923.023493Z"></a>
-2007-10-10T16:19:23.023493Z Marcos Woehrmann</strong></p>
-<blockquote>
-<pre>
-Fixed Id line to make nightly regression run happy.
</pre>
-<p>[lib/pdf_cslayer.ps]</p>
+<p>[src/gdevpdfu.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T152826.622499Z"></a>
-2007-10-10T15:28:26.622499Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-23T133039.283039Z"></a>
+2008-01-23T13:30:39.283039Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (stroking) : Prevent installing an extra clipper device.
+Fix (shadings) : A memory deallocation problem.
DETAILS :
-Bug 689427 "Superposed clippers".
+Bug 689660 "memory deallication problems with shadings".
-The old code installs a clipper in gx_stroke_path_only_aux
-and then (indirectly) calls gx_general_fill_path
-with passing same clipping path. It caused gx_general_fill_path
-to install a second clipper with same clipping path.
-This patch simply passes down a NULL clipping path.
+The old code used pdev->memory for temporary storing
+an intersection of clipping path with shading bbox.
+This is the global memory space.
+However if the intersection is trivial,
+the path of the clipping path is copied from the
+original clipping path, which is allocated in the local memory space.
+Later it causes a freeing of path segments to a wrong memory space.
-Minor change : Added a 'pcpath' argument to the macro
-FILL_STROKE_PATH for easier understanding and debugging.
+This patch chooses the original clipping path's memory space
+when the clipping path is available, and the global space otherwise.
</pre>
-<p>[src/gxstroke.c]</p>
+<p>[src/lib.mak src/gsptype2.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T101345.175824Z"></a>
-2007-10-10T10:13:45.175824Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-23T132309.676697Z"></a>
+2008-01-23T13:23:09.676697Z Till Kamppeter</strong></p>
<blockquote>
<pre>
-Fix (pdf14 device) : Optimize the buffer backdropping, step 2.
-
-DETAILS :
-
-1. Intersect the backdrop rectangle with the bbox of a real painting to the transparebcy buffer,
-which is accummulated from pdf14_fill_rectangle. It reduces the rectangle for a faster blending.
-1.1. Removed min_int, max_int from pdf14_buf_new against an integer overflow when computing
-sizes of rectangles.
-1.2. Do intersect rectangles in In pdf14_put_image, pdf14_cmykspot_put_image, pdf14_custom_put_image.
-
-2. dump_planar_rgba still could access outside the buffer due to a recent patch is incomplete.
-
+Added HP's KRGB patch for improved control of true black text printing on color printers with HPIJS. Bug #689065 (Ubuntu LP: #69905) is fixed in this updated version of the patch.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gdevijs.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T093832.826812Z"></a>
-2007-10-10T09:38:32.826812Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-21T205955.657274Z"></a>
+2008-01-21T20:59:55.657274Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdf14 device) : Optimize the buffer backdropping, step 1.
+Fix (save/restore) : Remove gs_ref_memory_s::inherited.
DETAILS :
-This change is algorithmically equivalent.
-It only defines some local variables as a preparation to the next change.
+It is not used since revision 5250.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/gxalloc.h src/igc.c src/gsalloc.c src/isave.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T085939.164904Z"></a>
-2007-10-10T08:59:39.164904Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-20T222307.686290Z"></a>
+2008-01-20T22:23:07.686290Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdf14 device) : Don't allocate transparency buffer for bands that appear outside the transparency bounding box.
+Fix (save/restore) : Do not create invisible save levels.
DETAILS :
-This is an optimization, which should be algorithmically equivalent.
-
-For bands outside the transparency bounding box the old code
-allocated a zero length buffer and performed fake operations with it.
-
-The main change is gdevp14.c ln 550.
-Others prevent an access to the buffer when it is not allocated.
+Invisible save levels is a rudiment of old code.
+gs_ref_memory_s::scan_limit effectively work instead them
+since revision 6706 committed on April 14 2006.
-Note that in some cases the new check is excessive
-because (width <= 0 || height <= 0) normally means no buffer.
-We check for (buf->data == NULL) anyway to simplify the sefity proof
-and documentation.
+We're not sure what gs_ref_memory_s::inherited works for.
+Keeping it updated for a while, and don't remove the
+old code for reference. Note the maintanence of gs_ref_memory_s::inherited
+in the new code is not fully equivalent to old code.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[src/isave.c]</p>
</blockquote>
-<p><strong><a name="2007-10-10T081249.566532Z"></a>
-2007-10-10T08:12:49.566532Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-20T095615.017727Z"></a>
+2008-01-20T09:56:15.017727Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (pdf14 device) : Properly intersect rects when composing transparency buffers (continued 2).
-
-DETAILS :
-
-Bug 689498 "transparency: The buffer backdroping code can write outside bufers.".
-Bug 688631 "PDF segfault".
-
-This patch ports the revision 7064 changes from pdf14_put_image to
-pdf14_cmykspot_put_image and pdf14_custom_put_image, which were added
-after the revision 7064. They need same improvement, which was mised
-due to a development miscoordination.
-
-This change is committed without any testing,
-because the author has no test cases which involve
-pdf14_cmykspot_put_image and pdf14_custom_put_image.
-Possibly they need to build Ghostscript with special options
-and to run the test case of the bug 688631 with special devices.
-The bug 689498 is passed to Suport for further processing and testing.
-
+Only report the ICC Profile colorspace when the jasper library's debug
+level is above zero. Bug 689662.
</pre>
-<p>[src/gdevp14.c]</p>
+<p>[jasper/src/libjasper/jp2/jp2_dec.c]</p>
</blockquote>
-<p><strong><a name="2007-10-09T193327.492485Z"></a>
-2007-10-09T19:33:27.492485Z Till Kamppeter</strong></p>
+<p><strong><a name="2008-01-20T092115.660626Z"></a>
+2008-01-20T09:21:15.660626Z Igor Melichev</strong></p>
<blockquote>
<pre>
-On "make soinstall" some files did not get installed.
-</pre>
-<p>[src/unix-dll.mak]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-09T170249.926924Z"></a>
-2007-10-09T17:02:49.926924Z Igor Melichev</strong></p>
-<blockquote>
-<pre>
-Fix (FAPI / UFST bridge) : A crash when processing an embedded CIDFontType 11.
+Fix (save/restore) : Compact the changes list against big memory leak.
DETAILS :
-Debugged with running the test case of the bug 689471 with FAPI.
-Needs an additional change to lib/FAPIconfig for running the test case with FAPI :
+Bug 689536 "Memory leak reading PostScript file (PMR 53877).".
-- /HookDiskFonts [1 2 9 11 42] % FontType values for disk PS fonts to be redirected to FAPI.
-- /HookEmbeddedFonts [1 2 9 11 42] % FontType values for embedded PS fonts to be redirected to FAPI.
-+ /HookDiskFonts [2 9 11 42] % FontType values for disk PS fonts to be redirected to FAPI.
-+ /HookEmbeddedFonts [2 9 11 42] % FontType values for embedded PS fonts to be redirected to FAPI.
+The old implementation includes an optimization agains a big CPU time expense
+in 'save' and 'restore' for sedtting and resetting l_mark flags.
-because UFST still can't handle embedded Type 1.
+Normally, when executing 'save', the memory manager needs
+to reset l_new marks for objects modified or allocated at the last save level,
+so that their further modification on the next save level to be saved
+in the changes list. When executing 'restore' these flags to be set
+to prevent redundant save.
-This patch passes impl_PCLchId2ptr as p_PCLglyphID2Ptr argument.
-We believe it is correct for True Type,
-but we're not sure about Type 1,
-because Type 1 composite glyphs refer subglyphs
-in an inobvious way - see Type 1 specification.
+When the last save level includes many allocations,
+the number of scanned objects is big and it causes a significant
+time expense. A long ago Ghostscript implements an optimization,
+which shorten the scanned list against the big time expense.
+However the shortening causes redundant saving.
-</pre>
-<p>[src/fapiufst.c]</p>
-</blockquote>
+The redundant saving itself isn't harmful because
+it happens seldon and spends a small memory.
+However if a redundant save element points to a reference to
+a newly allocated array or dictionary, the array or dictionary
+can't be garbage collected. When a client executes such allocation and
+same reference modification multiple times, all allocated arrays
+and dictionaries persist in memory, causing a significant memory leak.
-<p><strong><a name="2007-10-09T082849.108879Z"></a>
-2007-10-09T08:28:49.108879Z Ken Sharp</strong></p>
-<blockquote>
-<pre>
-pdfwrite: Allow downsampling of images in a /Indexed colour space, provided the
-downsampling type is 'subsample'.
-
-DETAILS:
-Bug 689265 "PDF created by GS 8.57 is much larger than from competitive creator"
+This patch compacts the saved change list whem a significant memory
+allocation is accummulated since last save or since last compacting.
+The new field gs_ref_memory_s::total_scanned_after_compacting
+works for counting allocated elements. The new function
+drop_redundant_changes performs the compacting. See comments in its code.
-The original job contains several images, including one large one, which are in a
-/Indexed colour space. We can't use average or bicubic downsampling with /Indexed
-colour space, because the colours in the space may not be linear. It ought to be
-possible to use subsampling though.
+The threshold for starting drop_redundant_changes is choosen arbitrary.
+It must not be too small, because the CPU time expense
+optimization wouldn't be effective. Also it can't be too big,
+because the memory leak recovery would not be effective.
+This patch sets it to about 1600000 objects,
+which is an experimental trade-of.
-Where we previously checked the image colour space and decided to disable downsampling
-if the colour space was /Indexed, we now additionally check the downsampling type
-and permit it if the type is 'Subsample'.
+Note that this patch reduces the memory leak but doesn't
+eliminate it to zero, because more data may be allocated
+after the last filtering.
-(gdevpdfi.c) pdf_begin_typed_image, check the downsample type as well as the colour
-space before deciding not to allow downsampling.
+We could implement a filtering within the garbager rather
+than withis save/restore. Actually it wouldn't change
+the behavior to much, because the threshold would be still needed
+against the CPU time expense, It happens because the scanning
+deals with array or dictioanr elements rather than with
+whole aggregates. Also we don't want to complicate the garbager.
-(gdevpdsi.c) psdf_setup_image_filters, check if the colour space is /Indexed before
-deciding which set of image parameters to use (2 places). Also, if we do encounter a
-/Indexed space, make the compression filter into Flate to ensure we don't try and use any
-kind of JPEG compression, which may not work properly with Indexed spaces, and in any case
-is not the most appropriate type of compression in this situation.
+Note that the arbitrary threshold is bigger than neccessary
+for the simplified test case included into the bug report.
+Due ti that the leak elimination does not happen with this test.
+For the compacting to take place the sequence "NEWJOB Z"
+to be repeated 90 times rather than 40 in the supplied test.
+The customer's test does demonstrate the leak reducing.
</pre>
-<p>[src/gdevpsdi.c src/gdevpdfi.c]</p>
+<p>[src/gxalloc.h src/gsalloc.c src/isave.c]</p>
</blockquote>
-<p><strong><a name="2007-10-09T000624.193850Z"></a>
-2007-10-09T00:06:24.193850Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-18T215038.830947Z"></a>
+2008-01-18T21:50:38.830947Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (font emulation) : Could not handle unknown Ordering with FAPI.
-
-DETAILS :
-
-Debugged with running the test case of the bug 689471 with FAPI.
+Explicitly close CMap files opened during CMap-CIDFont font enumeration.
+On certain systems file handles were used up before GC freed inaccessible
+handles causing PostScript errors. Bug 689594.
</pre>
-<p>[lib/gs_fntem.ps]</p>
+<p>[lib/gs_cidcm.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-08T100533.511010Z"></a>
-2007-10-08T10:05:33.511010Z Ken Sharp</strong></p>
+<p><strong><a name="2008-01-18T061702.734368Z"></a>
+2008-01-18T06:17:02.734368Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-pdfwrite: Alter the AIIM URL emitted when creating PDF/A files.
-
-DETAILS:
-Bug #689375 ""
-
-When writing PDF/A files we need to put a URL for the AIIM group in the metadata. Previously we were writing 'http://www.aiim.org/pdfa/ns/id.html' which is what Acrobat 7 does, now we write 'http://www.aiim.org/pdfa/ns/id/' which is what Acrobat 8 does.
-
-(gzpdfe.c) pdf_write_document_metadata change the URL as above.
-
+Add redefinition of setpagedevice to ps2epsi utility to support PS files
+that call setpagedevice. Bug 689650.
</pre>
-<p>[src/gdevpdfe.c]</p>
+<p>[lib/ps2epsi lib/ps2epsi.ps lib/ps2epsi.cmd lib/ps2epsi.bat]</p>
</blockquote>
-<p><strong><a name="2007-10-08T071332.510990Z"></a>
-2007-10-08T07:13:32.510990Z Ken Sharp</strong></p>
+<p><strong><a name="2008-01-17T135043.754302Z"></a>
+2008-01-17T13:50:43.754302Z Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite: when encountering a glyph in a type 3 font for which no Charproc is defined
-emit a simple setcachedevice operation instead of an empty stream.
-
-DETAILS:
-Bug #688834 "Undefined characters in Type 3 fonts cause PDF conversion to fail"
-
-The original report, based on an older version of pdfwrite, states that an error occurs with
-pdfwrite when using glyphs from a type 3 font where there is no charproc defined for the
-glyphs.
-
-In fact, with the current version of pdfwrite, no error occurs, but the resulting file
-causes Acrobat to give warnings and display the result incorrectly. NB other PDF consumers
-do not behave this way.
-
-This appears to be caused by pdfwrite emitting an empty stream (length 0), because no charproc
-is captured for the glyph (since it has none). For some reason Acrobat takes exception to this.
+Fix (clist interpreter) : Skip idle compositors, step 6.
-A simple solution is to write a stream which is not empty. The sequence '0 0 0 0 0 0 d1'
-, a
-
-setcachedevice with arguments all 0, resolves the problem.
-
-(gdevpdtt.c) In pdf_text_process, after capturing a Charproc for a type 3 font, check the length
-of the stream. If it is 0 bytes, then emit '0 0 0 0 0 0 d1' and carry on.
+DETAILS :
+Enabling visual trace for buffer backdropping.
</pre>
-<p>[src/gdevpdtt.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-07T180911.121700Z"></a>
-2007-10-07T18:09:11.121700Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-17T134711.707889Z"></a>
+2008-01-17T13:47:11.707889Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Ignore font errors that do not belong to embedded subset.
+Fix (visual trace) : Add a single pixels painting operation.
DETAILS :
-Bug 689068 "ps2pdf13 fails with Error: /invalidfont in --ashow--".
-
-The document could successfully rasterize,
-but failed with invalidfont when converting to PDF.
-It happened due to a missed glyph,
-which is not atually used in the doeument.
-
-The patch skips font errors that do not belong to the font subset.
-However if the user requests to embed a complete font,
-a warning is printed to stderr and the document fails
-due to the font error as before the patch.
-
-Changes :
-
-1. gdevpdtb.c : Process a coplete font copy error as explained above.
-
-2. gsfont.c : Ignore missed glyphs when computing the "fixed width" font feature.
+This patch doesn't change the algorithm.
+It only enhances debuging instrument.
+The new instrument will be used for debugging the clist logics about transparency masks.
</pre>
-<p>[src/gdevpdtb.c src/gsfont.c]</p>
+<p>[src/vdtrace.h src/vdtrace.c src/dwtrace.c]</p>
</blockquote>
-<p><strong><a name="2007-10-04T064654.927607Z"></a>
-2007-10-04T06:46:54.927607Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-17T133719.476394Z"></a>
+2008-01-17T13:37:19.476394Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Revert a change inadvertently included r8257. This broke the MSVC
-build, which does not define CC_SHARED.
+Fix : Cygwin/gcc warnings.
</pre>
-<p>[src/lib.mak]</p>
+<p>[src/gdevcgm.c src/int.mak src/gstrans.c src/gdevpdfe.c src/gdevbit.c src/devs.mak src/gxclread.c src/gscdevn.c src/gscie.c src/gxclutil.c src/lib.mak src/gdevp2up.c src/gxclmem.c src/gdevdflt.c src/gdevpdtd.c src/gxcomp.h src/gsovrc.c src/gdevprn.c src/gscsepr.c src/genarch.c src/ztoken.c src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-03T173735.315273Z"></a>
-2007-10-03T17:37:35.315273Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-17T031602.921192Z"></a>
+2008-01-17T03:16:02.921192Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Revert patch 8268 (restoring the FCOfontmap-* files) and add the Encoding/
-directory to the RESOURCE_LIST so that it will be include in the %rom%
-file system. This is the _real_ fix to bug #689050 and explains why the
-symptoms appeared to be related to having Wingdings installed on the
-system. Thanks to Henry and Igor in pointing out the incorrect Encoding
-used in the previous patch that led me to the actual problem.
+Comment-only change: remove obsolete reference to MS-DOS limitations and
+mention that PDF interpreter passes un-escaped font names to PS level.
+Bug 689651.
</pre>
-<p>[lib/FCOfontmap-PCLPS3 lib/FCOfontmap-PS3 src/int.mak lib/FCOfontmap-PCLPS2]</p>
+<p>[lib/Fontmap.GS]</p>
</blockquote>
-<p><strong><a name="2007-10-03T044018.040901Z"></a>
-2007-10-03T04:40:18.040901Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-17T031245.266699Z"></a>
+2008-01-17T03:12:45.266699Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix FCOfontmap-* files so that Wingdings will be found.
-Bug #689050 for customer #951.
+Remove the warning about non-embedded TrueType fonts in PDF files because it
+confuses users but seems to have little effect on the main producer of
+non-conforming files.
</pre>
-<p>[lib/FCOfontmap-PCLPS3 lib/FCOfontmap-PS3 lib/FCOfontmap-PCLPS2]</p>
+<p>[lib/pdf_main.ps lib/pdf_font.ps]</p>
</blockquote>
-<p><strong><a name="2007-10-03T001812.256656Z"></a>
-2007-10-03T00:18:12.256656Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-16T233548.055065Z"></a>
+2008-01-16T23:35:48.055065Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Document the .IgnoreNumCopies device parameter. Bug 689491.
+Unbreak the build.
</pre>
-<p>[doc/Use.htm doc/Language.htm]</p>
-</blockquote>
-
-<p><strong><a name="2007-10-02T235530.880679Z"></a>
-2007-10-02T23:55:30.880679Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Add extraction of layer information from Illustratir CS2/CS3 PDF files
-to the code base but don't run it in the default configuration.
-
-</pre>
-<p>[src/int.mak doc/Develop.htm lib/pdf_cslayer.ps]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-02T073158.125500Z"></a>
-2007-10-02T07:31:58.125500Z Ken Sharp</strong></p>
+<p><strong><a name="2008-01-16T225542.290132Z"></a>
+2008-01-16T22:55:42.290132Z Igor Melichev</strong></p>
<blockquote>
<pre>
-pdfwrite: Convert 'text' followed by 'text charpath stroke' to a single text
-operation by using text rendering mode 2.
-
-DETAILS:
-Bug #689310 "Offset between text and outline in pdfwrite.dev"
+Fix (clist interpreter) : Skip idle compositors, step 5.
-Emitting text, followed by the same text as an argument to charpath, and then stroking the
-resulting path previously resulted in a large path being emitted and stroked in the PDF file.
-
-This is inefficient, but worse the path is not grid fitted, whereas the text is. When
-used to stroke the outline of previously rendered text, either in a different colour or to
-create a 'bold' effect, the emitted path did not always precisely match the rendered text.
-
-This change is to emit this PostScript construct using the closest available match in PDF,
-which is the text rendering mode. There are two parts to this change, firstly to identify
-when a path is the result of a charpath, and secondly to merge text followed by charpath/stroke
-operations into a single operation on output.
-
-1. (gzpath.h) Add a new member 'last_charpath_segment' to the gx_path_s structure. Update the
- path garbage collection code for relocation of new variable.
-
-2. (gxpath.c) Initialise the new member 'last_charpath_segment' to 0 in
- gx_path_init_contents, and also in path_alloc_copy to prevent copies being identified as
- the result of a charpath.
+DETAILS :
-3. (gxchar.c) We need to be able to tell if a path was the result of a charpath. To do this
- we store the final segment of a path in 'last_charpath_segment' of the path
- structure during show_finish, if the current operation was a charpath. See also item 11.
+This really skips compositors which don't paint anything.
-4. (gdevpdfx.h) Add a new member 'last_charpath_op' to the gx_device_pdf_s structure, to
- hold the boolean argument associated with a charpath operation. Also add to the
- pdf_substream_s structure to allow us to save and restore this value on entry to or
- exit from a PDF substream.
+Compositor parameter list structures are extended with a new boolean field 'idle'.
+These fields pass information whether something was painted to a compositor.
+We choosen this way for passing this info because
+(1) we can't change the device inteface with new function arguments, and
+(2) we need to pass it through the device chain
+(for example, when a clipper is installed onth the overprint device).
-5. (gdevpdti.c) Save and restore the value of last_charpath_op in pdf_enter_substream
- and pdf_exit_substream.
+This patch only affects the transparency and the overprint.
+Other compositors (gsalphac.c, gxropc.c) behave as before.
+They may need further improvements.
-6. (gdevpdfx.h) Add a new member variable 'last_charpath_op' to the 'pdf_substream_save_s'
- structure to allow us to save and restore the last_charpath_op as noted above.
+This patch does not fix the bug 689492.
+That fix may be done either before or after this one,
+but in any case the patches need to adopt each to another.
-7. (gdevpdtt.c) During gdev_pdf_text_begin, if the operation is a charpath, check the
- following conditions, if met then store a copy of the charpath boolean variable in
- a new member of the gx_device_pdf_s structure.
- 1. Operation must be a charpath
- 2. Current path must be empty (can't handle charpath concatenated to existing path)
- 3. The font being used for the current text must be the same as the font used for
- the previous stored (but not yet emitted) text.
- 4. The initial point of the text for the charpath must match the initial point of
- the previous stored text.
- 5. The text bytes must be the same as the previous stored text.
- 6. The point size of the text must match the previous stored text.
- Also, move the calculation of the font point size out of pdf_update_text_state so that
- we can calculate the size in pdf_compare_text_state_for_charpath' defined in 9 below
- without duplicating code.
+The new compositor virtual method is_closing
+checks whether a current compositor command
+closes an older command, and finds the opening command.
+Now we provide untrivial implementations for transparency and overprint compositors.
+Would like to define an enum for return values of is_closing.
-8. (gdevpdtt.h) Prototype 'pdf_calculate_text_size'
+The old device method create_compositor now passes the 'idle' parameter via
+gs_composite_s structure. By default it is false and the behaviour
+is same as before. But the clist interpreter is modified
+to provide true value when a compositor doesn't paint anything.
+To compute this flag the compositor queue now works with its full power.
+Note we changed the queue representation with a bilikned list.
-9. (gdevpdts.c) Add a new function 'pdf_compare_text_state_for_charpath' to do the
- checking noted above. The pdf_text_state_s structure is not defined publicly, so
- we need code to access its members. Also add a function 'pdf_modify_text_render_mode'
- which will attempt to add a rendering mode (stroke, fill or clip) to existing text
- by updating the existing text rendering mode. Returns 0 if the existing text cannot
- be modified, and we fall back to emitting a path and stroke.
+This patch entroduces the concept of 'friendly operations'
+for compositor operations. These are those operations, which
+may interchange with compositor installation/deinstallation.
+One example is halftone operations, which always affect
+the device below the compositor device, i.e. the target device
+of the compositor device. The new compositor virtual method
+is_friendly is implemented in an intrivial way for the
+transparency compositor especially to exchange with halftone
+operations while queueing clist operations.
+This especially helps to delay the pdf14 device installation
+so that it may completely annihilate with its deinstallation
+if nothing is painted through the compositor in a band.
-10. (gdevpdts.h) Add prototypes for the functions required in 9.
+Overprint and transparency compositor implementations
+are changed with checking the idle flag.
+If it is set, they don't perform neither color blending, nor
+raster buffer allocation. Note the pdf14 device maintains the buffer stack
+as before, but the allocation of buffers may be skipped.
+It saves significant time from cleaning up raster buffers when they are idle.
-11. (gdevpdfd.c) In pdf_stroke_path, if the 'last_charpath_op' member of the pdf device
- structure is set, perform some more checks (below) and if passed, set the text render
- mode of the stored text, set the stroke colour, set the line width, and force the stored
- text to be emitted. This conveniently results in a gsave/grestore pair round the
- graphics state changes.
- 1. The last charpath operation must have been 'false charpath'
- 2. There must be a non-empty path (result of the charpath operation)
- 3. The 'last_charpath_segment' stored in the path must match the actual last segment
- in the path. (can't handle path segments added to the result of a charpath)
+This patch may need further improvements for the case when
+different compositor types are mixed in one queue.
+We could not fully test it due to absence of practical tests.
-12. (gdevpdfg.h) Make the pdf_reset_color routine public, as we need to be able to set the
- colour from pdf_stroke_path.
+Another useful improvement would be to convert
+"0 .inittransparencymask 1 .inittransparencymask dict .setblendparams"
+into a single command. It would simplify the compositor queue logic.
+Also we think that the name .inittransparencymask doesn't reflect the function purpose.
+Will improve someday.
-13. (gddevpdfg.c) We need to be able to set a stroke colour while in a TEXT context,
- previously the routine pdf_reset_color, which emits colours and spaces, immediately
- switched to a STREAM context, which caused pending text to be flushed. pdf_reset_color
- was only called from two places, pdf_set_drawing_color and pdf_set_pure_color. The
- switch to a STREAM context has been moved to these routines, leaving pdf_reset_color to
- actually do the work without worrying about the context.
- It was found necessary to also reproduce some checks before switching context, to
- prevent unnecessary context switches.
- Removed unused local variable 'process_color' from pdf_reset_color.
+We're not sure whether this patch correctly works with idle masks.
+We could not debug it due to no practical cases.
+Possibly idle mask will need an additional effort to skip
+the group painting to the band.
-There is scope for additional enhancement with this code. Presently there is no attempt to
-deal with 'charpath gsave fill grestore stroke' constructs, nor to handle clipping paths
-resulting from charpath. There may be other possibilities.
+Also disabled cmd_put_halftone in c_pdf14trans_clist_write_update -
+see comment in code.
+Monor change : Inserted a visual trace support for transparency buffers.
</pre>
-<p>[src/gdevpdfx.h src/gxchar.c src/gdevpdts.c src/gdevpdtt.c src/gzpath.h src/gdevpdfd.c src/gdevpdts.h src/gdevpdfg.c src/gdevpdti.c src/gdevpdtt.h src/gdevpdfg.h src/gxpath.c]</p>
+<p>[src/lib.mak src/zdict.c src/gdevdflt.c src/gdevp14.h src/gstrans.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstparam.h src/gstrans.h src/gxclrast.c src/gsovrc.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-10-01T230253.086636Z"></a>
-2007-10-01T23:02:53.086636Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-09T003630.938192Z"></a>
+2008-01-09T00:36:30.938192Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Have mkromfs use $(GS_INIT) instead of hard-coding gs_init.ps. It was
-intended that this be part of r8257.
+Fixed umlauts (maybe, am having trouble testing the results).
</pre>
-<p>[src/int.mak]</p>
+<p>[man/de/pdf2dsc.1]</p>
</blockquote>
-<p><strong><a name="2007-10-01T230035.110412Z"></a>
-2007-10-01T23:00:35.110412Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-09T002450.313955Z"></a>
+2008-01-09T00:24:50.313955Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Update pkg-config support in the ijs tree.
+Corrected man page (thanks to Peter Dyballa).
</pre>
-<p>[ijs/Makefile.am]</p>
+<p>[man/de/pdf2dsc.1]</p>
</blockquote>
-<p><strong><a name="2007-10-01T225959.038063Z"></a>
-2007-10-01T22:59:59.038063Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-09T000059.719986Z"></a>
+2008-01-09T00:00:59.719986Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Improve portability in the autoconf build. Solaris doesn't support 'grep
--q'. Bug 689490.
+Add unmodified byte-oriented AES encryption code by Brian Gladman. These
+files serve as a reference point. They are not yet included into any
+project nor can be compiled by some of the compilers we support.
+
</pre>
-<p>[src/configure.ac]</p>
+<p>[src/aes.h src/aes.c]</p>
</blockquote>
-<p><strong><a name="2007-10-01T062621.808008Z"></a>
-2007-10-01T06:26:21.808008Z Suzuki Toshiya</strong></p>
+<p><strong><a name="2008-01-07T205840.018332Z"></a>
+2008-01-07T20:58:40.018332Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix: (TT font handler) : Use given prebuilt_encoding when Apple Roman TrueType cmap subtable is chosen
-
-DETAILS:
-As current implementation assumes /prebuilt_encoding[] is
-compatible with WinAnsiEncoding when Microsoft UCS2 TrueType
-cmap subtable is chosen, current implementation assumes
-/prebuilt_encoding[] is same with MacRomanEncoding when
-Apple Roman TrueType cmap subtable is chosen.
-/prebuilt_encoding[] is completely ignored and the inverse
-of MacRomanEncoding is used. Therefore, when Apple Roman
-TrueType cmap subtable is chosen but /Encoding is
-StandardEncoding or PDFDocEncoding, some characters are
-shown by wrong glyphs. This patch uses /prebuild_encoding[]
-if it's given, when Apple Roman TrueType cmap subtable is
-chosen.
-
-According to PDF Ref 1.7 p. 431, MacRomanEncoding does not
-cover all characters in Apple Roman TrueType cmap subtable,
-16 characters are missing. To exploit the glyphs as many
-as possible via Apple Roman TrueType cmap subtable, this
-patch introduces "MacRomanEncodingForTrueType" including
-missing 16 characters. By this change, 16 glyphnames
-can be exploited via Apple Roman TrueType cmap subtable.
-
-There might be broken TrueType fonts that use the names
-in MacRomanEncoding at incompatible 8bit charcode. The
-text drawn by such fonts would be broken, the results are
-unexpected.
-
+Remove the obsolete gconfigv.h.
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[src/lib.mak toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/std.h src/gscdefs.h src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
-<p><strong><a name="2007-10-01T061918.139797Z"></a>
-2007-10-01T06:19:18.139797Z Suzuki Toshiya</strong></p>
+<p><strong><a name="2008-01-07T205836.882379Z"></a>
+2008-01-07T20:58:36.882379Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix: Preprocess the glyphnames in prebuilt_encoding by AdobeGlyphList for Microsft UCS2 cmap subtable
-
-DETAILS:
-According to PDF Ref 1.7 p. 430, Adobe modern products
-always prioritize Microsoft UCS2 TrueType cmap subtable
-regardless with /Encoding, as far as the font is declared
-as Nonsymbolic by /Flags. For example, even if /Encoding
-is MacRomanEncoding, Microsoft UCS2 TrueType cmap subtable
-is prioritized than Apple Roman TrueType cmap subtable.
-The encoding of Microsoft UCS2 TrueType cmap is not a
-superset of MacRomanEncoding, see PDF Ref 1.7 Appendix D.
-Current implementation expects the content of /Encoding
-is always compatible with chosen TrueType cmap subtable,
-thus unexpected mismatching causes loss of glyph like:
-bug 689351 "Content Loss for certain Embedded Type42 Glyphs with gs8.57"
-
-When Microsoft UCS2 TrueType cmap subtable is chosen,
-the glyphnames used in /prebuilt_encoding[] should be
-preprocessed: the glyphnames changed to the charcode
-compatible with Microsoft UCS2 encoding scheme, before
-combining with charcode-glyph mapping table in Microsoft
-UCS2 TrueType cmap subtable. The preprocessing should
-be done by AdobeGlyphList that maps known glyphnames
-to UCS2 charcode. The unknown glyphnames are left to
-second processing in /.pdfmapchars. This preprocess
-fixes bug 689351.
-
-There might be broken TrueType fonts that use the names
-in AdobeGlyphList at incompatible UCS2 charcode. The text
-drawn by such fonts would be broken, the results are
-unexpected.
+Remove EXTEND_NAMES from the top level makefiles.
+There is a fallback to the default value of 0 in inameidx.h so there
+is no change in the default behaviour. The extended name table can
+still be activated by defining EXTEND_NAMES on the compiler command
+line or changing the source directly.
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak doc/Use.htm src/int.mak src/macosx.mak src/Makefile.in src/inameidx.h src/unix-gcc.mak src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
-<p><strong><a name="2007-09-30T194625.258028Z"></a>
-2007-09-30T19:46:25.258028Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-07T184302.811990Z"></a>
+2008-01-07T18:43:02.811990Z Henry Stiles</strong></p>
<blockquote>
<pre>
-Add an option that controls rendering of PDF annotations. By default
-annotations are rendered as before.
-
+Deprecate USE_FPU, no changes expected.
</pre>
-<p>[lib/pdf_main.ps doc/Use.htm]</p>
+<p>[src/gxchar.c src/openvms.mak src/unix-end.mak src/gsjmorec.h src/macosx.mak src/dvx-gcc.mak src/gxfarith.h src/msvccmd.mak src/siscale.c src/unixansi.mak src/gsmisc.c src/msvclib.mak src/gsfemu.c src/os2.mak src/openvms.mmk src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gscie.h src/Makefile.in src/unix-gcc.mak src/gxfixed.h src/msvc32.mak src/macos-mcp.mak src/wccommon.mak src/wctail.mak src/winlib.mak src/watclib.mak]</p>
</blockquote>
-<p><strong><a name="2007-09-29T055334.943145Z"></a>
-2007-09-29T05:53:34.943145Z Alex Cherepanov</strong></p>
+<p><strong><a name="2008-01-02T235844.056429Z"></a>
+2008-01-02T23:58:44.056429Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Following the PDF spec, don't use .notdef glyph in Type 3 font.
-.notdef may not be present at all. Bug 689475
+Re-export runpdfbegin, dopdfpages, and runpdfend procedures, which turned out
+to be used by 3rd party programs. Partly revert the rev. 8325.
</pre>
-<p>[lib/pdf_font.ps]</p>
+<p>[lib/pdf_main.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-27T230607.081517Z"></a>
-2007-09-27T23:06:07.081517Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-02T131059.547816Z"></a>
+2008-01-02T13:10:59.547816Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Remove the mkromfs code under 'make clean'. Bug 689474.
-Also, use the GS_INIT define instead of hard-coding gs_init.ps
-as the root of the postscript library code.
-</pre>
-<p>[src/lib.mak src/gs.mak]</p>
-</blockquote>
+Fix (pdfwrite): Tidy up after the prior patch,
+algorithmically this is the same as before.
+
+Details:
+Bug #689597 "PDF created with NoEmbed has wrong BaseFont name".
+
+gdevpdtb.c, gdevpdtf.c, gdevpdtf.h, remove the redundant
+routine pdf_choose_font_name.
+
+gdevpdtb.c, gdevpdtd.c, gdevpdtf.c, gdevpdtb.h, modify the
+function pdf_base_font_alloc to remove the redundant
+argument 'orig_name', we always use the original font name
+now.
-<p><strong><a name="2007-09-27T203039.973443Z"></a>
-2007-09-27T20:30:39.973443Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Improve shared build support on MacOS X.
</pre>
-<p>[src/configure.ac src/unix-dll.mak]</p>
+<p>[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h]</p>
</blockquote>
-<p><strong><a name="2007-09-27T202651.405933Z"></a>
-2007-09-27T20:26:51.405933Z Ralph Giles</strong></p>
+<p><strong><a name="2008-01-01T204452.186969Z"></a>
+2008-01-01T20:44:52.186969Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Install iapi.h and ierrors.h as part of the soinstall makefile target.
-Bug 689466.
+Don't ignore xref stream in a hybrid "classic xref" + "stream xref" file
+as PDF 1.5-compatible should do. Thanks to SaGS for the patch. Bug 688282.
+
</pre>
-<p>[src/macosx.mak src/Makefile.in src/unix-dll.mak src/unix-gcc.mak]</p>
+<p>[lib/pdf_main.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-27T202046.283268Z"></a>
-2007-09-27T20:20:46.283268Z Ray Johnston</strong></p>
+<p><strong><a name="2008-01-01T142830.927323Z"></a>
+2008-01-01T14:28:30.927323Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Prevent BandWidth from being set smaller than the page width. Fixes
-crash reported in bug #688734.
+Replace clearly invalid generation numbers out of 0..65535 range with 0 during
+rebuilding of xref table. Bug 689634.
+
</pre>
-<p>[src/gxclist.c]</p>
+<p>[lib/pdf_rbld.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-26T094855.994917Z"></a>
-2007-09-26T09:48:55.994917Z Igor Melichev</strong></p>
+<p><strong><a name="2008-01-01T013052.687921Z"></a>
+2008-01-01T01:30:52.687921Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (Windows installer) : MSVC can't build dwinst.c .
+Remove the SYSTEM_CONSTANTS_ARE_WRITABLE compile-time define.
-DETAILS :
+Details:
-A recent patch erroneusly replaced 'private' keyward in a C++ class definition.
+This was added so a particular application could rewrite the product name,
+version, etc. after loading the library. We're not aware of anyone still
+using the feature, and if so they can just change the source, which is
+more appropriate in any case.
+Also, remove USE_ASM from the msvc project file.
</pre>
-<p>[src/dwinst.h]</p>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/gscdefs.h src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak src/gscdef.c]</p>
</blockquote>
-<p><strong><a name="2007-09-26T043720.025441Z"></a>
-2007-09-26T04:37:20.025441Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-31T224650.849681Z"></a>
+2007-12-31T22:46:50.849681Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix multiple inclusion of page objects in the optimized PDF file.
-Extend special handling of page objects to Annots and AcroForm
-object enumeration. Bug 689292, customer 932.
+Add a flag that marks PDF text rendering mode 3 to avoid confusion with other
+non-rendering text operations such as stringwidth. This avoids unnecessary
+calculation of the current point, which fails when the CTM is singular. This
+patch continues conservative approach to the text rendering modes started in
+rev. 4006. Bug 689614, customer 384.
</pre>
-<p>[lib/pdfopt.ps]</p>
+<p>[src/gxchar.c src/gstext.c src/gstext.h]</p>
</blockquote>
-<p><strong><a name="2007-09-25T133124.199299Z"></a>
-2007-09-25T13:31:24.199299Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-31T190652.216061Z"></a>
+2007-12-31T19:06:52.216061Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Replace the 'private' define with the now standard C keyword 'static'.
+Correct polarity of the stochastic threshold array so that the images are
+not too dark.
DETAILS:
- The compilers we support have supported static for some time now, so
-idiomatic, and removes one of the obstacles to compiling Ghostscript
-as C++.
-The patch also removes support for compilation with -dNOPRIVATE, which
-is not longer necessary with modern debuggers.
+The original conversion from the threshold array provided by CalComp had
+the threshold values inverted so that the implicit linearization was
+inverted, making images much too dark. This correction provides reasonable
+results on printers. Fine tuning of transfer functions can be used for
+specific printers.
+
</pre>
-<p>[src/gdevm48.c src/idstack.c src/gdevmsxf.c src/gdevrinkj.c src/gdevmem.c src/gdevmem.h src/gdevwdib.c src/gxoprect.c src/gdevsunr.c src/zvmem.c src/gdevpdtc.c src/gstrap.c src/gsfcmap1.c src/gxxfont.h src/gswts.c src/gsstate.c src/gdevlbp8.c src/zcsdevn.c src/gdevdm24.c src/zcontext.c src/gxdhtserial.c src/gdevpdts.c src/gdevcljc.c src/iscanbin.c src/gdevmiff.c contrib/gdevlx7.c src/gxclutil.c src/gp_mshdl.c src/zfont.c contrib/japanese/gdevml6.c src/zarray.c src/gxdevcli.h src/gdevpe.c src/zchar42.c src/gsfont0.c src/gscscie.c contrib/lips4/gdevlips.c src/gdevwts.c src/zdfilter.c src/icfontab.c src/zht1.c src/zdevcal.c src/zpcolor.c src/gdevpdfi.c src/zcssepr.c src/sdcparam.c contrib/gdevcd8.c src/bcwin32.mak src/zdps1.c src/gdevokii.c src/gdevpdtd.c src/zcfont.c src/zhsb.c src/gdevprna.c src/zcolor.c src/gxhtbit.c src/sfxfd.c src/zupath.c contrib/lips4/gdevl4v.c src/gdevpdtt.c src/gpmisc.c src/gdevpbm.c src/ireclaim.c src/gdevmrun.c src/gconf.c contrib/japanese/gdevnpdl.c src/zfbcp.c contrib/japanese/gdevmag.c src/gserver.c src/gp_psync.c src/gdevcmap.c src/zht2.c src/gdevpdfj.c src/zfarc4.c src/gp_os2pr.c src/gdevwprn.c src/gdevpsd.c src/gsiomacres.c src/gxclfile.c src/gxpdash.c src/ztrap.c src/gxfilltr.h src/gdevpdte.c src/gdevdevn.c doc/Drivers.htm contrib/japanese/gdevalps.c src/gsgcache.c src/zfile.c src/gdev4693.c src/gsptype1.c src/gxchar.c src/gxclbits.c src/zfcid0.c src/gsfcid2.c src/zgstate.c contrib/gomni.c src/gsalloc.c src/zfontenum.c src/gdevmeds.c src/gdevmpla.c src/gdev4081.c src/gscicach.c src/watclib.mak src/gxclzlib.c src/istack.c src/zfont0.c src/zmath.c src/gdevpdfk.c src/gdevhit.c src/gxclimag.c src/gxhintn1.c src/gxfillts.h src/gdevpdtf.c src/gdevddrw.c src/gschar.c src/gxht.c src/gdevpsfm.c src/sarc4.c src/gdevpsdp.c src/gxcht.c src/gsptype2.c src/gdevpsu.c src/gdevxalt.c src/gdevclj.c src/zvmem2.c src/zfcid1.c src/gstrans.c contrib/gdevln03.c src/gstype2.c src/icontext.c src/zstring.c src/zfont32.c src/gzspotan.c src/gxclip2.c src/gdevdrop.c src/gp_macio.c src/sbhc.c src/scfd.c src/gsdps.c src/zfont1.c src/spngp.c src/gdevcgml.c src/gdevpx.c src/gsmatrix.c src/gdevl256.c src/igcref.c src/zcharx.c src/gxtype1.c src/zdouble.c src/spdiff.c src/gdevcp50.c src/gsmemret.c src/gdevpdtw.c src/gxclip.c src/sfilter1.c src/iname.c src/zmedia2.c src/gxiscale.c src/gxpcmap.c src/gdevnfwd.c src/zcontrol.c src/gdevxcmp.c src/gsfcmap.c src/scfe.c src/zfont2.c src/gdevlj56.c src/gxp1fill.c src/gsciemap.c src/gdevhl7x.c src/zdscpars.c src/gdevos2p.c src/gsparam.c src/gdevpdfm.c src/gp_unix_cache.c src/imain.c src/gdevwpr2.c src/zfilter2.c src/zfont42.c src/zchar.c src/smd5.c src/gdevsun.c src/ztrans.c src/sjpx.c src/zcsindex.c src/gdevrops.c src/gxipixel.c src/zcidtest.c src/sfilter2.c src/gdevijs.c src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/gxmclip.c src/gdevjpx.c src/gdevcslw.c src/zfdctd.c src/zdps.c contrib/gdevhl12.c src/gdevdsp.c src/zmatrix.c src/gdevescp.c src/gsiodev.c src/igc.c src/gdevpipe.c src/msvc32.mak src/gdevmacxf.c src/gsfunc0.c src/gdevsvga.c src/gdevpdti.c src/zdosio.c src/gdevepsn.c src/gsparam2.c src/gdevpsf1.c src/gdevpsds.c src/zfsample.c src/zfdecode.c src/gsstruct.h src/siscale.c src/gxfill.c src/gsdsrc.c src/gximag3x.c src/gxclread.c src/dwtrace.c src/gdevmswn.c src/gdevjpeg.c src/siinterp.c src/gdevbbox.c src/gsdll.c src/gspath1.c src/gdevtfax.c src/gdevpjet.c src/gdevphex.c src/sjpegc.c src/gshtscr.c src/zfdcte.c src/gsnogc.c src/zfcmap.c src/gdevbit.c src/gdevfax.c src/gdevbmpa.c src/gsequivc.c src/gp_wsync.c src/gsdevice.c src/gxclmem.c src/gscparam.c src/gshtx.c src/gdevsj48.c src/gdevpdfo.c src/sdctd.c src/gsmemory.c contrib/japanese/gdevfmlbp.c src/gdevcdj.c src/scfdgen.c src/ttcalc.c src/gdevtknk.c src/gdevpsf2.c src/gxidata.c src/gsroptab.c src/gdevm1.c src/gsistate.c src/os2.mak src/sstring.c src/gscolor2.c src/gxpath.c src/scfparam.c src/gdevupd.c src/interp.c src/gsmalloc.c src/zcrd.c src/ttfmain.c doc/C-style.htm src/gdevm40.c contrib/japanese/dviprlib.c src/gsiodisk.c src/gdevpsim.c contrib/japanese/dviprlib.h src/gdevpcfb.c src/gdevvec.c src/gp_msprn.c src/gdevmgr.c src/sdeparam.c src/gxacpath.c src/gdevpdfp.c src/ziodev.c src/gslib.c src/gdevimgn.c src/gdevvglb.c src/sdcte.c src/gsovrc.c src/gxshade1.c src/gxccache.c src/gdevm32.c src/gxfdrop.c src/gp_unifs.c src/gsparams.c src/gxhintn.c src/gsiorom.c src/gdevbjcl.c src/dvx-gcc.mak src/gdevpsdu.c src/gp_mswin.c src/gdevm2.c src/gspath.c src/gdevwddb.c src/gp_os2.c src/zcolor1.c src/gxpcopy.c src/gdevdjet.c src/gdevstc.c src/ialloc.c src/gxfapiu.c contrib/japanese/gdevlbp3.c src/zpath1.c src/gdevm24.c contrib/eplaser/gdevescv.c contrib/gdevxes.c src/ilocate.c src/gxdcolor.c src/gdevpm.c src/gdevbmp.c src/gschar0.c src/gdevbmpc.c src/zdevice.c src/gscie.c src/gdevsppr.c src/igcstr.c src/gxi16bit.c src/gdevn533.c src/idebug.c src/gsht.c src/gsncdummy.c src/gsfunc3.c src/gdevm16.c src/gdevperm.c src/genconf.c src/zfilter.c src/gstype42.c src/sa85d.c src/sbcp.c src/zcolor2.c src/gdev3b1.c src/gdevtrac.c src/gp_ntfs.c src/gdevatx.c src/zfproc.c src/genht.c src/zgeneric.c src/gs.c src/gxclrect.c src/zdevice2.c src/gsshade.c src/sjbig2.c src/gdevpdfb.c src/gscrdp.c src/msvclib.mak src/sjbig2.h src/gxclrast.c src/gsicc.c src/zcid.c src/zfile1.c src/gdevp2up.c src/zimage3.c src/gdevo182.c src/zarith.c src/gdevpdfr.c src/zcspixel.c src/gximage1.c src/gdevppla.c src/zmisc1.c contrib/gdevop4w.c src/wccommon.mak src/gsfunc4.c src/gxclpath.c src/gxcmap.c src/gxfcopy.c src/gdevpsft.c src/gdevtfnx.c src/gsmisc.c src/gxicolor.c src/zpath.c src/gdevm4.c contrib/opvp/gdevopvp.c src/gxfillsl.h src/zcolor3.c src/gxpageq.c src/gsdparam.c src/gxcpath.c src/gdevprn.c src/gdevlxm.c contrib/japanese/gdevdmpr.c src/gdevcif.c src/gxdevndi.c src/gdevprn.h src/gdevpdfc.c contrib/gdevgdi.c src/gdevabuf.c src/gdevherc.c src/gdevsgi.c src/zcie.c src/gdevsco.c src/stream.c src/gdevdflt.c src/zcharout.c src/gdevepsc.c src/gdev8510.c src/gximage2.c src/srld.c src/zht.c src/zncdummy.c src/gxstroke.c src/gxshade4.c contrib/gdevlx32.c src/zmisc2.c src/iparam.c src/sjpx_luratech.c src/zrelbit.c src/iinit.c src/gdevxini.c src/gxclist.c contrib/japanese/gdevmjc.c src/watcw32.mak src/gxccman.c src/gsalphac.c src/gdevpsfu.c src/gxshade.c contrib/japanese/gdevmjc.h src/gdevlp8k.c src/zfunc.c src/gsclipsr.c src/idict.c src/ttfmemd.c src/gscoord.c contrib/japanese/gdevrpdl.c src/genarch.c src/ztype.c src/gdevxxf.c src/zshade.c src/gdevpdfd.c src/gdevdgbr.c src/gdevmr2n.c src/gdevxcf.c src/gdevcfax.c src/zicc.c src/zchar1.c src/vdtrace.c src/gscdevn.c src/iscan.c src/gsnotify.c src/gdevpdft.c src/gximage3.c src/gdevpsdi.c src/srle.c src/zfilterx.c contrib/gdevlx50.c src/shcgen.c src/zmisc3.c src/zfapi.c src/zfunc4.c contrib/gdevbjc_.c src/gscpixel.c src/ziodev2.c src/gsiodevs.c src/zmisc.c src/gdevplnx.c src/gxttfb.c src/simscale.c src/zfzlib.c src/Makefile.in src/dscparse.c src/gscsepr.c src/gdev3852.c src/iutil2.c src/dscparse.h src/gsimage.c src/gxwts.c src/gstext.c contrib/japanese/gdevj100.c src/msvccmd.mak src/gdevpdfe.c src/gsflip.c contrib/lips4/gdevlprn.c src/gdevadmp.c src/sidscale.c src/zchar2.c src/zdpnext.c src/geninit.c src/zusparam.c src/gdevjbig2.c src/gdevpdfu.c src/gximage4.c contrib/gdevdj9.c src/gxshade6.c src/gdevp14.c contrib/lips4/gdevl4r.c src/dwinst.h src/gdevpdf.c src/macosx.mak src/zpacked.c src/ifont.h src/zfmd5.c src/gp_dosfe.c src/iutil.c src/gdevpng.c src/zrop.c src/zalg.c src/zfjpx.c src/gzpath.h src/sfxstdio.c src/gspaint.c src/sjbig2_luratech.c contrib/japanese/gdev10v.c contrib/gdevmd2k.c src/sjbig2_luratech.h src/gdevccr.c src/gdevdcrd.c src/zbseq.c src/ziodevsc.c src/imainarg.c src/zfrsd.c src/gdevl31s.c src/gdevdjtc.c src/spprint.c src/gdevpcx.c src/zfileio.c src/zbfont.c src/slzwd.c contrib/japanese/gdevespg.c src/unix-gcc.mak src/gdevpdfv.c src/gxpflat.c src/gxifast.c src/zsysvm.c src/gsimpath.c src/gdevx.c contrib/gdevbjca.c src/gsmemlok.c src/sbwbs.c src/gximage.c src/gdevstc4.c src/ziodevs.c src/unixansi.mak src/gdevpsfx.c src/szlibd.c src/gscspace.c src/gdevimdi.c src/gdevdfax.c src/gdevm8.c src/gdevpnga.c src/gsropc.c src/zstack.c src/gsfcid.c src/gsfont.c src/isave.c src/zimage.c src/gdevm64.c src/gdevcgm.c src/zdict.c src/zfimscale.c src/gdevtsep.c src/gsfont0c.c src/iccfont.c src/gsht1.c src/gdevpdfg.c contrib/japanese/gdevp201.c src/gdevps.c src/gspcolor.c src/gxi12bit.c src/gxcllzw.c src/zfjbig2.c src/gdevpdtb.c src/gsdps1.c src/gdevs3ga.c src/slzwe.c src/gshsb.c src/gscolor.c src/smtf.c src/ztoken.c src/gxpaint.c src/x_.h src/gdevtifs.c src/zchar32.c src/seexec.c src/gdevm56.c src/spsdf.c src/gximono.c src/fapiufst.c src/szlibe.c src/gxctable.c src/gp_vms.c src/gp_iwatc.c src/gp_os9.c src/gdevbj10.c src/gxclipm.c src/zpaint.c src/gdevmac.c src/stdpre.h src/iplugin.c contrib/japanese/gdevfmpr.c src/gsgdata.c src/gdevmac.h]</p>
+<p>[lib/ht_ccsto.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-24T035218.847453Z"></a>
-2007-09-24T03:52:18.847453Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-31T180759.109475Z"></a>
+2007-12-31T18:07:59.109475Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Ignore color operations in uncolored type 3 font in PDF files for
-compatibility with Acrobat Reader 6 and higher.
-Bug 689302, customer 870.
+Remove the USE_ASM build flag.
+
+Details:
+
+It was originally added to support vga mode setting, and has been
+used for a few minor optimizations since. We don't believe these
+are worth the trouble with modern compilers, so it is removed to
+simplify configuration management.
</pre>
-<p>[src/int.mak lib/pdf_draw.ps src/zchar.c]</p>
+<p>[src/unix-end.mak src/openvms.mak src/watcw32.mak src/gdevpcfb.c doc/Develop.htm src/msvccmd.mak src/iutilasm.asm src/gsmisc.c src/msvclib.mak src/dvx-head.mak src/devs.mak src/os2.mak src/openvms.mmk src/unixhead.mak src/lib.mak src/bcwin32.mak src/winint.mak src/gdevegaa.asm src/msvc32.mak src/gdevsvga.c src/gsutil.c src/wccommon.mak src/wctail.mak src/winlib.mak]</p>
</blockquote>
-<p><strong><a name="2007-09-20T121552.643667Z"></a>
-2007-09-20T12:15:52.643667Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-31T061033.027699Z"></a>
+2007-12-31T06:10:33.027699Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix : A crash in garbager after clist playback fails in image.
-
-DETAILS :
-
-This problem was occasionally detected when disk overflow happens with
-the test case of the bug 689440.
-
-device_clist_enum_ptrs, device_clist_reloc_ptrs process
-gx_device_clist::writer.clip_path when image_enum_id is not zero.
-The clist playback code sets it when processing an image.
-We guess it was done to avoid redundant clist writing,
-and we think it's not a best way to do that.
-
-If an image processing fails with an error,
-the old code does not reset image_enum_id.
-Later (when the interpreter closes)
-the garbager processes gx_device_clist::writer.clip_path .
-But in the test case it appears to be a pointer from global memory
-to local memory, and its relocation appears wrong.
-A crash happens while validating the heap after the relocation.
-
-We're not sure why gx_device_clist::writer.clip_path
-needs to be set between image plane data portions,
-and why the garbager methods are coded to process it.
-We guess all these manipulations are wrong,
-and a right way should be to call cmd_check_clip_path
-in clist_image_plane_data.
-
-See also comment in cmd_check_clip_path :
-"The clip path might have moved in memory".
-We guess it assumes that the pointer is not relocated
-when image_enum_id is zero and the ppointer is set.
-We guess it should be regular assumption
-for all cases, and the clist device garbager methods
-must never process it.
-
-This patch applies a minimal change to prevent the crash,
-and does not close other suspections.
-The change simply closes the image enumerator
-when writing to it ends with an error.
+Don't try to obtain the bounding box of a glyph when FontBBox is invalid and
+CTM is singular. Set an empty box and consider it valid. The bounding box is
+not used when the CTM is singular. Bug 689614, customer 384.
</pre>
-<p>[src/gxclrast.c]</p>
+<p>[src/zchar1.c]</p>
</blockquote>
-<p><strong><a name="2007-09-20T084949.922199Z"></a>
-2007-09-20T08:49:49.922199Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-29T025321.940078Z"></a>
+2007-12-29T02:53:21.940078Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Allow image encoding filter initialization with no parameters passed from the client.
+Remove the ARCH_CAN_SHIFT_FULL_LONG define and its derivatives. Bug 689611.
-DETAILS :
-
-Bug 689458 "pdfwrite image crash (pcl and xps)".
-
-The change 6122 doesn't account that some client
-may pass no parameters for filter initialization.
-Fixing it now and improve the documentation.
+Details:
+This was only used in one place, in an attempt to support
+non-portable code. However this caused problems with recent
+gcc's which optimized the test one way and the code in gxshade.c
+another. We're therefore removing it entirely and just using
+portable code.
</pre>
-<p>[src/gdevpsdi.c]</p>
+<p>[src/std.h src/gxshade.c src/gxbitops.h src/genarch.c]</p>
</blockquote>
-<p><strong><a name="2007-09-18T191121.591397Z"></a>
-2007-09-18T19:11:21.591397Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-27T222836.610626Z"></a>
+2007-12-27T22:28:36.610626Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update the build instructions to reflect current practice of shipping
-all the 3rd party libraries we depend on. Bug 689446.
-</pre>
-<p>[doc/Make.htm]</p>
-</blockquote>
+Add -Wundef to the autoconf build.
-<p><strong><a name="2007-09-18T190134.199941Z"></a>
-2007-09-18T19:01:34.199941Z Ralph Giles</strong></p>
-<blockquote>
-<pre>
-Correct some documentation errors. Bug 689433.
+There have been a number of problems related to missing defines lately.
</pre>
-<p>[doc/Projects.htm lib/ps2pdf.cmd doc/Use.htm lib/ps2pdf.bat doc/Ps2pdf.htm]</p>
+<p>[src/configure.ac]</p>
</blockquote>
-<p><strong><a name="2007-09-18T173231.734909Z"></a>
-2007-09-18T17:32:31.734909Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-22T191320.335131Z"></a>
+2007-12-22T19:13:20.335131Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Remove obsolete font encoding and compilation instructions from the
-documentation. Bug 689432.
+Correction to the refcount documentation.
+
+Our allocator can't double free, but attempting to trace a freed pointer
+can confuse things, possibly resulting in a segfault or other
+misbehaviour.
</pre>
-<p>[doc/Fonts.htm]</p>
+<p>[src/gsrefct.h]</p>
</blockquote>
-<p><strong><a name="2007-09-18T154108.152952Z"></a>
-2007-09-18T15:41:08.152952Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-22T020540.922995Z"></a>
+2007-12-22T02:05:40.922995Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : The interpolation of imagemask must not apply to high resolution images (continued).
-
-DETAILS :
-
-Fixing an inaccuracy in a comment in the last patch.
-
+Also remove gdevcmap from the documentation.
</pre>
-<p>[lib/gs_img.ps]</p>
+<p>[doc/Develop.htm]</p>
</blockquote>
-<p><strong><a name="2007-09-18T153351.055573Z"></a>
-2007-09-18T15:33:51.055573Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-22T020536.008019Z"></a>
+2007-12-22T02:05:36.008019Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : The interpolation of imagemask must not apply to high resolution images.
-
-DETAILS :
-
-Bug 689249 "Major performance degradation rendering PDF",
-
-The revision 7123 implements a conversion of imagemask
-into a bigger image with a smoother pixel granularity.
-Actually the conversion isn't useful for high resolution images
-which map an image pixel into a small number of device pixels.
-This patch implements such check and it apparently helps for pdfwrite.
-
-Note it includes an arbitrary threshold,
-which may need further adjustment.
-See comment in code.
-
+Include gconfigv.h in std.h so defines like USE_FPU are more
+consistently defined.
</pre>
-<p>[lib/gs_img.ps]</p>
+<p>[src/lib.mak src/gscie.h src/std.h src/gdevpcfb.c src/gxfarith.h src/siscale.c src/gsmisc.c src/gdevsvga.c src/devs.mak src/sidscale.c src/gxpcopy.c]</p>
</blockquote>
-<p><strong><a name="2007-09-14T101707.152885Z"></a>
-2007-09-14T10:17:07.152885Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-22T001936.075695Z"></a>
+2007-12-22T00:19:36.075695Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Banding : Extend clist language with trapezoids, linear color trapezoids and linear color triangles (continued 8).
-
-DETAILS :
-
-Bug 689436 "pattern rendering regression with revision 8095".
-
-Do not write tile phase to clist before trying to write the color.
-If the latter fails, the phase may become wrong due to
-overloading cmd_opv_set_tile_phase with tile phase and device halftone phase.
-
-With the test case the old code, when writing a trapezoid to clist,
-first writes halftone phase, then fails to write the pattern color
-and falls back to gx_default_fill_trapezoid.
-The latter writes strip_copy_rop with it own phases.
-But the clist reader expects strip_copy_rop phase to be written
-*after* the tile header, so the reader misses the phase sychronizm.
-
-The fix simply delays writing the phase after the color is written.
-
+Document the behaviour of the reference count macros.
</pre>
-<p>[src/gxclpath.c]</p>
+<p>[src/gsrefct.h]</p>
</blockquote>
-<p><strong><a name="2007-09-14T052352.359324Z"></a>
-2007-09-14T05:23:52.359324Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-22T001005.865239Z"></a>
+2007-12-22T00:10:05.865239Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Add recognition of a CFF file fith the extended header = <01000C02>.
-Bug 689449, customer 1110.
-
+Remove the unused cmap device.
</pre>
-<p>[lib/pdf_font.ps lib/gs_cff.ps]</p>
+<p>[src/lib.mak src/ugcclib.mak src/gslib.c src/gdevcmap.c src/gdevcmap.h]</p>
</blockquote>
-<p><strong><a name="2007-09-13T083048.823871Z"></a>
-2007-09-13T08:30:48.823871Z Ken Sharp</strong></p>
+<p><strong><a name="2007-12-21T195819.459173Z"></a>
+2007-12-21T19:58:19.459173Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update pdfwrite to handle type 0 fonts with type 1 or type 2 descendant fonts (continued).
-
-DETAILS:
-Bug #689212 "irregular baselines - gs pdfwrite changes CFF to Type 3". There are no functional changes, the new code behaves the same as the old. The
-temporary buffer allocated in pdf_text_process is used to hold the list of glyph
-name indices, and the working buffer of indices for pdf_obtain_font_resource_unencoded,
-rather than allocating new memory. This considerably simplifies the clean-up on
-error in scan_cmap_text.
-
-1. gdevpdtt.c In pdf_text_process, ensure that enough memory is available in the
- temporary buffer. We need to promote character codes to glyph name indices, so
- we need storage for as many glyph name indices as there were input character
- codes. In addition, we need a temporary buffer of the same size for
- pdf_obtain_font_resource_unencoded (maximum required) so we need to double this amount.
-
-2. Update process_cmap_text to pass the buffer allocated in pdf_text_process, and
- passed as an argument to process_cmap_text, to scan_cmap_text.
-
-3. Alter the definition of scan_cmap_text to take the temporary buffer as an
- argument. Modify the code in scan_cmap_text to use the temporary buffer rather
- than allocating new space. Remove all the code for allocating and especially freeing
- the temporary memory. Some corrections to indenting also performed here.
+Further update the graphics library unit test and build. The gslib test
+executable builds and works now.
</pre>
-<p>[src/gdevpdtc.c src/gdevpdtt.c]</p>
+<p>[src/ugcclib.mak src/gslib.c]</p>
</blockquote>
-<p><strong><a name="2007-09-11T192917.888456Z"></a>
-2007-09-11T19:29:17.888456Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-21T195607.995361Z"></a>
+2007-12-21T19:56:07.995361Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (filling algorithm) : Split big segments before filling a path.
-
-DETAILS :
-
-Bug 689397 "Infinite loop is PS ATS file tp pcxcmyk device."
-
-The old code didn't split big segments due to an inaccurate coding.
-It caused a fixed overflow with in a coordinate compitation
-and a loop of about 2^30 steps.
-
+Construct romfs.dev in the graphics library's gen directory instead of
+the ps interpreter's so building just the library is possible.
</pre>
-<p>[src/gxpcopy.c]</p>
+<p>[src/gs.mak]</p>
</blockquote>
-<p><strong><a name="2007-09-10T083142.651229Z"></a>
-2007-09-10T08:31:42.651229Z Ken Sharp</strong></p>
+<p><strong><a name="2007-12-21T103100.226023Z"></a>
+2007-12-21T10:31:00.226023Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Update pdfwrite to handle type 0 fonts with type 1 or type 2 descendant fonts.
-
-DETAILS
-Bug #689212 "irregular baselines - gs pdfwrite changes CFF to Type 3"
-
-There was previously no code in pdfwrite to handle type 0 fonts with type 1 descendant
-fonts. This caused pdfwrite to 'fall back' to the default implementartion which converts
-glyphs to a type 3 bitmap font.
-
-This change is to enable scalable fonts to be embedded in the output. NB it is not
-possible, in PDF, to construct a type 0 font with anything other than CIDFonts as
-descendants, and we must therefore output one or more type 1 fonts to do the job.
-
-1. (gdevpdtt.c) in scan_cmap_text add a case to handle a type 1 descendant font. The main
- work is done in this routine; we create a list of glyph name indices representing
- each of the input character codes and later we use pdf_obtain_font_resource_unencoded
- and the TEXT_FROM_GLYPHS operation to mark the font usage, and create an 'encoded'
- string for output.
-
- If font->procs.next_char_glyph returns a glyph name index, then we simply add it to
- our list, if it returns a character code (a CMap can map a character code in the type
- 0 font to a character code in a descendant font) then we use the descendant font
- 'procs.encode_char' to get a glyph.
-
- Once we have a complete list of glyphs, we pass it to
- pdf_obtain_font_resource_unencoded to add the glyphs to the encoding, and return a
- string where the character codes match the newly created/modified encoding.
-
- Finally we pass the encoded string and glyph list to process_text_modify_width, using
- the descendant font.
+Fix (jbig2dec): The global data stream for a JBIG2 image in a PDF
+file was being released, and the data freed by the garbage collector,
+before the data was used.
- A couple of minor points; its possible to change descendant fonts in the middle of a
- string, and we need to cope with that, hence the copying of the last glyph in the list
- when a font_change occurs. Its possible to return a different pdfont if we run out of
- encoding positions in the current one, which can result in multiple type 1 fonts in
- the output.
+Details: Bug #689568 and #689569. Uses the patch supplied by Alex
+in thread for #689569, implements Ralph's comments about the structure
+naming. Does not attempt to change the memory allocator. This slightly
+modified patch also works with the Luratech decoder.
-2. We need to use the function adjust_first_last_char, which was defined private in
- gdevpdte.c, so this has been made public.
+sjbig2.h, sjbig2_luratech.h; make the global data structure
+s_jbig2_global_data_t public. Store the structure in the
+stream decoder state.
-3. A prototype for adjust_first_last_char has been added to gdevpdtt.h
+sjbig2.c, sjbig2_luratech.c; store a pointer to the global
+data structure.
-4. The function reserve_char_code_in_pdfont was written to handle single glyphs, it can
- now be called with multiple glyphs. The loop for re-using positions in the encoding
- with /.notdef codes didn't use the 'last_reserved_char' argument, which meant that it
- kept returning the same position. To prevent this it now pays attention to the
- 'last_reserved_char' argument.
-
-5. Finally, the routine pdf_make_text_glyphs_table_unencoded, which calls
- reserve_char_code_in_pdfont also did not previously expect to be called with multiple
- glyphs. The loop below do_unkown has been modified to use a local variable, instead of
- pdfont->u.simple.last_reserved_char. THis means that, should an error occur, the value
- of pdfont->u.simple.last_reserved_char will not be modified.
+sjbig2_luratech.c; don't reset the pointer during initialisation!
+zfjbig2.c; Pass the global pointer to the stream decoder for
+release in the finalize routine.
</pre>
-<p>[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtt.h]</p>
+<p>[src/sjbig2_luratech.h src/zfjbig2.c src/sjbig2.c src/sjbig2.h src/sjbig2_luratech.c]</p>
</blockquote>
-<p><strong><a name="2007-09-09T005312.649192Z"></a>
-2007-09-09T00:53:12.649192Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-21T001553.911110Z"></a>
+2007-12-21T00:15:53.911110Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Make pswrite and epswrite devices generate proper line-interleaved image
-stream even when they receive several scan lines at once. This happens when
-the source image operator takes large strings as multiple data sources.
-Bug 688200, customer 632.
+Remove some old helper scripts.
+They aren't used much and we no longer wish to maintain them.
</pre>
-<p>[src/gdevps.c]</p>
+<p>[toolbin/many2pdf.tcl toolbin/pre toolbin/gssubst toolbin/gsindent]</p>
</blockquote>
-<p><strong><a name="2007-09-08T223120.200765Z"></a>
-2007-09-08T22:31:20.200765Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-21T001154.376327Z"></a>
+2007-12-21T00:11:54.376327Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Declare Ghostscript as _LARGEFILE64_SOURCE program, i.e. request transitional
-interface to large file support. Check for mkstemp64() availability specially.
-</pre>
-<p>[src/Makefile.in src/configure.ac src/stdpre.h src/gp_unifs.c]</p>
-</blockquote>
+Make pre.tcl more robust in creating temporary files.
-<p><strong><a name="2007-09-08T215954.482448Z"></a>
-2007-09-08T21:59:54.482448Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Include our std.h header first to ensure consistent type definitions in
-contributed files. This is required on HP-UX with aC++ compiler.
+Also update the copyright header and fix a bug in an error handler.
</pre>
-<p>[contrib/gomni.c contrib/pcl3/eprn/pagecount.c contrib/pcl3/src/pclcap.c contrib/gdevlx50.c contrib/opvp/gdevopvp.c contrib/pcl3/eprn/mediasize.c]</p>
-</blockquote>
-
-<p><strong><a name="2007-09-08T170559.540260Z"></a>
-2007-09-08T17:05:59.540260Z Till Kamppeter</strong></p>
-<blockquote>
-<pre>
-Reflect in the PPD files that the CUPS support comes with GPL Ghostscript now and not with ESP Ghostscript.
-</pre>
-<p>[cups/pxlmono.ppd cups/pxlcolor.ppd]</p>
-</blockquote>
-
-<p><strong><a name="2007-09-05T192105.959793Z"></a>
-2007-09-05T19:21:05.959793Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Replace non-standard function call fdopen64() with fdopen(). The former
-is not available on most platforms and not needed anyway because O_LARGEFILE
-flag is set earlier in the code. Bug 689175.
-
-</pre>
-<p>[src/gpmisc.c]</p>
+<p>[toolbin/pre.tcl]</p>
</blockquote>
-<p><strong><a name="2007-09-05T075454.782032Z"></a>
-2007-09-05T07:54:54.782032Z Suzuki Toshiya</strong></p>
+<p><strong><a name="2007-12-19T062541.308572Z"></a>
+2007-12-19T06:25:41.308572Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (TT fonts) : Suppress loading trailing data after chosen cmap subtable.
+Ignore operator readonly when it is applied to a wrong type inside an
+embedded Type 1 font. Bug 689617, customer 580.
-DETAILS:
-
-The current cmap selector/loader tries to load a subtable
-for Microsoft platform && UCS2 encoding with anything
-in trailer, although only MS+UCS2 subtable is used.
-Thus, if the cmap table has several additional subtables
-after MS+UCS2 subtable (e.g. multiple 16bit cmap subtable
-for Shift-JIS/Big5/GB2312/Wansung/Johab, or very long
-32bit subtable in format 8/10/12, or simple junk data),
-cmap subtable loader tries to load MS+UCS2 subtable and
-trailing garbage, and tries to define /cmaptab for
-concatenated string of them. So, rangecheck or limitcheck
-error can occur due to too-long string. Typical example
-is found in bug 688337 which is caused by TrueType font
-including cmap subtable in format 12.
-
-If we restrict the scope to MS+UCS2 subtable, it must
-not be greater than 0xFFFF bytes. Because cmap subtable
-headers in format 0,2,4,6 define these tables length in
-16bit. The cmap parser is fixed to check the subtable
-header content and read exact length of chosen subtable,
-to exclude trailing garbage.
-
-In addition, /getinterval_from_stringarray has a bug
-that appears when the end of requested string just fits
-to the gap of member strings. The bug is fixed, too.
-
-By this patch, bug 688337 is fixed.
-
-DIFFERENCE:
-
-None.
</pre>
-<p>[lib/gs_ttf.ps]</p>
+<p>[lib/pdf_font.ps]</p>
</blockquote>
-<p><strong><a name="2007-09-03T131911.511212Z"></a>
-2007-09-03T13:19:11.511212Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-19T062222.816836Z"></a>
+2007-12-19T06:22:22.816836Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix reference counting logic for clip stack elements. The reference counter
-now shows the number of gstates that point to a given element directly or
-indirectly. Bug 689429.
+Treat the text after empty ASCII block in PFB stream as ASCII sub-stream
+terminated by 0x80 character, a presumed header of the next block.
+Bug 689617, customer 580.
</pre>
-<p>[src/gsclipsr.c src/gsstate.c]</p>
+<p>[src/sfilter1.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T205342.169700Z"></a>
-2007-08-31T20:53:42.169700Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-19T002508.107768Z"></a>
+2007-12-19T00:25:08.107768Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (graphics library) : Always set HWResolution to clipper device.
-
-DETAILS :
-
-Fixes the bug 689365
-"Clipper device may have a wrong HWResolution".
-
+Update the graphics library unit tests for recent code changes.
</pre>
-<p>[src/gxfill.c src/gxclip.c]</p>
+<p>[src/gslib.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T190947.125231Z"></a>
-2007-08-31T19:09:47.125231Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-18T100307.564012Z"></a>
+2007-12-18T10:03:07.564012Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Fix (graphics library) : Distinguish two methods gx_make_clip_device_on_stack, gx_make_clip_device_in_heap.
-
-DETAILS :
-
-This is a preparation for fixing the bug 689365
-"Clipper device may have a wrong HWResolution",
-step 2.
+Fix (pdfwrite): Font Descriptors for fonts not embedded, due to
+EmbedAllFonts=false, did not preserve the original font name.
-This change is algorithmically equivalent.
-
-1. Drop tx, ty,arguments, because they always zero.
-
-2. There are 2 different cases in code:
-allocation on stack or in heap.
-Now we define them explicitely.
+Details:
+Bug #689597 "PDF created with NoEmbed has wrong BaseFont name".
-3. Adding the 'target' argument,
-and adjust reference counters inside the "in heap" method.
-The call to open_device is moved inside the methods.
+(gdevpdtd.c) pdf_font_descriptor_alloc, do not use the 'embed'
+status to determine whether to use the font or key name. Always
+use the font name.
-Note that the old code in some cases calls open_device
-after doing some settings (2 occurances in gxfill.c).
-The new code does before that.
-We belirvr it is algorithmically equivalent,
-because we checked open_device against using the
-data being set there.
+pdf_compute_font_descriptor. Remove the simplistic test for
+symbolic. In the loop retrieving glyph information, check to see
+if the glyph name is present in ISO Latin 1. If not, the font is
+symbolic.
</pre>
-<p>[src/gdevbbox.c src/gxcpath.h src/gximask.c src/gxccache.c src/gxfill.c src/gxclip.c src/gxstroke.c src/gxclrast.c src/gdevdbit.c src/gxipixel.c]</p>
+<p>[src/gdevpdtd.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T172221.775099Z"></a>
-2007-08-31T17:22:21.775099Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-18T100209.815887Z"></a>
+2007-12-18T10:02:09.815887Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Fix (graphics library) : Expand gx_make_clip_path_device, gx_make_clip_device.
+Fix (pdfwrite): PDFXTrimBoxToMediaBoxOffset used the supplied data
+incorrectly.
-DETAILS :
-
-This is a preparation for fixing the bug 689365
-"Clipper device may have a wrong HWResolution".
-
-This change is algorithmically equivalent.
+Details:
+Bug #689578 "PDFXTrimBoxToMediaBoxOffset".
-The old code defines a function gx_make_clip_path_device,
-and a macro gx_make_clip_device similar as a small wrappers for
-gx_make_clip_translate_device. This patch expands
-and removes them as FOR a standardization.
+Patch supplied by Adam Augusta.
-The 'list' argument of gx_make_clip_translate_device is replaced with
-'pcpath' argument, because the old code always extract the list
-from pcpath. The extraction is now done inside gx_make_clip_translate_device.
+(gdevpdf.c) pdf_write_page. When using the PDFXTrimBoxToMediaBoxOffset
+data, we need to subtract the bottom right offset from the MediaBox
+not add it, the trim box must lie inside the media (see Acrobat 7.0
+distiller parameters manual, pp. 102-103).
</pre>
-<p>[src/gdevbbox.c src/gxcpath.h src/gximask.c src/gxccache.c src/gxfill.c src/gxclip.c src/gxstroke.c src/gxclrast.c src/gdevdbit.c src/gxipixel.c]</p>
+<p>[src/gdevpdf.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T153106.557286Z"></a>
-2007-08-31T15:31:06.557286Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-18T034036.305448Z"></a>
+2007-12-18T03:40:36.305448Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix : Remove the pdfwrite/NODISPLAY nonsense from the documentation.
+Remove the unused composite_rop device.
-DETAILS :
+DETAILS:
-That statement was always false.
+This was an attempt to implement PCL raster operations as an interposed
+device which first rendered to an intermediate buffer and them
+composited with the underlying device buffer, similar to how the
+"PDF 1.4 Transparency" device works.
+While this would be a nice approach, allowing raster operations to
+function in more color spaces, it was never completed, and presents
+a maintenance burden for ongoing clist improvements. We are therefore
+removing it. It can be reinstated later as a starting point for further
+development if needed.
</pre>
-<p>[doc/Use.htm]</p>
+<p>[src/lib.mak src/gsropc.c src/gsropc.h doc/Develop.htm src/gxropc.h]</p>
</blockquote>
-<p><strong><a name="2007-08-31T082955.996410Z"></a>
-2007-08-31T08:29:55.996410Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-17T213335.320044Z"></a>
+2007-12-17T21:33:35.320044Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A wrong encoding of Metadata (continued).
+Fix (transparency) : Providing a right nested masks logic (continued).
DETAILS :
-The revision 8181 added a bug which caused an infinite loop
-with -dPDFA Altona-Testsuite_p2_S_x3.pdf
+The revision 8439 missed an initializer.
</pre>
-<p>[src/gdevpdfe.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T082716.425671Z"></a>
-2007-08-31T08:27:16.425671Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-17T072822.397599Z"></a>
+2007-12-17T07:28:22.397599Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A crash with incorrect shading.
-
-DETAILS :
-
-Bug 689394 "SEGV with MSVC7 run time checking in Type 7 shading."
-See comment in code.
+Improve outline pdfmarks produced by the pdf interpreter. Add page number and view
+values. Thanks to Leon Bottou for the patch. Bug 689599.
</pre>
-<p>[src/gdevpdfi.c]</p>
+<p>[lib/pdf_main.ps]</p>
</blockquote>
-<p><strong><a name="2007-08-31T054344.869532Z"></a>
-2007-08-31T05:43:44.869532Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-16T153809.417159Z"></a>
+2007-12-16T15:38:09.417159Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (Type 1 hinter) : Infinite loop in t1_hinter__fix_subglyph_contour_signs.
+Fix (clist interpreter) : Improving debug trace about compositors.
DETAILS :
-Bug 689298 "Infinite loop in t1_hinter__fix_subglyph_contour_signs()".
+This only improves a debug printing.
+The algorithm isn't changed.
-Well it's a student level error in the algorithm.
-Thanks to Alex for the test case with 5 nesting contours.
+This change simplifies the debug trace analysis with
+using C function names as event marks in the trace.
+Also return_error is now not used when c_pdf14trans_write
+is called for estimating the buffer size.
</pre>
-<p>[src/gxhintn1.c]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-31T044758.034291Z"></a>
-2007-08-31T04:47:58.034291Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-16T013756.744199Z"></a>
+2007-12-16T01:37:56.744199Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (font rendering) : alloc_char_bits could fall into infinite loop.
-
-DETAILS :
-
-Bug 689036 "infinite loop in char cache logic".
-
-The character cache algorithm assumes that a pointer to
-any allocated cached_char instance appears somewhere in ccache.table .
-However from the old experience we know that
-this obvious invariant appears frequently broken due
-to inaccurate manipulation with cache by clients.
-For example, a client sometimes reserves and initializes
-a cached_char instance and then fail due to another error
-before storing the pointer to ccache.table.
-
-In the old code a cycle in alloc_char_bits
-strongly depends on this invariant,
-and therefore it is potentially harmful.
-In the past we have got a lot of bugs about it.
-Now we restrict the cycle with the cache size.
-Changed few function prototypes with returning error
-if the invariant is broken.
-Note that the graphics library interface changes,
-so other interpreters must update the calls to
-alloc_char_bits.
+Don't skip space characters after eexec in embedded PDF fonts but
+continue to do so in other cases. Bug 689615.
</pre>
-<p>[src/gxchar.c src/gxccman.c src/gxchar.h src/gxccache.c]</p>
+<p>[src/seexec.c src/sfilter.h lib/pdf_font.ps src/zmisc1.c doc/Language.htm]</p>
</blockquote>
-<p><strong><a name="2007-08-30T055342.339598Z"></a>
-2007-08-30T05:53:42.339598Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-14T195101.706015Z"></a>
+2007-12-14T19:51:01.706015Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Uninitialized data after converting a Type 42 font into CID font.
-
-DETAILS :
-
-Bug 689399 "PDFA-Option cause gswin32 to crash".
-
-This change is important with -dPDFA only,
-and doesn't change the behavior otherwise.
-Some font descriptor fields were not initialized.
-
+Work around a GCC 4.2.1 bug on PowerPC that generates incorrect code in the
+release build affecting scanning of binary tokens containing floating point
+numbers. Bug 689586.
</pre>
-<p>[src/gdevpdtd.c]</p>
+<p>[src/ibnum.c]</p>
</blockquote>
-<p><strong><a name="2007-08-30T023652.268008Z"></a>
-2007-08-30T02:36:52.268008Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-14T184031.738291Z"></a>
+2007-12-14T18:40:31.738291Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Properly handle FontMatrix of a Type 3 font.
-
-DETAILS :
-
-Bug 689267 "File converted to PDF displays badly in Acrobat".
-
-Patch from SaGS. His explanation is quoted below.
-
-Part #1: pdfwrite fixes (gdevpdti.c, gdevpdte.c, gdevpdtt.h, gdevpdtt.c :
-
-- Generalize pdfwrite computations for glyph widths and placement,
- which currently assume an [s 0 0 s tx ty]-type original (= ignoring
- changes made by makefont & similar) FontMatrix, to work with an
- arbitrary matrix.
-
-- Fix: the "wy" operand of "d0"/"d1" in Type 3 charproc streams must
- be zero. Note: other parts of the code already consider wy == 0,
- and don't need to be changed.
-
-- Remove font_orig_scale() and pdf_font3_scale(), which are not used
- anymore. Their simple presence is a sign of the assumption that
- font matrices are simple scalings.
-
-- Minor: remove a dead variable ("int code = 0; ... return code;").
- This variable is never changed, because there's another "int code"
- inside the "for", but it is confusing and takes a lot of research
- to figure out the behaviour is OK and no usefull error code is
- lost (it's the 2nd time I stumble against this...)
-
-Notes:
- - All non-Adobe PDF viewers that I tested (Evince/ Fedora 7,
- Foxit Reader 2.0/ Windows, Jaws PDF Editor 3.5/ Windows, and
- Ghostscript -r8204) have problems with "weird" font matrices.
- The bug in ghostscript is addressed below.
- - I do have an alternate patch, which "normalises" the
- FontMatrix, for better viewers compatibility . But this method
- cannot work when fonts are not embedded: cannot "normalize"
- something stored in an external file.
-
- part #2: PDF interpreter fixes (pdf_font.ps, pdf_ops.ps) :
-
-- Force the "wy" parameter of "d0", not only of "d1", in Type 3
- charproc streams to 0. Comment changed to suggest this is an action
- is expected to be done as part of enforcing the metrics stored in
- the PDF (which always imply wy == 0), and not some strange
- behaviour in Reader.
-
-- A detail in PDF1.7 Ref 5.3.3 "Text Space Details" states that "wy"
- (or "wx" in WMode 1) must be forced to 0 in PDF text space too, not
- only in PDF glyph space. To implement this with non-[s 0 0 s tx ty]
- font matrices, a different method is used: decode "show" strings
- and extract glyph widths with "cshow", put these into an array,
- then render the text with "x/yshow".
- - since "wy/x" = 0 in glyph space, the code does not need to use
- "idtransform", a "div" by "FontMatrix.xx" is sufficient;
- - use a trick (see comment in code) when "FontMatrix.xx" = 0.
-
-CIDFonts are not changed. Those with a "straight" matrix continue to
-work, but there's no improvement if they have a weird "/FontMatrix".
-I think this would require a radical change, and the result will be
-much slower than it is now.
-
-part #3: supplemental ps2write fixes (in opdfread.ps).
-
-- opdfread.ps assumed the FontMatrix is a simple scaling by 0.001;
- generalize the computations to work with an arbitrary matrix.
-
-- Implement a detail of PDF1.7 Ref 5.3.3 "Text Space Details" (nuking
- the "wy" in text space) if a non-[s 0 0 s tx ty] "/FontMatrix".
- Similar to the change in the main PDF interpreter, but shorter
- because opdfread.ps does not handle vertical writing or CID fonts.
-
-Also "wy" in "d0"/"d1" is already 0 (see patch for pdfwrite), so
-needs no adjustment.
-
+Added casts to sprintf debugging statements (thanks for Michael Rutter for finding these).
</pre>
-<p>[lib/pdf_font.ps src/gdevpdtt.c src/gdevpdte.c lib/opdfread.ps src/gdevpdti.c src/gdevpdtt.h lib/pdf_ops.ps]</p>
+<p>[contrib/eplaser/gdevescv.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T173636.852840Z"></a>
-2007-08-29T17:36:36.852840Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-14T183139.938693Z"></a>
+2007-12-14T18:31:39.938693Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Fix (TT font handling) : pdfwrite recieved meanless font names.
-
-DETAILS :
-
-Bug 688006 "Font names used with pdfwrite are strange with GS, OK with Adobe Distiller".
-
-This is a continuation for the Revision 5862 change
-made on Wed Apr 20 20:05:41 2005 UTC (2 years, 4 months ago) by ray.
-
-Thanks to Edward for a code sample for accounting font style string.
-
-1. (zbfont.c) When a Postscript file is generated with Adobe printer driver for Windows,
-the old code (sinse Revision 5862) extracts OrigFintName
-for building a meanful FontName.
-This patch adds an use of OrigFontStyle as suggested by Edward,
-so the FontName is created in the form "Arial,Bold".
-
-2. (zfcid1.c) The old code sometimes dropped the good FontName in zbuildfont11
-due to an extra call to get_font_name. Few lines above
-the function build_gs_TrueType_font creates the good font name
-during an indirect call to sub_font_params, so the call to
-get_font_name is not necesary when OrigFontName presents.
-However it is still necessary with regular FontType 11
-because they have no FontName and sub_font_params
-doesn't use CIDFontName.
-
-3. (zfcid0.c) Applying the (2) change to FontType 9 as for symmetry.
-We're tested it a few, but we have no untrivial examples
-when a FontType 9 is embedded with OrigFontName.
-Maybe (just guessing) ones could be obtained with installing
-Adobe Type Library and printing with Adobe printer driver.
-
-4. After doing all above, we unexpectedly detected a regression
-with comparefiles/korea.ps : all Korean glyphs were replaced with
-hollow boxes. Analyzing it we found that the document defines a
-composite font with to CIDFontType 2 descendent,
-which both appears to be same font. In same time,
-the CMap supplies different CIDs for those 2
-descendents for a half of code space. While the old code
-used meanless unique font names, those 2 descendents
-were converted to 2 PDF fonts. When we switched to the meanful name,
-which of course is same for both descendents,
-pdfwrite tries to merge the descendents.
-However doing so it assumed same character mapping
-for both descendents.
-
-To fix this problem more changes are done to pdfwrite :
-
-4.1. (gdevpdtf.h) The font descriptor of a type 0 font now stores font_index,
-which is the index of its descendent font in the DescendentFonts array
-of the source Type 0 font. This happens because in PDF type 0 fonts
-always have a single descendent.
-
-4.2. (gdevpdtf.c) Added an initialization for the new field.
-
-4.2. (gdevpdtt.c, gdevpdtt.h) pdf_obtain_parent_type0_font_resource creates
-unique type 0 fonts for each descendent in spite of same font name.
-
-4.3 (gdevpdtc.c) pdf_obtain_parent_type0_font_resource needs
-font index as a new argument.
-
-4.4. (gdevpdtt.c) pdf_find_type0_font_resource also takes the new parameter.
-
-With Korea.ps we create 2 font subsets where a single font
-would be enough. An optimization may be done with a dynamic
-check for encoding conflicts rather than creating another font
-for each font index of the CMap. Delaying it for better times.
+Align the pointer to gx_clist_state array in gx_device_clist_writer device to
+the natural boundary to avoid misaligned memory access and bus errors on ARM
+processors. Bug 689600.
</pre>
-<p>[src/zfcid0.c src/gdevpdtc.c src/zfcid1.c src/gdevpdtt.c src/zbfont.c src/gdevpdtf.c src/gdevpdtt.h src/gdevpdtf.h]</p>
+<p>[src/gxclist.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T094215.384249Z"></a>
-2007-08-29T09:42:15.384249Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-12T202944.002303Z"></a>
+2007-12-12T20:29:44.002303Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (TT font handler) : Place thr True Type interpreter and its data into stable memory (continued 2).
+Fix (transparency) : Providing a right nested masks logic.
DETAILS :
-Bug 688429 "Crash on vmreclaim".
-
-The revision 8209 change is incorrect
-because it effectively frees a memory allocator instance.
-Thanks to Henry for pointing this out.
-
-This is the second attempt to fix that...
+This redoes the change 8340 without extra assumptions.
+See comments in code.
</pre>
-<p>[src/gxttfb.c]</p>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T093629.695665Z"></a>
-2007-08-29T09:36:29.695665Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-12T195831.269810Z"></a>
+2007-12-12T19:58:31.269810Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (TT font handler) : Place thr True Type interpreter and its data into stable memory (continued).
+Fix (transparency) : Unwinding the nested masks logic.
DETAILS :
-Bug 688429 "Crash on vmreclaim".
+The patch 8340 appears to be optimized for a particular case,
+in which a call to pdf14_push_transparency_group
+"will have been preceded by pdf14_push_transparency_mask ... pdf14_pop_transparency_mask".
+This assumption is not true in general, when the clist interpreter
+skips idle groups (either with incoming improvement or
+with using the band complexity array).
+
+This patch unwinds the change 8340 and the dependent change 8342.
+It also simplifies the garbager descriptor for pdf14_buf_s.
-The revision 8209 change is incorrect
-because it effectively frees a memory allocator instance.
-Thanks to Henry for pointing this out.
+The nested mask problem is now reopen,
+but we intend to close it shortly with a different patch.
</pre>
-<p>[src/gxttfb.c]</p>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-29T070901.667008Z"></a>
-2007-08-29T07:09:01.667008Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-12T190044.753250Z"></a>
+2007-12-12T19:00:44.753250Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (font rendering) : CIDFontType 9 missed PaintType.
+Fix (clist interpreter) : Skip idle compositors, step 4.
DETAILS :
-Bug 687970 "PaintType and StrokeWidth ignored with CIDFonts".
-
-To make a decision about filling or stroking,
-the old code uses PaintType of the current font,
-However with CIDFont 9 it is a Type 1 subsidiary,
-which has no PaintType.
-
-The patch implements the 'or' logic for the PaintType of the root font
-and the PaintType of the current font. We believe it should
-correctly handle cases when PaintType 2 is set to
-a root font or to its descendent. However we have not enough
-practical test cases to test all varuiants.
-
-Particularly, we would like to test a Type 0 font with
-2 descendents, each of which is CIDFontType 9
-and they have didfferent PaintType.
-In such case this patch may need a further improvement.
-
-The desision about filling or stroking a character is done in type1exec_bbox
-and in nobbox_finish. The patch also passes a pointer to gs_text_enum_t instance
-to type1exec_bbox to provide the data for the decision.
+gs_pdf14trans_s doesn't need a reference counting.
+Actually it was never used, so removing it should be
+algorithmically equivalent.
</pre>
-<p>[src/zfcid0.c src/zchar1.c]</p>
+<p>[src/gsropc.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-28T161827.199037Z"></a>
-2007-08-28T16:18:27.199037Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-11T234718.340705Z"></a>
+2007-12-11T23:47:18.340705Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Uninitialized defaultWidthXwhile while converting a Type 1 font into Type 2.
+Fix for SEGV when more than 4 colorants used with psdcmyk device.
+Bug 689457 for customer #460.
-DETAILS :
-
-Bug 689406 "Valgrind: Uninitialised defaultWidthX in psf_convert_type1_to_type2()".
-
-The last patch appears incomplete and doesn't compile.
-Fixing now.
+DETAILS:
+Apparently the psdcmyk device never got updated with the ret_devn_params proc
+as did the tiffsep device.
</pre>
-<p>[src/gdevpsf2.c src/gdevpsf.h src/gdevpsfx.c]</p>
+<p>[src/gdevpsd.c]</p>
</blockquote>
-<p><strong><a name="2007-08-28T160612.766158Z"></a>
-2007-08-28T16:06:12.766158Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-11T212702.763129Z"></a>
+2007-12-11T21:27:02.763129Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : Uninitialized defaultWidthXwhile while converting a Type 1 font into Type 2.
-
-DETAILS :
-
-Bug 689406 "Valgrind: Uninitialised defaultWidthX in psf_convert_type1_to_type2()".
+Store the posix persistent cache's last modified line as an unsigned
+long to avoid portability problems when reading and writing. Bug 689604.
-Thanks to Alex for the problem localization and for the suggested patch.
-This change is equivalent to Alex's patch
-expect the better documentation.
-See comment in code.
-
-The old code accessed pfont->data.defaultWidthX,
-which is never used or initialized elsewhere with a Type 1 font,
-because defaultWidthX is a Type 2 feature.
+DETAILS:
+Previously we used time_t directly, but read and wrote it to the
+filesystem using the %ld printf format specifier, which is wrong
+on systems where long int and time_t are different widths. Instead
+we stort it as an unsigned long int, coercing the return value of
+time(). This will be a year 2038 problem on systems with 32 bit longs,
+but seems the better option for portability now. There is no cast,
+so the compiler should warn if this loses precision.
</pre>
-<p>[src/gdevpsfx.c]</p>
+<p>[src/gp_unix_cache.c]</p>
</blockquote>
-<p><strong><a name="2007-08-28T063408.453844Z"></a>
-2007-08-28T06:34:08.453844Z Ray Johnston</strong></p>
+<p><strong><a name="2007-12-11T165405.187153Z"></a>
+2007-12-11T16:54:05.187153Z Marcos Woehrmann</strong></p>
<blockquote>
<pre>
-Correct obvious typo in default rgb to cmyk color mapping. It makes
-no sense to use the 'g' component to calculate the 'k' for black
-generation and undercolorremoval.
+Replaced C++ comments with C comments (// -> /* */).
</pre>
-<p>[src/gxcmap.c]</p>
+<p>[imdi/imdi.c imdi/imdi_tab.c imdi/imdi_gen.c imdi/cctiff.c]</p>
</blockquote>
-<p><strong><a name="2007-08-27T204427.984183Z"></a>
-2007-08-27T20:44:27.984183Z Igor Melichev</strong></p>
+<p><strong><a name="2007-12-11T082958.454613Z"></a>
+2007-12-11T08:29:58.454613Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Fix (TT font handler) : Place the True Type interpreter and its data into stable memory.
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
-DETAILS :
+Details:
+Bug #688945 "jbig2dec FATAL ERROR decoding image: aggregate
+coding with REFAGGNINST=2 (segment 0x03)".
-Bug 688429 "Crash on vmreclaim".
+Improved the previous patch. We need to have a symbol dictionary
+which contains all the original symbols, plus all the symbols decoded
+so far, for the refinement/aggregation. Previously we created this
+anew for each symbol, this patch creates the dictionary once at
+the start of the dictionary decoding, and releases it when decoding
+is complete.
-With the old code gx_ttfReader and ttfInterpreter instances
-were prematurely released by 'restore' while
-gs_font_dir and cached_fm_pair instances contain
-references to them. Since TT interpreter is a global singleton,
-we're safe to store it in stable memory.
+Also releases the Huffman tables (if used), which was missed
+in the previous patch.
</pre>
-<p>[src/gxttfb.c src/gxccman.c]</p>
+<p>[jbig2dec/jbig2_symbol_dict.c]</p>
</blockquote>
-<p><strong><a name="2007-08-27T011647.532710Z"></a>
-2007-08-27T01:16:47.532710Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-10T221105.461373Z"></a>
+2007-12-10T22:11:05.461373Z Tor Andersson</strong></p>
<blockquote>
<pre>
-Change the order of include files to define a macro before it's used.
-The undefined macro in the old code passed as a function declaration.
-
-</pre>
-<p>[src/gxshade1.c]</p>
+Update to previous commit. Add pdf14_buffer maskbuf pointer to GC structures.</pre>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-27T005359.301536Z"></a>
-2007-08-27T00:53:59.301536Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-10T202711.787298Z"></a>
+2007-12-10T20:27:11.787298Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Add HP-UX to the long list of systems that need both time.h and sys/time.h
-
+Fix a compilation error on Tru64's native cc, which doesn't tolerate spaces
+between -I and the directory. Thanks to M. Rutter for the patch. Bug 689602
</pre>
-<p>[src/time_.h]</p>
+<p>[contrib/contrib.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-26T233221.633797Z"></a>
-2007-08-26T23:32:21.633797Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-10T161326.551663Z"></a>
+2007-12-10T16:13:26.551663Z Tor Andersson</strong></p>
<blockquote>
<pre>
-Cast the pointers to the same type because aC++ compiler cannot compare
-pointers of different types.
-
-</pre>
-<p>[contrib/japanese/gdevmjc.c]</p>
+Pick up the transparency mask buffer when a new transparency group is pushed rather than when it is popped. Solves memory leaks and incorrect rendering when transparency groups are nested.</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-26T232457.663909Z"></a>
-2007-08-26T23:24:57.663909Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-10T094503.624134Z"></a>
+2007-12-10T09:45:03.624134Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Fix a typo in a contributed driver for HP color printers detected by aC++
-compiler. Assuming that pointers compare as unsigned values, the fix doesn't
-have any run-time effects.
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
-</pre>
-<p>[contrib/gdevcd8.c]</p>
-</blockquote>
+Details:
+Bug #688945 "jbig2dec FATAL ERROR decoding image: aggregate
+coding with REFAGGNINST=2 (segment 0x03)".
-<p><strong><a name="2007-08-23T180019.425565Z"></a>
-2007-08-23T18:00:19.425565Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-When the same name maps to more than one glyph change the name.
-Don't treat /.notdef names specially because glyphs corresponding
-to /.notdef names can look different. Bug 689408, customer 770.
+Added missing support. When decoding a symbol dictionary, using
+refinement/aggregation, and decoding multiple symbols, we need
+to use text region decoding (single symbols use refinement
+region decoding, already implemented).
-DIFFERENCE:
-None
-</pre>
-<p>[lib/gs_ttf.ps]</p>
-</blockquote>
+This required making the text region decoding procedure available
+to the symbol dictionary decoding routine, and correctly
+initialising the parameters.
-<p><strong><a name="2007-08-22T063836.487276Z"></a>
-2007-08-22T06:38:36.487276Z Suzuki Toshiya</strong></p>
-<blockquote>
-<pre>
-Fix (TT fonts) : Ignore invalid entries in loca table.
+(jbig2_text.h) New include file. The 'Jbig2TextRegionParams'
+structure and Jbig2RefCorner enum have been moved here from
+jbig2_text.c, and a prototype for 'jbig2_decode_text_region'
+created.
-DETAILS :
+Added pointers for the adaptive arithmetic decoder tables to the
+Jbig2TextRegionParams structure, as these tables must now be passed
+to the decoder routine (see below) rather than initialised in it.
-Some problematic TrueType fonts have loca table that
-the offset to a data in glyf table is larger than
-the size of glyf table. In previous implementation
-since trunk revision 5707 (ghostscript-8.57), when
-such invalid entry is found, the font loading procedure
-is immediately aborted and invalid font error is
-returned. To continue the problematic TrueType object,
-the invalid entries of loca tables now are ignored and
-the font loading procedure is continued. If all entries
-are invalid, the invalid font error is returned.
+(jbig2_text.c) Modified the 'jbig2_decode_text_region' routine to
+take the arithmetic decoder state or data stream (for Huffman
+decoding) as a parameter. When being called from the symbol
+dictionary decoder we must use the current decoder state; removed
+the initialisation of the decoder state, this is passed as a
+parameter Removed the initialisation of the adaptive arithmetic
+decoder tables, these are now passed as part of the
+Jbig2TextRegionParams structure.
-After the sorting of loca table entries by their values,
-the invalid entries with too large offsets are collected
-in the end of the sorted loca entries (psortary[]).
-By this patch, the sorted loca entries are scanned from
-from the end to the beginning, and the number of valid
-entry is counted (num_valid_loca_elm). By this number,
-the invalid loca entries are initialized to have null
-glyph (the data size of glyph is set to 0).
+Modified 'jbig2_parse_text_region' to create and initialise the
+arithmetic decoder state (or data stream for Huffman). If
+using adaptive arithmetic encoding, create and initialise the
+tables.Required now that these are parameters to the text
+region decoder.
-By this patch, bug 689347 is fixed.
+(jbig2_symbol_dict.c) 'jbig2_decode_symbol_dict', when we
+encounter refinement/aggregation with REFAGGNINST > 1, instead of
+flagging an error create a Jbig2TextRegionParams structure (if
+not already present), initialise the arithmetic decoder tables, and
+call the text region decoder to create the bitmap. If we already
+have a Jbig2TextRegionParams structure (because we have already
+decoded a symbol this way) just use it as the argument to the
+text region decoder.
</pre>
-<p>[src/gstype42.c]</p>
+<p>[jbig2dec/jbig2_text.c src/jbig2.mak jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_text.h]</p>
</blockquote>
-<p><strong><a name="2007-08-21T222658.681438Z"></a>
-2007-08-21T22:26:58.681438Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-09T063300.168945Z"></a>
+2007-12-09T06:33:00.168945Z Alex Cherepanov</strong></p>
<blockquote>
<pre>
-Correct more changelog substitution errors. Bug 689388.
+Use a smaller buffer for eexecDecode filter to avoid consumption of the data
+that follow a short (and incorrect) run of 0's in PS files generated by
+Adobe Acrobat from PDF files with usage restrictions. Bug 689577
+
+DETAILS:
+The buffer size of 132 has been selected from a middle of small window that
+fixes the bug but doesn't cause regession in comparefiles/fonttest.pdf.
+Detection of EOF after seing a run of 0's is worth to note as an alternative.
+
</pre>
-<p>[doc/History8.htm doc/Details8.htm]</p>
+<p>[src/seexec.c]</p>
</blockquote>
-<p><strong><a name="2007-08-20T171522.306956Z"></a>
-2007-08-20T17:15:22.306956Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-08T135753.015953Z"></a>
+2007-12-08T13:57:53.015953Z Ken Sharp</strong></p>
<blockquote>
<pre>
-Fix command list-based devices on 64-bit platforms. Ghostscript always writes
-int values to the command list but old code interpreted the bit pattern as a
-long int, causing conversion of the negative values to large positive ones.
-Bug 689353.
-
+Update the MSVC makefile to work with Visual Studio 2005 (nmake version 8).
+Should still be OK with MSVC 6.
</pre>
-<p>[src/gxclrast.c]</p>
+<p>[jbig2dec/msvc.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-20T171051.151066Z"></a>
-2007-08-20T17:10:51.151066Z Ray Johnston</strong></p>
+<p><strong><a name="2007-12-07T233906.271814Z"></a>
+2007-12-07T23:39:06.271814Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Use the color lookup cache in wtsimdi_contone_get_bits_rectangle.
-This results in a 6% overall performance improvement on the 12
-performance test files, and up to a 38% improvement on WW2KA122.prn
-Also clean up the MSVC and gcc warnings. Customer #951.
+Fix (clist interpreter) : Skip idle compositors, step 3.
-DETAILS:
+DETAILS :
-There is a note about the allocation of cmyk_buffer relying on
-the alignment when using gs_malloc. The note also describes the
-method to remove this reliance on the alignment assumption.
+The clist writer writes the 'create compositor' operation to all bands,
+including ones that are not covered by a transparency.
+It does so because this operation changes the number of color components.
-</pre>
-<p>[src/gdevwts.c]</p>
-</blockquote>
+When rendering a specific band, it frequently happens that a compositor
+is created and then immediately destroyed. Such thing happens outside
+the transparency bbox, and within the transparency bbox if
+the band has no transparent objects. When compositor is created,
+it allocates a big raster buffer and cleans it.
+Due to that we observe a significant CPU time expence
+when running the test case of the bug 689155.
-<p><strong><a name="2007-08-17T185033.373530Z"></a>
-2007-08-17T18:50:33.373530Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-Fix stdint.h related problems with the Cygwin build (gcc 3.4.4)
+This patch is a preparation for further improvements.
+This patch includes CTM into pdf14 compositor params
+(see changes to c_pdf14trans_read, c_pdf14trans_write, clist_create_compositor).
+The result should be same as the old code, but the algorithm is different.
+The old code wrote CTM as a separate command before cmd_opv_ext_create_compositor.
+The new code does not, and in many cases compositor commads
+immediately follow each another.
-DETAILS:
+The last fact changes the behavior of the compositor queue :
+before this patch it consisted of 1 element maximum,
+but after it the queue becomes longer (up to 10 elements
+with SoftMaskGroup.pdf). A bug is fixed in the queue logic
+in gxclrast.c ln 1355.
-There was a workaround for an obsolete version of Cygwin tools that had
-u_int32_t (and other types) instead of uint32_t that is standard on linux
-and Cygwin stdint.h now. These changes were needed for the PCL, XPS and
-language_switch builds -- the gs build worked thanks to autoconf.
-</pre>
-<p>[src/unix-gcc.mak src/stdint_.h]</p>
-</blockquote>
+The queue is still immediately executed
+when a non-compositor command appears in the input stream.
+An annihilation of neighbour idle compositors will be a next step.
-<p><strong><a name="2007-08-17T135812.668319Z"></a>
-2007-08-17T13:58:12.668319Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Fully initialize pdf_resource_t object allocated in pdf_alloc_aside()
-to avoid a Valgrind warning. Bug 688907.
+Minor changes:
+
+- added a new method adjust_ctm to gs_composite_type_procs_t.
+- added type checks with composite_*_proc macros to all compositor types.
+- dependencies were broken for gdevp14.c in lib.mak .
</pre>
-<p>[src/gdevpdfu.c]</p>
+<p>[src/lib.mak src/gsropc.c src/gdevdflt.c src/gxclpath.h src/gxcldev.h src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstrans.h src/gxclrast.c src/gdevp14.c src/gxclpath.c src/gxclimag.c src/gxclutil.c]</p>
</blockquote>
-<p><strong><a name="2007-08-17T130219.679286Z"></a>
-2007-08-17T13:02:19.679286Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-12-05T233942.529355Z"></a>
+2007-12-05T23:39:42.529355Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Add missing initialization of txy_fixed_valid field. Since the fixed
-coordinates are valid, the patch eliminates possible re-calculation of the
-fixed coordinates but doesn't affect the end result. Bug 688914.
+Fix (clist interpreter) : Skip idle compositors, step 2.
-</pre>
-<p>[src/gdevpdfv.c]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-08-17T044922.864920Z"></a>
-2007-08-17T04:49:22.864920Z Ray Johnston</strong></p>
-<blockquote>
-<pre>
-This set of changes is an example for users or Artifex customers
-that want to intercept the color spaces and perform their own
-color space conversion for the CIEBased or ICCBased color spaces,
-converting all of these spaces to the PostScript color management
-link space "CIE XYZ". There were changes needed to implement this
-that transcended the original custom color callback scheme, but
-the approach taken is intended to minimize changes to the color
-space processing.
+The clist writer writes the 'create compositor' operation to all bands,
+including ones that are not covered by a transparency.
+It does so because this operation changes the number of color components.
-Artifex customer #330
+When rendering a specific band, it frequently happens that a compositor
+is created and then immediately destroyed. Such thing happens outside
+the transparency bbox, and within the transparency bbox if
+the band has no transparent objects. When compositor is created,
+it allocates a big raster buffer and cleans it.
+Due to that we observe a significant CPU time expence
+when running the test case of the bug 689155.
-DETAILS:
+This patch is a preparation for further improvements.
+The change is algorithmically equivalent.
+It implements a compositor queue for a delayed applying of compositors.
+Nevertheless currently the compositors are still applied immediately
+due to stubs in is_null_compositor_op, is_closing_compositor.
-Rather than rely on the hack in gx_cie_to_xyz_alloc that sets the
-pis->cie_render to ~0, we establish a separate boolean for this,
-cie_to_xyz which indicates that we don't need a CRD (gxistate.h,
-gsistate.c, gsciemap.c, gscie.c). Note that the gx_cie_to_xyz_alloc
-function is also used in the lab_range function in gdevpdfk.c
-to construct an L*a*b* ICC conversion space for the pdfwrite
-device.
+</pre>
+<p>[src/gxcomp.h src/gxclrast.c]</p>
+</blockquote>
-The 'pclient_color_space_data' is now handled in the ENUM and
-RELOC procedures for the gs_color_space base structure shared
-by all color spaces (gscspace.c). A side effect of this is that
-the pclient_color_space_data structure MUST be allocated with
-appropriate GC structure calls an with an appropriate GC type
-of macro to identify the structure for the GC and establish
-the ENUM and RELOC hooks. This was needed to allow a gs_imager_state
-structure to be allocated for the CIE color spaces and to have
-both structures to be 'known' to the GC logic.
+<p><strong><a name="2007-12-05T164041.424504Z"></a>
+2007-12-05T16:40:41.424504Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 1.
-The CIE_LOAD_CACHE_BODY macro and the gx_install_cie_abc function
-are now exported in gscie.h rather than local to gscie.c so that
-gsncdummy.c and other custom callback clients can use them.
+DETAILS :
-Finally, the gsncdummy.c module now includes example handling
-that allow the graphics library to convert colors to XYZ if
-the original color space was one of the CIEBased or ICCBased
-spaces. Since CIE XYZ to L*a*b* is a direct conversion, this
-allows clients to work with device independent color.
+The clist writer writes the 'create compositor' operation to all bands,
+including ones that are not covered by a transparency.
+It does so because this operation changes the number of color components.
-The conversion from XYZ to ICC L*a*b* code exists in gdevpdfk.c
-in the function xyz_to_lab() which might be useful enough to
-export in the future. For the short term clients can 'clone'
-this small function if needed into their own color callback
-processing.
+When rendering a specific band, it frequently happens that a compositor
+is created and then immediately destroyed. Such thing happens outside
+the transparency bbox, and within the transparency bbox if
+the band has no transparent objects. When compositor is created,
+it allocates a big raster buffer and cleans it.
+Due to that we observe a significant CPU time expence
+when running the test case of the bug 689155.
-Note that -dUseCIEColor (or << /UseCIEColor true >> setpagedevice
-PostScript sequence) will mean that all Device* colorspaces also
-get mapped through the Default* colorspaces to XYZ (DeviceGray,
-DeviceRGB and DeviceCMYK).
+This patch is a preparation for further improvements.
+The change is algorithmically equivalent.
+I simply divides read_create_compositor into 2 ones :
+the first one just reads the instruction,
+and the second one applies it.
+Also did a mionor code cleanup.
</pre>
-<p>[src/gxistate.h src/gscie.h src/gsistate.c src/gsncdummy.c src/gsciemap.c src/gscspace.c src/gscie.c]</p>
+<p>[src/gxclrast.c]</p>
</blockquote>
-<p><strong><a name="2007-08-14T212855.383671Z"></a>
-2007-08-14T21:28:55.383671Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-05T000850.583846Z"></a>
+2007-12-05T00:08:50.583846Z Till Kamppeter</strong></p>
<blockquote>
<pre>
-Revert r8187, which is part of the CJKV patch set reverted in r8190.
+Let CUPS filters use buffered input to Ghostscript via '-_', to work around bug #689577.
</pre>
-<p>[src/int.mak]</p>
+<p>[cups/pstoraster.in cups/pstopxl.in]</p>
</blockquote>
-<p><strong><a name="2007-08-14T204829.233978Z"></a>
-2007-08-14T20:48:29.233978Z Till Kamppeter</strong></p>
+<p><strong><a name="2007-12-03T213116.528843Z"></a>
+2007-12-03T21:31:16.528843Z Henry Stiles</strong></p>
<blockquote>
<pre>
-Removed CJK patches.
+Replace the "tricky" unit_frac macro with a normal function call. The
+macro produced a false positive in valgrind and seems to cause
+incorrect code generation on gcc 4.1.2 with optimization but we did
+not study it in detail. The change should be equivalent to the
+previous code, reviewed by Ralph Giles.
</pre>
-<p>[examples/cjk src/zchar42.c lib/gs_cidtt.ps src/gxfont42.h src/gstype42.c src/unixinst.mak src/zchar1.c lib/cjkv lib/gs_init.ps]</p>
+<p>[src/gxcmap.c src/gxcmap.h src/gscsepr.c src/gscdevn.c]</p>
</blockquote>
-<p><strong><a name="2007-08-14T185348.875152Z"></a>
-2007-08-14T18:53:48.875152Z Ralph Giles</strong></p>
+<p><strong><a name="2007-12-03T200705.165284Z"></a>
+2007-12-03T20:07:05.165284Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Throw an diagnostic error if the wts_plane_* halftone files cannot
-be opened. Propagate the error and clean up properly to avoid a
-segfault.
+Fix (shadings) : Optimize fill_linear_color_scanline with analitic computation of the color change position.
+
+DETAILS :
+
+Debugged with the test case of the bug 689155.
+
+This optimizes slightly changing gradients.
+It speeds up the test case from 6 hours to 5 hours.
+
+The old code in gx_default_fill_linear_color_scanline
+recomputes color for each pixel.
+The new code checks whether neighbour pixels have same color,
+and if so it finds the color change position
+with solving a linear equation,
+and fills entire constant color interval
+without computing color for each pixel.
+
+The linear equation is solved with 64 bits arithmetics.
+We would like to create a 32bits algorithm someday.
+We think it is possible with rounding colors to 16 bits
+and restricting a run length with 15 bits.
+Note it must not accummulate rounding errors,
+so it needs to compute from the run start at each iteration.
+So if the scanline is wide, first split it into smaller ones
+by coordinates, then break each subscanline into runs by color changes.
-Also #ifdef DEBUG protects some debug printouts to reduce noise.
</pre>
-<p>[src/gdevwts.c src/gdevimdi.c]</p>
+<p>[src/gdevdsha.c]</p>
</blockquote>
-<p><strong><a name="2007-08-14T161828.564745Z"></a>
-2007-08-14T16:18:28.564745Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-30T221349.581001Z"></a>
+2007-11-30T22:13:49.581001Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Change the path to the icc link profile to the current working
-directory, the same path used for the wts_* halftone files and
-for link.icc in gdevimdi.c. Motivated by simplifying running
-the device in regression testing.
+Add a tool that analyzes logs produced by gs -Z67, producing a report of
+memory leaks.
</pre>
-<p>[src/gdevwts.c]</p>
+<p>[toolbin/memory.py]</p>
</blockquote>
-<p><strong><a name="2007-08-13T170758.742285Z"></a>
-2007-08-13T17:07:58.742285Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-30T064347.688763Z"></a>
+2007-11-30T06:43:47.688763Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Add the library files from the cjkv to the romfs file list. This
-restores executability of the build with COMPILE_INITS=1 which
-was broken by r8185.
+Adds the base font address to the -Zm tracing output.
</pre>
-<p>[src/int.mak]</p>
+<p>[src/gsfont.c]</p>
</blockquote>
-<p><strong><a name="2007-08-13T160016.465824Z"></a>
-2007-08-13T16:00:16.465824Z Till Kamppeter</strong></p>
+<p><strong><a name="2007-11-30T064312.449891Z"></a>
+2007-11-30T06:43:12.449891Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Fixed DESTDIR support in Koji Otani's CJK patches
+Fixes bug: -Z89 produced slightly mangled output (-Z9 output inserted in the
+middle of a line of -Z8 output).
</pre>
-<p>[src/unixinst.mak]</p>
+<p>[src/igcref.c]</p>
</blockquote>
-<p><strong><a name="2007-08-13T100805.772194Z"></a>
-2007-08-13T10:08:05.772194Z Till Kamppeter</strong></p>
+<p><strong><a name="2007-11-30T004553.632689Z"></a>
+2007-11-30T00:45:53.632689Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Added CJK patches from Koji Otani
+Add URW fonts to the Resource/Font directory. These will be included when
+COMPILE_INITS=1. Fontmap.GS still references the disk file name so that
+the disk file based fonts can still be used if they are available.
</pre>
-<p>[src/zchar42.c examples/cjk lib/gs_cidtt.ps src/gxfont42.h src/gstype42.c lib/cjkv/cjkcidcm.ps lib/cjkv/baseutil.ps src/zchar1.c lib/cjkv/cjkvttcf.ps examples/cjk/all_ac1.ps lib/cjkv lib/cjkv/cjkvinit.ps examples/cjk/all_ag1.ps examples/cjk/iso2022.ps examples/cjk/all_aj1.ps examples/cjk/gscjk_ac.ps examples/cjk/all_ak1.ps examples/cjk/all_aj2.ps lib/cjkv/tt11util.ps lib/cjkv/cjkfnmap.ps examples/cjk/gscjk_ag.ps lib/cjkv/tt42util.ps src/unixinst.mak examples/cjk/gscjk_aj.ps examples/cjk/gscjk_ak.ps examples/cjk/article9.ps lib/gs_init.ps]</p>
+<p>[Resource/Font/URWPalladioL-BoldItal Resource/Font/NimbusRomNo9L-Medi Resource/Font/NimbusSanL-Bold Resource/Font/Dingbats Resource/Font/URWChanceryL-MediItal Resource/Font/CenturySchL-Roma Resource/Font Resource/Font/NimbusMonL-Bold Resource/Font/URWGothicL-Demi Resource/Font/NimbusSanL-BoldItal Resource/Font/NimbusRomNo9L-MediItal Resource/Font/StandardSymL Resource/Font/URWBookmanL-DemiBold Resource/Font/NimbusRomNo9L-Regu Resource/Font/URWGothicL-Book Resource/Font/NimbusSanL-ReguCond Resource/Font/CenturySchL-Bold Resource/Font/URWBookmanL-Ligh Resource/Font/NimbusRomNo9L-ReguItal Resource/Font/URWBookmanL-DemiBoldItal Resource/Font/NimbusMonL-ReguObli Resource/Font/NimbusSanL-ReguCondItal Resource/Font/CenturySchL-Ital Resource/Font/URWPalladioL-Roma Resource/Font/CenturySchL-BoldItal Resource/Font/URWBookmanL-LighItal Resource/Font/NimbusSanL-BoldCond Resource/Font/NimbusMonL-BoldObli Resource/Font/NimbusSanL-BoldCondItal Resource/Font/URWGothicL-DemiObli Resource/Font/NimbusSanL-Regu Resource/Font/URWPalladioL-Bold Resource/Font/NimbusMonL-Regu Resource/Font/URWGothicL-BookObli Resource/Font/NimbusSanL-ReguItal Resource/Font/URWPalladioL-Ital]</p>
</blockquote>
-<p><strong><a name="2007-08-12T172929.699921Z"></a>
-2007-08-12T17:29:29.699921Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-29T213953.584646Z"></a>
+2007-11-29T21:39:53.584646Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Use inline and intristic functions to improve the speed of CIE cache set-up.
-Bug 689153, customer 850.
+Fix (shadings) : Optimize path manipulations for shading fill (continued).
-</pre>
-<p>[src/gscie.h src/gscie.c]</p>
-</blockquote>
+DETAILS :
-<p><strong><a name="2007-08-11T035731.402230Z"></a>
-2007-08-11T03:57:31.402230Z Alex Cherepanov</strong></p>
-<blockquote>
-<pre>
-Change stream keyword handling to accommodate yet another kind of a broken PDF.
-Bug 689400, customer 580.
+Debugged with the test case of the bug 689155.
-DETAILS:
-Valid stream keyword can be followed by (\n) or (\r\n). Invalid PDF files
-accepted by Acrobat Reader can insert blank characters or terminate the stream
-with (\r). Old code tolerated ( \r) termination, but didn't tolerate ( \r\n).
-New code assumes blank characters and (\r) termination at the same time are not
-probable and tolerates ( \r\n) or (\r) but not ( \r).
+A long ago the graphics library converted the sfill clipping into a path.
+It was improved with revision 8017 with introducing
+a device response for pattern_manage__shfill_doesnt_need_path.
+However the revision 8017 appears incomplete :
+it missed the related change to the clist writer device
+and to pdf14 device. This patch fixes it.
-</pre>
-<p>[lib/pdf_base.ps]</p>
-</blockquote>
+This patch causes a progression for the problem
+known as bug 689338 "Raster depends on bands".
+With banded rendering some shadings are now painted some wider,
+and the raster appears equal to one from unbanded rendering.
+It happens because the old code doesn't convert shfill clipping
+into a path when no banding, and does convert when banding.
+The new code does not convert in both cases.
-<p><strong><a name="2007-08-10T081558.076010Z"></a>
-2007-08-10T08:15:58.076010Z Henry Stiles</strong></p>
-<blockquote>
-<pre>
-This code change should have been committed in tandem with the change
-in revision 8055 (see 8055 log for details).
</pre>
-<p>[src/gxclpath.c]</p>
+<p>[src/gdevp14.c src/gxclpath.c src/gxclrect.c]</p>
</blockquote>
-<p><strong><a name="2007-08-09T181259.257962Z"></a>
-2007-08-09T18:12:59.257962Z Ray Johnston</strong></p>
+<p><strong><a name="2007-11-29T014216.432740Z"></a>
+2007-11-29T01:42:16.432740Z L. Peter Deutsch</strong></p>
<blockquote>
<pre>
-Update the testing.cfg.example to match the current (after rev 7854) of
-the regression scripts in toolbin/tests. The r7854 had included a
-testing.cfg file instead of the example file (see comment for rev 7862).
-
-DETAILS:
-
-I don't really like the difficulty of changing the comparegs directory in
-the current way gsconf.py processes the testing.cfg. IMHO, it would make
-sense to allow for some of the higher level directory variables to be
-used, simplifying changing it for testing from a particular gs checkout
-that has been modified. Also having some of the other values able to
-be relative to 'root' (for the comparefiles, database, etc.) would be
-handy.
-
-A task for later along with better documentation.
+Remove obsolete variables dstderr and estderr; repair tracing code in
+igcstr.c that would cause a crash if -Z5 was used.
</pre>
-<p>[toolbin/tests/testing.cfg.example]</p>
+<p>[src/interp.c src/gdebug.h src/igcstr.c]</p>
</blockquote>
-<p><strong><a name="2007-08-08T001249.260263Z"></a>
-2007-08-08T00:12:49.260263Z Timothy Osborn</strong></p>
+<p><strong><a name="2007-11-28T200434.791598Z"></a>
+2007-11-28T20:04:34.791598Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Updating CMAP files as per bug report #689386
+Add the 'pamcmyk32' (previously the 'pam' device) to all default builds.
+This will be used for regression testing of 32-bit CMYK.
DETAILS:
-See:
-
-ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/00README
-
-for more details.
-
+The 'pam' device is retained, but not included in the default builds,
+in case anyone was using this. The 'pamcmyk32' name was created as
+more descriptive.
</pre>
-<p>[Resource/CMap/UniJIS2004-UTF16-V Resource/CMap/UniJIS2004-UTF32-H Resource/CMap/UniJIS2004-UTF8-V Resource/CMap/UniJIS2004-UTF16-H Resource/CMap/UniJIS2004-UTF8-H Resource/CMap/ETenms-B5-V Resource/CMap/ETenms-B5-H Resource/CMap/UniCNS-UTF32-H Resource/CMap/UniCNS-UTF16-H Resource/CMap/UniCNS-UTF8-H Resource/CMap/UniJISX02132004-UTF32-V Resource/CMap/UniJIS2004-UTF32-V Resource/CMap/UniJISX02132004-UTF32-H]</p>
+<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/gdevpbm.c src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-07T004018.162968Z"></a>
-2007-08-07T00:40:18.162968Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-28T194748.435055Z"></a>
+2007-11-28T19:47:48.435055Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Pacify MSVC 7 run time checks. Change the order of condition checking to avoid
-returning an uninitialized value. The code is algorithmically equivalent,
-except it doesn't assign anything instead of assigning an uninitialized value.
-Bug 689387
-
+Document the jasper build file version skew menioned in Bug 689570.
</pre>
-<p>[src/gdevpdfd.c]</p>
+<p>[doc/Release.htm]</p>
</blockquote>
-<p><strong><a name="2007-08-05T135526.215718Z"></a>
-2007-08-05T13:55:26.215718Z Igor Melichev</strong></p>
+<p><strong><a name="2007-11-28T184655.924792Z"></a>
+2007-11-28T18:46:55.924792Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Fix (pdfwrite) : A wrong encoding of Metadata.
-
-DETAILS :
-
-Bug 689244 "Wrong encoding of title in metadata for PDF/A".
-
-Thanks to mpsuzuki for preliminary analyzis.
-
-1. See the documentation change.
-2. gs_pdfwr.ps converts the specified name into a translation table.
- We believe that popolar encodings translate into single Unicode
- characters, so we don't implement Unicode compositions now.
- This may be a subject of further improvements. In this case
- the generated integer array should use a complex format
- for representing the translation table.
-3. The translation table is passed to pdfwrite
- as a new device parameter DSCEncodingToUnicode.
-4. When it is specified, gdevpdfe.c performs the translation
- first into UTF-8, then into XML.
-5. The new modules ConvertUTF.c, ConvertUTF.h are obtained from
- Unicode Inc.
-
+Fix #defines when USE_COMPRESSED_ENCODING == 0 so that the number of
+components, separable/linear and encode/decode values are correct.
+Also add checking for TIFF file larger than max_long.
</pre>
-<p>[src/gdevpdfx.h src/ConvertUTF.c src/gdevpdfp.c doc/Ps2pdf.htm src/ConvertUTF.h src/gdevpdfe.c src/gdevpdfb.h src/devs.mak lib/gs_pdfwr.ps lib/gs_agl.ps]</p>
+<p>[src/gdevtsep.c]</p>
</blockquote>
-<p><strong><a name="2007-08-04T214253.446406Z"></a>
-2007-08-04T21:42:53.446406Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-28T183959.435918Z"></a>
+2007-11-28T18:39:59.435918Z Ray Johnston</strong></p>
<blockquote>
<pre>
-Change the order of tests to identify fonts with FID attribute that have been
-both scaled and copied. Bug 689390
+Fix CIEBasedA problem, add DeviceGray and DeviceRGB support to this utility.
DETAILS:
-Prior to this revision Ghostscript mis-recognized such fonts as scaled-only
-in build_gs_font() and rejected with /invalidfont during font validation.
+This isn't used by Ghostscript, but is a useful utility for 'running' a
+CIE colorspace conversion to see the intermediate and final results.
</pre>
-<p>[src/zfont.c src/zbfont.c]</p>
+<p>[lib/docie.ps]</p>
</blockquote>
-<p><strong><a name="2007-08-04T143004.276917Z"></a>
-2007-08-04T14:30:04.276917Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-27T225840.032075Z"></a>
+2007-11-27T22:58:40.032075Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Take rendering intent type from the /Intent key of the CRD created by Adobe
-ProcSet "Adobe_AGM_Core 2.0 0" and pass it to the graphic state. Bug 689379
-
+Also install gdevdsp.h in the unix so build. This header contains the
+callback definitions for the "display" device. Bug 689576.
</pre>
-<p>[lib/gs_lev2.ps lib/pdf_ops.ps lib/gs_init.ps]</p>
+<p>[src/unix-dll.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-03T162944.050173Z"></a>
-2007-08-03T16:29:44.050173Z Timothy Osborn</strong></p>
+<p><strong><a name="2007-11-27T204309.836338Z"></a>
+2007-11-27T20:43:09.836338Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Fix for seg fault caused by undersized buffer as reported in bug report #687397
-
-DETAILS:
-
-Although the patch submitted by the reporter did appear to fix the problem,
-it was more masking it than fixing it. While the analysis of the problem
-being that ss->Items was too small was correct, the real cause was a rounding
-problem in siscale.c/contrib_pixels(). The problem did not happen on my Mac,
-but was reproduced up on peeves because of differnces in the way the two
-systems perform rounding.
-
+Update the regression code license headers with the current contact
+address.
</pre>
-<p>[src/siscale.c]</p>
+<p>[toolbin/tests/dump_checksum.py toolbin/tests/cmpi.py toolbin/tests/gscheck_testfiles.py toolbin/tests/dump_checksum_plus.py toolbin/tests/check_source.py toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/dump_checksum_raw.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/rasterdb.py toolbin/tests/gsutil.py toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/revert_pdfbaseline toolbin/tests/build_revision.py toolbin/tests/compare_checksumdb.py toolbin/tests/gsconf.py toolbin/tests/revert_baseline toolbin/tests/update_baseline.py toolbin/tests/make_baselinedb.py toolbin/tests/gscheck_raster.py toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py toolbin/tests/compare_checksums.py toolbin/tests/check_dirs.py toolbin/tests/update_specific toolbin/tests/run_nightly.py toolbin/tests/gstestgs.py toolbin/tests/myoptparse.py toolbin/tests/run_regression.py toolbin/tests/get_baselines.py toolbin/tests/make_two_versions toolbin/tests/testdiff.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_testdb.py toolbin/tests/check_comments.py toolbin/tests/check_docrefs.py toolbin/tests/get_baseline_log.py]</p>
</blockquote>
-<p><strong><a name="2007-08-03T154603.840774Z"></a>
-2007-08-03T15:46:03.840774Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-27T204307.921159Z"></a>
+2007-11-27T20:43:07.921159Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct a substitution script error in the change logs.
+Change the regression scripts to rewrite the product as
+"GPL Ghostscript".
</pre>
-<p>[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]</p>
+<p>[toolbin/tests/build_revision.py toolbin/tests/update_specific]</p>
</blockquote>
-<p><strong><a name="2007-08-02T085309.078741Z"></a>
-2007-08-02T08:53:09.078741Z Igor Melichev</strong></p>
+<p><strong><a name="2007-11-27T181110.542532Z"></a>
+2007-11-27T18:11:10.542532Z Igor Melichev</strong></p>
<blockquote>
<pre>
-Fix (transparency in clist) : Write transparent paths and images to clist as high level objcts.
+Fix (graphics) : Improving the setoverprint logic.
DETAILS :
-Bug 689186 "PDF segfaults or exits with no output".
+Debugged with the test case of the bug 689155.
+
+This eliminates unnecessary calls of dx_device::procs.create_compositor.
+In the test case the oprator 'show' calls gs_save and gs_restore
+and the latter performs unnecessary call to gs_do_set_overprint
+due to overprint is set at page start. It causes a significant CPU time expense
+while clist interpretation.
-With the test case the old code creates a 2.5Gb clist file,
-because it transformes transparent paths and images into rectangles.
-The new code writes them as high level objects,
-so that the clist file reduces to 477Mb.
+We're not sure why the old code is such,
+we change it as we think correct.
+Will see the regression test results.
+A local test gave no differences.
-1. (gdevp14.c) The old code appears to provide all necessary
-methods for writing paths and images to clist as high level objects,
-but doesn't call them. To activate them we simply replace default implementations
-with forwarding methods in pdf14_clist_*_device.
+</pre>
+<p>[src/gsstate.c]</p>
+</blockquote>
-2. (gdevp14.c) The old code sets the lop_pdf14 flag to
-the clist reader's imager state. Particularly
-it may be set when calling p14dev->pdf14_procs->put_image.
-It causes gx_image_enum_begin to fail,
-and the image silently dissappers from the output.
-We fixed it with resetting the flag immediately before
-calling p14dev->pdf14_procs->put_image.
-A better way would be to synchronize log_op
-in clist_create_compositor, but we don't like to
-write it to all bands as other compoitor commands do.
+<p><strong><a name="2007-11-23T092306.243419Z"></a>
+2007-11-23T09:23:06.243419Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Fonts containing glyphs with no sbw or hsbw
+instruction caused pdfwrite to crash.
-3. (gdevp14.h, gdevp14.c) New fields inserted into pdf14_device_t
-to provide a synchronization of encode_color, decode_color, get_color_mapping_procs,
-get_color_comp_index with changing color_info. Debugged with pkmraw -r300 Bug688631.pdf .
-Without them the 1bpc color conversions
-were called from pdf14_cmap_cmyk_direct with an 8bpc color,
-causing an almost white page instead blue axial and radial shadings.
+Details:
+Bug #689544 "Segmentation fault writing PDF file".
-4. (gdevm4.c) The old code defines a wrong color_info for mem_mapped4_device.
-It defines 3 components instead the correct value 4 (3 colored and 1 gray).
+The job contains a number of fonts apparently converted from
+TrueType to type 1. The /.notdef glyph in every case consists
+only of an endchar instruction. Techincally invalid since the
+specification says the first instruction must be either an sbw
+or hsbw instruction.
-5. (gdevp14.c) During the clist playback the new code does not change color_info
-for the clist writer (p14dev->target->color_info). We marked this change
-with the comment :
-/* Disabled because *p14dev has no forwarding methods during the clist playback. */
-We ise #if 0 because we're not sure why the old code does so.
-We suspect it was done by a mistake and has no any effect.
-#if 0 will keep it for a while.
+This causes a crash because gs_type1_glyph_info didn't create
+a path before interpreting the glyph. If we encountered a path
+operation before a sbw instruction we attempted to write to the
+non-existent path.
-More possible optimization :
+(gxtype1.c), gs_type1_glyph_info, create a path for the type 1
+interpreter to work with. Make it a bbox_accumulator so we don't
+allocate memory for path segments.
-1. Use pdf14_buf::bbox when back dropping a transparency buffer.
-2. Use pdf14_buf::rect to restrict bands which set up the transparency compositor.
- Now it is written to all bands.
-3. Write text to clist as high level object.
+(gdevpsfu.c), psf_check_outline_glyphs, if we get an invalidfont
+error return from the font's 'glyph_info' procedure, don't exit
+immediately. Check each glyph, and only return an error if
+there are no good glyphs.
</pre>
-<p>[src/lib.mak src/gdevp14.h src/gdevm4.c src/gdevp14.c]</p>
+<p>[src/gxtype1.c src/gdevpsfu.c]</p>
</blockquote>
-<p><strong><a name="2007-08-02T040811.471770Z"></a>
-2007-08-02T04:08:11.471770Z Alex Cherepanov</strong></p>
+<p><strong><a name="2007-11-22T024659.719550Z"></a>
+2007-11-22T02:46:59.719550Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Pacify Valgrind - initialise both operands of the product. Valgrind considers
-a product of 0 and an uninitialized value to be uninitialized. Bug 689384.
+Correct Id line and double-include protection warnings.
+</pre>
+<p>[src/ConvertUTF.h toolbin/tests/check_source.py src/expat.mak]</p>
+</blockquote>
+<p><strong><a name="2007-11-22T010346.485805Z"></a>
+2007-11-22T01:03:46.485805Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the run_nightly regression script to rewrite the product
+name to GPL Ghostscript instead of AFPL Ghostscript. Also, include
+quotation marks in the optional part of the regex so we work when
+GS_PRODUCT is set to another macro and does not include a literal
+string, as it does at release time.
</pre>
-<p>[src/gximage3.c]</p>
+<p>[toolbin/tests/run_nightly.py]</p>
</blockquote>
-<p><strong><a name="2007-08-02T012214.242094Z"></a>
-2007-08-02T01:22:14.242094Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-22T005403.544607Z"></a>
+2007-11-22T00:54:03.544607Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update the interpreter library version number to match the one in
-version.mak. The previous commit just improved the comments.
+Correct a format string error in the PDF 1.4 spot color name generation.
</pre>
-<p>[lib/gs_init.ps]</p>
+<p>[src/gdevp14.c]</p>
</blockquote>
-<p><strong><a name="2007-08-01T235658.305050Z"></a>
-2007-08-01T23:56:58.305050Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-22T005401.468513Z"></a>
+2007-11-22T00:54:01.468513Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Bump the revision number post release.
+Update release procedure documentation.
</pre>
-<p>[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]</p>
+<p>[doc/Release.htm]</p>
</blockquote>
-<p><strong><a name="2007-08-01T223801.441981Z"></a>
-2007-08-01T22:38:01.441981Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-21T224203.178745Z"></a>
+2007-11-21T22:42:03.178745Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Correct some cut-and-paste typos in the change log update.
+Bump the version number and date after the 8.61 release.
</pre>
-<p>[doc/Changes.htm doc/History8.htm]</p>
+<p>[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]</p>
</blockquote>
-<p><strong><a name="2007-08-01T221056.427930Z"></a>
-2007-08-01T22:10:56.427930Z Ralph Giles</strong></p>
+<p><strong><a name="2007-11-21T200708.596302Z"></a>
+2007-11-21T20:07:08.596302Z Ralph Giles</strong></p>
<blockquote>
<pre>
-Update change logs and the open bug list or final release.
+Update changelogs and release date for the second 8.61 candidate.
</pre>
-<p>[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]</p>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/Changes.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 src/version.mak man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/Details.htm doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
</blockquote>
</body>
</html>
diff --git a/gs/doc/Details8.htm b/gs/doc/Details8.htm
index 9322f0070..e73cdad81 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.62">Version 8.62 (2008-02-29)</a>
<li><a href="#Version8.61">Version 8.61 (2007-11-21)</a>
<li><a href="#Version8.60">Version 8.60 (2007-08-01)</a>
<li><a href="#Version8.57">Version 8.57 (2007-05-11)</a>
@@ -88,6 +89,2956 @@ overview</a>.
<!-- [2.0 begin contents] ================================================== -->
+<h3><a name="Version8.62"></a>Version 8.62 (2008-02-29)</h3>
+
+<p>
+This version is the next in our line of scheduled semi-annual releases.
+<p>
+There were approximately 55 bugs fixed since version 8.61. Some fixes
+and improvements of note were:
+<p>
+COMPILE_INITS=1 was broken in 8.61 and now works as expected.
+<p>
+Fonts are now distributed in the Resource/Font directory and will be
+included in the executable if COMPILE_INITS=1
+<p>
+The tiffsep device was fixed for using more than 8 colorants.
+<p>
+Shadings, overprinting and transparency were optimized and are substantially
+faster than in 8.61, particularly for large format or high resolution
+rendering when using the 'clist' banding mode.
+<p>
+Changes were made to prevent near unbounded growth in memory usage and
+corresponding performance problems on a few test cases.
+<p>
+The 'pdfwrite' device was improved to fix some compatibility issues with
+PDF/A and to improve some font embedding and other issues.
+<p>
+The 'ht_ccsto.ps' Stochastic Threshold array was completely changed to
+be more useful. The values in the threshold array were inverted, so
+the number of 'light' colors was limited and using it generally caused
+prints that were too dark.
+<p>
+The 'runpdfbegin', 'dopdfpages' and 'runpdfend' PostScript pseudo-operators
+that were inadvertently removed in 8.61 were restored. This also restored
+the functionality of toolbin/pdf_info.ps to display PDF creator stats,
+fonts used and page sizes.
+<p>
+The halftone tile cache sizes and cache effectiveness were improved to
+help the performance when tiling with large cells or threshold arrays.
+<p> The following <a href="http://bugs.ghostscript.com/">bugs</a> were
+open at the time of release: <blockquote>
+465936, 578865, 626295, 686747, 686853, 687011, 687146, 687257, 687271,
+687280, 687295, 687327, 687514, 687520, 687531, 687608, 687650, 687674,
+687677, 687695, 687697, 687702, 687721, 687728, 687729, 687796, 687805,
+687814, 687850, 687903, 687904, 687957, 687974, 688007, 688022, 688026,
+688032, 688036, 688042, 688058, 688061, 688064, 688066, 688075, 688081,
+688095, 688129, 688130, 688151, 688152, 688159, 688166, 688184, 688187,
+688207, 688215, 688227, 688239, 688269, 688280, 688288, 688317, 688318,
+688320, 688333, 688342, 688358, 688359, 688360, 688361, 688363, 688372,
+688378, 688386, 688387, 688389, 688395, 688413, 688427, 688428, 688436,
+688437, 688440, 688446, 688475, 688483, 688500, 688515, 688517, 688528,
+688533, 688539, 688540, 688542, 688543, 688557, 688580, 688581, 688588,
+688601, 688604, 688605, 688610, 688615, 688616, 688619, 688627, 688636,
+688638, 688646, 688651, 688653, 688655, 688673, 688674, 688696, 688699,
+688709, 688710, 688714, 688717, 688728, 688736, 688739, 688757, 688770,
+688774, 688778, 688796, 688797, 688807, 688811, 688813, 688815, 688829,
+688843, 688846, 688876, 688908, 688918, 688919, 688926, 688928, 688933,
+688942, 688943, 688952, 688958, 688969, 688976, 688986, 688990, 688992,
+688999, 689003, 689011, 689013, 689014, 689022, 689025, 689028, 689031,
+689040, 689044, 689046, 689048, 689057, 689058, 689080, 689081, 689090,
+689093, 689094, 689098, 689111, 689116, 689128, 689129, 689130, 689133,
+689136, 689137, 689138, 689145, 689146, 689148, 689150, 689153, 689154,
+689159, 689161, 689164, 689172, 689174, 689181, 689184, 689195, 689198,
+689206, 689209, 689210, 689222, 689224, 689230, 689236, 689246, 689247,
+689248, 689252, 689253, 689264, 689279, 689280, 689281, 689283, 689289,
+689290, 689291, 689304, 689305, 689308, 689313, 689331, 689335, 689340,
+689341, 689343, 689358, 689361, 689363, 689364, 689367, 689370, 689373,
+689376, 689378, 689396, 689402, 689412, 689418, 689419, 689422, 689428,
+689431, 689438, 689439, 689440, 689444, 689445, 689448, 689450, 689451,
+689456, 689460, 689462, 689463, 689469, 689471, 689476, 689484, 689487,
+689488, 689489, 689490, 689498, 689499, 689500, 689502, 689507, 689509,
+689510, 689512, 689514, 689515, 689516, 689518, 689521, 689522, 689532,
+689534, 689535, 689538, 689542, 689543, 689546, 689547, 689549, 689552,
+689554, 689557, 689559, 689560, 689561, 689563, 689566, 689567, 689573,
+689574, 689579, 689581, 689583, 689585, 689588, 689591, 689592, 689595,
+689598, 689601, 689606, 689607, 689609, 689610, 689618, 689621, 689623,
+689627, 689628, 689632, 689636, 689637, 689641, 689649, 689652, 689653,
+689654, 689657, 689658, 689659, 689663, 689666, 689668, 689669, 689673,
+689674, 689675, 689676, 689677, 689681, 689682, 689684, 689685, 689687,
+689689, 689690, 689691, 689692, 689693, 689697, 689698, 689699, 689702,
+689704, 689705, 689709, 689710, 689711, 689712, 689713, 689715, 689716,
+689721, 689722, 689723, 689725, 689727.
+</blockquote>
+
+<h3><a name="8.62_Incompatible_changes"></a>Incompatible changes</h3>
+
+<p>
+Not strictly a compatibility issue, but the default URW (GPL) fonts are now
+distributed in the Resource/Font/ path which can increase the number of
+file handles open for PostScript that opens all of the resources. Also
+the size of the %rom% rom file system within the executable when using
+COMPILE_INITS=1 is larger by the amount needed for the fonts.
+<p>
+Also not strictly incompatible, but some alternate fixed-point code
+was stripped out, so FPU_TYPE and other FPU related makefile macros
+are gone or don't cause any difference in the code generated. Also the
+'USE_ASM' macro was removed, since we expect modern compilers to do
+sufficient optimization.
+<p>
+Some old (deprecated) "helper" scripts were removed: gsindent, gssubst,
+many2pdf.tcl, and pre.
+<p>
+The unused 'cmap' (special color mapping) and 'ropc' devices were
+removed from the distribution.
+<p>
+The 'ht_ccsto.ps' Stochastic Threshold array was completely changed to
+be more useful. The values in the threshold array were inverted, so
+the number of 'light' colors was limited and using it generally caused
+prints that were too dark. This is an improvement, but incompatible
+in that anyone using it previously would see much different grays/
+colors.
+<p>
+The SYSTEM_CONSTANTS_ARE_WRITABLE compile time define was removed
+as was the "EXTEND_NAMES" makefile macro (still accessible using
+a compiler flag define).
+
+<h3><a name="8.62_changelog"></a>Changelog</h3>
+
+<p><strong><a name="2008-02-29T235931.476236Z"></a>
+2008-02-29T23:59:31.476236Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix typo that caused unbalanced 'q' 'Q' operators in PDF's (caused by
+rev 8501). Bug 689728.
+
+</pre>
+<p>[src/gdevpdfi.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T222759.143965Z"></a>
+2008-02-29T22:27:59.143965Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Release notes for the 8.62 release. Thanks to Ray Johnston for compiling these.
+</pre>
+<p>[doc/News.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T204904.253927Z"></a>
+2008-02-29T20:49:04.253927Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove some C++ style comments.
+</pre>
+<p>[src/siscale.c src/gdevijs.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T204902.503198Z"></a>
+2008-02-29T20:49:02.503198Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add some new files to the documentation tree.
+</pre>
+<p>[doc/Develop.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T204752.884152Z"></a>
+2008-02-29T20:47:52.884152Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update product name, copyright and release dates.
+</pre>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Deprecated.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 src/dwsetup.rc man/pf2afm.1 doc/Fonts.htm doc/Ps2ps2.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 src/winint.mak doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Details8.htm doc/Testing.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T185314.162723Z"></a>
+2008-02-29T18:53:14.162723Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add default FontResourceDir needed when COMPILE_INITS=1 is used so
+that the fonts from Resource/Font in the distribution directory that
+are built into %rom%Resource/Font/ will be found.
+</pre>
+<p>[src/iccinit1.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T081308.227205Z"></a>
+2008-02-29T08:13:08.227205Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix COMPILE_INITS=1. Note the next commit to the PCL tree will combine
+with this one, but we can't commit to both trees atomically.
+
+DETAILS:
+
+Tested with Windows and linux. Needs OS/2 testing. Other build systems
+may have bit rotted, and I don't hav them to test. Some of the changes
+here are to allow working with a PCL or XPS only build where the PS
+interpreter is not used/needed.
+
+I noticed that the default systemparam value for FontResourceDir isn't
+getting et to %rom$Resource/Font/ as it should, but GenericResourceDir
+_is_ being initialized correctly to %rom%Resource/ which is _NOT_
+fixed by this commit.
+
+</pre>
+<p>[src/openvms.mak src/psromfs.mak src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/unixlink.mak src/os2.mak src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gsromfs0.c src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/watclib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-28T145632.629339Z"></a>
+2008-02-28T14:56:32.629339Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Attempt to repair invalid embedded TT fonts without cmap table.
+Bug 689707, customer 531.
+
+DETAILS:
+1. Use identity cmap if it is missing from the TT file. Set an unknown
+ language ID to activate post table processing.
+
+2. To avoid false rejection during the validation of post table run the
+ validator only on the TT files generated by an utility that is known
+ to write broken post tables.
+
+</pre>
+<p>[lib/gs_ttf.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T193618.181168Z"></a>
+2008-02-27T19:36:18.181168Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 4a.
+
+DETAILS :
+
+Bug 689708 "Long processing time of PDF file"
+Bug 689714 "Severe performance penalty for PDF transparency through to clist"
+
+The last patch is incomplete due to a commitment failure.
+The patch completely removes .inittransparencymask because it is noop.
+
+With the test case of the bug 689708 at 144 dpi
+with default band size it reduces
+the temp file size from 64.8Meg to 36.5 Meg,
+and speeds up the rendering in 11 times.
+
+With the test case of the bug 689714 at 144 dpi
+with default band size it reduces
+the temp file size from 12.0Meg to 3.3 Meg,
+and speeds up the rendering in 11 times.
+
+The speed factor depends on resolution.
+
+</pre>
+<p>[lib/pdf_draw.ps lib/pdf_ops.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T192257.279403Z"></a>
+2008-02-27T19:22:57.279403Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 4.
+
+DETAILS :
+
+Bug 689708 "Long processing time of PDF file"
+Bug 689714 "Severe performance penalty for PDF transparency through to clist"
+
+The patch completely removes .inittransparencymask because it is noop.
+
+With the test case of the bug 689708 at 144 dpi
+with default band size it reduces
+the temp file size from 64.8Meg to 36.5 Meg,
+and speeds up the rendering in 11 times.
+
+With the test case of the bug 689714 at 144 dpi
+with default band size it reduces
+the temp file size from 12.0Meg to 3.3 Meg,
+and speeds up the rendering in 11 times.
+
+The speed factor depends on resolution.
+
+</pre>
+<p>[src/gstrans.c src/ztrans.c src/gdevpdft.c src/gstrans.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T183931.036262Z"></a>
+2008-02-27T18:39:31.036262Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 3.
+
+DETAILS :
+
+This is a preparation for fixing bug 689708 "Long processing time of PDF file"
+The last patch appears incomplete, now fixing.
+
+</pre>
+<p>[src/gxistate.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T004737.036819Z"></a>
+2008-02-27T00:47:37.036819Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Added setting of fill_rule in pclxl_endpath().
+
+DETAILS:
+
+The pclxl_endpath() function checked if a clip_rule needed to be set but not a fill_rule.
+
+This is a fix for bug 689665.
+
+
+</pre>
+<p>[src/gdevpx.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T000822.308407Z"></a>
+2008-02-27T00:08:22.308407Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 2.
+
+DETAILS :
+
+This is a preparation for fixing bug 689708 "Long processing time of PDF file"
+The last patch appears incomplete due to a missed dependence in makefile.
+Now we see the mask pointer was used but it was always NULL.
+
+</pre>
+<p>[src/lib.mak src/gxistate.h src/gsistate.c src/gdevpdfg.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-26T231440.608304Z"></a>
+2008-02-26T23:14:40.608304Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 1.
+
+DETAILS :
+
+This is a preparation for fixing bug 689708 "Long processing time of PDF file"
+It completely removes the mask pointer field from gs_transparency_source_s.
+No idea what it was defined for. Nobody uses it.
+
+</pre>
+<p>[src/gstrans.c src/gstrans.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-26T071249.848447Z"></a>
+2008-02-26T07:12:49.848447Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Change the decimal separator in generated strings to '.' effectively selecting
+a C numeric locale without calling any locale functions. Bug 689624.
+
+DETAILS:
+For most clients Ghostscript is a library. We cannot set C locale before
+sprintf() and reset it afterwards because this may affect other threads.
+
+</pre>
+<p>[src/spprint.c src/zdouble.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-25T161043.614503Z"></a>
+2008-02-25T16:10:43.614503Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Remove a space betveen -f and a file name to prevent parsing of the file name
+that starts with '-' as an options. Bug 689682.
+
+</pre>
+<p>[lib/ps2pdfxx.bat]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-25T054845.219666Z"></a>
+2008-02-25T05:48:45.219666Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add a check for null value. Since rev. 6956 following Adobe implementation
+Ghostscript doesn't accept null as a key in dictionary look-up. Bug 689696.
+
+</pre>
+<p>[lib/pdf2dsc.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-25T042047.177440Z"></a>
+2008-02-25T04:20:47.177440Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+When the values of the color key mask exceed the valid range clip them to the
+nearest valid values and continue. Don't discard the mask as we did before.
+Bug 689717, customer 580.
+
+</pre>
+<p>[lib/pdf_draw.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T092154.361457Z"></a>
+2008-02-24T09:21:54.361457Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 8).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+Ghostscript Bug 689686 "siscale.c contrast degradation"
+
+Accurately compute pixel center coordinates when applying the interpolation filter.
+See comment in code. When scale=1, the offsets mutually eliminate.
+Also the old code missed a bit when computing center_denom/2 in integers.
+
+</pre>
+<p>[src/siscale.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T033703.979896Z"></a>
+2008-02-24T03:37:03.979896Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 7).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+Ghostscript Bug 689720 "Hang with -dDOINTERPOLATE caused by rev 8530 changes"
+
+An expression for HeightOut missed 'abs' with recent patch.
+Thanks to Ray for pointing it out.
+
+</pre>
+<p>[src/gxiscale.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T025834.824461Z"></a>
+2008-02-24T02:58:34.824461Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Fix link errors in the file descriptor-based implementation of file streams.
+Move function used by both fd and stdio implementations to a separate file
+and compile it in both versions. Bug 688918.
+
+DETAILS:
+Although the patch fixes link errors, pdfwrite and other devices,
+use stdio functions directly and generate incorrect documents in fd version.
+
+</pre>
+<p>[src/lib.mak src/sfxstdio.c src/sfxcommon.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T011218.214936Z"></a>
+2008-02-24T01:12:18.214936Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add definitions of some C99 types missing from old versions of Cygwin.
+</pre>
+<p>[src/stdint_.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-23T222601.799844Z"></a>
+2008-02-23T22:26:01.799844Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix typo that caused Cygwin build to fail if 'fontconfig' package was present.
+</pre>
+<p>[src/configure.ac]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-22T201808.422807Z"></a>
+2008-02-22T20:18:08.422807Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 6).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+Ghostscript Bug 689718 "Regression: differences in FIG3.eps".
+
+1. siscale.c : The revision 8529 patch part 4 tried to represent 'ceil' with rational
+arithmetics. But when downsampling the argument still uses a floating
+number WidthIn, so we still need 'ceil'.
+This patch converts the formula back to floats,
+assuming that double precision is enough for precise result
+because source image size usually is smaller than 2^24.
+
+The wrong rational representation of 'ceil' caused an array element index
+to fall outside the array. Debugged with FIG3.eps.
+
+2. Improved debug printing and visual trace.
+
+</pre>
+<p>[src/gsimage.c src/lib.mak src/gxiscale.c src/siscale.c src/gdevm24.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-22T102949.290734Z"></a>
+2008-02-22T10:29:49.290734Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (FAPI) : Embedded fonts didn't work (continued).
+
+DETAILS :
+
+A condition for querying a glyph in GlyphDirectory was wrong.
+Debugged with buttons.pdf from Karen.
+
+</pre>
+<p>[src/zfapi.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-22T100930.542153Z"></a>
+2008-02-22T10:09:30.542153Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (FAPI) : Embedded fonts didn't work.
+
+DETAILS :
+
+Embedded Type 42 FAPI support was broken since
+Revision 7107 Sun Oct 15 17:19:45 2006 UTC (16 months, 1 week ago)
+due to premature binding.
+
+</pre>
+<p>[lib/gs_typ42.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-20T210248.212097Z"></a>
+2008-02-20T21:02:48.212097Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 5).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This is a further improvement to image placement precision.
+Debugged with a.pdf .
+
+The old code provides insufficientg precision when computing
+transformation matrix for an image. This computation
+include matrix inversion and matrix miltiplication.
+The old code uses floats and causes a visible shift of subimages with banding.
+The new code uses double precision.
+
+We didn't test how it relates to the revision 7026 change,
+which dectreased the matrix precision for CPSI compatibility.
+It should be a separate job.
+
+In the new gsmatrix.c code we simply duplicate old code fragments
+and replace types for double. We don't want to define a template
+for now. Will see after the code passes enough practical work.
+
+Besides that, in gxidata.c replaced fixed2int_pixround
+with fixed2int_pixround_perfect. It is not related to a.pdf,
+but we believe it is an useful change.
+
+In gxipixel.c the patch replaces dda_advance with a repeated dda_next.
+The old code appears implrecise due to loosing fraction pixels.
+It eliminates a 1 pixel difference with Bug688789.pdf .
+
+Minor changes : inserted debug printing and visual trace.
+
+</pre>
+<p>[src/lib.mak src/gsmatrix.c src/gximono.c src/gxidata.c src/gsmatrix.h src/gdevm24.c src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-18T202859.836803Z"></a>
+2008-02-18T20:28:59.836803Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Propagate the new method argument change introduced in r8528 to the wts
+device so that it compiles again.
+</pre>
+<p>[src/gdevwts.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T233650.588580Z"></a>
+2008-02-17T23:36:50.588580Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 4).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This patch doesn't change the algorithm.
+It only removes tracks of dead development branches.
+
+</pre>
+<p>[src/gxiscale.c src/siscale.c src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T232547.528293Z"></a>
+2008-02-17T23:25:47.528293Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 3).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+1. The macro fixed2int_pixround returns a mathematically incorrect
+result with negative half-integer arguments.
+For example fixed2int_pixround(-2.5) = -3 when the math gives -2.
+We guess it was designed for positive page coordinates only,
+but later it was applied to objects with negative coordinates.
+Particularly, an image can start outside the page with a negative coordinate,
+and fixed2int_pixround causes distorsions with banding.
+
+We do not update fixed2int_pixround for backward compatibility
+of other parts of the algorithm. Instead that the patch defines
+a mew macro fixed2int_pixround_perfect, and applies it to
+images with Interpolate=true. (gxfixed.h, gxipixel.c, gxiscale.c).
+
+2. Added gx_image_enum_s::yi0 to provide entire image origion in the page.
+This value does not depend on band size, so it gives more stability -
+see below. (gximage.h).
+
+3. Added entire image sizes to stream_image_scale_params_s
+for source image and scaled image. These values do not depend on band size
+and provide more stability - see how they are used in siscale.c.
+(sisparam.h, gxiscale.c).
+
+4. (siscale.c) calculate_contrib now computes the filter kernel center
+with global (page) coordinates of the image, using the right macro
+fixed2int_pixround_perfect and with the rational arithmetics
+instead floats. It gives the kernel center position relatively to source image
+with no dependence on the band size. Also improved the debug printing
+about that.
+
+5. In siscale.c we keep track of some experiments done while
+developing the patch. We need to save them to history because they're not trivial.
+See comments in code. We'll remove them from trunk with a separate patch.
+
+</pre>
+<p>[src/lib.mak src/gxiscale.c src/gxfixed.h src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T223215.427994Z"></a>
+2008-02-17T22:32:15.427994Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 2).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This patch does not change the algorithm,
+except adding a debug printing with y coordinate of an image rectangle
+in the page coordinate systems. It allows to compare
+image fragments, which fall to verious bands depending on band size.
+
+We could wrap the definition of gx_device_memory_s::band_y
+and all access to it with #ifdef DEBUG,
+but we don't want to reduce the readability and because
+memory and the CPU time expense is too small.
+
+</pre>
+<p>[src/gxclist.c src/gxdevbuf.h src/gxdevmem.h src/gdevppla.c src/gdevmem.c src/gdevbmpa.c src/gdevprn.c src/gdevppla.h src/gdevm24.c src/gxclread.c src/gdevpng.c src/gdevprn.h src/gdevijs.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T035945.216145Z"></a>
+2008-02-17T03:59:45.216145Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix for regressions introduced with rev 8526. Some resolutions of CMYK, 1-bit
+per component devices that had CMYK colors and Gray colors had strange dithers.
+Bug 689706.
+
+DETAILS:
+
+The previous changes missed changing the cache index logic in gx_render_ht_1_level,
+If the cache had been set with one of the other routines, gx_render_ht_default or
+gx_dc_ht_binary_load_cache, then gx_render_ht_1_level would be inconsistent.
+
+EXPECTED DIFFERNCES:
+
+This is expected to resolve the regressions from rev 8527 with pkmraw on:
+
+035-01.ps
+119-28.ps
+1_2001.pdf
+Altona-Testsuite_p2_S_x3.pdf
+Altona_Measure_1v1.pdf
+Altona_Visual_bb_1v1_x3.pdf
+Altona_Visual_sb_1v1_x3.pdf
+BEST8-99-Path.fh7.pdf
+BW0696FOLD1FRONT.pdf
+Bug687489.ps
+Bug687724.pdf
+Bug687832.pdf
+Bug687840.pdf
+Bug688308.ps
+Bug688822.eps
+Bug689269.ps
+Clarke-Tate-Manns-Chinese.ai
+H00216q.pdf
+Original.pdf
+S2_Digitalproof-Forum_x3k.pdf
+a.pdf
+besttest.pdf
+cmyk.pdf
+foo.pdf
+knight.pdf
+test.pdf
+time1.pdf
+</pre>
+<p>[src/gxht.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-14T083456.225081Z"></a>
+2008-02-14T08:34:56.225081Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Improve Halftone tile cache efficiency. Make default cache large enough
+on default 32-bit (LARGE) configuration to allow for > 256 cache tiles
+when using the 'ht_ccsto.ps' 167x167 Threshold array. Change cache
+lookup logic to eliminate collisions when the number of cache slots
+exceeds the number of levels (the normal case). Remove duplicated
+ht cache default size #defines and normalize the names to end in
+_size (to imply size in bytes) and be consistent with other similar
+function/macro names.
+
+DETAILS:
+
+When we have more cache slots than the number of levels, we can use
+the 'b_level' directly and don't lookup based on the 'number of bits'
+(level). This ELIMINATES collisions and on customer 661's benchmarks
+resulted in up to 40% performance improvement for some files with
+no performance degradation on any when running a large threshold
+array based halftone (as the customer does).
+
+The previous -Z. behavior is retained, although small cache sizes
+are of questionable value, and this is sort of confusing since a
+small memory build will use the same cache size with and without
+-Z.
+
+</pre>
+<p>[src/gshtscr.c src/gzht.h src/gsht.c src/gdevprna.c src/gxht.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-12T203017.540929Z"></a>
+2008-02-12T20:30:17.540929Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued).
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This is another partial fix for the bug 687345 for portrait images with Interpolate=true.
+Debugged with CET 148-13.
+
+1. The old code inprecisely computes the scaling factor
+when interpolating images with Mitchel filter.
+The computation was done with the subimage rectangle,
+which is different for different bands.
+The new code always computes the scale from the entire image rectangle,
+which's size is same for all bands.
+
+2. New fields are inserted into gx_image_enum_s and stream_image_scale_params_s
+to provide data delivery for (1).
+
+3. In calculate_contrib in siscale.c the variable input_index
+is renamed into starting_output_index for a better reflection of its semantics.
+
+4. In calculate_contrib in siscale.c the new variable dst_offset_fraction
+is added for a preciser positioning of the filter center,
+when it fails between device pixel rows. The old code missed fractional
+pixels when stepping to a next band. The expression for its value
+was created empirically, so it may need further improvements.
+
+5. Inserted visual trace instructions for easier debugging.
+
+6. Improved the debug trace printing.
+
+</pre>
+<p>[src/gxdda.h src/lib.mak src/gxiscale.c src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-12T190319.125442Z"></a>
+2008-02-12T19:03:19.125442Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Document the need to update the current documentation snapshot.
+</pre>
+<p>[doc/Release.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-09T023031.322331Z"></a>
+2008-02-09T02:30:31.322331Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Clamp the number components read from the ICC DataSource array to the
+number actually allocated to avoid buffer overflow. CESA-2008-001.
+</pre>
+<p>[src/zicc.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-09T005538.575949Z"></a>
+2008-02-09T00:55:38.575949Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Include 12 and 16 bit image support as part of the core graphics
+library. Bug 689688.
+
+Details:
+
+Previously, the core graphics library defaulted to including the
+'no12bit' and 'no16bit' modules, which contained stubs. These modules
+were replaced by full implementations when the psl2lib (12 bit) and
+pdfread (16 bit) modules were included.
+
+We now consider this build-time flexibility redundant. The extra code is
+not large and the default build generally includes it as these images
+are part of all the newer page description languages. We therefore
+include the unpack routines directly in libcore and remove the
+noi1xbit modules entirely.
+</pre>
+<p>[src/lib.mak src/int.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-07T093322.506379Z"></a>
+2008-02-07T09:33:22.506379Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): problems with unusual PDF text rendering modes.
+
+Details:
+Bug #689596 "Generated PDF loses an image from original".
+
+Although the PDF interpreter stores both stroke and fill colours,
+there is no way to pass both these colours to the graphics library.
+The PostScript graphics state may only contain a single colour, and the
+device interface only allows for a single colour to be passed.
+
+The old code set the text rendering mode, and assumed that if the
+current device was pdfwrite this would be sufficient. However the
+need to set both colours causes this to fail.
+
+Modified the pdf_ops to set a show/colour/charpath/stroke combination
+instead. The existing code will spot text followed by a charpath of
+the same text and collapse it back.
+
+A number of other problems with text rendering modes were also addressed
+at the same time, but in a less than optimal fashion. This patch
+is a temporary fix while an enhancement is coded to better address
+the problem.
+
+(gdevpdts.c) pdf_render_mode_uses_stroke, was checking for render mode
+not 0 (fill). Altered to check against the actual stroking modes.
+
+(gdevpdtt.c) pdf_update_text_state was setting the text rendering mode
+to 0 (fill) under most conditions. Altered this to set the mode from
+the graphics state, unless the current font PaintType is 2 (stroke),
+and the render mode is 0, in which case set render mode to 1 (stroke).
+
+(pdf_ops.ps) Modify setshowstate to provide better methods of implementing
+various text rendering modes to pdfwrite. Rendering is unaffected by
+this change.
+
+</pre>
+<p>[src/gdevpdts.c src/gdevpdtt.c lib/pdf_ops.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-04T221808.283584Z"></a>
+2008-02-04T22:18:08.283584Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image.
+
+DETAILS :
+
+Ghostscript Bug 687345 "Image interpolation problem at a band boundary"
+
+This is a partial fix for the bug 687345 for images with Interpolate=false.
+Actually it is related to scaling raher than interpolation.
+
+1. gx_image_enum_begin performed inaccurate coordinate computations,
+which caused a different image bias for different bands
+due to a wrong coordinate rounding.
+The patch replaces it with a better code,
+which provides same bias for all bands and for unbanded rendering.
+But we're not sure that image placement is now perfect,
+because the initial rounding looks strange.
+We keep the initial rounding to be compatible with the old code
+to minimize raster differences and easier visual analyzis.
+For a while we keep the old code in #if 0 because
+it may be useful for next patch.
+
+2. image_render_frac contains optimized branches for the case when
+image's axes are parallel to page's axes.
+Those optimized branches convert parallelograms into rectangles,
+except for the last parallelogramm in the chunk.
+It caused the last parallelogram to shift in 1 pixel relatively
+to the rectangles. This patch adds the optimized branch
+for the last parallelogram, so that all image parts
+are now placed with same rounding. It avoids rendering artifacts
+with 148-05.ps and many other tests. Note that the patch does not fix
+the rectangle shift from parallelograms,
+so probably it still contain another bug,
+which may need a separate fix.
+
+3. While working on this patch we noted that update_strip
+doesn't correctly preserve the fractional part for
+dda.strip and dda.pixel . We include a track of that experiment
+in the new code in #if 0 section for further development.
+See comment in code.
+
+4. Inserted visual trace commands for easier debugging.
+
+</pre>
+<p>[src/lib.mak src/gxidata.c src/gdevddrw.c src/gdevm24.c src/gxclread.c src/gxi12bit.c src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-03T175423.256452Z"></a>
+2008-02-03T17:54:23.256452Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Modify pdf_info utility to match the changes in PDF interpreter interface.
+Bug 689680.
+</pre>
+<p>[toolbin/pdf_info.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-01T220551.322620Z"></a>
+2008-02-01T22:05:51.322620Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (graphics) : Interpolated images were shifed in a half of source pixel.
+
+DETAILS :
+
+Bug 687039 "Interpolated images looks strange on Win32 display device".
+
+1. The old code maps the center of the [0,0]th source pixel
+ to the output image origin. However Adobe maps
+ the source pixel's corner to the output origin.
+ This patch compensates the shift when computing the
+ filter kernel position - see '0.5' when computing 'center'.
+
+2. When the filter kernel scans partially outside the source image,
+ the math requires to extrapolate source data somenow
+ to fill the kernel. However the old code performs some strange
+ computation, which we're not sure what for.
+ It looks as a rudiment of wrapping the source image
+ like a thorus. Well, it's an useful math for periodic patterns,
+ but not for single images. Since we never apply siscale.c to
+ patterns, we replace this code portion with a simpler one,
+ which duplicates pixels at image boundaries.
+ See attachment to the bug to prove that Adobe does so.
+
+</pre>
+<p>[src/siscale.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-31T222032.934182Z"></a>
+2008-01-31T22:20:32.934182Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix ColorValues parameter problem when device has total number of bits (depth)
+of more than 31 bits, resulting in a "rangecheck" (-15) error.
+
+DETAILS:
+
+The default get_params would not return -1 for values too large for 32 bits,
+but the default put_params tested for this. The rangecheck would show up
+on 32-bit devices, such as tiff32nc when running:
+ "currentpagedevice setpagedevice"
+Note that the value returned for ColorValues was platform dependent since
+it previously set ColorValues to 1<<depth, but 1<<32 is not -1 on any
+platform (that I know of).
+</pre>
+<p>[src/gsdparam.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-29T170250.720617Z"></a>
+2008-01-29T17:02:50.720617Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (graphics) : Optimize filling a path with a shading color (continued 2).
+
+DETAILS :
+
+Bug 688970 "(shadings) Optimize filling a path with a shading color".
+
+A minor code cleanup : Removing code portions that became unused.
+
+</pre>
+<p>[src/gsptype2.c src/gsptype2.h src/gximask.c src/gxfill.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-29T124142.337727Z"></a>
+2008-01-29T12:41:42.337727Z mpsuzuki</strong></p>
+<blockquote>
+<pre>
+Fix (TT): Ignore broken post 2.0 table generated by "Windows Type 1 Installer".
+
+DETAILS:
+
+This is the second fix for bug 689495, that is quite specific
+to a TrueType font generated by "Windows Type 1 Installer".
+
+"Windows Type 1 Installer" makes a TrueType font including broken
+post table in format 2.0. Previous fix (SVN revision 8351) just
+ignores such broken post table, and ISOLatin1Encoding is used
+for fallback. When such TrueType font is combined with WinAnsiEncoding,
+some glyph names (exists only in WinAnsiEncoding) cannot be resolved.
+
+The post table format 2.0 uses 2 maps to assign a glyph name to
+TrueType glyph index: the first map is from TrueType glyph index
+to glyph name index (glyphNameIndex[] array), the second map is
+from glyph name index to glyph name string (names[] Pascal string
+array). The broken post table generated by "Windows Type 1 Installer"
+seems to use name[] array by TrueType glyph index directly, and
+the glyphNameIndex[] array has unreliable values.
+
+This patch sets /.broken_post when the post table is broken (the
+detection of broken post table is same with SVN revision 8351),
+then use names[] array by TrueType glyph index when /.broken_post
+is set.
+
+</pre>
+<p>[lib/gs_ttf.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-29T115450.007576Z"></a>
+2008-01-29T11:54:50.007576Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (graphics) : Optimize filling a path with a shading color (continued).
+
+DETAILS :
+
+Bug 688970 "(shadings) Optimize filling a path with a shading color".
+
+A minor code cleanup : prepare to eliminate gx_dc_pattern2_clip_with_bbox.
+
+</pre>
+<p>[src/gximask.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T230259.180158Z"></a>
+2008-01-28T23:02:59.180158Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (graphics) : Optimize filling a path with a shading color.
+
+DETAILS :
+
+Bug 688970 "(shadings) Optimize filling a path with a shading color".
+
+When filling a path with a shading color, the old code
+first intersects the the clipping path with the path,
+then intersects the result with the shading BBox.
+However the intermediate result frequently appears to be
+a big list of rectangles, so the second intersection is slow.
+
+This patch accounts that the clipping path and shading BBox
+frequently are rectangles, which are easier to intersect with
+no converting to paths. Also the shading box is always a quadrangle,
+so intersecting it early gives a smaller intermediate result.
+Therefore we first intersect the clipping path with the shading BBox,
+then with the path.
+
+This patch keeps the old code within #if #endif
+until the full regression testing is passed on the server.
+Also would like to eliminate the old complicated function
+gx_dc_pattern2_clip_with_bbox, which is still called from elswhere.
+
+</pre>
+<p>[src/gsptype2.c src/gsptype2.h src/gxfill.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T103145.187261Z"></a>
+2008-01-28T10:31:45.187261Z mpsuzuki</strong></p>
+<blockquote>
+<pre>
+Fix: ignore the embedded font resource when PDF interpreter resolves
+ the unembedded font resource.
+
+DETAILS:
+
+Some PDF generators (e.g. Microsoft Office 2007 add-on to export the
+documents to PDF format) emits incompatible font objects with same
+resource name. The sample PDF in bug 689637 includes 2 "Times New
+Roman" font objects: one is embedded CID-keyed TrueType for Cyrillic
+glyphs, another is unembedded WinAnsiEncoding TrueType (possibly for
+empty page header or footer). When PDF interpreter resolves latter
+unembedded "Times New Roman", external font resource should be used
+(Adobe Reader does so). But current Ghostscript uses former embedded
+"Times New Roman", because the sample PDF includes "Times New Roman"
+without randomization prefix.
+
+To avoid the confusion between embedded and unembedded fonts with
+same name, pfont->is_resource flag (=0 embedded, =1 unembedded)
+is checked during font object resolution. Even if a cached font
+object with same name is found, it is ignored if it is embedded
+font. To execute this check in PostScript space (pdf_font.ps),
+new operator ".isregisteredfont" is introduced. This patch assumes
+that embedded font object in PDF is resolvable by tracking the
+indirect object references. If a PDF assumes name-based resolution
+of embedded font object (without indirect object), it may be
+rendered by external font resource. At present, we don't have
+such sample.
+
+By this patch, bug 689637 is fixed.
+
+</pre>
+<p>[lib/pdf_font.ps src/zfont.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T095854.861949Z"></a>
+2008-01-28T09:58:54.861949Z mpsuzuki</strong></p>
+<blockquote>
+<pre>
+Fix (TT): Fix a bug in /getinterval_from_stringarray
+
+DETAILS:
+
+getinterval_from_stringarray is a procedure defined to
+extract a substring from long table of TrueType font.
+When a table is too long to fit into 16bit-length string
+object in PostScript, gs_ttf.ps split the table into
+the array of strings. When getinterval_from_stringarray
+is requested to extract a string which starts in one
+member and ends in following member, it returns a string
+that only the content of the first member is copied.
+There was a wrong conditional that made the substring
+extraction aborted. It was fixed to return the correct
+substring.
+
+By this fix, bug 689593 (IPA font 2007 edition cannot
+be parsed correctly) is closed.
+
+</pre>
+<p>[lib/gs_ttf.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T085010.139318Z"></a>
+2008-01-28T08:50:10.139318Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist & transparency) : Improve the compositor queue logic (continued).
+
+DETAILS :
+
+The last commit is incomplete due to human error.
+Please don't use the last revision.
+
+Bug 689492 "Ghostscript uses a large amount of memory", part 2.
+
+This patch fixes the missed shadow of a text, which is mentioned
+in the Comment #8 of the bug report.
+
+1. Added macros for configuring visual trace for easier debugging.
+2. The idle transparency bufer allocation condition was wrong.
+ The patched code allocated ;esser buffers.
+3. Found more cases when a mask needs to be released.
+4. The old code immediately executes idle masks.
+ It caused a wrong order for compositor execution
+ with images that have a soft mask.
+ With the test case the image's mask was executed before
+ the group that containing the image.
+ It caused a premature releasing of a mask,
+ which preceeeds the group and must noy be released.
+
+ The new code delays the execution of idle masks
+ after all containing groups are executed,
+ so that the queue is now longer and stores all masks.
+ We beleive that's not harmful, because
+ transparency queue elements are pretty small and
+ work for hos based applications only.
+
+ The new function mark_as_idle works for the new logic.
+ Few aother functions are enhanced with a smarter
+ processing of the idle flag.
+5. Improved comments for the compositor queue logic.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T084521.850870Z"></a>
+2008-01-28T08:45:21.850870Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist & transparency) : Improve the compositor queue logic.
+
+DETAILS :
+
+Bug 689492 "Ghostscript uses a large amount of memory", part 2.
+
+This patch fixes the missed shadow of a text, which is mentioned
+in the Comment #8 of the bug report.
+
+1. Added macros for configuring visual trace for easier debugging.
+2. The idle transparency bufer allocation condition was wrong.
+ The patched code allocated ;esser buffers.
+3. Found more cases when a mask needs to be released.
+4. The old code immediately executes idle masks.
+ It caused a wrong order for compositor execution
+ with images that have a soft mask.
+ With the test case the image's mask was executed before
+ the group that containing the image.
+ It caused a premature releasing of a mask,
+ which preceeeds the group and must noy be released.
+
+ The new code delays the execution of idle masks
+ after all containing groups are executed,
+ so that the queue is now longer and stores all masks.
+ We beleive that's not harmful, because
+ transparency queue elements are pretty small and
+ work for hos based applications only.
+
+ The new function mark_as_idle works for the new logic.
+ Few aother functions are enhanced with a smarter
+ processing of the idle flag.
+5. Improved comments for the compositor queue logic.
+
+</pre>
+<p>[src/gxclrast.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-26T132127.618379Z"></a>
+2008-01-26T13:21:27.618379Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (transparency) : Memory leak after an image with soft mask.
+
+DETAILS :
+
+Bug 689492 "Ghostscript uses a large amount of memory".
+
+When a PDF command stream executes "/d1 gs /d2 gs" where d1 and d2 both define an
+untrivial SMask (not important whether they are same mask or different masks),
+the second mask replaces the first one, and the first one to be released.
+
+When a transparent group includes an image with a soft mask
+(this case happens in the test document for the bug), the image's soft mask must
+*temporary* replace the groups soft mask, and the first mask must not
+be released.
+
+The old code does not distinguish these cases, assuming that
+a mask buffer is being released after rendering a group with it.
+Due to that some mask buffers were never released,
+causing a memory leak with banded rendering,
+because the clist interpreter doesn't run the garbager.
+
+A simpler case for demonstrating the leak could be created with
+"/d1 gs /d2 gs" as explained above.
+
+The patch defines a new bool gs_transparency_mask_params_s::replacing,
+gx_transparency_mask_params_s::replacing and gs_pdf14trans_params_s::replacing
+for passing the necessary information through old interfaces.
+Note that as usual we cannot change the device interface for
+an easier passing of this info, because we need to maintain
+the compatibility with 3d party devices.
+
+Using the 'replacing' flag, pdf14_push_transparency_mask either replaces
+the old mask buffer, or creates a new one as a temporary substitution for
+an image with a soft mask. In the second case the group mask is
+saved in the last transparency stack element in the field
+buf->maskbuf. After rendering the image's group
+the function pdf14_pop_transparency_group restores
+the saved mask buffer, as it was set in the transparency context
+before starting the image's mask. For more details see
+comments added into gdevp14.c .
+
+</pre>
+<p>[src/gstrans.c src/ztrans.c src/gstparam.h src/gstrans.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-25T081716.431601Z"></a>
+2008-01-25T08:17:16.431601Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (Font renderer) : Horizontal metrics sometimes applied with WMode 1 fonts.
+
+DETAILS :
+
+Bug 689464 "Japanese font writing direction (vertical ?)".
+Bug 689646 "vertical text rendered by external CIDFontType0 flows horizontal".
+
+1. When a descendent font of a type 0 CID font has zero FontBBox,
+ use the FontBBox of the CID font. This is another case when
+ a 3d party software generates a font with zero FontBBox.
+ We believe that such font data is incorrect,
+ but this patch provides a simple workaround.
+
+2. When FontBBox to be used to compute Metrics2,
+ don't obtain sbw from type 1 glyph descriptions.
+ The old code does so causing the horizontal metrics
+ to be used when rendering a WMode 1 font.
+
+3. The case (2) appears to have an exception,
+ when the font has CDevProc. In this case
+ we do need sbw from the glyph description
+ to provide arguments for CDevProc.
+ See alse the comment added to code.
+
+Note that Type 1 font renderer now depends on some knowledge about type 0 CID font.
+But this dependence does not break the configurability
+because only an .h file is included into the Type 1 font renderer.
+
+</pre>
+<p>[src/int.mak src/zchar1.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T211316.354024Z"></a>
+2008-01-23T21:13:16.354024Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist & transparency) : Inconsisting compressed color index info.
+
+DETAILS :
+
+Bug 689626 "Segmentation Fault using 'bit' device to clist.".
+
+The bug was put while the custom color callback merge in revision 7795.
+The color index information to be passed to the clist writer
+after restoring the color information to the clist writer.
+Before restoring it is set to a blending space,
+which may be incompatible with the target device's color index type.
+
+I'm unable to test this patch fully
+due to no test cases for antrivial spot colors with transparency.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T183335.648405Z"></a>
+2008-01-23T18:33:35.648405Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (DSC parser) : Avoid a structure type name duplicate.
+
+DETAILS :
+
+The old name cmd_list_s is also defined in gxclist.h .
+It confused MSVC debugger while tracing gxclutil.c for bug 689626.
+
+</pre>
+<p>[src/zdscpars.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T181227.956590Z"></a>
+2008-01-23T18:12:27.956590Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix (continued).
+
+DETAILS :
+
+Bug 687196 "Incorrect pattern processing from Adobe test file pattyp1.ps".
+This is a partial fix for the bug, which fixes vector devices only.
+It closes the bug with the last patch applied.
+
+The old code set identity matrix for a pattern dstream accummulation.
+It appears incompatible with Type 2 pattern handler, which assumes
+the default page matrix. This patch changes the matrix and improves
+the pattern stream accumulator with accounting the default page scale.
+
+</pre>
+<p>[src/gdevpdfi.c src/zpcolor.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T180949.970130Z"></a>
+2008-01-23T18:09:49.970130Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix.
+
+DETAILS :
+
+Bug 687196 "Incorrect pattern processing from Adobe test file pattyp1.ps".
+This is a partial fix for the bug, which fixes raster devices only.
+
+1. The old code always sets a canonic rectangular clipping,
+ which is wrong with rotated or skewed matrices.
+
+ Note the patch resets path in the pattern's graphic state.
+ It is not done in the old code, so it may cause raster diferences.
+ But it is required in PLRM chapter 8 by the definition of 'makepattern'.
+
+2. Adjust the pattern matrix to pixel grid.
+ After doing the change (1) the clipping area appears too small for some cases.
+ It happens because the tile origin falls at fractional pixels,
+ The new code causes a massive raster difference, which actually is minor
+ (a shift of some pattern instances in 1 pixel).
+
+ Note that PLRM requires to adjust pattern matrix in the definition of 'makepattern',
+ but doesn't explain how to.
+
+3. In compute_inst_matrix perform computations in 'float'
+ because the matrix is represented with 'float'.
+
+4. (miror change) Expanded the 'mat' macro for easier debugging with MSVC.
+
+</pre>
+<p>[src/gsptype1.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T164951.344351Z"></a>
+2008-01-23T16:49:51.344351Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Wrong format string for pprintg.
+
+Details:
+Bug #689661 "pdfwrite : Incorrect sprintf format".
+
+(gdevpdfu.c) The new function, 'pdf_write_font_bbox_float,
+added in revision 8360, used the wrong format string (%f
+instead of %g) to write the font BBox.
+
+</pre>
+<p>[src/gdevpdfu.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T133039.283039Z"></a>
+2008-01-23T13:30:39.283039Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (shadings) : A memory deallocation problem.
+
+DETAILS :
+
+Bug 689660 "memory deallication problems with shadings".
+
+The old code used pdev->memory for temporary storing
+an intersection of clipping path with shading bbox.
+This is the global memory space.
+However if the intersection is trivial,
+the path of the clipping path is copied from the
+original clipping path, which is allocated in the local memory space.
+Later it causes a freeing of path segments to a wrong memory space.
+
+This patch chooses the original clipping path's memory space
+when the clipping path is available, and the global space otherwise.
+
+</pre>
+<p>[src/lib.mak src/gsptype2.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T132309.676697Z"></a>
+2008-01-23T13:23:09.676697Z Till Kamppeter</strong></p>
+<blockquote>
+<pre>
+Added HP's KRGB patch for improved control of true black text printing on color printers with HPIJS. Bug #689065 (Ubuntu LP: #69905) is fixed in this updated version of the patch.
+</pre>
+<p>[src/gdevijs.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-21T205955.657274Z"></a>
+2008-01-21T20:59:55.657274Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (save/restore) : Remove gs_ref_memory_s::inherited.
+
+DETAILS :
+
+It is not used since revision 5250.
+
+</pre>
+<p>[src/gxalloc.h src/igc.c src/gsalloc.c src/isave.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-20T222307.686290Z"></a>
+2008-01-20T22:23:07.686290Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (save/restore) : Do not create invisible save levels.
+
+DETAILS :
+
+Invisible save levels is a rudiment of old code.
+gs_ref_memory_s::scan_limit effectively work instead them
+since revision 6706 committed on April 14 2006.
+
+We're not sure what gs_ref_memory_s::inherited works for.
+Keeping it updated for a while, and don't remove the
+old code for reference. Note the maintanence of gs_ref_memory_s::inherited
+in the new code is not fully equivalent to old code.
+
+</pre>
+<p>[src/isave.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-20T095615.017727Z"></a>
+2008-01-20T09:56:15.017727Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Only report the ICC Profile colorspace when the jasper library's debug
+level is above zero. Bug 689662.
+</pre>
+<p>[jasper/src/libjasper/jp2/jp2_dec.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-20T092115.660626Z"></a>
+2008-01-20T09:21:15.660626Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (save/restore) : Compact the changes list against big memory leak.
+
+DETAILS :
+
+Bug 689536 "Memory leak reading PostScript file (PMR 53877).".
+
+The old implementation includes an optimization agains a big CPU time expense
+in 'save' and 'restore' for sedtting and resetting l_mark flags.
+
+Normally, when executing 'save', the memory manager needs
+to reset l_new marks for objects modified or allocated at the last save level,
+so that their further modification on the next save level to be saved
+in the changes list. When executing 'restore' these flags to be set
+to prevent redundant save.
+
+When the last save level includes many allocations,
+the number of scanned objects is big and it causes a significant
+time expense. A long ago Ghostscript implements an optimization,
+which shorten the scanned list against the big time expense.
+However the shortening causes redundant saving.
+
+The redundant saving itself isn't harmful because
+it happens seldon and spends a small memory.
+However if a redundant save element points to a reference to
+a newly allocated array or dictionary, the array or dictionary
+can't be garbage collected. When a client executes such allocation and
+same reference modification multiple times, all allocated arrays
+and dictionaries persist in memory, causing a significant memory leak.
+
+This patch compacts the saved change list whem a significant memory
+allocation is accummulated since last save or since last compacting.
+The new field gs_ref_memory_s::total_scanned_after_compacting
+works for counting allocated elements. The new function
+drop_redundant_changes performs the compacting. See comments in its code.
+
+The threshold for starting drop_redundant_changes is choosen arbitrary.
+It must not be too small, because the CPU time expense
+optimization wouldn't be effective. Also it can't be too big,
+because the memory leak recovery would not be effective.
+This patch sets it to about 1600000 objects,
+which is an experimental trade-of.
+
+Note that this patch reduces the memory leak but doesn't
+eliminate it to zero, because more data may be allocated
+after the last filtering.
+
+We could implement a filtering within the garbager rather
+than withis save/restore. Actually it wouldn't change
+the behavior to much, because the threshold would be still needed
+against the CPU time expense, It happens because the scanning
+deals with array or dictioanr elements rather than with
+whole aggregates. Also we don't want to complicate the garbager.
+
+Note that the arbitrary threshold is bigger than neccessary
+for the simplified test case included into the bug report.
+Due ti that the leak elimination does not happen with this test.
+For the compacting to take place the sequence "NEWJOB Z"
+to be repeated 90 times rather than 40 in the supplied test.
+The customer's test does demonstrate the leak reducing.
+
+</pre>
+<p>[src/gxalloc.h src/gsalloc.c src/isave.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-18T215038.830947Z"></a>
+2008-01-18T21:50:38.830947Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Explicitly close CMap files opened during CMap-CIDFont font enumeration.
+On certain systems file handles were used up before GC freed inaccessible
+handles causing PostScript errors. Bug 689594.
+
+</pre>
+<p>[lib/gs_cidcm.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-18T061702.734368Z"></a>
+2008-01-18T06:17:02.734368Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add redefinition of setpagedevice to ps2epsi utility to support PS files
+that call setpagedevice. Bug 689650.
+</pre>
+<p>[lib/ps2epsi lib/ps2epsi.ps lib/ps2epsi.cmd lib/ps2epsi.bat]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T135043.754302Z"></a>
+2008-01-17T13:50:43.754302Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 6.
+
+DETAILS :
+
+Enabling visual trace for buffer backdropping.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T134711.707889Z"></a>
+2008-01-17T13:47:11.707889Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (visual trace) : Add a single pixels painting operation.
+
+DETAILS :
+
+This patch doesn't change the algorithm.
+It only enhances debuging instrument.
+The new instrument will be used for debugging the clist logics about transparency masks.
+
+</pre>
+<p>[src/vdtrace.h src/vdtrace.c src/dwtrace.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T133719.476394Z"></a>
+2008-01-17T13:37:19.476394Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : Cygwin/gcc warnings.
+</pre>
+<p>[src/gdevcgm.c src/int.mak src/gstrans.c src/gdevpdfe.c src/gdevbit.c src/devs.mak src/gxclread.c src/gscdevn.c src/gscie.c src/gxclutil.c src/lib.mak src/gdevp2up.c src/gxclmem.c src/gdevdflt.c src/gdevpdtd.c src/gxcomp.h src/gsovrc.c src/gdevprn.c src/gscsepr.c src/genarch.c src/ztoken.c src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T031602.921192Z"></a>
+2008-01-17T03:16:02.921192Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Comment-only change: remove obsolete reference to MS-DOS limitations and
+mention that PDF interpreter passes un-escaped font names to PS level.
+Bug 689651.
+</pre>
+<p>[lib/Fontmap.GS]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T031245.266699Z"></a>
+2008-01-17T03:12:45.266699Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Remove the warning about non-embedded TrueType fonts in PDF files because it
+confuses users but seems to have little effect on the main producer of
+non-conforming files.
+
+</pre>
+<p>[lib/pdf_main.ps lib/pdf_font.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-16T233548.055065Z"></a>
+2008-01-16T23:35:48.055065Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Unbreak the build.
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-16T225542.290132Z"></a>
+2008-01-16T22:55:42.290132Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 5.
+
+DETAILS :
+
+This really skips compositors which don't paint anything.
+
+Compositor parameter list structures are extended with a new boolean field 'idle'.
+These fields pass information whether something was painted to a compositor.
+We choosen this way for passing this info because
+(1) we can't change the device inteface with new function arguments, and
+(2) we need to pass it through the device chain
+(for example, when a clipper is installed onth the overprint device).
+
+This patch only affects the transparency and the overprint.
+Other compositors (gsalphac.c, gxropc.c) behave as before.
+They may need further improvements.
+
+This patch does not fix the bug 689492.
+That fix may be done either before or after this one,
+but in any case the patches need to adopt each to another.
+
+The new compositor virtual method is_closing
+checks whether a current compositor command
+closes an older command, and finds the opening command.
+Now we provide untrivial implementations for transparency and overprint compositors.
+Would like to define an enum for return values of is_closing.
+
+The old device method create_compositor now passes the 'idle' parameter via
+gs_composite_s structure. By default it is false and the behaviour
+is same as before. But the clist interpreter is modified
+to provide true value when a compositor doesn't paint anything.
+To compute this flag the compositor queue now works with its full power.
+Note we changed the queue representation with a bilikned list.
+
+This patch entroduces the concept of 'friendly operations'
+for compositor operations. These are those operations, which
+may interchange with compositor installation/deinstallation.
+One example is halftone operations, which always affect
+the device below the compositor device, i.e. the target device
+of the compositor device. The new compositor virtual method
+is_friendly is implemented in an intrivial way for the
+transparency compositor especially to exchange with halftone
+operations while queueing clist operations.
+This especially helps to delay the pdf14 device installation
+so that it may completely annihilate with its deinstallation
+if nothing is painted through the compositor in a band.
+
+Overprint and transparency compositor implementations
+are changed with checking the idle flag.
+If it is set, they don't perform neither color blending, nor
+raster buffer allocation. Note the pdf14 device maintains the buffer stack
+as before, but the allocation of buffers may be skipped.
+It saves significant time from cleaning up raster buffers when they are idle.
+
+This patch may need further improvements for the case when
+different compositor types are mixed in one queue.
+We could not fully test it due to absence of practical tests.
+
+Another useful improvement would be to convert
+"0 .inittransparencymask 1 .inittransparencymask dict .setblendparams"
+into a single command. It would simplify the compositor queue logic.
+Also we think that the name .inittransparencymask doesn't reflect the function purpose.
+Will improve someday.
+
+We're not sure whether this patch correctly works with idle masks.
+We could not debug it due to no practical cases.
+Possibly idle mask will need an additional effort to skip
+the group painting to the band.
+
+Also disabled cmd_put_halftone in c_pdf14trans_clist_write_update -
+see comment in code.
+
+Monor change : Inserted a visual trace support for transparency buffers.
+
+</pre>
+<p>[src/lib.mak src/zdict.c src/gdevdflt.c src/gdevp14.h src/gstrans.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstparam.h src/gstrans.h src/gxclrast.c src/gsovrc.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-09T003630.938192Z"></a>
+2008-01-09T00:36:30.938192Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Fixed umlauts (maybe, am having trouble testing the results).
+</pre>
+<p>[man/de/pdf2dsc.1]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-09T002450.313955Z"></a>
+2008-01-09T00:24:50.313955Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Corrected man page (thanks to Peter Dyballa).
+</pre>
+<p>[man/de/pdf2dsc.1]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-09T000059.719986Z"></a>
+2008-01-09T00:00:59.719986Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add unmodified byte-oriented AES encryption code by Brian Gladman. These
+files serve as a reference point. They are not yet included into any
+project nor can be compiled by some of the compilers we support.
+
+</pre>
+<p>[src/aes.h src/aes.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-07T205840.018332Z"></a>
+2008-01-07T20:58:40.018332Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the obsolete gconfigv.h.
+</pre>
+<p>[src/lib.mak toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/std.h src/gscdefs.h src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-07T205836.882379Z"></a>
+2008-01-07T20:58:36.882379Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove EXTEND_NAMES from the top level makefiles.
+
+There is a fallback to the default value of 0 in inameidx.h so there
+is no change in the default behaviour. The extended name table can
+still be activated by defining EXTEND_NAMES on the compiler command
+line or changing the source directly.
+</pre>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak doc/Use.htm src/int.mak src/macosx.mak src/Makefile.in src/inameidx.h src/unix-gcc.mak src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-07T184302.811990Z"></a>
+2008-01-07T18:43:02.811990Z Henry Stiles</strong></p>
+<blockquote>
+<pre>
+Deprecate USE_FPU, no changes expected.
+</pre>
+<p>[src/gxchar.c src/openvms.mak src/unix-end.mak src/gsjmorec.h src/macosx.mak src/dvx-gcc.mak src/gxfarith.h src/msvccmd.mak src/siscale.c src/unixansi.mak src/gsmisc.c src/msvclib.mak src/gsfemu.c src/os2.mak src/openvms.mmk src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gscie.h src/Makefile.in src/unix-gcc.mak src/gxfixed.h src/msvc32.mak src/macos-mcp.mak src/wccommon.mak src/wctail.mak src/winlib.mak src/watclib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-02T235844.056429Z"></a>
+2008-01-02T23:58:44.056429Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Re-export runpdfbegin, dopdfpages, and runpdfend procedures, which turned out
+to be used by 3rd party programs. Partly revert the rev. 8325.
+
+</pre>
+<p>[lib/pdf_main.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-02T131059.547816Z"></a>
+2008-01-02T13:10:59.547816Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Tidy up after the prior patch,
+algorithmically this is the same as before.
+
+Details:
+Bug #689597 "PDF created with NoEmbed has wrong BaseFont name".
+
+gdevpdtb.c, gdevpdtf.c, gdevpdtf.h, remove the redundant
+routine pdf_choose_font_name.
+
+gdevpdtb.c, gdevpdtd.c, gdevpdtf.c, gdevpdtb.h, modify the
+function pdf_base_font_alloc to remove the redundant
+argument 'orig_name', we always use the original font name
+now.
+
+</pre>
+<p>[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-01T204452.186969Z"></a>
+2008-01-01T20:44:52.186969Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Don't ignore xref stream in a hybrid "classic xref" + "stream xref" file
+as PDF 1.5-compatible should do. Thanks to SaGS for the patch. Bug 688282.
+
+</pre>
+<p>[lib/pdf_main.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-01T142830.927323Z"></a>
+2008-01-01T14:28:30.927323Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Replace clearly invalid generation numbers out of 0..65535 range with 0 during
+rebuilding of xref table. Bug 689634.
+
+</pre>
+<p>[lib/pdf_rbld.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-01T013052.687921Z"></a>
+2008-01-01T01:30:52.687921Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the SYSTEM_CONSTANTS_ARE_WRITABLE compile-time define.
+
+Details:
+
+This was added so a particular application could rewrite the product name,
+version, etc. after loading the library. We're not aware of anyone still
+using the feature, and if so they can just change the source, which is
+more appropriate in any case.
+
+Also, remove USE_ASM from the msvc project file.
+</pre>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/gscdefs.h src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak src/gscdef.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T224650.849681Z"></a>
+2007-12-31T22:46:50.849681Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add a flag that marks PDF text rendering mode 3 to avoid confusion with other
+non-rendering text operations such as stringwidth. This avoids unnecessary
+calculation of the current point, which fails when the CTM is singular. This
+patch continues conservative approach to the text rendering modes started in
+rev. 4006. Bug 689614, customer 384.
+
+</pre>
+<p>[src/gxchar.c src/gstext.c src/gstext.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T190652.216061Z"></a>
+2007-12-31T19:06:52.216061Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Correct polarity of the stochastic threshold array so that the images are
+not too dark.
+
+DETAILS:
+
+The original conversion from the threshold array provided by CalComp had
+the threshold values inverted so that the implicit linearization was
+inverted, making images much too dark. This correction provides reasonable
+results on printers. Fine tuning of transfer functions can be used for
+specific printers.
+
+</pre>
+<p>[lib/ht_ccsto.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T180759.109475Z"></a>
+2007-12-31T18:07:59.109475Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the USE_ASM build flag.
+
+Details:
+
+It was originally added to support vga mode setting, and has been
+used for a few minor optimizations since. We don't believe these
+are worth the trouble with modern compilers, so it is removed to
+simplify configuration management.
+
+</pre>
+<p>[src/unix-end.mak src/openvms.mak src/watcw32.mak src/gdevpcfb.c doc/Develop.htm src/msvccmd.mak src/iutilasm.asm src/gsmisc.c src/msvclib.mak src/dvx-head.mak src/devs.mak src/os2.mak src/openvms.mmk src/unixhead.mak src/lib.mak src/bcwin32.mak src/winint.mak src/gdevegaa.asm src/msvc32.mak src/gdevsvga.c src/gsutil.c src/wccommon.mak src/wctail.mak src/winlib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T061033.027699Z"></a>
+2007-12-31T06:10:33.027699Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Don't try to obtain the bounding box of a glyph when FontBBox is invalid and
+CTM is singular. Set an empty box and consider it valid. The bounding box is
+not used when the CTM is singular. Bug 689614, customer 384.
+
+</pre>
+<p>[src/zchar1.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-29T025321.940078Z"></a>
+2007-12-29T02:53:21.940078Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the ARCH_CAN_SHIFT_FULL_LONG define and its derivatives. Bug 689611.
+
+Details:
+
+This was only used in one place, in an attempt to support
+non-portable code. However this caused problems with recent
+gcc's which optimized the test one way and the code in gxshade.c
+another. We're therefore removing it entirely and just using
+portable code.
+</pre>
+<p>[src/std.h src/gxshade.c src/gxbitops.h src/genarch.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-27T222836.610626Z"></a>
+2007-12-27T22:28:36.610626Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add -Wundef to the autoconf build.
+
+There have been a number of problems related to missing defines lately.
+</pre>
+<p>[src/configure.ac]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T191320.335131Z"></a>
+2007-12-22T19:13:20.335131Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correction to the refcount documentation.
+
+Our allocator can't double free, but attempting to trace a freed pointer
+can confuse things, possibly resulting in a segfault or other
+misbehaviour.
+</pre>
+<p>[src/gsrefct.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T020540.922995Z"></a>
+2007-12-22T02:05:40.922995Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Also remove gdevcmap from the documentation.
+</pre>
+<p>[doc/Develop.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T020536.008019Z"></a>
+2007-12-22T02:05:36.008019Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Include gconfigv.h in std.h so defines like USE_FPU are more
+consistently defined.
+</pre>
+<p>[src/lib.mak src/gscie.h src/std.h src/gdevpcfb.c src/gxfarith.h src/siscale.c src/gsmisc.c src/gdevsvga.c src/devs.mak src/sidscale.c src/gxpcopy.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T001936.075695Z"></a>
+2007-12-22T00:19:36.075695Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Document the behaviour of the reference count macros.
+</pre>
+<p>[src/gsrefct.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T001005.865239Z"></a>
+2007-12-22T00:10:05.865239Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the unused cmap device.
+</pre>
+<p>[src/lib.mak src/ugcclib.mak src/gslib.c src/gdevcmap.c src/gdevcmap.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T195819.459173Z"></a>
+2007-12-21T19:58:19.459173Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Further update the graphics library unit test and build. The gslib test
+executable builds and works now.
+
+</pre>
+<p>[src/ugcclib.mak src/gslib.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T195607.995361Z"></a>
+2007-12-21T19:56:07.995361Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Construct romfs.dev in the graphics library's gen directory instead of
+the ps interpreter's so building just the library is possible.
+</pre>
+<p>[src/gs.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T103100.226023Z"></a>
+2007-12-21T10:31:00.226023Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (jbig2dec): The global data stream for a JBIG2 image in a PDF
+file was being released, and the data freed by the garbage collector,
+before the data was used.
+
+Details: Bug #689568 and #689569. Uses the patch supplied by Alex
+in thread for #689569, implements Ralph's comments about the structure
+naming. Does not attempt to change the memory allocator. This slightly
+modified patch also works with the Luratech decoder.
+
+sjbig2.h, sjbig2_luratech.h; make the global data structure
+s_jbig2_global_data_t public. Store the structure in the
+stream decoder state.
+
+sjbig2.c, sjbig2_luratech.c; store a pointer to the global
+data structure.
+
+sjbig2_luratech.c; don't reset the pointer during initialisation!
+
+zfjbig2.c; Pass the global pointer to the stream decoder for
+release in the finalize routine.
+
+</pre>
+<p>[src/sjbig2_luratech.h src/zfjbig2.c src/sjbig2.c src/sjbig2.h src/sjbig2_luratech.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T001553.911110Z"></a>
+2007-12-21T00:15:53.911110Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove some old helper scripts.
+
+They aren't used much and we no longer wish to maintain them.
+</pre>
+<p>[toolbin/many2pdf.tcl toolbin/pre toolbin/gssubst toolbin/gsindent]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T001154.376327Z"></a>
+2007-12-21T00:11:54.376327Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Make pre.tcl more robust in creating temporary files.
+
+Also update the copyright header and fix a bug in an error handler.
+</pre>
+<p>[toolbin/pre.tcl]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-19T062541.308572Z"></a>
+2007-12-19T06:25:41.308572Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Ignore operator readonly when it is applied to a wrong type inside an
+embedded Type 1 font. Bug 689617, customer 580.
+
+</pre>
+<p>[lib/pdf_font.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-19T062222.816836Z"></a>
+2007-12-19T06:22:22.816836Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Treat the text after empty ASCII block in PFB stream as ASCII sub-stream
+terminated by 0x80 character, a presumed header of the next block.
+Bug 689617, customer 580.
+
+</pre>
+<p>[src/sfilter1.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-19T002508.107768Z"></a>
+2007-12-19T00:25:08.107768Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the graphics library unit tests for recent code changes.
+</pre>
+<p>[src/gslib.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-18T100307.564012Z"></a>
+2007-12-18T10:03:07.564012Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Font Descriptors for fonts not embedded, due to
+EmbedAllFonts=false, did not preserve the original font name.
+
+Details:
+Bug #689597 "PDF created with NoEmbed has wrong BaseFont name".
+
+(gdevpdtd.c) pdf_font_descriptor_alloc, do not use the 'embed'
+status to determine whether to use the font or key name. Always
+use the font name.
+
+pdf_compute_font_descriptor. Remove the simplistic test for
+symbolic. In the loop retrieving glyph information, check to see
+if the glyph name is present in ISO Latin 1. If not, the font is
+symbolic.
+
+</pre>
+<p>[src/gdevpdtd.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-18T100209.815887Z"></a>
+2007-12-18T10:02:09.815887Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): PDFXTrimBoxToMediaBoxOffset used the supplied data
+incorrectly.
+
+Details:
+Bug #689578 "PDFXTrimBoxToMediaBoxOffset".
+
+Patch supplied by Adam Augusta.
+
+(gdevpdf.c) pdf_write_page. When using the PDFXTrimBoxToMediaBoxOffset
+data, we need to subtract the bottom right offset from the MediaBox
+not add it, the trim box must lie inside the media (see Acrobat 7.0
+distiller parameters manual, pp. 102-103).
+
+</pre>
+<p>[src/gdevpdf.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-18T034036.305448Z"></a>
+2007-12-18T03:40:36.305448Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the unused composite_rop device.
+
+DETAILS:
+
+This was an attempt to implement PCL raster operations as an interposed
+device which first rendered to an intermediate buffer and them
+composited with the underlying device buffer, similar to how the
+"PDF 1.4 Transparency" device works.
+
+While this would be a nice approach, allowing raster operations to
+function in more color spaces, it was never completed, and presents
+a maintenance burden for ongoing clist improvements. We are therefore
+removing it. It can be reinstated later as a starting point for further
+development if needed.
+</pre>
+<p>[src/lib.mak src/gsropc.c src/gsropc.h doc/Develop.htm src/gxropc.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-17T213335.320044Z"></a>
+2007-12-17T21:33:35.320044Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (transparency) : Providing a right nested masks logic (continued).
+
+DETAILS :
+
+The revision 8439 missed an initializer.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-17T072822.397599Z"></a>
+2007-12-17T07:28:22.397599Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Improve outline pdfmarks produced by the pdf interpreter. Add page number and view
+values. Thanks to Leon Bottou for the patch. Bug 689599.
+
+</pre>
+<p>[lib/pdf_main.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-16T153809.417159Z"></a>
+2007-12-16T15:38:09.417159Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improving debug trace about compositors.
+
+DETAILS :
+
+This only improves a debug printing.
+The algorithm isn't changed.
+
+This change simplifies the debug trace analysis with
+using C function names as event marks in the trace.
+Also return_error is now not used when c_pdf14trans_write
+is called for estimating the buffer size.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-16T013756.744199Z"></a>
+2007-12-16T01:37:56.744199Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Don't skip space characters after eexec in embedded PDF fonts but
+continue to do so in other cases. Bug 689615.
+
+</pre>
+<p>[src/seexec.c src/sfilter.h lib/pdf_font.ps src/zmisc1.c doc/Language.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-14T195101.706015Z"></a>
+2007-12-14T19:51:01.706015Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Work around a GCC 4.2.1 bug on PowerPC that generates incorrect code in the
+release build affecting scanning of binary tokens containing floating point
+numbers. Bug 689586.
+
+</pre>
+<p>[src/ibnum.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-14T184031.738291Z"></a>
+2007-12-14T18:40:31.738291Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Added casts to sprintf debugging statements (thanks for Michael Rutter for finding these).
+</pre>
+<p>[contrib/eplaser/gdevescv.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-14T183139.938693Z"></a>
+2007-12-14T18:31:39.938693Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Align the pointer to gx_clist_state array in gx_device_clist_writer device to
+the natural boundary to avoid misaligned memory access and bus errors on ARM
+processors. Bug 689600.
+
+</pre>
+<p>[src/gxclist.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-12T202944.002303Z"></a>
+2007-12-12T20:29:44.002303Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (transparency) : Providing a right nested masks logic.
+
+DETAILS :
+
+This redoes the change 8340 without extra assumptions.
+See comments in code.
+
+</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-12T195831.269810Z"></a>
+2007-12-12T19:58:31.269810Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (transparency) : Unwinding the nested masks logic.
+
+DETAILS :
+
+The patch 8340 appears to be optimized for a particular case,
+in which a call to pdf14_push_transparency_group
+"will have been preceded by pdf14_push_transparency_mask ... pdf14_pop_transparency_mask".
+This assumption is not true in general, when the clist interpreter
+skips idle groups (either with incoming improvement or
+with using the band complexity array).
+
+This patch unwinds the change 8340 and the dependent change 8342.
+It also simplifies the garbager descriptor for pdf14_buf_s.
+
+The nested mask problem is now reopen,
+but we intend to close it shortly with a different patch.
+
+</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-12T190044.753250Z"></a>
+2007-12-12T19:00:44.753250Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 4.
+
+DETAILS :
+
+gs_pdf14trans_s doesn't need a reference counting.
+Actually it was never used, so removing it should be
+algorithmically equivalent.
+
+</pre>
+<p>[src/gsropc.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T234718.340705Z"></a>
+2007-12-11T23:47:18.340705Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix for SEGV when more than 4 colorants used with psdcmyk device.
+Bug 689457 for customer #460.
+
+DETAILS:
+
+Apparently the psdcmyk device never got updated with the ret_devn_params proc
+as did the tiffsep device.
+</pre>
+<p>[src/gdevpsd.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T212702.763129Z"></a>
+2007-12-11T21:27:02.763129Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Store the posix persistent cache's last modified line as an unsigned
+long to avoid portability problems when reading and writing. Bug 689604.
+
+DETAILS:
+
+Previously we used time_t directly, but read and wrote it to the
+filesystem using the %ld printf format specifier, which is wrong
+on systems where long int and time_t are different widths. Instead
+we stort it as an unsigned long int, coercing the return value of
+time(). This will be a year 2038 problem on systems with 32 bit longs,
+but seems the better option for portability now. There is no cast,
+so the compiler should warn if this loses precision.
+</pre>
+<p>[src/gp_unix_cache.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T165405.187153Z"></a>
+2007-12-11T16:54:05.187153Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Replaced C++ comments with C comments (// -> /* */).
+</pre>
+<p>[imdi/imdi.c imdi/imdi_tab.c imdi/imdi_gen.c imdi/cctiff.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T082958.454613Z"></a>
+2007-12-11T08:29:58.454613Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
+
+Details:
+Bug #688945 "jbig2dec FATAL ERROR decoding image: aggregate
+coding with REFAGGNINST=2 (segment 0x03)".
+
+Improved the previous patch. We need to have a symbol dictionary
+which contains all the original symbols, plus all the symbols decoded
+so far, for the refinement/aggregation. Previously we created this
+anew for each symbol, this patch creates the dictionary once at
+the start of the dictionary decoding, and releases it when decoding
+is complete.
+
+Also releases the Huffman tables (if used), which was missed
+in the previous patch.
+
+</pre>
+<p>[jbig2dec/jbig2_symbol_dict.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T221105.461373Z"></a>
+2007-12-10T22:11:05.461373Z Tor Andersson</strong></p>
+<blockquote>
+<pre>
+Update to previous commit. Add pdf14_buffer maskbuf pointer to GC structures.</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T202711.787298Z"></a>
+2007-12-10T20:27:11.787298Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Fix a compilation error on Tru64's native cc, which doesn't tolerate spaces
+between -I and the directory. Thanks to M. Rutter for the patch. Bug 689602
+</pre>
+<p>[contrib/contrib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T161326.551663Z"></a>
+2007-12-10T16:13:26.551663Z Tor Andersson</strong></p>
+<blockquote>
+<pre>
+Pick up the transparency mask buffer when a new transparency group is pushed rather than when it is popped. Solves memory leaks and incorrect rendering when transparency groups are nested.</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T094503.624134Z"></a>
+2007-12-10T09:45:03.624134Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
+
+Details:
+Bug #688945 "jbig2dec FATAL ERROR decoding image: aggregate
+coding with REFAGGNINST=2 (segment 0x03)".
+
+Added missing support. When decoding a symbol dictionary, using
+refinement/aggregation, and decoding multiple symbols, we need
+to use text region decoding (single symbols use refinement
+region decoding, already implemented).
+
+This required making the text region decoding procedure available
+to the symbol dictionary decoding routine, and correctly
+initialising the parameters.
+
+(jbig2_text.h) New include file. The 'Jbig2TextRegionParams'
+structure and Jbig2RefCorner enum have been moved here from
+jbig2_text.c, and a prototype for 'jbig2_decode_text_region'
+created.
+
+Added pointers for the adaptive arithmetic decoder tables to the
+Jbig2TextRegionParams structure, as these tables must now be passed
+to the decoder routine (see below) rather than initialised in it.
+
+(jbig2_text.c) Modified the 'jbig2_decode_text_region' routine to
+take the arithmetic decoder state or data stream (for Huffman
+decoding) as a parameter. When being called from the symbol
+dictionary decoder we must use the current decoder state; removed
+the initialisation of the decoder state, this is passed as a
+parameter Removed the initialisation of the adaptive arithmetic
+decoder tables, these are now passed as part of the
+Jbig2TextRegionParams structure.
+
+Modified 'jbig2_parse_text_region' to create and initialise the
+arithmetic decoder state (or data stream for Huffman). If
+using adaptive arithmetic encoding, create and initialise the
+tables.Required now that these are parameters to the text
+region decoder.
+
+(jbig2_symbol_dict.c) 'jbig2_decode_symbol_dict', when we
+encounter refinement/aggregation with REFAGGNINST > 1, instead of
+flagging an error create a Jbig2TextRegionParams structure (if
+not already present), initialise the arithmetic decoder tables, and
+call the text region decoder to create the bitmap. If we already
+have a Jbig2TextRegionParams structure (because we have already
+decoded a symbol this way) just use it as the argument to the
+text region decoder.
+
+</pre>
+<p>[jbig2dec/jbig2_text.c src/jbig2.mak jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_text.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-09T063300.168945Z"></a>
+2007-12-09T06:33:00.168945Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Use a smaller buffer for eexecDecode filter to avoid consumption of the data
+that follow a short (and incorrect) run of 0's in PS files generated by
+Adobe Acrobat from PDF files with usage restrictions. Bug 689577
+
+DETAILS:
+The buffer size of 132 has been selected from a middle of small window that
+fixes the bug but doesn't cause regession in comparefiles/fonttest.pdf.
+Detection of EOF after seing a run of 0's is worth to note as an alternative.
+
+</pre>
+<p>[src/seexec.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-08T135753.015953Z"></a>
+2007-12-08T13:57:53.015953Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Update the MSVC makefile to work with Visual Studio 2005 (nmake version 8).
+Should still be OK with MSVC 6.
+</pre>
+<p>[jbig2dec/msvc.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-07T233906.271814Z"></a>
+2007-12-07T23:39:06.271814Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 3.
+
+DETAILS :
+
+The clist writer writes the 'create compositor' operation to all bands,
+including ones that are not covered by a transparency.
+It does so because this operation changes the number of color components.
+
+When rendering a specific band, it frequently happens that a compositor
+is created and then immediately destroyed. Such thing happens outside
+the transparency bbox, and within the transparency bbox if
+the band has no transparent objects. When compositor is created,
+it allocates a big raster buffer and cleans it.
+Due to that we observe a significant CPU time expence
+when running the test case of the bug 689155.
+
+This patch is a preparation for further improvements.
+This patch includes CTM into pdf14 compositor params
+(see changes to c_pdf14trans_read, c_pdf14trans_write, clist_create_compositor).
+The result should be same as the old code, but the algorithm is different.
+The old code wrote CTM as a separate command before cmd_opv_ext_create_compositor.
+The new code does not, and in many cases compositor commads
+immediately follow each another.
+
+The last fact changes the behavior of the compositor queue :
+before this patch it consisted of 1 element maximum,
+but after it the queue becomes longer (up to 10 elements
+with SoftMaskGroup.pdf). A bug is fixed in the queue logic
+in gxclrast.c ln 1355.
+
+The queue is still immediately executed
+when a non-compositor command appears in the input stream.
+An annihilation of neighbour idle compositors will be a next step.
+
+Minor changes:
+
+- added a new method adjust_ctm to gs_composite_type_procs_t.
+- added type checks with composite_*_proc macros to all compositor types.
+- dependencies were broken for gdevp14.c in lib.mak .
+
+</pre>
+<p>[src/lib.mak src/gsropc.c src/gdevdflt.c src/gxclpath.h src/gxcldev.h src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstrans.h src/gxclrast.c src/gdevp14.c src/gxclpath.c src/gxclimag.c src/gxclutil.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-05T233942.529355Z"></a>
+2007-12-05T23:39:42.529355Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 2.
+
+DETAILS :
+
+The clist writer writes the 'create compositor' operation to all bands,
+including ones that are not covered by a transparency.
+It does so because this operation changes the number of color components.
+
+When rendering a specific band, it frequently happens that a compositor
+is created and then immediately destroyed. Such thing happens outside
+the transparency bbox, and within the transparency bbox if
+the band has no transparent objects. When compositor is created,
+it allocates a big raster buffer and cleans it.
+Due to that we observe a significant CPU time expence
+when running the test case of the bug 689155.
+
+This patch is a preparation for further improvements.
+The change is algorithmically equivalent.
+It implements a compositor queue for a delayed applying of compositors.
+Nevertheless currently the compositors are still applied immediately
+due to stubs in is_null_compositor_op, is_closing_compositor.
+
+</pre>
+<p>[src/gxcomp.h src/gxclrast.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-05T164041.424504Z"></a>
+2007-12-05T16:40:41.424504Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 1.
+
+DETAILS :
+
+The clist writer writes the 'create compositor' operation to all bands,
+including ones that are not covered by a transparency.
+It does so because this operation changes the number of color components.
+
+When rendering a specific band, it frequently happens that a compositor
+is created and then immediately destroyed. Such thing happens outside
+the transparency bbox, and within the transparency bbox if
+the band has no transparent objects. When compositor is created,
+it allocates a big raster buffer and cleans it.
+Due to that we observe a significant CPU time expence
+when running the test case of the bug 689155.
+
+This patch is a preparation for further improvements.
+The change is algorithmically equivalent.
+I simply divides read_create_compositor into 2 ones :
+the first one just reads the instruction,
+and the second one applies it.
+Also did a mionor code cleanup.
+
+</pre>
+<p>[src/gxclrast.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-05T000850.583846Z"></a>
+2007-12-05T00:08:50.583846Z Till Kamppeter</strong></p>
+<blockquote>
+<pre>
+Let CUPS filters use buffered input to Ghostscript via '-_', to work around bug #689577.
+</pre>
+<p>[cups/pstoraster.in cups/pstopxl.in]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-03T213116.528843Z"></a>
+2007-12-03T21:31:16.528843Z Henry Stiles</strong></p>
+<blockquote>
+<pre>
+Replace the "tricky" unit_frac macro with a normal function call. The
+macro produced a false positive in valgrind and seems to cause
+incorrect code generation on gcc 4.1.2 with optimization but we did
+not study it in detail. The change should be equivalent to the
+previous code, reviewed by Ralph Giles.
+</pre>
+<p>[src/gxcmap.c src/gxcmap.h src/gscsepr.c src/gscdevn.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-03T200705.165284Z"></a>
+2007-12-03T20:07:05.165284Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (shadings) : Optimize fill_linear_color_scanline with analitic computation of the color change position.
+
+DETAILS :
+
+Debugged with the test case of the bug 689155.
+
+This optimizes slightly changing gradients.
+It speeds up the test case from 6 hours to 5 hours.
+
+The old code in gx_default_fill_linear_color_scanline
+recomputes color for each pixel.
+The new code checks whether neighbour pixels have same color,
+and if so it finds the color change position
+with solving a linear equation,
+and fills entire constant color interval
+without computing color for each pixel.
+
+The linear equation is solved with 64 bits arithmetics.
+We would like to create a 32bits algorithm someday.
+We think it is possible with rounding colors to 16 bits
+and restricting a run length with 15 bits.
+Note it must not accummulate rounding errors,
+so it needs to compute from the run start at each iteration.
+So if the scanline is wide, first split it into smaller ones
+by coordinates, then break each subscanline into runs by color changes.
+
+</pre>
+<p>[src/gdevdsha.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T221349.581001Z"></a>
+2007-11-30T22:13:49.581001Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Add a tool that analyzes logs produced by gs -Z67, producing a report of
+memory leaks.
+</pre>
+<p>[toolbin/memory.py]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T064347.688763Z"></a>
+2007-11-30T06:43:47.688763Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Adds the base font address to the -Zm tracing output.
+</pre>
+<p>[src/gsfont.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T064312.449891Z"></a>
+2007-11-30T06:43:12.449891Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Fixes bug: -Z89 produced slightly mangled output (-Z9 output inserted in the
+middle of a line of -Z8 output).
+</pre>
+<p>[src/igcref.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T004553.632689Z"></a>
+2007-11-30T00:45:53.632689Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add URW fonts to the Resource/Font directory. These will be included when
+COMPILE_INITS=1. Fontmap.GS still references the disk file name so that
+the disk file based fonts can still be used if they are available.
+</pre>
+<p>[Resource/Font/URWPalladioL-BoldItal Resource/Font/NimbusRomNo9L-Medi Resource/Font/NimbusSanL-Bold Resource/Font/Dingbats Resource/Font/URWChanceryL-MediItal Resource/Font/CenturySchL-Roma Resource/Font Resource/Font/NimbusMonL-Bold Resource/Font/URWGothicL-Demi Resource/Font/NimbusSanL-BoldItal Resource/Font/NimbusRomNo9L-MediItal Resource/Font/StandardSymL Resource/Font/URWBookmanL-DemiBold Resource/Font/NimbusRomNo9L-Regu Resource/Font/URWGothicL-Book Resource/Font/NimbusSanL-ReguCond Resource/Font/CenturySchL-Bold Resource/Font/URWBookmanL-Ligh Resource/Font/NimbusRomNo9L-ReguItal Resource/Font/URWBookmanL-DemiBoldItal Resource/Font/NimbusMonL-ReguObli Resource/Font/NimbusSanL-ReguCondItal Resource/Font/CenturySchL-Ital Resource/Font/URWPalladioL-Roma Resource/Font/CenturySchL-BoldItal Resource/Font/URWBookmanL-LighItal Resource/Font/NimbusSanL-BoldCond Resource/Font/NimbusMonL-BoldObli Resource/Font/NimbusSanL-BoldCondItal Resource/Font/URWGothicL-DemiObli Resource/Font/NimbusSanL-Regu Resource/Font/URWPalladioL-Bold Resource/Font/NimbusMonL-Regu Resource/Font/URWGothicL-BookObli Resource/Font/NimbusSanL-ReguItal Resource/Font/URWPalladioL-Ital]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-29T213953.584646Z"></a>
+2007-11-29T21:39:53.584646Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (shadings) : Optimize path manipulations for shading fill (continued).
+
+DETAILS :
+
+Debugged with the test case of the bug 689155.
+
+A long ago the graphics library converted the sfill clipping into a path.
+It was improved with revision 8017 with introducing
+a device response for pattern_manage__shfill_doesnt_need_path.
+However the revision 8017 appears incomplete :
+it missed the related change to the clist writer device
+and to pdf14 device. This patch fixes it.
+
+This patch causes a progression for the problem
+known as bug 689338 "Raster depends on bands".
+With banded rendering some shadings are now painted some wider,
+and the raster appears equal to one from unbanded rendering.
+It happens because the old code doesn't convert shfill clipping
+into a path when no banding, and does convert when banding.
+The new code does not convert in both cases.
+
+</pre>
+<p>[src/gdevp14.c src/gxclpath.c src/gxclrect.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-29T014216.432740Z"></a>
+2007-11-29T01:42:16.432740Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Remove obsolete variables dstderr and estderr; repair tracing code in
+igcstr.c that would cause a crash if -Z5 was used.
+
+</pre>
+<p>[src/interp.c src/gdebug.h src/igcstr.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T200434.791598Z"></a>
+2007-11-28T20:04:34.791598Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add the 'pamcmyk32' (previously the 'pam' device) to all default builds.
+This will be used for regression testing of 32-bit CMYK.
+
+DETAILS:
+
+The 'pam' device is retained, but not included in the default builds,
+in case anyone was using this. The 'pamcmyk32' name was created as
+more descriptive.
+</pre>
+<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/gdevpbm.c src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T194748.435055Z"></a>
+2007-11-28T19:47:48.435055Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Document the jasper build file version skew menioned in Bug 689570.
+</pre>
+<p>[doc/Release.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T184655.924792Z"></a>
+2007-11-28T18:46:55.924792Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix #defines when USE_COMPRESSED_ENCODING == 0 so that the number of
+components, separable/linear and encode/decode values are correct.
+Also add checking for TIFF file larger than max_long.
+</pre>
+<p>[src/gdevtsep.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T183959.435918Z"></a>
+2007-11-28T18:39:59.435918Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix CIEBasedA problem, add DeviceGray and DeviceRGB support to this utility.
+
+DETAILS:
+
+This isn't used by Ghostscript, but is a useful utility for 'running' a
+CIE colorspace conversion to see the intermediate and final results.
+</pre>
+<p>[lib/docie.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T225840.032075Z"></a>
+2007-11-27T22:58:40.032075Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Also install gdevdsp.h in the unix so build. This header contains the
+callback definitions for the "display" device. Bug 689576.
+</pre>
+<p>[src/unix-dll.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T204309.836338Z"></a>
+2007-11-27T20:43:09.836338Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the regression code license headers with the current contact
+address.
+</pre>
+<p>[toolbin/tests/dump_checksum.py toolbin/tests/cmpi.py toolbin/tests/gscheck_testfiles.py toolbin/tests/dump_checksum_plus.py toolbin/tests/check_source.py toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/dump_checksum_raw.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/rasterdb.py toolbin/tests/gsutil.py toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/revert_pdfbaseline toolbin/tests/build_revision.py toolbin/tests/compare_checksumdb.py toolbin/tests/gsconf.py toolbin/tests/revert_baseline toolbin/tests/update_baseline.py toolbin/tests/make_baselinedb.py toolbin/tests/gscheck_raster.py toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py toolbin/tests/compare_checksums.py toolbin/tests/check_dirs.py toolbin/tests/update_specific toolbin/tests/run_nightly.py toolbin/tests/gstestgs.py toolbin/tests/myoptparse.py toolbin/tests/run_regression.py toolbin/tests/get_baselines.py toolbin/tests/make_two_versions toolbin/tests/testdiff.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_testdb.py toolbin/tests/check_comments.py toolbin/tests/check_docrefs.py toolbin/tests/get_baseline_log.py]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T204307.921159Z"></a>
+2007-11-27T20:43:07.921159Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Change the regression scripts to rewrite the product as
+"GPL Ghostscript".
+</pre>
+<p>[toolbin/tests/build_revision.py toolbin/tests/update_specific]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T181110.542532Z"></a>
+2007-11-27T18:11:10.542532Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix (graphics) : Improving the setoverprint logic.
+
+DETAILS :
+
+Debugged with the test case of the bug 689155.
+
+This eliminates unnecessary calls of dx_device::procs.create_compositor.
+In the test case the oprator 'show' calls gs_save and gs_restore
+and the latter performs unnecessary call to gs_do_set_overprint
+due to overprint is set at page start. It causes a significant CPU time expense
+while clist interpretation.
+
+We're not sure why the old code is such,
+we change it as we think correct.
+Will see the regression test results.
+A local test gave no differences.
+
+</pre>
+<p>[src/gsstate.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-23T092306.243419Z"></a>
+2007-11-23T09:23:06.243419Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Fonts containing glyphs with no sbw or hsbw
+instruction caused pdfwrite to crash.
+
+Details:
+Bug #689544 "Segmentation fault writing PDF file".
+
+The job contains a number of fonts apparently converted from
+TrueType to type 1. The /.notdef glyph in every case consists
+only of an endchar instruction. Techincally invalid since the
+specification says the first instruction must be either an sbw
+or hsbw instruction.
+
+This causes a crash because gs_type1_glyph_info didn't create
+a path before interpreting the glyph. If we encountered a path
+operation before a sbw instruction we attempted to write to the
+non-existent path.
+
+(gxtype1.c), gs_type1_glyph_info, create a path for the type 1
+interpreter to work with. Make it a bbox_accumulator so we don't
+allocate memory for path segments.
+
+(gdevpsfu.c), psf_check_outline_glyphs, if we get an invalidfont
+error return from the font's 'glyph_info' procedure, don't exit
+immediately. Check each glyph, and only return an error if
+there are no good glyphs.
+
+</pre>
+<p>[src/gxtype1.c src/gdevpsfu.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T024659.719550Z"></a>
+2007-11-22T02:46:59.719550Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct Id line and double-include protection warnings.
+</pre>
+<p>[src/ConvertUTF.h toolbin/tests/check_source.py src/expat.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T010346.485805Z"></a>
+2007-11-22T01:03:46.485805Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the run_nightly regression script to rewrite the product
+name to GPL Ghostscript instead of AFPL Ghostscript. Also, include
+quotation marks in the optional part of the regex so we work when
+GS_PRODUCT is set to another macro and does not include a literal
+string, as it does at release time.
+</pre>
+<p>[toolbin/tests/run_nightly.py]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T005403.544607Z"></a>
+2007-11-22T00:54:03.544607Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct a format string error in the PDF 1.4 spot color name generation.
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T005401.468513Z"></a>
+2007-11-22T00:54:01.468513Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update release procedure documentation.
+</pre>
+<p>[doc/Release.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-21T224203.178745Z"></a>
+2007-11-21T22:42:03.178745Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Bump the version number and date after the 8.61 release.
+</pre>
+<p>[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-21T200708.596302Z"></a>
+2007-11-21T20:07:08.596302Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update changelogs and release date for the second 8.61 candidate.
+</pre>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/Changes.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 src/version.mak man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/Details.htm doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
+</blockquote>
+
<h3><a name="Version8.61"></a>Version 8.61 (2007-11-21)</h3>
<p>This is the second release in the Ghostscript 8.6x stable series. It
diff --git a/gs/doc/History8.htm b/gs/doc/History8.htm
index 2314165ec..b70fcb1e5 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.62">Version 8.62 (2008-02-29)</a>
<li><a href="#Version8.61">Version 8.61 (2007-11-21)</a>
<li><a href="#Version8.60">Version 8.60 (2007-08-01)</a>
<li><a href="#Version8.57">Version 8.57 (2007-05-11)</a>
@@ -77,6 +78,1709 @@ overview</a>.
<!-- [2.0 begin contents] ================================================== -->
+<h3><a name="Version8.62"></a>Version 8.62 (2008-02-29)</h3>
+
+<p>
+This version is the next in our line of scheduled semi-annual releases.
+<p>
+There were approximately 55 bugs fixed since version 8.61. Some fixes
+and improvements of note were:
+<p>
+COMPILE_INITS=1 was broken in 8.61 and now works as expected.
+<p>
+Fonts are now distributed in the Resource/Font directory and will be
+included in the executable if COMPILE_INITS=1
+<p>
+The tiffsep device was fixed for using more than 8 colorants.
+<p>
+Shadings, overprinting and transparency were optimized and are substantially
+faster than in 8.61, particularly for large format or high resolution
+rendering when using the 'clist' banding mode.
+<p>
+Changes were made to prevent near unbounded growth in memory usage and
+corresponding performance problems on a few test cases.
+<p>
+The 'pdfwrite' device was improved to fix some compatibility issues with
+PDF/A and to improve some font embedding and other issues.
+<p>
+The 'ht_ccsto.ps' Stochastic Threshold array was completely changed to
+be more useful. The values in the threshold array were inverted, so
+the number of 'light' colors was limited and using it generally caused
+prints that were too dark.
+<p>
+The 'runpdfbegin', 'dopdfpages' and 'runpdfend' PostScript pseudo-operators
+that were inadvertently removed in 8.61 were restored. This also restored
+the functionality of toolbin/pdf_info.ps to display PDF creator stats,
+fonts used and page sizes.
+<p>
+The halftone tile cache sizes and cache effectiveness were improved to
+help the performance when tiling with large cells or threshold arrays.
+<p> The following <a href="http://bugs.ghostscript.com/">bugs</a> were
+open at the time of release: <blockquote>
+465936, 578865, 626295, 686747, 686853, 687011, 687146, 687257, 687271,
+687280, 687295, 687327, 687514, 687520, 687531, 687608, 687650, 687674,
+687677, 687695, 687697, 687702, 687721, 687728, 687729, 687796, 687805,
+687814, 687850, 687903, 687904, 687957, 687974, 688007, 688022, 688026,
+688032, 688036, 688042, 688058, 688061, 688064, 688066, 688075, 688081,
+688095, 688129, 688130, 688151, 688152, 688159, 688166, 688184, 688187,
+688207, 688215, 688227, 688239, 688269, 688280, 688288, 688317, 688318,
+688320, 688333, 688342, 688358, 688359, 688360, 688361, 688363, 688372,
+688378, 688386, 688387, 688389, 688395, 688413, 688427, 688428, 688436,
+688437, 688440, 688446, 688475, 688483, 688500, 688515, 688517, 688528,
+688533, 688539, 688540, 688542, 688543, 688557, 688580, 688581, 688588,
+688601, 688604, 688605, 688610, 688615, 688616, 688619, 688627, 688636,
+688638, 688646, 688651, 688653, 688655, 688673, 688674, 688696, 688699,
+688709, 688710, 688714, 688717, 688728, 688736, 688739, 688757, 688770,
+688774, 688778, 688796, 688797, 688807, 688811, 688813, 688815, 688829,
+688843, 688846, 688876, 688908, 688918, 688919, 688926, 688928, 688933,
+688942, 688943, 688952, 688958, 688969, 688976, 688986, 688990, 688992,
+688999, 689003, 689011, 689013, 689014, 689022, 689025, 689028, 689031,
+689040, 689044, 689046, 689048, 689057, 689058, 689080, 689081, 689090,
+689093, 689094, 689098, 689111, 689116, 689128, 689129, 689130, 689133,
+689136, 689137, 689138, 689145, 689146, 689148, 689150, 689153, 689154,
+689159, 689161, 689164, 689172, 689174, 689181, 689184, 689195, 689198,
+689206, 689209, 689210, 689222, 689224, 689230, 689236, 689246, 689247,
+689248, 689252, 689253, 689264, 689279, 689280, 689281, 689283, 689289,
+689290, 689291, 689304, 689305, 689308, 689313, 689331, 689335, 689340,
+689341, 689343, 689358, 689361, 689363, 689364, 689367, 689370, 689373,
+689376, 689378, 689396, 689402, 689412, 689418, 689419, 689422, 689428,
+689431, 689438, 689439, 689440, 689444, 689445, 689448, 689450, 689451,
+689456, 689460, 689462, 689463, 689469, 689471, 689476, 689484, 689487,
+689488, 689489, 689490, 689498, 689499, 689500, 689502, 689507, 689509,
+689510, 689512, 689514, 689515, 689516, 689518, 689521, 689522, 689532,
+689534, 689535, 689538, 689542, 689543, 689546, 689547, 689549, 689552,
+689554, 689557, 689559, 689560, 689561, 689563, 689566, 689567, 689573,
+689574, 689579, 689581, 689583, 689585, 689588, 689591, 689592, 689595,
+689598, 689601, 689606, 689607, 689609, 689610, 689618, 689621, 689623,
+689627, 689628, 689632, 689636, 689637, 689641, 689649, 689652, 689653,
+689654, 689657, 689658, 689659, 689663, 689666, 689668, 689669, 689673,
+689674, 689675, 689676, 689677, 689681, 689682, 689684, 689685, 689687,
+689689, 689690, 689691, 689692, 689693, 689697, 689698, 689699, 689702,
+689704, 689705, 689709, 689710, 689711, 689712, 689713, 689715, 689716,
+689721, 689722, 689723, 689725, 689727.
+</blockquote>
+
+<h3><a name="8.62_Incompatible_changes"></a>Incompatible changes</h3>
+
+<p>
+Not strictly a compatibility issue, but the default URW (GPL) fonts are now
+distributed in the Resource/Font/ path which can increase the number of
+file handles open for PostScript that opens all of the resources. Also
+the size of the %rom% rom file system within the executable when using
+COMPILE_INITS=1 is larger by the amount needed for the fonts.
+<p>
+Also not strictly incompatible, but some alternate fixed-point code
+was stripped out, so FPU_TYPE and other FPU related makefile macros
+are gone or don't cause any difference in the code generated. Also the
+'USE_ASM' macro was removed, since we expect modern compilers to do
+sufficient optimization.
+<p>
+Some old (deprecated) "helper" scripts were removed: gsindent, gssubst,
+many2pdf.tcl, and pre.
+<p>
+The unused 'cmap' (special color mapping) and 'ropc' devices were
+removed from the distribution.
+<p>
+The 'ht_ccsto.ps' Stochastic Threshold array was completely changed to
+be more useful. The values in the threshold array were inverted, so
+the number of 'light' colors was limited and using it generally caused
+prints that were too dark. This is an improvement, but incompatible
+in that anyone using it previously would see much different grays/
+colors.
+<p>
+The SYSTEM_CONSTANTS_ARE_WRITABLE compile time define was removed
+as was the "EXTEND_NAMES" makefile macro (still accessible using
+a compiler flag define).
+
+<h3><a name="8.62_changelog"></a>Changelog</h3>
+
+<p><strong><a name="2008-02-29T235931.476236Z"></a>
+2008-02-29T23:59:31.476236Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix typo that caused unbalanced 'q' 'Q' operators in PDF's (caused by
+rev 8501). Bug 689728.
+
+</pre>
+<p>[src/gdevpdfi.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T222759.143965Z"></a>
+2008-02-29T22:27:59.143965Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Release notes for the 8.62 release. Thanks to Ray Johnston for compiling these.
+</pre>
+<p>[doc/News.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T204904.253927Z"></a>
+2008-02-29T20:49:04.253927Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove some C++ style comments.
+</pre>
+<p>[src/siscale.c src/gdevijs.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T204902.503198Z"></a>
+2008-02-29T20:49:02.503198Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add some new files to the documentation tree.
+</pre>
+<p>[doc/Develop.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T204752.884152Z"></a>
+2008-02-29T20:47:52.884152Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update product name, copyright and release dates.
+</pre>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Deprecated.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 src/dwsetup.rc man/pf2afm.1 doc/Fonts.htm doc/Ps2ps2.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 src/winint.mak doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Details8.htm doc/Testing.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T185314.162723Z"></a>
+2008-02-29T18:53:14.162723Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add default FontResourceDir needed when COMPILE_INITS=1 is used so
+that the fonts from Resource/Font in the distribution directory that
+are built into %rom%Resource/Font/ will be found.
+</pre>
+<p>[src/iccinit1.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-29T081308.227205Z"></a>
+2008-02-29T08:13:08.227205Z Ray Johnston</strong> (<a href="Details8.htm#2008-02-29T081308.227205Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix COMPILE_INITS=1. Note the next commit to the PCL tree will combine
+with this one, but we can't commit to both trees atomically.
+
+</pre>
+<p>[src/openvms.mak src/psromfs.mak src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/unixlink.mak src/os2.mak src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gsromfs0.c src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/watclib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-28T145632.629339Z"></a>
+2008-02-28T14:56:32.629339Z Alex Cherepanov</strong> (<a href="Details8.htm#2008-02-28T145632.629339Z">details</a>)</p>
+<blockquote>
+<pre>
+Attempt to repair invalid embedded TT fonts without cmap table.
+Bug 689707, customer 531.
+
+</pre>
+<p>[lib/gs_ttf.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T193618.181168Z"></a>
+2008-02-27T19:36:18.181168Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-27T193618.181168Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 4a.
+
+</pre>
+<p>[lib/pdf_draw.ps lib/pdf_ops.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T192257.279403Z"></a>
+2008-02-27T19:22:57.279403Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-27T192257.279403Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 4.
+
+</pre>
+<p>[src/gstrans.c src/ztrans.c src/gdevpdft.c src/gstrans.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T183931.036262Z"></a>
+2008-02-27T18:39:31.036262Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-27T183931.036262Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 3.
+
+</pre>
+<p>[src/gxistate.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T004737.036819Z"></a>
+2008-02-27T00:47:37.036819Z Marcos Woehrmann</strong> (<a href="Details8.htm#2008-02-27T004737.036819Z">details</a>)</p>
+<blockquote>
+<pre>
+Added setting of fill_rule in pclxl_endpath().
+
+</pre>
+<p>[src/gdevpx.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-27T000822.308407Z"></a>
+2008-02-27T00:08:22.308407Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-27T000822.308407Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 2.
+
+</pre>
+<p>[src/lib.mak src/gxistate.h src/gsistate.c src/gdevpdfg.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-26T231440.608304Z"></a>
+2008-02-26T23:14:40.608304Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-26T231440.608304Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improve transparency performance, step 1.
+
+</pre>
+<p>[src/gstrans.c src/gstrans.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-26T071249.848447Z"></a>
+2008-02-26T07:12:49.848447Z Alex Cherepanov</strong> (<a href="Details8.htm#2008-02-26T071249.848447Z">details</a>)</p>
+<blockquote>
+<pre>
+Change the decimal separator in generated strings to '.' effectively selecting
+a C numeric locale without calling any locale functions. Bug 689624.
+
+</pre>
+<p>[src/spprint.c src/zdouble.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-25T161043.614503Z"></a>
+2008-02-25T16:10:43.614503Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Remove a space betveen -f and a file name to prevent parsing of the file name
+that starts with '-' as an options. Bug 689682.
+
+</pre>
+<p>[lib/ps2pdfxx.bat]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-25T054845.219666Z"></a>
+2008-02-25T05:48:45.219666Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add a check for null value. Since rev. 6956 following Adobe implementation
+Ghostscript doesn't accept null as a key in dictionary look-up. Bug 689696.
+
+</pre>
+<p>[lib/pdf2dsc.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-25T042047.177440Z"></a>
+2008-02-25T04:20:47.177440Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+When the values of the color key mask exceed the valid range clip them to the
+nearest valid values and continue. Don't discard the mask as we did before.
+Bug 689717, customer 580.
+
+</pre>
+<p>[lib/pdf_draw.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T092154.361457Z"></a>
+2008-02-24T09:21:54.361457Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-24T092154.361457Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 8).
+
+</pre>
+<p>[src/siscale.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T033703.979896Z"></a>
+2008-02-24T03:37:03.979896Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-24T033703.979896Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 7).
+
+</pre>
+<p>[src/gxiscale.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T025834.824461Z"></a>
+2008-02-24T02:58:34.824461Z Alex Cherepanov</strong> (<a href="Details8.htm#2008-02-24T025834.824461Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix link errors in the file descriptor-based implementation of file streams.
+Move function used by both fd and stdio implementations to a separate file
+and compile it in both versions. Bug 688918.
+
+</pre>
+<p>[src/lib.mak src/sfxstdio.c src/sfxcommon.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-24T011218.214936Z"></a>
+2008-02-24T01:12:18.214936Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add definitions of some C99 types missing from old versions of Cygwin.
+</pre>
+<p>[src/stdint_.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-23T222601.799844Z"></a>
+2008-02-23T22:26:01.799844Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix typo that caused Cygwin build to fail if 'fontconfig' package was present.
+</pre>
+<p>[src/configure.ac]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-22T201808.422807Z"></a>
+2008-02-22T20:18:08.422807Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-22T201808.422807Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 6).
+
+</pre>
+<p>[src/gsimage.c src/lib.mak src/gxiscale.c src/siscale.c src/gdevm24.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-22T102949.290734Z"></a>
+2008-02-22T10:29:49.290734Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-22T102949.290734Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (FAPI) : Embedded fonts didn't work (continued).
+
+</pre>
+<p>[src/zfapi.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-22T100930.542153Z"></a>
+2008-02-22T10:09:30.542153Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-22T100930.542153Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (FAPI) : Embedded fonts didn't work.
+
+</pre>
+<p>[lib/gs_typ42.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-20T210248.212097Z"></a>
+2008-02-20T21:02:48.212097Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-20T210248.212097Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 5).
+
+</pre>
+<p>[src/lib.mak src/gsmatrix.c src/gximono.c src/gxidata.c src/gsmatrix.h src/gdevm24.c src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-18T202859.836803Z"></a>
+2008-02-18T20:28:59.836803Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Propagate the new method argument change introduced in r8528 to the wts
+device so that it compiles again.
+</pre>
+<p>[src/gdevwts.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T233650.588580Z"></a>
+2008-02-17T23:36:50.588580Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-17T233650.588580Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 4).
+
+</pre>
+<p>[src/gxiscale.c src/siscale.c src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T232547.528293Z"></a>
+2008-02-17T23:25:47.528293Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-17T232547.528293Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 3).
+
+</pre>
+<p>[src/lib.mak src/gxiscale.c src/gxfixed.h src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T223215.427994Z"></a>
+2008-02-17T22:32:15.427994Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-17T223215.427994Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued 2).
+
+</pre>
+<p>[src/gxclist.c src/gxdevbuf.h src/gxdevmem.h src/gdevppla.c src/gdevmem.c src/gdevbmpa.c src/gdevprn.c src/gdevppla.h src/gdevm24.c src/gxclread.c src/gdevpng.c src/gdevprn.h src/gdevijs.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-17T035945.216145Z"></a>
+2008-02-17T03:59:45.216145Z Ray Johnston</strong> (<a href="Details8.htm#2008-02-17T035945.216145Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix for regressions introduced with rev 8526. Some resolutions of CMYK, 1-bit
+per component devices that had CMYK colors and Gray colors had strange dithers.
+Bug 689706.
+
+</pre>
+<p>[src/gxht.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-14T083456.225081Z"></a>
+2008-02-14T08:34:56.225081Z Ray Johnston</strong> (<a href="Details8.htm#2008-02-14T083456.225081Z">details</a>)</p>
+<blockquote>
+<pre>
+Improve Halftone tile cache efficiency. Make default cache large enough
+on default 32-bit (LARGE) configuration to allow for > 256 cache tiles
+when using the 'ht_ccsto.ps' 167x167 Threshold array. Change cache
+lookup logic to eliminate collisions when the number of cache slots
+exceeds the number of levels (the normal case). Remove duplicated
+ht cache default size #defines and normalize the names to end in
+_size (to imply size in bytes) and be consistent with other similar
+function/macro names.
+
+</pre>
+<p>[src/gshtscr.c src/gzht.h src/gsht.c src/gdevprna.c src/gxht.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-12T203017.540929Z"></a>
+2008-02-12T20:30:17.540929Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-12T203017.540929Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image (continued).
+
+</pre>
+<p>[src/gxdda.h src/lib.mak src/gxiscale.c src/siscale.c src/sisparam.h src/gximage.h src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-12T190319.125442Z"></a>
+2008-02-12T19:03:19.125442Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Document the need to update the current documentation snapshot.
+</pre>
+<p>[doc/Release.htm]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-09T023031.322331Z"></a>
+2008-02-09T02:30:31.322331Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Clamp the number components read from the ICC DataSource array to the
+number actually allocated to avoid buffer overflow. CESA-2008-001.
+</pre>
+<p>[src/zicc.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-09T005538.575949Z"></a>
+2008-02-09T00:55:38.575949Z Ralph Giles</strong> (<a href="Details8.htm#2008-02-09T005538.575949Z">details</a>)</p>
+<blockquote>
+<pre>
+Include 12 and 16 bit image support as part of the core graphics
+library. Bug 689688.
+
+</pre>
+<p>[src/lib.mak src/int.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-07T093322.506379Z"></a>
+2008-02-07T09:33:22.506379Z Ken Sharp</strong> (<a href="Details8.htm#2008-02-07T093322.506379Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite): problems with unusual PDF text rendering modes.
+
+</pre>
+<p>[src/gdevpdts.c src/gdevpdtt.c lib/pdf_ops.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-04T221808.283584Z"></a>
+2008-02-04T22:18:08.283584Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-04T221808.283584Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (images) : Improve coordinate precision when scaling an image.
+
+</pre>
+<p>[src/lib.mak src/gxidata.c src/gdevddrw.c src/gdevm24.c src/gxclread.c src/gxi12bit.c src/gxipixel.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-03T175423.256452Z"></a>
+2008-02-03T17:54:23.256452Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Modify pdf_info utility to match the changes in PDF interpreter interface.
+Bug 689680.
+</pre>
+<p>[toolbin/pdf_info.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-02-01T220551.322620Z"></a>
+2008-02-01T22:05:51.322620Z Igor Melichev</strong> (<a href="Details8.htm#2008-02-01T220551.322620Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (graphics) : Interpolated images were shifed in a half of source pixel.
+
+</pre>
+<p>[src/siscale.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-31T222032.934182Z"></a>
+2008-01-31T22:20:32.934182Z Ray Johnston</strong> (<a href="Details8.htm#2008-01-31T222032.934182Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix ColorValues parameter problem when device has total number of bits (depth)
+of more than 31 bits, resulting in a "rangecheck" (-15) error.
+
+</pre>
+<p>[src/gsdparam.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-29T170250.720617Z"></a>
+2008-01-29T17:02:50.720617Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-29T170250.720617Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (graphics) : Optimize filling a path with a shading color (continued 2).
+
+</pre>
+<p>[src/gsptype2.c src/gsptype2.h src/gximask.c src/gxfill.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-29T124142.337727Z"></a>
+2008-01-29T12:41:42.337727Z mpsuzuki</strong> (<a href="Details8.htm#2008-01-29T124142.337727Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (TT): Ignore broken post 2.0 table generated by "Windows Type 1 Installer".
+
+</pre>
+<p>[lib/gs_ttf.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-29T115450.007576Z"></a>
+2008-01-29T11:54:50.007576Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-29T115450.007576Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (graphics) : Optimize filling a path with a shading color (continued).
+
+</pre>
+<p>[src/gximask.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T230259.180158Z"></a>
+2008-01-28T23:02:59.180158Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-28T230259.180158Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (graphics) : Optimize filling a path with a shading color.
+
+</pre>
+<p>[src/gsptype2.c src/gsptype2.h src/gxfill.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T103145.187261Z"></a>
+2008-01-28T10:31:45.187261Z mpsuzuki</strong> (<a href="Details8.htm#2008-01-28T103145.187261Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix: ignore the embedded font resource when PDF interpreter resolves
+ the unembedded font resource.
+
+</pre>
+<p>[lib/pdf_font.ps src/zfont.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T095854.861949Z"></a>
+2008-01-28T09:58:54.861949Z mpsuzuki</strong> (<a href="Details8.htm#2008-01-28T095854.861949Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (TT): Fix a bug in /getinterval_from_stringarray
+
+</pre>
+<p>[lib/gs_ttf.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T085010.139318Z"></a>
+2008-01-28T08:50:10.139318Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-28T085010.139318Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist & transparency) : Improve the compositor queue logic (continued).
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-28T084521.850870Z"></a>
+2008-01-28T08:45:21.850870Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-28T084521.850870Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist & transparency) : Improve the compositor queue logic.
+
+</pre>
+<p>[src/gxclrast.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-26T132127.618379Z"></a>
+2008-01-26T13:21:27.618379Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-26T132127.618379Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (transparency) : Memory leak after an image with soft mask.
+
+</pre>
+<p>[src/gstrans.c src/ztrans.c src/gstparam.h src/gstrans.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-25T081716.431601Z"></a>
+2008-01-25T08:17:16.431601Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-25T081716.431601Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (Font renderer) : Horizontal metrics sometimes applied with WMode 1 fonts.
+
+</pre>
+<p>[src/int.mak src/zchar1.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T211316.354024Z"></a>
+2008-01-23T21:13:16.354024Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-23T211316.354024Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist & transparency) : Inconsisting compressed color index info.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T183335.648405Z"></a>
+2008-01-23T18:33:35.648405Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-23T183335.648405Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (DSC parser) : Avoid a structure type name duplicate.
+
+</pre>
+<p>[src/zdscpars.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T181227.956590Z"></a>
+2008-01-23T18:12:27.956590Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-23T181227.956590Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix (continued).
+
+</pre>
+<p>[src/gdevpdfi.c src/zpcolor.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T180949.970130Z"></a>
+2008-01-23T18:09:49.970130Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-23T180949.970130Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (patterns) : The clipping was wrong with antrivial pattern matrix.
+
+</pre>
+<p>[src/gsptype1.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T164951.344351Z"></a>
+2008-01-23T16:49:51.344351Z Ken Sharp</strong> (<a href="Details8.htm#2008-01-23T164951.344351Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Wrong format string for pprintg.
+
+</pre>
+<p>[src/gdevpdfu.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T133039.283039Z"></a>
+2008-01-23T13:30:39.283039Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-23T133039.283039Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (shadings) : A memory deallocation problem.
+
+</pre>
+<p>[src/lib.mak src/gsptype2.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-23T132309.676697Z"></a>
+2008-01-23T13:23:09.676697Z Till Kamppeter</strong></p>
+<blockquote>
+<pre>
+Added HP's KRGB patch for improved control of true black text printing on color printers with HPIJS. Bug #689065 (Ubuntu LP: #69905) is fixed in this updated version of the patch.
+</pre>
+<p>[src/gdevijs.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-21T205955.657274Z"></a>
+2008-01-21T20:59:55.657274Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-21T205955.657274Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (save/restore) : Remove gs_ref_memory_s::inherited.
+
+</pre>
+<p>[src/gxalloc.h src/igc.c src/gsalloc.c src/isave.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-20T222307.686290Z"></a>
+2008-01-20T22:23:07.686290Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-20T222307.686290Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (save/restore) : Do not create invisible save levels.
+
+</pre>
+<p>[src/isave.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-20T095615.017727Z"></a>
+2008-01-20T09:56:15.017727Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Only report the ICC Profile colorspace when the jasper library's debug
+level is above zero. Bug 689662.
+</pre>
+<p>[jasper/src/libjasper/jp2/jp2_dec.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-20T092115.660626Z"></a>
+2008-01-20T09:21:15.660626Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-20T092115.660626Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (save/restore) : Compact the changes list against big memory leak.
+
+</pre>
+<p>[src/gxalloc.h src/gsalloc.c src/isave.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-18T215038.830947Z"></a>
+2008-01-18T21:50:38.830947Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Explicitly close CMap files opened during CMap-CIDFont font enumeration.
+On certain systems file handles were used up before GC freed inaccessible
+handles causing PostScript errors. Bug 689594.
+
+</pre>
+<p>[lib/gs_cidcm.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-18T061702.734368Z"></a>
+2008-01-18T06:17:02.734368Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add redefinition of setpagedevice to ps2epsi utility to support PS files
+that call setpagedevice. Bug 689650.
+</pre>
+<p>[lib/ps2epsi lib/ps2epsi.ps lib/ps2epsi.cmd lib/ps2epsi.bat]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T135043.754302Z"></a>
+2008-01-17T13:50:43.754302Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-17T135043.754302Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 6.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T134711.707889Z"></a>
+2008-01-17T13:47:11.707889Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-17T134711.707889Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (visual trace) : Add a single pixels painting operation.
+
+</pre>
+<p>[src/vdtrace.h src/vdtrace.c src/dwtrace.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T133719.476394Z"></a>
+2008-01-17T13:37:19.476394Z Igor Melichev</strong></p>
+<blockquote>
+<pre>
+Fix : Cygwin/gcc warnings.
+</pre>
+<p>[src/gdevcgm.c src/int.mak src/gstrans.c src/gdevpdfe.c src/gdevbit.c src/devs.mak src/gxclread.c src/gscdevn.c src/gscie.c src/gxclutil.c src/lib.mak src/gdevp2up.c src/gxclmem.c src/gdevdflt.c src/gdevpdtd.c src/gxcomp.h src/gsovrc.c src/gdevprn.c src/gscsepr.c src/genarch.c src/ztoken.c src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T031602.921192Z"></a>
+2008-01-17T03:16:02.921192Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Comment-only change: remove obsolete reference to MS-DOS limitations and
+mention that PDF interpreter passes un-escaped font names to PS level.
+Bug 689651.
+</pre>
+<p>[lib/Fontmap.GS]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-17T031245.266699Z"></a>
+2008-01-17T03:12:45.266699Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Remove the warning about non-embedded TrueType fonts in PDF files because it
+confuses users but seems to have little effect on the main producer of
+non-conforming files.
+
+</pre>
+<p>[lib/pdf_main.ps lib/pdf_font.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-16T233548.055065Z"></a>
+2008-01-16T23:35:48.055065Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Unbreak the build.
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-16T225542.290132Z"></a>
+2008-01-16T22:55:42.290132Z Igor Melichev</strong> (<a href="Details8.htm#2008-01-16T225542.290132Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 5.
+
+</pre>
+<p>[src/lib.mak src/zdict.c src/gdevdflt.c src/gdevp14.h src/gstrans.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstparam.h src/gstrans.h src/gxclrast.c src/gsovrc.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-09T003630.938192Z"></a>
+2008-01-09T00:36:30.938192Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Fixed umlauts (maybe, am having trouble testing the results).
+</pre>
+<p>[man/de/pdf2dsc.1]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-09T002450.313955Z"></a>
+2008-01-09T00:24:50.313955Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Corrected man page (thanks to Peter Dyballa).
+</pre>
+<p>[man/de/pdf2dsc.1]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-09T000059.719986Z"></a>
+2008-01-09T00:00:59.719986Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add unmodified byte-oriented AES encryption code by Brian Gladman. These
+files serve as a reference point. They are not yet included into any
+project nor can be compiled by some of the compilers we support.
+
+</pre>
+<p>[src/aes.h src/aes.c]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-07T205840.018332Z"></a>
+2008-01-07T20:58:40.018332Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the obsolete gconfigv.h.
+</pre>
+<p>[src/lib.mak toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/std.h src/gscdefs.h src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-07T205836.882379Z"></a>
+2008-01-07T20:58:36.882379Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove EXTEND_NAMES from the top level makefiles.
+
+There is a fallback to the default value of 0 in inameidx.h so there
+is no change in the default behaviour. The extended name table can
+still be activated by defining EXTEND_NAMES on the compiler command
+line or changing the source directly.
+</pre>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak doc/Use.htm src/int.mak src/macosx.mak src/Makefile.in src/inameidx.h src/unix-gcc.mak src/macos-mcp.mak src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-07T184302.811990Z"></a>
+2008-01-07T18:43:02.811990Z Henry Stiles</strong></p>
+<blockquote>
+<pre>
+Deprecate USE_FPU, no changes expected.
+</pre>
+<p>[src/gxchar.c src/openvms.mak src/unix-end.mak src/gsjmorec.h src/macosx.mak src/dvx-gcc.mak src/gxfarith.h src/msvccmd.mak src/siscale.c src/unixansi.mak src/gsmisc.c src/msvclib.mak src/gsfemu.c src/os2.mak src/openvms.mmk src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gscie.h src/Makefile.in src/unix-gcc.mak src/gxfixed.h src/msvc32.mak src/macos-mcp.mak src/wccommon.mak src/wctail.mak src/winlib.mak src/watclib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-02T235844.056429Z"></a>
+2008-01-02T23:58:44.056429Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Re-export runpdfbegin, dopdfpages, and runpdfend procedures, which turned out
+to be used by 3rd party programs. Partly revert the rev. 8325.
+
+</pre>
+<p>[lib/pdf_main.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-02T131059.547816Z"></a>
+2008-01-02T13:10:59.547816Z Ken Sharp</strong> (<a href="Details8.htm#2008-01-02T131059.547816Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Tidy up after the prior patch,
+algorithmically this is the same as before.
+
+</pre>
+<p>[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-01T204452.186969Z"></a>
+2008-01-01T20:44:52.186969Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Don't ignore xref stream in a hybrid "classic xref" + "stream xref" file
+as PDF 1.5-compatible should do. Thanks to SaGS for the patch. Bug 688282.
+
+</pre>
+<p>[lib/pdf_main.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-01T142830.927323Z"></a>
+2008-01-01T14:28:30.927323Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Replace clearly invalid generation numbers out of 0..65535 range with 0 during
+rebuilding of xref table. Bug 689634.
+
+</pre>
+<p>[lib/pdf_rbld.ps]</p>
+</blockquote>
+
+<p><strong><a name="2008-01-01T013052.687921Z"></a>
+2008-01-01T01:30:52.687921Z Ralph Giles</strong> (<a href="Details8.htm#2008-01-01T013052.687921Z">details</a>)</p>
+<blockquote>
+<pre>
+Remove the SYSTEM_CONSTANTS_ARE_WRITABLE compile-time define.
+
+</pre>
+<p>[toolbin/msvcxml.bat src/openvms.mak src/unix-end.mak src/gs.mak src/gscdefs.h src/openvms.mmk src/os2.mak src/wctail.mak src/winlib.mak src/gscdef.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T224650.849681Z"></a>
+2007-12-31T22:46:50.849681Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Add a flag that marks PDF text rendering mode 3 to avoid confusion with other
+non-rendering text operations such as stringwidth. This avoids unnecessary
+calculation of the current point, which fails when the CTM is singular. This
+patch continues conservative approach to the text rendering modes started in
+rev. 4006. Bug 689614, customer 384.
+
+</pre>
+<p>[src/gxchar.c src/gstext.c src/gstext.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T190652.216061Z"></a>
+2007-12-31T19:06:52.216061Z Ray Johnston</strong> (<a href="Details8.htm#2007-12-31T190652.216061Z">details</a>)</p>
+<blockquote>
+<pre>
+Correct polarity of the stochastic threshold array so that the images are
+not too dark.
+
+</pre>
+<p>[lib/ht_ccsto.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T180759.109475Z"></a>
+2007-12-31T18:07:59.109475Z Ralph Giles</strong> (<a href="Details8.htm#2007-12-31T180759.109475Z">details</a>)</p>
+<blockquote>
+<pre>
+Remove the USE_ASM build flag.
+
+</pre>
+<p>[src/unix-end.mak src/openvms.mak src/watcw32.mak src/gdevpcfb.c doc/Develop.htm src/msvccmd.mak src/iutilasm.asm src/gsmisc.c src/msvclib.mak src/dvx-head.mak src/devs.mak src/os2.mak src/openvms.mmk src/unixhead.mak src/lib.mak src/bcwin32.mak src/winint.mak src/gdevegaa.asm src/msvc32.mak src/gdevsvga.c src/gsutil.c src/wccommon.mak src/wctail.mak src/winlib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-31T061033.027699Z"></a>
+2007-12-31T06:10:33.027699Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Don't try to obtain the bounding box of a glyph when FontBBox is invalid and
+CTM is singular. Set an empty box and consider it valid. The bounding box is
+not used when the CTM is singular. Bug 689614, customer 384.
+
+</pre>
+<p>[src/zchar1.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-29T025321.940078Z"></a>
+2007-12-29T02:53:21.940078Z Ralph Giles</strong> (<a href="Details8.htm#2007-12-29T025321.940078Z">details</a>)</p>
+<blockquote>
+<pre>
+Remove the ARCH_CAN_SHIFT_FULL_LONG define and its derivatives. Bug 689611.
+
+</pre>
+<p>[src/std.h src/gxshade.c src/gxbitops.h src/genarch.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-27T222836.610626Z"></a>
+2007-12-27T22:28:36.610626Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Add -Wundef to the autoconf build.
+
+There have been a number of problems related to missing defines lately.
+</pre>
+<p>[src/configure.ac]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T191320.335131Z"></a>
+2007-12-22T19:13:20.335131Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correction to the refcount documentation.
+
+Our allocator can't double free, but attempting to trace a freed pointer
+can confuse things, possibly resulting in a segfault or other
+misbehaviour.
+</pre>
+<p>[src/gsrefct.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T020540.922995Z"></a>
+2007-12-22T02:05:40.922995Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Also remove gdevcmap from the documentation.
+</pre>
+<p>[doc/Develop.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T020536.008019Z"></a>
+2007-12-22T02:05:36.008019Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Include gconfigv.h in std.h so defines like USE_FPU are more
+consistently defined.
+</pre>
+<p>[src/lib.mak src/gscie.h src/std.h src/gdevpcfb.c src/gxfarith.h src/siscale.c src/gsmisc.c src/gdevsvga.c src/devs.mak src/sidscale.c src/gxpcopy.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T001936.075695Z"></a>
+2007-12-22T00:19:36.075695Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Document the behaviour of the reference count macros.
+</pre>
+<p>[src/gsrefct.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-22T001005.865239Z"></a>
+2007-12-22T00:10:05.865239Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove the unused cmap device.
+</pre>
+<p>[src/lib.mak src/ugcclib.mak src/gslib.c src/gdevcmap.c src/gdevcmap.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T195819.459173Z"></a>
+2007-12-21T19:58:19.459173Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Further update the graphics library unit test and build. The gslib test
+executable builds and works now.
+
+</pre>
+<p>[src/ugcclib.mak src/gslib.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T195607.995361Z"></a>
+2007-12-21T19:56:07.995361Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Construct romfs.dev in the graphics library's gen directory instead of
+the ps interpreter's so building just the library is possible.
+</pre>
+<p>[src/gs.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T103100.226023Z"></a>
+2007-12-21T10:31:00.226023Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Fix (jbig2dec): The global data stream for a JBIG2 image in a PDF
+file was being released, and the data freed by the garbage collector,
+before the data was used.
+
+Details: Bug #689568 and #689569. Uses the patch supplied by Alex
+in thread for #689569, implements Ralph's comments about the structure
+naming. Does not attempt to change the memory allocator. This slightly
+modified patch also works with the Luratech decoder.
+
+sjbig2.h, sjbig2_luratech.h; make the global data structure
+s_jbig2_global_data_t public. Store the structure in the
+stream decoder state.
+
+sjbig2.c, sjbig2_luratech.c; store a pointer to the global
+data structure.
+
+sjbig2_luratech.c; don't reset the pointer during initialisation!
+
+zfjbig2.c; Pass the global pointer to the stream decoder for
+release in the finalize routine.
+
+</pre>
+<p>[src/sjbig2_luratech.h src/zfjbig2.c src/sjbig2.c src/sjbig2.h src/sjbig2_luratech.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T001553.911110Z"></a>
+2007-12-21T00:15:53.911110Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Remove some old helper scripts.
+
+They aren't used much and we no longer wish to maintain them.
+</pre>
+<p>[toolbin/many2pdf.tcl toolbin/pre toolbin/gssubst toolbin/gsindent]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-21T001154.376327Z"></a>
+2007-12-21T00:11:54.376327Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Make pre.tcl more robust in creating temporary files.
+
+Also update the copyright header and fix a bug in an error handler.
+</pre>
+<p>[toolbin/pre.tcl]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-19T062541.308572Z"></a>
+2007-12-19T06:25:41.308572Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Ignore operator readonly when it is applied to a wrong type inside an
+embedded Type 1 font. Bug 689617, customer 580.
+
+</pre>
+<p>[lib/pdf_font.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-19T062222.816836Z"></a>
+2007-12-19T06:22:22.816836Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Treat the text after empty ASCII block in PFB stream as ASCII sub-stream
+terminated by 0x80 character, a presumed header of the next block.
+Bug 689617, customer 580.
+
+</pre>
+<p>[src/sfilter1.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-19T002508.107768Z"></a>
+2007-12-19T00:25:08.107768Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the graphics library unit tests for recent code changes.
+</pre>
+<p>[src/gslib.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-18T100307.564012Z"></a>
+2007-12-18T10:03:07.564012Z Ken Sharp</strong> (<a href="Details8.htm#2007-12-18T100307.564012Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Font Descriptors for fonts not embedded, due to
+EmbedAllFonts=false, did not preserve the original font name.
+
+</pre>
+<p>[src/gdevpdtd.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-18T100209.815887Z"></a>
+2007-12-18T10:02:09.815887Z Ken Sharp</strong> (<a href="Details8.htm#2007-12-18T100209.815887Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite): PDFXTrimBoxToMediaBoxOffset used the supplied data
+incorrectly.
+
+</pre>
+<p>[src/gdevpdf.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-18T034036.305448Z"></a>
+2007-12-18T03:40:36.305448Z Ralph Giles</strong> (<a href="Details8.htm#2007-12-18T034036.305448Z">details</a>)</p>
+<blockquote>
+<pre>
+Remove the unused composite_rop device.
+
+</pre>
+<p>[src/lib.mak src/gsropc.c src/gsropc.h doc/Develop.htm src/gxropc.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-17T213335.320044Z"></a>
+2007-12-17T21:33:35.320044Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-17T213335.320044Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (transparency) : Providing a right nested masks logic (continued).
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-17T072822.397599Z"></a>
+2007-12-17T07:28:22.397599Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Improve outline pdfmarks produced by the pdf interpreter. Add page number and view
+values. Thanks to Leon Bottou for the patch. Bug 689599.
+
+</pre>
+<p>[lib/pdf_main.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-16T153809.417159Z"></a>
+2007-12-16T15:38:09.417159Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-16T153809.417159Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Improving debug trace about compositors.
+
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-16T013756.744199Z"></a>
+2007-12-16T01:37:56.744199Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Don't skip space characters after eexec in embedded PDF fonts but
+continue to do so in other cases. Bug 689615.
+
+</pre>
+<p>[src/seexec.c src/sfilter.h lib/pdf_font.ps src/zmisc1.c doc/Language.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-14T195101.706015Z"></a>
+2007-12-14T19:51:01.706015Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Work around a GCC 4.2.1 bug on PowerPC that generates incorrect code in the
+release build affecting scanning of binary tokens containing floating point
+numbers. Bug 689586.
+
+</pre>
+<p>[src/ibnum.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-14T184031.738291Z"></a>
+2007-12-14T18:40:31.738291Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Added casts to sprintf debugging statements (thanks for Michael Rutter for finding these).
+</pre>
+<p>[contrib/eplaser/gdevescv.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-14T183139.938693Z"></a>
+2007-12-14T18:31:39.938693Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Align the pointer to gx_clist_state array in gx_device_clist_writer device to
+the natural boundary to avoid misaligned memory access and bus errors on ARM
+processors. Bug 689600.
+
+</pre>
+<p>[src/gxclist.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-12T202944.002303Z"></a>
+2007-12-12T20:29:44.002303Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-12T202944.002303Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (transparency) : Providing a right nested masks logic.
+
+</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-12T195831.269810Z"></a>
+2007-12-12T19:58:31.269810Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-12T195831.269810Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (transparency) : Unwinding the nested masks logic.
+
+</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-12T190044.753250Z"></a>
+2007-12-12T19:00:44.753250Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-12T190044.753250Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 4.
+
+</pre>
+<p>[src/gsropc.c src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T234718.340705Z"></a>
+2007-12-11T23:47:18.340705Z Ray Johnston</strong> (<a href="Details8.htm#2007-12-11T234718.340705Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix for SEGV when more than 4 colorants used with psdcmyk device.
+Bug 689457 for customer #460.
+
+</pre>
+<p>[src/gdevpsd.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T212702.763129Z"></a>
+2007-12-11T21:27:02.763129Z Ralph Giles</strong> (<a href="Details8.htm#2007-12-11T212702.763129Z">details</a>)</p>
+<blockquote>
+<pre>
+Store the posix persistent cache's last modified line as an unsigned
+long to avoid portability problems when reading and writing. Bug 689604.
+
+</pre>
+<p>[src/gp_unix_cache.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T165405.187153Z"></a>
+2007-12-11T16:54:05.187153Z Marcos Woehrmann</strong></p>
+<blockquote>
+<pre>
+Replaced C++ comments with C comments (// -> /* */).
+</pre>
+<p>[imdi/imdi.c imdi/imdi_tab.c imdi/imdi_gen.c imdi/cctiff.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-11T082958.454613Z"></a>
+2007-12-11T08:29:58.454613Z Ken Sharp</strong> (<a href="Details8.htm#2007-12-11T082958.454613Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
+
+</pre>
+<p>[jbig2dec/jbig2_symbol_dict.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T221105.461373Z"></a>
+2007-12-10T22:11:05.461373Z Tor Andersson</strong></p>
+<blockquote>
+<pre>
+Update to previous commit. Add pdf14_buffer maskbuf pointer to GC structures.</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T202711.787298Z"></a>
+2007-12-10T20:27:11.787298Z Alex Cherepanov</strong></p>
+<blockquote>
+<pre>
+Fix a compilation error on Tru64's native cc, which doesn't tolerate spaces
+between -I and the directory. Thanks to M. Rutter for the patch. Bug 689602
+</pre>
+<p>[contrib/contrib.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T161326.551663Z"></a>
+2007-12-10T16:13:26.551663Z Tor Andersson</strong></p>
+<blockquote>
+<pre>
+Pick up the transparency mask buffer when a new transparency group is pushed rather than when it is popped. Solves memory leaks and incorrect rendering when transparency groups are nested.</pre>
+<p>[src/gdevp14.h src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-10T094503.624134Z"></a>
+2007-12-10T09:45:03.624134Z Ken Sharp</strong> (<a href="Details8.htm#2007-12-10T094503.624134Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (jbig2dec): Missing support for decoding multiple symbols
+from a symbol dictionary, when using refinement/aggregation.
+
+</pre>
+<p>[jbig2dec/jbig2_text.c src/jbig2.mak jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_text.h]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-09T063300.168945Z"></a>
+2007-12-09T06:33:00.168945Z Alex Cherepanov</strong> (<a href="Details8.htm#2007-12-09T063300.168945Z">details</a>)</p>
+<blockquote>
+<pre>
+Use a smaller buffer for eexecDecode filter to avoid consumption of the data
+that follow a short (and incorrect) run of 0's in PS files generated by
+Adobe Acrobat from PDF files with usage restrictions. Bug 689577
+
+</pre>
+<p>[src/seexec.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-08T135753.015953Z"></a>
+2007-12-08T13:57:53.015953Z Ken Sharp</strong></p>
+<blockquote>
+<pre>
+Update the MSVC makefile to work with Visual Studio 2005 (nmake version 8).
+Should still be OK with MSVC 6.
+</pre>
+<p>[jbig2dec/msvc.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-07T233906.271814Z"></a>
+2007-12-07T23:39:06.271814Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-07T233906.271814Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 3.
+
+</pre>
+<p>[src/lib.mak src/gsropc.c src/gdevdflt.c src/gxclpath.h src/gxcldev.h src/gsalphac.c src/gxcomp.h src/gsovrc.c src/gstrans.h src/gxclrast.c src/gdevp14.c src/gxclpath.c src/gxclimag.c src/gxclutil.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-05T233942.529355Z"></a>
+2007-12-05T23:39:42.529355Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-05T233942.529355Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 2.
+
+</pre>
+<p>[src/gxcomp.h src/gxclrast.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-05T164041.424504Z"></a>
+2007-12-05T16:40:41.424504Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-05T164041.424504Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (clist interpreter) : Skip idle compositors, step 1.
+
+</pre>
+<p>[src/gxclrast.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-05T000850.583846Z"></a>
+2007-12-05T00:08:50.583846Z Till Kamppeter</strong></p>
+<blockquote>
+<pre>
+Let CUPS filters use buffered input to Ghostscript via '-_', to work around bug #689577.
+</pre>
+<p>[cups/pstoraster.in cups/pstopxl.in]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-03T213116.528843Z"></a>
+2007-12-03T21:31:16.528843Z Henry Stiles</strong></p>
+<blockquote>
+<pre>
+Replace the "tricky" unit_frac macro with a normal function call. The
+macro produced a false positive in valgrind and seems to cause
+incorrect code generation on gcc 4.1.2 with optimization but we did
+not study it in detail. The change should be equivalent to the
+previous code, reviewed by Ralph Giles.
+</pre>
+<p>[src/gxcmap.c src/gxcmap.h src/gscsepr.c src/gscdevn.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-12-03T200705.165284Z"></a>
+2007-12-03T20:07:05.165284Z Igor Melichev</strong> (<a href="Details8.htm#2007-12-03T200705.165284Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (shadings) : Optimize fill_linear_color_scanline with analitic computation of the color change position.
+
+</pre>
+<p>[src/gdevdsha.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T221349.581001Z"></a>
+2007-11-30T22:13:49.581001Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Add a tool that analyzes logs produced by gs -Z67, producing a report of
+memory leaks.
+</pre>
+<p>[toolbin/memory.py]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T064347.688763Z"></a>
+2007-11-30T06:43:47.688763Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Adds the base font address to the -Zm tracing output.
+</pre>
+<p>[src/gsfont.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T064312.449891Z"></a>
+2007-11-30T06:43:12.449891Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Fixes bug: -Z89 produced slightly mangled output (-Z9 output inserted in the
+middle of a line of -Z8 output).
+</pre>
+<p>[src/igcref.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-30T004553.632689Z"></a>
+2007-11-30T00:45:53.632689Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Add URW fonts to the Resource/Font directory. These will be included when
+COMPILE_INITS=1. Fontmap.GS still references the disk file name so that
+the disk file based fonts can still be used if they are available.
+</pre>
+<p>[Resource/Font/URWPalladioL-BoldItal Resource/Font/NimbusRomNo9L-Medi Resource/Font/NimbusSanL-Bold Resource/Font/Dingbats Resource/Font/URWChanceryL-MediItal Resource/Font/CenturySchL-Roma Resource/Font Resource/Font/NimbusMonL-Bold Resource/Font/URWGothicL-Demi Resource/Font/NimbusSanL-BoldItal Resource/Font/NimbusRomNo9L-MediItal Resource/Font/StandardSymL Resource/Font/URWBookmanL-DemiBold Resource/Font/NimbusRomNo9L-Regu Resource/Font/URWGothicL-Book Resource/Font/NimbusSanL-ReguCond Resource/Font/CenturySchL-Bold Resource/Font/URWBookmanL-Ligh Resource/Font/NimbusRomNo9L-ReguItal Resource/Font/URWBookmanL-DemiBoldItal Resource/Font/NimbusMonL-ReguObli Resource/Font/NimbusSanL-ReguCondItal Resource/Font/CenturySchL-Ital Resource/Font/URWPalladioL-Roma Resource/Font/CenturySchL-BoldItal Resource/Font/URWBookmanL-LighItal Resource/Font/NimbusSanL-BoldCond Resource/Font/NimbusMonL-BoldObli Resource/Font/NimbusSanL-BoldCondItal Resource/Font/URWGothicL-DemiObli Resource/Font/NimbusSanL-Regu Resource/Font/URWPalladioL-Bold Resource/Font/NimbusMonL-Regu Resource/Font/URWGothicL-BookObli Resource/Font/NimbusSanL-ReguItal Resource/Font/URWPalladioL-Ital]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-29T213953.584646Z"></a>
+2007-11-29T21:39:53.584646Z Igor Melichev</strong> (<a href="Details8.htm#2007-11-29T213953.584646Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (shadings) : Optimize path manipulations for shading fill (continued).
+
+</pre>
+<p>[src/gdevp14.c src/gxclpath.c src/gxclrect.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-29T014216.432740Z"></a>
+2007-11-29T01:42:16.432740Z L. Peter Deutsch</strong></p>
+<blockquote>
+<pre>
+Remove obsolete variables dstderr and estderr; repair tracing code in
+igcstr.c that would cause a crash if -Z5 was used.
+
+</pre>
+<p>[src/interp.c src/gdebug.h src/igcstr.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T200434.791598Z"></a>
+2007-11-28T20:04:34.791598Z Ray Johnston</strong> (<a href="Details8.htm#2007-11-28T200434.791598Z">details</a>)</p>
+<blockquote>
+<pre>
+Add the 'pamcmyk32' (previously the 'pam' device) to all default builds.
+This will be used for regression testing of 32-bit CMYK.
+
+</pre>
+<p>[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/gdevpbm.c src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T194748.435055Z"></a>
+2007-11-28T19:47:48.435055Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Document the jasper build file version skew menioned in Bug 689570.
+</pre>
+<p>[doc/Release.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T184655.924792Z"></a>
+2007-11-28T18:46:55.924792Z Ray Johnston</strong></p>
+<blockquote>
+<pre>
+Fix #defines when USE_COMPRESSED_ENCODING == 0 so that the number of
+components, separable/linear and encode/decode values are correct.
+Also add checking for TIFF file larger than max_long.
+</pre>
+<p>[src/gdevtsep.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-28T183959.435918Z"></a>
+2007-11-28T18:39:59.435918Z Ray Johnston</strong> (<a href="Details8.htm#2007-11-28T183959.435918Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix CIEBasedA problem, add DeviceGray and DeviceRGB support to this utility.
+
+</pre>
+<p>[lib/docie.ps]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T225840.032075Z"></a>
+2007-11-27T22:58:40.032075Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Also install gdevdsp.h in the unix so build. This header contains the
+callback definitions for the "display" device. Bug 689576.
+</pre>
+<p>[src/unix-dll.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T204309.836338Z"></a>
+2007-11-27T20:43:09.836338Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the regression code license headers with the current contact
+address.
+</pre>
+<p>[toolbin/tests/dump_checksum.py toolbin/tests/cmpi.py toolbin/tests/gscheck_testfiles.py toolbin/tests/dump_checksum_plus.py toolbin/tests/check_source.py toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/dump_checksum_raw.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/rasterdb.py toolbin/tests/gsutil.py toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/revert_pdfbaseline toolbin/tests/build_revision.py toolbin/tests/compare_checksumdb.py toolbin/tests/gsconf.py toolbin/tests/revert_baseline toolbin/tests/update_baseline.py toolbin/tests/make_baselinedb.py toolbin/tests/gscheck_raster.py toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py toolbin/tests/compare_checksums.py toolbin/tests/check_dirs.py toolbin/tests/update_specific toolbin/tests/run_nightly.py toolbin/tests/gstestgs.py toolbin/tests/myoptparse.py toolbin/tests/run_regression.py toolbin/tests/get_baselines.py toolbin/tests/make_two_versions toolbin/tests/testdiff.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_testdb.py toolbin/tests/check_comments.py toolbin/tests/check_docrefs.py toolbin/tests/get_baseline_log.py]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T204307.921159Z"></a>
+2007-11-27T20:43:07.921159Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Change the regression scripts to rewrite the product as
+"GPL Ghostscript".
+</pre>
+<p>[toolbin/tests/build_revision.py toolbin/tests/update_specific]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-27T181110.542532Z"></a>
+2007-11-27T18:11:10.542532Z Igor Melichev</strong> (<a href="Details8.htm#2007-11-27T181110.542532Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (graphics) : Improving the setoverprint logic.
+
+</pre>
+<p>[src/gsstate.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-23T092306.243419Z"></a>
+2007-11-23T09:23:06.243419Z Ken Sharp</strong> (<a href="Details8.htm#2007-11-23T092306.243419Z">details</a>)</p>
+<blockquote>
+<pre>
+Fix (pdfwrite): Fonts containing glyphs with no sbw or hsbw
+instruction caused pdfwrite to crash.
+
+</pre>
+<p>[src/gxtype1.c src/gdevpsfu.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T024659.719550Z"></a>
+2007-11-22T02:46:59.719550Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct Id line and double-include protection warnings.
+</pre>
+<p>[src/ConvertUTF.h toolbin/tests/check_source.py src/expat.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T010346.485805Z"></a>
+2007-11-22T01:03:46.485805Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update the run_nightly regression script to rewrite the product
+name to GPL Ghostscript instead of AFPL Ghostscript. Also, include
+quotation marks in the optional part of the regex so we work when
+GS_PRODUCT is set to another macro and does not include a literal
+string, as it does at release time.
+</pre>
+<p>[toolbin/tests/run_nightly.py]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T005403.544607Z"></a>
+2007-11-22T00:54:03.544607Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Correct a format string error in the PDF 1.4 spot color name generation.
+</pre>
+<p>[src/gdevp14.c]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-22T005401.468513Z"></a>
+2007-11-22T00:54:01.468513Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update release procedure documentation.
+</pre>
+<p>[doc/Release.htm]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-21T224203.178745Z"></a>
+2007-11-21T22:42:03.178745Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Bump the version number and date after the 8.61 release.
+</pre>
+<p>[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]</p>
+</blockquote>
+
+<p><strong><a name="2007-11-21T200708.596302Z"></a>
+2007-11-21T20:07:08.596302Z Ralph Giles</strong></p>
+<blockquote>
+<pre>
+Update changelogs and release date for the second 8.61 candidate.
+</pre>
+<p>[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm doc/Changes.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 src/version.mak man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/Details.htm doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]</p>
+</blockquote>
+
<h3><a name="Version8.61"></a>Version 8.61 (2007-11-21)</h3>
<p>This is the second release in the Ghostscript 8.6x stable series. It
diff --git a/gs/doc/News.htm b/gs/doc/News.htm
index 6a6cf95b2..1b90b86ba 100644
--- a/gs/doc/News.htm
+++ b/gs/doc/News.htm
@@ -92,8 +92,7 @@ fonts used and page sizes.
<p>
The halftone tile cache sizes and cache effectiveness were improved to
help the performance when tiling with large cells or threshold arrays.
-<p>
----------------------
+
<p> The following <a href="http://bugs.ghostscript.com/">bugs</a> were
open at the time of release: <blockquote>
465936, 578865, 626295, 686747, 686853, 687011, 687146, 687257, 687271,
@@ -136,7 +135,7 @@ open at the time of release: <blockquote>
689674, 689675, 689676, 689677, 689681, 689682, 689684, 689685, 689687,
689689, 689690, 689691, 689692, 689693, 689697, 689698, 689699, 689702,
689704, 689705, 689709, 689710, 689711, 689712, 689713, 689715, 689716,
-689721, 689722, 689723, 689725, 689727, 689728.
+689721, 689722, 689723, 689725, 689727.
</blockquote>
<h3><a name="8.62_Incompatible_changes"></a>Incompatible changes</h3>