diff options
author | Ralph Giles <ralph.giles@artifex.com> | 2008-03-01 00:42:04 +0000 |
---|---|---|
committer | Ralph Giles <ralph.giles@artifex.com> | 2008-03-01 00:42:04 +0000 |
commit | 45739be110471ddf1631ddc459a9cbce27a4b5e4 (patch) | |
tree | 0aaf548bf4eb00599a9b1f37593a5a8977e466af | |
parent | bf2a1bcffb5e833a85a0b20ac4b91345585c6ca4 (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.htm | 2036 | ||||
-rw-r--r-- | gs/doc/Details.htm | 4361 | ||||
-rw-r--r-- | gs/doc/Details8.htm | 2951 | ||||
-rw-r--r-- | gs/doc/History8.htm | 1704 | ||||
-rw-r--r-- | gs/doc/News.htm | 5 |
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> |