diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2018-03-07 09:59:55 +0000 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2018-03-22 15:38:59 +0000 |
commit | 59b5259ffa6155c3c9341a268310e3879e96d441 (patch) | |
tree | caed1c94b0ab4420870c6449545dcf39343a5c4b | |
parent | 57d33404ce0fab68a909fff501c0b8e2912b9956 (diff) | |
download | ghostpdl-59b5259ffa6155c3c9341a268310e3879e96d441.tar.gz |
Bring master up to date with 9.23 release branch
(gs923)
57 files changed, 12288 insertions, 87 deletions
diff --git a/base/version.mak b/base/version.mak index bd77240fd..d52dd6d0a 100644 --- a/base/version.mak +++ b/base/version.mak @@ -18,7 +18,7 @@ GS_VERSION_MAJOR=9 GS_VERSION_MINOR=24 GS_VERSION_MINOR0=24 # Revision date: year x 10000 + month x 100 + day. -GS_REVISIONDATE=20180307 +GS_REVISIONDATE=20180321 # Derived values GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR0) GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR0) diff --git a/doc/API.htm b/doc/API.htm index 2c6de9d7b..80e66d051 100644 --- a/doc/API.htm +++ b/doc/API.htm @@ -821,7 +821,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/C-style.htm b/doc/C-style.htm index c1d443f31..2d78c21f8 100644 --- a/doc/C-style.htm +++ b/doc/C-style.htm @@ -1569,7 +1569,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Commprod.htm b/doc/Commprod.htm index 8a6d922fc..e0ca07c23 100644 --- a/doc/Commprod.htm +++ b/doc/Commprod.htm @@ -251,7 +251,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/DLL.htm b/doc/DLL.htm index 309825c20..b4e39a310 100644 --- a/doc/DLL.htm +++ b/doc/DLL.htm @@ -702,7 +702,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Deprecated.htm b/doc/Deprecated.htm index 6a85a70a2..fd5d4605e 100644 --- a/doc/Deprecated.htm +++ b/doc/Deprecated.htm @@ -5592,7 +5592,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Details8.htm b/doc/Details8.htm index 52714bb48..d989217fd 100644 --- a/doc/Details8.htm +++ b/doc/Details8.htm @@ -104188,7 +104188,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Details9.htm b/doc/Details9.htm index 6849c31c1..b458868e8 100644 --- a/doc/Details9.htm +++ b/doc/Details9.htm @@ -13042,7 +13042,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Develop.htm b/doc/Develop.htm index dbce68afa..91e1fdd19 100644 --- a/doc/Develop.htm +++ b/doc/Develop.htm @@ -4740,7 +4740,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Devices.htm b/doc/Devices.htm index c6da61a5a..bcd4e56cf 100644 --- a/doc/Devices.htm +++ b/doc/Devices.htm @@ -1967,7 +1967,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Drivers.htm b/doc/Drivers.htm index 06a91c486..1976e9146 100644 --- a/doc/Drivers.htm +++ b/doc/Drivers.htm @@ -3563,7 +3563,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Fonts.htm b/doc/Fonts.htm index 44404a400..4e753bec5 100644 --- a/doc/Fonts.htm +++ b/doc/Fonts.htm @@ -313,7 +313,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Helpers.htm b/doc/Helpers.htm index 85d7a70a1..3688d163c 100644 --- a/doc/Helpers.htm +++ b/doc/Helpers.htm @@ -300,7 +300,7 @@ contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History1.htm b/doc/History1.htm index 8803b563b..22b1913c0 100644 --- a/doc/History1.htm +++ b/doc/History1.htm @@ -430,7 +430,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History2.htm b/doc/History2.htm index 6e9f29799..4f3c29dd6 100644 --- a/doc/History2.htm +++ b/doc/History2.htm @@ -5224,7 +5224,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History3.htm b/doc/History3.htm index 5fe54c1d5..e48fe39a2 100644 --- a/doc/History3.htm +++ b/doc/History3.htm @@ -8589,7 +8589,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History4.htm b/doc/History4.htm index 66451cd8c..a1c8c722f 100644 --- a/doc/History4.htm +++ b/doc/History4.htm @@ -3973,7 +3973,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History5.htm b/doc/History5.htm index 7f5ef0ecc..8d10da33d 100644 --- a/doc/History5.htm +++ b/doc/History5.htm @@ -13447,7 +13447,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History6.htm b/doc/History6.htm index d7f68850e..73dabce5f 100644 --- a/doc/History6.htm +++ b/doc/History6.htm @@ -7324,7 +7324,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History7.htm b/doc/History7.htm index e8dea5bc6..3ff685f7e 100644 --- a/doc/History7.htm +++ b/doc/History7.htm @@ -15713,7 +15713,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History8.htm b/doc/History8.htm index 1c6e966da..5920d88b9 100644 --- a/doc/History8.htm +++ b/doc/History8.htm @@ -62047,7 +62047,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/History9.htm b/doc/History9.htm index 23a51dc66..015da7fe2 100644 --- a/doc/History9.htm +++ b/doc/History9.htm @@ -29,6 +29,7 @@ TOC to see how to edit it for visual conciseness. <h2>Table of contents</h2> <blockquote><ul> +<li><a href="#Version9.22">Version 9.23 (2018-03-21)</a> <li><a href="#Version9.22">Version 9.22 (2017-10-04)</a> <li><a href="#Version9.21">Version 9.21 (2017-03-16)</a> <li><a href="#Version9.20">Version 9.20 (2016-09-26)</a> @@ -77,6 +78,12192 @@ overview</a>. <!-- [1.0 end visible header] ============================================== --> <!-- [2.0 begin contents] ================================================== --> +<h2><a name="Version9.23"></a>Version 9.23 (2018-03-21)</h2> + +<p>This is the seventeenth full release in the stable 9.x series. + +<p> Highlights in this release include: +<ul> +<li> +<p>Ghostscript now has a family of 'pdfimage' devices (pdfimage8, pdfimage24 and pdfimage32) +which produce rendered output wrapped up as an image in a PDF. Additionally, there is a 'pclm' +device which produces PCLm format output. +</li> +<li> +<p>There is now a ColorAccuracy parameter allowing the user to decide between speed or accuracy +in ICC color transforms. +</li> +<li> +<p>JPEG Passthrough: devices which support it can now receive the 'raw' JPEG stream from the +interpreter. The main use of this is the pdfwrite/ps2write family of devices that can now +take JPEG streams from the input file(s) and write them unchanged to the output (thus avoiding +additional quantization effects). +</li> +<li> +<p>PDF transparency performance improvements +</li> +<li> +<p>IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and +cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include +performance enhancements (these changes have all be been offered and rejected upstream). We +will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. +Our fork will be available as its own package separately from Ghostscript (and MuPDF). +</li> +<li> +<p>We have continued the focus on code hygiene in this release cleaning up security issues, +ignored return values, and compiler warnings. +</li> +<li> +<p>The usual round of bug fixes, compatibility changes, and incremental improvements. +</li> +</ul> +<p>For a list of open issues, or to report problems, +please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>. + +<h3><a name="9.23_Incompatible_changes"></a>Incompatible changes</h3> +<ul> +<li> +<p> +The planned device API tidy has, unfortunately, been indefinitely postponed, until +appropriate resources are available. +</li> +</ul> +<h3><a name="9.22_changelog"></a>Changelog</h3> +<p><strong>2018-03-21 08:41:35 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb210aecab59f338ef9b8af4523edb3c8bc35092">eb210aecab59f338ef9b8af4523edb3c8bc35092</a> +<blockquote> +<p> + Dates, changelog and product string for release<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-20 13:16:40 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41c92643ce1325893d0f491a49fb2edad1684d17">41c92643ce1325893d0f491a49fb2edad1684d17</a> +<blockquote> +<p> + Add missing files to doc install target<br> +<br> + These files:<br> +<br> + VectorDevices.htm<br> + sample_downscale_device.htm<br> + SavedPages.htm<br> + subclass.htm<br> +<br> + were missing from the documentation installation target<br> +<br> +base/unixinst.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-16 13:27:45 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6ca20f5735e9cde19eee6577059cd9d844e94525">6ca20f5735e9cde19eee6577059cd9d844e94525</a> +<blockquote> +<p> + Fix ommission from revised documentation install path<br> +<br> +base/unixinst.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-15 19:14:15 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=713d80d0dde40a5d1d1f402e8347997896b9a8f7">713d80d0dde40a5d1d1f402e8347997896b9a8f7</a> +<blockquote> +<p> + pdfimage devices - fix up some minor problems<br> +<br> + Bug #699119 " pdfimage24 creates bad PDF"<br> +<br> + When I removed some extraneous stuff from the output (to simplify it) I<br> + forgot to update the pdfimage devices properly, leading to them trying<br> + to write xref entries for missing data.<br> +<br> + In addition, there was a problem writing the Length object of the image<br> + streams.<br> +<br> + Ghostscript complained about both of these but rendered the content<br> + correctly, other consumers didn't complain.<br> +<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-15 11:04:40 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7f822afbb52a6b37fc4766f840e714d9f491da81">7f822afbb52a6b37fc4766f840e714d9f491da81</a> +<blockquote> +<p> + lcms2art: byteReverse needs a ContextID<br> +<br> + on big endian platforms - fix that.<br> +<br> + Reported against 9.23 RC1<br> +<br> +lcms2art/src/cmsmd5.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-15 07:50:41 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36bc37e414b695b1fa39c7e99be9d83f8628e889">36bc37e414b695b1fa39c7e99be9d83f8628e889</a> +<blockquote> +<p> + Changelog and product string for 9.23 rc3<br> +<br> +base/gscdef.c<br> +doc/History9.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-14 16:41:03 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e31e3879532fd23ca2658aea26bf4cadd665687f">e31e3879532fd23ca2658aea26bf4cadd665687f</a> +<blockquote> +<p> + Revert "Tweak bitmap interpolater patch size."<br> +<br> + This reverts commit 38e0c643e62087c089c59c9ad44fc468dd09cd37.<br> +<br> + This was shown to cause problems with:<br> +<br> + tests_private/pdf/PDFIA1.7_SUBSET/IA3Z3225.pdf.pdf.psdcmyk.300.1<br> +<br> + (or tests_private/pdf/PDFIA1.7_SUBSET/IA3Z3225.pdf, page 2, tweaked<br> + to rotate by 270).<br> +<br> + Reverting for now so I can try to find a less hacky (and hence<br> + less error prone) way of working.<br> +<br> +base/gxiscale.c<br> +base/sisparam.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-14 07:45:29 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f7acb2502eadeff35dc791b52400d1a301059927">f7acb2502eadeff35dc791b52400d1a301059927</a> +<blockquote> +<p> + Dates etc for 9.23 rc2<br> +<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-13 10:37:08 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7c9a54209a2758769102361a456353e7e5993821">7c9a54209a2758769102361a456353e7e5993821</a> +<blockquote> +<p> + Squash a benign compiler warning<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-13 10:33:52 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=353c6caa4b8dea6baae337b30217139e996e9b94">353c6caa4b8dea6baae337b30217139e996e9b94</a> +<blockquote> +<p> + pdfwrite - reject inappropriate ICC profiles<br> +<br> + PDF files cannot include the full possible range of ICC profiles, if<br> + we encounter one of these (eg from an XPS file) then refuse to embed it<br> + and instead return gs_error_rangecheck, so that the calling code will<br> + fall back to a device space representation.<br> +<br> + NOTE we currently permit GS_UNDEFINED as a valid data_cs which we really<br> + shouldn't but the current code, when converting a CIEBasedDEF or<br> + CIEBasedDEFG (possibly other CIE spaces) to ICC creates a profile<br> + where data_cs is GS_UNDEFINED (which is 0, so probably not actually<br> + filled in).<br> +<br> +devices/vector/gdevpdfk.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-12 14:22:44 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=23f66c8eec91e8efcbc600d987cf8bde7e3dce4b">23f66c8eec91e8efcbc600d987cf8bde7e3dce4b</a> +<blockquote> +<p> + pdfwrite - avoid use of /.notdef when converting PCL fonts to type 3<br> +<br> + Bug #699102 "using -sDEVICE=pdfwrite option generate an incorrect code 128 barcode"<br> +<br> + This is actually an Acrobat bug, every other viewer I've tested works as<br> + expected, Acrobat does not.<br> +<br> + The problem appears to be related to defining a /.notdef glyph and<br> + encoding it at a position other than 0 in the Encoding. If we do that,<br> + and use the encoded /.notdef glyph, Acrobat quietly replaces it with the<br> + glyph encoded at position 0 in the Encoding of the font.<br> +<br> + Because of the way that PCL fonts work, when we are converting PCL<br> + fonts to type 3 PDF fonts, the character (PCL) 0x1D gets assigned the<br> + glyph name /.notdef. The actual Encoding of the glyph is at position<br> + 0x1D however, which causes Acrobat to substitute the glyph at Encoding<br> + position 0.<br> +<br> + This is obviously wrong. However, since its Acrobat, here we add yet<br> + another heuristic to avoid defining glyphs with the name /.notdef when<br> + creating type 3 PDF fonts from PCL fonts.<br> +<br> + No differences expected<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-08 13:21:54 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1567dba0b505a0bb816e7b2e34f3915165a7d5b3">1567dba0b505a0bb816e7b2e34f3915165a7d5b3</a> +<blockquote> +<p> + Avoid total image dropout in interplated rescales.<br> +<br> + Tests show that the following command causes images to disappear:<br> +<br> + gxps -o out.ppm -sDEVICE=ppmraw -72 tests_private/xps/xpsfts-a4/fts_27xx.xps<br> +<br> + This is because we scale a 1600 wide image down to 27 pixels across.<br> + As such the weights for each individual pixel round to zero, and we<br> + get nothing displayed.<br> +<br> + Adjust for this by still calculating weights as doubles, and carrying<br> + the error across the line. This keeps the total sum of the differences<br> + correct.<br> +<br> +base/siscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-07 12:19:48 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6285cdd7ae7b1c97ffcf0c824234659b03d6d6a">c6285cdd7ae7b1c97ffcf0c824234659b03d6d6a</a> +<blockquote> +<p> + Dates and versions for 9.23 rc1<br> +<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-07 09:59:55 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0df45c3d11246d773110d5b1a563d7462f3acac1">0df45c3d11246d773110d5b1a563d7462f3acac1</a> +<blockquote> +<p> + Revision date and product for release candidate<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-26 15:48:45 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8c206ceeeac12b048aeafc9ea51080b624750ff4">8c206ceeeac12b048aeafc9ea51080b624750ff4</a> +<blockquote> +<p> + Bug 699068: configure.ac: forcibly disable strict aliasing via CFLAGS<br> +<br> + In case user specifies their own CFLAGS that contains -O2, -O3, -Os or<br> + -fstrict-aliasing, the default behaviour to disable the strict<br> + aliasing will be overriden and enabled, which is not correct...<br> +<br> + This commit will append the -fno-strict-aliasing option to CFLAGS set<br> + by user, which will effectively force the disabling of strict aliasing.<br> +<br> + NOTE: originally the patch issued a warning when appending -fno-strict-aliasing<br> + and I've changed it to a normal checking/result message pattern - it seems less<br> + likely to cause end user confusion/panic<br> +<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-05 21:48:02 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=39686173fd26eb6e5eee91202433f5e5f307f61c">39686173fd26eb6e5eee91202433f5e5f307f61c</a> +<blockquote> +<p> + Bug 697545 : Update functions to return error codes.<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +base/gscolor.c<br> +base/gsdparam.c<br> +base/gsptype1.c<br> +pcl/pcl/pcbiptrn.c<br> +pcl/pcl/pcpatrn.c<br> +pcl/pcl/pginit.c<br> +pcl/pcl/pglabel.c<br> +pcl/pcl/rtraster.c<br> +pcl/pl/plparams.c<br> +pcl/pxl/pxgstate.c<br> +pcl/pxl/pxink.c<br> +pcl/pxl/pxpthr.c<br> +psi/ztrans.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-21 19:59:25 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=469bd6ecf5b223b3e6e3f32ec5a4900866c35e57">469bd6ecf5b223b3e6e3f32ec5a4900866c35e57</a> +<blockquote> +<p> + Bug 699057: Makefile.in: @LDFLAGS@ added into GCFLAGS<br> +<br> + Previously, the 'gsc' and 'gsx' binaries were not using LDFLAGS when<br> + they were built with shared library. Adding LDFLAGS into GCFLAGS fixes<br> + this issue, and specifying LDFLAGS now works for these binaries as well.<br> +<br> +Makefile.in<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-06 10:16:43 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=71e152462e2b47e8e31aec7cf1238934640aa480">71e152462e2b47e8e31aec7cf1238934640aa480</a> +<blockquote> +<p> + Update zlib to 1.2.11<br> +<br> +zlib/CMakeLists.txt<br> +zlib/ChangeLog<br> +zlib/Makefile.in<br> +zlib/README<br> +zlib/adler32.c<br> +zlib/as400/bndsrc<br> +zlib/as400/compile.clp<br> +zlib/as400/readme.txt<br> +zlib/compress.c<br> +zlib/configure<br> +zlib/contrib/README.contrib<br> +zlib/contrib/ada/zlib-streams.ads<br> +zlib/contrib/ada/zlib-thin.ads<br> +zlib/contrib/blast/blast.c<br> +zlib/contrib/blast/blast.h<br> +zlib/contrib/delphi/ZLib.pas<br> +zlib/contrib/dotzlib/DotZLib/UnitTests.cs<br> +zlib/contrib/infback9/inftree9.c<br> +zlib/contrib/minizip/configure.ac<br> +zlib/contrib/minizip/iowin32.c<br> +zlib/contrib/minizip/unzip.c<br> +zlib/contrib/minizip/zip.c<br> +zlib/contrib/pascal/zlibpas.pas<br> +zlib/contrib/puff/puff.c<br> +zlib/contrib/vstudio/readme.txt<br> +zlib/contrib/vstudio/vc10/zlib.rc<br> +zlib/contrib/vstudio/vc10/zlibvc.def<br> +zlib/contrib/vstudio/vc11/zlib.rc<br> +zlib/contrib/vstudio/vc11/zlibvc.def<br> +zlib/contrib/vstudio/vc12/miniunz.vcxproj<br> +zlib/contrib/vstudio/vc12/minizip.vcxproj<br> +zlib/contrib/vstudio/vc12/testzlib.vcxproj<br> +zlib/contrib/vstudio/vc12/testzlibdll.vcxproj<br> +zlib/contrib/vstudio/vc12/zlib.rc<br> +zlib/contrib/vstudio/vc12/zlibstat.vcxproj<br> +zlib/contrib/vstudio/vc12/zlibvc.def<br> +zlib/contrib/vstudio/vc12/zlibvc.sln<br> +zlib/contrib/vstudio/vc12/zlibvc.vcxproj<br> +zlib/contrib/vstudio/vc14/miniunz.vcxproj<br> +zlib/contrib/vstudio/vc14/minizip.vcxproj<br> +zlib/contrib/vstudio/vc14/testzlib.vcxproj<br> +zlib/contrib/vstudio/vc14/testzlibdll.vcxproj<br> +zlib/contrib/vstudio/vc14/zlib.rc<br> +zlib/contrib/vstudio/vc14/zlibstat.vcxproj<br> +zlib/contrib/vstudio/vc14/zlibvc.def<br> +zlib/contrib/vstudio/vc14/zlibvc.sln<br> +zlib/contrib/vstudio/vc14/zlibvc.vcxproj<br> +zlib/contrib/vstudio/vc9/zlib.rc<br> +zlib/contrib/vstudio/vc9/zlibvc.def<br> +zlib/crc32.c<br> +zlib/deflate.c<br> +zlib/deflate.h<br> +zlib/examples/gun.c<br> +zlib/examples/gzlog.c<br> +zlib/examples/zran.c<br> +zlib/gzguts.h<br> +zlib/gzlib.c<br> +zlib/gzread.c<br> +zlib/gzwrite.c<br> +zlib/infback.c<br> +zlib/inffast.c<br> +zlib/inflate.c<br> +zlib/inflate.h<br> +zlib/inftrees.c<br> +zlib/msdos/Makefile.dj2<br> +zlib/msdos/Makefile.emx<br> +zlib/old/Makefile.emx<br> +zlib/old/os2/Makefile.os2<br> +zlib/os400/README400<br> +zlib/os400/bndsrc<br> +zlib/os400/make.sh<br> +zlib/os400/zlib.inc<br> +zlib/qnx/package.qpg<br> +zlib/test/example.c<br> +zlib/test/infcover.c<br> +zlib/test/minigzip.c<br> +zlib/treebuild.xml<br> +zlib/trees.c<br> +zlib/uncompr.c<br> +zlib/win32/Makefile.gcc<br> +zlib/win32/Makefile.msc<br> +zlib/win32/README-WIN32.txt<br> +zlib/win32/VisualC.txt<br> +zlib/win32/zlib.def<br> +zlib/win32/zlib1.rc<br> +zlib/zconf.h<br> +zlib/zconf.h.cmakein<br> +zlib/zconf.h.in<br> +zlib/zlib.3<br> +zlib/zlib.3.pdf<br> +zlib/zlib.h<br> +zlib/zlib.map<br> +zlib/zutil.c<br> +zlib/zutil.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-06 12:36:11 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=08482c582115a1396d0fd9186011008f889a61c5">08482c582115a1396d0fd9186011008f889a61c5</a> +<blockquote> +<p> + Work around a change in the zlib API for 1.2.11<br> +<br> + where it's used in the Freetype/zlib interface debugging code.<br> +<br> +freetype/src/gzip/zutil.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-02 10:54:06 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3da667d889e54fb1a323769fbb4f93b971d0fff4">3da667d889e54fb1a323769fbb4f93b971d0fff4</a> +<blockquote> +<p> + CCITT Fax - ensure calculation rounds up<br> +<br> + Still Bug #696413, follows on from commit 0221c9<br> +<br> + When calculating the number of bytes required to store the encoded lines<br> + we multiply the number of columns byt the number of bits required<br> + for 2 pixels, then divide by 16 to get the required number of bytes.<br> +<br> + This commit simply ensures that the division by 16 is rounded *up* and<br> + not down. Previously we could end up dropping up to 7 bits of required<br> + space. Generally this is not likely to be a problem but it is technically<br> + a problem, and can be demonstrated on pathological cases.<br> +<br> +base/scfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-03-01 18:13:13 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0221c9e4c43b25375dab6c9d15a777eecf20d261">0221c9e4c43b25375dab6c9d15a777eecf20d261</a> +<blockquote> +<p> + Fix CCITT Fax Encoder<br> +<br> + Bug #696413 "Seg faults found by fuzzing in pdf_store_page_resources (gdevpdfu.c:1663)"<br> +<br> + As noted it eh bug report, the problem is that the encoding buffer is<br> + allocated with a size based on the maximum number of bits for horizontal<br> + encoding (6 bits per pixel), but for 2D encoding some of the bits might<br> + use vertical encoding. Vertically encoded bits with an offset of 3 use<br> + 7 bits per pixel, not 6.<br> +<br> + If we get a line with sufficient 7-bit encodings, where the horizontal<br> + bits are encoded with 6 bits (eg runs of 1 pixel), then we can end up<br> + running off the end of the buffer. Make the allocation assume a maximum<br> + of 7 encoded bits per pixel instead.<br> +<br> +base/scfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-27 20:56:07 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e27f0530e3410547563daf757dc5c121c21d2f1c">e27f0530e3410547563daf757dc5c121c21d2f1c</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in show_proceed.<br> +<br> + Fix memory leak and SEGV when gs_newpath returns an error code.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=9017 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gxchar.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-27 21:12:12 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49974a63cad8c792067fbf63905a271022b0e806">49974a63cad8c792067fbf63905a271022b0e806</a> +<blockquote> +<p> + Bug 697545 : Fix memory leaks in hpgl_print_char.<br> +<br> + Fix memory leak when pcl_mark_page_for_current_pos returns an error code.<br> + Also prevent path becoming orphaned in cpath_set_rectangle.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=9010 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gxcpath.c<br> +pcl/pcl/pglabel.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-28 17:17:23 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=03194b72312b6777021f0554bdd30fecc89db486">03194b72312b6777021f0554bdd30fecc89db486</a> +<blockquote> +<p> + txtwrite - guard against infinite loop<br> +<br> + vertical text could result in an advance width of 0, which would cause<br> + us to try and write an infinite number of spaces.<br> +<br> +devices/vector/gdevtxtw.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-28 14:04:32 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d57bd7ce641d8134d559f5e8190e2578137e1d39">d57bd7ce641d8134d559f5e8190e2578137e1d39</a> +<blockquote> +<p> + txtwrite - better dynamic resizing<br> +<br> + A better fix for bug #699078, this implemnets the thought I had while<br> + writing up the description of the problem. In this case we check whether<br> + the current 'effective size' of the monospaced font would lead to<br> + the end of the current run of text lying to the right of the 'next' run<br> + of text on this line. If it would, then use the newly calculated<br> + effective size, no matter how small it is, to avoid collisions.<br> +<br> +devices/vector/gdevtxtw.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-28 09:34:06 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d0d4e282f98487ca2979edbaf6834d9341bcee53">d0d4e282f98487ca2979edbaf6834d9341bcee53</a> +<blockquote> +<p> + txtwrite - slacken a restriction on minimum width selection<br> +<br> + Bug #699078 " Extracted text is not properly seperated"<br> +<br> + Allow the minimum size assigned to the monospaced output to be smaller<br> + than previously (previously we limited it to .75 of the smallest point<br> + size of any used font).<br> +<br> + This will reduce the number of horizontal text collisions at the cost<br> + of potentially making the text output wider.<br> +<br> + Essentially this is caused by using a monospaced font to represent the<br> + original proportionally spaced input. A sufficiently long run of<br> + characters which are significantly less than the M width could result in<br> + the position being further to the right (when converted to monspaced<br> + text) than the neext horizontal fragment. So we wouldn't try to<br> + space it any further.<br> +<br> + Previously we limited the calculation of the minimum character size in<br> + a run to 3/4 of the M space. Here we reduce that to 1/2 which will<br> + permit more flexibility, but as stated, at the potential cost of the<br> + output text being 'wider' (containing more spaces).<br> +<br> +devices/vector/gdevtxtw.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-26 21:25:19 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a16736bc4ea251c46f1aa1d3b6176aadf5f0b914">a16736bc4ea251c46f1aa1d3b6176aadf5f0b914</a> +<blockquote> +<p> + Bug 697545 : Update PCL to return error codes (Patch VI).<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +pcl/pl/plparams.c<br> +pcl/pl/pluchar.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-25 20:36:29 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=50f7fc4f7a99d874af86e4a874067ba3a7760c42">50f7fc4f7a99d874af86e4a874067ba3a7760c42</a> +<blockquote> +<p> + Bug 697545 : Update PCL to return error codes (Patch V).<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +pcl/pcl/rtraster.c<br> +pcl/pl/plchar.c<br> +pcl/pl/plht.c<br> +pcl/pl/pllfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-23 18:02:47 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0edcf910b80a1656c9441f32bd1770d2600ab915">0edcf910b80a1656c9441f32bd1770d2600ab915</a> +<blockquote> +<p> + Bug 697545 : Update PCL to return error codes (Patch IV).<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +pcl/pcl/pginit.c<br> +pcl/pcl/pginit.h<br> +pcl/pcl/pglabel.c<br> +pcl/pcl/pglfill.c<br> +pcl/pcl/pgmand.h<br> +pcl/pcl/pgmisc.c<br> +pcl/pcl/pgpoly.c<br> +pcl/pcl/pgvector.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-22 20:34:53 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9f90d1361564289e6dbe56863a5fe1be1ca28f83">9f90d1361564289e6dbe56863a5fe1be1ca28f83</a> +<blockquote> +<p> + Bug 697545 : Update PCL to return error codes (Patch III).<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +pcl/pcl/pgchar.c<br> +pcl/pcl/pgconfig.c<br> +pcl/pcl/pgdraw.c<br> +pcl/pcl/pgfdata.c<br> +pcl/pcl/pgfont.c<br> +pcl/pcl/pgframe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-23 14:35:57 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6375e295893a71b5695fba2ca117747e326c8ec2">6375e295893a71b5695fba2ca117747e326c8ec2</a> +<blockquote> +<p> + pdfwrite - gracefully handle inappropriate PDFA command line<br> +<br> + If a user sets -dPDFA, but does not set ColorConversionStrategy, and<br> + then processes an input file which has a DeviceN space with an alternate<br> + space which does not match the ProcessColorModel, then we would write<br> + an invalid PDF file (invalid function for the colour space).<br> +<br> + Now technically this shouldn't happen, but we can guard against this<br> + specific user error by spotting the problem and returning a rangecheck<br> + error instead, which will cause the earlier code to fall back to<br> + writing a device colour instead.<br> +<br> + No diffrences expected.<br> +<br> +devices/vector/gdevpdfc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-20 22:13:51 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=03607549d598b14ebbb6d4aea9591e10fc35c6cc">03607549d598b14ebbb6d4aea9591e10fc35c6cc</a> +<blockquote> +<p> + Bug 697545 : Update PCL to return error codes (Patch II).<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +pcl/pcl/pcsfont.c<br> +pcl/pcl/pcsymbol.c<br> +pcl/pcl/pctext.c<br> +pcl/pcl/pctop.c<br> +pcl/pcl/pcuptrn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-20 18:40:37 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de2c3c2c536d5aff97091b146ed259270228dcb9">de2c3c2c536d5aff97091b146ed259270228dcb9</a> +<blockquote> +<p> + Bug 697545 : Update PCL to return error codes (Patch I).<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> +pcl/pcl/pccolor.c<br> +pcl/pcl/pcdraw.c<br> +pcl/pcl/pcfontpg.c<br> +pcl/pcl/pcindxed.c<br> +pcl/pcl/pcjob.c<br> +pcl/pcl/pcmacros.c<br> +pcl/pcl/pcpalet.c<br> +pcl/pcl/pcparse.c<br> +pcl/pcl/pcpatrn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-14 17:26:23 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f2f27a730fc7ba76847d39fc46d6d7183cd27a3">8f2f27a730fc7ba76847d39fc46d6d7183cd27a3</a> +<blockquote> +<p> + Bug 697545 : Fix memory leaks during font loading.<br> +<br> + Fix memory leaks for numerous allocation events.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=1564 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gstype42.c<br> +base/gxfapi.c<br> +pcl/pl/plfapi.c<br> +pcl/pl/plfont.c<br> +pcl/pl/pllfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-18 16:05:18 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cceb3db394d9547d309f596001b02c63dec4d7f5">cceb3db394d9547d309f596001b02c63dec4d7f5</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gx_path_new.<br> +<br> + During a memory allocation event failure the orginal path would not be<br> + decremented and hence become orphaned.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=8959 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gxpath.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-19 15:43:20 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f5736cb8a255cdfe00d59896dc39d050d1db00e">3f5736cb8a255cdfe00d59896dc39d050d1db00e</a> +<blockquote> +<p> + Add more bounds checking to type 2 font interpreter<br> +<br> + Bug #699042 "stack out of bounds read in gs_type2_interpret, gstype2.c line 701"<br> +<br> + The warning is caused by 'csp' being below the cstack bottom bound.<br> + Adding a check for that prevents this warning. While we're here, add<br> + checks to the bounds of 'transient_array' which wasn't being checked<br> + previously.<br> +<br> +base/gstype2.c<br> +base/gxtype1.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-19 14:26:29 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc2bfef83b1dca09e016e43238f71ca6c7a622b3">cc2bfef83b1dca09e016e43238f71ca6c7a622b3</a> +<blockquote> +<p> + PDF interpreter - fix ToUnicode processing of bfrange with high byte set<br> +<br> + Bug #699041 "Cyrilic text not respected"<br> +<br> + The title is a misnomer, the problem is not Cyrillic fonts as such.<br> +<br> + The example file has an unusually complex ToUnicode CMap, which includes<br> + bfrange entries where the CID has a value > 0xFF. The code in pdf_font.ps<br> + to create our internal GlyphNames2Unicode table was adding the 'offset'<br> + (The high byte of the index) to the CID, which basically means we were<br> + adding the high byte twice (the key already included the high byte).<br> +<br> + Fix this by simply not adding the offset to the keys.<br> +<br> + Its surprisingly hard to find examples of this, I can't immediately see<br> + any in our test suite. I have gone through some of the files which<br> + have been reported as problems with ToUnicode processing in the past<br> + but none of them fall into this condition.<br> +<br> + A couple of files show difference, but these are irrelevant, they are of<br> + the 'wrong before, differently wrong now' category.<br> +<br> +Resource/Init/pdf_font.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-18 14:18:10 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb2aa457387429b84c043430354b8476ac918961">eb2aa457387429b84c043430354b8476ac918961</a> +<blockquote> +<p> + Squash a couple of build warnings<br> +<br> + Sort out negation of the PDFA flag<br> +<br> + Ensure a variable is initialised under all conceivable circumstances<br> +<br> +devices/vector/gdevpdtd.c<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-16 19:32:11 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f006720c87026a67cdcaeab983fe888d4401cb0e">f006720c87026a67cdcaeab983fe888d4401cb0e</a> +<blockquote> +<p> + Bug 697545 : Prevent SEGV by returning error codes.<br> +<br> + Prevent numerous SEGV points by ensuring error codes are returned and<br> + handled appropriately.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=8961 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pgconfig.c<br> +pcl/pcl/pgframe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-16 18:56:23 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=833333a6df506ad9525bb797245042442a0f31cb">833333a6df506ad9525bb797245042442a0f31cb</a> +<blockquote> +<p> + Bug 697545 : Prevent SEGV in palette_do_reset.<br> +<br> + Prevent SEGV when trying to access contents of empty palette.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=8956 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pcpalet.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-16 18:39:30 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0ebfdae6fceedbbe7036c487916193b4349d4dd3">0ebfdae6fceedbbe7036c487916193b4349d4dd3</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in alloc_indexed_cspace.<br> +<br> + Fix memory leak for allocation event 8953.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=8954 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pcindxed.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-13 15:53:09 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9f9daedfdf98bab590eba53e34fba76b96307ec0">9f9daedfdf98bab590eba53e34fba76b96307ec0</a> +<blockquote> +<p> + Fix Bug 698969 SEGV caused by overflow in mark_line_*** functions<br> +<br> + Clipping needs to be performed in 64-bit to allow for the original<br> + line segment being larger than can fit in signed 32-bit.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-16 10:29:00 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad07c06b7f898eeb663ee7eed336c2c602a91551">ad07c06b7f898eeb663ee7eed336c2c602a91551</a> +<blockquote> +<p> + pdf_info.ps - check for null DescendantFonts after oforce<br> +<br> + pdf_info.ps was modified to check for circular references when resolving<br> + indirect objects. Now if we find recursion we return a null.<br> +<br> + However, we weren't checking that when resolving DescendantFonts which<br> + could lead to a typecheck error if we had two different CIDFonts on<br> + the same page, and the CIDFonts used the same DescendantFonts array<br> + (which is silly, of course).<br> +<br> +toolbin/pdf_info.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-15 10:15:28 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6a8c1d6be02fc7020ab4cf5cfbecf91790f7dc10">6a8c1d6be02fc7020ab4cf5cfbecf91790f7dc10</a> +<blockquote> +<p> + Bug 696654 - PCL/PXL fails to build with system-shared libjpeg.<br> +<br> + Remove the HP CLJ 3500/3500/3600 emulation until it can be properly<br> + integrated with libjpeg.<br> +<br> +base/gdevpxat.h<br> +base/gdevpxen.h<br> +pcl/pxl/pxl.mak<br> +pcl/pxl/pxptable.c<br> +pcl/pxl/pxsessio.c<br> +pcl/pxl/pxstate.h<br> +pcl/pxl/pxvendor.c<br> +pcl/pxl/pxvendor.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-15 14:36:10 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=094aebef5c058ad312e5d2bfd46d897c21fac398">094aebef5c058ad312e5d2bfd46d897c21fac398</a> +<blockquote> +<p> + pdfwrite - remove dead code<br> +<br> + Commit efb9bf3949617b4c733a6dcce04acd142c50115d changed the flow of<br> + control to avoid going through code which could not work, since it left<br> + a variable unassigned (and didn't do any part of the work that would<br> + be required to give the variable a sensible value).<br> +<br> + That left some code unreachable leading to a coverity warning (Coverity<br> + ID 262411). I was unable to find any way to trigger the original<br> + condition, and the code as it stands should at least work, even if it<br> + might be sub-optimal in some cases. So remove the dead code to prevent<br> + the warning, if this needs fixing in future there will need to be more<br> + code written anyway.<br> +<br> +devices/vector/gdevpdfb.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-15 09:02:01 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4384f85cbb9383cbeefea80e45e8893a5d64c7af">4384f85cbb9383cbeefea80e45e8893a5d64c7af</a> +<blockquote> +<p> + PDF interpreter - remove a debug pstack<br> +<br> + accidentally left some debugging code in place, remove it now.<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-14 17:01:21 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7d1b64fe9474d4c1e6d5f4185c77cb42a8ac5bc0">7d1b64fe9474d4c1e6d5f4185c77cb42a8ac5bc0</a> +<blockquote> +<p> + Remove a long obselete C source file<br> +<br> + Also remove a documentation reference and Windows project references<br> +<br> +doc/Develop.htm<br> +psi/zhsb.c<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-14 17:26:23 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ecf45b80c55bc79c17bed5143426cd9f8060ec2f">ecf45b80c55bc79c17bed5143426cd9f8060ec2f</a> +<blockquote> +<p> + Bug 697545 : Fix memory leaks during tt font loading.<br> +<br> + Fix memory leak for allocation event numbers 1551, 1552 and 1553.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=1554 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/plfont.c<br> +pcl/pl/pllfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-14 15:38:42 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bb8f0822a31e0e976cb659000532fde2fdbccd8c">bb8f0822a31e0e976cb659000532fde2fdbccd8c</a> +<blockquote> +<p> + PDF interpreter - detect and ignore circular references in Outlines<br> +<br> + Bug #699029 "infinite loop on pdfium test file"<br> +<br> + If the /Next in an Outline points to any previously encountered<br> + Outline entry, terminate processing of Outlines and warn the user.<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-14 10:28:37 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=06ceaa2715fcbe2056214b0f958edc7deb4fa085">06ceaa2715fcbe2056214b0f958edc7deb4fa085</a> +<blockquote> +<p> + pdfwrite - improve stack bounds checking on font interpreters<br> +<br> + Bug #699020 "stack buffer underflow (read) in gs_type2_interpret / gstype2.c line 567"<br> +<br> + The internal type 1 and type 2 font interpreters are only used by<br> + the vector devices (in particular pdfwrite), for rendering we use<br> + FreeType.<br> +<br> + This commit improves the bounds checking of the operand stacks used<br> + by these interpreters, to catch more cases of badly formed or<br> + corrupted fonts and throw an error in these cases.<br> +<br> + This addresses the stated bug, but should actually prevent a lot<br> + more problems which we haven't yet seen test cases for.<br> +<br> +base/gstype1.c<br> +base/gstype2.c<br> +base/gxtype1.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-13 12:00:10 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c1a8dc52c0e320c41d04b6f32086622150962d61">c1a8dc52c0e320c41d04b6f32086622150962d61</a> +<blockquote> +<p> + fix commit bcef41ad72a16472a3003d357bf8d8680174ab85<br> +<br> + Accidentally left currentdict on the operand stack afetr startup.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-13 10:48:16 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=16586a6a0d8fac17d5201f102e0775e527d3a529">16586a6a0d8fac17d5201f102e0775e527d3a529</a> +<blockquote> +<p> + Bug 699019: bounds check stack access in Type 2 vmoveto<br> +<br> +base/gstype2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-13 10:22:56 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bcef41ad72a16472a3003d357bf8d8680174ab85">bcef41ad72a16472a3003d357bf8d8680174ab85</a> +<blockquote> +<p> + PS interpreter - fix setpagedevice with -dDELAYBIND<br> +<br> + When a user sets a fixed resolution using -r, then the setpagedevice<br> + code looks for the existence of a /HWResolution key in the page device<br> + dictionary and attempts to remove it using .undef to prevent the<br> + resolution being altered.<br> +<br> + However, if DELAYBIND is set, then the .undef operator is removed<br> + before .bindnow is run, which means that, when setpagedevice executes,<br> + the .undef operator is not defined.<br> +<br> + So add the same code for .undef as we use for other similar operators<br> + (eg .forceundef), don't remove the definition if DELAYBIND is set, but<br> + do remove it when .bindnow executes.<br> +<br> + This is, of course, a security hole, but then the whole DELAYBIND<br> + situation is.<br> +<br> + While we are here, add a key /NOBIND with the value false to systemdict.<br> + This is because some ancient, badly-behaved and no longer maintained<br> + software checks this key unconditionally, if its not present it fails<br> + with an undefined error. Setting it to false pacifies that software.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-13 08:52:32 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=310a0bcaba3527903fc66fed2984f30d0bd4e4ab">310a0bcaba3527903fc66fed2984f30d0bd4e4ab</a> +<blockquote> +<p> + Bug 699016: add stack bounds check for Type 1 seac<br> +<br> + The macro for checking the stack bounds is now called from both the Type 1 and<br> + Type 2 charstring code, so move it to a common header, and tweak the name to<br> + fit.<br> +<br> +base/gstype2.c<br> +base/gxtype1.c<br> +base/gxtype1.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-13 08:35:22 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9bbf14bc7210bc54613b0f64a5ad95368891982a">9bbf14bc7210bc54613b0f64a5ad95368891982a</a> +<blockquote> +<p> + Bug 699015: bounds check stack for Type 2 callsubr<br> +<br> +base/gstype2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-12 21:47:29 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0e9ba7084176c7834db00927a8326310c6b83a67">0e9ba7084176c7834db00927a8326310c6b83a67</a> +<blockquote> +<p> + Fix memory leak in xps_imp_set_device.<br> +<br> + The param list can become orphaned if an error occurs early on in the code.<br> +<br> +xps/xpstop.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-11 20:44:04 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5e9639e974afaa89027a5ccd573e50ff98e3ca3f">5e9639e974afaa89027a5ccd573e50ff98e3ca3f</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in pcl_load_built_in_symbol_sets.<br> +<br> + Fix memory leak for allocation event number 1266.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=1267 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pcsymbol.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-11 20:20:36 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e4c6beff724a4e0078a48e6f5200c23ae73f52b">3e4c6beff724a4e0078a48e6f5200c23ae73f52b</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in pl_top_create_device.<br> +<br> + The param list can become orphaned if an error occurs early on in the code.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=676 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-12 15:23:19 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a4445fe0a312af901a79d6f41ace975a50d88a31">a4445fe0a312af901a79d6f41ace975a50d88a31</a> +<blockquote> +<p> + Bug 699012: bounds check point index in Move_Zp2_Point()<br> +<br> +base/ttinterp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-12 12:05:44 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e7abbb92e92ba326b4fc06491bd3c3cde61932b3">e7abbb92e92ba326b4fc06491bd3c3cde61932b3</a> +<blockquote> +<p> + Bug 699013: Check glyph has a contour before accessing it.<br> +<br> + in Ins_IUP()<br> +<br> +base/ttinterp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-12 15:20:23 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=edf3684305414731fbdb9b90de7dbcbab0dace5f">edf3684305414731fbdb9b90de7dbcbab0dace5f</a> +<blockquote> +<p> + Fix comments<br> +<br> + The comments in zinitgrpahics and the PostScript definition of<br> + initgraphics in gs_cspace.ps were incorrect, now that gs_initgraphics<br> + does reset the colour space properly.<br> +<br> + However, we do still need the /initgraphics override in gs_cspace.ps<br> + in order to correctly set the colour space which we store in the<br> + 'interpreter' graphics state. We only use that to hand back in response<br> + to a currentcolorspace, but we do need it.<br> +<br> +Resource/Init/gs_cspace.ps<br> +psi/zgstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-12 13:47:18 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b7a0556297296d8355748b9b130de02923a1c4cd">b7a0556297296d8355748b9b130de02923a1c4cd</a> +<blockquote> +<p> + Check for error case in gs_cspace_new_ICC()<br> +<br> + If we fail to allocate memory for a new colour space, simply return<br> + NULL, don't try to use the failed allocation!<br> +<br> +base/gscspace.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-12 12:21:50 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7a708d9fdcba9efbe21f236830e47eb4f4085672">7a708d9fdcba9efbe21f236830e47eb4f4085672</a> +<blockquote> +<p> + More work with initgraphics<br> +<br> + Firstly, remove the kludgy gs_initgraphics_no_cspace() and have the<br> + PostScript operator zinitgraphics() call gs_initgraphics().<br> +<br> + This meant fixing the gs_initgraphics routine; the previous commit<br> + d527031607a881237819835c2b1045c81e24c387 simply overwrote the existing<br> + colour spaces in the graphics state with the new DeviceGray space. This<br> + could lead to memory leaks if the previous colour space had been<br> + reference counted up. So now we call gs_setcolorspace instead, which also<br> + correctly sets the current colour.<br> +<br> + This led to the interesting discovery that the null brush in PXL has<br> + never been handled properly by the high level devices. This is<br> + handled by the PXL interpreter setting a DeviceGray colour space, and<br> + then directly editing the device colour 'type' field and setting it to<br> + 'typ_null'. This doesn't seem like the best way to proceed to me, I<br> + would have expected us to push the nulldevice, but its what is done.<br> +<br> + No in gx_hld_is_hl_color_available() the code simply tested whether<br> + the device color 'ccolor_valid' flag was set. Since the PXL interpreter<br> + simply stomped on the type field, and did not update any of the other<br> + fields, the result of this was unknown. Sometimes we would decide it<br> + was valid, and sometimes not. If we did decide it was valid then we<br> + used the DeviceGray space and colour (0, black) which was also set up<br> + by the null brush code to draw the object, which means that we could<br> + end up drawing objects which should not be drawn.<br> +<br> + 'Fixed' this by having the code explicitly test for the device color<br> + type being 'null' as well as being valid. In passing, it did appear<br> + to me that we do not always update the ccolor_valid flag in the device<br> + color structure, which may well lead to more problems of this kind.<br> +<br> + This does result in a number of differences in the output. Mostly<br> + these are due to the error page now always being rendered in DeviceGray<br> + which results in a slightly (invisible) difference in printed gray text.<br> + A very large number of the Quality Logic files exhibit progressions<br> + due to the fact that we are now correctly processing the null brush.<br> +<br> +base/gsstate.c<br> +base/gxhldevc.c<br> +psi/zgstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-04 18:45:26 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1af4fced38d9d842195e5635c9e0aa4b5e13f21b">1af4fced38d9d842195e5635c9e0aa4b5e13f21b</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in pcl interpreter.<br> +<br> + If an error occurs during pl_set_device then the new interpreter is partially<br> + set up but the old interpreter is still listed as current so the cleanup<br> + code does not reclaim the partially set up memory. The patch ensures the<br> + correct interpreter is cleaned up and also zeros out unset fields to prevent<br> + a SEGV during memory freeing.<br> +<br> + Fix memory leak for allocation event number 1265.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=1266 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pctop.c<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-10 22:28:04 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=98d8f8d12a40bf36f0acdaefc0c63a7562326cab">98d8f8d12a40bf36f0acdaefc0c63a7562326cab</a> +<blockquote> +<p> + Fix compile warning about possible uninitialized procedure pointers<br> +<br> + Setting to NULL is OK since it will trigger a SEGV, but it looks<br> + like the code will always set the procedures if it needs the source<br> + colors.<br> +<br> +base/gdevmpla.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-10 11:43:15 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2fe4c53757ef143071517216cacdbb228dfc4243">2fe4c53757ef143071517216cacdbb228dfc4243</a> +<blockquote> +<p> + Fix compiler warning: mlut_size<br> +<br> + This is OK because mlut_size is only used when 'clut' is non-NULL<br> + but if so, it is initialized in line 1179.<br> +<br> +base/gsicc_create.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-10 11:28:48 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d3fb0f876971f604597c10519259520a8035cb58">d3fb0f876971f604597c10519259520a8035cb58</a> +<blockquote> +<p> + Fix gcc warning: gscms_is_threadsafe prototype<br> +<br> +base/gsicc_cms.h<br> +base/gsicc_lcms2.c<br> +base/gsicc_lcms2art.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-06 11:53:24 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=01a71ecbfe576d0a840946a0089f23ce131e995d">01a71ecbfe576d0a840946a0089f23ce131e995d</a> +<blockquote> +<p> + Change from CMM_THREAD_SAFE #define to a gscms_is_threadsafe function<br> +<br> + In preparation for enabling sharing the profiles and link cache among<br> + rendering threads, switch from a compile time flag to a function that<br> + is returned by the CMS interface module linked in (e.g gsicc_lcms2.c)<br> +<br> + This avoids more build machinery to propagate the flag, and ensures<br> + that the flag won't be mis-matched to the CMS in use.<br> +<br> + Also flag a few FIXME places identified that relate to multi-threaded<br> + sharing of profiles and the profile link cache. Initially, even though<br> + lcms2art is thread safe, return "false" until the multi-threaded<br> + rendering works.<br> +<br> +base/gdevp14.c<br> +base/gsicc_cms.h<br> +base/gsicc_lcms2.c<br> +base/gsicc_lcms2art.c<br> +base/gxcldev.h<br> +base/gxclthrd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-10 10:59:29 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=da66356a665432f998642b2e9c45756f876f0996">da66356a665432f998642b2e9c45756f876f0996</a> +<blockquote> +<p> + PCL interpreter - correctly identify high level devices<br> +<br> + Pointed out by Chris, the code in here explicitly tested the name of the<br> + device to decide if it was a high level device. We deprecated that<br> + approach some time ago, replacing it with a spec_op call instead.<br> +<br> + The comment said 'this needs a better solution' and this is it.<br> +<br> + Should work correctly now with any device which identifies itself as a<br> + high level device.<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-08 13:57:54 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4b4a301c90a8905d6b7ba703342ddc9cb1c8ff69">4b4a301c90a8905d6b7ba703342ddc9cb1c8ff69</a> +<blockquote> +<p> + Fix 694689 - Seg faults found by fuzzing.<br> +<br> + Allow clients of the decompression routines to pass in a parameter to<br> + indicate no further input or output is expected. The decompression<br> + routines should produce an error if the parameter is set and more<br> + processing is needed. The pattern code uses this to indicate indicate<br> + the final scanline has been processed, it is not needed by the image<br> + code.<br> +<br> +pcl/pxl/pximage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-07 17:03:04 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e4764d61562a44c77920ee67884ca846184b25c">8e4764d61562a44c77920ee67884ca846184b25c</a> +<blockquote> +<p> + Add line pointer to the pattern enumerator.<br> +<br> + This tracks the scan line position within the pattern while reading,<br> + simplifying bounds checking.<br> +<br> +pcl/pxl/pximage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 13:28:52 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=faef871274167e12e93fc24026096474d00b794d">faef871274167e12e93fc24026096474d00b794d</a> +<blockquote> +<p> + Remove pushed argument.<br> +<br> + No need to push the filename simply run the file and use a do while<br> + loop.<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 10:35:28 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f29e2296e81378ed42b93215137361ab586b2393">f29e2296e81378ed42b93215137361ab586b2393</a> +<blockquote> +<p> + Warning cleanup.<br> +<br> +pcl/pcl/pcpalet.c<br> +pcl/pcl/pcparse.c<br> +pcl/pcl/pglabel.c<br> +pcl/pl/pllfont.c<br> +pcl/pxl/pxtop.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-07 21:08:46 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b808ea741efe357cf71254d9064e782dfd753584">b808ea741efe357cf71254d9064e782dfd753584</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gs_state_alloc.<br> +<br> + The colour allocation code in gs_gstate_alloc was being repeated in the call<br> + to gs_initgraphics leading to the first set of allocated colours becoming<br> + orphaned. Given that gs_initigraphics is always called from gs_gstate_alloc<br> + the duplicate code can be safely removed.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=419 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-06 18:04:07 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=98e5b234b27d82e52d660a9e0bfc6c14e3d7a5cd">98e5b234b27d82e52d660a9e0bfc6c14e3d7a5cd</a> +<blockquote> +<p> + Bug 697545 : Prevent SEGV in pcpage_do_reset.<br> +<br> + Prevent SEGV if memory allocation fails and returns a NULL paper size.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=1215 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pcpage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-07 15:46:28 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=10dcb4943e552a3d53fbaf0b4e8741258238f7a7">10dcb4943e552a3d53fbaf0b4e8741258238f7a7</a> +<blockquote> +<p> + Handle a potential error condition in PXL<br> +<br> + Bug #698995 "Fixing error returns in gxicolor.c can cause PXL to enter an infinite loop or seg fault"<br> +<br> + This started off as a fix to a scanbuild warning and spiralled somewhat.<br> +<br> + Fixing gs_image_class_4_color() so that it didn't ignore an error return<br> + led to the possibility of the PXL interpreter seg faulting or ending up<br> + in an infinte loop.<br> +<br> + Initially this turned out to be because gs_initgraphics() was no longer<br> + setting the colour space to the proper default, leading to us trying<br> + to use the very pattern space which failed. That was fixed in the<br> + previous commit.<br> +<br> + After that it turned out that in an error condition we were freeing<br> + an image enumerator twice. This didn't seem to cause the PostScript<br> + interpreter a problem, though it seems likely it did really, it simply<br> + didn't exhibit before the interpreter exited. The PXL interpreter<br> + however threw an error in the memory manager rather rapidly.<br> +<br> + Fixed that by not calling gx_default_end_image in gx_enum_begin()<br> + when we hit this particular error condition (no handler for an image).<br> +<br> + This removes one of the free instances, and seems more reasonable anyway<br> + it seems wrong to end an image we haven't yet begun.<br> +<br> + This allows us to now propagate the error up from px_remap_pattern<br> + without causing a seg fault or infinite loop. (finally)<br> +<br> +base/gxipixel.c<br> +pcl/pxl/pxink.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-07 09:55:41 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d527031607a881237819835c2b1045c81e24c387">d527031607a881237819835c2b1045c81e24c387</a> +<blockquote> +<p> + Alter gs_initgraphcis to once again set the colour space and colour<br> +<br> + At some time in the past gs_initgraphics was altered for 'colour substitution'<br> + so that it did not reset the colour space and current colour. This is<br> + surprising because the PostScript initgraphics operator is supposed to<br> + do exactly that.<br> +<br> + Restoring the code resulted in many seg faults with the PDF interpreter<br> + so this is obviously a requirement, even though I can't see why.<br> +<br> + However, leaving gs_initgraphics as it is would mean that (as per the<br> + comment above the procedure) that all the interpreters (clients) would<br> + have to reset the colour space and colour after calling it, which is<br> + entirely unreasonable. Not only that, it hasn't been done leading to<br> + the PXL interpreter printing error pages in the wrong colour.<br> +<br> + This commit restores the setting of the colour space and colour to<br> + gs_initgraphics, but introduces a new gs_initgraphics_no_cpsace()<br> + procedure to be called from zinitgraphics, which behaves exactly as<br> + the modified gs_initgraphics did, and does not set the colour space<br> + or colour values.<br> +<br> + The PDF interpreter now continues to work and the PXL interpreter now<br> + prints a number of error pages in black where it previously was using a<br> + pattern, grey or in one case green colour.<br> +<br> +base/gsstate.c<br> +base/gsstate.h<br> +psi/zgstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-07 09:49:34 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=28c58b4114ec145b8597372b6e29cec9e1f5df15">28c58b4114ec145b8597372b6e29cec9e1f5df15</a> +<blockquote> +<p> + Yet more scanbuild warnings<br> +<br> + gxhintn.c remove some unnecessary assignemnts<br> +<br> + gxicolor.c remove an assignement, add an error check<br> +<br> + gximono.c add an error check<br> +<br> + gxiscale.c refactor code to remove some unnecessary assignments<br> +<br> + gdevpsft.c remove unnecessary assignment<br> +<br> +base/gxhintn.c<br> +base/gxicolor.c<br> +base/gximono.c<br> +base/gxiscale.c<br> +devices/vector/gdevpsft.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-29 15:32:34 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1b1015dc0e07b5269c4ee2009d5b896702550a3a">1b1015dc0e07b5269c4ee2009d5b896702550a3a</a> +<blockquote> +<p> + Tweak scale parameters in structure.<br> +<br> + Be consistent with naming. Add PatchHeightOut and TopMarginOut so<br> + we have the complete set. These are required for forthcoming work.<br> +<br> +base/gxiscale.c<br> +base/sidscale.c<br> +base/siscale.c<br> +base/sisparam.h<br> +devices/vector/gdevpsdi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 12:48:07 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=38e0c643e62087c089c59c9ad44fc468dd09cd37">38e0c643e62087c089c59c9ad44fc468dd09cd37</a> +<blockquote> +<p> + Tweak bitmap interpolater patch size.<br> +<br> + When we interpolate an image, we restrict the interpolation to<br> + the "patch" of the destination image that is actually visible.<br> + Previously, the calculation of this patch has been inaccurate,<br> + resulting in a larger area being decoded than was actually<br> + needed.<br> +<br> + While this extra work was largely mitigated by the "Active" area<br> + detection code, it has meant that the contribution calculations<br> + within the scaler were 'wrapping' the outside pixels in the<br> + region to avoid accessing out of bounds.<br> +<br> + This upsets the new library we are working on to do the scaling,<br> + and it's basically inelegant. Instead we fix the destination<br> + patch calculations so that the patch is correctly sized based<br> + upon the available source data. This is safe to do because we<br> + know the source data was already expanded.<br> +<br> +base/gxiscale.c<br> +base/sisparam.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-06 11:46:56 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f6005484617ada241d2f5f4deee4808616474831">f6005484617ada241d2f5f4deee4808616474831</a> +<blockquote> +<p> + Address more scanbuild/gcc/clang warnings<br> +<br> + gdevkrnlsclass.c Change a while...do into a do...while to see if it<br> + pacifies a 'dereference of NULL pointer' in scanbuild<br> +<br> + gsparamx.c Incorrect return code could lead to an earlier error not<br> + being preserved. Fortunately this is currently only called by claptrap.<br> +<br> + gsptype1.c remove unnecessary assignments<br> + gssprintf.c " " "<br> + gstype2.c " " "<br> + gstype42.c " " "<br> + gxfill.c " " "<br> +<br> + gsptype2.c rejig the code to avoid setting a return code that isn't used.<br> + Add a check on a return code that was missing.<br> +<br> + gxchar.c add return code checking<br> + gxcmap.c " " " "<br> +<br> +base/gdevkrnlsclass.c<br> +base/gsparamx.c<br> +base/gsptype1.c<br> +base/gsptype2.c<br> +base/gssprintf.c<br> +base/gstype2.c<br> +base/gstype42.c<br> +base/gxchar.c<br> +base/gxcmap.c<br> +base/gxfill.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-06 10:30:32 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=16688a8b833cf4e8950265e933604c32b1f2392e">16688a8b833cf4e8950265e933604c32b1f2392e</a> +<blockquote> +<p> + Address more scanbuild/gcc/clang warnings<br> +<br> + gp_os2.c free buffer and close file on memory full (as per other<br> + error conditions).<br> +<br> + gscicach.c remove unnecessary assignment<br> + gsdparam.c " " " "<br> + gxfapi.c " " " "<br> +<br> + gscscie.c check a return code<br> + zicc.c " " " "<br> + zpcolor.c " " " "<br> +<br> + mkromfs.c If realloc should fail in process_path, free working memory<br> + print an error and exit as per other error conditions.<br> +<br> + zcolor.c ensure depth cannot be 0. This should not be possible, no<br> + existing code causes this, but its best to be safe and it prevents a<br> + possible unassigned pointer dereference (possibly NULL) which is what<br> + scanbuild complains of. Best to catch this in the interpreter.<br> +<br> +base/gp_os2.c<br> +base/gscicach.c<br> +base/gscscie.c<br> +base/gsdparam.c<br> +base/gxfapi.c<br> +base/mkromfs.c<br> +psi/zcolor.c<br> +psi/zicc.c<br> +psi/zpcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 16:09:28 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=650aae633131396b802b2cae6e09afbd5aae6ad6">650aae633131396b802b2cae6e09afbd5aae6ad6</a> +<blockquote> +<p> + Coverity ID #261212<br> +<br> + This probably showed up because of Ray's work adding return value<br> + checking. Previously there were probably enough places not checking<br> + the return code for Coverity to decide it was deliberate, now it is<br> + raising a warning.<br> +<br> + Add a check and take action on an error return.<br> +<br> +psi/zcrd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 16:08:25 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7a5f0a14e873c7f5f557c4b635f4b4f166b41d2">d7a5f0a14e873c7f5f557c4b635f4b4f166b41d2</a> +<blockquote> +<p> + Coverity ID #261211 - unchecked return value<br> +<br> + This probably showed up because of Ray's work adding return value<br> + checking. Previously there were probably enough places not checking<br> + the return code for Coverity to decide t was deliberate, now it is<br> + raising a warning.<br> +<br> + Add a check of the return code.<br> +<br> +devices/vector/gdevpsdi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 15:34:58 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b8e36896913713f46a43dbbc0c0ed83f34ab4f10">b8e36896913713f46a43dbbc0c0ed83f34ab4f10</a> +<blockquote> +<p> + Try to squash 3 identical scanbuild warnings<br> +<br> + I think scanbuild is deciding that 'depth' could be less than 0, leading<br> + us to not enter the loop which assigns 'obj'. This is not true, the<br> + depth cannot be less than 0.<br> +<br> + Try making 'depth' an unsigned int as a hint to scanbuild, and see if<br> + the warning goes away.<br> +<br> +psi/zcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 15:32:44 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88e7812d362483d07ce63b47ae75c4852fe01a8f">88e7812d362483d07ce63b47ae75c4852fe01a8f</a> +<blockquote> +<p> + txtwrite - honour error conditions<br> +<br> + 2 warnings from scanbuild, we were ignoring a potential error return in<br> + two places.<br> +<br> +devices/vector/gdevtxtw.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 11:55:11 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9c38c79741193010b23dabceb76996488415bd09">9c38c79741193010b23dabceb76996488415bd09</a> +<blockquote> +<p> + Clean up another scanbuild warning<br> +<br> + We increment a local variable just before it goes out of scope, which is<br> + clearly pointless.<br> +<br> +devices/vector/gdevpsft.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 11:54:14 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0b4c59be1793c81e9d8cfeba04e74b6020571f5d">0b4c59be1793c81e9d8cfeba04e74b6020571f5d</a> +<blockquote> +<p> + Fix another scanbuild warning<br> +<br> + We don't seem to have any test cases which hit this, but it does look<br> + possible from the code that we can end up trying to dereference<br> + p_tile, and we don't check to see if its not NULL, which we do in a<br> + lot of other places in this fucntion.<br> +<br> + To be safe, test it first and return an error if its NULL.<br> +<br> +devices/vector/gdevpdfv.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 10:39:21 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5d9d4bc1bbd272478bb9fd24fc1c0e44b0edc22a">5d9d4bc1bbd272478bb9fd24fc1c0e44b0edc22a</a> +<blockquote> +<p> + Remove an unused function, clear a scanbuild warning<br> +<br> + The function cos_write_stream_from_pipeline was never used, so remove<br> + its definition.<br> +<br> + At the same time try to squash a harmless scanbuild warning. We us a<br> + 'while(s....' loop to try and find a stream, scanbuild regards this as<br> + implying that 's' might be NULL *initially*, which is not true. This<br> + leads to a 'NULL pointer dereference' warning in the line after the<br> + loop, because scanbuild thinks we can get to s->state with s being an<br> + inital NULL.<br> +<br> + Since we already check for s becoming NULL inside the loop, we don't<br> + need to check it in while condition.<br> +<br> +devices/vector/gdevpdfo.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 10:35:16 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=43b2b593743433f45590b02b788c54d6bcf563a7">43b2b593743433f45590b02b788c54d6bcf563a7</a> +<blockquote> +<p> + Prevent potential garbage pointer dereference<br> +<br> + Picked up by scanbuild, if pdf_enter_substream failed then pres would be<br> + left uninitialised, but we would then try to dereference it and assign a<br> + value to a member before acting on the error return code.<br> +<br> + Change the order of execution to test the return code first.<br> +<br> +devices/vector/gdevpdti.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 09:43:01 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=efb9bf3949617b4c733a6dcce04acd142c50115d">efb9bf3949617b4c733a6dcce04acd142c50115d</a> +<blockquote> +<p> + Remove faulty code picked up by scanbuild<br> +<br> + scanbuild correctly warned that a variable was uninitialised. In fact<br> + it looks to me like the code that was flagged simply can't work.<br> +<br> + Fortunately it isn't exercised by any files in our test suite, and has<br> + never been reported as a bug, so its clearly an uncommon (perhaps even<br> + impossible) case.<br> +<br> + All the same, lets fall back to the default handling if we hit it,<br> + because at least that works, which the old code definitely didn't.<br> +<br> +devices/vector/gdevpdfb.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-05 09:40:50 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba6d8c5ec0fa27822041cb3bbc620e531fabcf0a">ba6d8c5ec0fa27822041cb3bbc620e531fabcf0a</a> +<blockquote> +<p> + remove a scanbuild warning<br> +<br> + We don't care about errors in this case, we are already aborting due<br> + to an error. So just discard the status return.<br> +<br> +devices/vector/gdevpdfj.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-03 10:46:23 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b119c51e5ce8d671bc33e38b7ebf7a5bdf5f9af5">b119c51e5ce8d671bc33e38b7ebf7a5bdf5f9af5</a> +<blockquote> +<p> + Remove unused variable<br> +<br> + another scanbuild warning<br> +<br> +base/gsdevice.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-03 10:26:18 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dde422bb086ce0b2f56609fa3fc9af87867fc757">dde422bb086ce0b2f56609fa3fc9af87867fc757</a> +<blockquote> +<p> + partially revert 07f9da3cb5647b18458cd52d1be35ab5365790eb<br> +<br> + This was a scanbuild false positive, the original code was in fact<br> + correct.<br> +<br> +base/gdevkrnlsclass.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 15:29:09 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa4941c607680159ed62bfe79b754a099adf5a4e">fa4941c607680159ed62bfe79b754a099adf5a4e</a> +<blockquote> +<p> + squash more scanbuild warnings<br> +<br> + check some return values.<br> +<br> + Remove some initialisations that aren't required.<br> +<br> + Remove soem unused variables.<br> +<br> +base/gsdparam.c<br> +base/gsfunc0.c<br> +base/gsht.c<br> +base/gsht1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 14:43:23 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f38e3eeb6e6e7d88abbe1dca7675e237d5274e7">3f38e3eeb6e6e7d88abbe1dca7675e237d5274e7</a> +<blockquote> +<p> + Remove spurious semi-colons introduced in 63f0fcc87e7c<br> +<br> + I mistakenly left the trailing semi-colon in the macros defining the contents<br> + of two pairs of structures.<br> +<br> + Oddly, this caused a warning on VS2017, but not gcc/clang.<br> +<br> + Thanks to Shailesh Mistry for pointing it out.<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 13:11:05 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=452efeca35ee7e3fe381cae9a71d6efbcce68cd0">452efeca35ee7e3fe381cae9a71d6efbcce68cd0</a> +<blockquote> +<p> + Address warning in gdevbit.c<br> +<br> + Fix the "missing braces in initializer" warning - the explicit declaration of<br> + the gs_bitrgbtags_device initializer had gotten out of step with the<br> + gx_device_printer_s definition.<br> +<br> +devices/gdevbit.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 14:10:44 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9036e05dfbcfa7968e00a53ef7ae9f6146740e94">9036e05dfbcfa7968e00a53ef7ae9f6146740e94</a> +<blockquote> +<p> + Remove the 'device filter chain'<br> +<br> + This was an early attempt to allow the possibility of 'chaining'<br> + devices together. I believe it was never actually completed, although<br> + the stack existed and was carefully preserved in the graphcis state,<br> + the only code which accessed it was '.popdevicefilter'.<br> +<br> + No C code or PostScript code ever actually pushed a device onto the<br> + device filter stack, and nothing ever examined the stack to pass<br> + operations through the 'chain'.<br> +<br> + Since its been superseded by device subclassing, and didn't actually<br> + seem to do anything anyway, remove it altogether. In addition to<br> + removing clutter this also reduces the amount of 'magic' surrounding<br> + reference counted objects in gstates.<br> +<br> +base/gdevp14.c<br> +base/gsgstate.c<br> +base/gsstate.c<br> +base/gxgstate.h<br> +base/lib.mak<br> +doc/Develop.htm<br> +doc/who_owns_what.txt<br> +psi/int.mak<br> +psi/zdfilter.c<br> +psi/ztrans.c<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 11:55:05 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=154f27478bdf5b27858a9f446433d5b62febb89d">154f27478bdf5b27858a9f446433d5b62febb89d</a> +<blockquote> +<p> + remove some unused code - scanbuild warnings....<br> +<br> +base/gsdevice.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 11:17:19 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=84370aa9d391c37eccd467760c471e99e355a8ec">84370aa9d391c37eccd467760c471e99e355a8ec</a> +<blockquote> +<p> + Fix some debug prints - scanbuild warning fix<br> +<br> + The number of parameters and number of format specifiers didn't match,<br> + this would only be apparent when built with DISPLAY_DEBUG defined.<br> +<br> +psi/dpmain.c<br> +psi/dwmainc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 11:16:11 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1552615d4ae39a50a5f7bb40e5f481919ef0cb58">1552615d4ae39a50a5f7bb40e5f481919ef0cb58</a> +<blockquote> +<p> + Fix memory leak - scanbuild warning<br> +<br> + Not really a leak as such, but it prevents the warning.<br> +<br> +psi/apitest.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 11:15:13 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ab8d4f968c01900e94438575ce33ae7a4fd63167">ab8d4f968c01900e94438575ce33ae7a4fd63167</a> +<blockquote> +<p> + LCMS2art - fix some warnings from scanbuild<br> +<br> + Make three functions static, to avoid 'no prototype' warnings.<br> +<br> +lcms2art/src/cmsalpha.c<br> +lcms2art/src/cmssamp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 09:45:39 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0c9d19b947f9ca5bfe6ed1ba221e303d60bfc0cb">0c9d19b947f9ca5bfe6ed1ba221e303d60bfc0cb</a> +<blockquote> +<p> + Remove the Mitsubishi CP50 colour dot matrix printer device<br> +<br> + Recent changes caused this device to enter clist mode more frequently<br> + and our automated testing revealed that in clist mode this device<br> + does not work. It calls a device method which should never be called.<br> +<br> + Its possible to remove the call, but we have no way to determine whether<br> + the resulting output actually works.<br> +<br> + Given the age of this device (and Mitsubishi have reused the model<br> + number for a different device, so it must be old) we are removing<br> + support for this device and deleting it fro the build.<br> +<br> + If someone is still using this device, we'll reinstate support if they<br> + are prepared to test the outptu for us.<br> +<br> +base/unix-gcc.mak<br> +configure.ac<br> +devices/contrib.mak<br> +devices/gdevcp50.c<br> +doc/Develop.htm<br> +psi/msvc.mak<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-02 08:54:35 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=252527b4257133a722f4f03dce1e8abcbcc3f3c8">252527b4257133a722f4f03dce1e8abcbcc3f3c8</a> +<blockquote> +<p> + Fix jmp_buf related compiler warning (setjmp_.h)<br> +<br> + The compiler (gcc/clang) considers the alignment of entries in a structure to<br> + be a run-time "variable", thus gives a warning when that value is used to<br> + size an array used in a globally available data type.<br> +<br> + The solution (suggested by Robin) is to use a buffer twice the size of a jmpbuf,<br> + thus guaranteeing we have enough space to offset into the buffer, and get the<br> + required alignment.<br> +<br> +base/setjmp_.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-01 14:56:31 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f52a7ccf96f1b9bb90194ba1dd6a50040dd63896">f52a7ccf96f1b9bb90194ba1dd6a50040dd63896</a> +<blockquote> +<p> + Fix debug flag for TTF loading<br> +<br> + Two places were erroneously using PDFDEBUG instead of TTFDEBUG<br> +<br> +Resource/Init/gs_ttf.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-01 09:46:21 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b546c80e79e6d1f1c6c3a9a71bfb58ee23a328c">5b546c80e79e6d1f1c6c3a9a71bfb58ee23a328c</a> +<blockquote> +<p> + Address the popen prototype warning<br> +<br> + Only include the hacky popen() prototype if it doesn't already exist in the<br> + standard header files.<br> +<br> +Makefile.in<br> +base/pipe_.h<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2018-02-01 11:40:20 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88aea05567f36d4d37c00a51b818c80f88291f6b">88aea05567f36d4d37c00a51b818c80f88291f6b</a> +<blockquote> +<p> + Remove another unused procedure from the OpenJPEG interface<br> +<br> +base/sjpx_openjpeg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 09:56:46 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=63f0fcc87e7c6a0ca38e92b7b3d72f1e936f2d0e">63f0fcc87e7c6a0ca38e92b7b3d72f1e936f2d0e</a> +<blockquote> +<p> + Fix discarded qualifier warnings in pcl/pl/pjparse.c<br> +<br> + Create separate structure definitions for the normal and default PJL<br> + environment and PJL font sources data.<br> +<br> + The only difference between the two is the default one qualifies string<br> + values as const.<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 11:59:02 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d2f9f48fc272b7bb396f36704de03a7c15d2b3f">4d2f9f48fc272b7bb396f36704de03a7c15d2b3f</a> +<blockquote> +<p> + Fix _MSC_VER undefined warnings on non-MSC compilers<br> +<br> +lcms2art/src/lcms2_internal.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 10:22:34 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b272292d9294e88e32d177d8b5e916f8bfaeb78b">b272292d9294e88e32d177d8b5e916f8bfaeb78b</a> +<blockquote> +<p> + Add a zlib specific CFLAGS and avoid discarded const warning<br> +<br> + zlib has a table initialization with string literals that gcc<br> + automatically makes const, but the structure definition for the table does not<br> + qualify those entries as const. Hence we get warnings.<br> +<br> + This adds ZLIB_CFLAGS and, with a gcc compatible compiler, sets it to:<br> + -Wno-write-strings<br> +<br> + which kills that warning.<br> +<br> + Done this way because we want to retain that warning in the Ghostscript code.<br> +<br> +Makefile.in<br> +base/zlib.mak<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 09:34:39 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aea7d587749819b7e59d24720efe86b1f8555186">aea7d587749819b7e59d24720efe86b1f8555186</a> +<blockquote> +<p> + Add a TIFF specific CFLAGS and avoid discarded const warning<br> +<br> + libtiff has a large table initialization with string literals that gcc<br> + automatically makes const, but the structure definition for the table does not<br> + qualify those entries as const. Hence we get warnings.<br> +<br> + This adds TIFF_CFLAGS and, with a gcc compatible compiler, sets it to:<br> + -Wno-write-strings<br> +<br> + which kills that warning.<br> +<br> + Done this way because we want to retain that warning in the Ghostscript code.<br> +<br> +Makefile.in<br> +base/tiff.mak<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-27 23:11:13 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=865c3a83a449dc2c28f58095183b7493ccd970c4">865c3a83a449dc2c28f58095183b7493ccd970c4</a> +<blockquote> +<p> + Update error code checking to use hpgl_call within pgdraw.c file. Also<br> + revert error code check in hpgl_draw_current_path to prevent failures<br> + during cluster run.<br> +<br> +pcl/pcl/pgdraw.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-27 17:50:41 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4ae64a398e6d5693c1dd4dd9348054cd21ef2443">4ae64a398e6d5693c1dd4dd9348054cd21ef2443</a> +<blockquote> +<p> + Check all return code from param_write_float_array.<br> +<br> +pcl/pcl/pcommand.c<br> +pcl/pxl/pxsessio.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-27 16:50:23 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d372efa33d9e2550b887154e2d6a3b9d03bc6438">d372efa33d9e2550b887154e2d6a3b9d03bc6438</a> +<blockquote> +<p> + Check all return codes from pxPassthrough_init.<br> +<br> +pcl/pxl/pxpthr.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-27 16:27:08 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc620400517cd76a5276602aea59f1231f934c46">cc620400517cd76a5276602aea59f1231f934c46</a> +<blockquote> +<p> + Check all return codes from pcl_enter_graphics_mode.<br> +<br> +pcl/pcl/rtgmode.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-27 15:18:02 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=db10b7b56e5de12f92c1df83237ec4ff4b0dcf2a">db10b7b56e5de12f92c1df83237ec4ff4b0dcf2a</a> +<blockquote> +<p> + Check all return codes from pcl_end_graphics_mode.<br> +<br> +pcl/pcl/pctop.c<br> +pcl/pcl/rtgmode.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-26 22:45:54 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1df8810b79c5ef5979b1cad5ffe22a1fed824871">1df8810b79c5ef5979b1cad5ffe22a1fed824871</a> +<blockquote> +<p> + Update propagation of error codes from pcl_end_page.<br> +<br> +pcl/pcl/pcjob.c<br> +pcl/pcl/pcpage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-26 22:17:36 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e63064cfa3142e7a893a1666570f390d83662360">e63064cfa3142e7a893a1666570f390d83662360</a> +<blockquote> +<p> + Update pcl_mark_page_for_character to propagate error codes.<br> +<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpage.h<br> +pcl/pcl/pctext.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-26 21:57:56 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f514a99fdb079d76df981a39dcb45f090766849">6f514a99fdb079d76df981a39dcb45f090766849</a> +<blockquote> +<p> + Update functionality to propagate error codes.<br> +<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpage.h<br> +pcl/pcl/pgdraw.c<br> +pcl/pcl/pglabel.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-26 21:20:02 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=193d143d1843edb2515138e6b4b9e7c4f5c06aa5">193d143d1843edb2515138e6b4b9e7c4f5c06aa5</a> +<blockquote> +<p> + Update functionality to propagate error codes returned from new_page_size.<br> +<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpage.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-26 17:59:15 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0d3c2753172bb9e22aa879d7503ec44f4b33e8f4">0d3c2753172bb9e22aa879d7503ec44f4b33e8f4</a> +<blockquote> +<p> + Update pcl_transform_rect to remove unused memory variable.<br> +<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpatxfm.c<br> +pcl/pcl/pcpatxfm.h<br> +pcl/pcl/rtgmode.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 15:37:17 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=961b01a6e50e640afac0e696f9ce74a677e648ec">961b01a6e50e640afac0e696f9ce74a677e648ec</a> +<blockquote> +<p> + Squash more scan build warnings<br> +<br> + Remove initialisations which aren't required (sometimes due to multiple<br> + initialisations.<br> +<br> + In interp.c, store the error value in the actual return code.<br> +<br> + Action error return codes.<br> +<br> + Fix a few white space oddities.<br> +<br> +psi/dscparse.c<br> +psi/gs.c<br> +psi/imain.c<br> +psi/interp.c<br> +psi/zcie.c<br> +psi/zcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 14:47:41 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7220e8e037ccee1c234872d143ec0ca14682604b">7220e8e037ccee1c234872d143ec0ca14682604b</a> +<blockquote> +<p> + Squash some more warnings<br> +<br> + scan build this time, none of them serious.<br> +<br> + Check some return codes and remove some unused variables.<br> +<br> +devices/gdevpdfimg.c<br> +devices/vector/gdevpdf.c<br> +devices/vector/gdevpdfc.c<br> +devices/vector/gdevpdfg.c<br> +devices/vector/gdevpdft.c<br> +devices/vector/gdevpdfu.c<br> +devices/vector/gdevpsdp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 09:59:01 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=68fcaea85611267eec9f4bac3443977fe15627dc">68fcaea85611267eec9f4bac3443977fe15627dc</a> +<blockquote> +<p> + squash GCC warnings<br> +<br> + remove an unused variable from a (large) macro in gxfilltr.h<br> +<br> + remove some unused variables, and an entire unused function in<br> + sjpx_openjpeg.c<br> +<br> + remove an unused variable in gdevbit.c<br> +<br> + remove an unused variable in gdevjpeg.c<br> +<br> + bracket a variable declaration and usage with #ifdef DEBUG to prevent<br> + the compiler warning that the variable is set but not read on non-debug<br> + builds. gdevxps.c<br> +<br> + preserve 'const' when passing a memory pointer to a procedure to<br> + avoid a warning about discarding const. zcie.c<br> +<br> +base/gxfilltr.h<br> +base/sjpx_openjpeg.c<br> +devices/gdevbit.c<br> +devices/gdevjpeg.c<br> +devices/vector/gdevxps.c<br> +psi/zcie.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-31 09:55:34 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=07f9da3cb5647b18458cd52d1be35ab5365790eb">07f9da3cb5647b18458cd52d1be35ab5365790eb</a> +<blockquote> +<p> + Device subclassing - fix potential problems<br> +<br> + Flagged by scan build, the code to work a chain of devices had a<br> + potential problem in walking up and down the chain.<br> +<br> + Also flagged by scan build, the create_compositor method checked the<br> + target child device before trying to use it to set the saved target<br> + color info, but didn't check it before trying to set the procs.<br> +<br> +base/gdevdflt.c<br> +base/gdevkrnlsclass.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-30 11:49:19 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=67daf3d995d83da98988085e68548a4920fe1747">67daf3d995d83da98988085e68548a4920fe1747</a> +<blockquote> +<p> + Get rid of some gcc warnings.<br> +<br> + Add initializers for variables that confuse gcc. Also get rid of the<br> + clist_reinit_output_file which was only needed for the RETRYING code<br> + and the partial page rendering (this function had unused variable<br> + warnings). THis should have been part of commit 7eda41b.<br> +<br> +base/gxclist.c<br> +base/gxclpath.c<br> +base/gxclrast.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-30 16:37:58 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=22cf826fe4d0c0206be582d35c99954199dee999">22cf826fe4d0c0206be582d35c99954199dee999</a> +<blockquote> +<p> + Update copyright notice with new head office address.<br> +<br> + Also update copyright dates.<br> +<br> + Remove gs_cmdl.ps as we no longer use it, and remove its entry from<br> + psfiles.htm.<br> +<br> + Remove xfonts.htm as this feature (xfont support) is long, long gone.<br> +<br> +Makefile.in<br> +Resource/CIDFont/ArtifexBullet<br> +Resource/CMap/Identity-UTF16-H<br> +Resource/ColorSpace/DefaultCMYK<br> +Resource/ColorSpace/DefaultGray<br> +Resource/ColorSpace/DefaultRGB<br> +Resource/ColorSpace/TrivialCMYK<br> +Resource/ColorSpace/sGray<br> +Resource/ColorSpace/sRGB<br> +Resource/Decoding/FCO_Dingbats<br> +Resource/Decoding/FCO_Symbol<br> +Resource/Decoding/FCO_Unicode<br> +Resource/Decoding/FCO_Wingdings<br> +Resource/Decoding/Latin1<br> +Resource/Decoding/StandardEncoding<br> +Resource/Decoding/Unicode<br> +Resource/Encoding/CEEncoding<br> +Resource/Encoding/ExpertEncoding<br> +Resource/Encoding/ExpertSubsetEncoding<br> +Resource/Encoding/NotDefEncoding<br> +Resource/Encoding/Wingdings<br> +Resource/Init/FCOfontmap-PCLPS2<br> +Resource/Init/Fontmap.GS<br> +Resource/Init/gs_agl.ps<br> +Resource/Init/gs_btokn.ps<br> +Resource/Init/gs_cff.ps<br> +Resource/Init/gs_cidcm.ps<br> +Resource/Init/gs_ciddc.ps<br> +Resource/Init/gs_cidfm.ps<br> +Resource/Init/gs_cidfn.ps<br> +Resource/Init/gs_cidtt.ps<br> +Resource/Init/gs_cmap.ps<br> +Resource/Init/gs_cspace.ps<br> +Resource/Init/gs_dbt_e.ps<br> +Resource/Init/gs_diskn.ps<br> +Resource/Init/gs_dpnxt.ps<br> +Resource/Init/gs_dps.ps<br> +Resource/Init/gs_dps1.ps<br> +Resource/Init/gs_dps2.ps<br> +Resource/Init/gs_dscp.ps<br> +Resource/Init/gs_epsf.ps<br> +Resource/Init/gs_fapi.ps<br> +Resource/Init/gs_fntem.ps<br> +Resource/Init/gs_fonts.ps<br> +Resource/Init/gs_frsd.ps<br> +Resource/Init/gs_icc.ps<br> +Resource/Init/gs_il1_e.ps<br> +Resource/Init/gs_img.ps<br> +Resource/Init/gs_init.ps<br> +Resource/Init/gs_l2img.ps<br> +Resource/Init/gs_lev2.ps<br> +Resource/Init/gs_ll3.ps<br> +Resource/Init/gs_mex_e.ps<br> +Resource/Init/gs_mgl_e.ps<br> +Resource/Init/gs_mro_e.ps<br> +Resource/Init/gs_pdf_e.ps<br> +Resource/Init/gs_pdfwr.ps<br> +Resource/Init/gs_res.ps<br> +Resource/Init/gs_resmp.ps<br> +Resource/Init/gs_setpd.ps<br> +Resource/Init/gs_statd.ps<br> +Resource/Init/gs_std_e.ps<br> +Resource/Init/gs_sym_e.ps<br> +Resource/Init/gs_trap.ps<br> +Resource/Init/gs_ttf.ps<br> +Resource/Init/gs_typ32.ps<br> +Resource/Init/gs_typ42.ps<br> +Resource/Init/gs_type1.ps<br> +Resource/Init/gs_wan_e.ps<br> +Resource/Init/pdf_base.ps<br> +Resource/Init/pdf_draw.ps<br> +Resource/Init/pdf_font.ps<br> +Resource/Init/pdf_main.ps<br> +Resource/Init/pdf_ops.ps<br> +Resource/Init/pdf_rbld.ps<br> +Resource/Init/pdf_sec.ps<br> +Resource/SubstCID/CNS1-WMode<br> +Resource/SubstCID/GB1-WMode<br> +Resource/SubstCID/Japan1-WMode<br> +Resource/SubstCID/Korea1-WMode<br> +arch/arch_autoconf.h.in<br> +arch/windows-arm-msvc.h<br> +arch/windows-x64-msvc.h<br> +arch/windows-x86-msvc.h<br> +base/all-arch.mak<br> +base/assert_.h<br> +base/bench.c<br> +base/bobbin.c<br> +base/bobbin.h<br> +base/claptrap-init.c<br> +base/claptrap-planar.c<br> +base/claptrap.c<br> +base/claptrap.h<br> +base/ctype_.h<br> +base/dirent_.h<br> +base/dos_.h<br> +base/echogs.c<br> +base/errno_.h<br> +base/expat.mak<br> +base/fapi_bs.mak<br> +base/fapi_ft.c<br> +base/fapibstm.c<br> +base/fapiufst.c<br> +base/fcntl_.h<br> +base/freetype.mak<br> +base/gconf.c<br> +base/gconf.h<br> +base/gdbflags.h<br> +base/gdebug.h<br> +base/gdevabuf.c<br> +base/gdevbbox.c<br> +base/gdevbbox.h<br> +base/gdevdbit.c<br> +base/gdevdcrd.c<br> +base/gdevdcrd.h<br> +base/gdevddrw.c<br> +base/gdevddrw.h<br> +base/gdevdevn.c<br> +base/gdevdevn.h<br> +base/gdevdevnprn.h<br> +base/gdevdflt.c<br> +base/gdevdgbr.c<br> +base/gdevdrop.c<br> +base/gdevdsha.c<br> +base/gdevemap.c<br> +base/gdevflp.c<br> +base/gdevflp.h<br> +base/gdevhit.c<br> +base/gdevkrnlsclass.c<br> +base/gdevkrnlsclass.h<br> +base/gdevm1.c<br> +base/gdevm16.c<br> +base/gdevm2.c<br> +base/gdevm24.c<br> +base/gdevm32.c<br> +base/gdevm4.c<br> +base/gdevm40.c<br> +base/gdevm48.c<br> +base/gdevm56.c<br> +base/gdevm64.c<br> +base/gdevm8.c<br> +base/gdevmem.c<br> +base/gdevmem.h<br> +base/gdevmpla.c<br> +base/gdevmpla.h<br> +base/gdevmplt.c<br> +base/gdevmplt.h<br> +base/gdevmr1.c<br> +base/gdevmr2n.c<br> +base/gdevmr8n.c<br> +base/gdevmrop.h<br> +base/gdevmrun.c<br> +base/gdevmrun.h<br> +base/gdevmx.c<br> +base/gdevnfwd.c<br> +base/gdevoflt.c<br> +base/gdevoflt.h<br> +base/gdevp14.c<br> +base/gdevp14.h<br> +base/gdevpccm.c<br> +base/gdevpccm.h<br> +base/gdevpipe.c<br> +base/gdevplnx.c<br> +base/gdevplnx.h<br> +base/gdevppla.c<br> +base/gdevppla.h<br> +base/gdevprn.c<br> +base/gdevprn.h<br> +base/gdevpxat.h<br> +base/gdevpxen.h<br> +base/gdevpxop.h<br> +base/gdevrops.c<br> +base/gdevsclass.c<br> +base/gdevsclass.h<br> +base/gdevvec.c<br> +base/gdevvec.h<br> +base/gen_ordered.c<br> +base/gen_ordered.h<br> +base/genarch.c<br> +base/genconf.c<br> +base/gendev.c<br> +base/genht.c<br> +base/gp.h<br> +base/gp_dosfe.c<br> +base/gp_dosfs.c<br> +base/gp_dvx.c<br> +base/gp_getnv.c<br> +base/gp_mktmp.c<br> +base/gp_msdll.c<br> +base/gp_msdos.c<br> +base/gp_mshdl.c<br> +base/gp_mslib.c<br> +base/gp_mspol.c<br> +base/gp_msprn.c<br> +base/gp_mswin.c<br> +base/gp_mswin.h<br> +base/gp_nsync.c<br> +base/gp_ntfs.c<br> +base/gp_nxpsprn.c<br> +base/gp_os2.c<br> +base/gp_os2.h<br> +base/gp_os2fs.c<br> +base/gp_os2pr.c<br> +base/gp_os9.c<br> +base/gp_paper.c<br> +base/gp_psync.c<br> +base/gp_stdia.c<br> +base/gp_stdin.c<br> +base/gp_strdl.c<br> +base/gp_sysv.c<br> +base/gp_unifn.c<br> +base/gp_unifs.c<br> +base/gp_unix.c<br> +base/gp_upapr.c<br> +base/gp_vms.c<br> +base/gp_wgetv.c<br> +base/gp_win32.c<br> +base/gp_wpapr.c<br> +base/gp_wsync.c<br> +base/gp_wutf8.c<br> +base/gp_wxpsprn.cpp<br> +base/gpcheck.h<br> +base/gpgetenv.h<br> +base/gpmisc.c<br> +base/gpmisc.h<br> +base/gpsync.h<br> +base/gs.mak<br> +base/gs_dll_call.h<br> +base/gs_mgl_e.h<br> +base/gs_mro_e.h<br> +base/gsalloc.c<br> +base/gsalloc.h<br> +base/gsalpha.c<br> +base/gsalpha.h<br> +base/gsalphac.c<br> +base/gsalphac.h<br> +base/gsargs.c<br> +base/gsargs.h<br> +base/gsbitcom.c<br> +base/gsbitmap.h<br> +base/gsbitops.c<br> +base/gsbitops.h<br> +base/gsbittab.c<br> +base/gsbittab.h<br> +base/gsccode.h<br> +base/gsccolor.h<br> +base/gscdef.c<br> +base/gscdefs.h<br> +base/gscdevn.c<br> +base/gscdevn.h<br> +base/gscedata.c<br> +base/gscedata.h<br> +base/gscencs.c<br> +base/gscencs.h<br> +base/gschar.c<br> +base/gschar.h<br> +base/gschar0.c<br> +base/gscicach.c<br> +base/gscicach.h<br> +base/gscie.c<br> +base/gscie.h<br> +base/gsciemap.c<br> +base/gscindex.h<br> +base/gsclipsr.c<br> +base/gsclipsr.h<br> +base/gscms.h<br> +base/gscolor.c<br> +base/gscolor.h<br> +base/gscolor1.c<br> +base/gscolor1.h<br> +base/gscolor2.c<br> +base/gscolor2.h<br> +base/gscolor3.c<br> +base/gscolor3.h<br> +base/gscompt.h<br> +base/gscoord.c<br> +base/gscoord.h<br> +base/gscparam.c<br> +base/gscpixel.c<br> +base/gscpixel.h<br> +base/gscpm.h<br> +base/gscrd.c<br> +base/gscrd.h<br> +base/gscrdp.c<br> +base/gscrdp.h<br> +base/gscrypt1.c<br> +base/gscrypt1.h<br> +base/gscscie.c<br> +base/gscsel.h<br> +base/gscsepr.c<br> +base/gscsepr.h<br> +base/gscspace.c<br> +base/gscspace.h<br> +base/gscssub.c<br> +base/gscssub.h<br> +base/gsdcolor.h<br> +base/gsdevice.c<br> +base/gsdevice.h<br> +base/gsdevmem.c<br> +base/gsdfilt.c<br> +base/gsdfilt.h<br> +base/gsdll.h<br> +base/gsdllwin.h<br> +base/gsdparam.c<br> +base/gsdpnext.h<br> +base/gsdps.c<br> +base/gsdps.h<br> +base/gsdps1.c<br> +base/gsdsrc.c<br> +base/gsdsrc.h<br> +base/gsequivc.c<br> +base/gsequivc.h<br> +base/gserrors.h<br> +base/gsexit.h<br> +base/gsfcid.c<br> +base/gsfcid2.c<br> +base/gsfcmap.c<br> +base/gsfcmap.h<br> +base/gsfcmap1.c<br> +base/gsflip.c<br> +base/gsflip.h<br> +base/gsfname.c<br> +base/gsfname.h<br> +base/gsfont.c<br> +base/gsfont.h<br> +base/gsfont0.c<br> +base/gsfont0c.c<br> +base/gsform1.h<br> +base/gsfunc.c<br> +base/gsfunc.h<br> +base/gsfunc0.c<br> +base/gsfunc0.h<br> +base/gsfunc3.c<br> +base/gsfunc3.h<br> +base/gsfunc4.c<br> +base/gsfunc4.h<br> +base/gsgc.h<br> +base/gsgcache.c<br> +base/gsgcache.h<br> +base/gsgdata.c<br> +base/gsgdata.h<br> +base/gsgstate.c<br> +base/gshsb.c<br> +base/gshsb.h<br> +base/gsht.c<br> +base/gsht.h<br> +base/gsht1.c<br> +base/gsht1.h<br> +base/gshtscr.c<br> +base/gshtx.c<br> +base/gshtx.h<br> +base/gsicc.c<br> +base/gsicc.h<br> +base/gsicc_cache.c<br> +base/gsicc_cache.h<br> +base/gsicc_cms.h<br> +base/gsicc_create.c<br> +base/gsicc_create.h<br> +base/gsicc_lcms2.c<br> +base/gsicc_lcms2art.c<br> +base/gsicc_manage.c<br> +base/gsicc_manage.h<br> +base/gsicc_monitorcm.c<br> +base/gsicc_nocm.c<br> +base/gsicc_profilecache.c<br> +base/gsicc_profilecache.h<br> +base/gsicc_replacecm.c<br> +base/gsimage.c<br> +base/gsimage.h<br> +base/gsimpath.c<br> +base/gsinit.c<br> +base/gsio.h<br> +base/gsiodev.c<br> +base/gsiodevs.c<br> +base/gsiodisk.c<br> +base/gsioram.c<br> +base/gsiorom.c<br> +base/gsiorom.h<br> +base/gsipar3x.h<br> +base/gsiparam.h<br> +base/gsiparm2.h<br> +base/gsiparm3.h<br> +base/gsiparm4.h<br> +base/gsjconf.h<br> +base/gsjmorec.h<br> +base/gslib.c<br> +base/gslib.h<br> +base/gslibctx.c<br> +base/gslibctx.h<br> +base/gsline.c<br> +base/gsline.h<br> +base/gslparam.h<br> +base/gsmalloc.c<br> +base/gsmalloc.h<br> +base/gsmatrix.c<br> +base/gsmatrix.h<br> +base/gsmchunk.c<br> +base/gsmchunk.h<br> +base/gsmd5.c<br> +base/gsmd5.h<br> +base/gsmdebug.h<br> +base/gsmemory.c<br> +base/gsmemory.h<br> +base/gsmemraw.h<br> +base/gsmemret.c<br> +base/gsmemret.h<br> +base/gsmisc.c<br> +base/gsnamecl.c<br> +base/gsnamecl.h<br> +base/gsncdummy.c<br> +base/gsncdummy.h<br> +base/gsnogc.c<br> +base/gsnogc.h<br> +base/gsnotify.c<br> +base/gsnotify.h<br> +base/gsovrc.c<br> +base/gsovrc.h<br> +base/gspaint.c<br> +base/gspaint.h<br> +base/gsparam.c<br> +base/gsparam.h<br> +base/gsparam2.c<br> +base/gsparams.c<br> +base/gsparams.h<br> +base/gsparamx.c<br> +base/gsparamx.h<br> +base/gspath.c<br> +base/gspath.h<br> +base/gspath1.c<br> +base/gspath2.h<br> +base/gspcolor.c<br> +base/gspcolor.h<br> +base/gspenum.h<br> +base/gspmdrv.c<br> +base/gspmdrv.h<br> +base/gspmdrv.rc<br> +base/gsptype1.c<br> +base/gsptype1.h<br> +base/gsptype2.c<br> +base/gsptype2.h<br> +base/gsrect.h<br> +base/gsrefct.h<br> +base/gsromfs0.c<br> +base/gsrop.c<br> +base/gsrop.h<br> +base/gsroprun.c<br> +base/gsroprun1.h<br> +base/gsroprun24.h<br> +base/gsroprun8.h<br> +base/gsropt.h<br> +base/gsroptab.c<br> +base/gsserial.c<br> +base/gsserial.h<br> +base/gsshade.c<br> +base/gsshade.h<br> +base/gssprintf.h<br> +base/gsstate.c<br> +base/gsstate.h<br> +base/gsstrl.h<br> +base/gsstrtok.h<br> +base/gsstruct.h<br> +base/gsstype.h<br> +base/gstext.c<br> +base/gstext.h<br> +base/gstiffio.c<br> +base/gstiffio.h<br> +base/gstparam.h<br> +base/gstrans.c<br> +base/gstrans.h<br> +base/gstrap.c<br> +base/gstrap.h<br> +base/gstype1.c<br> +base/gstype1.h<br> +base/gstype2.c<br> +base/gstype42.c<br> +base/gstypes.h<br> +base/gsuid.h<br> +base/gsutil.c<br> +base/gsutil.h<br> +base/gswin.rc<br> +base/gsxfont.h<br> +base/gx.h<br> +base/gxacpath.c<br> +base/gxalloc.h<br> +base/gxalpha.h<br> +base/gxarith.h<br> +base/gxband.h<br> +base/gxbcache.c<br> +base/gxbcache.h<br> +base/gxbitfmt.h<br> +base/gxbitmap.h<br> +base/gxbitops.h<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +base/gxccache.c<br> +base/gxccman.c<br> +base/gxcdevn.h<br> +base/gxchar.c<br> +base/gxchar.h<br> +base/gxchrout.c<br> +base/gxchrout.h<br> +base/gxcht.c<br> +base/gxcid.h<br> +base/gxcie.h<br> +base/gxcindex.h<br> +base/gxclbits.c<br> +base/gxcldev.h<br> +base/gxclfile.c<br> +base/gxclimag.c<br> +base/gxclio.h<br> +base/gxclip.c<br> +base/gxclip.h<br> +base/gxclip2.c<br> +base/gxclip2.h<br> +base/gxclipm.c<br> +base/gxclipm.h<br> +base/gxclipsr.h<br> +base/gxclist.c<br> +base/gxclist.h<br> +base/gxcllzw.c<br> +base/gxclmem.c<br> +base/gxclmem.h<br> +base/gxclpage.c<br> +base/gxclpage.h<br> +base/gxclpath.c<br> +base/gxclpath.h<br> +base/gxclrast.c<br> +base/gxclread.c<br> +base/gxclrect.c<br> +base/gxclthrd.c<br> +base/gxclthrd.h<br> +base/gxclutil.c<br> +base/gxclzlib.c<br> +base/gxcmap.c<br> +base/gxcmap.h<br> +base/gxcolor2.h<br> +base/gxcomp.h<br> +base/gxcoord.h<br> +base/gxcpath.c<br> +base/gxcpath.h<br> +base/gxcspace.h<br> +base/gxctable.c<br> +base/gxctable.h<br> +base/gxcvalue.h<br> +base/gxdcconv.c<br> +base/gxdcconv.h<br> +base/gxdcolor.c<br> +base/gxdcolor.h<br> +base/gxdda.h<br> +base/gxdevbuf.h<br> +base/gxdevcli.h<br> +base/gxdevice.h<br> +base/gxdevmem.h<br> +base/gxdevndi.c<br> +base/gxdevndi.h<br> +base/gxdevrop.h<br> +base/gxdevsop.h<br> +base/gxdht.h<br> +base/gxdhtres.h<br> +base/gxdhtserial.c<br> +base/gxdhtserial.h<br> +base/gxdither.h<br> +base/gxdownscale.c<br> +base/gxdownscale.h<br> +base/gxdtfill.h<br> +base/gxfapi.c<br> +base/gxfapi.h<br> +base/gxfapiu.c<br> +base/gxfapiu.h<br> +base/gxfarith.h<br> +base/gxfcache.h<br> +base/gxfcid.h<br> +base/gxfcmap.h<br> +base/gxfcmap1.h<br> +base/gxfill.c<br> +base/gxfill.h<br> +base/gxfillsl.h<br> +base/gxfilltr.h<br> +base/gxfillts.h<br> +base/gxfixed.h<br> +base/gxfmap.h<br> +base/gxfont.h<br> +base/gxfont0.h<br> +base/gxfont0c.h<br> +base/gxfont1.h<br> +base/gxfont42.h<br> +base/gxfrac.h<br> +base/gxftype.h<br> +base/gxfunc.h<br> +base/gxgetbit.h<br> +base/gxgstate.h<br> +base/gxhintn.c<br> +base/gxhintn.h<br> +base/gxhintn1.c<br> +base/gxhldevc.c<br> +base/gxhldevc.h<br> +base/gxht.c<br> +base/gxht.h<br> +base/gxht_thresh.c<br> +base/gxht_thresh.h<br> +base/gxhtbit.c<br> +base/gxhttile.h<br> +base/gxhttype.h<br> +base/gxi12bit.c<br> +base/gxi16bit.c<br> +base/gxiclass.h<br> +base/gxicolor.c<br> +base/gxidata.c<br> +base/gxifast.c<br> +base/gximag3x.c<br> +base/gximag3x.h<br> +base/gximage.c<br> +base/gximage.h<br> +base/gximage1.c<br> +base/gximage2.c<br> +base/gximage3.c<br> +base/gximage3.h<br> +base/gximage4.c<br> +base/gximask.c<br> +base/gximask.h<br> +base/gximdecode.c<br> +base/gximdecode.h<br> +base/gximono.c<br> +base/gxiodev.h<br> +base/gxiparam.h<br> +base/gxipixel.c<br> +base/gxiscale.c<br> +base/gxline.h<br> +base/gxlum.h<br> +base/gxmatrix.h<br> +base/gxmclip.c<br> +base/gxmclip.h<br> +base/gxobj.h<br> +base/gxoprect.c<br> +base/gxoprect.h<br> +base/gxp1fill.c<br> +base/gxp1impl.h<br> +base/gxpaint.c<br> +base/gxpaint.h<br> +base/gxpath.c<br> +base/gxpath.h<br> +base/gxpath2.c<br> +base/gxpcache.h<br> +base/gxpcmap.c<br> +base/gxpcolor.h<br> +base/gxpcopy.c<br> +base/gxpdash.c<br> +base/gxpflat.c<br> +base/gxrplane.h<br> +base/gxsample.c<br> +base/gxsample.h<br> +base/gxsamplp.h<br> +base/gxscanc.c<br> +base/gxscanc.h<br> +base/gxshade.c<br> +base/gxshade.h<br> +base/gxshade1.c<br> +base/gxshade4.c<br> +base/gxshade4.h<br> +base/gxshade6.c<br> +base/gxstate.h<br> +base/gxstdio.h<br> +base/gxstroke.c<br> +base/gxsync.c<br> +base/gxsync.h<br> +base/gxtext.h<br> +base/gxtmap.h<br> +base/gxttf.h<br> +base/gxttfb.c<br> +base/gxttfb.h<br> +base/gxtype1.c<br> +base/gxtype1.h<br> +base/gxxfont.h<br> +base/gzacpath.h<br> +base/gzcpath.h<br> +base/gzht.h<br> +base/gzline.h<br> +base/gzpath.h<br> +base/gzspotan.c<br> +base/gzspotan.h<br> +base/gzstate.h<br> +base/ijs.mak<br> +base/instcopy<br> +base/jbig2.mak<br> +base/jerror_.h<br> +base/jmemcust.c<br> +base/jmemcust.h<br> +base/jpeg.mak<br> +base/jpegxr.mak<br> +base/lcms2.mak<br> +base/lcms2art.mak<br> +base/lcups.mak<br> +base/lcupsi.mak<br> +base/ldf_jb2.mak<br> +base/lib.mak<br> +base/locale_.h<br> +base/lwf_jp2.mak<br> +base/malloc_.h<br> +base/math_.h<br> +base/md5main.c<br> +base/memento.c<br> +base/memento.h<br> +base/memory_.h<br> +base/mkromfs.c<br> +base/msvccmd.mak<br> +base/msvclib.mak<br> +base/msvctail.mak<br> +base/openjpeg.mak<br> +base/openvms.mak<br> +base/openvms.mmk<br> +base/pack_ps.c<br> +base/pcwin.mak<br> +base/pipe_.h<br> +base/png.mak<br> +base/png_.h<br> +base/ramfs.c<br> +base/ramfs.h<br> +base/sa85d.c<br> +base/sa85d.h<br> +base/sa85x.h<br> +base/saes.c<br> +base/saes.h<br> +base/sarc4.c<br> +base/sarc4.h<br> +base/sbcp.c<br> +base/sbcp.h<br> +base/sbtx.h<br> +base/scanchar.h<br> +base/scantab.c<br> +base/scf.h<br> +base/scfd.c<br> +base/scfdgen.c<br> +base/scfdtab.c<br> +base/scfe.c<br> +base/scfetab.c<br> +base/scfparam.c<br> +base/scfx.h<br> +base/scommon.h<br> +base/sdcparam.c<br> +base/sdcparam.h<br> +base/sdct.h<br> +base/sdctc.c<br> +base/sdctd.c<br> +base/sdcte.c<br> +base/sddparam.c<br> +base/sdeparam.c<br> +base/seexec.c<br> +base/setjmp_.h<br> +base/sfilter.h<br> +base/sfilter2.c<br> +base/sfxboth.c<br> +base/sfxcommon.c<br> +base/sfxfd.c<br> +base/sfxstdio.c<br> +base/shc.c<br> +base/shc.h<br> +base/sidscale.c<br> +base/sidscale.h<br> +base/siinterp.c<br> +base/siinterp.h<br> +base/simscale.c<br> +base/simscale.h<br> +base/siscale.c<br> +base/siscale.h<br> +base/sisparam.h<br> +base/sjbig2.c<br> +base/sjbig2.h<br> +base/sjbig2_luratech.c<br> +base/sjbig2_luratech.h<br> +base/sjpeg.h<br> +base/sjpegc.c<br> +base/sjpegd.c<br> +base/sjpege.c<br> +base/sjpx_luratech.c<br> +base/sjpx_luratech.h<br> +base/sjpx_none.c<br> +base/sjpx_openjpeg.c<br> +base/sjpx_openjpeg.h<br> +base/slzwc.c<br> +base/slzwd.c<br> +base/slzwe.c<br> +base/slzwx.h<br> +base/smd5.c<br> +base/smd5.h<br> +base/smtf.h<br> +base/spdiff.c<br> +base/spdiffx.h<br> +base/spngp.c<br> +base/spngpx.h<br> +base/spprint.c<br> +base/spprint.h<br> +base/spsdf.c<br> +base/spsdf.h<br> +base/spwgd.c<br> +base/spwgx.h<br> +base/srdline.h<br> +base/srld.c<br> +base/srle.c<br> +base/srlx.h<br> +base/ssha2.c<br> +base/ssha2.h<br> +base/sstring.c<br> +base/sstring.h<br> +base/stat_.h<br> +base/std.h<br> +base/stdint_.h<br> +base/stdio_.h<br> +base/stdpre.h<br> +base/stream.c<br> +base/stream.h<br> +base/strimpl.h<br> +base/string_.h<br> +base/strmio.c<br> +base/strmio.h<br> +base/stub.mak<br> +base/szlibc.c<br> +base/szlibd.c<br> +base/szlibe.c<br> +base/szlibx.h<br> +base/szlibxx.h<br> +base/tiff.mak<br> +base/time_.h<br> +base/ttcalc.c<br> +base/ttcalc.h<br> +base/ttcommon.h<br> +base/ttconf.h<br> +base/ttconfig.h<br> +base/ttfinp.c<br> +base/ttfinp.h<br> +base/ttfmain.c<br> +base/ttfmemd.c<br> +base/ttfmemd.h<br> +base/ttfoutl.h<br> +base/ttfsfnt.h<br> +base/ttinterp.c<br> +base/ttinterp.h<br> +base/ttload.c<br> +base/ttload.h<br> +base/ttmisc.h<br> +base/ttobjs.c<br> +base/ttobjs.h<br> +base/tttables.h<br> +base/tttype.h<br> +base/tttypes.h<br> +base/ugcclib.mak<br> +base/unistd_.h<br> +base/unix-aux.mak<br> +base/unix-dll.mak<br> +base/unix-end.mak<br> +base/unix-gcc.mak<br> +base/unixansi.mak<br> +base/unixhead.mak<br> +base/unixinst.mak<br> +base/unixlink.mak<br> +base/valgrind.h<br> +base/version.mak<br> +base/vms_x_fix.h<br> +base/vmsmath.h<br> +base/windows_.h<br> +base/winlib.mak<br> +base/winplat.mak<br> +base/winrtsup.cpp<br> +base/winrtsup.h<br> +base/wrfont.c<br> +base/wrfont.h<br> +base/write_t1.c<br> +base/write_t1.h<br> +base/write_t2.c<br> +base/write_t2.h<br> +base/x_.h<br> +base/zlib.mak<br> +configure.ac<br> +devices/contrib.mak<br> +devices/devs.mak<br> +devices/gdev3852.c<br> +devices/gdev4081.c<br> +devices/gdev8510.c<br> +devices/gdev8bcm.c<br> +devices/gdev8bcm.h<br> +devices/gdevatx.c<br> +devices/gdevbit.c<br> +devices/gdevbj10.c<br> +devices/gdevbjc.h<br> +devices/gdevbjcl.c<br> +devices/gdevbjcl.h<br> +devices/gdevbmp.c<br> +devices/gdevbmp.h<br> +devices/gdevbmpc.c<br> +devices/gdevccr.c<br> +devices/gdevcdj.c<br> +devices/gdevcfax.c<br> +devices/gdevcif.c<br> +devices/gdevclj.c<br> +devices/gdevcljc.c<br> +devices/gdevcmykog.c<br> +devices/gdevcp50.c<br> +devices/gdevcslw.c<br> +devices/gdevdfax.c<br> +devices/gdevdjet.c<br> +devices/gdevdjtc.c<br> +devices/gdevdljm.c<br> +devices/gdevdljm.h<br> +devices/gdevdm24.c<br> +devices/gdevdsp.c<br> +devices/gdevdsp.h<br> +devices/gdevdsp2.h<br> +devices/gdevepsc.c<br> +devices/gdevepsn.c<br> +devices/gdevescp.c<br> +devices/gdevfax.c<br> +devices/gdevfax.h<br> +devices/gdevfpng.c<br> +devices/gdevgprf.c<br> +devices/gdevhl7x.c<br> +devices/gdevicov.c<br> +devices/gdevijs.c<br> +devices/gdevimgn.c<br> +devices/gdevjbig2.c<br> +devices/gdevjpeg.c<br> +devices/gdevjpx.c<br> +devices/gdevl31s.c<br> +devices/gdevlbp8.c<br> +devices/gdevlj56.c<br> +devices/gdevlp8k.c<br> +devices/gdevlxm.c<br> +devices/gdevmeds.c<br> +devices/gdevmeds.h<br> +devices/gdevmgr.c<br> +devices/gdevmgr.h<br> +devices/gdevmiff.c<br> +devices/gdevn533.c<br> +devices/gdevo182.c<br> +devices/gdevokii.c<br> +devices/gdevpbm.c<br> +devices/gdevpcl.c<br> +devices/gdevpcl.h<br> +devices/gdevpcx.c<br> +devices/gdevpe.c<br> +devices/gdevperm.c<br> +devices/gdevphex.c<br> +devices/gdevpjet.c<br> +devices/gdevplan.c<br> +devices/gdevplib.c<br> +devices/gdevplib.h<br> +devices/gdevpm.h<br> +devices/gdevpng.c<br> +devices/gdevpsd.c<br> +devices/gdevpsd.h<br> +devices/gdevpsim.c<br> +devices/gdevpxut.c<br> +devices/gdevpxut.h<br> +devices/gdevrinkj.c<br> +devices/gdevsj48.c<br> +devices/gdevsnfb.c<br> +devices/gdevsppr.c<br> +devices/gdevstc.c<br> +devices/gdevstc.h<br> +devices/gdevstc1.c<br> +devices/gdevstc2.c<br> +devices/gdevstc3.c<br> +devices/gdevstc4.c<br> +devices/gdevtfax.c<br> +devices/gdevtfax.h<br> +devices/gdevtfnx.c<br> +devices/gdevtifs.c<br> +devices/gdevtifs.h<br> +devices/gdevtknk.c<br> +devices/gdevtrac.c<br> +devices/gdevtsep.c<br> +devices/gdevupd.c<br> +devices/gdevwpr2.c<br> +devices/gdevx.c<br> +devices/gdevx.h<br> +devices/gdevxalt.c<br> +devices/gdevxcf.c<br> +devices/gdevxcmp.c<br> +devices/gdevxcmp.h<br> +devices/gdevxini.c<br> +devices/gdevxres.c<br> +devices/gxfcopy.c<br> +devices/gxfcopy.h<br> +devices/minftrsz.c<br> +devices/minftrsz.h<br> +devices/rinkj/evenbetter-rll.c<br> +devices/rinkj/evenbetter-rll.h<br> +devices/rinkj/rinkj-byte-stream.c<br> +devices/rinkj/rinkj-byte-stream.h<br> +devices/rinkj/rinkj-config.c<br> +devices/rinkj/rinkj-config.h<br> +devices/rinkj/rinkj-device.c<br> +devices/rinkj/rinkj-device.h<br> +devices/rinkj/rinkj-dither.c<br> +devices/rinkj/rinkj-dither.h<br> +devices/rinkj/rinkj-epson870.c<br> +devices/rinkj/rinkj-epson870.h<br> +devices/rinkj/rinkj-screen-eb.c<br> +devices/rinkj/rinkj-screen-eb.h<br> +devices/vector/gdevagl.c<br> +devices/vector/gdevagl.h<br> +devices/vector/gdevpdf.c<br> +devices/vector/gdevpdfb.c<br> +devices/vector/gdevpdfb.h<br> +devices/vector/gdevpdfc.c<br> +devices/vector/gdevpdfc.h<br> +devices/vector/gdevpdfd.c<br> +devices/vector/gdevpdfe.c<br> +devices/vector/gdevpdfg.c<br> +devices/vector/gdevpdfg.h<br> +devices/vector/gdevpdfi.c<br> +devices/vector/gdevpdfj.c<br> +devices/vector/gdevpdfk.c<br> +devices/vector/gdevpdfm.c<br> +devices/vector/gdevpdfo.c<br> +devices/vector/gdevpdfo.h<br> +devices/vector/gdevpdfp.c<br> +devices/vector/gdevpdfr.c<br> +devices/vector/gdevpdft.c<br> +devices/vector/gdevpdfu.c<br> +devices/vector/gdevpdfv.c<br> +devices/vector/gdevpdfx.h<br> +devices/vector/gdevpdt.c<br> +devices/vector/gdevpdt.h<br> +devices/vector/gdevpdtb.c<br> +devices/vector/gdevpdtb.h<br> +devices/vector/gdevpdtc.c<br> +devices/vector/gdevpdtd.c<br> +devices/vector/gdevpdtd.h<br> +devices/vector/gdevpdte.c<br> +devices/vector/gdevpdtf.c<br> +devices/vector/gdevpdtf.h<br> +devices/vector/gdevpdti.c<br> +devices/vector/gdevpdti.h<br> +devices/vector/gdevpdts.c<br> +devices/vector/gdevpdts.h<br> +devices/vector/gdevpdtt.c<br> +devices/vector/gdevpdtt.h<br> +devices/vector/gdevpdtv.c<br> +devices/vector/gdevpdtv.h<br> +devices/vector/gdevpdtw.c<br> +devices/vector/gdevpdtw.h<br> +devices/vector/gdevpdtx.h<br> +devices/vector/gdevpsdf.h<br> +devices/vector/gdevpsdi.c<br> +devices/vector/gdevpsdp.c<br> +devices/vector/gdevpsds.c<br> +devices/vector/gdevpsds.h<br> +devices/vector/gdevpsdu.c<br> +devices/vector/gdevpsf.h<br> +devices/vector/gdevpsf1.c<br> +devices/vector/gdevpsf2.c<br> +devices/vector/gdevpsfm.c<br> +devices/vector/gdevpsft.c<br> +devices/vector/gdevpsfu.c<br> +devices/vector/gdevpsfx.c<br> +devices/vector/gdevpsu.c<br> +devices/vector/gdevpsu.h<br> +devices/vector/gdevpx.c<br> +devices/vector/gdevtxtw.c<br> +devices/vector/gdevxps.c<br> +devices/vector/opdfread.ps<br> +devices/vector/whitelst.c<br> +devices/vector/whitelst.h<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/GS9_Color_Management.tex<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gdevds32.c<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +examples/waterfal.ps<br> +gpdl/gpdl.mak<br> +gpdl/psi/gpdlpsi.mak<br> +gpdl/psi/psitop.c<br> +gpdl/pspcl6_gcc.mak<br> +gpdl/pspcl6_msvc.mak<br> +ijs/Makefile.am<br> +ijs/configure.ac<br> +ijs/ijs.c<br> +ijs/ijs.h<br> +ijs/ijs_client.c<br> +ijs/ijs_client.h<br> +ijs/ijs_client_example.c<br> +ijs/ijs_exec_unix.c<br> +ijs/ijs_exec_win.c<br> +ijs/ijs_server.c<br> +ijs/ijs_server_example.c<br> +ijs/unistd_.h<br> +ios/ios_arch-arm.h<br> +ios/ios_arch-x86.h<br> +jbig2dec/config_win32.h<br> +jbig2dec/jbig2.c<br> +jbig2dec/jbig2.h<br> +jbig2dec/jbig2_arith.c<br> +jbig2dec/jbig2_arith.h<br> +jbig2dec/jbig2_arith_iaid.c<br> +jbig2dec/jbig2_arith_iaid.h<br> +jbig2dec/jbig2_arith_int.c<br> +jbig2dec/jbig2_arith_int.h<br> +jbig2dec/jbig2_generic.c<br> +jbig2dec/jbig2_generic.h<br> +jbig2dec/jbig2_halftone.c<br> +jbig2dec/jbig2_halftone.h<br> +jbig2dec/jbig2_huffman.c<br> +jbig2dec/jbig2_huffman.h<br> +jbig2dec/jbig2_hufftab.h<br> +jbig2dec/jbig2_image.c<br> +jbig2dec/jbig2_image.h<br> +jbig2dec/jbig2_image_pbm.c<br> +jbig2dec/jbig2_image_png.c<br> +jbig2dec/jbig2_metadata.c<br> +jbig2dec/jbig2_metadata.h<br> +jbig2dec/jbig2_mmr.c<br> +jbig2dec/jbig2_mmr.h<br> +jbig2dec/jbig2_page.c<br> +jbig2dec/jbig2_priv.h<br> +jbig2dec/jbig2_refinement.c<br> +jbig2dec/jbig2_segment.c<br> +jbig2dec/jbig2_symbol_dict.c<br> +jbig2dec/jbig2_symbol_dict.h<br> +jbig2dec/jbig2_text.c<br> +jbig2dec/jbig2_text.h<br> +jbig2dec/jbig2dec.c<br> +jbig2dec/memcmp.c<br> +jbig2dec/memento.c<br> +jbig2dec/memento.h<br> +jbig2dec/os_types.h<br> +jbig2dec/pbm2png.c<br> +lib/FCOfontmap-PCLPS3<br> +lib/FCOfontmap-PS3<br> +lib/Fontmap.ATB<br> +lib/Fontmap.ATM<br> +lib/Fontmap.OS2<br> +lib/Fontmap.SGI<br> +lib/Fontmap.Sol<br> +lib/Fontmap.URW-136.T1<br> +lib/Fontmap.URW-136.TT<br> +lib/Fontmap.Ult<br> +lib/Fontmap.VMS<br> +lib/align.ps<br> +lib/caption.ps<br> +lib/cat.ps<br> +lib/cid2code.ps<br> +lib/docie.ps<br> +lib/font2pcl.ps<br> +lib/gs_ce_e.ps<br> +lib/gs_cmdl.ps<br> +lib/gs_il2_e.ps<br> +lib/gs_kanji.ps<br> +lib/gs_ksb_e.ps<br> +lib/gs_lgo_e.ps<br> +lib/gs_lgx_e.ps<br> +lib/gs_wl1_e.ps<br> +lib/gs_wl2_e.ps<br> +lib/gs_wl5_e.ps<br> +lib/gslp.ps<br> +lib/gsnup.ps<br> +lib/image-qa.ps<br> +lib/jispaper.ps<br> +lib/lines.ps<br> +lib/mkcidfm.ps<br> +lib/pdf2dsc.ps<br> +lib/pfbtopfa.ps<br> +lib/ppath.ps<br> +lib/pphs.ps<br> +lib/prfont.ps<br> +lib/ps2ai.ps<br> +lib/ps2epsi.ps<br> +lib/rollconv.ps<br> +lib/stcinfo.ps<br> +lib/stcolor.ps<br> +lib/stocht.ps<br> +lib/traceimg.ps<br> +lib/traceop.ps<br> +lib/uninfo.ps<br> +lib/viewcmyk.ps<br> +lib/viewgif.ps<br> +lib/viewjpeg.ps<br> +lib/viewmiff.ps<br> +lib/viewpbm.ps<br> +lib/viewpcx.ps<br> +lib/viewps2a.ps<br> +lib/viewpwg.ps<br> +lib/viewraw.ps<br> +lib/viewrgb.ps<br> +lib/winmaps.ps<br> +lib/zeroline.ps<br> +pcl/LICENSE<br> +pcl/pcl/pcbiptrn.c<br> +pcl/pcl/pcbiptrn.h<br> +pcl/pcl/pccid.c<br> +pcl/pcl/pccid.h<br> +pcl/pcl/pccolor.c<br> +pcl/pcl/pccoord.h<br> +pcl/pcl/pccprint.c<br> +pcl/pcl/pccsbase.c<br> +pcl/pcl/pccsbase.h<br> +pcl/pcl/pcdict.h<br> +pcl/pcl/pcdither.c<br> +pcl/pcl/pcdither.h<br> +pcl/pcl/pcdraw.c<br> +pcl/pcl/pcdraw.h<br> +pcl/pcl/pcfont.c<br> +pcl/pcl/pcfont.h<br> +pcl/pcl/pcfontpg.c<br> +pcl/pcl/pcfontst.h<br> +pcl/pcl/pcfrgrnd.c<br> +pcl/pcl/pcfrgrnd.h<br> +pcl/pcl/pcfsel.c<br> +pcl/pcl/pcfsel.h<br> +pcl/pcl/pcht.c<br> +pcl/pcl/pcht.h<br> +pcl/pcl/pcident.c<br> +pcl/pcl/pcident.h<br> +pcl/pcl/pcimpl.c<br> +pcl/pcl/pcindxed.c<br> +pcl/pcl/pcindxed.h<br> +pcl/pcl/pcjob.c<br> +pcl/pcl/pcl.mak<br> +pcl/pcl/pcl_top.mak<br> +pcl/pcl/pclookup.c<br> +pcl/pcl/pclookup.h<br> +pcl/pcl/pcmacros.c<br> +pcl/pcl/pcmisc.c<br> +pcl/pcl/pcmtx3.c<br> +pcl/pcl/pcmtx3.h<br> +pcl/pcl/pcommand.c<br> +pcl/pcl/pcommand.h<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpage.h<br> +pcl/pcl/pcpalet.c<br> +pcl/pcl/pcpalet.h<br> +pcl/pcl/pcparam.h<br> +pcl/pcl/pcparse.c<br> +pcl/pcl/pcparse.h<br> +pcl/pcl/pcpatrn.c<br> +pcl/pcl/pcpatrn.h<br> +pcl/pcl/pcpattyp.h<br> +pcl/pcl/pcpatxfm.c<br> +pcl/pcl/pcpatxfm.h<br> +pcl/pcl/pcrect.c<br> +pcl/pcl/pcsfont.c<br> +pcl/pcl/pcstate.h<br> +pcl/pcl/pcstatus.c<br> +pcl/pcl/pcsymbol.c<br> +pcl/pcl/pcsymbol.h<br> +pcl/pcl/pctext.c<br> +pcl/pcl/pctop.c<br> +pcl/pcl/pctop.h<br> +pcl/pcl/pctpm.h<br> +pcl/pcl/pcuptrn.c<br> +pcl/pcl/pcuptrn.h<br> +pcl/pcl/pcursor.c<br> +pcl/pcl/pcursor.h<br> +pcl/pcl/pcwhtidx.c<br> +pcl/pcl/pcwhtidx.h<br> +pcl/pcl/pcxfmst.h<br> +pcl/pcl/pgchar.c<br> +pcl/pcl/pgcolor.c<br> +pcl/pcl/pgconfig.c<br> +pcl/pcl/pgdraw.c<br> +pcl/pcl/pgdraw.h<br> +pcl/pcl/pgfdata.c<br> +pcl/pcl/pgfdata.h<br> +pcl/pcl/pgfont.c<br> +pcl/pcl/pgfont.h<br> +pcl/pcl/pgframe.c<br> +pcl/pcl/pggeom.c<br> +pcl/pcl/pggeom.h<br> +pcl/pcl/pginit.c<br> +pcl/pcl/pginit.h<br> +pcl/pcl/pglabel.c<br> +pcl/pcl/pglfill.c<br> +pcl/pcl/pgmand.h<br> +pcl/pcl/pgmisc.c<br> +pcl/pcl/pgmisc.h<br> +pcl/pcl/pgparse.c<br> +pcl/pcl/pgpoly.c<br> +pcl/pcl/pgstate.h<br> +pcl/pcl/pgvector.c<br> +pcl/pcl/rtgmode.c<br> +pcl/pcl/rtgmode.h<br> +pcl/pcl/rtmisc.c<br> +pcl/pcl/rtmisc.h<br> +pcl/pcl/rtraster.c<br> +pcl/pcl/rtraster.h<br> +pcl/pcl/rtrstcmp.c<br> +pcl/pcl/rtrstcmp.h<br> +pcl/pcl/rtrstst.h<br> +pcl/pl/pjparse.c<br> +pcl/pl/pjparse.h<br> +pcl/pl/pjparsei.c<br> +pcl/pl/pjtop.c<br> +pcl/pl/pjtop.h<br> +pcl/pl/pl.mak<br> +pcl/pl/plalloc.c<br> +pcl/pl/plapi.c<br> +pcl/pl/plapi.h<br> +pcl/pl/plchar.c<br> +pcl/pl/plchar.h<br> +pcl/pl/plcursor.c<br> +pcl/pl/plcursor.h<br> +pcl/pl/pldebug.h<br> +pcl/pl/pldict.c<br> +pcl/pl/pldict.h<br> +pcl/pl/pldraw.c<br> +pcl/pl/pldraw.h<br> +pcl/pl/plfapi.c<br> +pcl/pl/plfapi.h<br> +pcl/pl/plfont.c<br> +pcl/pl/plfont.h<br> +pcl/pl/plftable.c<br> +pcl/pl/plftable.h<br> +pcl/pl/plht.c<br> +pcl/pl/plht.h<br> +pcl/pl/plimpl.c<br> +pcl/pl/pllfont.c<br> +pcl/pl/pllfont.h<br> +pcl/pl/plmain.c<br> +pcl/pl/plmain.h<br> +pcl/pl/plparams.c<br> +pcl/pl/plparams.h<br> +pcl/pl/plparse.h<br> +pcl/pl/plromfs.mak<br> +pcl/pl/plsymbol.c<br> +pcl/pl/plsymbol.h<br> +pcl/pl/pltop.c<br> +pcl/pl/pltop.h<br> +pcl/pl/pluchar.c<br> +pcl/pl/plufont.c<br> +pcl/pl/plufstlp.c<br> +pcl/pl/plufstlp.h<br> +pcl/pl/plufstlp1.c<br> +pcl/pl/plulfont.c<br> +pcl/pl/plvalue.c<br> +pcl/pl/plvalue.h<br> +pcl/pl/plvocab.c<br> +pcl/pl/plvocab.h<br> +pcl/pl/plwimg.c<br> +pcl/pl/plwimg.h<br> +pcl/pl/plwmainc.c<br> +pcl/pl/plwreg.c<br> +pcl/pl/plwreg.h<br> +pcl/pl/plwres.h<br> +pcl/pl/realmain.c<br> +pcl/pxl/pxasm.ps<br> +pcl/pxl/pxattr.h<br> +pcl/pxl/pxbfont.c<br> +pcl/pxl/pxbfont.h<br> +pcl/pxl/pxbfont.ps<br> +pcl/pxl/pxcet.txt<br> +pcl/pxl/pxdict.h<br> +pcl/pxl/pxdiff.txt<br> +pcl/pxl/pxenum.h<br> +pcl/pxl/pxerrors.c<br> +pcl/pxl/pxerrors.h<br> +pcl/pxl/pxffont.c<br> +pcl/pxl/pxfont.c<br> +pcl/pxl/pxfont.h<br> +pcl/pxl/pxfts.txt<br> +pcl/pxl/pxgstate.c<br> +pcl/pxl/pxgstate.h<br> +pcl/pxl/pximage.c<br> +pcl/pxl/pximpl.c<br> +pcl/pxl/pxink.c<br> +pcl/pxl/pxl.mak<br> +pcl/pxl/pxlib.txt<br> +pcl/pxl/pxoper.h<br> +pcl/pxl/pxpaint.c<br> +pcl/pxl/pxparse.c<br> +pcl/pxl/pxparse.h<br> +pcl/pxl/pxptable.c<br> +pcl/pxl/pxptable.h<br> +pcl/pxl/pxpthr.c<br> +pcl/pxl/pxpthr.h<br> +pcl/pxl/pxsessio.c<br> +pcl/pxl/pxspec.txt<br> +pcl/pxl/pxstate.c<br> +pcl/pxl/pxstate.h<br> +pcl/pxl/pxstream.c<br> +pcl/pxl/pxsymbol.ps<br> +pcl/pxl/pxsymbol.psc<br> +pcl/pxl/pxsymbol.psh<br> +pcl/pxl/pxtag.h<br> +pcl/pxl/pxtop.c<br> +pcl/pxl/pxvalue.c<br> +pcl/pxl/pxvalue.h<br> +pcl/pxl/pxvendor.c<br> +pcl/pxl/pxvendor.h<br> +pcl/tools/cmpi/cmpi.cpp<br> +pcl/tools/pxlasm.py<br> +pcl/tools/pxldis.py<br> +pcl/tools/suite.tcl<br> +psi/bfont.h<br> +psi/btoken.h<br> +psi/dmmain.c<br> +psi/dmmain.r<br> +psi/dpmain.c<br> +psi/dscparse.c<br> +psi/dscparse.h<br> +psi/dstack.h<br> +psi/dwdll.c<br> +psi/dwdll.h<br> +psi/dwimg.c<br> +psi/dwimg.h<br> +psi/dwmain.c<br> +psi/dwmain.rc<br> +psi/dwmainc.c<br> +psi/dwnodll.c<br> +psi/dwreg.c<br> +psi/dwreg.h<br> +psi/dwres.h<br> +psi/dwtext.c<br> +psi/dwtext.h<br> +psi/dwtrace.c<br> +psi/dwtrace.h<br> +psi/dxmain.c<br> +psi/dxmainc.c<br> +psi/estack.h<br> +psi/files.h<br> +psi/ghost.h<br> +psi/gs.c<br> +psi/gsdll.c<br> +psi/gsdll2.rc<br> +psi/gsdll32.rc<br> +psi/gserver.c<br> +psi/gsos2.rc<br> +psi/ialloc.c<br> +psi/ialloc.h<br> +psi/iapi.c<br> +psi/iapi.h<br> +psi/iastate.h<br> +psi/iastruct.h<br> +psi/ibnum.c<br> +psi/ibnum.h<br> +psi/ichar.h<br> +psi/ichar1.h<br> +psi/icharout.h<br> +psi/icid.h<br> +psi/icie.h<br> +psi/icolor.h<br> +psi/iconf.c<br> +psi/iconf.h<br> +psi/icontext.c<br> +psi/icontext.h<br> +psi/icremap.h<br> +psi/icsmap.h<br> +psi/icstate.h<br> +psi/iddict.h<br> +psi/iddstack.h<br> +psi/idebug.c<br> +psi/idebug.h<br> +psi/idict.c<br> +psi/idict.h<br> +psi/idictdef.h<br> +psi/idicttpl.h<br> +psi/idisp.c<br> +psi/idisp.h<br> +psi/idosave.h<br> +psi/idparam.c<br> +psi/idparam.h<br> +psi/idsdata.h<br> +psi/idstack.c<br> +psi/idstack.h<br> +psi/ierrors.h<br> +psi/iesdata.h<br> +psi/iestack.h<br> +psi/ifapi.h<br> +psi/ifcid.h<br> +psi/ifilter.h<br> +psi/ifilter2.h<br> +psi/ifont.h<br> +psi/ifont1.h<br> +psi/ifont2.h<br> +psi/ifont42.h<br> +psi/ifrpred.h<br> +psi/ifunc.h<br> +psi/ifwpred.h<br> +psi/igc.c<br> +psi/igc.h<br> +psi/igcref.c<br> +psi/igcstr.c<br> +psi/igcstr.h<br> +psi/igstate.h<br> +psi/iht.h<br> +psi/iimage.h<br> +psi/iimage2.h<br> +psi/iinit.c<br> +psi/iinit.h<br> +psi/ilevel.h<br> +psi/ilocate.c<br> +psi/imain.c<br> +psi/imain.h<br> +psi/imainarg.c<br> +psi/imainarg.h<br> +psi/imemory.h<br> +psi/iminst.h<br> +psi/iname.c<br> +psi/iname.h<br> +psi/inamedef.h<br> +psi/inameidx.h<br> +psi/inames.h<br> +psi/inamestr.h<br> +psi/inobtokn.c<br> +psi/inouparm.c<br> +psi/int.mak<br> +psi/interp.c<br> +psi/interp.h<br> +psi/iosdata.h<br> +psi/iostack.h<br> +psi/ipacked.h<br> +psi/iparam.c<br> +psi/iparam.h<br> +psi/iparray.h<br> +psi/ipcolor.h<br> +psi/iplugin.c<br> +psi/iplugin.h<br> +psi/ireclaim.c<br> +psi/iref.h<br> +psi/isave.c<br> +psi/isave.h<br> +psi/iscan.c<br> +psi/iscan.h<br> +psi/iscanbin.c<br> +psi/iscanbin.h<br> +psi/iscannum.c<br> +psi/iscannum.h<br> +psi/isdata.h<br> +psi/isstate.h<br> +psi/istack.c<br> +psi/istack.h<br> +psi/istkparm.h<br> +psi/istream.h<br> +psi/istruct.h<br> +psi/itoken.h<br> +psi/iutil.c<br> +psi/iutil.h<br> +psi/iutil2.c<br> +psi/iutil2.h<br> +psi/ivmem2.h<br> +psi/ivmspace.h<br> +psi/main.h<br> +psi/mkfilelt.cpp<br> +psi/msvc.mak<br> +psi/msvc32.mak<br> +psi/msvc64.mak<br> +psi/nsisinst.nsi<br> +psi/oparc.h<br> +psi/opcheck.h<br> +psi/opdef.h<br> +psi/oper.h<br> +psi/opextern.h<br> +psi/os2.mak<br> +psi/ostack.h<br> +psi/psromfs.mak<br> +psi/sfilter1.c<br> +psi/store.h<br> +psi/winint.mak<br> +psi/zalg.c<br> +psi/zarith.c<br> +psi/zarray.c<br> +psi/zbfont.c<br> +psi/zbseq.c<br> +psi/zcfont.c<br> +psi/zchar.c<br> +psi/zchar1.c<br> +psi/zchar2.c<br> +psi/zchar32.c<br> +psi/zchar42.c<br> +psi/zchar42.h<br> +psi/zcharout.c<br> +psi/zcharx.c<br> +psi/zcid.c<br> +psi/zcie.c<br> +psi/zcie.h<br> +psi/zcolor.c<br> +psi/zcolor.h<br> +psi/zcolor1.c<br> +psi/zcolor2.c<br> +psi/zcolor3.c<br> +psi/zcontext.c<br> +psi/zcontrol.c<br> +psi/zcrd.c<br> +psi/zcsindex.c<br> +psi/zcspixel.c<br> +psi/zcssepr.c<br> +psi/zdevcal.c<br> +psi/zdevice.c<br> +psi/zdevice2.c<br> +psi/zdfilter.c<br> +psi/zdict.c<br> +psi/zdouble.c<br> +psi/zdpnext.c<br> +psi/zdps.c<br> +psi/zdps1.c<br> +psi/zdscpars.c<br> +psi/zfaes.c<br> +psi/zfapi.c<br> +psi/zfarc4.c<br> +psi/zfbcp.c<br> +psi/zfcid.c<br> +psi/zfcid0.c<br> +psi/zfcid1.c<br> +psi/zfcmap.c<br> +psi/zfdctd.c<br> +psi/zfdcte.c<br> +psi/zfdecode.c<br> +psi/zfile.c<br> +psi/zfile.h<br> +psi/zfile1.c<br> +psi/zfileio.c<br> +psi/zfilter.c<br> +psi/zfilter2.c<br> +psi/zfimscale.c<br> +psi/zfjbig2.c<br> +psi/zfjpx.c<br> +psi/zfmd5.c<br> +psi/zfont.c<br> +psi/zfont0.c<br> +psi/zfont1.c<br> +psi/zfont2.c<br> +psi/zfont32.c<br> +psi/zfont42.c<br> +psi/zfontenum.c<br> +psi/zform.c<br> +psi/zfproc.c<br> +psi/zfrsd.c<br> +psi/zfrsd.h<br> +psi/zfsample.c<br> +psi/zfsha2.c<br> +psi/zfunc.c<br> +psi/zfunc.h<br> +psi/zfunc0.c<br> +psi/zfunc3.c<br> +psi/zfunc4.c<br> +psi/zfzlib.c<br> +psi/zgeneric.c<br> +psi/zgstate.c<br> +psi/zhsb.c<br> +psi/zht.c<br> +psi/zht1.c<br> +psi/zht2.c<br> +psi/zht2.h<br> +psi/zicc.c<br> +psi/zicc.h<br> +psi/zimage.c<br> +psi/zimage2.c<br> +psi/zimage3.c<br> +psi/ziodev.c<br> +psi/ziodev2.c<br> +psi/ziodevs.c<br> +psi/ziodevsc.c<br> +psi/zmath.c<br> +psi/zmatrix.c<br> +psi/zmedia2.c<br> +psi/zmisc.c<br> +psi/zmisc1.c<br> +psi/zmisc2.c<br> +psi/zmisc3.c<br> +psi/zncdummy.c<br> +psi/zpacked.c<br> +psi/zpaint.c<br> +psi/zpath.c<br> +psi/zpath1.c<br> +psi/zpcolor.c<br> +psi/zpdf_r6.c<br> +psi/zpdfops.c<br> +psi/zrelbit.c<br> +psi/zshade.c<br> +psi/zstack.c<br> +psi/zstring.c<br> +psi/zsysvm.c<br> +psi/ztoken.c<br> +psi/ztrans.c<br> +psi/ztrap.c<br> +psi/ztype.c<br> +psi/zupath.c<br> +psi/zusparam.c<br> +psi/zutf8.c<br> +psi/zvmem.c<br> +psi/zvmem2.c<br> +psi/zwinutf8.c<br> +toolbin/GenSubstCID.ps<br> +toolbin/afmutil.py<br> +toolbin/color/icc_creator/ICC_Creator/CIELAB.h<br> +toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp<br> +toolbin/color/icc_creator/ICC_Creator/ICC_Creator.h<br> +toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp<br> +toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.h<br> +toolbin/color/icc_creator/ICC_Creator/icc_create.cpp<br> +toolbin/color/icc_creator/ICC_Creator/icc_create.h<br> +toolbin/color/icc_creator/README.txt<br> +toolbin/encs2c.ps<br> +toolbin/errlist.tcl<br> +toolbin/extractFonts.ps<br> +toolbin/extractICCprofiles.ps<br> +toolbin/gen_ldf_jb2.py<br> +toolbin/genfontmap.ps<br> +toolbin/gitlog2changelog.py<br> +toolbin/gsmake.tcl<br> +toolbin/halftone/gen_ordered/README<br> +toolbin/halftone/gen_ordered/gen_ordered_main.c<br> +toolbin/halftone/gen_stochastic/gen_stochastic.c<br> +toolbin/halftone/thresh_remap/thresh_remap.c<br> +toolbin/headers.tcl<br> +toolbin/jpxtopdf.c<br> +toolbin/leaks.tcl<br> +toolbin/makehist.tcl<br> +toolbin/memory.py<br> +toolbin/ocheck.py<br> +toolbin/pdf_info.ps<br> +toolbin/pre.tcl<br> +toolbin/precheck.tcl<br> +toolbin/split_changelog.py<br> +toolbin/suite.tcl<br> +toolbin/tests/build_revision.py<br> +toolbin/tests/check_all.py<br> +toolbin/tests/check_comments.py<br> +toolbin/tests/check_dirs.py<br> +toolbin/tests/check_docrefs.py<br> +toolbin/tests/cmpi.py<br> +toolbin/tests/compare_checksumdb.py<br> +toolbin/tests/compare_checksums.py<br> +toolbin/tests/dump_checksum.py<br> +toolbin/tests/dump_checksum_plus.py<br> +toolbin/tests/dump_checksum_raw.py<br> +toolbin/tests/fuzzy.c<br> +toolbin/tests/get_baseline_log.py<br> +toolbin/tests/get_baselines.py<br> +toolbin/tests/gscheck_all.py<br> +toolbin/tests/gscheck_fuzzypdf.py<br> +toolbin/tests/gscheck_pdfwrite.py<br> +toolbin/tests/gscheck_raster.py<br> +toolbin/tests/gscheck_testfiles.py<br> +toolbin/tests/gsconf.py<br> +toolbin/tests/gsparamsets.py<br> +toolbin/tests/gssum.py<br> +toolbin/tests/gstestgs.py<br> +toolbin/tests/gstestutils.py<br> +toolbin/tests/gsutil.py<br> +toolbin/tests/make_baselinedb.py<br> +toolbin/tests/make_testdb.py<br> +toolbin/tests/make_two_pdfversions<br> +toolbin/tests/make_two_versions<br> +toolbin/tests/myoptparse.py<br> +toolbin/tests/rasterdb.py<br> +toolbin/tests/revert_baseline<br> +toolbin/tests/revert_pdfbaseline<br> +toolbin/tests/run_nightly.py<br> +toolbin/tests/run_parallel<br> +toolbin/tests/run_regression.py<br> +toolbin/tests/testdiff.py<br> +toolbin/tests/update_baseline.py<br> +toolbin/tests/update_specific<br> +toolbin/tmake.tcl<br> +xps/ghostxps.h<br> +xps/xps.mak<br> +xps/xpsanalyze.c<br> +xps/xpscff.c<br> +xps/xpscolor.c<br> +xps/xpscommon.c<br> +xps/xpscrc.c<br> +xps/xpsdoc.c<br> +xps/xpsfapi.c<br> +xps/xpsfapi.h<br> +xps/xpsfont.c<br> +xps/xpsglyphs.c<br> +xps/xpsgradient.c<br> +xps/xpshash.c<br> +xps/xpsimage.c<br> +xps/xpsjpeg.c<br> +xps/xpsjxr.c<br> +xps/xpsmem.c<br> +xps/xpsopacity.c<br> +xps/xpspage.c<br> +xps/xpspath.c<br> +xps/xpspng.c<br> +xps/xpsresource.c<br> +xps/xpsromfs.mak<br> +xps/xpstiff.c<br> +xps/xpstile.c<br> +xps/xpstop.c<br> +xps/xpsttf.c<br> +xps/xpsutf.c<br> +xps/xpsvisual.c<br> +xps/xpsxml.c<br> +xps/xpszip.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-30 08:35:40 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=013b8208180cccf65d3c5ee374b678ceffe39cf7">013b8208180cccf65d3c5ee374b678ceffe39cf7</a> +<blockquote> +<p> + Documentation - restore docs on image-qa.ps<br> +<br> + Commit b223c93caa34ad34dfd33d534529b3f11d067aab was slightly over<br> + enthusiastic and accidentally removed the documentation for the file<br> + image-qa.ps.<br> +<br> + Restore it here.<br> +<br> +doc/Psfiles.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-29 12:27:04 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad8f4138ad44647125424aa4b635aade1a2557ad">ad8f4138ad44647125424aa4b635aade1a2557ad</a> +<blockquote> +<p> + Compiler warning in base/gsicc_manage.c<br> +<br> + Comparing a pointer to '\0' should be comparing to NULL to check for a valid<br> + string argument,<br> +<br> +base/gsicc_manage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-29 16:12:36 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b223c93caa34ad34dfd33d534529b3f11d067aab">b223c93caa34ad34dfd33d534529b3f11d067aab</a> +<blockquote> +<p> + Documentation - correct erroneous information in psfiles.htm<br> +<br> + Psfiles.htm incorrectly listed a number of files as being in 'lib'<br> + when in fact they have been moved to 'Resource/Init. In addition<br> + Several files were listed which no longer exist, and some files in<br> + 'examples' were not listed or described.<br> +<br> + I suspect this listing is still not comprehensive, but at I believe<br> + the information that is there is now at least correct.<br> +<br> +doc/Psfiles.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-29 14:05:50 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d8ec036836a0abcfe3cc677bb88a61bdfd1a65bb">d8ec036836a0abcfe3cc677bb88a61bdfd1a65bb</a> +<blockquote> +<p> + pdfwrite - remove a global from gdevpdtt.c<br> +<br> +<br> + See bug #693376<br> +<br> + In gdevpdtt.c we hold a static gs_glyph standard_glyph_code_for_notdef<br> + which is initially assinged to GS_NO_GLYPH, and is later assigned a<br> + value from the encoding table:<br> +<br> + standard_glyph_code_for_notdef =<br> + gs_c_name_glyph((const byte *)".notdef", 7) - gs_c_min_std_encoding_glyph;<br> +<br> + However, this is only done if the current value is GS_NO_GLYPH. In effect<br> + standard_glyph_code_for_notdef is a constant. But we can't define it as<br> + a constant because the actual value depends on the contents of a table<br> + which is built at compile time.<br> +<br> + This appears to be an attempt to limit the number of times we call<br> + gs_c_name_glyph because that is a relatively expensive operation, and<br> + the actual value returned never changes between builds.<br> +<br> + But we don't want to have globals, really, so this commit simply gets<br> + and stores the value when the PDF font resource is created in<br> + font_resource_alloc(). We then can look up the value when we need it.<br> +<br> + This is, obviously, slightly slower than a one-time lookup, because<br> + we execute it once for every font. It also uses up a fraction more<br> + memory. However, compared to the performance and memory usage of pdfrwite<br> + the differences are miniscule.<br> +<br> +devices/vector/gdevpdtf.c<br> +devices/vector/gdevpdtf.h<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-28 10:31:26 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e29a7e00401549ebb7c03c8324209489b7c87681">e29a7e00401549ebb7c03c8324209489b7c87681</a> +<blockquote> +<p> + Coverity ID: 259882 Fix typo in pcl_impl_allocate_interp_instance.<br> +<br> + Fix typo to allow conditional freeing of pcli->pcs.pids.<br> +<br> +pcl/pcl/pctop.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-19 14:28:46 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2b155ebd780b5737aac4e8096c8fbaa5cb78212c">2b155ebd780b5737aac4e8096c8fbaa5cb78212c</a> +<blockquote> +<p> + Bug 694260: FAPI: tidy up error return for broken TT glyph<br> +<br> + In the event of an error retrieving a TTF glyph, we were storing the negative<br> + error code in the same variable we use to store the glyph length for a valid<br> + glyph, which is an unsigned variable, causing a valgrind error, and potential<br> + security issue reading uninitialized memory.<br> +<br> + In fact, other consumers silently cope with this type of problem and<br> + (presumably) use a notdef glyph instead. So this tweaks the error codes to<br> + do the same.<br> +<br> + Because we now have to differentiate between different types of error, we<br> + can no longer just use a negative value, so there is an enumerated type for<br> + the error values.<br> +<br> +base/fapi_ft.c<br> +base/gxfapi.h<br> +psi/zfapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-08-25 09:28:59 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b82848bc26f47b5b5727d24f03d08eb3679c7243">b82848bc26f47b5b5727d24f03d08eb3679c7243</a> +<blockquote> +<p> + Add script and arch*.h headers for ios build<br> +<br> + This results in a "fat" libgs.a library which can be linked used either for the<br> + simulator or a "real" ios build.<br> +<br> + Really, this script just automates/simplifies the process of using our existing<br> + cross-compile support.<br> +<br> + The only slightly out of the ordinary part is combining the Intel and arm<br> + libraries into the single fat library.<br> +<br> +configure.ac<br> +ios/build_ios_gslib.sh<br> +ios/ios-README.txt<br> +ios/ios_arch-arm.h<br> +ios/ios_arch-x86.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-24 19:23:42 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83f78ff2c85413866f0d4e549fc6a39aa72417e6">83f78ff2c85413866f0d4e549fc6a39aa72417e6</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in cmsCreateLab2ProfileTHR.<br> +<br> + Fix memory leak for allocation event numbers 821 - 854.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=860 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +lcms2art/src/cmsvirt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-24 18:42:46 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8501487c929db1bc1a624bf101a3464b447db07">e8501487c929db1bc1a624bf101a3464b447db07</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in BuildRGBOutputMatrixShaper.<br> +<br> + Fix memory leak for allocation event numbers 787 - 792.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=795 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +lcms2art/src/cmsio1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-23 18:10:04 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=571200a055310b157f3640742f32564fc2de5697">571200a055310b157f3640742f32564fc2de5697</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak c_param_write.<br> +<br> + Fix memory leak for allocation event number 676.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=677 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gscparam.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-23 18:18:49 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=92ccfa3dcb2ca9fd2273611f7ed2111d3ae319a8">92ccfa3dcb2ca9fd2273611f7ed2111d3ae319a8</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in cmsStageAllocMatrix.<br> +<br> + Fix memory leak for allocation event numbers 753 - 754.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=755 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +lcms2art/src/cmslut.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-20 12:30:50 +0100 +</strong> +<br>Tor Andersson <tor.andersson@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0c498888ca6c0bdf4b90d1b3a79a4a185d810a22">0c498888ca6c0bdf4b90d1b3a79a4a185d810a22</a> +<blockquote> +<p> + Fix clusterpush detection for mupdf repositories.<br> +<br> +toolbin/localcluster/clusterpush.pl<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-24 17:02:26 +0100 +</strong> +<br>Tor Andersson <tor.andersson@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bb6abd533cdfed34d076c3320c931d778189c202">bb6abd533cdfed34d076c3320c931d778189c202</a> +<blockquote> +<p> + Make gitpush.sh script executable.<br> +<br> +toolbin/localcluster/gitpush.sh<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-24 15:18:07 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9010c622cd4d17053ee405bb378ed08bcaa16251">9010c622cd4d17053ee405bb378ed08bcaa16251</a> +<blockquote> +<p> + pdfwrite - ensure we have a substream Resource dictionary before using it<br> +<br> + Bug #692182 "xps -> pdfwrite SEGVs with softmasked pattern"<br> +<br> + After much messing about with this bug over the years, it appears<br> + that most of the bugs have been fixed. However one still remained;<br> + we could attempt to add a ProcSet Resource to a substream, even<br> + though we had not yet allocated a Resource for that substream.<br> +<br> + Although it shows up with this file, technically it could<br> + probably happen with any kind of input.<br> +<br> + Fixed here by allocating a substream Resource dictionary if we<br> + don't already have one when we want to add the Procsets to it.<br> +<br> + No differences expected<br> +<br> +devices/vector/gdevpdfi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-24 09:33:20 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb5f2a85c5c3f6436df6158d7fba1977be68116f">eb5f2a85c5c3f6436df6158d7fba1977be68116f</a> +<blockquote> +<p> + Bug 698903: bounds check t2 charstring stack in op<br> +<br> + Add a stack bounds checking macro for the Type 2 charstring stack, and use it<br> + for the rmoveto op.<br> +<br> +base/gstype2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-23 18:15:18 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f5e42eb1dc1cc96bab67990e886756a089a3fa5a">f5e42eb1dc1cc96bab67990e886756a089a3fa5a</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in AllocateToneCurveStruct.<br> +<br> + Fix memory leak for allocation event number 741.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=742 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +lcms2art/src/cmsgamma.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-23 18:05:54 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ebae375c979146fd8c2457e217dcb4e67618a718">ebae375c979146fd8c2457e217dcb4e67618a718</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gs_copydevice2.<br> +<br> + Fix memory leak for allocation event number 673.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=674 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsdevice.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-23 08:49:04 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=34f29fe8f77a626ef71c1f04fd781dd8b8bacd85">34f29fe8f77a626ef71c1f04fd781dd8b8bacd85</a> +<blockquote> +<p> + Bug 697545 : Fix pxstate memory leak.<br> +<br> + Fix memory leak for allocation event numbers 517 - 520.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=578 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsfont.c<br> +pcl/pxl/pxstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-23 16:42:34 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2ce962cfc20267b3e678d8d1357dfc2643b7a477">2ce962cfc20267b3e678d8d1357dfc2643b7a477</a> +<blockquote> +<p> + pdfwrite - take advantage of GSUB table glyph substitution enhancement<br> +<br> + Bug #691574 "vert punctuation is rotated when convert ps to 1.3 pdf"<br> +<br> + Commit 7dd033589ce40649ab602fba4c0473aa40c48439 was an enhancement to<br> + apply vertical glyph substitution from a TrueType GSUB table. This is<br> + primarily used when a user specifies a TrueType font to be used as a<br> + replacement for a missing CIDFont (especially in PDF files). Using a<br> + horizontal font as a replacement for a vertical font can result in<br> + punctuation marks at the wrong orientation.<br> +<br> + This commit uses the machinery added in that previous commit to apply<br> + the same fix for pdfwrite. Note that this still does not produce<br> + 'correct' output, because its still a substitute font being used. It<br> + does produce punctuation marks at the correct orientation now though,<br> + for the limited selection of test files we have. The other relevant<br> + report is 698471, though that was reported against rendering, the same<br> + effect occurs with pdfwrite.<br> +<br> + The cluster shows one diff, a progression, which surprises me since I<br> + cannot duplicate the reference output, but I'm not going to complain<br> + since its a progression.<br> +<br> +devices/gxfcopy.c<br> +devices/gxfcopy.h<br> +devices/vector/gdevpdtb.c<br> +devices/vector/gdevpdtc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-22 17:14:31 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de0bad3a42012d57fea6c2d55325c033db7a3ded">de0bad3a42012d57fea6c2d55325c033db7a3ded</a> +<blockquote> +<p> + Fix Bug 698874 - incorrect text positioning.<br> +<br> + The bug title is misleading, this a font selection problem where 1 of<br> + 2 fonts with the same attributes must be selected. Experiments<br> + suggest the HP chooses the font which was defined earliest. We<br> + emulate the same effect in our interpreter by creating sequential PJL<br> + font numbers for downloaded fonts and the selection algorithm<br> + prefering lower numbers.<br> +<br> + Progression with the test file bug690520.pcl.<br> +<br> +pcl/pcl/pcfont.c<br> +pcl/pcl/pcfsel.c<br> +pcl/pcl/pcsfont.c<br> +pcl/pcl/pcstate.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-22 11:32:20 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b5b6ffad4c3e6d12fbb1caf9d0f17d7de77ca3c3">b5b6ffad4c3e6d12fbb1caf9d0f17d7de77ca3c3</a> +<blockquote> +<p> + Fix rc_increment for CMM_THREAD_SAFE case (only 1 param, not 2)<br> +<br> + Thanks to Michael Vrhel for tripping over this first.<br> +<br> +base/gxclthrd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 18:12:08 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8089072692df101c5464e67b3c3a2cebf9b6682d">8089072692df101c5464e67b3c3a2cebf9b6682d</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gstate_free_contents.<br> +<br> + Fix memory leak for allocation event numbers 346 - 348.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=349 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 13:01:22 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6adaf9b4d691bfec64d6d6888bb4fed776a2da12">6adaf9b4d691bfec64d6d6888bb4fed776a2da12</a> +<blockquote> +<p> + Bug 698867: Don't push texttransparency knockout group for invisible text<br> +<br> + The customer's example file had text that was not opaque, but was being<br> + rendered in TextRenderingMode 3 (invisible). Don't push the extra<br> + transparency group for this. Reduces time from 483 seconds to 44 seconds<br> + with default clist params, and with BufferSpace of > 32m down to 14 seconds.<br> + Also reduces page mode (-dBufferSpace=2000m) from 40 minutes to 9 seconds.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 10:55:29 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1bc1bfaf123e866695813895d02da0956f79cb31">1bc1bfaf123e866695813895d02da0956f79cb31</a> +<blockquote> +<p> + Minor fix and addition of debugging info for clist cropping.<br> +<br> +base/gxclimag.c<br> +base/gxclist.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-22 15:20:29 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb5d417375e1c7052aeb9f2532d34573bfd07f53">eb5d417375e1c7052aeb9f2532d34573bfd07f53</a> +<blockquote> +<p> + Feature - JPEG Pass through<br> +<br> + This commit adds the capability for the PostScript and PDF interpreters<br> + to pass JPEG compressed image data directly to a device (currently the<br> + pdfwrite family of devices) as the original JPEG data.<br> +<br> + This allows us to avoid the compression artefacts caused by decompressing<br> + JPEG image data, and then applying JPEG compression again.<br> +<br> + This works by having the JPEG decoder inquire (via spec_op) if the<br> + current device would like the original uncompressed data. If so then it<br> + instructs the JPEG stream decoder to call a routine which will use<br> + more spec_ops to pass the uncompressed data to the device.<br> +<br> + The interpreter still calls the image methods with the decompressed<br> + data, its up to the device to ignore these calls while handling JPEG<br> + pass-through.<br> +<br> + We have to work this way in PostScript, as we must decompress the data<br> + as it arrives in order to find the end of the DCT compressed data. In<br> + addition, this allows the device to change its mind about accepting<br> + compressed data directly if it discovers from the image data that it<br> + is not suitable for preserving unchanged.<br> +<br> + This approach does not work with the PXL and XPS interpreters. These<br> + interpreters appear to completely decompress the JPEG data before<br> + starting an image, unlike the PostScript and PDF interpreters where the<br> + image methods are called as the stream is decopressed.<br> +<br> + As a result this feature is disabled for these interpreters.<br> +<br> +Resource/Init/gs_pdfwr.ps<br> +base/gxdevsop.h<br> +base/sdct.h<br> +base/sdctd.c<br> +devices/vector/gdevpdfb.h<br> +devices/vector/gdevpdfi.c<br> +devices/vector/gdevpdfj.c<br> +devices/vector/gdevpdfx.h<br> +devices/vector/gdevpsdf.h<br> +devices/vector/gdevpsdi.c<br> +devices/vector/gdevpsdp.c<br> +doc/VectorDevices.htm<br> +pcl/pxl/pximage.c<br> +pcl/pxl/pxvendor.c<br> +psi/int.mak<br> +psi/zfdctd.c<br> +xps/xpsjpeg.c<br> +xps/xpstiff.c<br> +xps/xpstile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-21 14:53:08 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f858f560061560cbd3670509206dfdd98fea4d07">f858f560061560cbd3670509206dfdd98fea4d07</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in px_state_alloc.<br> +<br> + Fix memory leak for allocation event numbers 515 and 516.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=517 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pxl/pxstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 22:17:57 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e0509877950e3ffef5c576472ff12a3e3fb37b3">9e0509877950e3ffef5c576472ff12a3e3fb37b3</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak of hpgl_parser_state.<br> +<br> + Fix memory leak for allocation event number 420.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=421 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pcommand.c<br> +pcl/pcl/pgparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 21:29:08 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0177158989db4de55199e1b482cbffb033c4a213">0177158989db4de55199e1b482cbffb033c4a213</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in pcl_impl_allocate_interp_instance.<br> +<br> + Fix memory leak for allocation event numbers 328 - 417.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=419 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pcl/pctop.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 20:02:53 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3278973da5d771e3fc56d1a4295c3bdb3a1a51b5">3278973da5d771e3fc56d1a4295c3bdb3a1a51b5</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in file_prepare_stream.<br> +<br> + Fix memory leak for allocation event number 357.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=358 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/sfxcommon.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 19:07:34 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=43711760b611b1a8e17f3490e3b58914508098f9">43711760b611b1a8e17f3490e3b58914508098f9</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gs_nulldevice.<br> +<br> + Fix memory leak for allocation event number 355.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=356 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsdevice.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-19 10:01:22 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=76aea30116ea14ebb2238d34251e44a7e547ebf0">76aea30116ea14ebb2238d34251e44a7e547ebf0</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gs_gstate_alloc.<br> +<br> + Fix memory leak for allocation event numbers 330 - 334. The path, clip_path and<br> + effective_clip_path are initialised at the start of gs_gstate_alloc during the<br> + call to gstate_alloc so this redundant code can be removed.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=348 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-20 14:34:13 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b09da43f803fda306d3eb8eca99d825f70156db7">b09da43f803fda306d3eb8eca99d825f70156db7</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gp_enumerate_files_init.<br> +<br> + Fix memory leak for allocation event numbers 199 and 200.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=201 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gp_unifs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-17 20:02:32 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=76c335c7672e3841055d6c6effc2ae61715c8b6a">76c335c7672e3841055d6c6effc2ae61715c8b6a</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in gs_enumerate_files_init.<br> +<br> + Fix memory leak for allocation event numbers 183 and 184.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=185 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsiodev.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-18 12:06:11 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4b8eb0c07b84667b0e3f5ab47f328767012781bf">4b8eb0c07b84667b0e3f5ab47f328767012781bf</a> +<blockquote> +<p> + Bug 691224 : Remove the long non-functional DISKFONTS feature.<br> +<br> + This feature (allowing Type 1 fonts to be loaded into VM without CharStrings<br> + and individual CharStrings read from the font file on demand) only ever worked<br> + with very specifically formatted Type 1 fonts (those coming from the also long<br> + dead and gone bdftops.ps tool). Any significant variation from that format<br> + would not work.<br> +<br> + As we no longer use fonts derived from BDF (and BDF are very much a thing of the<br> + past!), DISKFONTS has not worked for a *long* time, hence removing it.<br> +<br> + In addition, even on printers, memory is no longer quite the issue it was, nor<br> + are the core Postscript fonts as widely used or relied upon as they were.<br> +<br> +Resource/Init/gs_diskf.ps<br> +Resource/Init/gs_fonts.ps<br> +Resource/Init/gs_init.ps<br> +Resource/Init/gs_type1.ps<br> +doc/Psfiles.htm<br> +doc/Use.htm<br> +doc/gs-vms.hlp<br> +man/gs.1<br> +psi/int.mak<br> +psi/psromfs.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-18 12:39:00 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f3e26b054b866678512cd6c0c2e2daba9f4c17db">f3e26b054b866678512cd6c0c2e2daba9f4c17db</a> +<blockquote> +<p> + Bug 697856: Reduce clist buffer memory usage for worst case files.<br> +<br> + The band_height is chosen based on number of bytes per scan line, and<br> + a fudge factor if the page uses transparency. For pages with a large<br> + number of raster lines, the number of bands could cause the space<br> + needed for the band "states" to exceed the space remaining in the<br> + buffer. This was handled by doubling the BufferSpace until there<br> + was enough space for the band states. Improve by increasing the space<br> + available more gradually. For one of the worst case files, Bug689581.pdf,<br> + this reduces the memory needed from 40Mb to 24Mb.<br> +<br> +base/gdevprn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-17 17:33:48 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c470009cbf8be2aaed7b4b438307479959949625">c470009cbf8be2aaed7b4b438307479959949625</a> +<blockquote> +<p> + Bug 697545 : Fix memory leak in pl_main_delete_instance.<br> +<br> + Fix memory leak for allocation event number 28.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=183 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-17 12:54:59 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3c90c6e03844713000f0e300e371487fa49980f5">3c90c6e03844713000f0e300e371487fa49980f5</a> +<blockquote> +<p> + Fix bug 697843: Use after free in pdf14_device_finalize<br> +<br> + The trans_group_parent_cmap_procs (misnamed because it has a LOT of<br> + parent color info along with the cmap procs) needs to be allocated<br> + in stable_memory to prevent a dangling pointer being seen during the<br> + pdf14_device_finalize during alloc_restore_all because the parent<br> + color info may be freed before the pdf14 device itself.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-17 11:43:55 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bfda8d1f442e3c8e81018833c3698ffcb63535fb">bfda8d1f442e3c8e81018833c3698ffcb63535fb</a> +<blockquote> +<p> + Fix (some) missing dependencies<br> +<br> + Noticed during other work, but not committed as part of those fixes<br> + since this is unrelatd.<br> +<br> +devices/devs.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-17 11:18:42 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c998242a1168320aba8efb909189654f153b8dd3">c998242a1168320aba8efb909189654f153b8dd3</a> +<blockquote> +<p> + Fix bug 698306: consecutive pushpdf14devicefilter leads to SEGV<br> +<br> + If we get to pushpdf14devicefilter with the pdf14 device, the closedevice<br> + will forward the close to the target, but if the pdf14 device hasn't<br> + been disabled, the opendevice won't forward to the target. Call the<br> + pdf14_disable_device to make sure the pdf14_open_device will forward.<br> +<br> +base/gdevp14.c<br> +psi/int.mak<br> +psi/ztrans.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-17 12:29:00 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f0fe2481a2e9b0b632a1d4e804a5a1d27fe9c017">f0fe2481a2e9b0b632a1d4e804a5a1d27fe9c017</a> +<blockquote> +<p> + Prevent undefined error with -DDEBUG<br> +<br> + The procedure for dumping VM stats with -DDEBUG and -DINITDEBUG was not being<br> + bound, so the .<operator> internal operators we now undefine after<br> + initialization were missing by the time the procedure was called.<br> +<br> + Now, simply bind the procedure<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-16 20:04:30 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6e7149bae6bd5c2a7b5acff50ba6600b3beb3818">6e7149bae6bd5c2a7b5acff50ba6600b3beb3818</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix for double freeing of ToneCurve.<br> +<br> + Avoid SEGV by removing unnecessary freeing of ToneCurve.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=751 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +lcms2art/src/cmsio1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-16 19:41:55 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1bbf91df4b8df650f3efe0effd37cf1cf91c9657">1bbf91df4b8df650f3efe0effd37cf1cf91c9657</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix for mutex in lcms2art code<br> +<br> + Prevent SEGV by checking for NULL mutex pointer before attempting<br> + to use or destroy it.<br> +<br> +lcms2art/src/cmserr.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 17:26:37 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3aeff79d28e832aefcd005c99ae67304c927b3d3">3aeff79d28e832aefcd005c99ae67304c927b3d3</a> +<blockquote> +<p> + Bug 697545 : Fix memory leaks and SEGVs.<br> +<br> + Prevent table being orphaned due to early memory allocation failures. Remove<br> + cleanup code to prevent double freeing iodev entries. Prevent SEGV when ramfs<br> + state fails to allocate.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=25 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +base/gsiodev.c<br> +base/gsioram.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-16 11:18:27 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d250ce572e7f2e067693a19de8d38b6612b73501">d250ce572e7f2e067693a19de8d38b6612b73501</a> +<blockquote> +<p> + Fix segfault with "all devices" test.<br> +<br> + Turns out there's a group of devices that actually open a file as they are being<br> + closed, which causes problems if we've already freed up the I/O device table,<br> + which commit 2e86e7f64e added.<br> +<br> + So, rejig the Postscript interpreter's I/O device table init/finit functions to<br> + allow later freeing of the table (whilst keeping the two consistent in their<br> + parameters).<br> +<br> +psi/iinit.c<br> +psi/iinit.h<br> +psi/imain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-16 10:47:14 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e62df8bbd78e8db1cb254a6ab4c2ebf1232c6c7e">e62df8bbd78e8db1cb254a6ab4c2ebf1232c6c7e</a> +<blockquote> +<p> + Reduce severity of memory debug problem detection<br> +<br> + Bug #698849 "gs_abort with Bad object"<br> +<br> + The error occurs because of the combination of -Z? and -dLastPage. In<br> + order to do First/Last Page processing, we insert a subclassing device<br> + ahead of the regular device (ppmraw in this case).<br> +<br> + The subclassing works by making a new device structure, copying the<br> + existing device to it, and replacing the content of the existing<br> + device structure. This is done to maintain coherency of gsave/grestore<br> + and save/restore; the structures maintain pointers to the device in<br> + the graphics state structure, so we can't simply move it.<br> +<br> + When subclassing, we change the declared size of the structure (ssize)<br> + but we don't (can't!) change the size that the memory manager allocated<br> + in the first place. This leads to a mismatch between the declared size<br> + of the structure and the allocated size. I mentioned this in the<br> + original commit for subclassing, but noted that in normal use there is<br> + nowhere that actually checks.<br> +<br> + However, if you set -Z? then additional checks are done on memory<br> + validity, and this discrepancy is flagged. It also raises an abort,<br> + presumably because this is seen as serious enough to stop and<br> + investigate.<br> +<br> + I don't want to remove this check altogether, as it may still be useful,<br> + but we don't want to abort now because this might be a benign change<br> + caused by subclassing.<br> +<br> + So here, pull the size != ssize check out separately from the other<br> + consistency checks, and if it is not true raise a warning, but do<br> + *not* abort the process.<br> +<br> +psi/ilocate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 11:41:01 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d730d2087680cff4e3b153536922406bfcf4493">4d730d2087680cff4e3b153536922406bfcf4493</a> +<blockquote> +<p> + Fix bug 698823. Segfault with psdrgb and transparency_example.ps<br> +<br> + The psdrgb device has max_components == 3, but the pdf14 device was<br> + using spot_colors to set it more than that (transparency_example.ps<br> + doed not set PageSpotColors so it was -1, leading to underflow).<br> + If page_spot_colors is the default -1, then don't use it, and also<br> + limit the num_components to max_components for the device.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 08:14:02 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=afe8e5468db1f875432aa711676eaf4007d13daa">afe8e5468db1f875432aa711676eaf4007d13daa</a> +<blockquote> +<p> + Fix opening of files > 2GB on Windows built with VS after VS2013<br> +<br> + For whatever reason, even on 64 bit builds, Visual Studio changed<br> + behaviour and the compiler/run-time now invoke __fstat64i32 for<br> + fstat. This returns an error if the file size can't fit in int32<br> + (the older fstat just returned a negative number, ignoring overflow)<br> + Change to use __fstat64 which works on VS 2005 so it should be<br> + fine. I also tested this build on an ancient Dell with 760Mb RAM<br> + running Windows XP SP3 and it runs fine, so __fstat64 is not a<br> + problem going back that far.<br> +<br> +base/stat_.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 17:22:38 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b199f558834d0fbd365cccc426eed0fdc3e035c7">b199f558834d0fbd365cccc426eed0fdc3e035c7</a> +<blockquote> +<p> + pdfwrite - Fix the detection of type 3 descendants in composite fonts<br> +<br> + Bug #698844 "ps2pdf creates unusually large PDF files starting with version 9.21"<br> + Bug #698647 "PCL5 - Downloadfont not as T3 Font interpreted"<br> + Bug #607462 "Ghostscript falls into infinite loop with pdfwrite"<br> +<br> + The actual problem was that a Type 0 composite font with a single<br> + descendant was used with stringwidth and the space glyph. This was not<br> + detected by pdf_text_begin() and so the glyph was cached, but it was not<br> + added to any type 3 font, it was simply processed as a stringwidth.<br> +<br> + Later the same glyph from the same font was used in earnest, pdfwrite<br> + noticed it didn't have a copy of the glyph and set up to capture the<br> + CharProc. But the glyph was present in the glyph cache which meant the<br> + CharProc wasn't executed, leading to an infinite loop.<br> +<br> + The fix applied prevented caching type 3 fonts, but that caused problems<br> + with cases where we wanted to convert a font to type 3, so the fix<br> + was extended to only prevent caching of input type 3 fonts, not<br> + synthesised ones.<br> +<br> + However, this still caused problems with programs which used type 3 fonts<br> + with glyphshow. Because we did not cache the glyphs we would detect each<br> + glyph use through glyphshow as a new glyph, and so there would be no<br> + glyph reuse, leading to large slow PDF files.<br> +<br> + Here we extend the check on descendants of type 3 fonts so that if no<br> + font change takes place, we still check the 'current' descendant to<br> + see if its type 3. If a type 3 descendant is detected then we skip<br> + caching the glyph which prevents the whole problem.<br> +<br> + No differences expected.<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 14:06:34 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99a839311c7d7e1dab919bd88f7632c5e230708f">99a839311c7d7e1dab919bd88f7632c5e230708f</a> +<blockquote> +<p> + Remove hamrless/pointless no-op assignment from previous commit<br> +<br> +psi/zfapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 13:48:27 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ead0b5bee31a6e2756749a5c8fb6508e49b64703">ead0b5bee31a6e2756749a5c8fb6508e49b64703</a> +<blockquote> +<p> + Bug 698856: Ensure is_glyph_index flag is consistently set<br> +<br> + The is_glyph_index is (now) set as a local variable, then copied to<br> + the structure before the ps_get_glyphname_or_cid() function returns.<br> +<br> + A couple of branches in the code were still setting the structure value directly<br> + meaning the local variable was wrong.<br> +<br> +psi/zfapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-15 08:17:46 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2e86e7f64ed169345c9fb49b9c9eaf0a1bf78720">2e86e7f64ed169345c9fb49b9c9eaf0a1bf78720</a> +<blockquote> +<p> + Bug 698842: cleanup the io_dev table and contents<br> +<br> + This is slightly complicated as (in the Ghostscript case) the table can be<br> + freed explicitly, or by the garbager.<br> +<br> +base/gdevpipe.c<br> +base/gp_mshdl.c<br> +base/gp_msprn.c<br> +base/gp_os2pr.c<br> +base/gsiodev.c<br> +base/gsiodevs.c<br> +base/gsiodisk.c<br> +base/gsioram.c<br> +base/gsiorom.c<br> +base/gslib.c<br> +base/gxiodev.h<br> +base/lib.mak<br> +pcl/pl/pl.mak<br> +pcl/pl/plmain.c<br> +psi/iinit.c<br> +psi/iinit.h<br> +psi/imain.c<br> +psi/int.mak<br> +psi/zdevcal.c<br> +psi/ziodev.c<br> +psi/ziodev2.c<br> +psi/ziodevs.c<br> +psi/ziodevsc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-12 08:48:21 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d0829c3cc4d64594499035d664c918acc9047d70">d0829c3cc4d64594499035d664c918acc9047d70</a> +<blockquote> +<p> + Update to latest CMap release from Adobe<br> +<br> + From:<br> + https://github.com/adobe-type-tools/cmap-resources<br> +<br> +Resource/CMap/78-EUC-H<br> +Resource/CMap/78-EUC-V<br> +Resource/CMap/78-H<br> +Resource/CMap/78-RKSJ-H<br> +Resource/CMap/78-RKSJ-V<br> +Resource/CMap/78-V<br> +Resource/CMap/78ms-RKSJ-H<br> +Resource/CMap/78ms-RKSJ-V<br> +Resource/CMap/83pv-RKSJ-H<br> +Resource/CMap/90ms-RKSJ-H<br> +Resource/CMap/90ms-RKSJ-V<br> +Resource/CMap/90msp-RKSJ-H<br> +Resource/CMap/90msp-RKSJ-V<br> +Resource/CMap/90pv-RKSJ-H<br> +Resource/CMap/90pv-RKSJ-V<br> +Resource/CMap/Add-H<br> +Resource/CMap/Add-RKSJ-H<br> +Resource/CMap/Add-RKSJ-V<br> +Resource/CMap/Add-V<br> +Resource/CMap/Adobe-CNS1-0<br> +Resource/CMap/Adobe-CNS1-1<br> +Resource/CMap/Adobe-CNS1-2<br> +Resource/CMap/Adobe-CNS1-3<br> +Resource/CMap/Adobe-CNS1-4<br> +Resource/CMap/Adobe-CNS1-5<br> +Resource/CMap/Adobe-CNS1-6<br> +Resource/CMap/Adobe-CNS1-7<br> +Resource/CMap/Adobe-GB1-0<br> +Resource/CMap/Adobe-GB1-1<br> +Resource/CMap/Adobe-GB1-2<br> +Resource/CMap/Adobe-GB1-3<br> +Resource/CMap/Adobe-GB1-4<br> +Resource/CMap/Adobe-GB1-5<br> +Resource/CMap/Adobe-Japan1-0<br> +Resource/CMap/Adobe-Japan1-1<br> +Resource/CMap/Adobe-Japan1-2<br> +Resource/CMap/Adobe-Japan1-3<br> +Resource/CMap/Adobe-Japan1-4<br> +Resource/CMap/Adobe-Japan1-5<br> +Resource/CMap/Adobe-Japan1-6<br> +Resource/CMap/Adobe-Japan2-0<br> +Resource/CMap/Adobe-Korea1-0<br> +Resource/CMap/Adobe-Korea1-1<br> +Resource/CMap/Adobe-Korea1-2<br> +Resource/CMap/B5-H<br> +Resource/CMap/B5-V<br> +Resource/CMap/B5pc-H<br> +Resource/CMap/B5pc-V<br> +Resource/CMap/CNS-EUC-H<br> +Resource/CMap/CNS-EUC-V<br> +Resource/CMap/CNS1-H<br> +Resource/CMap/CNS1-V<br> +Resource/CMap/CNS2-H<br> +Resource/CMap/CNS2-V<br> +Resource/CMap/ETHK-B5-H<br> +Resource/CMap/ETHK-B5-V<br> +Resource/CMap/ETen-B5-H<br> +Resource/CMap/ETen-B5-V<br> +Resource/CMap/ETenms-B5-H<br> +Resource/CMap/ETenms-B5-V<br> +Resource/CMap/EUC-H<br> +Resource/CMap/EUC-V<br> +Resource/CMap/Ext-H<br> +Resource/CMap/Ext-RKSJ-H<br> +Resource/CMap/Ext-RKSJ-V<br> +Resource/CMap/Ext-V<br> +Resource/CMap/GB-EUC-H<br> +Resource/CMap/GB-EUC-V<br> +Resource/CMap/GB-H<br> +Resource/CMap/GB-V<br> +Resource/CMap/GBK-EUC-H<br> +Resource/CMap/GBK-EUC-V<br> +Resource/CMap/GBK2K-H<br> +Resource/CMap/GBK2K-V<br> +Resource/CMap/GBKp-EUC-H<br> +Resource/CMap/GBKp-EUC-V<br> +Resource/CMap/GBT-EUC-H<br> +Resource/CMap/GBT-EUC-V<br> +Resource/CMap/GBT-H<br> +Resource/CMap/GBT-V<br> +Resource/CMap/GBTpc-EUC-H<br> +Resource/CMap/GBTpc-EUC-V<br> +Resource/CMap/GBpc-EUC-H<br> +Resource/CMap/GBpc-EUC-V<br> +Resource/CMap/H<br> +Resource/CMap/HKdla-B5-H<br> +Resource/CMap/HKdla-B5-V<br> +Resource/CMap/HKdlb-B5-H<br> +Resource/CMap/HKdlb-B5-V<br> +Resource/CMap/HKgccs-B5-H<br> +Resource/CMap/HKgccs-B5-V<br> +Resource/CMap/HKm314-B5-H<br> +Resource/CMap/HKm314-B5-V<br> +Resource/CMap/HKm471-B5-H<br> +Resource/CMap/HKm471-B5-V<br> +Resource/CMap/HKscs-B5-H<br> +Resource/CMap/HKscs-B5-V<br> +Resource/CMap/Hankaku<br> +Resource/CMap/Hiragana<br> +Resource/CMap/Hojo-EUC-H<br> +Resource/CMap/Hojo-EUC-V<br> +Resource/CMap/Hojo-H<br> +Resource/CMap/Hojo-V<br> +Resource/CMap/Identity-H<br> +Resource/CMap/Identity-V<br> +Resource/CMap/KSC-EUC-H<br> +Resource/CMap/KSC-EUC-V<br> +Resource/CMap/KSC-H<br> +Resource/CMap/KSC-Johab-H<br> +Resource/CMap/KSC-Johab-V<br> +Resource/CMap/KSC-V<br> +Resource/CMap/KSCms-UHC-H<br> +Resource/CMap/KSCms-UHC-HW-H<br> +Resource/CMap/KSCms-UHC-HW-V<br> +Resource/CMap/KSCms-UHC-V<br> +Resource/CMap/KSCpc-EUC-H<br> +Resource/CMap/KSCpc-EUC-V<br> +Resource/CMap/Katakana<br> +Resource/CMap/NWP-H<br> +Resource/CMap/NWP-V<br> +Resource/CMap/RKSJ-H<br> +Resource/CMap/RKSJ-V<br> +Resource/CMap/Roman<br> +Resource/CMap/UniCNS-UCS2-H<br> +Resource/CMap/UniCNS-UCS2-V<br> +Resource/CMap/UniCNS-UTF16-H<br> +Resource/CMap/UniCNS-UTF16-V<br> +Resource/CMap/UniCNS-UTF32-H<br> +Resource/CMap/UniCNS-UTF32-V<br> +Resource/CMap/UniCNS-UTF8-H<br> +Resource/CMap/UniCNS-UTF8-V<br> +Resource/CMap/UniGB-UCS2-H<br> +Resource/CMap/UniGB-UCS2-V<br> +Resource/CMap/UniGB-UTF16-H<br> +Resource/CMap/UniGB-UTF16-V<br> +Resource/CMap/UniGB-UTF32-H<br> +Resource/CMap/UniGB-UTF32-V<br> +Resource/CMap/UniGB-UTF8-H<br> +Resource/CMap/UniGB-UTF8-V<br> +Resource/CMap/UniHojo-UCS2-H<br> +Resource/CMap/UniHojo-UCS2-V<br> +Resource/CMap/UniHojo-UTF16-H<br> +Resource/CMap/UniHojo-UTF16-V<br> +Resource/CMap/UniHojo-UTF32-H<br> +Resource/CMap/UniHojo-UTF32-V<br> +Resource/CMap/UniHojo-UTF8-H<br> +Resource/CMap/UniHojo-UTF8-V<br> +Resource/CMap/UniJIS-UCS2-H<br> +Resource/CMap/UniJIS-UCS2-HW-H<br> +Resource/CMap/UniJIS-UCS2-HW-V<br> +Resource/CMap/UniJIS-UCS2-V<br> +Resource/CMap/UniJIS-UTF16-H<br> +Resource/CMap/UniJIS-UTF16-V<br> +Resource/CMap/UniJIS-UTF32-H<br> +Resource/CMap/UniJIS-UTF32-V<br> +Resource/CMap/UniJIS-UTF8-H<br> +Resource/CMap/UniJIS-UTF8-V<br> +Resource/CMap/UniJIS2004-UTF16-H<br> +Resource/CMap/UniJIS2004-UTF16-V<br> +Resource/CMap/UniJIS2004-UTF32-H<br> +Resource/CMap/UniJIS2004-UTF32-V<br> +Resource/CMap/UniJIS2004-UTF8-H<br> +Resource/CMap/UniJIS2004-UTF8-V<br> +Resource/CMap/UniJISPro-UCS2-HW-V<br> +Resource/CMap/UniJISPro-UCS2-V<br> +Resource/CMap/UniJISPro-UTF8-V<br> +Resource/CMap/UniJISX0213-UTF32-H<br> +Resource/CMap/UniJISX0213-UTF32-V<br> +Resource/CMap/UniJISX02132004-UTF32-H<br> +Resource/CMap/UniJISX02132004-UTF32-V<br> +Resource/CMap/UniKS-UCS2-H<br> +Resource/CMap/UniKS-UCS2-V<br> +Resource/CMap/UniKS-UTF16-H<br> +Resource/CMap/UniKS-UTF16-V<br> +Resource/CMap/UniKS-UTF32-H<br> +Resource/CMap/UniKS-UTF32-V<br> +Resource/CMap/UniKS-UTF8-H<br> +Resource/CMap/UniKS-UTF8-V<br> +Resource/CMap/V<br> +Resource/CMap/WP-Symbol<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-13 13:10:08 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3b0c7a01433c16f007dd3d92c04edc19bfb79970">3b0c7a01433c16f007dd3d92c04edc19bfb79970</a> +<blockquote> +<p> + Revert GhostPDL.sln due to stray commit<br> +<br> + I use VS2017 for profiling, so had converted the solution file.<br> + It should not have been committed, but slipped through. Reverting<br> + it here.<br> +<br> +windows/GhostPDL.sln<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-13 10:45:32 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=112021a361e9300d9cd0cde0bfc9e691a6e5d0d7">112021a361e9300d9cd0cde0bfc9e691a6e5d0d7</a> +<blockquote> +<p> + pdf_info.ps - gracefully handle circular Resource references<br> +<br> + Although not strictly part of Ghostscript, pdf_info.ps is used by<br> + customers and this is reasonably easy to improve.<br> +<br> + When checking for transparency, pdf_info.ps uses the Ghostscript<br> + PDF interpreter to do the work. However, other aspects of its operation<br> + (Media Sizes, Font use) aren't available from the PDF interpreter.<br> +<br> + When detecting Font usage, pdf_info.ps walks the Page Resource chain,<br> + and any the Resource chains of any Pattern or XObject Resources used<br> + on that page, as well as the Resources for any Annots (and also any<br> + XObject or Pattern Resources used by the Annots). If any of these<br> + Resource chains contains a circular reference (which they absolutely<br> + should not) then pdf_info will enter a loop and process unwil it<br> + exceeds the execution stack limit, throwing an error.<br> +<br> + In this commit we borrow the technique used by the PDF interpreter, we<br> + create a dictionary and every object which we inspect has its object<br> + number stored in that dictionary. Whenever we encounter a new object<br> + we first check to see if its number is in that dictionary. If it is, we<br> + know we've seen it before and this is (possibly) a circular reference.<br> +<br> + Even if it is not a circular reference, we've already checked that chain<br> + so we don't need to check it again.<br> +<br> + This isn't cluster checked.<br> +<br> +toolbin/pdf_info.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-23 21:19:22 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3012651caace0d2d4dd26631e0e10d81fdeab181">3012651caace0d2d4dd26631e0e10d81fdeab181</a> +<blockquote> +<p> + Fix Bug 698729: White lines with LeadingEdge=3 and InterpolateControl>1<br> +<br> + Images are always painted in X from left to right, but for landscape the<br> + lines come in the original order, so if dy is negative we need to back up<br> + the starting Y coordinate (scaled_y) by the (scaled_h - 1).<br> +<br> +base/gxiscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-12 09:52:20 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3110ffa4ee4de170248317813e2e5e5f2d84e75c">3110ffa4ee4de170248317813e2e5e5f2d84e75c</a> +<blockquote> +<p> + Fix errors: Interpolated images + overprint + devn device<br> +<br> + When using the overprint compositor, the underlying device may be able<br> + to handle copy_alpha_hl_color (planar devices) so forward to it even<br> + when the overprint compositor isn't active and use the correct<br> + overprint_copy_alpha_hl_color for the generic_procs.<br> +<br> + Fix regression errors with psdcmyk device from files in<br> + tests_private/comparefiles: Bug688308.ps T2CharString.eps and<br> + from tests_private/ps/ps3cet: 09-47N.PS 10-08.PS 10-14.PS 10-16.PS<br> + 11-01.PS 11-02.PS 11-03.PS 11-04.PS 11-05.PS 11-06.PS 11-07.PS<br> + 11-09.PS 11-10.PS 11-11.PS 11-12.PS 11-14.PS 11-15.PS 11-16.PS<br> + 11-17.PS 11-18.PS 11-19.PS 11-21.PS 11-22.PS 11-26D.PS 11-28.PS<br> + 12-02.PS 12-04.PS 12-06.PS 12-07D.PS 12-08D.PS 12-11.PS 12-12.PS<br> + 12-13.PS 13-01.PS 13-02.PS 13-05.PS 13-16.PS 13-17.PS 13-19.PS<br> + 13-20.PS 13-22.PS 13-26.PS 13-27.PS 13-28.PS 13-29.PS 21-11.PS<br> +<br> +base/gsovrc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-12 08:23:09 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1508f69d9ed68baac7e659e6089edbf12c9717a9">1508f69d9ed68baac7e659e6089edbf12c9717a9</a> +<blockquote> +<p> + Fix devn color affecting psdcmyk tests/pdf/Bug6901014_launch_leaflet.pdf p2<br> +<br> + The image interpolation uses copy_alpha_hl_color so when InterpolateControl=-1<br> + is used with this file in clist mode, playback ends up calling the<br> + default_no_copy_alpha_hl_color function which throws an "undefined" error. If<br> + this proc is seen, instead pass to copy_alpha which can work as long as the<br> + devn color can be packed into a chunky color which is the case as long as the<br> + num_components is <= 8, which is useful enough to make it worth trying. If<br> + the num_components is too large, the copy_alpha will throw a "rangecheck".<br> +<br> +base/gxclrast.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-02 11:32:10 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d6a0412e281b786847ec96acc0ba85ffa22bf04d">d6a0412e281b786847ec96acc0ba85ffa22bf04d</a> +<blockquote> +<p> + Switch to lcms2 Artifex version for CMM<br> +<br> + MuPDF is using Artifex's thread-safe version of lcms2. This commit switches gs to using that<br> + same version. Having gs take advantage of the thread-safe capabilities will be in a different<br> + commit.<br> +<br> +Makefile.in<br> +base/gscms.h<br> +base/gsicc_cache.c<br> +base/gsicc_cms.h<br> +base/gsicc_lcms.c<br> +base/gsicc_lcms2.c<br> +base/gsicc_lcms2art.c<br> +base/gsicc_manage.c<br> +base/lcms2art.mak<br> +base/lib.mak<br> +base/msvclib.mak<br> +base/openvms.mak<br> +base/ugcclib.mak<br> +base/unix-gcc.mak<br> +base/unixansi.mak<br> +base/winlib.mak<br> +configure.ac<br> +devices/gdevpsd.c<br> +devices/gdevrinkj.c<br> +devices/vector/gdevpx.c<br> +lcms2/README.1ST<br> +lcms2/doc/LittleCMS2.8 API.pdf<br> +lcms2/doc/LittleCMS2.8 Plugin API.pdf<br> +lcms2/doc/LittleCMS2.8 tutorial.pdf<br> +lcms2/include/Makefile.am<br> +lcms2art/.travis.yml<br> +lcms2art/AUTHORS<br> +lcms2art/COPYING<br> +lcms2art/ChangeLog<br> +lcms2art/INSTALL<br> +lcms2art/Lib/BC/BC.txt<br> +lcms2art/Lib/MS/MS.TXT<br> +lcms2art/Makefile.am<br> +lcms2art/Makefile.in<br> +lcms2art/Projects/.gitignore<br> +lcms2art/Projects/BorlandC_5.5/lcms2.rc<br> +lcms2art/Projects/BorlandC_5.5/lcmsdll.lk<br> +lcms2art/Projects/BorlandC_5.5/lcmsdll.lst<br> +lcms2art/Projects/BorlandC_5.5/mklcmsdll.bat<br> +lcms2art/Projects/VC2010/jpegicc/jpegicc.vcxproj<br> +lcms2art/Projects/VC2010/jpegicc/jpegicc.vcxproj.filters<br> +lcms2art/Projects/VC2010/linkicc/linkicc.vcxproj<br> +lcms2art/Projects/VC2010/linkicc/linkicc.vcxproj.filters<br> +lcms2art/Projects/VC2010/psicc/psicc.vcxproj<br> +lcms2art/Projects/VC2010/psicc/psicc.vcxproj.filters<br> +lcms2art/Projects/VC2010/resource.h<br> +lcms2art/Projects/VC2010/testbed/testbed.vcxproj<br> +lcms2art/Projects/VC2010/testbed/testbed.vcxproj.filters<br> +lcms2art/Projects/VC2010/tiffdiff/tiffdiff.vcxproj<br> +lcms2art/Projects/VC2010/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2art/Projects/VC2010/tifficc/tifficc.vcxproj<br> +lcms2art/Projects/VC2010/tifficc/tifficc.vcxproj.filters<br> +lcms2art/Projects/VC2010/transicc/transicc.vcxproj<br> +lcms2art/Projects/VC2010/transicc/transicc.vcxproj.filters<br> +lcms2art/Projects/VC2012/jpegicc/jpegicc.vcxproj<br> +lcms2art/Projects/VC2012/jpegicc/jpegicc.vcxproj.filters<br> +lcms2art/Projects/VC2012/lcms2art.rc<br> +lcms2art/Projects/VC2012/lcms2art.sln<br> +lcms2art/Projects/VC2012/lcms2art_DLL/lcms2art_DLL.vcxproj<br> +lcms2art/Projects/VC2012/lcms2art_DLL/lcms2art_DLL.vcxproj.filters<br> +lcms2art/Projects/VC2012/lcms2art_static/lcms2art_static.vcxproj<br> +lcms2art/Projects/VC2012/lcms2art_static/lcms2art_static.vcxproj.filters<br> +lcms2art/Projects/VC2012/linkicc/linkicc.vcxproj<br> +lcms2art/Projects/VC2012/linkicc/linkicc.vcxproj.filters<br> +lcms2art/Projects/VC2012/psicc/psicc.vcxproj<br> +lcms2art/Projects/VC2012/psicc/psicc.vcxproj.filters<br> +lcms2art/Projects/VC2012/resource.h<br> +lcms2art/Projects/VC2012/testbed/testbed.vcxproj<br> +lcms2art/Projects/VC2012/testbed/testbed.vcxproj.filters<br> +lcms2art/Projects/VC2012/tiffdiff/tiffdiff.vcxproj<br> +lcms2art/Projects/VC2012/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2art/Projects/VC2012/tifficc/tifficc.vcxproj<br> +lcms2art/Projects/VC2012/tifficc/tifficc.vcxproj.filters<br> +lcms2art/Projects/VC2012/transicc/transicc.vcxproj<br> +lcms2art/Projects/VC2012/transicc/transicc.vcxproj.filters<br> +lcms2art/Projects/VC2013/jpegicc/jpegicc.vcxproj<br> +lcms2art/Projects/VC2013/jpegicc/jpegicc.vcxproj.filters<br> +lcms2art/Projects/VC2013/lcms2art.rc<br> +lcms2art/Projects/VC2013/lcms2art.sln<br> +lcms2art/Projects/VC2013/lcms2art_DLL/lcms2art_DLL.vcxproj<br> +lcms2art/Projects/VC2013/lcms2art_DLL/lcms2art_DLL.vcxproj.filters<br> +lcms2art/Projects/VC2013/lcms2art_static/lcms2art_static.vcxproj<br> +lcms2art/Projects/VC2013/lcms2art_static/lcms2art_static.vcxproj.filters<br> +lcms2art/Projects/VC2013/linkicc/linkicc.vcxproj<br> +lcms2art/Projects/VC2013/linkicc/linkicc.vcxproj.filters<br> +lcms2art/Projects/VC2013/psicc/psicc.vcxproj<br> +lcms2art/Projects/VC2013/psicc/psicc.vcxproj.filters<br> +lcms2art/Projects/VC2013/resource.h<br> +lcms2art/Projects/VC2013/testbed/testbed.vcxproj<br> +lcms2art/Projects/VC2013/testbed/testbed.vcxproj.filters<br> +lcms2art/Projects/VC2013/tiffdiff/tiffdiff.vcxproj<br> +lcms2art/Projects/VC2013/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2art/Projects/VC2013/tifficc/tifficc.vcxproj<br> +lcms2art/Projects/VC2013/tifficc/tifficc.vcxproj.filters<br> +lcms2art/Projects/VC2013/transicc/transicc.vcxproj<br> +lcms2art/Projects/VC2013/transicc/transicc.vcxproj.filters<br> +lcms2art/Projects/VC2015/jpegicc/jpegicc.vcxproj<br> +lcms2art/Projects/VC2015/jpegicc/jpegicc.vcxproj.filters<br> +lcms2art/Projects/VC2015/lcms2art.rc<br> +lcms2art/Projects/VC2015/lcms2art.sln<br> +lcms2art/Projects/VC2015/lcms2art_DLL/lcms2art_DLL.vcxproj<br> +lcms2art/Projects/VC2015/lcms2art_DLL/lcms2art_DLL.vcxproj.filters<br> +lcms2art/Projects/VC2015/lcms2art_static/lcms2art_static.vcxproj<br> +lcms2art/Projects/VC2015/lcms2art_static/lcms2art_static.vcxproj.filters<br> +lcms2art/Projects/VC2015/linkicc/linkicc.vcxproj<br> +lcms2art/Projects/VC2015/linkicc/linkicc.vcxproj.filters<br> +lcms2art/Projects/VC2015/psicc/psicc.vcxproj<br> +lcms2art/Projects/VC2015/psicc/psicc.vcxproj.filters<br> +lcms2art/Projects/VC2015/resource.h<br> +lcms2art/Projects/VC2015/testbed/testbed.vcxproj<br> +lcms2art/Projects/VC2015/testbed/testbed.vcxproj.filters<br> +lcms2art/Projects/VC2015/tiffdiff/tiffdiff.vcxproj<br> +lcms2art/Projects/VC2015/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2art/Projects/VC2015/tifficc/tifficc.vcxproj<br> +lcms2art/Projects/VC2015/tifficc/tifficc.vcxproj.filters<br> +lcms2art/Projects/VC2015/transicc/transicc.vcxproj<br> +lcms2art/Projects/VC2015/transicc/transicc.vcxproj.filters<br> +lcms2art/Projects/VC2017/jpegicc/jpegicc.vcxproj<br> +lcms2art/Projects/VC2017/jpegicc/jpegicc.vcxproj.filters<br> +lcms2art/Projects/VC2017/lcms2art.rc<br> +lcms2art/Projects/VC2017/lcms2art.sln<br> +lcms2art/Projects/VC2017/lcms2art_DLL/lcms2art_DLL.vcxproj<br> +lcms2art/Projects/VC2017/lcms2art_DLL/lcms2art_DLL.vcxproj.filters<br> +lcms2art/Projects/VC2017/lcms2art_static/lcms2art_static.vcxproj<br> +lcms2art/Projects/VC2017/lcms2art_static/lcms2art_static.vcxproj.filters<br> +lcms2art/Projects/VC2017/linkicc/linkicc.vcxproj<br> +lcms2art/Projects/VC2017/linkicc/linkicc.vcxproj.filters<br> +lcms2art/Projects/VC2017/psicc/psicc.vcxproj<br> +lcms2art/Projects/VC2017/psicc/psicc.vcxproj.filters<br> +lcms2art/Projects/VC2017/resource.h<br> +lcms2art/Projects/VC2017/testbed/testbed.vcxproj<br> +lcms2art/Projects/VC2017/testbed/testbed.vcxproj.filters<br> +lcms2art/Projects/VC2017/tiffdiff/tiffdiff.vcxproj<br> +lcms2art/Projects/VC2017/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2art/Projects/VC2017/tifficc/tifficc.vcxproj<br> +lcms2art/Projects/VC2017/tifficc/tifficc.vcxproj.filters<br> +lcms2art/Projects/VC2017/transicc/transicc.vcxproj<br> +lcms2art/Projects/VC2017/transicc/transicc.vcxproj.filters<br> +lcms2art/Projects/cppcheck/lcms2.cppcheck<br> +lcms2art/Projects/mac/LittleCMS/._Info.plist<br> +lcms2art/Projects/mac/LittleCMS/._LittleCMS.xcodeproj<br> +lcms2art/Projects/mac/LittleCMS/English.lproj/InfoPlist.strings<br> +lcms2art/Projects/mac/LittleCMS/Info.plist<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.mode1v3<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.pbxuser<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.pbxproj<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/contents.xcworkspacedata<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/UserInterfaceState.xcuserstate<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/WorkspaceSettings.xcsettings<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/LittleCMS.xcscheme<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/testbed.xcscheme<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/xcschememanagement.plist<br> +lcms2art/Projects/mac/LittleCMS/LittleCMS_Prefix.pch<br> +lcms2art/Projects/mac/LittleCMS/TestBed-Info.plist<br> +lcms2art/README.1ST<br> +lcms2art/aclocal.m4<br> +lcms2art/autogen.sh<br> +lcms2art/compile<br> +lcms2art/config.guess<br> +lcms2art/config.sub<br> +lcms2art/configure<br> +lcms2art/configure.ac<br> +lcms2art/depcomp<br> +lcms2art/doc/LittleCMS2.9 API.pdf<br> +lcms2art/doc/LittleCMS2.9 Plugin API.pdf<br> +lcms2art/doc/LittleCMS2.9 tutorial.pdf<br> +lcms2art/doc/WhyThisFork.txt<br> +lcms2art/doc/src.zip<br> +lcms2art/include/Makefile.am<br> +lcms2art/include/Makefile.in<br> +lcms2art/include/lcms2art.h<br> +lcms2art/include/lcms2art_plugin.h<br> +lcms2art/install-sh<br> +lcms2art/lcms2art.pc.in<br> +lcms2art/ltmain.sh<br> +lcms2art/m4/acx_pthread.m4<br> +lcms2art/m4/ax_append_compile_flags.m4<br> +lcms2art/m4/ax_append_flag.m4<br> +lcms2art/m4/ax_check_compile_flag.m4<br> +lcms2art/m4/ax_gcc_func_attribute.m4<br> +lcms2art/m4/ax_require_defined.m4<br> +lcms2art/m4/libtool.m4<br> +lcms2art/m4/ltoptions.m4<br> +lcms2art/m4/ltsugar.m4<br> +lcms2art/m4/ltversion.m4<br> +lcms2art/m4/lt~obsolete.m4<br> +lcms2art/missing<br> +lcms2art/src/Makefile.am<br> +lcms2art/src/Makefile.in<br> +lcms2art/src/cmsalpha.c<br> +lcms2art/src/cmscam02.c<br> +lcms2art/src/cmscgats.c<br> +lcms2art/src/cmscnvrt.c<br> +lcms2art/src/cmserr.c<br> +lcms2art/src/cmsgamma.c<br> +lcms2art/src/cmsgmt.c<br> +lcms2art/src/cmshalf.c<br> +lcms2art/src/cmsintrp.c<br> +lcms2art/src/cmsio0.c<br> +lcms2art/src/cmsio1.c<br> +lcms2art/src/cmslut.c<br> +lcms2art/src/cmsmd5.c<br> +lcms2art/src/cmsmtrx.c<br> +lcms2art/src/cmsnamed.c<br> +lcms2art/src/cmsopt.c<br> +lcms2art/src/cmspack.c<br> +lcms2art/src/cmspcs.c<br> +lcms2art/src/cmsplugin.c<br> +lcms2art/src/cmsps2.c<br> +lcms2art/src/cmssamp.c<br> +lcms2art/src/cmssm.c<br> +lcms2art/src/cmstypes.c<br> +lcms2art/src/cmsvirt.c<br> +lcms2art/src/cmswtpnt.c<br> +lcms2art/src/cmsxform.c<br> +lcms2art/src/extra_xform.h<br> +lcms2art/src/lcms2_internal.h<br> +lcms2art/src/lcms2art.def<br> +lcms2art/testbed/Makefile.am<br> +lcms2art/testbed/Makefile.in<br> +lcms2art/testbed/bad.icc<br> +lcms2art/testbed/bad_mpe.icc<br> +lcms2art/testbed/crayons.icc<br> +lcms2art/testbed/ibm-t61.icc<br> +lcms2art/testbed/new.icc<br> +lcms2art/testbed/test1.icc<br> +lcms2art/testbed/test2.icc<br> +lcms2art/testbed/test3.icc<br> +lcms2art/testbed/test4.icc<br> +lcms2art/testbed/test5.icc<br> +lcms2art/testbed/testcms2.c<br> +lcms2art/testbed/testcms2.h<br> +lcms2art/testbed/testplugin.c<br> +lcms2art/testbed/testthread.cpp<br> +lcms2art/testbed/toosmall.icc<br> +lcms2art/testbed/zoo_icc.c<br> +lcms2art/utils/common/utils.h<br> +lcms2art/utils/common/vprf.c<br> +lcms2art/utils/common/xgetopt.c<br> +lcms2art/utils/delphi/delphidemo.dpr<br> +lcms2art/utils/delphi/delphidemo.dproj<br> +lcms2art/utils/delphi/delphidemo.res<br> +lcms2art/utils/delphi/demo1.dfm<br> +lcms2art/utils/delphi/demo1.pas<br> +lcms2art/utils/delphi/lcms2dll.pas<br> +lcms2art/utils/jpgicc/LICENSE_iccjpeg<br> +lcms2art/utils/jpgicc/Makefile.am<br> +lcms2art/utils/jpgicc/Makefile.in<br> +lcms2art/utils/jpgicc/iccjpeg.c<br> +lcms2art/utils/jpgicc/iccjpeg.h<br> +lcms2art/utils/jpgicc/jpgicc.1<br> +lcms2art/utils/jpgicc/jpgicc.c<br> +lcms2art/utils/linkicc/Makefile.am<br> +lcms2art/utils/linkicc/Makefile.in<br> +lcms2art/utils/linkicc/linkicc.1<br> +lcms2art/utils/linkicc/linkicc.c<br> +lcms2art/utils/matlab/icctrans.c<br> +lcms2art/utils/matlab/lcms_rsp<br> +lcms2art/utils/psicc/Makefile.am<br> +lcms2art/utils/psicc/Makefile.in<br> +lcms2art/utils/psicc/psicc.1<br> +lcms2art/utils/psicc/psicc.c<br> +lcms2art/utils/samples/Makefile.am<br> +lcms2art/utils/samples/Makefile.in<br> +lcms2art/utils/samples/itufax.c<br> +lcms2art/utils/samples/mkcmy.c<br> +lcms2art/utils/samples/mkgrayer.c<br> +lcms2art/utils/samples/mktiff8.c<br> +lcms2art/utils/samples/roundtrip.c<br> +lcms2art/utils/samples/vericc.c<br> +lcms2art/utils/samples/wtpt.1<br> +lcms2art/utils/samples/wtpt.c<br> +lcms2art/utils/tificc/Makefile.am<br> +lcms2art/utils/tificc/Makefile.in<br> +lcms2art/utils/tificc/tifdiff.c<br> +lcms2art/utils/tificc/tificc.1<br> +lcms2art/utils/tificc/tificc.c<br> +lcms2art/utils/transicc/Makefile.am<br> +lcms2art/utils/transicc/Makefile.in<br> +lcms2art/utils/transicc/transicc.1<br> +lcms2art/utils/transicc/transicc.c<br> +psi/msvc.mak<br> +psi/os2.mak<br> +psi/zicc.c<br> +psi/ztrans.c<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-12 10:56:29 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b5ac1a6e73af59d5106bf68ed3ab1a456a1c26dc">b5ac1a6e73af59d5106bf68ed3ab1a456a1c26dc</a> +<blockquote> +<p> + PS interpreter - don't use findresource for Idiom Recognition in bind<br> +<br> + The current implementation of idiom recognition uses findresource in<br> + the definition of the bind operator to check all existing IdiomSets<br> + for a candidate to substitute.<br> +<br> + This is, in fact, wrong. The PLRM (p135 3rd Edition) states that :<br> +<br> + "This matching by value occurs only for IdiomSet instances that are<br> + defined in VM; bind does not consider instances that are in not in VM<br> + but only in external storage."<br> +<br> + and:<br> +<br> + To ensure that the instances in VM are consistent with the external<br> + ones, the interpreter automatically invokes findresource to load<br> + external IdiomSet instances into VM at the beginning of each job and at<br> + certain other times."<br> +<br> + We were not loading the IdiomSet resources into VM, and we were searching<br> + external resources during bind.<br> +<br> + Not only is this incorrect, but because findresource ends up calling<br> + filenameforall on every directory in the search path, its also very<br> + slow.<br> +<br> + While normally we don't expect to see many occurences of bind during the<br> + course of a job, the customer supplied file did multiple binds on every<br> + page, and had > 50,000 pages. This led to a fourfold decrease in<br> + performance compared to Acrobat Distiller.<br> +<br> + Here we load the external resources into gobal VM at startup, and we<br> + now *only* search instances in VM. This is more correct going by the<br> + spec, and improves the performance by the desired factor of 4 for the<br> + customer. It provides a small benefit on cluster testing, which is<br> + expected as this only affects PostScript input.<br> +<br> + No differences expected.<br> +<br> +Resource/Init/gs_ll3.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-11 19:58:11 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=338c13198e658b084bbe45930e4837c31102b61f">338c13198e658b084bbe45930e4837c31102b61f</a> +<blockquote> +<p> + ROP Fix: Fix misindexing of scolors/tcolors.<br> +<br> + More evidence that this isn't used much.<br> +<br> +base/gsroprun8.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-11 18:34:51 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6fda7403e881ec53f2da6bb6f97f2e647ef523c">c6fda7403e881ec53f2da6bb6f97f2e647ef523c</a> +<blockquote> +<p> + ROPs: Squash scan build warnings.<br> +<br> +base/gsroprun24.h<br> +base/gsroprun8.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-10 21:27:32 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fc5f089b580040fb70a662e44721fe2fb457ecfa">fc5f089b580040fb70a662e44721fe2fb457ecfa</a> +<blockquote> +<p> + Bug 697545 : Fix new_font_defaults memory leak.<br> +<br> + Fix memory leak for allocation event numbers 165 - 180.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=181 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-10 21:10:43 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=30ca563d890a503fe4411a404d09c36839120114">30ca563d890a503fe4411a404d09c36839120114</a> +<blockquote> +<p> + Bug 697545 : Fix new_font_envir memory leak.<br> +<br> + Fix memory leak for allocation event numbers 146 - 161.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=162 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-11 17:43:44 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6a706f687ae99626ef5b16b71e5df6a05c202e33">6a706f687ae99626ef5b16b71e5df6a05c202e33</a> +<blockquote> +<p> + ROP fix: Correctly set scolors/tcolors S and T data case.<br> +<br> + We weren't setting S and T colors in this particular case of<br> + the code, which would have shown errors if we'd ever called<br> + it with S and T being 1 bit data arrays to choose between<br> + scolors[0] and [1] etc.<br> +<br> + It appears that no code in our entire regression suite actually<br> + calls the S and D both being data case anyway, as proved by<br> + cluster testing this code with an "abort();" line inserted!<br> +<br> +base/gdevmr8n.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-11 17:40:41 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aa8accce0a3f3d323dc45f6bf510a3ddfa76d10d">aa8accce0a3f3d323dc45f6bf510a3ddfa76d10d</a> +<blockquote> +<p> + ROP code: Correction<br> +<br> + Don't look for transparency when depth is 1 (it shouldn't be<br> + used anyway).<br> +<br> + Correct transparency handling in 8 bit (it was using 0xffffff<br> + as the color to check for in this mode). Oddly this wasn't<br> + producing diffs, which suggests that nothing is exercising<br> + this code in 8 bit.<br> +<br> +base/gsroprun.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-10 20:52:35 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb59c64085552ef0f98c1afdaae3c39ad4e5d421">eb59c64085552ef0f98c1afdaae3c39ad4e5d421</a> +<blockquote> +<p> + Fix stale pointer de-reference during GC due to restore.<br> +<br> + If a CIEBasedDEF or DEFG colorspace was set in a save level, a restore<br> + would free the Table memory, but the pgs->icc_profile_cache still had<br> + a (stale) pointer to that area. Fix by copying the Table to memory that<br> + is not subject to save/restore (stable_memory). Rely on the GC to free<br> + up the previous table data since we have no idea what allocator was<br> + used for it (from PostScript it would be local or global VM). Seen with:<br> + -Z:?@$ -r300 -sDEVICE=psdcmyk -o x.psd tests_private/comparefiles/Bug688308.ps<br> +<br> +psi/zcie.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-11 12:03:30 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9b3b93ca92f8b9370d4cb5a4e6176df1a06afeda">9b3b93ca92f8b9370d4cb5a4e6176df1a06afeda</a> +<blockquote> +<p> + ROP optimisation: Map more rops onto one another.<br> +<br> + Establish an ordering on rops ("unused" < "constant" <<br> + "bitmap" < "1 bit bitmap") and swap orders such that S<br> + is always >= T.<br> +<br> + This cuts the number of cases down a bit more.<br> +<br> +base/gsroprun.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-02 08:48:33 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c56dff6dea636c89b7c24bbec7b28f15171d7810">c56dff6dea636c89b7c24bbec7b28f15171d7810</a> +<blockquote> +<p> + Bug 697545 : Fix pjl_envir memory leak.<br> +<br> + Fix memory leak for allocation event numbers 89 - 143.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=144 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-31 14:57:30 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=411530608129ad6dd2078557a7f3d0a3425a9db8">411530608129ad6dd2078557a7f3d0a3425a9db8</a> +<blockquote> +<p> + Bug 697545 : Fix new_pjl_defaults memory leak.<br> +<br> + Fix memory leak for allocation event numbers 32 - 89.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=90 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-10 17:15:38 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=623d2ceee814622b5a75e13120165d8a2f4a2d35">623d2ceee814622b5a75e13120165d8a2f4a2d35</a> +<blockquote> +<p> + ROP transparency optimisation.<br> +<br> + If a transparent ROP uses a constant input that is<br> + transparent, then it's a NOP.<br> +<br> +base/gsroprun.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-08 19:10:01 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=151cb32d94b5790fae44f48763e19c519ac742cb">151cb32d94b5790fae44f48763e19c519ac742cb</a> +<blockquote> +<p> + Miscellaneous fixes to roprun code.<br> +<br> + Fold some more rops down to simpler ones.<br> +<br> + Remove some functions that are no longer required. Allow<br> + for NOP ROPs to short circuit all the work.<br> +<br> + Also, fix what looks like a problem in the setup for 1bit ROPs.<br> + (Doesn't actually seem to have caused a problem but the new<br> + code is more readable).<br> +<br> + Avoid intermixing rop_operand * and gx_color_index *'s.<br> +<br> +base/gdevm1.c<br> +base/gdevmr8n.c<br> +base/gsroprun.c<br> +base/gsroprun24.h<br> +base/gsroprun8.h<br> +base/gsropt.h<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-09 16:38:04 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3927036c14c12857be7dbf98dc777631a365977e">3927036c14c12857be7dbf98dc777631a365977e</a> +<blockquote> +<p> + Fix problem with bitrgbtags and ROPs.<br> +<br> + With bitrgbtags, we can get called to do 24 bit rop operations<br> + with transparency, with colors like 0x01ffffff.<br> +<br> + The transparency rop code is supposed to spot 0xffffff as meaning<br> + "be transparent", but the tag in the top byte confuses it.<br> +<br> + Accordingly, mask off stray bits in the colors before using them.<br> +<br> + The same potentially happens for an 8 bit + tags device so we cope<br> + with that too.<br> +<br> +base/gdevmr8n.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-09 07:19:35 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8612bfd86f7753fceb738364b2808a4ad9d3bdf">a8612bfd86f7753fceb738364b2808a4ad9d3bdf</a> +<blockquote> +<p> + Fix SEGV DEBUG build with -ZA (tests_private/comparefiles/Bug688308.ps)<br> +<br> +base/gsalloc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-08 12:04:57 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9b38e9780bf5cbb9dbf41131efa80887826c59b4">9b38e9780bf5cbb9dbf41131efa80887826c59b4</a> +<blockquote> +<p> + Enable the use of the RUN_ROP code.<br> +<br> + I thought this had been done years ago :(<br> +<br> + Fix a typo that was causing cluster differences, squash some<br> + warnings, and fix the scolors/tcolors cases to index as<br> + gx_color_index *'s rather than byte *'s.<br> +<br> + Presumably these are the reasons this didn't get enabled before.<br> + Cluster shows no differences now.<br> +<br> + Tests with running 600dpi grashopp.pcl to ppm show this saves<br> + ~5.5%.<br> +<br> +base/gdevmr8n.c<br> +base/gsroprun.c<br> +base/gsroprun24.h<br> +base/gsropt.h<br> +base/lib.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-11 19:11:04 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=731559c56907f223c9f0763d512fae7e4d13e1a0">731559c56907f223c9f0763d512fae7e4d13e1a0</a> +<blockquote> +<p> + Bug 698814: use --docdir= configure parameter<br> +<br> + Previously, the Ghostscript was using custom path to the documentation<br> + (as docdir=$(gsdatadir)/doc). This was causing that value of --docdir=<br> + parameter of ./configure was accepted, but not used at all.<br> +<br> + This commit fixes this issue, by using docdir=@docdir@@VERSIONED_PATH@<br> + instead. However, as a side effect this results in default path for<br> + documentation to changed to this (with --prefix=/usr):<br> +<br> + /usr/share/doc/ghostscript/<version>/<br> +<br> + To stay backward compatible, a symlink is automatically created to<br> + point from the old location (/usr/share/ghostscript/<version>/doc) to<br> + the new location.<br> +<br> + NOTE: Trying to fix this issue with the location of documentation<br> + staying as it was would require some hacking inside the Autoconf<br> + itself, which is not desirable.<br> +<br> +Makefile.in<br> +base/unixinst.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-11 17:27:39 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0da8eed54f24cf3dcb5f950c742a8072b7c7e01a">0da8eed54f24cf3dcb5f950c742a8072b7c7e01a</a> +<blockquote> +<p> + Bug 698813: do not install examples/ by default anymore<br> +<br> + Those files in the examples/ folder are for testing purposes,<br> + and not really good examples for people trying to learn PostScript.<br> +<br> + However, we are keeping the 'make install-examples' target for people<br> + who still wishes to use those files for some reason.<br> +<br> +base/unixinst.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-29 16:42:45 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb3f2ab6f3c5c1d113a8314c0251ca1e50b1196b">eb3f2ab6f3c5c1d113a8314c0251ca1e50b1196b</a> +<blockquote> +<p> + Bug 698795: --without-versioned-path option introduced<br> +<br> + Using this option will result in Ghostscript being installed into a<br> + paths which do not contain its version in them, which can be useful<br> + on some distributions.<br> +<br> + As a result of using this option, the Ghostscript's search path will<br> + be updated as well, to include correct files locations.<br> +<br> + This option is disabled by default, and configure's help page states<br> + that using this option is dangerous, risky and unsupported.<br> +<br> +Makefile.in<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-06 18:27:24 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3c120a33a91c9251c9a9e409680e92d9625a92da">3c120a33a91c9251c9a9e409680e92d9625a92da</a> +<blockquote> +<p> + Back out stray change in last commit.<br> +<br> +windows/GhostPDL.sln<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-05 17:04:59 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=47d4d0779563983ab79362acbf3522758ce7a09c">47d4d0779563983ab79362acbf3522758ce7a09c</a> +<blockquote> +<p> + Optimise some image_render_mono cases.<br> +<br> + Split a case within image_render_mono into separate portrait<br> + and landscape cases. Use fill rectangle rather than fill_trap<br> + to save time, and avoid halftoning where possible.<br> +<br> + This saves us about 15% runtime in 1000pages.pcl.<br> +<br> +base/gximono.c<br> +windows/GhostPDL.sln<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-04 17:53:56 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d356025602f3f9f9a1e656bd14430cd95c059548">d356025602f3f9f9a1e656bd14430cd95c059548</a> +<blockquote> +<p> + Tiny additional tweaks to compose groups.<br> +<br> + Measurable differences, but only just.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2018-01-04 15:56:55 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=75f389e6b8a2f2bf15ab3044ae4e1ef185061e8d">75f389e6b8a2f2bf15ab3044ae4e1ef185061e8d</a> +<blockquote> +<p> + pdf14 compose group (masked group) optimisation.<br> +<br> + The common case is for the mask (if there is one) to entirely<br> + cover the group we are masking. We can avoid needless<br> + checking in this case.<br> +<br> + This is the case the apple airprint performance test file<br> + hits and saves > 4% pam, 5% ppm, and 9% pgm.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-29 17:43:01 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=193e3b87bc711d30be0c2c41f6b3e61f49c92b22">193e3b87bc711d30be0c2c41f6b3e61f49c92b22</a> +<blockquote> +<p> + Fix problem with parsing non 8 bit arguments.<br> +<br> + A problem was reported on IRC, pointing out that we fail to<br> + correctly parse single char switches when we are using<br> + GS_ARG_ENCODING_UTF16LE.<br> +<br> + This is because arg_next was failing to convert non-indirected<br> + arguments correctly.<br> +<br> + Fixed here.<br> +<br> +base/gsargs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-29 13:17:49 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5907bf4f455cca68cbb405116e3c98d14a5a59d6">5907bf4f455cca68cbb405116e3c98d14a5a59d6</a> +<blockquote> +<p> + Bug 697545 : Fix pjl_state line buffer memory leak.<br> +<br> + Fix memory leak for allocation event number 30.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=31 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-29 14:37:20 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ba8351735da67a3064710136499340810c120c1">9ba8351735da67a3064710136499340810c120c1</a> +<blockquote> +<p> + Bug 697545 : Fix pl_main_languages_init interp memory leak.<br> +<br> + Fix memory leak for allocation event number 28, the interp_client_data is<br> + not set so this memory will not be recovered via the normal route of<br> + pl_deallocate_interp_instance.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=29 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-29 15:34:32 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2b940da204752545813c475488a0a7afd7b55fc7">2b940da204752545813c475488a0a7afd7b55fc7</a> +<blockquote> +<p> + Fix LCMS2 optimisation bug<br> +<br> + Found this while importing the optimisations here into the MuPDF<br> + version of LCMS. When copying for identity transformations,<br> + allow for extra bytes too.<br> +<br> + GS clearly doesn't exercise this routine in this way.<br> +<br> +lcms2/src/cmsxform.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-23 10:50:11 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=906314509273578d4fb5382a8d922ccb2b7adb10">906314509273578d4fb5382a8d922ccb2b7adb10</a> +<blockquote> +<p> + Bug 697545 : Fix gs_fapi_init memory leak.<br> +<br> + Fix memory leak for allocation event number 13.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=14 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-13 17:28:11 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9a089895193d71ad6ad70a91cbf9fe02a121261c">9a089895193d71ad6ad70a91cbf9fe02a121261c</a> +<blockquote> +<p> + Introduce ColorAccuracy setting<br> +<br> + Set the level of accuracy that should be used. A setting of 0 will result in less accurate<br> + color rendering compared to a setting of 2. However, the creation of a transformation<br> + will be faster at a setting of 0 compared to a setting of 2. Default setting is 2.<br> +<br> +base/gsdparam.c<br> +base/gsicc_cms.h<br> +base/gsicc_lcms2.c<br> +base/gsicc_manage.c<br> +base/gsicc_manage.h<br> +base/gslibctx.c<br> +base/gslibctx.h<br> +doc/Use.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-28 13:56:37 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4fb32aef42d267948d97243e7f5512a2b37431b0">4fb32aef42d267948d97243e7f5512a2b37431b0</a> +<blockquote> +<p> + XPS interpreter - when discarding an ICC profile for an image, NULL hte pointer<br> +<br> + Possibly Bug #698834 " xps dump"<br> +<br> + Its not at all clear what the bug reporter sees as a problem, but when<br> + I run the file to the display the XPS interpreter warns that it is<br> + discarding an ICC profile because it has the wrong number of<br> + components (profile has 4 in, 3 out components, image claims to be<br> + RGB).<br> +<br> + This counts the profile reference down by 1 but doesn't set the pointer<br> + to the profile, saved in the image structure, to NULL leading to us<br> + trying to free a garbage pointer later.<br> +<br> + Setting the pointer to NULL solves the problem, and may fix the bug<br> + report, if that's what the reporter is complaining about.<br> +<br> +xps/xpsimage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-21 19:41:20 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=32cc4f267175dcc7a0dac0219e8e042ec9918cd9">32cc4f267175dcc7a0dac0219e8e042ec9918cd9</a> +<blockquote> +<p> + Bug 697545 : Fix main instance memory leak.<br> +<br> + Fix memory leak for allocation event number 12.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=13 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-20 14:20:13 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3b24fd02b2bbeaef3d2e0374023fa330a9cddeac">3b24fd02b2bbeaef3d2e0374023fa330a9cddeac</a> +<blockquote> +<p> + Add 'gs_restrict' to function prototypes to match functions<br> +<br> + Also add gs_restrict to some functions, because they are assigned to<br> + function pointers that expect gs_restrict pointers.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-19 16:15:17 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ac7e8dfb78a2b3ae2875f64e6feb6f4dce5300b4">ac7e8dfb78a2b3ae2875f64e6feb6f4dce5300b4</a> +<blockquote> +<p> + More tweaking to pdf14_fill_rect cases.<br> +<br> + Ensure that the gray/rgb/cmyk cases for AirPrint all go through<br> + routines that have been hand tweaked.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-19 18:22:28 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f00a08ec0a7f2fedbc2a7d14c603ec22758ed81c">f00a08ec0a7f2fedbc2a7d14c603ec22758ed81c</a> +<blockquote> +<p> + Avoid shadowing a variable in mark_fill_rect_add3_common.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-19 15:21:55 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=28c4beb74e779da37c4e7aa7f149750a98c09a73">28c4beb74e779da37c4e7aa7f149750a98c09a73</a> +<blockquote> +<p> + Remove obsolete font files:<br> +<br> + NimbusSans-BoldOblique (replaced with NimbusSans-BoldItalic)<br> + NimbusSans-Oblique (replaced with NimbusSans-Italic)<br> +<br> +Resource/Font/NimbusSans-BoldOblique<br> +Resource/Font/NimbusSans-Oblique<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-19 13:23:42 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9d1e45d36064249220ca2f51280770aaaab3a971">9d1e45d36064249220ca2f51280770aaaab3a971</a> +<blockquote> +<p> + Common up optimised cases of group blending.<br> +<br> + Additive and Subtractive make no difference (modulo rounding) when<br> + dealing with normal mode blends. As such we can halve the number<br> + of optimised routines required.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-19 10:16:16 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1143a7aba79e6316ccfb5fc2b0943dcd7a64a48f">1143a7aba79e6316ccfb5fc2b0943dcd7a64a48f</a> +<blockquote> +<p> + pdfwrite - drop unusable Matte from SMask when doing colour conversion<br> +<br> + Bug #698817 "ColorConversionStrategy=Gray breaks image with smask"<br> +<br> + SMask images can have a Matte entry which is a preblended colour. It<br> + must have the same number of components as the parent image. If we are<br> + doing colour conversion then we can't unconditionally use the existing<br> + Matte value, as it may have the wrong number of components for the<br> + converted image.<br> +<br> + In fact Matte values are optional and rare. Even rarer are Matte entires<br> + which have any actual effect. We can't use the value (unless the parent<br> + image was already in the target colour space, and we can't realistically<br> + convert the Matte to another space.<br> +<br> + So here we test the color conversion strategy, if the image colour space<br> + is not the same as the target, then we simply discard the Matte entry.<br> + This isn't 'correct', but then nothing will be, and this stops Acrobat<br> + from whinging and refusing to render the image at all.<br> +<br> +devices/vector/gdevpdfi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-19 09:05:22 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6e77c8f647fecaa1a31116fbcd59ad26fb650905">6e77c8f647fecaa1a31116fbcd59ad26fb650905</a> +<blockquote> +<p> + pdfimage - eliminate a compiler warning<br> +<br> + Check a return code to eliminate a compiler warning.<br> +<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-18 20:59:39 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fbf0e1c9f7014b602f9dd94e8fac37b21dffc798">fbf0e1c9f7014b602f9dd94e8fac37b21dffc798</a> +<blockquote> +<p> + Add CMYK optimised core to image rendering.<br> +<br> + Add irii_inner_32bpp_4spp_1abs to go along with others. This one<br> + is hit in the AirPrint test file when going to CMYK.<br> +<br> +base/gxiscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-13 15:37:53 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f34cae2ebb2c85c13787fd828eb6194e32cb19d2">f34cae2ebb2c85c13787fd828eb6194e32cb19d2</a> +<blockquote> +<p> + Optimise image_render_interpolate_icc.<br> +<br> + Split out the core of the routine into a function call. The<br> + guts of the original routine go into irii_inner_template,<br> + which can be static instantiated as required.<br> +<br> + I had hoped that merely instantiating this 3 times would be<br> + enough to optimise the routines, but in the end I had to<br> + manually cut the core down for the 2 cases that the AirPrint<br> + test file hits.<br> +<br> +base/gxiscale.c<br> +windows/GhostPDL.sln<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-18 16:38:31 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9fb23615725e8a2d6a722814a348094a48a41c36">9fb23615725e8a2d6a722814a348094a48a41c36</a> +<blockquote> +<p> + pdfimage - support the '%d' output format specifier<br> +<br> + It hadn't occurred to me that anyone would want to do this, so I hadn't<br> + implemented it. On reflection its probably useful, and it should<br> + (finally) solve the all devices regression report problem.<br> +<br> + At the same time, add the file to the Windows solution so that we get<br> + debug information in it.<br> +<br> +devices/gdevpdfimg.c<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-18 15:09:02 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=561327c559cd8fa6cb5840a80806cff38ef9aa0b">561327c559cd8fa6cb5840a80806cff38ef9aa0b</a> +<blockquote> +<p> + Manual optimisation of AirPrint hotspot.<br> +<br> + compose_group_nonknockout_nonblend_add_isolated_mask_common_solid<br> + takes a significant amount of time in the AirPrint test file.<br> + Unroll it manually and optimise to avoid needless planar -> chunky<br> + -> planar copying.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-18 11:27:32 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=51f279ece4f34c17119a543725c5aee3ca4f8d1d">51f279ece4f34c17119a543725c5aee3ca4f8d1d</a> +<blockquote> +<p> + Fix pattern code for devices handling patterns by subclassing new device<br> +<br> + The pattern code permits for us to use an 'internal' accumulator or for<br> + a device to declare it can handle patterns itself. When a device handles<br> + patterns we pass spec_ops to the device to delineate the pattern<br> + operations.<br> +<br> + It can happen that when the pattern terminates we (g)restore back to a<br> + point before the internal pattern accumulator device was pushed into<br> + the graphics state. To handle that possibility we push a pointer to the<br> + device onto the exec stack and use that stored pointer to tell the<br> + pattern accumulator device when the pattern terminates, even if it is<br> + no longer the current device at that time.<br> +<br> + Unfortunately this conflicts with the ability for other devices to<br> + handle patterns. The code uses that same stored device pointer to<br> + indicate whether we are using the internal accumulator or not. If the<br> + stored pointer is NULL then we are not using the internal accumulator.<br> +<br> + But this assumed that, if we aren't using the internal accumulator, that<br> + the current device is the one which declared it could handle the pattern.<br> + This is dangerous anyway, because there's not restriction on how fat<br> + back we might have restored, and its possible (if unlikely) that the<br> + device now in the graphics state isn't the one that can handle<br> + patterns. In addition, if the underlying device handles patterns by<br> + subclassing itself with a new pattern handling device, then when we<br> + restore back, even though the device is the one which stated it could<br> + handle patterns, its not the one we want to inform of the pattern<br> + termination.<br> +<br> + We handle this simply by getting the current device after the 'start'<br> + notification. I think its reasonable to assume that the device now in<br> + place is the one which expects to receive the 'close' message. We<br> + then store that device on the exec stack. When we get to the cleanup<br> + routine, if we decide we are not using the internal accumulator, then<br> + we call the new stored device to handle it.<br> +<br> + I think ideally we should store a flag for whether we are using the<br> + internal accumulator, but it wouldn't be any more efficient.<br> +<br> +psi/zpcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-18 09:11:05 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=15d80a143b71b9b61d007e2abb67a74a5f753cea">15d80a143b71b9b61d007e2abb67a74a5f753cea</a> +<blockquote> +<p> + pdfimage - change the way files are closed<br> +<br> + The 'all devices' regression test persists in throwing errors and<br> + seg faulting with these devices when closing. I can't reproduce the<br> + problem on Linux.<br> +<br> + So instead of preventing the gdevprn code from closing the file, prevent<br> + the stream code from closing the file instead, and allow the gdevprn<br> + code to perform normally.<br> +<br> + Hopefully this will solve the problem.....<br> +<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-18 09:08:58 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9de2f57c80bc9e6a25e3fd570a5c1df3321404eb">9de2f57c80bc9e6a25e3fd570a5c1df3321404eb</a> +<blockquote> +<p> + Check for the existence of _MSV_VER before testing its value<br> +<br> + On Linux _MSC_VER is not defined, and so leads to a warning everywhere<br> + that stdpre.h is included.<br> +<br> + This just eliminates the warning.<br> +<br> +base/stdpre.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-16 11:01:40 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8af42f2da3425a634ec78d8a0add1658778e2226">8af42f2da3425a634ec78d8a0add1658778e2226</a> +<blockquote> +<p> + Define gs_restrict as a synonym for the compiler 'restrict' definition<br> +<br> + Using the 'restrict' tag tells the compiler that it can safely assume<br> + no aliasing of pointers is involved, allowing for even higher levels<br> + of optimisation. However since this is a non-standard extension<br> + (though widely supported) the exact definition varies.<br> +<br> + We know of 'restrict', '__restrict', '__restrict__' and 'cdecl(restrict)'<br> +<br> + The Visual Studio cdecl causes problems with us simply using 'restrict'<br> + and #defining it in stdpre.h because stdlib.h includes the cdecl. If<br> + we include stdpre.h before stdlib.h then the compiler tries to expand<br> + 'cdecl(resgister)' to 'cdecl(__register)' and that fails.<br> +<br> + The only way to accommodate all the various options is to use something<br> + other than the 'restrict' keyword, and to #define that as required for<br> + the different compilers.<br> +<br> + This commit introduces the 'gs_restrict' keyword and that is #defined<br> + in stdpre.h to be appropriate for whatever compiler is in use (the<br> + default is to define it to nothing). This means that wherever we want<br> + to use the restrict capability, we must include stdpre.h.<br> +<br> +base/claptrap-planar.c<br> +base/claptrap.c<br> +base/claptrap.h<br> +base/ets.c<br> +base/ets.h<br> +base/gxblend.c<br> +base/gxblend1.c<br> +base/gxscanc.c<br> +base/gxscanc.h<br> +base/siscale.c<br> +base/stdpre.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 21:01:31 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b35aa4c4e4a8e77395b45051ca2621e6823c5623">b35aa4c4e4a8e77395b45051ca2621e6823c5623</a> +<blockquote> +<p> + Add optimised LCMS transform operations.<br> +<br> + Add a full set of optimised functions for {1,3,4} -> {1,3,4}<br> + channels in either 1 or 2 byte form. This should cover all<br> + the cases we'll hit in gs until we start using spots.<br> +<br> +lcms2/src/cmsxform.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-16 16:10:48 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8e7034a9714191315313daa4a45ce626a9f6cf7">e8e7034a9714191315313daa4a45ce626a9f6cf7</a> +<blockquote> +<p> + Fix bug 698816: Performance with transparency due to commit 3a9d6eb<br> +<br> + Tracked this down to the push_transparency_group logic not skipping the<br> + allocation of the buffer when "idle" was set. This reduced 32-bit Windows<br> + 9.22 from 45.9 seconds to 19.9 seconds.<br> +<br> + Even more good news, HEAD (SHA 3f9c130f 32-bit Windows) from 37.5 seconds to<br> + 11.9 seconds.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 19:07:07 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f9c130f778167b2f0486bef1c3a2d027433ec57">3f9c130f778167b2f0486bef1c3a2d027433ec57</a> +<blockquote> +<p> + Optimise pdf14_fill_rectangle for CMYK<br> +<br> + Add optimised CMYK case.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 11:50:32 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0333c58af9a48a14a0e9323732332104e577dc85">0333c58af9a48a14a0e9323732332104e577dc85</a> +<blockquote> +<p> + Optimise pdf14_fill_rectangle.<br> +<br> + Optimisations for the common case as seen in Airprint<br> + test file.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 09:54:15 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9b35281f914bb77f5e68070fb6ce4e32e955dcc8">9b35281f914bb77f5e68070fb6ce4e32e955dcc8</a> +<blockquote> +<p> + Add new optimised case for pdf14_fill_rect<br> +<br> + mark_fill_rect_additive_nospots_common_no_alpha_g.<br> +<br> + For the Airprint test case.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-14 20:06:37 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3dfca86e11ea2143525758325ea0feff06e42a52">3dfca86e11ea2143525758325ea0feff06e42a52</a> +<blockquote> +<p> + Further optimisations to image_render_color_icc.<br> +<br> + Split it into 3 routines; portrait, landscape and skew.<br> +<br> +base/gxicolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-14 18:42:14 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e0ebcde1ce879cf74fb9d8b53670478d5d03717b">e0ebcde1ce879cf74fb9d8b53670478d5d03717b</a> +<blockquote> +<p> + Optimise image_render_color_icc.<br> +<br> + Avoid using the color_samples hack, as this merely results in us<br> + first copying bytes into a new buffer, only to effectively<br> + memcmp it. Just use the bytes directly.<br> +<br> + We lose potential problems with strict aliasing here, and gain<br> + the benefit of only having to check n bytes rather than<br> + GS_IMAGE_MAX_COLOR_COMPONENTS bytes each time.<br> +<br> + This gives us a noticable speedup on the Airprint test file.<br> +<br> +base/gxicolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 15:08:40 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2655f09c04ee2678df98c58764390e9e79bfc254">2655f09c04ee2678df98c58764390e9e79bfc254</a> +<blockquote> +<p> + PCLm fixes<br> +<br> + rename the device to 'pclm' because none of our devices use capital<br> + letters.<br> +<br> + Mirror the fix for sclose in the PCLm device (didn't realise this was<br> + a separate function to the pdfimage devices)<br> +<br> + remove the unused writehex function<br> +<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 13:06:47 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3cdca3a2c6cfe74a62797d486ce6c69afd9eacd0">3cdca3a2c6cfe74a62797d486ce6c69afd9eacd0</a> +<blockquote> +<p> + pdfimage devices - remove UUID code<br> +<br> + The uuid was a holdover from an early incarnation of the code, it<br> + was dropped later but the code lingered....<br> +<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-15 11:21:49 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=44d4d979c25eaea76c2d08aceec058f92ee3ed83">44d4d979c25eaea76c2d08aceec058f92ee3ed83</a> +<blockquote> +<p> + Make pdfimage devices work on Linux<br> +<br> + Because the devices usurp the FILE * created by the gdevprn code and<br> + turn it into a stream, we must set the stored pointer to NULL after<br> + closing or freeing the stream in order to avoid gdev_prn_close()<br> + attempting to close the underlying file again, which causes an error<br> + on Linux.<br> +<br> + Also remove some routines we no longer use.<br> +<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-13 14:19:43 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=86322b1ccb1e67cf99672945f1d77925b2902872">86322b1ccb1e67cf99672945f1d77925b2902872</a> +<blockquote> +<p> + Tweak gx_build_blended_image_row.<br> +<br> + Move from an array index based scheme to a pointer arithmetic<br> + based scheme. Saves us lots of multiplications per pixel.<br> +<br> + This may not make much difference on x86, but on ARM, where<br> + pointer arithmetic is largely free, this should help more.<br> +<br> +base/gdevp14.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-14 15:27:11 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=899255deef5a92bf36269d0ef3fa355401fe170f">899255deef5a92bf36269d0ef3fa355401fe170f</a> +<blockquote> +<p> + Further optimisations to bitmap scaler.<br> +<br> + Use hand unrolled loops rather than static inline optimised ones.<br> + Fix some debugging. Add CMYK case. Add some restricts. Make the<br> + zoom_y case explicit in it's reuse of values.<br> +<br> +base/siscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-14 12:45:08 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=16eb526bc113a9c783f824ea6940857e302acc3d">16eb526bc113a9c783f824ea6940857e302acc3d</a> +<blockquote> +<p> + Add restrict qualifier to stdpre.h header.<br> +<br> + Sprinkle it through the blending code. This should never hurt<br> + and may well help. We should be using it as a matter of course,<br> + especially in performance critical routines.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/stdpre.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-14 12:00:51 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=34286be72308b7cba275bbf423e589997e9e683e">34286be72308b7cba275bbf423e589997e9e683e</a> +<blockquote> +<p> + Fix compiler warnings after pdfimage device commit<br> +<br> +devices/devs.mak<br> +devices/gdevpdfimg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-02 08:24:59 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7a13371ec8dc077c4a3b28f6935206fe06fc534e">7a13371ec8dc077c4a3b28f6935206fe06fc534e</a> +<blockquote> +<p> + New devices - pdfimage and PCLm<br> +<br> + These devices render input to a bitmap (or in the case of PCLm<br> + multiple bitmaps) then wraps the bitmap(s) up as the content of<br> + a PDF file. For PCLm there are some additional rules regarding<br> + headers, extra content and the order in which the content is<br> + written in the PDF file.<br> +<br> + The aim is to support the PCLm mobile printing standard, and<br> + to permit production of PDF files from input where the graphics<br> + model differs significantly from PDF (eg PCL and RasterOPs).<br> +<br> + Devices are named pdfimage8, pdfimage24, pdfimage32 and PCLm.<br> +<br> + Currently produce valid PDF files with a colour depth of 8 (Gray),<br> + 24 (RGB) or 32 (CMYK), the PCLm device only supports 24-bit RGB.<br> +<br> + Devices supports the DownScaleFactor switch to implement<br> + page level anti-aliasing<br> +<br> + -sCompression can be set to None, LZW, Flate, JPEG or RLE (LZW<br> + is not supported on PCLm, None is only available on PCLm for<br> + debugging purposes).<br> +<br> + The PCLm device supports -dStripHeight to set the vertical height<br> + of the strips of image content, as required by the specification.<br> +<br> + For JPEG compression the devices support both the JPEGQ and<br> + QFactor controls, exactly as per the jpeg and jpeggray devices.<br> +<br> +base/unixansi.mak<br> +configure.ac<br> +devices/devs.mak<br> +devices/gdevpdfimg.c<br> +devices/vector/gdevpdfe.c<br> +doc/Devices.htm<br> +psi/msvc.mak<br> +psi/os2.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-13 17:55:16 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=099ba1f50e2af5d43a9f007575e78e3605d008be">099ba1f50e2af5d43a9f007575e78e3605d008be</a> +<blockquote> +<p> + LCMS2 tweak: Spot identity transformations<br> +<br> + Spot identity transformations and handle them as efficiently as<br> + possible. (i.e. avoid unpack/null transform/repack).<br> +<br> +lcms2/src/cmsopt.c<br> +lcms2/src/cmsxform.c<br> +lcms2/src/lcms2_internal.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-13 09:25:09 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=92f0c389ebddf4125dc770f71f4d74187275fd7f">92f0c389ebddf4125dc770f71f4d74187275fd7f</a> +<blockquote> +<p> + Add 2 more optimised blend cases for Airprint test case.<br> +<br> + The Airprint Presentation test file hits the<br> + compose_group_nonknockout_nonblend_add_isolated_mask_common case<br> + hardest. Add 2 more specialisations of this that cope with<br> + shape = 255 and alpha == shape == 255.<br> +<br> + This saves us just over half a second (of 13.2) on my desktop PC.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-11 19:52:43 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b5189a84ddf0ca1454b10bb4a9926cd4f8c4f0eb">b5189a84ddf0ca1454b10bb4a9926cd4f8c4f0eb</a> +<blockquote> +<p> + Add PWGDecode filter.<br> +<br> + And lib/viewpwg.ps to use it.<br> +<br> +Makefile.in<br> +base/lib.mak<br> +base/spwgd.c<br> +base/spwgx.h<br> +base/unix-gcc.mak<br> +lib/viewpwg.ps<br> +psi/int.mak<br> +psi/msvc.mak<br> +psi/zfilter.c<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-12 17:57:05 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0bdb35346b5a9636bc6c1ca629401ba21232d9bb">0bdb35346b5a9636bc6c1ca629401ba21232d9bb</a> +<blockquote> +<p> + Bug 698808: Fix stack overflow in new scan converter.<br> +<br> + Remove some code to split lines. This is no longer needed<br> + due to the fix for bug 698805, and avoids us getting into the<br> + stack overflow situation.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-12 01:37:14 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2eb66278cb71b4f97b09300d7c405b8228ebeaf6">2eb66278cb71b4f97b09300d7c405b8228ebeaf6</a> +<blockquote> +<p> + Segv fix for XPS files with trans out to sep device<br> +<br> + When going out to a separation device, PCL and XPS should set<br> + PageSpotColors to 0. For PCL this lets the sep device know<br> + that there are not any spot colors on the page.<br> +<br> + For XPS the situation is a bit more complex. XPS files with named colors<br> + are very rare. I have never seen one in the wild. Supporting<br> + the separation of them will require work in the XPS interpreter<br> + to keep track of the colorants (the names of which are in the colorant<br> + tags of the ICC profile) and make sure that the values are properly<br> + mapped to the colorant positions on the output device. We will also<br> + want to do a pre-parser to count the number of independent colorants<br> + on the page to ensure proper set up of the device. This is needed<br> + especially if the page has transparency as the pdf14 device expects to<br> + have this information. Again running into them in the wild is not going to<br> + occur. If for some reason it does become an issue in the future,<br> + we can invest the time in doing the above. In the meantime if they<br> + are encountered they will be remapped to equivalent CMYK colors instead<br> + of causing a segv.<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-12 18:31:00 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ac1fb2a0580fac884cbf8e07aba4834498a5927a">ac1fb2a0580fac884cbf8e07aba4834498a5927a</a> +<blockquote> +<p> + Fix typo in bug fix for 698805.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-12 09:19:41 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0aa901ed39ae5c2a8fbf1107dbbd7d3813cab2ee">0aa901ed39ae5c2a8fbf1107dbbd7d3813cab2ee</a> +<blockquote> +<p> + Check for gdevcups.c before including the cups device<br> +<br> + Previously, we were checking for the cups directory, which won't work reliably<br> + if the build machine also has the cups libraries installed.<br> +<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-12 16:58:00 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed2c6957a2ed53aac51e0b7d4209e62f096b8d73">ed2c6957a2ed53aac51e0b7d4209e62f096b8d73</a> +<blockquote> +<p> + Bug 698805: Fix NULL pointer dereference in new scan converter.<br> +<br> + Again caused by an integer overflow.<br> +<br> + signed sy, ey can differ by more than 0x80000000, which means<br> + when we subtract them, we can end up with a result with a different<br> + sign.<br> +<br> + Fix by using a safer test.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-01 14:43:43 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ac241e31c931858e562dc0a4cd88db31e012c2cf">ac241e31c931858e562dc0a4cd88db31e012c2cf</a> +<blockquote> +<p> + Fix bug 698662. Elements shifted horizontally when clist is used.<br> +<br> + The scurveto clist path reading logic assumed that if the first value<br> + A, was 0, the previous curve entry was vertical, but the writing logic<br> + checked for B == 0 and decided to use h*curveto, so if A was also 0,<br> + the reading logic would assume vertical.<br> +<br> +base/gxclpath.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-08 13:43:36 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=43a84c5d99d14881773b78b58892e9b049b938d9">43a84c5d99d14881773b78b58892e9b049b938d9</a> +<blockquote> +<p> + Bug 698794 detect alpha data in PNG image<br> +<br> + We were making the decision as to the presence/absence of<br> + the alpha data in the PNG image a little early. There<br> + was one more step related to png_set_tRNS_to_alpha<br> +<br> +xps/xpspng.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-30 18:41:42 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4ee9656472805dc39a6ed3a8bd097dd04e497c19">4ee9656472805dc39a6ed3a8bd097dd04e497c19</a> +<blockquote> +<p> + Fix PCL init routines to return error code.<br> +<br> + And fix calling loop to honour error code. Interestingly<br> + this calling routine was already set up to do most of the<br> + hard work here. I wonder if this was once done already?<br> +<br> +pcl/pcl/pccolor.c<br> +pcl/pcl/pccprint.c<br> +pcl/pcl/pcfont.c<br> +pcl/pcl/pcfrgrnd.c<br> +pcl/pcl/pcjob.c<br> +pcl/pcl/pcmacros.c<br> +pcl/pcl/pcmisc.c<br> +pcl/pcl/pcommand.c<br> +pcl/pcl/pcommand.h<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpalet.c<br> +pcl/pcl/pcparse.c<br> +pcl/pcl/pcparse.h<br> +pcl/pcl/pcpatrn.c<br> +pcl/pcl/pcrect.c<br> +pcl/pcl/pcsfont.c<br> +pcl/pcl/pcstatus.c<br> +pcl/pcl/pcsymbol.c<br> +pcl/pcl/pctext.c<br> +pcl/pcl/pcuptrn.c<br> +pcl/pcl/pcursor.c<br> +pcl/pcl/pgchar.c<br> +pcl/pcl/pginit.c<br> +pcl/pcl/pginit.h<br> +pcl/pcl/rtgmode.c<br> +pcl/pcl/rtmisc.c<br> +pcl/pcl/rtraster.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-05 13:31:25 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5c851a410c3469860a171420240eb92331dcda9e">5c851a410c3469860a171420240eb92331dcda9e</a> +<blockquote> +<p> + pdfwrite - colour conversion changes<br> +<br> + Bug #698723 "convert rgb pdf to cmyk with icc profile yields wrong black"<br> +<br> + When converting to a base space colour, and applying the transfer<br> + function, don't use the old-fashioned colour conversion routines but<br> + instead use the ICC profile colour management.<br> +<br> + With this change in place, the CMYK components in the output file are<br> + the same as those when rendering to TIFF CMYK output.<br> +<br> + I am convinced there is more work to do in this area.<br> +<br> +devices/vector/gdevpdfg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-05 13:27:27 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=775e9d28f78b4b0b5b41a24f4c9fc7f19a9326e3">775e9d28f78b4b0b5b41a24f4c9fc7f19a9326e3</a> +<blockquote> +<p> + pdfwrite - correct a device method<br> +<br> + Correct the CMYK colour mapping method to use CMYK and not RGB....<br> +<br> +devices/vector/gdevpdf.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-01 17:05:07 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6edda68e00965c0794fdd408cbc02c1729c374ff">6edda68e00965c0794fdd408cbc02c1729c374ff</a> +<blockquote> +<p> + Rejig gs_fapi_ft_ensure_open to avoid error cleanup SEGV.<br> +<br> + Also, aesthetics.<br> +<br> +base/fapi_ft.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-01 14:06:12 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3d6009573b3562d97f03c0fb6b1463ed0e4d133f">3d6009573b3562d97f03c0fb6b1463ed0e4d133f</a> +<blockquote> +<p> + Memory squeezing fix in pl_load_tt_font.<br> +<br> + Fix SEGVs due to memory failures while loading a tt font.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=1402 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null<br> + ./pcl/examples/owl.pcl<br> +<br> + Tweaked version of a commit from Shelley.<br> +<br> +pcl/pl/plfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-30 18:40:42 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc5b750951ee94b2d7e0615dde0122af973f49bb">cc5b750951ee94b2d7e0615dde0122af973f49bb</a> +<blockquote> +<p> + Memento: Fix type of signal handler function.<br> +<br> +base/memento.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-02 13:11:42 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7d9b9cc6ff0fafed282257fd1bf1ba815726a50e">7d9b9cc6ff0fafed282257fd1bf1ba815726a50e</a> +<blockquote> +<p> + PDF interpreter - another case of incorrect ICCBased profiles<br> +<br> + More cases like those tackled in commit<br> + df5b3426d31f79c13a735dff9118e9798ce97af9 for bugs #696690 and 696120<br> +<br> + Again we have an ICCBased colour space where the /N alue does not match<br> + the actual number of components in the ICC profile. Previously we had<br> + only seen this with images, the customer file uses a 'cs' operator<br> + which we weren't catching.<br> +<br> + No differences expected.<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 16:41:22 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=615b31526d06fcdac7abb9e37deac3ce5fb214b6">615b31526d06fcdac7abb9e37deac3ce5fb214b6</a> +<blockquote> +<p> + man/de - all man pages converted to UTF-8 (from ISO-8859-1)<br> +<br> +man/de/dvipdf.1<br> +man/de/gsnd.1<br> +man/de/pdf2ps.1<br> +man/de/printafm.1<br> +man/de/ps2ascii.1<br> +man/de/ps2ps.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-01 15:16:19 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=69f4ea2d9d86b9eccf5e3477e4dc9d7d51e1d2d8">69f4ea2d9d86b9eccf5e3477e4dc9d7d51e1d2d8</a> +<blockquote> +<p> + Remove obsolete check_source.py tool....<br> +<br> + and its configuration file (testing.cfg.example).<br> +<br> + Bug 698780 (related)<br> +<br> +toolbin/tests/check_source.py<br> +toolbin/tests/testing.cfg.example<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-27 10:30:52 +0100 +</strong> +<br>David Kaspar [Dee'Kej] <dkaspar@redhat.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=efc24229b0ba4b2f6a39fe89a4c9c576dbe7e124">efc24229b0ba4b2f6a39fe89a4c9c576dbe7e124</a> +<blockquote> +<p> + Bug 698784: Fix the alias for Helvetica-Narrow-Bold-Oblique<br> +<br> + Init/Fontmap.GS:<br> +<br> + There was a misalignment between the filename of the<br> + NimbusSansNarrow-BdOblique and its /Fontname in the T1 font itself.<br> +<br> + Filename: NimbusSansNarrow-BdOblique<br> + /Fontname: /NimbusSansNarrow-BoldOblique<br> +<br> + This worked correctly if the fonts were located directly in<br> + /usr/share/ghostcript/Resources/Font folder on the filesystem.<br> +<br> + However, on Fedora we are using /usr/share/fonts/urw-base35/ folder,<br> + which is part of Ghostscript's Search Path. In this case it was<br> + causing the Ghostscript being unable to locate the correct font, thus<br> + crashing while opening any document containing Helvetica Narrow Bold<br> + Oblique font...<br> +<br> + *In addition*, rename the font file so it matches.<br> +<br> +Resource/Font/NimbusSansNarrow-BoldOblique<br> +Resource/Init/Fontmap.GS<br> +psi/psromfs.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-12-01 13:54:02 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8d0ca41749ec3070c6a5c660ab0225b42bcb9eb3">8d0ca41749ec3070c6a5c660ab0225b42bcb9eb3</a> +<blockquote> +<p> + Bug 698741: where the comment says "decrement", actually decrement<br> +<br> + The comment stated we'd move to the end of the row, and work backwards, but<br> + the code was still working forwards, leading to a buffer overrun.<br> +<br> +base/gxicolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-24 22:26:59 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=caa10a82fcf313dab7426250f59517936fa34964">caa10a82fcf313dab7426250f59517936fa34964</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix for double freeing of ToneCurve.<br> +<br> + Avoid SEGV by removing unnecessary freeing of ToneCurve.<br> +<br> + Error created using :-<br> + MEMENTO_FAILAT=751 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br> +<br> +lcms2/src/cmsio1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-25 19:08:28 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=346f1d67dc363195885dd041ede2abb0422c4455">346f1d67dc363195885dd041ede2abb0422c4455</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix for gs_enumerate_files_next.<br> +<br> + Prevent SEGV by checking for NULL pointer before attempting to<br> + use it.<br> +<br> +base/gsiodev.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-24 19:27:50 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d2977a7891f5c84526eefdd25b2167e052fa9c90">d2977a7891f5c84526eefdd25b2167e052fa9c90</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix for pjl resources.<br> +<br> + Prevent SEGV by checking for NULL pointer before attempting to<br> + free it.<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-24 15:45:16 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=96030033df28fb89732f58ae4df463f7fc06be5b">96030033df28fb89732f58ae4df463f7fc06be5b</a> +<blockquote> +<p> + Add '-DCLUSTER' mechanism to builds.<br> +<br> + For autobuild use --enable-cluster option to configure/autogen.sh.<br> +<br> + For windows builds, use CLUSTER=1.<br> +<br> + This nobbles pdfwrite to use a '0' time in the produced files.<br> + This enables us to md5sum intermediate files.<br> +<br> + Thanks to Chris for his help with the configure minefield.<br> +<br> +Makefile.in<br> +configure.ac<br> +devices/vector/gdevpdf.c<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-24 19:06:41 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=949ce4cf61f2ccf1ff39dd2c854aec9f9dad5068">949ce4cf61f2ccf1ff39dd2c854aec9f9dad5068</a> +<blockquote> +<p> + Tiny stylistic tweak.<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-24 19:06:26 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=33babeb40a9e73e0cfb1d3b30574e305fa6ee7c7">33babeb40a9e73e0cfb1d3b30574e305fa6ee7c7</a> +<blockquote> +<p> + Squash warning.<br> +<br> +pcl/pl/plmain.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-23 22:21:15 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8b82d6f99ffda116b328e3ae65c58ee5e056e490">8b82d6f99ffda116b328e3ae65c58ee5e056e490</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix for mutex in cms code<br> +<br> + Prevent SEGV by checking for NULL mutex pointer before attempting<br> + to use or destroy it.<br> +<br> +lcms2/src/cmserr.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-23 22:17:55 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a46d319b6edc2bc07b14fbf155b5101bf884fe27">a46d319b6edc2bc07b14fbf155b5101bf884fe27</a> +<blockquote> +<p> + Bug 697545 : Memory squeezing fix in pl_main_delete_instance<br> +<br> + Prevent SEGV by checking for NULL value before dereferencing.<br> +<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-23 17:00:06 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=adfedfa4de0457ecacf5814d4a315fcaee00561d">adfedfa4de0457ecacf5814d4a315fcaee00561d</a> +<blockquote> +<p> + OpenType fonts - regard fonts with multiple GSUB tables as invalid<br> +<br> + Bug #697627 "IO in gs_notify_all function"<br> +<br> + The bug title is a misnomer; the actual problem is that we have a badly<br> + corrupted font which appears to have 2 GSUB tables. This causes us to<br> + allocate two chunks of memory to hold the tables, losing the original<br> + reference when we allocate the second, and also to register the font<br> + to have the GSUB table released twice.<br> +<br> + Trying to release the same memory twice leads to us trying to access<br> + invalid memory, and therefore to a seg fault.<br> +<br> + So if we find we have a GSUB, and we've already allocated memory for a<br> + GSUB table, just throw an error.<br> +<br> + Chris thinks it may be possible to legally have multiple GSUB tables, if<br> + we ever find such a thing we'll have to rethink this.<br> +<br> +base/gstype42.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-23 09:40:36 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3ad236df1e509d0326a1fa31c98e068b5712fd75">3ad236df1e509d0326a1fa31c98e068b5712fd75</a> +<blockquote> +<p> + Bug 698773: Cope with "charstring" of invalid type<br> +<br> + This file has a font whose CharStrings dictionary contains:<br> + /space 3 def<br> +<br> + Ideally, when we hit such a case, we should fallback to the .notdef glyph,<br> + unfortunately, it also has:<br> + /.notdef 0 def<br> +<br> + We *should* throw an error since this is clearly totally invalid, but other<br> + interpreters *appear* to simply ignore the problem. So, we opt to return an<br> + empty charstring.<br> +<br> +psi/zfapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-23 13:32:26 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f32c03a2daad2d2e0e859bd6fc7547b68bd8bed9">f32c03a2daad2d2e0e859bd6fc7547b68bd8bed9</a> +<blockquote> +<p> + Do not ignore errors from the device's fill_rectangle_hl_color method<br> +<br> + Spotted by Robin while fixing indeterminisms, we currently ignore any<br> + error return from this method in pattern_accum_fill_rectangle_hl_color()<br> + when it calls its target device. Adding a check and error propagation is<br> + simple enough, but that then reveals problems with the high level<br> + devices.<br> +<br> + There are, in fact, several problems here. Firstly, the mem* devices<br> + which are used to render pattern tiles (amongst other things) are<br> + based on forwarding devices. When we send a spec_op we forward this to<br> + the 'underlying' device. This is a problem if the spec_op is querying<br> + whether the device can handle hl_color, because if it can then the<br> + caller may proceed to use hl_color methods. But the mem* devices cannot<br> + handle these methods and obviously can't forward them to the underlying<br> + device, resulting in an error. Fixed this one by using the default<br> + spec_op method instead of the forwarding one. In future this may require<br> + further attention.<br> +<br> + The NULL device doesn't implement fill_rectangle_hl_color. In fact, with<br> + the changes elsewhere it doesn't need to, but really we should simply<br> + handle this in the same way as fill_rectangle and return, all the null<br> + device does is bit bucket all operations. For completeness, implement<br> + such a method.<br> +<br> + gx_erase_colored_pattern() didn't do a restore (to match its save) if<br> + an error occurred. Again, with the other changes this is no longer<br> + triggered, but it does seem wrong so lets fix it.<br> +<br> + In gx_pattern_load() and pattern_paint_prepare(), avoid erasing the<br> + background of the tile if the pattern instance is for a device which<br> + handles patterns itself (eg pdfwrite). Once again, not really required<br> + now that the mem* devices don't pass on the spec_op to the underlying<br> + device, but it saves us bothering with erasing a rectangle which we are<br> + going to throw away anyway.<br> +<br> + Finally, the point of the whole exercise, in<br> + pattern_accum_fill_rectangle_hl_color(), check the return code from the<br> + target device's fill_rectangle_hl_color and if its an error, return it.<br> +<br> +base/gdevmem.c<br> +base/gdevnfwd.c<br> +base/gxpcmap.c<br> +psi/zpcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-22 21:29:04 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1cfc56251773304fb102237ff8a63c5576f08fe7">1cfc56251773304fb102237ff8a63c5576f08fe7</a> +<blockquote> +<p> + Rewritten version of squeeze2html.pl<br> +<br> + This works with the latest memento, and gives nicer results in<br> + the browser.<br> +<br> + Invoke using something like:<br> +<br> + MEMENTO_SQUEEZEAT=1 membin/gs -sDEVICE=ppmraw -o /dev/null<br> + in.pdf |& perl toolbin/squeeze2html.pl -q | gzip -9c > out.html.gz<br> +<br> +toolbin/squeeze2html.pl<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-22 17:57:23 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=276a386da36926cf36942528146b4294a5ff9d6d">276a386da36926cf36942528146b4294a5ff9d6d</a> +<blockquote> +<p> + Coverity IDs 127198, 127199<br> +<br> + Check return values and handle errors accordingly.<br> +<br> +pcl/pcl/pctext.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-22 18:02:26 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dd35e58feccf543129bc108857b16fd43d627d02">dd35e58feccf543129bc108857b16fd43d627d02</a> +<blockquote> +<p> + Fix indeterminism caused by buffer overrun in thresholding.<br> +<br> + Running:<br> +<br> + gs -sOutputFile=out%d.pbm -dMaxBitmap=400000000 -sDEVICE=pbmraw -r300<br> + -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K2000000 -dClusterJob<br> + -dJOBSERVER /home/marcos/cluster/tests_private/pdf/uploads/Bug698519.pdf<br> +<br> + then catting out{1,2,3,4,5}.pbm together and md5summing it gives a<br> + different result to running the above job direct to out.pbm.<br> +<br> + After much nightmarish debugging, it transpires that this is because<br> + the special case in the SSE thresholding code that spots the 200%<br> + scale case is being triggered incorrectly.<br> +<br> + The image is 1753 pixels wide, which would be 3506 pixels at 200%.<br> + We actually display it at 3507 pixels. The code was triggering the<br> + 200% case by calculating a scale_factor value of fixed_half (128).<br> +<br> + The rounding here was causing a false positive.<br> +<br> + Instead, we skip the calculation and check by directly comparing<br> + source and dest sizes.<br> +<br> +base/gxicolor.c<br> +base/gximono.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-21 12:48:54 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=362ec9daadb9992b0def3520cd1dc6fa52edd1c4">362ec9daadb9992b0def3520cd1dc6fa52edd1c4</a> +<blockquote> +<p> + Fix bug 697459 Buffer overflow in fill_threshold_buffer<br> +<br> + There was an overflow check for ht_buffer size, but none for the larger<br> + threshold_buffer. Note that this file didn't fail on Windows because the<br> + combination of the ht_buffer and the size of the (miscalculated due to<br> + overflow) threshold_buffer would have exceeded the 2Gb limit.<br> +<br> +base/gxht_thresh.c<br> +base/gxipixel.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-21 19:27:19 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=68fa913b5bc06a4250115f52835cadc5493aab12">68fa913b5bc06a4250115f52835cadc5493aab12</a> +<blockquote> +<p> + Avoid warning.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-21 19:24:04 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=853737363b7b7cd1eab4da68ba8f83b7dfb5f453">853737363b7b7cd1eab4da68ba8f83b7dfb5f453</a> +<blockquote> +<p> + clist tweak: Pass &var to macros if the value of var is updated.<br> +<br> + Otherwise it's hard for someone unfamiliar with the macros to see<br> + what is going on.<br> +<br> +base/gxclbits.c<br> +base/gxcldev.h<br> +base/gxclimag.c<br> +base/gxclpath.c<br> +base/gxclrect.c<br> +base/gxclutil.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-21 17:40:53 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ce5c3f42d8bd062da65d592abdaaeea90b901970">ce5c3f42d8bd062da65d592abdaaeea90b901970</a> +<blockquote> +<p> + Ensure that single component planar devices can cope with hl_color.<br> +<br> + As part of tracking down indeterminisms in the cluster, I found that:<br> +<br> + gs -sBandListStorage=file -sOutputFile=out%d.psd -dMaxBitmap=10000<br> + -sDEVICE=psdcmyk -r300 -Z: -sDEFAULTPAPERSIZE=letter -dNOPAUSE<br> + -dBATCH -K2000000 -dClusterJob -dJOBSERVER -ZL<br> + tests_private/pdf/sumatra/586_-_missing_images_gs_SMask_not_applied.pdf<br> +<br> + was hitting a case where we were writing a pattern tile into the<br> + clist that hadn't been initialised at all. This was because all<br> + the writes to the pattern accumulator went through<br> + pattern_accum_fill_rectangle_hl_color. This passes the hl_color<br> + data to the memory devices fill_rectangle_hl_color function, and<br> + fills the mask with 1s.<br> +<br> + The mask was being entirely filled with 1s and so was being discarded<br> + as unnecessary. Unfortunately the devices fill_rectangle_hl_color<br> + entrypoint was left as the default which does nothing by raise an<br> + error.<br> +<br> + The fix here is to ensure that when we open a planar device, we<br> + always add in a suitable fill_rectangle_hl_color function, even<br> + when the device is superficially the same as a chunky one.<br> +<br> + Thanks are due to Michael and Ray for their help with tracking this<br> + down.<br> +<br> +base/gdevmpla.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-21 16:46:18 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=19ebb5f1f497b6f2d50fe13d17d3e627dfb6c868">19ebb5f1f497b6f2d50fe13d17d3e627dfb6c868</a> +<blockquote> +<p> + PS interpreter - restore the flushpage operator<br> +<br> + Michael Katzmann, working at the Library of Congress, is using<br> + Ghostscript in a custom application, which also involves a barcode<br> + reader and an SQL database.<br> +<br> + Currently this resides in an RPM at:<br> +<br> + http://engineering.nlsbph.org/repo/fedora/fedora/updates/27/SRPMS/AddressCard-3.17-LoC.fc27.src.rpm<br> +<br> + but its not usable without the barcode reader and SQL database....<br> + For reasons which are not completely clear to me, he wants to use<br> + flushpage to update the display part way through the operation.<br> +<br> + We suspect that it would be possible to avoid this, but it would<br> + probably require some programming effort on the users part, and since<br> + flushpage doesn't look like a likely candidate for abuse, we've decided<br> + just to restore it.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-21 14:13:21 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=37a9d25214efcabe0f36ed4cf6e91c58fcdbfa2d">37a9d25214efcabe0f36ed4cf6e91c58fcdbfa2d</a> +<blockquote> +<p> + PDF interpreter - move a default value to be compatible with all xref types<br> +<br> + The commit df5b3426d31f79c13a735dff9118e9798ce97af9 which works around<br> + PDF files where the /N value and the actual ICC profile colour space<br> + number of components do not match.<br> +<br> + Unfortunately, I made a minor error when creating this, which wasn't<br> + exposed by the test files on hand at the time. I set the default value<br> + of ICCProfileNError to false when processing an xref of type 'orig'<br> + (ie not an xref stream) which means that for PDF files which use xref<br> + streams the value was not defined, leading to an error.<br> +<br> + Move the initial declaration to pdfopenfile instead so that it works<br> + no matter what type of xref we have,.<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-05 16:16:46 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1d7893955cf4231c092045affc32e26ad2b6de32">1d7893955cf4231c092045affc32e26ad2b6de32</a> +<blockquote> +<p> + Fix bug 696845 SEGV with --saved-pages-test and transparency<br> +<br> + When a file pushes a pdf14devicefilter (or other compositor) it will<br> + still be the currentdevice after the filter is popped when the saved<br> + pages printing occurs. We need to check if the device is a forwarding<br> + device (as compositors will be when deactivated) and use the target<br> + device to print the saved pages.<br> +<br> + Also, if a device uses the gx_default_dev_spec_op, it will return 0<br> + from the supports_saved_pages call even when it is a printer device.<br> + In gdev_prn_forwarding_dev_spec_op, check for a zero return and return<br> + true (1). A device that is a printer device that doesn't support saved<br> + page printing needs to return < 0 to prevent this.<br> +<br> + Add a finalize method for gx_device_printer so we can free up the saved-<br> + pages-list when the device is freed, but not when the device is closed<br> + which can happen if it needs to close due to put_params. Also the<br> + return code from the output_page in gx_saved_page_params_process was<br> + ignored. Both seen with the file Bug687111.ps and the psdcmyk device.<br> +<br> + Also for devn devices, such as psdcmyk, we need to save the separation<br> + (spot color) names collected during the execution of setcolorspace in<br> + the gx_saved_page and set them in the devn_params when rendering. These<br> + are not handled by the paramlist.<br> +<br> + Disable --saved-pages= and --saved-pages-test with PCL and XPS since it<br> + was never completely implemented and the partial implementation causes<br> + many errors when tested with --saved-pages-test. Note that while the<br> + --saved-pages-test option is still accepted as a parameter, it is ignored<br> + so that regression testing with --saved-pages-test can run.<br> +<br> + Regression shows 3343 "diffs", but bmpcmp doesn't show any diffs.<br> +<br> +base/gdevp14.c<br> +base/gdevprn.c<br> +base/gdevprn.h<br> +base/gxclist.h<br> +base/gxclpage.c<br> +base/lib.mak<br> +examples/transparency_example.ps<br> +pcl/pl/plmain.c<br> +psi/imain.c<br> +psi/imainarg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-20 14:33:03 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1b64014143a8a571e5dbff3346c6ad902603dda1">1b64014143a8a571e5dbff3346c6ad902603dda1</a> +<blockquote> +<p> + Fix release/debug difference.<br> +<br> + In searching for the indeterminism in 11-14.PS, I found that I could<br> + run the same command line in release and debug builds on peeved, and<br> + get different results:<br> +<br> + touch out1.pgm ref1.pgm && rm out*.pgm ref*.pgm &&<br> + bin/gs -sOutputFile=ref%d.pgm -dMaxBitmap=10000 -sDEVICE=pgmraw -r300<br> + -Z: -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K2000000 -dClusterJob<br> + -dJOBSERVER %rom%Resource/Init/gs_cet.ps cutdown >& ~/log &&<br> + debugbin/gs -sOutputFile=out%d.pgm -dMaxBitmap=10000 -sDEVICE=pgmraw<br> + -r300 -Z: -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K2000000<br> + -dClusterJob -dJOBSERVER %rom%Resource/Init/gs_cet.ps cutdown<br> + >& ~/log2 && md5sum ref*.pgm out*.pgm && less ~/log ~/log2<br> +<br> + After cutting down the file as much as I could, Chris reduced it<br> + simply to:<br> +<br> + 3E9 3E9 moveto 1 1 lineto stroke showpage<br> +<br> + Thanks for this!<br> +<br> + Tracing through the code, I discovered that the difference came down<br> + to check_diff_overflow, where the release build was assuming that if<br> + v1 > v0, v0 - v1 < 0, which is acceptable because v0 - v1 has<br> + overflown, at which point C says the value is unpredictable.<br> +<br> + The fix is to detect the overflow before it happens.<br> +<br> +base/gxpflat.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-20 13:51:16 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cea5d8a72dab953fe84ab8f7280003d377559fff">cea5d8a72dab953fe84ab8f7280003d377559fff</a> +<blockquote> +<p> + pdfwrite - Fix typo in on=-page checks for annotations with PDF/X<br> +<br> + Bug #698765 "PDF/X Compliance Check Fails with Ghostscript generated PDF"<br> +<br> + The upper-right y bound check was incorrect, leading to an incorrect<br> + decision that an annotation was off the page.<br> +<br> +devices/vector/gdevpdfm.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-20 09:51:27 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f9d41654ff0f52b6f42e5eff3215cf183261cffa">f9d41654ff0f52b6f42e5eff3215cf183261cffa</a> +<blockquote> +<p> + Coverity ID 203245 - remove redundant NULL check<br> +<br> + The changes which fixed the device method API mean that its no longer<br> + required to check that dev is not NULL in this routine.<br> +<br> +base/gdevsclass.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-17 15:42:17 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7b04e4d7b85769169db94f1b0ed72474211ba27a">7b04e4d7b85769169db94f1b0ed72474211ba27a</a> +<blockquote> +<p> + Add another PACIFY_VALGRIND section<br> +<br> + Avoid warnings in 586_-_missing_images_gs_SMask_not_applied.pdf<br> +<br> +base/gxclist.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-17 15:26:10 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c5f770b5c64cf7a2f3a0f3c447c089a089a695d1">c5f770b5c64cf7a2f3a0f3c447c089a089a695d1</a> +<blockquote> +<p> + Documentation - Restore the documentation on DELAYBIND and friends<br> +<br> + Since we've reinstated DELAYBIND, reinstate the documentation to go<br> + with it. Also include the helpers .bind and .bindnow.<br> +<br> +doc/Language.htm<br> +doc/Use.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 20:37:41 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d9c9bea4ecf31e06bcf52d433b632ce0b6b1b239">d9c9bea4ecf31e06bcf52d433b632ce0b6b1b239</a> +<blockquote> +<p> + Fix buffer overrun in gp_enumerate_files_next.<br> +<br> + If pattern="*" and patlength = 1, then pathead = 1.<br> +<br> + When we look for any following subdirectory, the code attempts<br> + to look for the next subdirectory name. To do this it starts<br> + searching from the byte after the position of the current '/'.<br> + Unfortunately, if the string ends at the current wildcard, we<br> + don't have a '/', we have a NUL terminator. This means the<br> + current code starts looking just after that.<br> +<br> + In code terms this means the current code accesses at<br> + pattern + pathead + 1, without checking pattern[patthead] first.<br> + This is a simple fix.<br> +<br> + We also take this opportunity to simplify a couple of while loop<br> + conditions. The extra negation is too much for my tiny brain to<br> + cope with.<br> +<br> +base/gp_unifs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 20:01:57 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f27b751a1662c3ca8ef64c164cf3f9a400dd416b">f27b751a1662c3ca8ef64c164cf3f9a400dd416b</a> +<blockquote> +<p> + Add SINGLE_OBJECT_MEMORY_BLOCKS_ONLY logic.<br> +<br> + If SINGLE_OBJECT_MEMORY_BLOCKS_ONLY is defined at<br> + build time, then we restrict every clump/chunk to<br> + have just a single object in it. This makes<br> + valgrind debugging easier as the allocation given<br> + for when 'undefined' values were created is far<br> + more likely to be correct.<br> +<br> +base/gsalloc.c<br> +base/gsmchunk.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 20:00:01 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1e1b4dc73087212abd1c6c9bee3192a1fc6bf630">1e1b4dc73087212abd1c6c9bee3192a1fc6bf630</a> +<blockquote> +<p> + Add some PACIFY_VALGRIND to quash some warnings.<br> +<br> + 11-14.PS trips some valgrind warnings where we<br> + write structures into the clist without having<br> + cleared the padding in the structures.<br> +<br> +base/gsptype1.c<br> +base/gxclimag.c<br> +base/gxclist.c<br> +base/gxpcmap.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 21:51:13 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e93a58466a78aab89e065bdae2d6b77db5620692">e93a58466a78aab89e065bdae2d6b77db5620692</a> +<blockquote> +<p> + pdfwrite - fix instance UUID<br> +<br> + Bug #698757 "Instance UUID truncated"<br> +<br> + Should have spotted and fixed this at the same time as Bug #697977<br> + but missed it. As noted in the bug report its practically the same code<br> + and had the exact same problem.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 13:38:59 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b76dc2d704fcc00edc8c1fd8ae19d01a36e22c49">b76dc2d704fcc00edc8c1fd8ae19d01a36e22c49</a> +<blockquote> +<p> + ps2write - fix string splitting for output formatting<br> +<br> + Bug #698708 "Ghostscript loops"<br> +<br> + When writing output for ps2write, we limit the output width to 255<br> + characters. If a string is longer than that we try to split it on<br> + PostScript tokens. If we can't do that then we just break at 255<br> + characters and stick in a newline.<br> +<br> + The logic in here however was flawed however, it failed to update the<br> + pointer 'p' which points to the character currently being processed<br> + and did not reset the width count to 0 when the string was output.<br> +<br> + This could lead to us in an infinite loop.<br> +<br> +devices/vector/gdevpdfu.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 11:29:47 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=01ce294445f7988f51f63108d53a89df003f2b1e">01ce294445f7988f51f63108d53a89df003f2b1e</a> +<blockquote> +<p> + Fix tiffsep1 device after device API repair<br> +<br> + commit dd820be was over-enthusiastic with the tiffsep1 device, and tried<br> + to use the device procs accessor on a device struct member other than<br> + 'procs' with predictably unfortunate effects.<br> +<br> +devices/gdevtsep.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-16 10:28:28 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa499a5809aab45b2891b5c8b2363d1bca890757">fa499a5809aab45b2891b5c8b2363d1bca890757</a> +<blockquote> +<p> + PS interpreter - add warnings for DELAYBIND and WRITESYSTEMDICT<br> +<br> + We've seen people using these options in an inappropriate fashion<br> + and with SAFER set as well. Clearly there is confusion about how to use<br> + these.<br> +<br> + If the user selects SAFER, and selects an option which is liable to<br> + make it possible for PostScript to evade the SAFER file system access<br> + restrictions, then emit a warning reminding the user to 'lock' the<br> + unsafe option down.<br> +<br> + Also restore the old behaviour of DELAYBIND and remove the<br> + REALLYDELAYBIND switch. We have heard from the 'pstoedit' maintainer<br> + and that tool requires the use of both DELAYBIND and WRIESYSTEMDICT.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-15 16:49:41 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dd820bbe7f53e051add94dbcdc779dae1820e0d6">dd820bbe7f53e051add94dbcdc779dae1820e0d6</a> +<blockquote> +<p> + Device method repair - use accessors throughout<br> +<br> + A lot of places accessed device methods directly, instead of using the<br> + accessor macros. Update all the code to use the accessors.<br> +<br> +base/gdevdflt.c<br> +base/gdevmpla.c<br> +base/gdevnfwd.c<br> +base/gdevp14.c<br> +base/gdevprn.c<br> +base/gdevsclass.c<br> +base/gdevvec.c<br> +base/gsdevice.c<br> +base/gsdparam.c<br> +base/gsicc_manage.c<br> +base/gxclist.c<br> +base/gxclrect.c<br> +base/gxcmap.c<br> +base/gxdevice.h<br> +base/gxfapi.c<br> +base/gxfill.c<br> +base/gxp1fill.c<br> +base/gxpcmap.c<br> +devices/gdevdsp.c<br> +devices/gdevplib.c<br> +devices/gdevtifs.c<br> +devices/gdevtsep.c<br> +devices/gdevwpr2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-12 11:10:49 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c9951359bde5c4e72a20624788a47a97872db090">c9951359bde5c4e72a20624788a47a97872db090</a> +<blockquote> +<p> + Repair the device API - device methods should never be NULL<br> +<br> + The original intention of the device API was that device methods (with<br> + the odd exception of fill_rectangle) must not be NULL. That appears<br> + to have been broken with the introduction of the transparency<br> + compositor, with the result that the code now:<br> +<br> + 1) has to check for methods being NULL sometimes, because that causes<br> + crashes.<br> +<br> + 2) Uses a device method being NULL to determine code paths.<br> +<br> + We want to return the device method design, because having to check for<br> + NULL methods before calling is wasteful.<br> +<br> + In this commit:<br> +<br> + define default methods for all the methods that previously did not have<br> + one.<br> +<br> + Modify gx_device_fill_in_procs to include those defaults in the device<br> + methods which it checks for NULL and replaces.<br> +<br> + Finding all the places where the code path differs if a device method<br> + is NULL, alter to check against the default method instead.<br> +<br> + Remove NULL checks where they are no longer required. Device whose<br> + 'procs' get copied directly (clist) must have defaults for all methods.<br> +<br> + Fix gx_copy_device_procs so that we only special case (don't replace<br> + the method) for those few methods where it matters that the subclassing<br> + device must have the default method if the subclassed device does. Long<br> + term we should change the code not to rely on this!<br> +<br> + Remove a couple of macros that were not required or plain dumb.<br> +<br> +base/gdevdflt.c<br> +base/gdevmem.c<br> +base/gdevnfwd.c<br> +base/gdevp14.c<br> +base/gdevprn.c<br> +base/gdevsclass.c<br> +base/gdevvec.c<br> +base/gscspace.c<br> +base/gsdevice.c<br> +base/gsdparam.c<br> +base/gsicc_manage.c<br> +base/gsovrc.c<br> +base/gspaint.c<br> +base/gstrans.c<br> +base/gxblend1.c<br> +base/gxclist.c<br> +base/gxclrect.c<br> +base/gxdevice.h<br> +base/gxfapi.c<br> +base/gxiscale.c<br> +base/gxp1fill.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-14 20:27:07 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e2565e030eb37a25459671cfa9119715f3a0aae4">e2565e030eb37a25459671cfa9119715f3a0aae4</a> +<blockquote> +<p> + New "planr" device. 1 bit per component, RGB, planar device.<br> +<br> +base/gdevmem.c<br> +base/unix-gcc.mak<br> +devices/devs.mak<br> +devices/gdevplan.c<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-15 19:17:05 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8b1611e7613781cd5c2c7defa2c5315254d9d1d">a8b1611e7613781cd5c2c7defa2c5315254d9d1d</a> +<blockquote> +<p> + Fix operation of 1bpc, 3 component halftones.<br> +<br> + In the chunky world, it makes no sense to deal with 3 bit rgb as<br> + this doesn't pack neatly into a byte. You'd do it by handling<br> + 4 bit chunks.<br> +<br> + Accordingly, parts of Ghostscript are written to assume that you'd<br> + not do anything this crazy.<br> +<br> + Unfortunately, in the planar world, a 1 bpc, 3 component device<br> + does make (some) sense. Sadly, stuff like the halftone generation<br> + gets deeply confused by this.<br> +<br> + Here we fix 2 specific instances of this problem. In the halftone<br> + generation, we generate 3bit chunky halftones as 4 bit ones, and in<br> + the planar_copy_color routines, we assume that 3 bit data is<br> + actually 4 bit (as a) it probably comes from these routines, and<br> + b) if it doesn't it'd be packed as 4 bit in any sane world).<br> +<br> +base/gdevmpla.c<br> +base/gxcht.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-15 17:08:58 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fac14b8c25422529acded1e9e920eb20190db340">fac14b8c25422529acded1e9e920eb20190db340</a> +<blockquote> +<p> + clusterpush.pl: Add smoke option<br> +<br> +toolbin/localcluster/clusterpush.pl<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-15 17:26:35 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ae6f20152ab1e0860952dbeee979ef2c0f195269">ae6f20152ab1e0860952dbeee979ef2c0f195269</a> +<blockquote> +<p> + Fix st_device_vector_max_ptrs.<br> +<br> + This should be +4, not +3, but this value appears to be pretty<br> + much unused, so nothing matters at the moment. It is used by<br> + st_device_psdf_max_ptrs, but nothing uses that either.<br> +<br> + We may remove both of these definitions in future.<br> +<br> +base/gdevvec.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-15 17:12:09 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bb5726a74bbfbbd2e17b344eb4bc0385d514d4c1">bb5726a74bbfbbd2e17b344eb4bc0385d514d4c1</a> +<blockquote> +<p> + Memento: Add Memento_sequence<br> +<br> +base/memento.c<br> +base/memento.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-15 09:03:27 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d046e24bd2894cf80785bede733006dd53746a07">d046e24bd2894cf80785bede733006dd53746a07</a> +<blockquote> +<p> + PostScript interpreter - silence compiler warning<br> +<br> + Prototype a function to silence a compiler warning. Also, make the<br> + function static since it isn't used elsewhere.<br> +<br> +psi/zarith.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-13 11:05:04 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=143a892226b79676f5f8853f63532f9e6f4e8f5e">143a892226b79676f5f8853f63532f9e6f4e8f5e</a> +<blockquote> +<p> + Avoid buffer overflow in GraphicsAlphaBits cdoe with planar device.<br> +<br> + In GraphicsAlphaBits, we get the pixels from the underlying device<br> + (in chunky format). The buffer we get that data into was sized<br> + according to get_device_raster(dev, false), which (for a planar<br> + device) returns the size for line of planar data. We want the<br> + size for one line of chunky data, so use get_device_raster_chunky<br> + instead.<br> +<br> +base/gdevdbit.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-13 09:07:03 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5fe97ce30de048027da19a85bc574a8adfcf2116">5fe97ce30de048027da19a85bc574a8adfcf2116</a> +<blockquote> +<p> + pdfwrite - fix an error handling problem<br> +<br> + Bug 698735 "Ghostscript: SEGV in pdfwrite with -Z@"<br> +<br> + This was, unfortunately, caused by the shift to cleaning up memory<br> + instead of relying on the garbage collector.<br> +<br> + When an error occurred writing the metadata, the code simply exited<br> + back to the caller, it did not close the temporary stream it was<br> + writing the metadata to.<br> +<br> + Due to the way that 'asides' are handled this led to the wrong stream<br> + being closed, and a pointer retained to a closed stream. The result<br> + was the seg fault.<br> +<br> + There may well be other conditions like this still present.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-11 19:28:10 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=db2415d2b117946e5ec1d46936a134940f99c21d">db2415d2b117946e5ec1d46936a134940f99c21d</a> +<blockquote> +<p> + Bug 698733: make vector device memory stable<br> +<br> + The pcl/xl device (gdevpx.c) was using "normal" Postscript global memory for<br> + its own use, and the vector base device on which it is based. That means the<br> + memory it allocated could disappear with the end-of-job restore in the<br> + Postscript interpreter.<br> +<br> + Change it so it uses stable memory which is still garbage collected, and still<br> + subject to relocation, but is *not* subject to Postscript save/restore<br> + operation.<br> +<br> +devices/vector/gdevpx.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-03 08:52:50 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c535ebb24602ff14a375a1590a9df6bd8bb7e9c4">c535ebb24602ff14a375a1590a9df6bd8bb7e9c4</a> +<blockquote> +<p> + Fix bug 695877: SEGV when display callback not set.<br> +<br> + Change most of the device procs to return gs_error_Fatal when the callback<br> + hasn't been set. The open is allowed to be called before it is set, but any<br> + operations other than fill_rect (allowed for due to fillpage) and close will<br> + now return Fatal errors. This allows the device to be "fake opened" by gs_init<br> + before the parameters are processed and the display callback is set and the<br> + device is opened for actual use.<br> +<br> +devices/gdevdsp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-08 14:04:42 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ea81364fdda57ce2c82007a150add5949a1c5788">ea81364fdda57ce2c82007a150add5949a1c5788</a> +<blockquote> +<p> + PS interpreter - fix detection of overflow on 64-bit integer multiply<br> +<br> + Bug 698722 "Erroneous Range-Check causes wrong arithmetic results"<br> +<br> + The work here was actually done by Robin Watts, ably assisted by<br> + Paul Gardiner.<br> +<br> + The previous code failed to properly detect an overflow condition,<br> + because the cast of MAX_PS_INT to a double reduces the precision to<br> + only 52 bits for the integer portion, meaning it was possible for<br> + very large numbers not to be detected as > MAX_PS_INT.<br> +<br> +psi/zarith.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-08 10:04:03 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e1aead165e05e98ae765d6569f39ced839d4298e">e1aead165e05e98ae765d6569f39ced839d4298e</a> +<blockquote> +<p> + Guard against divide-by-zero exceptions in the halftone code<br> +<br> + Bug #697663 "FPE in gx_compute_cell_values()"<br> + Bug #698332 "FPE (Division by zero) in pick_cell_size()"<br> +<br> + These have the same root cause, in pick_cell_size() we can end up with<br> + halftone cell parameters which are (I think) improperly initialised.<br> +<br> + Certainly its possible to get to the point where we divide using one<br> + of the parameters, and if its 0 we get an error. I suspect that the<br> + halftone may be badly broken even when its not 0, but both these files<br> + are the result of fuzzing, so I doubt its possible to have a real<br> + working file get to this point.<br> +<br> + Guard against the divide-by-zero errors by checking that both the<br> + parameters are non-zero (its permissible for one to be 0 I believe)<br> +<br> +base/gshtscr.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-06 13:27:19 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1fb022758a35502b8e299248dd37207c1abc3ffe">1fb022758a35502b8e299248dd37207c1abc3ffe</a> +<blockquote> +<p> + Optimise pdf14_copy_planes<br> +<br> + Call code derived from pdf14_compose_group rather than<br> + breaking everything down to rectangles.<br> +<br> +base/gdevp14.c<br> +base/gxblend.c<br> +base/gxblend.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-06 18:37:39 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=25d1c5f42b748af8d4d331a7b40ce9863e302332">25d1c5f42b748af8d4d331a7b40ce9863e302332</a> +<blockquote> +<p> + Fix misalignment in pdf14_copy_planes.<br> +<br> + In the case where x/y get clipped, we can fail to account for<br> + this.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-03 18:53:27 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f36ee7a64c9ec95eb6657d06c602d0e4bb6f232">8f36ee7a64c9ec95eb6657d06c602d0e4bb6f232</a> +<blockquote> +<p> + Fix -Z? vs. -Zv output for pattern transparency debug.<br> +<br> +base/gdevp14.c<br> +base/gsptype1.c<br> +base/gxpcmap.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-03 17:42:52 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ee863835be136e21d3a4c4bcbe28e6e050e1bc1a">ee863835be136e21d3a4c4bcbe28e6e050e1bc1a</a> +<blockquote> +<p> + Check for a failed allocation before using the buffer.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-03 17:42:21 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc95eea7e6e5b5efb53446c8bcb482b748e9072e">cc95eea7e6e5b5efb53446c8bcb482b748e9072e</a> +<blockquote> +<p> + Squash a warning in pdf14.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-03 17:41:33 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a953768a82d685e575c17feeebf3ea4468a319f3">a953768a82d685e575c17feeebf3ea4468a319f3</a> +<blockquote> +<p> + Fix bad free pdf14 (wrong gs_memory_t)<br> +<br> + Michael spotted that:<br> +<br> + gs -sDEVICE=tiff24nc -Z$?@ -r300 -o out%d.tif -f .<br> + ./MyTests/Advertising-PowerPoint-A4.pdf<br> +<br> + gave a warning saying that a trans pattern being freed from<br> + the cache wasn't owned by the supplied memory pointer.<br> +<br> + Indeed the free should have been using memory->stable_memory.<br> + Here we commit the nice fix whereby the buffer keeps a pointer<br> + to the memory with which it was allocated.<br> +<br> + This simplifies the pdf14_buf_free calls too.<br> +<br> + Credit to Ray for finding the cause/identifying the fix.<br> +<br> +base/gdevp14.c<br> +base/gdevp14.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-03 15:27:50 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3c9f8491ecb5cfa382608c47f5a35ad2bce00edc">3c9f8491ecb5cfa382608c47f5a35ad2bce00edc</a> +<blockquote> +<p> + Bug 694918: Fix buffer overrun in image_simple_expand.<br> +<br> + If truly crazy values of x_extent are used, the fixed point<br> + representation can wrap around and we can start accessing out<br> + of the buffer.<br> +<br> + Check for such stupid values and nobble us to do no harm.<br> +<br> +base/gxifast.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-02 12:07:16 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1ea664170c68539a035279425447f7ce10e130ff">1ea664170c68539a035279425447f7ce10e130ff</a> +<blockquote> +<p> + Add support to viewpbm.ps for GRAYSCALE and RGB_ALPHA and fix logic for FITPAGE<br> +<br> + The RAW_DUMP with RAW_DUMP_AS_PAM emits RGB_ALPHA and GRAYSCALE but these<br> + were not supported. Display RGB_ALPHA as CMYK for now.<br> +<br> + Also if SCALE was specified, the ifelse for FITPAGE was inverted.<br> +<br> +lib/viewpbm.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-02 11:51:48 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4c1f9b28eab25b519d0a14401ec6bbcf01813e12">4c1f9b28eab25b519d0a14401ec6bbcf01813e12</a> +<blockquote> +<p> + Fix RAW_DUMP (minor omissions/typos when blending was refactored.<br> +<br> +Resource/Init/pdf_main.ps<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-27 08:03:36 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8200f59f1b5aab852e23322587dda7c182fc195b">8200f59f1b5aab852e23322587dda7c182fc195b</a> +<blockquote> +<p> + Fix Bug696372: Transparency with DeviceN not coping with bad PDF's<br> +<br> + When a PDF with transparency stops interpretation due to an error, the<br> + grestore may have popped the pgs so that the pdf14 compositor is no<br> + longer the currentdevice. The logic in pad14_spot_get_color_comp_index<br> + assumed that the device was a pdf14_device and got a bogus pointer to<br> + devn_params. Instead, use the device's ret_devn_params function to get<br> + the actual pointer.<br> +<br> + Also, the poppdf14devicefilter would execute without the pdf14 device<br> + as the currentdevice. Save the annots_gstate explicitly in pdf_main<br> + showpagecontents so it can be set back before doing annots and the<br> + poppdf14devicefilter.<br> +<br> + This also required gs_setgstate to always do gs_do_set_overprint since<br> + the setgstate may have skipped over states with the overprint compositor.<br> + This caused "drawn_comps" to not be set correctly for the pdf14<br> + compose_group.<br> +<br> + Fixups for 696372 fix commit (also ne->be last line of commit msg)<br> +<br> +Resource/Init/pdf_main.ps<br> +base/gdevp14.c<br> +base/gsstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-02 17:54:57 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1626f36c9b6ae68abad7818be7cfb2a95f4ecffe">1626f36c9b6ae68abad7818be7cfb2a95f4ecffe</a> +<blockquote> +<p> + Bug 698713: Further graphicsAlphaBits + new scan converter fix.<br> +<br> + Previous I ensured that when using graphicsAlphaBits, the new scan<br> + converter would restrict its output rectangles/traps to fit<br> + within y % max_fill_band pixels at a time as required.<br> +<br> + I forgot that the base 'y' value taken for this was not necessarily<br> + aligned to a max_fill_band multiple. Fixed here.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-01 20:08:13 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=30ba3e3a163f729f2d05561e688dc54df6afa2e1">30ba3e3a163f729f2d05561e688dc54df6afa2e1</a> +<blockquote> +<p> + LCMS2: Add optimised 3x16bit -> 1x16bit cached transform.<br> +<br> +lcms2/src/cmsxform.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-01 21:15:42 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d68b31cc315e7e687d0b55a5068b7514d7f73f5f">d68b31cc315e7e687d0b55a5068b7514d7f73f5f</a> +<blockquote> +<p> + LCMS2: Refind transform routine on buffer change.<br> +<br> +lcms2/src/cmsxform.c<br> +lcms2/src/lcms2_internal.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-01 17:23:17 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4ef5c30e68bbb33b952db1b70508e7412bf79f0f">4ef5c30e68bbb33b952db1b70508e7412bf79f0f</a> +<blockquote> +<p> + Reintroduce and update LCMS optimisations.<br> +<br> +lcms2/src/cmsxform.c<br> +lcms2/src/extra_xform.h<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-31 19:37:10 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1ab17bc53362ea34b61050429c51c575539bf2b9">1ab17bc53362ea34b61050429c51c575539bf2b9</a> +<blockquote> +<p> + Avoid clearing cm_comps arrays in cmap functions.<br> +<br> + This goes against commit 99c48263b9 by Ray (dating from Nov 1 2009)<br> + to fix Bug 690713 and solve some indeterminisms.<br> +<br> + My belief is that this SHOULD be fixed in the devices, not in the<br> + callers. Accordingly I have backed that out, and changed the<br> + cmyk_cs_to_psdcmyk_cm function (the only one I can find that does<br> + not set everything to be 0).<br> +<br> + The cluster now shows this running with no diffs.<br> +<br> +base/gxcmap.c<br> +devices/gdevpsd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-11-01 12:07:53 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b3c0fafa490932cc43009c53c7f8a17598fe78d7">b3c0fafa490932cc43009c53c7f8a17598fe78d7</a> +<blockquote> +<p> + Tweak map_XXXX_subclass functions.<br> +<br> + To cope with subclassed devices, we no longer simply call:<br> +<br> + pprocs = dev_proc(dev, get_color_mapping_procs);<br> + pprocs->map_cmyk(dev, ...)<br> +<br> + etc. The 'done thing' is to run up the the dev->parent pointers<br> + as far as we can, and to get the color mapping procedures from<br> + that. These color mapping procedures then need to be called<br> + using the dev pointer from which they were fetched.<br> +<br> + To do this, we provide get_color_mapping_procs_subclass<br> + and map_XXX_subclass functions that pickle the dev search.<br> +<br> + The only downside to this is that we end up doing the search<br> + up the tree twice (or more than twice in the case where we<br> + make several mapping calls).<br> +<br> + Here we therefore tweak these functions so that<br> + get_color_mapping_procs_subclass returns both the procs AND<br> + the dev to use when calling them in a structure, and the<br> + map_XXX_subclass functions now take that structure.<br> +<br> + Broadly, this change shouldn't actually alter any operation,<br> + other than being slightly more efficient.<br> +<br> + There are a few wrinkles:<br> +<br> + 1) in gsicc_replacecm.c, we were fetching the procs using the<br> + dev chasing function, but calling them using the unchased dev<br> + value. Fixed here to use the matching dev value in both cases.<br> +<br> + 2) In a couple of places, we have special handling for forwarding<br> + devices. I am not convinced that we handle subclassed forwarding<br> + devices correctly (or devices that forward to subclassed devices).<br> + I have marked these areas with FIXMEs, but they are no worse<br> + now than they were before.<br> +<br> +base/gdevdflt.c<br> +base/gdevdgbr.c<br> +base/gdevnfwd.c<br> +base/gscspace.c<br> +base/gsicc_replacecm.c<br> +base/gsovrc.c<br> +base/gspaint.c<br> +base/gxcmap.c<br> +base/gxdcolor.c<br> +base/gxdevcli.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-31 17:52:12 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=961b14dd7e686a1543541070a1ba943590ef2bf9">961b14dd7e686a1543541070a1ba943590ef2bf9</a> +<blockquote> +<p> + Optimise handle_colors in gxiscale.c<br> +<br> + Avoid per-pixel work by doing as much as possible up front.<br> +<br> +base/gxiscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-31 15:52:49 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de645ba2116ecfc71d0fdcea84944735736d0278">de645ba2116ecfc71d0fdcea84944735736d0278</a> +<blockquote> +<p> + Avoid looking up the profile for every pixel of an image.<br> +<br> +base/gxiscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-31 13:07:23 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f7b61e0cc56206b6811eee85c4cfd6a0963194e0">f7b61e0cc56206b6811eee85c4cfd6a0963194e0</a> +<blockquote> +<p> + Pass device_profile into color concretizing functions.<br> +<br> +base/gdevp14.c<br> +base/gscdevn.c<br> +base/gscms.h<br> +base/gscolor2.c<br> +base/gscpixel.c<br> +base/gscsepr.c<br> +base/gscspace.h<br> +base/gsicc.c<br> +base/gsicc_cache.c<br> +base/gsicc_cache.h<br> +base/gxcmap.c<br> +base/gxcspace.h<br> +base/gxiscale.c<br> +devices/vector/gdevpdfg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-27 20:24:32 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=31cb4cf7aa88784219f6fc2be362a66df2f67289">31cb4cf7aa88784219f6fc2be362a66df2f67289</a> +<blockquote> +<p> + Tweak cmap functions for speed.<br> +<br> + In looking at the Advertising-PowerPoint-A4.pdf file, I noted that<br> + cmap_gray_direct and cmap_gray_halftoned were taking a noticable<br> + amount of time. This commit attempts to alleviate that.<br> +<br> + Various observations:<br> +<br> + 1) Avoid unnecessary loop in cmap_gray_halftoned (and similar functions).<br> +<br> + In some of the code, we do:<br> +<br> + for (i = 0; i < n; i++)<br> + if (i == k)<br> + do_something_with(i)<br> +<br> + why not just use:<br> +<br> + if (k < n)<br> + do_something_with(k)<br> +<br> + 2) Typically functions like cmap_gray_direct do a load of work,<br> + culminating in trying to encode a color value. If that encoding fails,<br> + it would fallback to trying to use a cmap_gray_halftoned, which would<br> + do all the work a second time.<br> +<br> + Tweak the code to avoid the call, and hence the repetition.<br> +<br> + The downside to this is that the work is typically of the form:<br> +<br> + for (i = 0; i < n; i++)<br> + cv[i] = frac2cv(some_calculation_involving(cm_comps[i]));<br> +<br> + and in order to be able to avoid the call to cmap_gray_halftoned, we<br> + need to make it:<br> +<br> + for (i = 0; i < n; i++) {<br> + cm_comps[i] = some_calculation_involving(cm_comps[i]);<br> + cv[i] = frac2cv(cm_comps[i]);<br> + }<br> +<br> + i.e. we have to do more stores than before. This can hurt us in some<br> + cases, but it seems like a worthwhile win, especially in light of 3).<br> +<br> + 3) A lot of the work in these functions involves mapping colors through<br> + the effective_transfer functions. This happens in code of the form:<br> +<br> + for (i = 0; i < n; i++) {<br> + cm_comps[i] = gx_map_color_frac(pgs, cm_comps[i], effective_transfer[i]);<br> + }<br> +<br> + If effective_transfer[i] is identity (as it almost always is), then<br> + this whole loop is a nop.<br> +<br> + We make some steps to optimise for this case by having the<br> + gx_map_color_frac macro check for effective_transfer[i] being<br> + gs_identity_transfer before calling it, but this doesn't help us<br> + avoid the loop/load/store.<br> +<br> + We therefore extend pgs with a count of the number of<br> + 'effective_transfer's that are non identity (essentially a flag<br> + that enables us to know if we can skip this loop or not),<br> + and use that to optimise our work.<br> +<br> +base/gsht.c<br> +base/gxcmap.c<br> +base/gxgstate.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-30 19:31:47 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de651aaa531a7eb6fa99c1ef97682ebe22a3cda7">de651aaa531a7eb6fa99c1ef97682ebe22a3cda7</a> +<blockquote> +<p> + Further optimisations in pdf14_mark_fill_rectangle.<br> +<br> + Normal blend mode case is always worth optimising.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-31 14:11:24 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fda23c007c3acb96198648c3f4a65438ce449b63">fda23c007c3acb96198648c3f4a65438ce449b63</a> +<blockquote> +<p> + Squash warnings.<br> +<br> +psi/zcolor.c<br> +psi/ztrans.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-30 11:08:09 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=76b922b5d3071288edbf8f0cccdbbd2b0ae34742">76b922b5d3071288edbf8f0cccdbbd2b0ae34742</a> +<blockquote> +<p> + PDF interpreter - try and catch yet more cases of circular references<br> +<br> + No bug report for this one, the customer requested destruction of the<br> + PDF file after analysis, and there was no way to reduce the file to the<br> + point where nothing sensitive remained.<br> +<br> + The problem is that a Form XObject referenced a number of Image XObjects<br> + one of which contained a DecodeParms array, where the second element<br> + referenced the original Form XObject. This circular reference leads to<br> + an error.<br> +<br> + Here we maintain a dictionary (initially empty) on the stack which we<br> + populate with object numbers as we recursively dereference objects.<br> + When we start a new composite object we copy the array into a new array<br> + which we discard on completion. This is to prevent false detection of<br> + circular references if we dereference multiple composite objects at the<br> + same level (eg if we deal with multiple images, each of which perhaps<br> + contained a reference to the same colour space).<br> +<br> + We now issue an error quoting the object number being circularly<br> + referenced, replace the object with a null object and continue.<br> +<br> + No differences expected.<br> +<br> +Resource/Init/pdf_base.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-27 18:08:34 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ecb0181ae2c6c64f876f741ef1da2980324442ca">ecb0181ae2c6c64f876f741ef1da2980324442ca</a> +<blockquote> +<p> + Use integer maths for bitmap interpolation internals.<br> +<br> + We calculate the weights using doubles still, but store them as<br> + integers. This means all the inner loops avoid FP.<br> +<br> +base/siscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-27 16:53:51 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b62bfe2c7d166bfe8f3743e122abc755d96bec9c">b62bfe2c7d166bfe8f3743e122abc755d96bec9c</a> +<blockquote> +<p> + Unpack/Unroll the inner loops of Mitchell scaler.<br> +<br> +base/lib.mak<br> +base/siscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-26 12:53:29 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=81561e6e04f49a4b3b9599cc09ba2cde4407e936">81561e6e04f49a4b3b9599cc09ba2cde4407e936</a> +<blockquote> +<p> + Optimise clip_fill_rectangle and family.<br> +<br> + Avoid testing for transpose each time, and cope with the common<br> + single rectangle case more efficiently.<br> +<br> + This gives a 20% speedup in testing with my cutdown<br> + Advertising-Powerpoint-A4.pdf file going to 1200dpi, 1bpc cmyk.<br> +<br> + The only one called here is clip_fill_rectangle, but push the<br> + same optimisations through clip_fill_rectangle_hl_color,<br> + clip_copy_mono, clip_copy_planes etc to help other devices.<br> +<br> +base/gxclip.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-26 16:00:18 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0d2177ac781235aa67cde3b6fc9d85030c50a8a9">0d2177ac781235aa67cde3b6fc9d85030c50a8a9</a> +<blockquote> +<p> + pdfwrite - take action on an error.<br> +<br> + Don't ignore the potential error return from gx_path_current_point()<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-25 15:04:28 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f13a659f9700fac0a0f47007c1eaacddd5c7f208">f13a659f9700fac0a0f47007c1eaacddd5c7f208</a> +<blockquote> +<p> + improve commit d9d74def0095641f20b46716c929bc6f88154490<br> +<br> + There were a couple of places that returned 0 which, after the goto<br> + change, return code. Its just barely possible that code might not be<br> + 0, so set it to 0 first.<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-25 14:57:12 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d9d74def0095641f20b46716c929bc6f88154490">d9d74def0095641f20b46716c929bc6f88154490</a> +<blockquote> +<p> + pdfwrite - revisit clipped text and commit 46ef6bc80bd7388883a00aa866af38fe8f05d45b<br> +<br> + Bug #698693 "clipped text is selectable in pdf"<br> +<br> + Commit 46ef6bc80bd7388883a00aa866af38fe8f05d45b fixed bug 697442, in<br> + that case we needed to completely process text which had been<br> + deliberately placed off the page (and tehrefore outside the clip).<br> +<br> + In that bug the text used glyphshow, which meant that it could not use<br> + stringwidth to measure the width of the string, and perform accurate<br> + positioning. So instead it placed the current point off the page,<br> + used glyphshow to draw the text, and then currentpoint to find the<br> + displacement.<br> +<br> + By not fully processing the text we did not correctly update currentpoint<br> + and so the text was misplaced. This was fixed by fully processing<br> + the text, but altering a copy of the text enumerator's 'operation'<br> + field so that the text was not added to the page (clearing TEXT_DO_DRAW)<br> +<br> + However, there are still places (process_text_modify_width) which can<br> + add the text in, and those look directly at the text enumerator<br> + operation flags.<br> +<br> + So here we still copy the operation flags, but we then modify the copy<br> + held in the text enumerator, so that any subsequent processor will<br> + be able to see that the text should not be drawn. At the end of the<br> + function we restore the flags in the enumerator. This has meant a few<br> + places executing a 'goto' in order to reset the flags, instead of simply<br> + returning as previously.<br> +<br> + A few test files show extremely minor (1 pixel) positioning differences.<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-24 07:19:39 -0600 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=140e1cb28a6ad42e2ded8381af8b53421923e0e1">140e1cb28a6ad42e2ded8381af8b53421923e0e1</a> +<blockquote> +<p> + Fix bug #694630 - Fuzzing Segmentation Fault.<br> +<br> + Along with soft fonts, the built in fonts should not be restored when<br> + a macro call completes. The segmentation fault in the report was<br> + caused by a dangling reference to a deleted font after restoring the<br> + built in font dictionary. Also, removes a stale comment.<br> +<br> +pcl/pcl/pcsfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-24 12:13:23 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=434234ef22fd28217045c6485672c93a9685a607">434234ef22fd28217045c6485672c93a9685a607</a> +<blockquote> +<p> + Have configure set memory manager alignment.<br> +<br> + For certain Unix derivatives (HP-UX, Solaris, and AIX) we have to use 64 bit<br> + memory alignment - configure will now spot if we are building on and for those<br> + platforms, and set the alignment appropriately.<br> +<br> + Cross compiling still defaults to 32 bit, and if 64 bit alignment is required,<br> + it must set explicitly.<br> +<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-21 11:01:12 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5889736af797dcba1d46af11a84b765340f6c3c4">5889736af797dcba1d46af11a84b765340f6c3c4</a> +<blockquote> +<p> + PDF interpreter - improve commit 9e8d2e<br> +<br> + We should use .endtransparencytextgroup to close the group started by<br> + .begintransparencytextgroup, not .endtransparencygroup<br> +<br> + Oddly this doesn't actually seem to cause any problems, but its not<br> + right.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-20 14:40:21 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6495e38f2dbaeedcaedf84f15c96e78aab6773c4">6495e38f2dbaeedcaedf84f15c96e78aab6773c4</a> +<blockquote> +<p> + Remove useless test in PDF interpreter transparency code<br> +<br> + This test was always true since we always have .begintransparencygroup<br> + It was changed in 2008 from a check for .inittransparencymask which was<br> + created back in 2006. It was probably a test in case the PDF interpreter<br> + was running on a system that may not include the pdf14 compositor, but<br> + that is only a guess.<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-20 16:14:41 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e8d2e156aa3ea039f531e6ea378add4ea6e268c">9e8d2e156aa3ea039f531e6ea378add4ea6e268c</a> +<blockquote> +<p> + PDF interpreter - fix annotations with transparency and text<br> +<br> + Since the introduction of '.begintransparencytextgroup' the synthesis<br> + of missing Appearances for annotations involving text has been broken.<br> +<br> + Approximately since January 2017.<br> +<br> + Introducing '.begintransparencytextgroup' fixes the problem.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-20 14:16:44 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2fc463d0efbd044a8232611f0898eeb12b72a970">2fc463d0efbd044a8232611f0898eeb12b72a970</a> +<blockquote> +<p> + Bug 698676: have filenameforall permission check use "reduced" path<br> +<br> + Prevents working around SAFER file access permissions.<br> +<br> + CVE-2017-15652<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-19 13:01:46 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=684f73e8deefacb2aa5d2277f3154b68809b2ab7">684f73e8deefacb2aa5d2277f3154b68809b2ab7</a> +<blockquote> +<p> + Bug 698672: Fix new scanconverter/alphabits interaction.<br> +<br> + The alphabits mechanism relies on the scan converter not<br> + writing trapezoids so tall as to cause its line buffers<br> + to flush too early.<br> +<br> + This is achieved by honoring the max_band_height field in<br> + the device header. Previously the new scan converter was<br> + ignoring this. Here we alter the code to pay attention to<br> + it.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-17 12:19:19 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc9a66978c56fdfff61bc3b1166955e5506470a9">cc9a66978c56fdfff61bc3b1166955e5506470a9</a> +<blockquote> +<p> + Fix bug 693304. Restore with pdf14 can cause SEGV<br> +<br> + The pdf14 compositor device is retained but the mask_stack (and other<br> + elements of the pdf14_ctx need to be in stable memory to prevent<br> + dangling references after a restore.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-18 17:01:01 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6d048c85f5c75e7539e8b5fc42f5fd856986cc6e">6d048c85f5c75e7539e8b5fc42f5fd856986cc6e</a> +<blockquote> +<p> + Bug 698669: remove reference to removed example file<br> +<br> + Some time ago, we removed the example file chess.ps due to questions over the<br> + license for the font it used.<br> +<br> + But the makefile gubbins to "install" the example files wasn't changed to suit,<br> + and on HP-UX (but so far, nothing else!) caused "make install" to error out.<br> +<br> +base/unixinst.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-18 14:14:11 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7da09aaf701bd4ff2acea55aacce84a22455aead">7da09aaf701bd4ff2acea55aacce84a22455aead</a> +<blockquote> +<p> + Bug 698647: pdfwrite: avoid cached glyphs for Type 3 font input only<br> +<br> + The original fix in 8360852efab5643d93cc3b040832075e199cd205 wrongly assumed<br> + that the changed code only came into effect for Type 3 font *input* where,<br> + in reality, it's for any font for which we have to create a Type 3 in the<br> + output.<br> +<br> + The change to disable the use of the cache should only apply to Type 3 input<br> + where we want to force the execution of the BuildGlyph/BuildChar proc so<br> + pdfwrite can capture it.<br> +<br> + In all other cases, we need to leave the cache in play.<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-17 10:16:51 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9219b1e5febd646f6d87bc424b41237a50529d0d">9219b1e5febd646f6d87bc424b41237a50529d0d</a> +<blockquote> +<p> + Page selection device - fix overprint compositor usage<br> +<br> + Bug #698568 "Ghostscript segmentation fault when doing page selection"<br> +<br> + The PostScript interpreter uses the current device in the graphics<br> + state, and calls the create_compositor() method when overprint is<br> + set to true.<br> +<br> + This may or may not insert a new compositor device into the graphics<br> + state, and whether it does or not is controlled by the return from<br> + the method. If the device is the same as the one in the graphics state<br> + then we don't set a new device, if its different then we set the<br> + returned device.<br> +<br> + The page selection device wasn't initialising this parameter, and if<br> + we were skipping the page we didn't call the child device method,<br> + which meant we returned an uninitialised pointer to the caller. Since<br> + this was unlikely to be the same as the current device, we ended up<br> + trying to set the device in the graphics state to an uninitialised<br> + pointer, with predictably disastrous results.<br> +<br> + The simple fix is to initialise the pointer to the current device in<br> + the graphics state. If we call the child method, and it wants a new<br> + compositor then it will overwrite it, if it doesn't, or we are skipping<br> + the page, then we return the current device and nothing changes.<br> +<br> + No differences expected.<br> +<br> +base/gdevflp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-13 11:16:40 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=05432a551f887d7526b2bf3c65f3f1740cb3cc48">05432a551f887d7526b2bf3c65f3f1740cb3cc48</a> +<blockquote> +<p> + PDF interpreter - Improve annotation appearance generation<br> +<br> + Bug #698627 "PDF 2.0 tests Polygon annotation"<br> + Bug #698629 "PDF 2.0 tests Polyline annotation"<br> + Bug #698630 "PDF 2.0 tests Ink annotation"<br> +<br> + This commit refactors the code previously committed for Circle and<br> + Square annotations to make it more general. Adds support for the Polygon,<br> + PolyLine and Ink with /Path array (new to PDF 2.0). Adds support for<br> + transparency in Annotations (some limited support was available before).<br> + Adds the /Line annotation type and implements the Line Ending (/LE)<br> + array, but not other aspects of the Line annotation (these may be added<br> + at a later date).<br> +<br> + Bug #698628 "PDF 2.0 tests Redact annotation"<br> +<br> + We specifically don't generate an Appearance for Redact annotations, but<br> + will render one if supplied. This annotation is really an interactive<br> + feature, not relevant to print.<br> +<br> + Predictably this commit causes differences as we now generate substitute<br> + appearances for more annotation types when the appearance is missing.<br> +<br> +Resource/Init/pdf_draw.ps<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-12 14:16:40 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9196c7ff8c41f1b256d58696158cd6b99e238459">9196c7ff8c41f1b256d58696158cd6b99e238459</a> +<blockquote> +<p> + Always force unsigned chars for Luratech<br> +<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-09 13:14:23 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6b076c380d4479aa64375baaad59dba6729e2c8f">6b076c380d4479aa64375baaad59dba6729e2c8f</a> +<blockquote> +<p> + Fix problems caused by pdf14_compose_group tuning.<br> +<br> + It seems that has_mask == 0 does not equate to maskbuf != NULL.<br> +<br> + Assuming that mask_mask == 0 => maskbuf == NULL causes problems in<br> + tests_private/pdf/sumatra/fireworks_with_radial_shading.pdf (300dpi<br> + clist renderings in particular) and in<br> + tests_private/pdf/uploads/Bug697212.pdf (all renderings).<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-10 10:14:04 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f64fa48dc792230244f20f115b8dbe3545f484da">f64fa48dc792230244f20f115b8dbe3545f484da</a> +<blockquote> +<p> + Documentation - remove references to .runandhide<br> +<br> + We removed a number of PostScript operators from accessibility after<br> + the interpreter is running as part of the security overhaul. One of<br> + these was .runandhide but we accidentally left a couple of references<br> + in the documentation (the main part of the documentation was correctly<br> + updated).<br> +<br> + So remove the references here, and update the documentation to note the<br> + potential risks in using -dNOSAFER with a save object on the exec<br> + stack.<br> +<br> +doc/Language.htm<br> +doc/Use.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 10:32:51 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dab8018a344409710b989c31575e6e0e4eb243ce">dab8018a344409710b989c31575e6e0e4eb243ce</a> +<blockquote> +<p> + Bring master up to date with gs922 branch<br> +<br> + Update docs dates etc for release<br> +<br> + Changelog and news<br> +<br> + Update dates/product for 9.22rc2<br> +<br> + Changelog for 9.22rc2<br> +<br> + Dates, product, changelog for 9.22 release<br> +<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +psi/int.mak<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-09 11:08:07 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=11f058b7fea07b2a5d2677be3f057cc5ee3e9023">11f058b7fea07b2a5d2677be3f057cc5ee3e9023</a> +<blockquote> +<p> + PDF Interpreter - support the /Circle annotation type without an appearance<br> +<br> + Bug #698626 "PDF 2.0 tests Circle annotation"<br> +<br> + We didn't synthesise an appearance for annotations of type /Circle<br> + when they had no appearance stream. This commit adds that support.<br> +<br> + Rather surprisingly, there do not appear to be any files in our test<br> + suite which exercise this. Doubly surprising since I thought all the<br> + release 2 PDF 2.0 FTS files were included and its one of these that<br> + is quoted in the bug report.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-07 13:33:03 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6db482c183959dbccdc865d8a27cb53b054d3dc1">6db482c183959dbccdc865d8a27cb53b054d3dc1</a> +<blockquote> +<p> + PDF Interpreter - support the /Square annotation type with no /Appearance<br> +<br> + Bug #698625 "PDF 2.0 tests Square annotation type"<br> +<br> + We didn't synthesise an appearance for annotations of type /Square<br> + when they had no appearance stream. This commit adds that support.<br> +<br> + Rather surprisingly, there do not appear to be any files in our test<br> + suite which exercise this. Doubly surprising since I thought all the<br> + release 2 PDF 2.0 FTS files were included and its one of these that<br> + is quoted in the bug report.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-06 17:23:59 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83ef35dce760f68019afd1b07bac8118cd9837a2">83ef35dce760f68019afd1b07bac8118cd9837a2</a> +<blockquote> +<p> + PDF and PS Interprters and ps2write - fix type 6 halftones & transfers<br> +<br> + Bug698621 "PDF 2.0 tests not applying transfer function from halftone"<br> +<br> + The halftones in question are defined (by the PDF interpreter) as type<br> + 6 halftones, ie file-based threshold arrays.<br> +<br> + Rather to my surprise, the reason this didn't work turns out to be<br> + because the PostScript interpreter has never supported transfer functions<br> + with type 6 halftones.<br> +<br> + So; add support for transfer functions in type 6 halftones. This exposed<br> + a problem with ps2write (and potentially pdfwrite) when emitting these<br> + transfer functions, instead of simply specifying the object number of<br> + the function, we were writing it out decorated with "/TransferFunction"<br> + which caused ps2write output to fail. So fix that here too.<br> +<br> + Remove the 'OBSELETE' comment from the halftone structure, I don't know<br> + who thought this was obselete, but it really does not seem to be.<br> +<br> +base/gsht1.c<br> +base/gxht.h<br> +devices/vector/gdevpdfg.c<br> +psi/zht2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-06 14:52:03 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=45a826638bfc6309a829b38ecf14ff9c21f438ca">45a826638bfc6309a829b38ecf14ff9c21f438ca</a> +<blockquote> +<p> + Tune pdf14_compose_group inlining.<br> +<br> + Pick specific inlinings based upon examination of the data<br> + from the TRACK_COMPOSE_GROUPS defines.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 19:25:41 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7b6bce45b1a85266a40844436ea386c4129515f4">7b6bce45b1a85266a40844436ea386c4129515f4</a> +<blockquote> +<p> + Add TRACK_COMPOSE_GROUPS development code.<br> +<br> + This enables us to track which combinations of options<br> + are used, and how frequently.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 19:28:23 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5e1675e95b0574f9a5f469458e849e1837c33983">5e1675e95b0574f9a5f469458e849e1837c33983</a> +<blockquote> +<p> + Further tweaks to pdf14_mark_fill_rectangle<br> +<br> + Avoid having to check for src_alpha == 0 every time around<br> + the loop.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 19:29:07 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8c72c12c30553b76b4e2b23261529ec4c6d49b43">8c72c12c30553b76b4e2b23261529ec4c6d49b43</a> +<blockquote> +<p> + Further tweaks to pdf14_preserve_backdrop<br> +<br> + Attempt to avoid blanking tag plane when we're about to copy<br> + into it.<br> +<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 19:26:15 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=affab3b5889ce7b8bcb38d0c7c938b907d1e8253">affab3b5889ce7b8bcb38d0c7c938b907d1e8253</a> +<blockquote> +<p> + Fix typo.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 14:37:37 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=882e0bfed09e839d53287164ebf4aa99ca5f116a">882e0bfed09e839d53287164ebf4aa99ca5f116a</a> +<blockquote> +<p> + Optimise pdf14_mark_fill_rectangle using inlining.<br> +<br> + Same tricks as used for pdf14_compose_group.<br> +<br> +base/gdevp14.c<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/lib.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 17:01:24 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=77cdf72595643da5d17e84fb72d8f58ccfe3d038">77cdf72595643da5d17e84fb72d8f58ccfe3d038</a> +<blockquote> +<p> + Avoid duplicating code in art_pdf_composite_pixel_alpha8_inline.<br> +<br> + We can spot that blend_mode == BLEND_MODE_Normal in the caller,<br> + and set first_spot to 0 in that case. Then we always drop<br> + straight through to the code at the end, and omit the complex<br> + blend call. Reduces code, doesn't change the speed.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 16:54:59 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aaccd9b5942aae6738ac02874e627b9e8677f965">aaccd9b5942aae6738ac02874e627b9e8677f965</a> +<blockquote> +<p> + Instantiate some more 'optimised' routines for pdf14_group_compose.<br> +<br> + The last one of these is the one that gets hammered in the<br> + normal_blend_test.pdf file.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 16:54:23 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3dba9682de0b69a8822507a1c11d9f782c33b4c9">3dba9682de0b69a8822507a1c11d9f782c33b4c9</a> +<blockquote> +<p> + Tweak art_pdf_composite_pixel_alpha_8_inline.<br> +<br> + Normal blending allows us to not only skip the art_blend_pixel_8_inline<br> + call, but also to simplify the calculations.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 16:52:03 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=67bae85a6f46190262cf8a6ad6c37c7aff2e6cc5">67bae85a6f46190262cf8a6ad6c37c7aff2e6cc5</a> +<blockquote> +<p> + Introduce forceinline define.<br> +<br> + It seems MSVC thinks it knows best about what to inline and what not to.<br> +<br> + Use new 'forceinline' define to persuade it to actually do what it is<br> + told. On all non-MSVC compilers this just maps to inline.<br> +<br> +base/gxblend.c<br> +base/stdpre.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 00:39:53 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9f06af39ced9a69f5841ceef3f5e921c34ea5a7">a9f06af39ced9a69f5841ceef3f5e921c34ea5a7</a> +<blockquote> +<p> + Further optimisation in pdf14_compose_group.<br> +<br> + Avoid memcpy's when unnecessary in some of the subfunctions,<br> + by having a 'dst' pointer that points to the results. If<br> + the results are supposed to be the same as the src, don't<br> + copy the source, just reset the dst pointer.<br> +<br> + If the dst pointer is set to NULL, then don't copy the results<br> + at all, as it'll be the current values unchanged.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 19:50:33 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29e07d407e997a596f682cffa2069e5cea9e3fb4">29e07d407e997a596f682cffa2069e5cea9e3fb4</a> +<blockquote> +<p> + Use inlining on pdf14_compose_group functions.<br> +<br> + We move pdf14_compose_group into gxblend.c to enable us to<br> + make the constituent functions static inlines.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +base/lib.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 19:09:00 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=65c442f7b2c1a91816f9026553004d66dde147ec">65c442f7b2c1a91816f9026553004d66dde147ec</a> +<blockquote> +<p> + Tweak art_pdf_composite_knockout_group_8.<br> +<br> + Another case where we can avoid a memcpy by corrupting the source<br> + data we are passed.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 18:45:30 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7ef1126569bbdd405f7ef38eb5cd7e4928321f4f">7ef1126569bbdd405f7ef38eb5cd7e4928321f4f</a> +<blockquote> +<p> + Further optimisations to compose_group.<br> +<br> + compose_group calls both art_pdf_recomposite_group_8 and<br> + art_pdf_composite_group_8 next to one another. Both end<br> + (in most cases) by doing an identical call to<br> + art_pdf_composite_pixel_alpha_8.<br> +<br> + Tweak the code so that this call happens from the calling<br> + routine (and thus we only have a single call to the routine).<br> + This makes no difference now, but potentially saves when<br> + we start inlining.<br> +<br> + The tweaks here to art_pdf_recomposite_group_8 to avoid<br> + using a temporary array, *do* avoid a copy in the common case.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 18:09:05 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8d2a3a5b0f8280449d75ea99ddcadb69259370b6">8d2a3a5b0f8280449d75ea99ddcadb69259370b6</a> +<blockquote> +<p> + Tweak art_pdf_recomposite_group_8.<br> +<br> + Avoid having to memcpy the input components in the common case,<br> + at the expense of corrupting src[n_chan] in the difficult<br> + case. This is fine, because our only caller never accesses<br> + src[n_chan] again.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 15:05:38 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ab6acb21bfc42194650ff90243e0737b43d81919">ab6acb21bfc42194650ff90243e0737b43d81919</a> +<blockquote> +<p> + Start inlining optimisation of compose_group.<br> +<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 13:41:20 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f2d625c260f174d2daa54508f0ff0147c4ad334">8f2d625c260f174d2daa54508f0ff0147c4ad334</a> +<blockquote> +<p> + Tweak art_pdf_composite_knockout_group_8.<br> +<br> + This function has 2 branches, both of which end up with the same<br> + call to art_pdf_knockout_composite_pixel_alpha_8. Tweak the<br> + code so that we only need do one.<br> +<br> + No speedup expected, but this paces the way for inlining later.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-02 20:32:46 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83cd299b98510dc87cd3aa27f57a060b268e05ee">83cd299b98510dc87cd3aa27f57a060b268e05ee</a> +<blockquote> +<p> + Do not overcopy bytes for pdf14 blending.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 16:56:43 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88152e5c620bda7d25cd351c765751c619019a58">88152e5c620bda7d25cd351c765751c619019a58</a> +<blockquote> +<p> + Tweak art_pdf_composite_pixel_alpha_8.<br> +<br> + art_pdf_composite_pixel_alpha_8 is used to blend src and<br> + destination pixels together with a given blend mode.<br> +<br> + In the general case, we have n colour compoents, of which the<br> + first n-s are process ones, and the next s are spots (followed<br> + by alpha).<br> +<br> + In some cases, we need to blend the first n-s with the given blend<br> + mode, and the remaining s in Normal mode.<br> +<br> + This is currently achieved in the code by making 2 different calls<br> + down to art_pdf_composite_pixel_8 for each section of the pixel<br> + (with different 'n' values).<br> +<br> + Unfortunately, due to alpha being assumed to be held as the nth<br> + component, this means we need to do a dance where we stash away<br> + a components value, copy the alpha in, call the routine, then<br> + restore the alpha afterwards.<br> +<br> + To avoid this, we modify art_pdf_composite_pixel_alpha_8 to take<br> + another int parameter, specifying the position of the first<br> + component that needs to be blended with the Normal mode.<br> +<br> + This enables us to simplify the outer routines that call this so<br> + that we have a single call, rather than 3. It also means we don't<br> + recaulate 'scale' etc twice.<br> +<br> + I am not expecting any significant speedups from this alone, but<br> + it simplifies the code so that hopefully we might get some in<br> + later commits.<br> +<br> +base/gdevp14.c<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +base/gxp1fill.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 16:55:59 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5cc958e9c318ffd51223d6794df389b3c19d1aa1">5cc958e9c318ffd51223d6794df389b3c19d1aa1</a> +<blockquote> +<p> + Tweak pdf14 compose group function towards optimisation.<br> +<br> + The plan here is to move towards optimised inner loops. The<br> + initial version of these inner loops will be done using<br> + static inline templating. This initial commit won't give<br> + much (if any) improvement, but starts us on the road.<br> +<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-02 17:42:34 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b26279df55a77fe2252de803a0e23ff4f703d609">b26279df55a77fe2252de803a0e23ff4f703d609</a> +<blockquote> +<p> + Tweak art_pdf_composite_group_8.<br> +<br> + Avoid 2 different calls down to art_pdf_composite_pixel_alpha_8<br> + when 1 will suffice. No expected speed benefit yet.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-02 14:48:54 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=463928c19de23164ec61e0fdea119195fa1450f4">463928c19de23164ec61e0fdea119195fa1450f4</a> +<blockquote> +<p> + Inline versions of art_pdf_union_mul_8 and art_blend_pixel_8.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-08-01 12:40:53 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4505a7fa04bc89a3f9463b0bcf069210771a8a42">4505a7fa04bc89a3f9463b0bcf069210771a8a42</a> +<blockquote> +<p> + Fix psd spot color handling in bmpcmp.<br> +<br> +toolbin/bmpcmp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 11:21:40 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4f830ad24611ea8c88f78e77dd3b250ee3c55251">4f830ad24611ea8c88f78e77dd3b250ee3c55251</a> +<blockquote> +<p> + PDF interpreter - remove accidental debugging<br> +<br> + Left some debugging in the SpotFunction array commit, remove it.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-05 11:11:06 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=75463b045f4ea314f1d22b1b63be5e3709ec59aa">75463b045f4ea314f1d22b1b63be5e3709ec59aa</a> +<blockquote> +<p> + PDF Interpreter - support PDF 2.0 SpotFunction arrays<br> +<br> + Bug #698620 "PDF 2.0 tests invalid halftones"<br> +<br> + This was an oversight on my part, I missed new functionality when<br> + reading the PDF 2.0 specification.<br> +<br> + The SpotFunction in a type 1 Halftone can now be a name, function or (new)<br> + an array of names. If its an array we are supposed to check the entries<br> + in turn selecting the first one we recognise. If we don't recognise any<br> + then we should use the default.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 15:48:07 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3d6168d9bdfe60f77bc60a270945c67e36ac02a3">3d6168d9bdfe60f77bc60a270945c67e36ac02a3</a> +<blockquote> +<p> + Tweak pdf14_preserve_backdrop (for speed).<br> +<br> + First the current code clears the backdrop, then we copy into it.<br> +<br> + In many cases we overwrite exactly the area we just cleared. Spot<br> + this, and avoid it.<br> +<br> + We *could* optimise this further in cases where we aren't overwriting<br> + exactly the same region. Wait to see if this is justified.<br> +<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 20:07:06 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a2532236a8f85101c3d0377dde163071745c53bf">a2532236a8f85101c3d0377dde163071745c53bf</a> +<blockquote> +<p> + Tweak pdf14_preserve_backdrop (for clarity).<br> +<br> + Reduce duplicated code.<br> +<br> + Also, ensure that the debugging code that dumps planes actually<br> + dumps the plane that the file modifies.<br> +<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 17:15:10 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=df32585f91bb6b1023fef42545cae2419b0e10db">df32585f91bb6b1023fef42545cae2419b0e10db</a> +<blockquote> +<p> + PDF interpreter - permit 0 size font scaling, render nothing<br> +<br> + Bug #698619 "PDF 2.0 tests 'zero sized text'"<br> +<br> + The PDF 2.0 specification permits font scale of 0 (!), but nothing<br> + should be rendered....<br> +<br> + We can't have a font scale of 0, because it breaks our arithmetic, so<br> + we set it to a tiny value, unfortunately this still means that stroking<br> + text rendering modes printed some small garbage.<br> +<br> + After a lot of effort with the PDF interpreter, I concluded that there<br> + was no reasonable way to address this in PostScript, as we didn't<br> + retain the font size anywhere and had no reasonable, non-volatile,<br> + place to store it (it needs to respect gsave and grestore).<br> +<br> + So in the end I added it to the graphics state and created two new<br> + operators to read and write it (and undefined them after startup).<br> + Its an unfortunately brute-force approach, but it has the benefit of<br> + actually working.<br> +<br> +Resource/Init/gs_init.ps<br> +Resource/Init/pdf_ops.ps<br> +base/gsstate.c<br> +base/gsstate.h<br> +base/gxgstate.h<br> +psi/int.mak<br> +psi/zgstate.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 14:07:11 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3ea417610c5f0526251ed391bfd117a81c9801e1">3ea417610c5f0526251ed391bfd117a81c9801e1</a> +<blockquote> +<p> + Version and dates for jbig2dec release<br> +<br> +jbig2dec/CHANGES<br> +jbig2dec/config_win32.h<br> +jbig2dec/configure.ac<br> +jbig2dec/jbig2dec.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 16:50:56 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a7815f3b929a05ec8b5aaac965d62d5d370dcbe">4a7815f3b929a05ec8b5aaac965d62d5d370dcbe</a> +<blockquote> +<p> + Fix incorrect group alpha calculation.<br> +<br> + In pdf14_compose_group, in the tos_isolated case, for simple<br> + blends, we call art_pdf_composite_group_8 to apply blend_mode<br> + to both process and spots. A side effect of this call is to<br> + update the contents of nos_alpha_g_ptr.<br> +<br> + In more complex blends, we split the process and spots into<br> + 2 different calls to the same function. The current code<br> + however passes nos_alpha_g_ptr to both however, resulting in<br> + it being updated twice.<br> +<br> + Fixed here by making one of them take NULL.<br> +<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 10:01:14 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=71e8599455a7befc7a14f6cd1353c9231fb93d48">71e8599455a7befc7a14f6cd1353c9231fb93d48</a> +<blockquote> +<p> + Bug 698615: pdf_add_ToUnicode() correct size of buffer<br> +<br> + We allocate a buffer to store the Unicode value, but failing to account for<br> + the fact that the Unicode value is two bytes, rather than a byte<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-02 16:32:25 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a015666f7b532c1d9266c4cdef3427e0b50fea90">a015666f7b532c1d9266c4cdef3427e0b50fea90</a> +<blockquote> +<p> + PDF interpreter - fix default /Decode for Lab images<br> +<br> + When we get an image with no /Decode array we create a default one for<br> + it by looking at the image colour space.<br> +<br> + For Lab we use the /Range array, but unfortunately this only covers the<br> + a and b channels, not the L. However, L always ranges from 0 - 100 so<br> + here we just pull the Range array apart, add in that range, and create<br> + a new array for the /Decode.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-28 18:04:20 -0600 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e01cbd5e2d5ce41ae98ea20722ec9a7d452b9e9">9e01cbd5e2d5ce41ae98ea20722ec9a7d452b9e9</a> +<blockquote> +<p> + Fix buffer overflow regression.<br> +<br> + The commit to address 694653 (3749bc274) was incorrect, the<br> + font_data_size variable is not necessarily the size of the buffer.<br> +<br> +pcl/pcl/pcsfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-28 10:08:16 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb24ad936776bf69f987e90aad8c7fca78fc2b14">eb24ad936776bf69f987e90aad8c7fca78fc2b14</a> +<blockquote> +<p> + Documentation - spruce up WhatIsGS.htm<br> +<br> + Remove references to the obselete GhostSVG<br> +<br> + Remove references to MuPDF and MuXPS, MuPDF can easily stand alone now<br> + and its not really part of the Ghostscript family.<br> +<br> +doc/WhatIsGS.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-27 08:34:10 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7e342b5978eb9df875a91980554835362412200d">7e342b5978eb9df875a91980554835362412200d</a> +<blockquote> +<p> + Revert commit a5a2862d<br> +<br> + Even though the commit fixed bug 695280, we noticed that it caused PS<br> + and PDF clist image logic to sometimes take the slow "default" handling<br> + instead of the high-level image path.<br> +<br> + To restore the fix for PCL, we could remove the rop3_uses_T altogether,<br> + but we don't know if this will impact PCL performance.<br> +<br> + Re-opening bug 695280.<br> +<br> +base/gxclimag.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-27 16:35:18 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=40deeb89508e1072a4e93441ea58d6332d10fe4c">40deeb89508e1072a4e93441ea58d6332d10fe4c</a> +<blockquote> +<p> + Documentation - remove reference to obselete switch<br> +<br> + Missed this when removing the implementation, PDFDontUseObjectNum is no<br> + longer supported, so remove it from the documentation.<br> +<br> +doc/VectorDevices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-26 13:30:16 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9bc74fe17f4699ae160564ba3fb281344d53dba6">9bc74fe17f4699ae160564ba3fb281344d53dba6</a> +<blockquote> +<p> + Fix bug 698560. Transparent pattern-clist playback affected target device<br> +<br> + If a transparent pattern was stored as a pattern-clist, changes to the<br> + pdf14_device during playback were applied to the upper level device, but<br> + not restored after the playback. This fixes a long standing problem with<br> + Bug692217.pdf (ELEMENTARY card was to light gray).<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-22 16:06:18 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8dd5ae8b9ea8dcae7775edb879f2949e2ee55be5">8dd5ae8b9ea8dcae7775edb879f2949e2ee55be5</a> +<blockquote> +<p> + PDF interpreter - clamp Box to MediaBox, even when MediaBox is negative<br> +<br> + When applying the various 'Box' values from a PDF file, we need to clamp<br> + them to the MediaBox values, so that we don't try and extend the final<br> + output to be larger than the Media (this appears to be Acotbat's<br> + behaviour).<br> +<br> + But we also need to account for the fact that the media (and therefore<br> + the content) may not lie up and right. Its possible for the media to<br> + be defined with negative height or width.<br> +<br> + We deal with that by scaling/translating the CTM, but we weren't<br> + taking it into account when calculating the actual media size, which led<br> + to us calculating the wrong size.<br> +<br> + This is more complicated, but we only do it once per page, so the<br> + performance penalty is insignificant.<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-22 12:36:22 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=819b79e75d8198d16b13c631d6842953f2c6ab81">819b79e75d8198d16b13c631d6842953f2c6ab81</a> +<blockquote> +<p> + Bug 698581: Pscript5Idiom: add missing conditional (and bind)<br> +<br> + One of the procedures which Pscript5Idiom "patches" was missing an ifelse<br> + meaning, when that idiom was hit, an unexecuted procedure was left on<br> + the stack.<br> +<br> + For efficiency and consistency, also bind the entire procedure.<br> +<br> +Resource/IdiomSet/Pscript5Idiom<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-22 10:55:10 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a0b2e60e3ed23ec1f7f7e0390ce449bef03b8e4">4a0b2e60e3ed23ec1f7f7e0390ce449bef03b8e4</a> +<blockquote> +<p> + Simpify confusing stack manipulations<br> +<br> + The existing code was not wrong, but did several unnecessary stack manipulations<br> + that made it less efficient but, more importantly, confusing.<br> +<br> + Also, remove trailing whitespace.<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-21 11:27:37 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=000915310197a25ff4acc97f0fa476085698d8fd">000915310197a25ff4acc97f0fa476085698d8fd</a> +<blockquote> +<p> + Remove pointless free<br> +<br> + In an error condition, we were freeing the object that had failed to allocate.<br> +<br> + Not a problem with our memory manager, but might cause confusion reading the<br> + code (it did for me!).<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-21 18:34:32 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f9ba1282eeb2537248fea11b686eefffc5b86fc">6f9ba1282eeb2537248fea11b686eefffc5b86fc</a> +<blockquote> +<p> + Fix errors with 6b06b8c854<br> +<br> + The stack manipulations with the previous commit were not quite right.<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 10:41:21 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6b06b8c85451bdf022f1684f633a85980e7c62ee">6b06b8c85451bdf022f1684f633a85980e7c62ee</a> +<blockquote> +<p> + Bug 698559 avoid double alpha application<br> +<br> + When we have a softmask present in the graphic state, we<br> + wrap up the fill or stroke with an isolated transparency<br> + group in the interpreter. After the group is pushed we<br> + should set the opacityalpha and the shapealpha to 1 to<br> + avoid a double application of alpha at the rect-fill level and<br> + the group composition level.<br> +<br> +Resource/Init/pdf_ops.ps<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-21 10:13:16 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8d57c8c54bd4fe8b5582a31dca69d034743eeacb">8d57c8c54bd4fe8b5582a31dca69d034743eeacb</a> +<blockquote> +<p> + pdfwrite - fix compiler warnign<br> +<br> + Cast a pointer correctly to avoid a compiler warning.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-20 16:48:27 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c1ba880345f3c17f828e28d4c42f38798eab73c2">c1ba880345f3c17f828e28d4c42f38798eab73c2</a> +<blockquote> +<p> + Fix stroke/fill mismatches in 09-37.PS<br> +<br> + When 'accurate curves' are requested, ensure we use the same<br> + curve -> line decomposition for both strokes and fills.<br> +<br> +base/gxfill.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-20 18:33:52 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d9f068ae6d612f09dd37915edd56381c6a9167b7">d9f068ae6d612f09dd37915edd56381c6a9167b7</a> +<blockquote> +<p> + Fix new scan converter glitch with CATX4547.pdf<br> +<br> + Page 11 of this file contains details on the revolvers cylinder<br> + rendered by filling zero width vertical lines. For example:<br> +<br> + 0.165 0.068 0 0.187 scn<br> + 506.47 162.99 m<br> + 506.47 167.99 l<br> + 506.47 162.99 l<br> + f<br> +<br> + The new scan converter was incorrectly eliding this. Fixed by<br> + tweaking the edgebuffer filtering logic for any-part-of-a-pixel<br> + mode.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 18:01:27 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb95f670d3e54befca541dd35c2d7c2fe690ffbd">fb95f670d3e54befca541dd35c2d7c2fe690ffbd</a> +<blockquote> +<p> + Fix in*fill etc test files.<br> +<br> + The new scan converter has been assuming that anything with an<br> + x coord < 0 is off screen. While this is true for almost every<br> + device I can think of, it need not be true for the hit detection<br> + device used for infill/instroke operations.<br> +<br> + Fixed to use INT_MIN here.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-20 15:37:19 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29d1b0b1152324699f63ecf411bf7d590085c403">29d1b0b1152324699f63ecf411bf7d590085c403</a> +<blockquote> +<p> + pdfwrite - fix UTF16 to UTF8 conversion<br> +<br> + There was a signed/unsigned error in the arguments to this routine,<br> + which meant that bytes with the top bit set caused the whole UTF16<br> + short to become negative as well.<br> +<br> + Fixed here.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 17:43:25 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c49536553df8eef02c6b0fbf1a46eeb2d086859d">c49536553df8eef02c6b0fbf1a46eeb2d086859d</a> +<blockquote> +<p> + Write initial device error to stderr<br> +<br> + As the "Unable to open the initial device, quitting." occurs outside the<br> + Postscript error handling auspices, and causes Ghostscript to quit in a<br> + possibly unexpected way, write it to stderr rather than stdout.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 13:59:56 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=085fc4933e5169176124922925f6cc6b454ac03e">085fc4933e5169176124922925f6cc6b454ac03e</a> +<blockquote> +<p> + PS interpreter - set EPSCrop when EPSFitPage is set<br> +<br> + Bug #698555 "using DEVICE[WIDTH|HEIGHT]POINTS results in blank image"<br> +<br> + The reporter had not set -dEPSCrop which resulted in no PageSize<br> + request being sent to the interpreter (because EPS files are note<br> + permitted to set PageSize). Which defeats the use of PageSize Policy<br> + 13 to scale the page.<br> +<br> + Since anyone using EPSFitPage clearly wants to scale the page to the EPS<br> + BoundingBox, we may as well set EPSCrop in case they don't.<br> +<br> + NB the original reporter had not set -dFIXEDMEDIA either...<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-17 18:34:59 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fc08a2810b1594ce865190763a7831704c00846d">fc08a2810b1594ce865190763a7831704c00846d</a> +<blockquote> +<p> + pdfwrite - properly process Octal 134 '\' in pdfmark UTF16 string<br> +<br> + Bug #698552 "Some PDF outline UTF-16 text is broken"<br> +<br> + The escape processing wasn't catering for an escaped escape '\\' which<br> + led to us writing the escaped escape direclty and corrupted the remainder<br> + of the string. We normaly don't use short escapes but write ocral,<br> + because some versions of Acrobat can't handle the short escapes.<br> +<br> + This commit just processes the '\\' properly, as per the other<br> + escapes.<br> +<br> +devices/vector/gdevpdfm.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-17 11:46:03 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=275d9547b89aa17dc3a3d9441f712dfdfd344201">275d9547b89aa17dc3a3d9441f712dfdfd344201</a> +<blockquote> +<p> + Coverity ID 172798<br> +<br> + We hadn't assigned the return value to the variable 'code' but were<br> + using it (asigned earlier in the code) to action a return.<br> +<br> + Fixed by actually assigning the value to the variable.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-16 23:34:04 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ce4bbbde09d087fe3af7036c1fc3f0a38f30c19e">ce4bbbde09d087fe3af7036c1fc3f0a38f30c19e</a> +<blockquote> +<p> + PDF interpreter - more work on images with invalid /Mask<br> +<br> + Commit 119ec77d4e44e3861a376323ed14466b28b2f4bf fixed one case of a<br> + /Mask array with invalid values by treating DeviceGray the same as<br> + /Indexed. However, while that worked for the particular file in question<br> + (Bug #697919) it caused a regression with Bug689717 which I somehow<br> + missed at the time.<br> +<br> + This commit treats DeviceGray differently to Indexed spaces and<br> + clamps the value to either 0 or 1 for 1 BPC images. This seems to work<br> + as per Acrobat for both files.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 18:24:44 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7914df697a40314e35847f4e1faca5c964c19e84">7914df697a40314e35847f4e1faca5c964c19e84</a> +<blockquote> +<p> + Bug 696399: Fix buffer overflow in image scaling.<br> +<br> + Patch calculation that overflows when x_extent is very<br> + negative.<br> +<br> +base/gxifast.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 14:28:28 -0700 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=176f0c2f9632b2167cbdd3a3ab44435af3b0bb64">176f0c2f9632b2167cbdd3a3ab44435af3b0bb64</a> +<blockquote> +<p> + Remove stray memsets left in from previous commit.<br> +<br> + The "Bug 698427: Fix ignoring errors that lead to division by<br> + zero." commit contained stray memsets.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 13:04:06 -0700 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=11a0bc253157ff84be1ef8d065d3ccbf8d377280">11a0bc253157ff84be1ef8d065d3ccbf8d377280</a> +<blockquote> +<p> + Bug 698427: Fix ignoring errors that lead to division by zero.<br> +<br> + By ignoring error return values, we continue running with<br> + uninitialised data, leading to division by zero.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 10:58:11 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=887026173a2200dba9cb5eed39200f8f1e44cc7a">887026173a2200dba9cb5eed39200f8f1e44cc7a</a> +<blockquote> +<p> + Coverity #135034: Simplify code.<br> +<br> + The while loop is not strictly required (but it does match<br> + the other cases). Simplified here.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 10:47:54 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7804bfc4d6bdd863137073bdc4f935c960a8f1d">d7804bfc4d6bdd863137073bdc4f935c960a8f1d</a> +<blockquote> +<p> + Coverity #135037: Fix unused variable.<br> +<br> + Don't read a value we don't use.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-05 14:52:07 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e289916162ce817275e05c536525954028e7d2bc">e289916162ce817275e05c536525954028e7d2bc</a> +<blockquote> +<p> + Coverity ID# 135035<br> +<br> + Remove pointless "upgraded_copypage" code properly.<br> +<br> + The previous commit for this removed code that it should not have done<br> +<br> +base/gdevprn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 13:42:00 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b3de06e71037a6abcf4546fa7d53a00a3ce47cc3">b3de06e71037a6abcf4546fa7d53a00a3ce47cc3</a> +<blockquote> +<p> + Revert "Coverity ID# 135035"<br> +<br> + This reverts commit 05c3de8915fafb65b96ba0860523a7a79e2577e2.<br> +<br> +base/gdevprn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-14 22:40:30 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b76a38bc57de9085474474fc3de5ec295c9aec21">b76a38bc57de9085474474fc3de5ec295c9aec21</a> +<blockquote> +<p> + Remove man pages for removed (obsolete) tools<br> +<br> + (Reported against 9.22 rc1)<br> +<br> +doc/gs-vms.hlp<br> +man/de/font2c.1<br> +man/de/wftopfa.1<br> +man/font2c.1<br> +man/gs.1<br> +man/wftopfa.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-14 07:01:32 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6bf33a5d01518dcba8e957299a91a68d871f2b0b">6bf33a5d01518dcba8e957299a91a68d871f2b0b</a> +<blockquote> +<p> + White space issues reported against 9.22 rc1<br> +<br> + It seems newer gcc versions (6.4.x and later) report indentation "problems".<br> +<br> + Also, add a cast to ensure bitshift op is done on an unsigned value.<br> +<br> +base/gsbitops.c<br> +base/gsicc_create.c<br> +base/gxclread.c<br> +contrib/gdevbjca.c<br> +contrib/gdevdj9.c<br> +devices/gdevepsc.c<br> +pcl/pxl/pxpaint.c<br> +psi/dscparse.c<br> +psi/zcrd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-14 06:41:33 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d26d2bb23f2d8867d99d5f1fa08a37d3f131e1ad">d26d2bb23f2d8867d99d5f1fa08a37d3f131e1ad</a> +<blockquote> +<p> + Bug 698532: replace ijs/ltmain.sh symlink with file<br> +<br> +ijs/ltmain.sh<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-13 08:43:38 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cadd9e5faede555fade5e7e8f447de8f40e5c5e9">cadd9e5faede555fade5e7e8f447de8f40e5c5e9</a> +<blockquote> +<p> + Remove reference to old wisc site in Readme.htm<br> + S<br> +<br> +doc/Readme.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 10:27:23 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=67b24cbd748db9d96061f476f42c87bd452a496e">67b24cbd748db9d96061f476f42c87bd452a496e</a> +<blockquote> +<p> + Bump version number for release<br> +<br> +Resource/Init/gs_init.ps<br> +base/version.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 11:17:15 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=95cb9ab7b4ef15bf60bd074220906f9eda145916">95cb9ab7b4ef15bf60bd074220906f9eda145916</a> +<blockquote> +<p> + Remove unused variable 'pdev' to silence compiler warning<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-04 09:50:33 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba50b3c6061d35275b7067204da6f032fb46cf62">ba50b3c6061d35275b7067204da6f032fb46cf62</a> +<blockquote> +<p> + Dates, product, changelog for 9.22 release<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-03 10:01:14 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dcba89978e3cd6e8e55b44e0830594a385a8e07e">dcba89978e3cd6e8e55b44e0830594a385a8e07e</a> +<blockquote> +<p> + Bug 698615: pdf_add_ToUnicode() correct size of buffer<br> +<br> + We allocate a buffer to store the Unicode value, but failing to account for<br> + the fact that the Unicode value is two bytes, rather than a byte<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-10-02 16:32:25 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5751e508f72238c1fcaad1a4c284aa875542dd70">5751e508f72238c1fcaad1a4c284aa875542dd70</a> +<blockquote> +<p> + PDF interpreter - fix default /Decode for Lab images<br> +<br> + When we get an image with no /Decode array we create a default one for<br> + it by looking at the image colour space.<br> +<br> + For Lab we use the /Range array, but unfortunately this only covers the<br> + a and b channels, not the L. However, L always ranges from 0 - 100 so<br> + here we just pull the Range array apart, add in that range, and create<br> + a new array for the /Decode.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-28 18:04:20 -0600 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3c2974bcd2e638be13c0ec814342a1a35ca0872b">3c2974bcd2e638be13c0ec814342a1a35ca0872b</a> +<blockquote> +<p> + Fix buffer overflow regression.<br> +<br> + The commit to address 694653 (3749bc274) was incorrect, the<br> + font_data_size variable is not necessarily the size of the buffer.<br> +<br> +pcl/pcl/pcsfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-28 11:37:57 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f1d39c92bff2de2d7b270a419a907c935ea626a6">f1d39c92bff2de2d7b270a419a907c935ea626a6</a> +<blockquote> +<p> + Changelog for 9.22rc2<br> +<br> +doc/History9.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-28 11:35:58 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b1eda05a9fa7327e76b9a4af980d05da9e926e7f">b1eda05a9fa7327e76b9a4af980d05da9e926e7f</a> +<blockquote> +<p> + Update dates/product for 9.22rc2<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-28 10:08:16 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d59e4b57e1807e934ed1dde51e628f84dfb8caa7">d59e4b57e1807e934ed1dde51e628f84dfb8caa7</a> +<blockquote> +<p> + Documentation - spruce up WhatIsGS.htm<br> +<br> + Remove references to the obselete GhostSVG<br> +<br> + Remove references to MuPDF and MuXPS, MuPDF can easily stand alone now<br> + and its not really part of the Ghostscript family.<br> +<br> +doc/WhatIsGS.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-27 08:34:10 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a6830a293f9a69caf50777bb6ee7b553589c0a08">a6830a293f9a69caf50777bb6ee7b553589c0a08</a> +<blockquote> +<p> + Revert commit a5a2862d<br> +<br> + Even though the commit fixed bug 695280, we noticed that it caused PS<br> + and PDF clist image logic to sometimes take the slow "default" handling<br> + instead of the high-level image path.<br> +<br> + To restore the fix for PCL, we could remove the rop3_uses_T altogether,<br> + but we don't know if this will impact PCL performance.<br> +<br> + Re-opening bug 695280.<br> +<br> +base/gxclimag.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-27 16:35:18 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c10d5ada53245dac13436d663d3dbe265bc9e11a">c10d5ada53245dac13436d663d3dbe265bc9e11a</a> +<blockquote> +<p> + Documentation - remove reference to obselete switch<br> +<br> + Missed this when removing the implementation, PDFDontUseObjectNum is no<br> + longer supported, so remove it from the documentation.<br> +<br> +doc/VectorDevices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-26 13:30:16 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ccaaa1fd02f1cedf221bd6a34e5eb0ef64ef8f3f">ccaaa1fd02f1cedf221bd6a34e5eb0ef64ef8f3f</a> +<blockquote> +<p> + Fix bug 698560. Transparent pattern-clist playback affected target device<br> +<br> + If a transparent pattern was stored as a pattern-clist, changes to the<br> + pdf14_device during playback were applied to the upper level device, but<br> + not restored after the playback. This fixes a long standing problem with<br> + Bug692217.pdf (ELEMENTARY card was to light gray).<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-22 16:06:18 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c470609a95c3ba5d531da463df7a98da01998452">c470609a95c3ba5d531da463df7a98da01998452</a> +<blockquote> +<p> + PDF interpreter - clamp Box to MediaBox, even when MediaBox is negative<br> +<br> + When applying the various 'Box' values from a PDF file, we need to clamp<br> + them to the MediaBox values, so that we don't try and extend the final<br> + output to be larger than the Media (this appears to be Acotbat's<br> + behaviour).<br> +<br> + But we also need to account for the fact that the media (and therefore<br> + the content) may not lie up and right. Its possible for the media to<br> + be defined with negative height or width.<br> +<br> + We deal with that by scaling/translating the CTM, but we weren't<br> + taking it into account when calculating the actual media size, which led<br> + to us calculating the wrong size.<br> +<br> + This is more complicated, but we only do it once per page, so the<br> + performance penalty is insignificant.<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-22 12:36:22 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad87c56e9e88907854d4c37f1a80d8f5d06fb8a7">ad87c56e9e88907854d4c37f1a80d8f5d06fb8a7</a> +<blockquote> +<p> + Bug 698581: Pscript5Idiom: add missing conditional (and bind)<br> +<br> + One of the procedures which Pscript5Idiom "patches" was missing an ifelse<br> + meaning, when that idiom was hit, an unexecuted procedure was left on<br> + the stack.<br> +<br> + For efficiency and consistency, also bind the entire procedure.<br> +<br> +Resource/IdiomSet/Pscript5Idiom<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-22 10:55:10 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ae11d7a06c216eae554bcc7696028e69c4bc7ee">9ae11d7a06c216eae554bcc7696028e69c4bc7ee</a> +<blockquote> +<p> + Simpify confusing stack manipulations<br> +<br> + The existing code was not wrong, but did several unnecessary stack manipulations<br> + that made it less efficient but, more importantly, confusing.<br> +<br> + Also, remove trailing whitespace.<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-21 11:27:37 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d644437adb7833a2c511d143c13e757383106378">d644437adb7833a2c511d143c13e757383106378</a> +<blockquote> +<p> + Remove pointless free<br> +<br> + In an error condition, we were freeing the object that had failed to allocate.<br> +<br> + Not a problem with our memory manager, but might cause confusion reading the<br> + code (it did for me!).<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-21 18:34:32 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8760a38e4ca49ce403cb362ecb4d6b4d247587f1">8760a38e4ca49ce403cb362ecb4d6b4d247587f1</a> +<blockquote> +<p> + Fix errors with 6b06b8c854<br> +<br> + The stack manipulations with the previous commit were not quite right.<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 10:41:21 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc966e7f9029c27abc896431a3c4910b40d915ef">cc966e7f9029c27abc896431a3c4910b40d915ef</a> +<blockquote> +<p> + Bug 698559 avoid double alpha application<br> +<br> + When we have a softmask present in the graphic state, we<br> + wrap up the fill or stroke with an isolated transparency<br> + group in the interpreter. After the group is pushed we<br> + should set the opacityalpha and the shapealpha to 1 to<br> + avoid a double application of alpha at the rect-fill level and<br> + the group composition level.<br> +<br> +Resource/Init/pdf_ops.ps<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-21 10:13:16 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c03add9e9caaa4958928f74a6ca4f2b71915063c">c03add9e9caaa4958928f74a6ca4f2b71915063c</a> +<blockquote> +<p> + pdfwrite - fix compiler warnign<br> +<br> + Cast a pointer correctly to avoid a compiler warning.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-20 16:48:27 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2285580852e74940a4596b754739ba45a03b40d0">2285580852e74940a4596b754739ba45a03b40d0</a> +<blockquote> +<p> + Fix stroke/fill mismatches in 09-37.PS<br> +<br> + When 'accurate curves' are requested, ensure we use the same<br> + curve -> line decomposition for both strokes and fills.<br> +<br> +base/gxfill.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-20 18:33:52 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0803369908a0b4b24b215881e4c4a4ecc5de61c2">0803369908a0b4b24b215881e4c4a4ecc5de61c2</a> +<blockquote> +<p> + Fix new scan converter glitch with CATX4547.pdf<br> +<br> + Page 11 of this file contains details on the revolvers cylinder<br> + rendered by filling zero width vertical lines. For example:<br> +<br> + 0.165 0.068 0 0.187 scn<br> + 506.47 162.99 m<br> + 506.47 167.99 l<br> + 506.47 162.99 l<br> + f<br> +<br> + The new scan converter was incorrectly eliding this. Fixed by<br> + tweaking the edgebuffer filtering logic for any-part-of-a-pixel<br> + mode.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 18:01:27 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=03ac50df18eb12d40de1615d18730fdd077f605b">03ac50df18eb12d40de1615d18730fdd077f605b</a> +<blockquote> +<p> + Fix in*fill etc test files.<br> +<br> + The new scan converter has been assuming that anything with an<br> + x coord < 0 is off screen. While this is true for almost every<br> + device I can think of, it need not be true for the hit detection<br> + device used for infill/instroke operations.<br> +<br> + Fixed to use INT_MIN here.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-20 15:37:19 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4bb7249ce9320c566da5dac3901c41c7965d37d8">4bb7249ce9320c566da5dac3901c41c7965d37d8</a> +<blockquote> +<p> + pdfwrite - fix UTF16 to UTF8 conversion<br> +<br> + There was a signed/unsigned error in the arguments to this routine,<br> + which meant that bytes with the top bit set caused the whole UTF16<br> + short to become negative as well.<br> +<br> + Fixed here.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 17:43:25 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f2f9ed2897a4cf166c1df50422b2e82ad2422947">f2f9ed2897a4cf166c1df50422b2e82ad2422947</a> +<blockquote> +<p> + Write initial device error to stderr<br> +<br> + As the "Unable to open the initial device, quitting." occurs outside the<br> + Postscript error handling auspices, and causes Ghostscript to quit in a<br> + possibly unexpected way, write it to stderr rather than stdout.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-19 13:59:56 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5fc5b64a6cd3917326479d3d3a0546dca0feef3c">5fc5b64a6cd3917326479d3d3a0546dca0feef3c</a> +<blockquote> +<p> + PS interpreter - set EPSCrop when EPSFitPage is set<br> +<br> + Bug #698555 "using DEVICE[WIDTH|HEIGHT]POINTS results in blank image"<br> +<br> + The reporter had not set -dEPSCrop which resulted in no PageSize<br> + request being sent to the interpreter (because EPS files are note<br> + permitted to set PageSize). Which defeats the use of PageSize Policy<br> + 13 to scale the page.<br> +<br> + Since anyone using EPSFitPage clearly wants to scale the page to the EPS<br> + BoundingBox, we may as well set EPSCrop in case they don't.<br> +<br> + NB the original reporter had not set -dFIXEDMEDIA either...<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-17 18:34:59 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6e317f178c7fe7c81b573598f848acf8487e4e45">6e317f178c7fe7c81b573598f848acf8487e4e45</a> +<blockquote> +<p> + pdfwrite - properly process Octal 134 '\' in pdfmark UTF16 string<br> +<br> + Bug #698552 "Some PDF outline UTF-16 text is broken"<br> +<br> + The escape processing wasn't catering for an escaped escape '\\' which<br> + led to us writing the escaped escape direclty and corrupted the remainder<br> + of the string. We normaly don't use short escapes but write ocral,<br> + because some versions of Acrobat can't handle the short escapes.<br> +<br> + This commit just processes the '\\' properly, as per the other<br> + escapes.<br> +<br> +devices/vector/gdevpdfm.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-17 11:46:03 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=122808aa46118d483c2fe431d5382c88cdd6e735">122808aa46118d483c2fe431d5382c88cdd6e735</a> +<blockquote> +<p> + Coverity ID 172798<br> +<br> + We hadn't assigned the return value to the variable 'code' but were<br> + using it (asigned earlier in the code) to action a return.<br> +<br> + Fixed by actually assigning the value to the variable.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-16 23:34:04 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=087abbc55390499ca27823afbe7d1b62b4ff4f8e">087abbc55390499ca27823afbe7d1b62b4ff4f8e</a> +<blockquote> +<p> + PDF interpreter - more work on images with invalid /Mask<br> +<br> + Commit 119ec77d4e44e3861a376323ed14466b28b2f4bf fixed one case of a<br> + /Mask array with invalid values by treating DeviceGray the same as<br> + /Indexed. However, while that worked for the particular file in question<br> + (Bug #697919) it caused a regression with Bug689717 which I somehow<br> + missed at the time.<br> +<br> + This commit treats DeviceGray differently to Indexed spaces and<br> + clamps the value to either 0 or 1 for 1 BPC images. This seems to work<br> + as per Acrobat for both files.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 18:24:44 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f1ccd5e2c82eb137abb7af000e93447653093a4d">f1ccd5e2c82eb137abb7af000e93447653093a4d</a> +<blockquote> +<p> + Bug 696399: Fix buffer overflow in image scaling.<br> +<br> + Patch calculation that overflows when x_extent is very<br> + negative.<br> +<br> +base/gxifast.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 14:28:28 -0700 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a768ec17b12e44b20d555f3c2fc2c5dcde3d9f0b">a768ec17b12e44b20d555f3c2fc2c5dcde3d9f0b</a> +<blockquote> +<p> + Remove stray memsets left in from previous commit.<br> +<br> + The "Bug 698427: Fix ignoring errors that lead to division by<br> + zero." commit contained stray memsets.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 13:04:06 -0700 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=45e4bcf4992c6c22e942730f5df393fc6b4cab63">45e4bcf4992c6c22e942730f5df393fc6b4cab63</a> +<blockquote> +<p> + Bug 698427: Fix ignoring errors that lead to division by zero.<br> +<br> + By ignoring error return values, we continue running with<br> + uninitialised data, leading to division by zero.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 10:58:11 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1b18e15f10532d584c6fc2191e1b2a3f8e5ba7e5">1b18e15f10532d584c6fc2191e1b2a3f8e5ba7e5</a> +<blockquote> +<p> + Coverity #135034: Simplify code.<br> +<br> + The while loop is not strictly required (but it does match<br> + the other cases). Simplified here.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 10:47:54 -0500 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6fb9174c1517143158781ed37e0c6d6eb9321808">6fb9174c1517143158781ed37e0c6d6eb9321808</a> +<blockquote> +<p> + Coverity #135037: Fix unused variable.<br> +<br> + Don't read a value we don't use.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-05 14:52:07 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=228ac64b768ac3df1bcd5f63e3f353f8fd01e372">228ac64b768ac3df1bcd5f63e3f353f8fd01e372</a> +<blockquote> +<p> + Coverity ID# 135035<br> +<br> + Remove pointless "upgraded_copypage" code properly.<br> +<br> + The previous commit for this removed code that it should not have done<br> +<br> +base/gdevprn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-15 13:42:00 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f9d3e1392236fef4658c8dcad15385670d6831e">3f9d3e1392236fef4658c8dcad15385670d6831e</a> +<blockquote> +<p> + Revert "Coverity ID# 135035"<br> +<br> + This reverts commit 05c3de8915fafb65b96ba0860523a7a79e2577e2.<br> +<br> +base/gdevprn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-14 22:40:30 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=12ff84c1ff077c737b0a194761a370de079943fd">12ff84c1ff077c737b0a194761a370de079943fd</a> +<blockquote> +<p> + Remove man pages for removed (obsolete) tools<br> +<br> + (Reported against 9.22 rc1)<br> +<br> +doc/gs-vms.hlp<br> +man/de/font2c.1<br> +man/de/wftopfa.1<br> +man/font2c.1<br> +man/gs.1<br> +man/wftopfa.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-14 07:01:32 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7df9b3d9b0dabd9854731fab796d5d458cf743f7">7df9b3d9b0dabd9854731fab796d5d458cf743f7</a> +<blockquote> +<p> + White space issues reported against 9.22 rc1<br> +<br> + It seems newer gcc versions (6.4.x and later) report indentation "problems".<br> +<br> + Also, add a cast to ensure bitshift op is done on an unsigned value.<br> +<br> +base/gsbitops.c<br> +base/gsicc_create.c<br> +base/gxclread.c<br> +contrib/gdevbjca.c<br> +contrib/gdevdj9.c<br> +devices/gdevepsc.c<br> +pcl/pxl/pxpaint.c<br> +psi/dscparse.c<br> +psi/zcrd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-14 06:41:33 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e56aafaf2fc8fe3ffeefc0d13fa8c1b033ddec8">9e56aafaf2fc8fe3ffeefc0d13fa8c1b033ddec8</a> +<blockquote> +<p> + Bug 698532: replace ijs/ltmain.sh symlink with file<br> +<br> +ijs/ltmain.sh<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-13 08:43:38 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=98e115748ec4b16c610396b9444c1d82d263a30c">98e115748ec4b16c610396b9444c1d82d263a30c</a> +<blockquote> +<p> + Remove reference to old wisc site in Readme.htm<br> + S<br> +<br> +doc/Readme.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 11:17:15 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4241a4b3a7099cddac36d13f6c67054483eb7511">4241a4b3a7099cddac36d13f6c67054483eb7511</a> +<blockquote> +<p> + Remove unused variable 'pdev' to silence compiler warning<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 11:16:30 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29be703c9762714a47f67947d6dfb9efd6c6bc29">29be703c9762714a47f67947d6dfb9efd6c6bc29</a> +<blockquote> +<p> + Changelog and news<br> +<br> +doc/History9.htm<br> +doc/News.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 10:32:51 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=85e04afbc2c80c8c6b129aff2741cbdf4d41ff67">85e04afbc2c80c8c6b129aff2741cbdf4d41ff67</a> +<blockquote> +<p> + Update docs dates etc for release<br> +<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/font2c.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +man/wftopfa.1<br> +psi/int.mak<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-09-12 10:30:01 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=43561187cdb501ac1c6184082065647253d9336c">43561187cdb501ac1c6184082065647253d9336c</a> +<blockquote> +<p> + Product string and date for release<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +<p> +</blockquote> +<hr> +<hr size=20> + <h2><a name="Version9.22"></a>Version 9.22 (2017-10-04)</h2> <p>This is the sixteeth full release in the stable 9.x series. @@ -166334,7 +178521,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Install.htm b/doc/Install.htm index 1ce52fc03..b99f212d8 100644 --- a/doc/Install.htm +++ b/doc/Install.htm @@ -507,7 +507,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Issues.htm b/doc/Issues.htm index 1175c9e60..473c2dce5 100644 --- a/doc/Issues.htm +++ b/doc/Issues.htm @@ -439,7 +439,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Language.htm b/doc/Language.htm index ba136331c..52162799e 100644 --- a/doc/Language.htm +++ b/doc/Language.htm @@ -1876,7 +1876,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Lib.htm b/doc/Lib.htm index 13d6235e5..110cd9345 100644 --- a/doc/Lib.htm +++ b/doc/Lib.htm @@ -861,7 +861,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Make.htm b/doc/Make.htm index 402b894e5..725b932e9 100644 --- a/doc/Make.htm +++ b/doc/Make.htm @@ -1470,7 +1470,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/News.htm b/doc/News.htm index 774739656..7c642b874 100644 --- a/doc/News.htm +++ b/doc/News.htm @@ -56,19 +56,40 @@ overview</a>. <!-- [2.0 begin contents] ================================================== --> -<h2><a name="Version9.22"></a>Version 9.22 (2017-10-04)</h2> +<h2><a name="Version9.23"></a>Version 9.23 (2018-03-21)</h2> -<p>This is the sixteeth full release in the stable 9.x series. +<p>This is the seventeenth full release in the stable 9.x series. <p> Highlights in this release include: <ul> <li> -<p>Ghostscript can now consume and produce (via the pdfwrite device) PDF 2.0 -compliant files. +<p>Ghostscript now has a family of 'pdfimage' devices (pdfimage8, pdfimage24 and pdfimage32) +which produce rendered output wrapped up as an image in a PDF. Additionally, there is a 'pclm' +device which produces PCLm format output. </li> <li> -<p>The main focus of this release has been security and code cleanliness. Hence -many AddressSanitizer, Valgrind and Coverity issues have been addressed. +<p>There is now a ColorAccuracy parameter allowing the user to decide between speed or accuracy +in ICC color transforms. +</li> +<li> +<p>JPEG Passthrough: devices which support it can now receive the 'raw' JPEG stream from the +interpreter. The main use of this is the pdfwrite/ps2write family of devices that can now +take JPEG streams from the input file(s) and write them unchanged to the output (thus avoiding +additional quantization effects). +</li> +<li> +<p>PDF transparency performance improvements +</li> +<li> +<p>IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and +cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include +performance enhancements (these changes have all be been offered and rejected upstream). We +will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. +Our fork will be available as its own package separately from Ghostscript (and MuPDF). +</li> +<li> +<p>We have continued the focus on code hygiene in this release cleaning up security issues, +ignored return values, and compiler warnings. </li> <li> <p>The usual round of bug fixes, compatibility changes, and incremental improvements. @@ -77,19 +98,12 @@ many AddressSanitizer, Valgrind and Coverity issues have been addressed. <p>For a list of open issues, or to report problems, please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>. -<h3><a name="9.22_Incompatible_changes"></a>Incompatible changes</h3> +<h3><a name="9.23_Incompatible_changes"></a>Incompatible changes</h3> <ul> <li> <p> -The planned device API tidy (still!) did not happen for this release, due to time pressures, -but we still intend to undertake the following: -We plan to somewhat tidy up the device API. We intend to remove deprecated device -procs (methods/function pointers) and change the device API so every device proc -takes a graphics state parameter (rather than the current scheme where only a -very few procs take an imager state parameter). This should serve as notice to -anyone maintaining a Ghostscript device outside the canonical source tree that -you may (probably will) need to update your device(s) when these changes happen. -Devices using only the non-deprecated procs should be trivial to update. +The planned device API tidy has, unfortunately, been indefinitely postponed, until +appropriate resources are available. </li> </ul> <h3><a name="9.22_changelog"></a>Changelog</h3> @@ -117,7 +131,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Projects.htm b/doc/Projects.htm index ff8c6c2c1..13d290402 100644 --- a/doc/Projects.htm +++ b/doc/Projects.htm @@ -634,7 +634,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Ps-style.htm b/doc/Ps-style.htm index 128ce8b34..da7aca3e2 100644 --- a/doc/Ps-style.htm +++ b/doc/Ps-style.htm @@ -505,7 +505,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Ps2epsi.htm b/doc/Ps2epsi.htm index e34f8c58a..7201c11a2 100644 --- a/doc/Ps2epsi.htm +++ b/doc/Ps2epsi.htm @@ -176,7 +176,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Psfiles.htm b/doc/Psfiles.htm index 11a2df859..e0427cdc0 100644 --- a/doc/Psfiles.htm +++ b/doc/Psfiles.htm @@ -867,7 +867,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Readme.htm b/doc/Readme.htm index fa0e7218b..3e1f3d94c 100644 --- a/doc/Readme.htm +++ b/doc/Readme.htm @@ -574,7 +574,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Release.htm b/doc/Release.htm index 989d6a3e3..f908ceaa3 100644 --- a/doc/Release.htm +++ b/doc/Release.htm @@ -799,7 +799,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/SavedPages.htm b/doc/SavedPages.htm index ce8e35b4f..c62c38858 100644 --- a/doc/SavedPages.htm +++ b/doc/SavedPages.htm @@ -276,7 +276,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Source.htm b/doc/Source.htm index add526813..51b8794be 100644 --- a/doc/Source.htm +++ b/doc/Source.htm @@ -376,7 +376,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Unix-lpr.htm b/doc/Unix-lpr.htm index 676b9b419..ae71641b1 100644 --- a/doc/Unix-lpr.htm +++ b/doc/Unix-lpr.htm @@ -260,7 +260,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/Use.htm b/doc/Use.htm index 8e6e0464b..6e60a0ef7 100644 --- a/doc/Use.htm +++ b/doc/Use.htm @@ -4466,7 +4466,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/VectorDevices.htm b/doc/VectorDevices.htm index 1c1a2d00e..748c220cd 100644 --- a/doc/VectorDevices.htm +++ b/doc/VectorDevices.htm @@ -1354,7 +1354,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/WhatIsGS.htm b/doc/WhatIsGS.htm index f84e6dbd0..2ce1c0754 100644 --- a/doc/WhatIsGS.htm +++ b/doc/WhatIsGS.htm @@ -146,7 +146,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/gs-vms.hlp b/doc/gs-vms.hlp index fc71cfbde..f71dd0c38 100644 --- a/doc/gs-vms.hlp +++ b/doc/gs-vms.hlp @@ -1,6 +1,6 @@ 1 gs gs - GPL Ghostscript interpreter/previewer -! Ghostscript version 9.22, 4 October 2017 +! Ghostscript version 9.23, 21 March 2018 Usage: $ gs [options] [file ...] diff --git a/doc/sample_downscale_device.htm b/doc/sample_downscale_device.htm index 093f51da3..edfae5f3c 100644 --- a/doc/sample_downscale_device.htm +++ b/doc/sample_downscale_device.htm @@ -220,7 +220,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/doc/thirdparty.htm b/doc/thirdparty.htm index 5bb7fdba4..4e627a81c 100644 --- a/doc/thirdparty.htm +++ b/doc/thirdparty.htm @@ -495,7 +495,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.22, 4 October 2017 +<small>Ghostscript version 9.23, 21 March 2018 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/man/dvipdf.1 b/man/dvipdf.1 index f8838cd80..e2539427b 100644 --- a/man/dvipdf.1 +++ b/man/dvipdf.1 @@ -1,4 +1,4 @@ -.TH DVIPDF 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH DVIPDF 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME dvipdf \- Convert TeX DVI file to PDF using ghostscript and dvips .SH SYNOPSIS @@ -21,7 +21,7 @@ and any options from the command-line. .SH SEE ALSO gs(1), dvips(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. @@ -1,4 +1,4 @@ -.TH GS 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH GS 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME gs \- Ghostscript (PostScript and PDF language interpreter and previewer) .SH SYNOPSIS @@ -442,7 +442,7 @@ The various Ghostscript document files (above), especially \fBUse.htm\fR. See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript. .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/gslp.1 b/man/gslp.1 index 8eb1426a0..1b3425af3 100644 --- a/man/gslp.1 +++ b/man/gslp.1 @@ -1,4 +1,4 @@ -.TH GSLP 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH GSLP 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME gslp \- Format and print text using ghostscript .br @@ -92,7 +92,7 @@ Also, the string %# in a heading or footing is replaced with the page #. .SH SEE ALSO gs(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/gsnd.1 b/man/gsnd.1 index b7467aab1..88ca4276e 100644 --- a/man/gsnd.1 +++ b/man/gsnd.1 @@ -1,4 +1,4 @@ -.TH GSND 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH GSND 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME gsnd \- Run ghostscript (PostScript and PDF engine) without display .SH SYNOPSIS @@ -12,7 +12,7 @@ flag, followed by any other arguments from the command-line. .SH SEE ALSO gs(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/pdf2dsc.1 b/man/pdf2dsc.1 index a85b0f3ea..b37bd6a93 100644 --- a/man/pdf2dsc.1 +++ b/man/pdf2dsc.1 @@ -1,4 +1,4 @@ -.TH PDF2DSC 1 "4 October 2017" 9.22 "Ghostscript Tools" \" -*- nroff -*- +.TH PDF2DSC 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- .SH NAME pdf2dsc \- generate a PostScript page list of a PDF document .SH SYNOPSIS @@ -28,6 +28,6 @@ Ghostscript since release 3.53. .SH SEE ALSO gs(1), ghostview(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Yves Arrouye <yves.arrouye@usa.net> and Russell Lang gsview at ghostgum.com.au diff --git a/man/pdf2ps.1 b/man/pdf2ps.1 index c8187d865..2adb278d4 100644 --- a/man/pdf2ps.1 +++ b/man/pdf2ps.1 @@ -1,4 +1,4 @@ -.TH PDF2PS 1 "4 October 2017" 9.22 "Ghostscript Tools" \" -*- nroff -*- +.TH PDF2PS 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- .SH NAME pdf2ps \- Ghostscript PDF to PostScript translator .SH SYNOPSIS @@ -14,7 +14,7 @@ LanguageLevel 3 in the output. Run "\fBgs -h\fR" to find the location of Ghostscript documentation on your system, from which you can get more details. .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/pf2afm.1 b/man/pf2afm.1 index 49d62b2e8..03b83c901 100644 --- a/man/pf2afm.1 +++ b/man/pf2afm.1 @@ -1,4 +1,4 @@ -.TH PF2AFM 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH PF2AFM 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME pf2afm \- Make an AFM file from Postscript (PFB/PFA/PFM) font files using ghostscript .SH SYNOPSIS @@ -15,7 +15,7 @@ gs(1) .br pf2afm.ps in the Ghostscript lib directory. .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/pfbtopfa.1 b/man/pfbtopfa.1 index 1b9633654..6121d7309 100644 --- a/man/pfbtopfa.1 +++ b/man/pfbtopfa.1 @@ -1,4 +1,4 @@ -.TH PFBTOPFA 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH PFBTOPFA 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME pfbtopfa \- Convert Postscript .pfb fonts to .pfa format using ghostscript .SH SYNOPSIS @@ -10,7 +10,7 @@ to convert a .pfb file into a .pfa file. .SH SEE ALSO gs(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/printafm.1 b/man/printafm.1 index e8848574a..d4dbd3533 100644 --- a/man/printafm.1 +++ b/man/printafm.1 @@ -1,4 +1,4 @@ -.TH PRINTAFM 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH PRINTAFM 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME printafm \- Print the metrics from a Postscript font in AFM format using ghostscript .SH SYNOPSIS @@ -11,7 +11,7 @@ Output goes to stdout. .SH SEE ALSO gs(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/ps2ascii.1 b/man/ps2ascii.1 index a9e0b2700..a781f4bd5 100644 --- a/man/ps2ascii.1 +++ b/man/ps2ascii.1 @@ -1,4 +1,4 @@ -.TH PS2ASCII 1 "4 October 2017" 9.22 "Ghostscript Tools" \" -*- nroff -*- +.TH PS2ASCII 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- .SH NAME ps2ascii \- Ghostscript translator from PostScript or PDF to ASCII .SH SYNOPSIS @@ -22,7 +22,7 @@ system, from which you can get more details. .SH SEE ALSO pstotext(1), http://www.research.digital.com/SRC/virtualpaper/pstotext.html .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/ps2epsi.1 b/man/ps2epsi.1 index 7416dc8bc..acce59478 100644 --- a/man/ps2epsi.1 +++ b/man/ps2epsi.1 @@ -1,4 +1,4 @@ -.TH PS2EPSI 1 "4 October 2017" 9.22 "Ghostscript Tools" \" -*- nroff -*- +.TH PS2EPSI 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- .SH NAME ps2epsi \- generate conforming Encapsulated PostScript .SH SYNOPSIS @@ -59,7 +59,7 @@ ps2epsi.ps>the Ghostscript program which does the work .SH SEE ALSO gs (1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. However, the content may be obsolete, or inconsistent with ps2epsi.txt. .SH AUTHOR George Cameron diff --git a/man/ps2pdf.1 b/man/ps2pdf.1 index cc89eff66..1eba72ee6 100644 --- a/man/ps2pdf.1 +++ b/man/ps2pdf.1 @@ -1,4 +1,4 @@ -.TH PS2PDF 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH PS2PDF 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME ps2pdf \- Convert PostScript to PDF using ghostscript .br @@ -89,7 +89,7 @@ Ps2pdf.htm in the Ghostscript documentation See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript. .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/ps2pdfwr.1 b/man/ps2pdfwr.1 index b318e25e2..f36e858b7 100644 --- a/man/ps2pdfwr.1 +++ b/man/ps2pdfwr.1 @@ -1,4 +1,4 @@ -.TH PS2PDFWR 1 "4 October 2017" 9.22 Ghostscript \" -*- nroff -*- +.TH PS2PDFWR 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- .SH NAME ps2pdfwr \- Convert PostScript to PDF without specifying CompatibilityLevel, using ghostscript .SH SYNOPSIS @@ -23,7 +23,7 @@ scripts all invoke this one with the addition of the respective compatibility le .SH SEE ALSO gs(1), ps2pdf(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. diff --git a/man/ps2ps.1 b/man/ps2ps.1 index d8f090b9a..bb655946c 100644 --- a/man/ps2ps.1 +++ b/man/ps2ps.1 @@ -1,4 +1,4 @@ -.TH PS2PS 1 "4 October 2017" 9.22 "Ghostscript Tools" \" -*- nroff -*- +.TH PS2PS 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- .SH NAME ps2ps, eps2eps \- Ghostscript PostScript "distiller" .SH SYNOPSIS @@ -22,7 +22,7 @@ system, from which you can get more details. .SH SEE ALSO ps2pdf(1), ps2ascii(1), ps2epsi(1) .SH VERSION -This document was last revised for Ghostscript version 9.22. +This document was last revised for Ghostscript version 9.23. .SH AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. |