summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Liddell <chris.liddell@artifex.com>2014-03-14 11:56:29 +0000
committerChris Liddell <chris.liddell@artifex.com>2014-03-19 08:50:29 +0000
commitaac778af6233ee10e66c1ca3f902adf8b6566b60 (patch)
treea441bfd63350b87f6fa0c4c723fca9897c1bf973
parent20f8aebb83a88ca225b67c3bbf5e6dae936349b0 (diff)
downloadghostpdl-gs912.tar.gz
Update release notes, changelog and couple of tweaksghostpdl-9.12rc2gs912
-rw-r--r--gs/doc/History9.htm8368
-rw-r--r--gs/doc/News.htm63
-rw-r--r--gs/doc/Ps2pdf.htm19
-rw-r--r--gs/doc/Ps2ps2.htm2
-rw-r--r--gs/doc/Use.htm3
5 files changed, 8425 insertions, 30 deletions
diff --git a/gs/doc/History9.htm b/gs/doc/History9.htm
index c278598a4..f6d87f8fa 100644
--- a/gs/doc/History9.htm
+++ b/gs/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.12">Version 9.12 (2014-03-14)</a>
<li><a href="#Version9.10">Version 9.10 (2013-08-27)</a>
<li><a href="#Version9.09">Version 9.09 (2013-08-21)</a>
<li><a href="#Version9.07">Version 9.07 (2013-02-14)</a>
@@ -69,6 +70,8373 @@ overview</a>.
<!-- [1.0 end visible header] ============================================== -->
<!-- [2.0 begin contents] ================================================== -->
+<h2><a name="Version9.12"></a>Version 9.12 (2014-03-14)</h2>
+
+<p>This is the tenth full release in the stable 9.x series, and is
+primarily a maintenance release.
+
+<p> Highlights in this release include:
+<ul>
+<li>
+<p>pdfwrite now uses the same color management engine as Ghostscript rendering
+devices (by default LCMS2). This provides much better control over color
+conversion and color management generally, but will result in some small color
+differences when compared to the old system.
+
+<p>It is no longer necessary to specify UseCIEColor (and we very much encourage
+you not to do this) or the ProcessColorModel if you want to convert a PDF file
+to a specific color space, simply set the ColorConverionStrategy appropriately.
+
+<p>We do not expect any major problems to arise with this new code, but for the
+duration of this release a new switch -dPDFUseOldCMS is available which will
+restore the old color management.
+See: <a href="Ps2pdf.htm#Color_Conversion_and_Management">Color Conversion and Management</a>
+
+<p>Please note that due to constraints of the PDF/A-1 specification, the new
+color management does not yet apply when producing PDF/A files.
+</li>
+<li>
+<p> A new device 'eps2write' has been added which allows for the creation of
+EPS files using the ps2write device instead of the old (deprecated and removed)
+pswrite device. This produces considerably better quality EPS files than
+the old epswrite device which is now also deprecated and will be removed in a
+future release.
+</li>
+<li>
+<p> ps2write now has a feature to allow customisation of the output for specific
+devices. Please see PSDocOptions and PSPageOptions described in ps2ps2.htm
+<a href="Ps2ps2.htm#AdditionalDistillerParams">Additional Distiller Params</a>
+</li>
+<li>
+<p> Ghostscript now reduces memory usage when processing PDF files that use
+transparency and output is to display devices such as Windows display or x11
+(i.e. devices that are strictly full framebuffer devices), and to high level
+vector devices that cannot reproduce the PDF transparency model, such as the
+ps2write device or pdfwrite when 'flattening' to PDF 1.3 or earlier
+(-dCompatibilityLevel=1.3). This uses banding (clist) files to render the
+transparenct areas in bands to reduce memory use, and unlike the existing
+page level banding, this is hidden from the target device.
+</li>
+<li>
+<p> Ghostscript can now collect information for pages in temp files (in
+Ghostscript's clist format), then render and output pages for the job in arbitrary
+order, including normal, reverse, odd, even, or any order or subset of the pages.
+This is controlled with the --saved-page=___ option. (Note that this only applies
+to rendering devices, and not high level devices such as pdfwrite and ps2write.)
+See: <a href="Use.htm#Deferred_Page_Rendering">Deferred Page Rendering</a>
+</li>
+<li>
+<p> The Ghostscript device architecture has been extended so that, when
+rendering bands into multiple threads, it is now possible to perform
+post-processing in multiple threads, such as downscale, post-render halftoning,
+or compression. Previously, post processing was only possible in the single
+main thread. This can improve performance significantly.
+</li>
+<li>
+<p>Plus 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.09_Incompatible_changes"></a>Incompatible changes</h3>
+<p>
+No recorded incompatible changes.
+
+<h3><a name="9.09_changelog"></a>Changelog</h3>
+<p><strong>2014-03-14 10:00:05 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b65f4e9d7cdd32981680a5486e1c1c320ac4046e">b65f4e9d7cdd32981680a5486e1c1c320ac4046e</a>
+<blockquote>
+<p>
+ Update version number, release and copyright dates.<br>
+<br>
+gs/Makefile.in<br>
+gs/Resource/Init/gs_init.ps<br>
+gs/base/gscdef.c<br>
+gs/base/version.mak<br>
+gs/doc/API.htm<br>
+gs/doc/C-style.htm<br>
+gs/doc/Commprod.htm<br>
+gs/doc/DLL.htm<br>
+gs/doc/Deprecated.htm<br>
+gs/doc/Details8.htm<br>
+gs/doc/Details9.htm<br>
+gs/doc/Develop.htm<br>
+gs/doc/Devices.htm<br>
+gs/doc/Drivers.htm<br>
+gs/doc/Fonts.htm<br>
+gs/doc/Helpers.htm<br>
+gs/doc/History1.htm<br>
+gs/doc/History2.htm<br>
+gs/doc/History3.htm<br>
+gs/doc/History4.htm<br>
+gs/doc/History5.htm<br>
+gs/doc/History6.htm<br>
+gs/doc/History7.htm<br>
+gs/doc/History8.htm<br>
+gs/doc/History9.htm<br>
+gs/doc/Install.htm<br>
+gs/doc/Issues.htm<br>
+gs/doc/Language.htm<br>
+gs/doc/Lib.htm<br>
+gs/doc/Make.htm<br>
+gs/doc/News.htm<br>
+gs/doc/Projects.htm<br>
+gs/doc/Ps-style.htm<br>
+gs/doc/Ps2epsi.htm<br>
+gs/doc/Ps2pdf.htm<br>
+gs/doc/Ps2ps2.htm<br>
+gs/doc/Psfiles.htm<br>
+gs/doc/Readme.htm<br>
+gs/doc/Release.htm<br>
+gs/doc/SavedPages.htm<br>
+gs/doc/Source.htm<br>
+gs/doc/Unix-lpr.htm<br>
+gs/doc/Use.htm<br>
+gs/doc/WhatIsGS.htm<br>
+gs/doc/Xfonts.htm<br>
+gs/doc/gs-vms.hlp<br>
+gs/doc/thirdparty.htm<br>
+gs/man/dvipdf.1<br>
+gs/man/font2c.1<br>
+gs/man/gs.1<br>
+gs/man/gslp.1<br>
+gs/man/gsnd.1<br>
+gs/man/pdf2dsc.1<br>
+gs/man/pdf2ps.1<br>
+gs/man/pf2afm.1<br>
+gs/man/pfbtopfa.1<br>
+gs/man/printafm.1<br>
+gs/man/ps2ascii.1<br>
+gs/man/ps2epsi.1<br>
+gs/man/ps2pdf.1<br>
+gs/man/ps2pdfwr.1<br>
+gs/man/ps2ps.1<br>
+gs/man/wftopfa.1<br>
+gs/psi/msvc.mak<br>
+gs/psi/winint.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-18 11:41:44 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=20f8aebb83a88ca225b67c3bbf5e6dae936349b0">20f8aebb83a88ca225b67c3bbf5e6dae936349b0</a>
+<blockquote>
+<p>
+ Fix Segfaults caused by 'vertical stripe' fix (f18fac0).<br>
+<br>
+ The done flag is no longer needed and caused us to exit the while<br>
+ loop before processing enough of the data.<br>
+<br>
+ Also, move_landscape_buffer could end up with position_curr ==<br>
+ position_new so we were moving 'in place' (wasting time). Fix that.<br>
+<br>
+gs/base/gxht_thresh.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-17 13:07:37 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7458c4b5eed25b49ba15dcb37b6dd2ec1d6f0089">7458c4b5eed25b49ba15dcb37b6dd2ec1d6f0089</a>
+<blockquote>
+<p>
+ Fix to turn of BPC when we are using the Gray_to_K ICC profile.<br>
+<br>
+ This appears to be a bug in lcms. Will follow up with Marti. Also fix for tiff64nc. In the test<br>
+ tiff_compression_allowed we were missing the test for the 16 bit case. Surprisingly this commit<br>
+ results in progressions in the 8 bit device outputs too when we have a gray source and going<br>
+ to a CMYK device.<br>
+<br>
+gs/base/gsicc_cache.c<br>
+gs/devices/gdevtifs.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 20:35:53 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c23cde8b44a751a787636a7747b42b2da7911922">c23cde8b44a751a787636a7747b42b2da7911922</a>
+<blockquote>
+<p>
+ Fix sporadic vertical stripes with planar fast image thresholding (pkmraw)<br>
+<br>
+ In the landscape code, only the data for the last plane was being moved<br>
+ to the start of the contone data for the next 32 lines of output. Seen<br>
+ with -sDEVICE=pkmraw -dUsePlanarBuffer J8_landscape.ps but any landscape<br>
+ image could have the problem. New code moves all planes and only resets<br>
+ the ht_landscape parameters after all planes have been processed and<br>
+ output (via copy_planes).<br>
+<br>
+gs/base/gxht_thresh.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-14 09:40:22 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7784cce96478d8bcec314e2dc8ecb3d3a849c37b">7784cce96478d8bcec314e2dc8ecb3d3a849c37b</a>
+<blockquote>
+<p>
+ Add missing newline to memento error logging.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/base/memento.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-11 08:31:32 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c34097f6786f809826a30484e69684adf4915e9a">c34097f6786f809826a30484e69684adf4915e9a</a>
+<blockquote>
+<p>
+ Fix output color values of pkm and pkmraw for GrayValues &gt; 2.<br>
+<br>
+ In the header we indicate the max value is 255, so the output values<br>
+ need to be scaled to that, not the color_info.max_color. We stay with<br>
+ 255 since many viewers cannot display PPM files with other that 255<br>
+ as the max (ignoring the max value in the header).<br>
+<br>
+gs/devices/gdevpbm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 11:43:24 +0000
+</strong>
+<br>James Cloos &lt;cloos@jhcloos.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=685e801f7de04d087166e24b3373ab16dcca57bc">685e801f7de04d087166e24b3373ab16dcca57bc</a>
+<blockquote>
+<p>
+ Bug 695080: fix typo in the pngmono device declaration<br>
+<br>
+ which caused pngmono to threshold rather than halftone at or above 150 dpi.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/devices/gdevpng.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 13:47:56 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=303b48577602fb78df5fa40eb2de1d8e73245afa">303b48577602fb78df5fa40eb2de1d8e73245afa</a>
+<blockquote>
+<p>
+ Bug 695090: Solve memory overwrite with pkmraw in planar mode.<br>
+<br>
+ When using -dUsePlanarBuffer with the pnm devices, we run the<br>
+ underlying rendering in planar mode, but then expect 'getbits'<br>
+ to return chunky pixels. As such, the memory we allocate to<br>
+ 'getbits' into should be allocated for chunky mode, not for<br>
+ planar mode.<br>
+<br>
+gs/base/gdevprn.h<br>
+gs/base/gsdevice.c<br>
+gs/base/gxdevcli.h<br>
+gs/devices/gdevpbm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 11:19:11 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f2fde5b9596318796f4ffd8d356116b1bb203ae3">f2fde5b9596318796f4ffd8d356116b1bb203ae3</a>
+<blockquote>
+<p>
+ Delete gs_fform.ps<br>
+<br>
+ If we want to cache forms, we should implement it properly.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/lib/gs_fform.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 10:53:49 +0000
+</strong>
+<br>Andreas Schwab &lt;schwab@linux-m68k.org&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=becedfbfdbd9dee77825ff245f48c0acc9d03252">becedfbfdbd9dee77825ff245f48c0acc9d03252</a>
+<blockquote>
+<p>
+ Bug 695058: force correct struct ref_s size<br>
+<br>
+ On compilers that tightly pack structures (i.e. don't pad to alignment<br>
+ boundaries), struct ref_s could end up as 14 bytes instead of 16 bytes,<br>
+ thus breaking requirement in the garbage collector.<br>
+<br>
+ This is less than ideal, and would be better achieved using the same trick<br>
+ we use for the alignment of obj_header_s in base/gxobj.h, linking the structure<br>
+ size to the obj_align_mod, but as on the majority of systems struct ref_s is<br>
+ already 16 bytes, that results in a zero byte array which notable compilers (at<br>
+ least MSVC, and probably others) to error.<br>
+<br>
+ No cluster differences,<br>
+<br>
+gs/psi/iref.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 09:27:28 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fdaa74efeebb753db1855eaf6a3a824ecbf1231e">fdaa74efeebb753db1855eaf6a3a824ecbf1231e</a>
+<blockquote>
+<p>
+ Remove deprecated glyph mapping code.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Resource/Init/gs_ttf.ps<br>
+gs/Resource/Init/gs_type1.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-12 17:18:25 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fe0b8fcfb69246cbea99b85f453ed6c3c83f4592">fe0b8fcfb69246cbea99b85f453ed6c3c83f4592</a>
+<blockquote>
+<p>
+ Bug 693380: raise file path/name size limit to 4k<br>
+<br>
+ And move as many cases of paths allocated on the stack to heap memory as is<br>
+ reasonable.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gdevdevn.c<br>
+gs/base/gp.h<br>
+gs/base/gsdevice.c<br>
+gs/base/gsiodisk.c<br>
+gs/base/gsiomacres.c<br>
+gs/base/gsparam2.c<br>
+gs/devices/gdevtsep.c<br>
+gs/devices/vector/gdevxps.c<br>
+gs/psi/zfile.c<br>
+xps/xpsjxr.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-13 10:35:33 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83b6646951fee8fe153d14d3e2d7da75894b922a">83b6646951fee8fe153d14d3e2d7da75894b922a</a>
+<blockquote>
+<p>
+ PDF interpreter - fix multiple xref stream reading<br>
+<br>
+ Bug #695086 &quot;**** Error: Trailer is not found.&quot;<br>
+<br>
+ When reading Xref streams, the PDF interpreter resizes its internal xref<br>
+ tracking objects by looking at the /Size of the stream and making sure<br>
+ the objects are at least that big. However it did not account for the fact<br>
+ that an Xref stream may not start with object 0.<br>
+<br>
+ In this case the first stream encountered had a /Size of 2, and an /Index<br>
+ of [6 0]. This meant that we allocated objects of size 2, then tried to store<br>
+ into location8, which naturally failed.<br>
+<br>
+ This commit adds the /Index (starting object number) to the /Size before<br>
+ ensuring the objects are large enough.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-12 21:25:39 -0700
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos@inches.(none)&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fadf80da45458db57cffdd90f1ed6c57aa31e51f">fadf80da45458db57cffdd90f1ed6c57aa31e51f</a>
+<blockquote>
+<p>
+ Fixed typo in Devices.htm.<br>
+<br>
+gs/doc/Devices.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-12 15:52:34 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=94d070553225e0a8fb38157e081e9496dee8fde5">94d070553225e0a8fb38157e081e9496dee8fde5</a>
+<blockquote>
+<p>
+ pdfwrite - remove deprecated code<br>
+<br>
+ Before the release of 9.06 I #ifdef'ed a load of code as deprecated. Nobody<br>
+ has found any problems, so I'm removing the code.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfp.c<br>
+gs/devices/vector/gdevpdfu.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+gs/devices/vector/gdevpdt.h<br>
+gs/devices/vector/gdevpdte.c<br>
+gs/devices/vector/gdevpdtf.h<br>
+gs/devices/vector/gdevpdtt.c<br>
+gs/devices/vector/gdevpdtw.c<br>
+gs/devices/vector/gdevpsds.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-12 13:32:05 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0598a205e9293fcaf548571624d93f534afa098d">0598a205e9293fcaf548571624d93f534afa098d</a>
+<blockquote>
+<p>
+ Documentation - remove %ram% from the projects, as it is completed<br>
+<br>
+gs/doc/Projects.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-12 09:33:24 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8fad68f7c27f16cf78967443322bc4f638649f27">8fad68f7c27f16cf78967443322bc4f638649f27</a>
+<blockquote>
+<p>
+ Update documentation for the pdfwrite family<br>
+<br>
+ devices.htm - change epswrite references to eps2write, note that support for<br>
+ language level 1 output is now removed.<br>
+<br>
+ drivers.htm - alter pswrite to ps2write<br>
+<br>
+ use.htm - alter epswrite to eps2write<br>
+<br>
+ issues.htm - remove a surprisingly large number of documented issues which<br>
+ appear to be no longer issues. Note that epswrite is deprecated.<br>
+<br>
+ ps2pdf.htm - improve the documentation of PDF/A and PDF/X output and correct<br>
+ the places where it was incorrect with the new colour management.<br>
+<br>
+ No differences.<br>
+<br>
+gs/doc/Devices.htm<br>
+gs/doc/Drivers.htm<br>
+gs/doc/Issues.htm<br>
+gs/doc/Ps2pdf.htm<br>
+gs/doc/Use.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-11 09:58:31 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ee30f349671e3a23d666615f1648eab4a5290b4c">ee30f349671e3a23d666615f1648eab4a5290b4c</a>
+<blockquote>
+<p>
+ Abbreviated escape sequence improvement.<br>
+<br>
+ Abbreviated escape sequences were not handled properly with commands<br>
+ that hold arbitrary amounts of data, like raster and font related<br>
+ commands. PCL shorthand is rarely used in this circumstance<br>
+ but it is legal. Thanks to Hin-Tak for the discovery and analysis of<br>
+ this problem.<br>
+<br>
+pcl/pcparse.c<br>
+pcl/pcparse.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-09 16:11:24 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4c2f426905b4bf300f6b412024d71cd2be6276de">4c2f426905b4bf300f6b412024d71cd2be6276de</a>
+<blockquote>
+<p>
+ Remove GhostSVG.<br>
+<br>
+ No cluster differences.<br>
+<br>
+Makefile<br>
+gs/configure.ac<br>
+svg/ghostsvg.h<br>
+svg/svg.mak<br>
+svg/svg_gcc.mak<br>
+svg/svg_msvc.mak<br>
+svg/svgcolor.c<br>
+svg/svgcolorlist.h<br>
+svg/svgdoc.c<br>
+svg/svgshapes.c<br>
+svg/svgtop.c<br>
+svg/svgtransform.c<br>
+svg/svgtypes.c<br>
+svg/svgxml.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-09 15:54:06 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8dacc34a50174bceac7786ce47466d9a71547955">8dacc34a50174bceac7786ce47466d9a71547955</a>
+<blockquote>
+<p>
+ Remove SVG writer from Ghostscript/GhostPDL<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Makefile.in<br>
+gs/configure.ac<br>
+gs/devices/devs.mak<br>
+gs/devices/vector/gdevsvg.c<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-06 11:57:00 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=22ebcc33db33aa15399a6836e48953736256eb41">22ebcc33db33aa15399a6836e48953736256eb41</a>
+<blockquote>
+<p>
+ Fix UseFastColor during clist playback.<br>
+<br>
+ Discovered with customer 532, the default_match was not set early<br>
+ enough in gsicc_get_link for the index to be correct, effectively<br>
+ disabling usefastcolor mode. As a result images could be rendered<br>
+ with ICC based color transform instead of the 'nocm' fastcolor<br>
+ methods.<br>
+<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclist.h<br>
+gs/base/gxclrast.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-08 20:29:30 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f5457548e8162438a43b1aeb2040e34c001adaa4">f5457548e8162438a43b1aeb2040e34c001adaa4</a>
+<blockquote>
+<p>
+ Use malloc/free for lcms(2) shared lib build.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gsicc_lcms.c<br>
+gs/base/gsicc_lcms2.c<br>
+gs/base/lcms.mak<br>
+gs/base/lcms2.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-07 17:00:28 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=58121374ed0d12aa38c872eb4d069b75ed5875d5">58121374ed0d12aa38c872eb4d069b75ed5875d5</a>
+<blockquote>
+<p>
+ cast to silence a compiler warning<br>
+<br>
+gs/base/gdevvec.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-07 13:41:01 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=94c5ecffe4bf66cc91108d99a802c7c2d3b86e0b">94c5ecffe4bf66cc91108d99a802c7c2d3b86e0b</a>
+<blockquote>
+<p>
+ PS interpreter, vector devices and pdfwrite - remove setdash limit of 11<br>
+<br>
+ Bug #693916 &quot;setdash does not accept more than 11 elements in the array argument&quot;<br>
+<br>
+ The PostScript interpreter was already capable of this, it simply required<br>
+ the limit check to be removed. The vector device needed to allocate and<br>
+ free an array of floats, rather than maintain a fixed size array.<br>
+<br>
+ pdfwrite was teh most complex as it maintains a stack of gstates, and these<br>
+ also needed to be modified to allocate and free the dash array. However the<br>
+ gstate stack wasn't already a garbage collecting structure. Rather than going<br>
+ to the effort of turning it into one I've opted to allocate the dash pattern<br>
+ from non-gc memory.<br>
+<br>
+ A few PCL files show differences with pdfwrite, because previously pdfwrite<br>
+ would throw an error (more than 11 elements in the dash array) and the stroked<br>
+ lines would degenerate into filled rectangles, whereas now they are drawn as<br>
+ stroked lines with a correct dash pattern. This is much more efficient.<br>
+<br>
+ The clist remains unmodified, Ray assures me that it will be handled there<br>
+ without problems.<br>
+<br>
+gs/Resource/Init/gs_init.ps<br>
+gs/base/gdevvec.c<br>
+gs/base/gdevvec.h<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfg.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-05 09:47:52 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4b16c45c3b834efb9ff9608360d3c053e91b1f23">4b16c45c3b834efb9ff9608360d3c053e91b1f23</a>
+<blockquote>
+<p>
+ Fix UseFastColor ignored for pages with transparency.<br>
+<br>
+ Found when researching problem from customer 532.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-03 12:21:12 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e63f9d066c001052f5594f09c3a3a59ff80d2d03">e63f9d066c001052f5594f09c3a3a59ff80d2d03</a>
+<blockquote>
+<p>
+ Fix problem with -d***Values=16 and bitrgb device.<br>
+<br>
+ The max_gray and max_color would confuse the gx_device_must_halftone<br>
+ macro because setting -dGrayValues=16 would end up setting the<br>
+ max_gray and max_color to 31 (0x1f) which does NOT halftone. with<br>
+ the change setting to 16 values doesn't change the bpc if put_params<br>
+ is called again. Also remove allowing -dGrayValues=32 from supported<br>
+ choices.<br>
+<br>
+gs/devices/gdevbit.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-05 08:54:56 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b442d9a0c193d2d0114e72e1312e7bcc6e558aab">b442d9a0c193d2d0114e72e1312e7bcc6e558aab</a>
+<blockquote>
+<p>
+ pdfwrite revert 3894e9c8a3ab125c82048da3bf81515500bb2da0<br>
+<br>
+<br>
+ Bug #695083 &quot; Regression: pdfwrite DEVICE generates extra page with -dLastPage= option&quot;<br>
+ This wasn't a customer bug report, and it doesn't work well with PCL, when<br>
+ specifying -dLastPage, so I've decided just to revert it.<br>
+<br>
+ A very few PCL files are flagged by the cluster as different, but there are<br>
+ no bmpcmp diffs.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-03 17:34:08 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9a68412d171e5c998026a13dffcbc90ef9d477b9">9a68412d171e5c998026a13dffcbc90ef9d477b9</a>
+<blockquote>
+<p>
+ Bug 695007: Fix problems with unicode chars in TEMP path.<br>
+<br>
+ If there are unicode chars in the temporary path (either that<br>
+ given by TMPDIR, TEMP or windows own GetTempPath functions)<br>
+ when opening a scratch file, we mishandle them.<br>
+<br>
+ This commit improves the behaviour to treat paths consistently<br>
+ as UTF8.<br>
+<br>
+ This incorporates changes from Paul Gardiner to make the winrtsup.cpp<br>
+ functions use wide chars. This simplifies the functions and integrates<br>
+ better with the calling code. Also fix some uses of sizeof where size<br>
+ in chars was required.<br>
+<br>
+gs/base/gp_mswin.c<br>
+gs/base/winrtsup.cpp<br>
+gs/base/winrtsup.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-04 10:24:47 +0000
+</strong>
+<br>Paul Gardiner &lt;paulg-artifex@glidos.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f29e49d4b157a84b4793eda614447811b471c047">f29e49d4b157a84b4793eda614447811b471c047</a>
+<blockquote>
+<p>
+ Fix pointer-usage bug in GetTempFileNameWRT<br>
+<br>
+gs/base/winrtsup.cpp<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-04 15:30:02 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b2adda7468241123d9559a98cd469f527dd7e3c">5b2adda7468241123d9559a98cd469f527dd7e3c</a>
+<blockquote>
+<p>
+ pdfwrite - do not apply the 'Default*' colour spaces<br>
+<br>
+ Noticed while testing by Chris.<br>
+<br>
+ The PDF spec says that if any of DefaultGray, DefaultRGB or DefaultCMYK are<br>
+ present in a PDF page, then we should use those to do a conversion to<br>
+ device-independent colour space for colours specified in the matching Device*<br>
+ space.<br>
+<br>
+ This is broadly equivalent to the UseCIEColor PostScript user parameter but<br>
+ unlike that parameter the user has no control over it. Previously we applied<br>
+ this conversion but it seems unreasonable to do this for pdfwrite as this<br>
+ will convert a PDF using device spaces into a PDF using ICCBased spaces.<br>
+<br>
+ Accordingly we now test the device properties and for HigLevel devices we<br>
+ do *not* perform this conversion.<br>
+<br>
+ If the conversion really is desired then setting -dUseCIEColor will perform it.<br>
+<br>
+ This results in a very few files showing differences, neither progressions<br>
+ nor regressions, merely different. However the pdfwrite warning about use<br>
+ of UseCIEColor does go away.<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-04 09:25:18 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2621110f37eb0c94a732578acd24634caec1c25b">2621110f37eb0c94a732578acd24634caec1c25b</a>
+<blockquote>
+<p>
+ Bug 694832: add an explicit flag for TTF notdef<br>
+<br>
+ The previous solution for this issue &quot;overloaded&quot; an existing workaround for<br>
+ pdfwrite. Unfortunately, a clash between pdfwrite's needs and FAPI's meant it<br>
+ did not work all the time.<br>
+<br>
+ So, when loading a TTF for use in a PDF, add a new flag to the font dictionary<br>
+ to tell the FAPI code whether to render a Truetype notdef.<br>
+<br>
+ Several differences show up on the cluster - the following are progressions<br>
+ compared to Acrobat:<br>
+ Bug689757.pdf<br>
+ Bug691031.pdf<br>
+ Bug691221.pdf<br>
+ Bug693538.pdf<br>
+ Bug693646.ps<br>
+ Bug693711.pdf<br>
+ keyboard.pdf<br>
+ CATX1490.pdf<br>
+ IA3Z0815.pdf<br>
+<br>
+ These are different from before, but since Acrobat can't even open these,<br>
+ I don't much care:<br>
+ 207ee6f24411fc4591d2b5a337c46de8-full.pdf<br>
+ 2123_-_MacExpertEncoding_badly_handled.pdf<br>
+ 764_-_heading_garbage.pdf<br>
+<br>
+gs/Resource/Init/gs_ttf.ps<br>
+gs/psi/zfapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-04 09:49:52 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0214c1b9c70cd41026e5cda707e582b32489a64c">0214c1b9c70cd41026e5cda707e582b32489a64c</a>
+<blockquote>
+<p>
+ remove a misleading comment<br>
+<br>
+gs/devices/vector/gdevpdfu.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-04 09:47:50 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=095ae57e266ee5168f042c26dd2e9d12273efb28">095ae57e266ee5168f042c26dd2e9d12273efb28</a>
+<blockquote>
+<p>
+ ps2write - fix missing %%BeginResource comment for FontFile objects<br>
+<br>
+ Bug #695082 &quot; ps2write: Some &quot;%%BeginResource&quot; DSC comments have only one &quot;%&quot; character&quot;<br>
+<br>
+ FontFile streams were being written with a &quot;%%EndResource&quot; comment, but the<br>
+ &quot;%%BeginResource&quot; comment was missing.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfu.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+gs/devices/vector/gdevpdtd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-03-03 14:14:19 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=649848310dd4f9400f63c685748e4f76344ba9d7">649848310dd4f9400f63c685748e4f76344ba9d7</a>
+<blockquote>
+<p>
+ ps2write - fix a DSC comment<br>
+<br>
+ Bug #695082 &quot;ps2write: Some &quot;%%BeginResource&quot; DSC comments have only one &quot;%&quot; character&quot;<br>
+<br>
+ A DSC comment was emitted using a printf format string without escaping the<br>
+ &quot;%&quot;s<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdtd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-27 11:28:57 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f6abeac1c7ab3ee82523353b5373230e2607c0b9">f6abeac1c7ab3ee82523353b5373230e2607c0b9</a>
+<blockquote>
+<p>
+ pdfwrite - fix commit 1d1d22976ce5b5e96d862c404ca80f189476bfed<br>
+<br>
+ Despite not throwing any regressions, there was a bug in this commit.<br>
+<br>
+ A couple of places used the pprintld* routines, which *don't* accept the<br>
+ %&quot;PRId64&quot; sequence and this led ot us writing an invalid xref.<br>
+<br>
+ Fixed here by using gs_sprintf instead.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-27 09:33:13 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1d1d22976ce5b5e96d862c404ca80f189476bfed">1d1d22976ce5b5e96d862c404ca80f189476bfed</a>
+<blockquote>
+<p>
+ pdfwrite - fix FastWebView for big-endian devices<br>
+<br>
+ Bug #695075 &quot; Creating &quot;optimized&quot; PDF on Big-endian OS gives errors when view the PDF indicating PDF is not right&quot;<br>
+<br>
+ This commit applies all the changes supplied by Jonathan Dagresta of SDL,<br>
+ see the bug report for details.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-26 10:38:02 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=30f2c656469f5930b1adc82454706743df68b0d7">30f2c656469f5930b1adc82454706743df68b0d7</a>
+<blockquote>
+<p>
+ Disable threshold array based image optimization for depth &gt; 1.<br>
+<br>
+ The monochrome image case in gximono.c already checked for depth == 1<br>
+ but the gxicolor.c code was missing this. These can be removed when<br>
+ the gxht_thresh.c code is enhanced for greater bit depths.<br>
+<br>
+gs/base/gxicolor.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-26 09:20:37 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b53c81e38925d05b00ba9068aebc5fcbc519a685">b53c81e38925d05b00ba9068aebc5fcbc519a685</a>
+<blockquote>
+<p>
+ ps2write - add a feature to customise the output for specific devices<br>
+<br>
+ Bug #695070 &quot;Customer would like a way to specify printer specific features in ps2write device&quot;<br>
+<br>
+ This commit adds two new distiller params, specific to ps2write, PSDocOptions<br>
+ and PSPageOptions, which are described in detail in the ps2ps2.htm document.<br>
+<br>
+ These allow an end user to specify PostScript (normally device-specific<br>
+ configuration) which can be injected into a DSC compliant file at the documet<br>
+ level and at the individual page level.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/gs_pdfwr.ps<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfu.c<br>
+gs/devices/vector/gdevpsdf.h<br>
+gs/devices/vector/gdevpsdp.c<br>
+gs/doc/Ps2ps2.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-23 09:46:21 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=77fce4a0cfd70b94a90a876cac0310fda1a969ee">77fce4a0cfd70b94a90a876cac0310fda1a969ee</a>
+<blockquote>
+<p>
+ Fix bug 695054, segfault caused by stale pointer in pattern-clist device.<br>
+<br>
+ The pattern-clist device could be left allocated in stable memory<br>
+ after the pattern was removed from the pattern cache. The pattern<br>
+ instance could be freed by a subsequent restore since it was not<br>
+ in stable memory. GC trace of the chunks would then reference the<br>
+ stale pinst pointer. Also, the heap pointer needs to be valid in<br>
+ ialloc_validate_spaces 'state' since it can be used for error output<br>
+ and this could cause a segfault.<br>
+<br>
+gs/base/gxpcmap.c<br>
+gs/psi/ilocate.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-24 10:41:23 -0700
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9990bdac31c018de33de2c09053b7e392a26304f">9990bdac31c018de33de2c09053b7e392a26304f</a>
+<blockquote>
+<p>
+ Fix Bug 694685 - Seg faults found by fuzzing in sfopen.<br>
+<br>
+ PCL would continue processing with a corrupt font. This could lead to<br>
+ bad memory accesses as demonstrated by the fuzzing example. For now,<br>
+ we return an error when a corrupt font is encountered and end the job.<br>
+ Likely, a lighter approach is called for: continue process without<br>
+ defining the font. This would be a bit more involved and we'll<br>
+ consider it if users report HP precedent for the behavior.<br>
+<br>
+pcl/pcsfont.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-24 15:14:45 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b6f8dba649f1be2ba5b9eb1d257f2052f7f2df28">b6f8dba649f1be2ba5b9eb1d257f2052f7f2df28</a>
+<blockquote>
+<p>
+ Move ram file system memory to 'stable' memory<br>
+<br>
+ The RAM file system was using regular GC'ed memory for its storage, which is<br>
+ subject to save and restore. The RAM file system should not, of course, be<br>
+ subject to save and restore!<br>
+<br>
+ This commit prevents save and restore affecting the memory for the ramfs<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/base/ramfs.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-14 18:16:55 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=863a1dfb328298a39871e49d218a16781fd42cba">863a1dfb328298a39871e49d218a16781fd42cba</a>
+<blockquote>
+<p>
+ Bug 694880 and bug 694904: prevent heap overflow in opj_j2k_add_tlmarker<br>
+<br>
+ Signed-off-by: Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<br>
+gs/openjpeg/libopenjpeg/j2k.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-14 18:20:36 +0100
+</strong>
+<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b17894bfedaf7b76edac15f681a4bd08717c65c0">b17894bfedaf7b76edac15f681a4bd08717c65c0</a>
+<blockquote>
+<p>
+ Bug 694906: fix potential heap overflow in opj_t2_read_packet_header<br>
+<br>
+ Signed-off-by: Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<br>
+gs/openjpeg/libopenjpeg/t2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-18 09:36:09 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7bd3739a888f70edf0270891782a88a547f5e829">7bd3739a888f70edf0270891782a88a547f5e829</a>
+<blockquote>
+<p>
+ Make the OpenJPEG callbacks static.....<br>
+<br>
+ and give them names more likely to be unique (just for debugging convenience).<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/sjpx_openjpeg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-18 11:22:16 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=174cfd14e4d34a37cdcf2e0372bd0b4334310e8b">174cfd14e4d34a37cdcf2e0372bd0b4334310e8b</a>
+<blockquote>
+<p>
+ Fix pngalpha when PDF has transparency. Bugs 687630, 693024 and 695042.<br>
+<br>
+ We needed a pngalpha_put_image procedure to properly collect the pdf14<br>
+ compositor alpha value. Note that this is NOT simple 0 or 1 alpha, but<br>
+ the actual effective page level opacity from the PDF. Note that some<br>
+ viewers may not correctly display these despite this being part of<br>
+ the PNG spec.<br>
+<br>
+gs/devices/gdevpng.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-15 13:54:07 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b69da60516576d65ce1e27087dc358fef067ec58">b69da60516576d65ce1e27087dc358fef067ec58</a>
+<blockquote>
+<p>
+ Fix bug 695405. The psdcmykog device should not lock num_components.<br>
+<br>
+ This regression was introduced with an attempt to fix SeparationOrder<br>
+ handling, but is not needed because we throw an error when there is<br>
+ an attempt to set the SeparationOrder, and the device is confused<br>
+ when the num_components is reset in the open_device procedure.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-11 08:07:04 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3ebdb4596c8fa05656dc3987553217efe72b6b8d">3ebdb4596c8fa05656dc3987553217efe72b6b8d</a>
+<blockquote>
+<p>
+ Improve chunk allocator performance using a doubly linked list (bug 694985)<br>
+<br>
+ Thanks to Norbert Janssen for the linked list logic. Also make a couple<br>
+ of other improvements in the free_object logic and use a separate<br>
+ structure for the freelist to avoid confusion with object nodes.<br>
+<br>
+gs/base/gsmchunk.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-14 14:07:11 +0100
+</strong>
+<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c5ad5b7f373313e9bc7b8991cc9e34506e627e0a">c5ad5b7f373313e9bc7b8991cc9e34506e627e0a</a>
+<blockquote>
+<p>
+ xps: Fix memory leaks in xpszip.c when handling errors.<br>
+<br>
+ Thanks to Norbert Janssen.<br>
+<br>
+xps/xpszip.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-14 10:12:28 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1e93c580b175ac086db942c32fab055c6062e8e4">1e93c580b175ac086db942c32fab055c6062e8e4</a>
+<blockquote>
+<p>
+ ps2write - more colour conversion work<br>
+<br>
+ Bug #694774<br>
+<br>
+ When outputting to PostScript we don't preserve certain colour spaces which<br>
+ either cannot be represented in PDF (CIEBased) or in level 2 PostScript<br>
+ (ICCBased/Lab/DeviceN) are not preserved. These should be written as device<br>
+ colours instead, but this wasn't always happening correctly.<br>
+<br>
+ This commit should resolve this, and should now make it possible (but still<br>
+ inadvisable) to use -dUseCIEColor with both pdfwrite and ps2write.<br>
+<br>
+ A small number of files show (frankly imperceptible) colour shifts with<br>
+ ps2write with this change.<br>
+<br>
+gs/devices/vector/gdevpdfc.c<br>
+gs/devices/vector/gdevpdfg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-13 14:49:42 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=edbed246ed67fcf24f854795f0d703bcb5d902fe">edbed246ed67fcf24f854795f0d703bcb5d902fe</a>
+<blockquote>
+<p>
+ Bug 695027: use a consistent allocator in the FT server<br>
+<br>
+ There was some mixing of memory allocators in the Freetype integration code,<br>
+ most of the code used the chunk allocator instance created during the<br>
+ server initialization, but glyph data allocations were using the allocator from<br>
+ the font object.<br>
+<br>
+ With two different FAPI servers in place, and with the right combination of<br>
+ events, that could mean we'd lose the allocator pointer when destroying<br>
+ the font object.<br>
+<br>
+ We're consistent in that all the memory allocations in the FAPI/Freetype code<br>
+ are directed through the chunk allocator created for that purpose.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/fapi_ft.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-13 14:47:18 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=979d824c9da11e9f366b1d90aed06f9449127997">979d824c9da11e9f366b1d90aed06f9449127997</a>
+<blockquote>
+<p>
+ Bug 695024: fix a typo<br>
+<br>
+ In the UFST integration code, we check if the Freetype server is available<br>
+ and if it is, we punt any non-Microtype fonts to that. The typo is that<br>
+ the Freetype server is named &quot;FreeType&quot; - the &quot;T&quot; was lower case.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/base/fapiufst.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-13 15:14:49 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d349b1ae5852db20fcaca21b357748eb5360817">4d349b1ae5852db20fcaca21b357748eb5360817</a>
+<blockquote>
+<p>
+ Bug #695034 Improve handling of word spacing with CIDFonta<br>
+<br>
+ Bug #695034 &quot;Numbers and words are overlapping&quot;<br>
+<br>
+ Word spacing does not apply to ti CIDFOnts, *except* for 1-byte mappings<br>
+ where the byte 0x20 has word spacing applied to it.<br>
+<br>
+ The previous code attempted to check this by using a heuristic to determine<br>
+ a single byte mapping in order to avoid adding more entries to the text<br>
+ enumerator. unfortunately this file defeats that heuristic which meant<br>
+ that it was necessary to calculate the number of bytes decoded when we<br>
+ extract one character, and store that information so that the 'move'<br>
+ routine can apply word spacing if required.<br>
+<br>
+ This shows two differences with a cluster run. Bug694436.pdf is very subtly<br>
+ different, I'm assuming this is a progression. The Sumatra file<br>
+ 850_-_wrong_default_for_asian_fonts.pdf shows very significant improvements<br>
+ with this commit.<br>
+<br>
+gs/base/gxchar.c<br>
+gs/base/gxtext.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-11 15:15:56 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f4584b0e162a96ec143f0057de63c116e649e02b">f4584b0e162a96ec143f0057de63c116e649e02b</a>
+<blockquote>
+<p>
+ Bug 695031: don't assume we can read a font file<br>
+<br>
+ When we scan system fonts, we were assuming fonts found would be in a format<br>
+ Ghostscript understands. This is not necessarily the case.<br>
+<br>
+ So put the minimal parsing call to get the font's name in a stopped context,<br>
+ so we can skip the file it's not an understandable format. And clean up the<br>
+ stack in the event we try such a file.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Resource/Init/gs_fonts.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-11 12:14:33 -0800
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=149b4b33c909c2d67c44c7a820f70209294bee76">149b4b33c909c2d67c44c7a820f70209294bee76</a>
+<blockquote>
+<p>
+ Don't allow PS CIE color spaces to be used for transparency group color spaces.<br>
+<br>
+ The CIE color spaces are 1-way. In that they map from Device to CIE, not from<br>
+ CIE to Device. A transparency group color space needs to be able to go both<br>
+ directions. This fixes the regression 694774<br>
+<br>
+gs/base/gsicc_cms.h<br>
+gs/base/gsicc_lcms2.c<br>
+gs/psi/int.mak<br>
+gs/psi/ztrans.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-11 11:18:39 -0700
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c22a604f0dc176fe1ae7545097e8a818e5d38309">c22a604f0dc176fe1ae7545097e8a818e5d38309</a>
+<blockquote>
+<p>
+ Remove final remnants of deprecated CRD code.<br>
+<br>
+pcl/pccid.c<br>
+pcl/pcl.mak<br>
+pl/pl.mak<br>
+pl/plsrgb.c<br>
+pl/plsrgb.h<br>
+pxl/pxgstate.c<br>
+pxl/pximage.c<br>
+pxl/pxink.c<br>
+pxl/pxl.mak<br>
+pxl/pxsessio.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-11 08:07:04 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c240594f3083158ab829cd121159879183bf49c8">c240594f3083158ab829cd121159879183bf49c8</a>
+<blockquote>
+<p>
+ Improve the debug 'cname' for chunk_mem_node_add similar to MEMENTO builds.<br>
+<br>
+ For normal builds use the caller's cname when allocating the chunk if the<br>
+ object is in its own chunk. Previously this only was used for MEMENTO builds.<br>
+ NB: MEMENTO builds put every object in a chunk, so the cname will always be<br>
+ the caller's, never &quot;chunk_mem_node_add&quot;.<br>
+<br>
+gs/base/gsmchunk.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-09 11:48:35 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0eaf9e76f83eff5d0dd5eb1f8d9a5314b9ca44cd">0eaf9e76f83eff5d0dd5eb1f8d9a5314b9ca44cd</a>
+<blockquote>
+<p>
+ Fix bug 694821. Ignore SeparationOrder with the psdcmykog device.<br>
+<br>
+ While this is a DeviceN device with some non-standard components<br>
+ that can be painted using Separation or DeviceN colorspaces, this<br>
+ device always outputs all 6 channels and can't deal with a subset<br>
+ of the channels, so return an error (undefined) for SeparationOrder.<br>
+ the separation_map remains constant to avoid color distortion if<br>
+ SeparationOrder is used.<br>
+<br>
+ Also make sure that we never add separations (NO_AUTO_SPOT_COLORS)<br>
+ from the get_color_comp_index procedure.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-07 18:13:52 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a11848051b9abdbe2b750976018d4167a96d2fea">a11848051b9abdbe2b750976018d4167a96d2fea</a>
+<blockquote>
+<p>
+ Fix some problems with SeparationOrder handling -- 29-07I.PS<br>
+<br>
+ Most importantly, when setting SeparationOrder parameters fail, we<br>
+ need to use param_signal_error. Otherwise, even though the error code<br>
+ is returned, the stack for setpagedevice would be missing the param<br>
+ information and code that caused the error.<br>
+<br>
+ Also the num_spot and num_spot_changed were improperly updated when<br>
+ ENABLE_AUTO_SPOT_COLORS allowed SeparationOrder to add separations.<br>
+<br>
+gs/base/gdevdevn.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-11 09:33:13 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f176e516add62d3a943a755a9294c510c579655d">f176e516add62d3a943a755a9294c510c579655d</a>
+<blockquote>
+<p>
+ pdfwrite - fix a bug in the font embedding white list detection<br>
+<br>
+ While working on bug #695030 I ran across a bug in the font embedding<br>
+ white list code. If the bisection of the list exactly hits the target string<br>
+ exactly then the bisection would fail to find the string.<br>
+<br>
+ This commit special cases this and detects the string.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/whitelst.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-10 11:17:01 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fac814792b42dfc2baafe84062ff986b7620cfe3">fac814792b42dfc2baafe84062ff986b7620cfe3</a>
+<blockquote>
+<p>
+ pdfwrite - alter the example pdfa_def.ps for PDF/A generation<br>
+<br>
+ The pdfa_def.ps file is incorrect with the new colour handling, and has long<br>
+ had a problem with only handling Gray or CMYK.<br>
+<br>
+ Its no longer possible to retrieve the ProcessColorModel from systemdict,<br>
+ we must now use the current device dictionary.<br>
+<br>
+ pdfa_def.ps now supports DevuiceGray, DeviceRGB and DeviceCMYK models.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/lib/PDFA_def.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-10 11:14:31 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e17abc0e4574cdefd25032aa1003ff28503b5867">e17abc0e4574cdefd25032aa1003ff28503b5867</a>
+<blockquote>
+<p>
+ pdfwrite - new color code. Fix the emission of DeviceIndependent colours<br>
+<br>
+ Bug #694806 &quot;chars and colors lost during PDF/A transformation&quot;<br>
+<br>
+ If we used the same device independent (ICCBased) colour space, but a<br>
+ different colour, we ended up not writing the new colour. This code fixes<br>
+ that problem.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-10 08:34:54 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d59e1feb9545b399027907cb2d1a6855c524e0b4">d59e1feb9545b399027907cb2d1a6855c524e0b4</a>
+<blockquote>
+<p>
+ PS interpreter - Fix rotation problem with EPSFitPage<br>
+<br>
+ Bug #695016 &quot;Gradient eps file to pdf&quot;<br>
+<br>
+ When fitting an EPS Bounding Box to a specified page size, the code looks<br>
+ at the width and height of both the page and the EPS file, to see if the<br>
+ EPS will fit 'better' by rotating it.<br>
+<br>
+ In this particular case the page is square, but there was no special case<br>
+ for this, which mean that landscape pages wold be rotated twice, causing<br>
+ the content to disappear.<br>
+<br>
+ This commit special cases square media sizes and does not attempt to rotate<br>
+ the EPS, no matter what its orientation, as there is clearly no point in<br>
+ doing so. This prevents the double rotation and resolves the problem.<br>
+<br>
+ Tested with landscape, portrait and square media and EPS files, in all<br>
+ combinations.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/gs_epsf.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-06 09:56:43 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dc3770910997a17386c65eaa44e73cf7cf5e8339">dc3770910997a17386c65eaa44e73cf7cf5e8339</a>
+<blockquote>
+<p>
+ Fix Windows display device -dDisplayFormat=16#a0800 regression.<br>
+<br>
+ Commit 82fc3bd change to msvc.mak removed setting the GX_COLOR_INDEX_TYPE,<br>
+ and code in base/gxcindex.h set this incorrectly to 'ulong'. Add the code<br>
+ that was removed and also add conditional compile to set this from<br>
+ ARCH_SIZEOF_GX_COLOR_INDEX if it is not defined.<br>
+<br>
+ Also add a 'compile time assert' that causes the build to fail if the<br>
+ sizeof(GX_COLOR_INDEX_TYPE) is not equal to ARCH_SIZEOF_GX_COLOR_INDEX.<br>
+ Thanks to Robin for finding this trick on the web.<br>
+<br>
+gs/base/gxcindex.h<br>
+gs/base/lib.mak<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-06 09:53:55 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ab3faf9dd8b61b7adc83f370e8caf40f09a442bb">ab3faf9dd8b61b7adc83f370e8caf40f09a442bb</a>
+<blockquote>
+<p>
+ pdfwrite - improved error handling in pdf_close<br>
+<br>
+ Bug #695013 &quot; GS not finishing pdf write, creating huge files, when root / partition is full&quot;<br>
+<br>
+ we weren't checking the error return when trying to find the end of an<br>
+ xref section while writing the xref. Any ioerror would havce caused this<br>
+ problem.<br>
+<br>
+ While this fixes the specific instance of the problem, I can't guarantee<br>
+ that more subtle problems (eg filling disk while writing the PDF file)<br>
+ don't still exist.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-05 14:19:59 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ff033b6ec050f23cb7b1e6ff52bb48fb45afd9e3">ff033b6ec050f23cb7b1e6ff52bb48fb45afd9e3</a>
+<blockquote>
+<p>
+ Update jbig2dec standalone build for Windows.<br>
+<br>
+ Add the missing jbig2_halftone.c file, and make building without libpng<br>
+ the default.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/jbig2dec/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-04 13:35:04 -0800
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a75ff89833289614e0dc2476c822462670f822bc">a75ff89833289614e0dc2476c822462670f822bc</a>
+<blockquote>
+<p>
+ Remove strdup in gdevxps.c .<br>
+<br>
+ In Windows 8 64 bit builds with VS2012/2013 strdup use resulted in a crash. Replaced<br>
+ with standard strlen/gs_alloc_bytes/strcpy. Note that we need to free this allocation at some point.<br>
+<br>
+gs/devices/vector/gdevxps.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-23 09:53:23 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8033bcb40edf7520682cb14ee41226eddf9c8e5e">8033bcb40edf7520682cb14ee41226eddf9c8e5e</a>
+<blockquote>
+<p>
+ Tweak xpsprint build.<br>
+<br>
+ Conflicts:<br>
+ gs/base/msvctail.mak<br>
+ gs/base/winlib.mak<br>
+ gs/devices/vector/gdevxps.c<br>
+<br>
+ Tweak the xpsprint code to use runtime DLL loading<br>
+<br>
+ Conflicts:<br>
+ gs/base/msvctail.mak<br>
+<br>
+gs/base/msvctail.mak<br>
+gs/base/winlib.mak<br>
+gs/base/xpsprint.cpp<br>
+gs/devices/devs.mak<br>
+gs/devices/vector/gdevxps.c<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-21 12:01:41 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d10c375e190876fef3f431e17c47dcacda03d567">d10c375e190876fef3f431e17c47dcacda03d567</a>
+<blockquote>
+<p>
+ Add new code for a 'gsprint' alike which uses the XPS print system on<br>
+ WIndows<br>
+<br>
+ Add new code for a 'gsprint' on new versions of Windows, using XPS<br>
+<br>
+gs/base/xpsprint.cpp<br>
+gs/devices/vector/gdevxps.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-03 07:18:16 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4eb758e74c73c03b113ba2bf73245f21b1c6de14">4eb758e74c73c03b113ba2bf73245f21b1c6de14</a>
+<blockquote>
+<p>
+ Fix writes to freed memory caused by commit 429640.<br>
+<br>
+ I had moved the clearing of the ctx to before the gs_malloc_release<br>
+ call, but this function frees the ctx, so we wrote to freed memory.<br>
+ Move it back.<br>
+<br>
+gs/psi/iapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-31 12:24:25 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=363f3bc0d3b6206cc1e0aff0ce2fe954c0295409">363f3bc0d3b6206cc1e0aff0ce2fe954c0295409</a>
+<blockquote>
+<p>
+ Fix bug 694994. Gray and CMYK pdf14 clist accumu devices had wrong color_info.<br>
+<br>
+ In cut and pasting the device structures, I negleccted to change the color<br>
+ info for the macros.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-02-01 12:10:22 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f2970c2a35a146f21631612adfca48a0b1bb2b3">2f2970c2a35a146f21631612adfca48a0b1bb2b3</a>
+<blockquote>
+<p>
+ PDF interpreter - disable Comment parsing for PDF files<br>
+<br>
+ Bug #694987 &quot;PDF metadata messed up for PDF-&gt;PDF conversion&quot;<br>
+<br>
+ This is caused by parsing DSC comments from an embedded font file. Of course<br>
+ the font should not contain DSC comments, but it seems FontForge always<br>
+ embeds such.<br>
+<br>
+ There is nothing useful to be gained from *PostScript* comments in a PDF<br>
+ file, so the simplest solution is to disable comment parsing for the<br>
+ duration of the PDF file.<br>
+<br>
+ This will also avoid problems with PostScript XObjects.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-31 15:08:17 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=161559d289a9b4306673c7d7e089182670c5090a">161559d289a9b4306673c7d7e089182670c5090a</a>
+<blockquote>
+<p>
+ Slightly rejig i/o in inkcov device.<br>
+<br>
+ Tweak so that output directed to stdout or stderr go through the graphics<br>
+ library's own stdout and stderr handlers - that way, it can be seen by<br>
+ integrators using the Ghostscript API with custom stdio handler methods.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gdevprn.c<br>
+gs/base/gslibctx.h<br>
+gs/devices/gdevicov.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-31 14:50:55 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7ef7b0d503fee02da12430ee19a394b23b1bfa6f">7ef7b0d503fee02da12430ee19a394b23b1bfa6f</a>
+<blockquote>
+<p>
+ pdfwrite - colour conversion, consider sRGB to be RGB<br>
+<br>
+gs/devices/vector/gdevpdfg.c<br>
+gs/devices/vector/gdevpdfi.c<br>
+gs/devices/vector/gdevpdfp.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-31 09:42:38 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a2a785d3f6111410198c396fe21813ddd41664be">a2a785d3f6111410198c396fe21813ddd41664be</a>
+<blockquote>
+<p>
+ PDF interpreter - add -dUseBleedBox to complete the quartet of Boxes<br>
+<br>
+ Bug #694977 &quot;please provide -dUseBleedBox in analogy to crop- and trimbox&quot;<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+gs/doc/Use.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-31 08:19:31 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6c4e66f6a7a1e9fc3ed3beff84549aa3bbbbe795">6c4e66f6a7a1e9fc3ed3beff84549aa3bbbbe795</a>
+<blockquote>
+<p>
+ pdfwrite - remove 2 unused variables<br>
+<br>
+ silences compiler warnings<br>
+<br>
+gs/devices/vector/gdevpdfm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-30 11:08:55 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=429640b32e1ffcd324c2b44daa1fb35ef41c01d4">429640b32e1ffcd324c2b44daa1fb35ef41c01d4</a>
+<blockquote>
+<p>
+ Move final memory (max) usage to gs_malloc_release.<br>
+<br>
+ Not all systems (e.g. unix) use the gsapi interface, so the debug<br>
+ -Z: didn't print the final memory usage as on Windows.<br>
+<br>
+gs/base/gsmalloc.c<br>
+gs/psi/iapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-30 15:32:23 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ea83541f7fcc1af40cf62f0e7457df74e8b427c4">ea83541f7fcc1af40cf62f0e7457df74e8b427c4</a>
+<blockquote>
+<p>
+ pdfwrite - more EMBED pdfmrk changes<br>
+<br>
+ commit 3e5ae4ea39655643ae352cf4723702a164c10417 omitted a crucial change<br>
+ which swapped the search order of /FS and /Name. Without that the dict<br>
+ entries are not correctly named.<br>
+<br>
+ This oversight demonstrated a flaw in the error handling resulting in invalid<br>
+ PDF files being written, which we correct here. If we get an error we close<br>
+ the 'aside' so that we don't end up writing the PDF trailer to a temporary<br>
+ file instead of the real PDF file.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfm.c<br>
+gs/devices/vector/gdevpdfo.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-30 10:00:23 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e5ae4ea39655643ae352cf4723702a164c10417">3e5ae4ea39655643ae352cf4723702a164c10417</a>
+<blockquote>
+<p>
+ pdfwrite - more work on /EMBED pdfmark<br>
+<br>
+ As was rather anticipated, commit a91d2576df0e60f6e691a3bd967b51109ae41f22<br>
+ wasn't sufficient. We were writing an invalid name tree as we were writing<br>
+ /Limits in the root node. For single entries in the Limits array we only<br>
+ wrote the single entry, in fact we should write that entry twice (!). The<br>
+ value associated with each key in the EmbeddedFiles array had the dictionary<br>
+ we needed stored inside another dictionary with a /FS key. EmbeddedFiles<br>
+ were introduced in PDF 1.4, not PDF 1.2.<br>
+<br>
+ This commit addresses all those problems, Adobe Acrobat Professional can<br>
+ display the list of embedded files and (for embedded PDF files at least)<br>
+ can open the embedded file.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfm.c<br>
+gs/devices/vector/gdevpdfo.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-26 11:15:17 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4e44c995bcc7a2aa6c32e23cb73fd532a93f5b1c">4e44c995bcc7a2aa6c32e23cb73fd532a93f5b1c</a>
+<blockquote>
+<p>
+ Fix bug 689805: Use a clist for pages with transparency that need lots of RAM<br>
+<br>
+ Devices that are not gx_device_printer class try to allocate full page bitmaps<br>
+ for the stack of transparency buffers. This can kill performance or result in<br>
+ VMerror during transparency stack pushes. Devices that are gx_device_printer<br>
+ class automatically used clist mode, but other devices did not. Devices that<br>
+ do not internally support clist mode are recognized by the return from<br>
+ gxdso_supports_saved_pages device spec_op.<br>
+<br>
+ A gx_device_printer device is used to accumulate the page, then when the<br>
+ PDF14_POP_DEVICE is performed, the page is sent to the original device<br>
+ as an image.<br>
+<br>
+ NB, both the pdf14clist___ device and the pdf14___ device are kept in the<br>
+ device chain since we have to be able to accomodate unwinding the gs_state<br>
+ structure that may point to either as various &quot;restore&quot; ops occur.<br>
+ Unfortunate, but until we come up with a way to fix the chain of compositors,<br>
+ this is the best we can do.<br>
+<br>
+ Move space_params to gx_device struct in order to allow non-printer devices<br>
+ control over MaxBitmap, BufferSpace, BandBufferSpace, and BandHeight. The x11<br>
+ device used MaxBitmap somewhat differently, so it now uses the space_params<br>
+ value, and sets the default in its 'open' function, rather than the device<br>
+ prototype. The duplicate 'page_uses_transparency' in space_params is removed,<br>
+ and all devices have this as a parameter.<br>
+<br>
+ Also, get rid if the nasty hacks for detecting pattern-clist devices based on<br>
+ the device name, and export these for the pdf14 device and other clients.<br>
+<br>
+ Finally, (unrelated) remove the #if 0 for testing with small memory on<br>
+ large memory machines, and get rid of the the description of the '.' option<br>
+ since this hasn't worked for years, and the command line options can readily<br>
+ be set anyway.<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gdevprn.c<br>
+gs/base/gdevprn.h<br>
+gs/base/gsdparam.c<br>
+gs/base/gsptype1.c<br>
+gs/base/gsstate.c<br>
+gs/base/gstrans.c<br>
+gs/base/gxband.h<br>
+gs/base/gxclbits.c<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclist.c<br>
+gs/base/gxclist.h<br>
+gs/base/gxclpage.c<br>
+gs/base/gxclrast.c<br>
+gs/base/gxdevcli.h<br>
+gs/base/gxdevice.h<br>
+gs/base/gxpcmap.c<br>
+gs/base/gxpcolor.h<br>
+gs/base/lib.mak<br>
+gs/devices/gdevbit.c<br>
+gs/devices/gdevplib.c<br>
+gs/devices/gdevx.c<br>
+gs/devices/gdevx.h<br>
+gs/devices/gdevxini.c<br>
+gs/doc/Use.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-29 17:32:04 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a91d2576df0e60f6e691a3bd967b51109ae41f22">a91d2576df0e60f6e691a3bd967b51109ae41f22</a>
+<blockquote>
+<p>
+ pdfwrite - enable the EMBED pdfamrk<br>
+<br>
+ Bug #690043 &quot;Can't create a pdf file with attachment&quot;<br>
+<br>
+ This turned out to be more complex than I expected. I had planned to lever<br>
+ off the /Dests code, but....<br>
+<br>
+ It seems that our Named destinations support is only PDF 1.1. The specification<br>
+ was changed ion PDF 1.2 to use a name tree instead of a simple dictionary<br>
+ and we didn't alter our code. The EmbeddedFiles wasn't supported in PDF 1.1<br>
+ so it has always needed a name tree.<br>
+<br>
+ So in addition to adding the EMBED pdfmark, we now also will write a name<br>
+ tree for Dests if the CompatibilityLevel is &gt; 1.1. Note that the 'tree'<br>
+ we write is the simplest possible one and is likely to be sub-optimal, we<br>
+ write all the entries in the root of the tree. However its legal and should<br>
+ work, we can extend this later if needs be.<br>
+<br>
+ I don't have a good way to test this, but the output looks OK by inspection<br>
+ and we don't get any regressions.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfm.c<br>
+gs/devices/vector/gdevpdfo.c<br>
+gs/devices/vector/gdevpdfo.h<br>
+gs/devices/vector/gdevpdfu.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-29 13:07:34 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2dae08db5c51c9a255b8d18ef011f75c4ee48e9f">2dae08db5c51c9a255b8d18ef011f75c4ee48e9f</a>
+<blockquote>
+<p>
+ Fix non gcc DEBUG builds of pcl.<br>
+<br>
+ Simple transposition of lines required.<br>
+<br>
+pcl/pcsfont.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-28 17:21:48 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f471820635cbbaf4f7ed5c9185700ebb51378f0d">f471820635cbbaf4f7ed5c9185700ebb51378f0d</a>
+<blockquote>
+<p>
+ PDF interpreter - attempt to recover from degenerate text matrix or CTM<br>
+<br>
+ Some PDF files set a degenerate matrix or text matrix, eg<br>
+<br>
+ 0 0 0 0 0 0 Tm<br>
+<br>
+ This causes us a problem with currentpoint and .getpath, both of which<br>
+ need to invert the CTM. If the CTM is all 0 then it (clearly) can't be<br>
+ inverted.<br>
+<br>
+ The code here emits a warning, in the case of settextposition it simply<br>
+ does not advance the current point (which seems correct, since the text<br>
+ will make no changes). In the case where we attempt to grestore (Q) but<br>
+ preserving the current path, we drop the path and make a new path. This<br>
+ may well not be correct, but its hard to see what would be.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/Resource/Init/pdf_ops.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-23 09:17:31 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e46be795d1a682259ebcca3df2ad581150414adf">e46be795d1a682259ebcca3df2ad581150414adf</a>
+<blockquote>
+<p>
+ epsi.ps - change two \r to \n<br>
+<br>
+ Apparently gv has a bug and can't handle \r line endings.<br>
+<br>
+ Bug #694968<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/lib/ps2epsi.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-23 09:09:48 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=03376079a8c05dd2224c057aaa95c508521ce784">03376079a8c05dd2224c057aaa95c508521ce784</a>
+<blockquote>
+<p>
+ vector devices - add a warning message when OutputFile exceeds a limit<br>
+<br>
+ Bug #694948<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/base/gdevvec.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-11 16:53:48 +0000
+</strong>
+<br>Hin-Tak Leung &lt;hintak@ghostscript.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49bb8200d6c92ddcd191026c0273f8bc229ad9e0">49bb8200d6c92ddcd191026c0273f8bc229ad9e0</a>
+<blockquote>
+<p>
+ Bug 694873: bare JPEG2000 images without JP2 header in pdf.<br>
+<br>
+ To cope with JPEG2000 images without JP2 headers.<br>
+<br>
+ This change is essentially the corresponding change in mupdf<br>
+ (https://code.google.com/p/sumatrapdf/issues/detail?id=937 ,<br>
+ http://bugs.ghostscript.com/show_bug.cgi?id=691346 ,<br>
+ test file 937_-_openjpeg_cannot_decode_JP2_structure.pdf),<br>
+ where one takes a peek at the first few bytes of the stream<br>
+ before setting the decoding parameters; with the caveat that<br>
+ in ghostcript, we need to delay most of the stream<br>
+ initialization - and allocation of resources - until<br>
+ after seeing the first few bytes, and therefore also<br>
+ not necessarily de-allocate at stream close.<br>
+<br>
+ The cluster test file, openjpeg_166_-_buffer_overflow.pdf,<br>
+ (https://code.google.com/p/openjpeg/issues/detail?id=166)<br>
+ is of the same issue.<br>
+<br>
+ EXPECTED DIFFERENCES:<br>
+ 937_-_openjpeg_cannot_decode_JP2_structure.pdf<br>
+ openjpeg_166_-_buffer_overflow.pdf<br>
+ (Both are progressions.)<br>
+<br>
+gs/base/sjpx_openjpeg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-22 22:06:51 +0100
+</strong>
+<br>Till Kamppeter &lt;till.kamppeter@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5d6b18aa6a2a4ece4854ed9af074bb65f41af293">5d6b18aa6a2a4ece4854ed9af074bb65f41af293</a>
+<blockquote>
+<p>
+ Set correct portrait/landscape orientation on PCL 5c/e output<br>
+<br>
+ Fixes bug #693715.<br>
+<br>
+gs/devices/gdevdjet.c<br>
+gs/devices/gdevdljm.c<br>
+gs/devices/gdevpcl.c<br>
+gs/devices/gdevpcl.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-20 13:18:23 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c699e89a897b85d2f1f0a07ecac8d64b53500804">c699e89a897b85d2f1f0a07ecac8d64b53500804</a>
+<blockquote>
+<p>
+ pdfwrite - fix xref when eliding duplicate patterns<br>
+<br>
+ commit fe99ca5fd2e3b191a76c7f7d791b72f3603e9fea detected duplicate shading<br>
+ patterns, and did not emit them into the PDF file, instead using the first<br>
+ definition. Unfortunately, due to a mis-understanding of the existing code<br>
+ the xref entry remained assigned, which led to invalid xref tables<br>
+ being written.<br>
+<br>
+ This commit fixes the xref, and adds some (hopefully useful) comments to<br>
+ the relevant functions to try and avoid a repetition.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfu.c<br>
+gs/devices/vector/gdevpdfv.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-17 12:37:24 -0700
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=54927dd449c476b5a8c125e9beb1fbe06bebc45e">54927dd449c476b5a8c125e9beb1fbe06bebc45e</a>
+<blockquote>
+<p>
+ Fix 694951 - No output produced.<br>
+<br>
+ Allow the HPGL/2 command &quot;PG&quot; to initialize the GL/2 parser at the<br>
+ beginning of a job.<br>
+<br>
+pcl/pcparse.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-15 02:00:12 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b13ef732907219b48757e2f501486f71b9f21030">b13ef732907219b48757e2f501486f71b9f21030</a>
+<blockquote>
+<p>
+ Bug 694893: prevent overflow in opj_int_ceildivpow2<br>
+<br>
+ This can be seen e.g. in:<br>
+<br>
+ 4241ac039aba57e6a9c948d519d94216_asan_heap-oob_14650f2_7469_602.pdf<br>
+<br>
+ Thanks to Mateusz Jurczyk and Gynvael Coldwind of the Google Security<br>
+ Team for providing the example files.<br>
+<br>
+gs/openjpeg/libopenjpeg/opj_intmath.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-14 23:11:43 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b0c9985e3359aca9b3fcfd94424166aa61a141a">5b0c9985e3359aca9b3fcfd94424166aa61a141a</a>
+<blockquote>
+<p>
+ Bug 694880: fix write access violation in opj_j2k_add_tlmarker<br>
+<br>
+ A tile_index' current_tpsno may be far larger than the number of tile<br>
+ parts because opj_j2k_read_sot increases that number just by 10 instead<br>
+ of growing it to the actually required size.<br>
+<br>
+ This can be seen e.g. in:<br>
+<br>
+ 147af3f1083de4393666b7d99b01b58b_signal_sigsegv_130c531_6155_5136.pdf<br>
+<br>
+ Thanks to Mateusz Jurczyk and Gynvael Coldwind of the Google Security<br>
+ Team for providing the example files.<br>
+<br>
+gs/openjpeg/libopenjpeg/j2k.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-14 22:45:49 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7366747076f3b75def52079bd4d5021539a16394">7366747076f3b75def52079bd4d5021539a16394</a>
+<blockquote>
+<p>
+ Bug 694949: prevent denial of service with arithmetic decoding<br>
+<br>
+ Badly constructed Jbig2 images using arithmetic decoding may result in<br>
+ a denial of service attack by causing huge images to be created and<br>
+ initialized from no data at all (at EOS, the arithmetic decoder always<br>
+ returns the same values instead of failing).<br>
+<br>
+ Two cases are prevented with this patch:<br>
+ * huge generic regions with barely any data to decode it from<br>
+ * a huge list of height classes with no data at all to decode it from<br>
+<br>
+ This can be seen e.g. in:<br>
+<br>
+ b534b5caad95dd405735ec9a079fd43b_asan_heap-oob_14bf3ce_6977_5690.pdf<br>
+<br>
+ Thanks to Mateusz Jurczyk and Gynvael Coldwind of the Google Security<br>
+ Team for providing the example files.<br>
+<br>
+gs/jbig2dec/jbig2_arith.c<br>
+gs/jbig2dec/jbig2_arith.h<br>
+gs/jbig2dec/jbig2_generic.c<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-17 09:35:36 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=24dce021d5f774dd4264011cbd64bb4afb5aa51c">24dce021d5f774dd4264011cbd64bb4afb5aa51c</a>
+<blockquote>
+<p>
+ PDF interpreter - Don't set UseCIEColor unless actually required.<br>
+<br>
+ The PDF specification says that if a PDF file contains a page which uses<br>
+ a ColorSpace Resource of DefautlGray, DefaultRGB or DefaultCMYK then this<br>
+ should be regarded as a &quot;request that such colors be systematically<br>
+ transformed (remapped) into device-independent CIE-based color spaces.&quot;.<br>
+ Essentially the PDF equivalent of UseCIEColor.<br>
+<br>
+ This does rather beg the question of why not specify the colours in a<br>
+ device-independent space in the first place.....<br>
+<br>
+ In any event, in order to achieve this the PDF interpreter pulls some<br>
+ tricks. We start by defining the Default* resources as the equivalent<br>
+ Device* spaces and *always* define UseCIEColor to true. Thus whenever<br>
+ we set a device color space the colour machinery tries to use instead the<br>
+ appropriate Device* space. Because the color space machinery has an<br>
+ optimisation to jump straight out when the requested space is the same as<br>
+ the current space, this means that the UseCIEColor transformation should<br>
+ have no effect.<br>
+<br>
+ However, pdfwrite now emits a warning if UseCIEColor is true, so we want<br>
+ to avoid unconditionally setting UseCIEColor (I also find it horrifying that<br>
+ we do this terrible hackery).<br>
+<br>
+ This commit borrows code used to set the Default* spaces if they exist on<br>
+ a page, and uses it to detect such spaces before we call setpagedevice<br>
+ for each page. We now only set UseCIEColor if the page actually uses one<br>
+ of the Default* spaces and therefore requires it.<br>
+<br>
+ I did consider trying to substitute the defined colour space with the<br>
+ Default* space whenever a colour space definition takes place and a Default*<br>
+ space is defined, but gave up as there were simply too many places where<br>
+ color spaces could be defined.<br>
+<br>
+ This code does (somewhat unexpectedly) produce some differences.<br>
+ These are either progressions or very tiny differences, and I feel that<br>
+ *not* setting UseCIEColor should be preferable anyway. (The real puzzle<br>
+ is why some PostScript files seem to differ, but they only differ when<br>
+ sent to pdfwrite and the PDF is then interpreed. Looks like UseCIEColor<br>
+ has some strange behaviour with ICCBased spaces).<br>
+<br>
+ with pdfwrite:<br>
+ altona_technical_1v2_x3.pdf - very minor colour shift<br>
+ altona_technical_v20_x4 - progression on page 7<br>
+ 09-31.ps - difference in gray ramp in CIE space<br>
+ 09-34.ps - indetectable differences in some CIE colours<br>
+<br>
+ all devices:<br>
+ Bug692783.pdf - indetectable shits in background<br>
+ Catx5720.pdf - slight colour shifts in 3 graphics<br>
+ 1021_-_transparency-issue.pdf - tiny colour shifts<br>
+ 1141_-_background_shading_cropped.pdf - tiny colour shifts<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-14 20:09:53 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ec1c4adcc5fab850e4038c4d5392adddd265c67e">ec1c4adcc5fab850e4038c4d5392adddd265c67e</a>
+<blockquote>
+<p>
+ Bug 694871: move libjpeg away from gc memory<br>
+<br>
+ Change the libjpeg interface code to use a chunk allocator instead of garbage<br>
+ collected, &quot;unstable&quot; memory.<br>
+<br>
+ Previously, the libjpeg integration used &quot;Postscript&quot; memory, that is, memory<br>
+ that is subject to garbage collection and save/restore operations.<br>
+<br>
+ This means that Postscript like:<br>
+ /In (file) (r) file /DCTDecode filter def<br>
+ save<br>
+ &lt;&lt;<br>
+ ...<br>
+ /ImageSource In<br>
+ ...<br>
+ &gt;&gt; image<br>
+ restore<br>
+ In closefile<br>
+<br>
+ would almost certainly cause a crash, since the memory allocated by libjpeg<br>
+ during the decoding for the &quot;image&quot; operator would be freed by the &quot;restore&quot;<br>
+ operator, *before* the &quot;closefile&quot; destroyed the filter stream and the<br>
+ libjpeg context.<br>
+<br>
+ If we opt to always wrap the &quot;default&quot; heap allocator in a chunk allocator<br>
+ then we should probably remove the chunk allocator instances created<br>
+ specifically for libjpeg.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gsstruct.h<br>
+gs/base/lib.mak<br>
+gs/base/sdct.h<br>
+gs/base/sdctc.c<br>
+gs/base/sdctd.c<br>
+gs/base/sdcte.c<br>
+gs/base/sjpegc.c<br>
+gs/devices/vector/gdevpsdi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-15 12:54:43 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c95dd5ba2cfd9b36aa3a18e7725089a741b7fa70">c95dd5ba2cfd9b36aa3a18e7725089a741b7fa70</a>
+<blockquote>
+<p>
+ Have DSC parser use GS memory handling<br>
+<br>
+ The DSC parser was using it's own default memory alloc/free functions which<br>
+ just called the libc malloc/free.<br>
+<br>
+ This tweaks our integration code so the parser will use the Ghostscript memory<br>
+ management functions.<br>
+<br>
+ There are no changes to the parser code, the changes are entirely confined to<br>
+ integrating the parser with our PS interpreter.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/psi/zdscpars.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 23:05:43 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8ec8321df613986e8642e2975f7182072eb4be62">8ec8321df613986e8642e2975f7182072eb4be62</a>
+<blockquote>
+<p>
+ make opj_stream_set_user_data accept a NULL stream<br>
+<br>
+ ... for consistency with opj_stream_set_* which does so.<br>
+<br>
+gs/openjpeg/libopenjpeg/cio.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:56:54 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d6121c78a0fc6c8cd87c6495e11d327068518c35">d6121c78a0fc6c8cd87c6495e11d327068518c35</a>
+<blockquote>
+<p>
+ prevent assertion under MSVC on impossibly large allocations<br>
+<br>
+ MSVC's debug CRT asserts that arguments to malloc and realloc aren't<br>
+ impossibly large (close to (size_t)-1) which makes testing fuzzed files<br>
+ impossible with assertions enabled.<br>
+<br>
+ Problem found in a test file, 2236.pdf.asan.40.1376 supplied<br>
+ by Mateusz &quot;j00ru&quot; Jurczyk and Gynvael Coldwind of the Google<br>
+ Security Team using Address Sanitizer. Many thanks!<br>
+<br>
+gs/openjpeg/libopenjpeg/opj_malloc.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:54:36 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=87b08a096bb8ad61f9dbe4811e208d9c9d7fe63b">87b08a096bb8ad61f9dbe4811e208d9c9d7fe63b</a>
+<blockquote>
+<p>
+ don't define lrintf for MSVC 2013 (fix compilation breakage)<br>
+<br>
+gs/openjpeg/libopenjpeg/opj_includes.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 23:04:38 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0f07c3247cc9211e57bb5429634f79c8c762fbfa">0f07c3247cc9211e57bb5429634f79c8c762fbfa</a>
+<blockquote>
+<p>
+ fix error message in opj_jp2_read_colr<br>
+<br>
+gs/openjpeg/libopenjpeg/jp2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:46:48 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f4b1565c10fe6faa7ed3854a7fa3cd0a6e18511">2f4b1565c10fe6faa7ed3854a7fa3cd0a6e18511</a>
+<blockquote>
+<p>
+ tweak commit 66d9c0aa17a5abcecd6590e63f0620f7aa51634c<br>
+<br>
+ The fix for testcase 1336.pdf.asan.47.376 for bug 694311 was slightly<br>
+ too strict: The access violation only happens during the MCT decoding<br>
+ step which might be skipped for some images. This patch moves the test<br>
+ into opj_tcd_mct_decode to only apply when it's actually required<br>
+ (which should allow j2kp4-file3-ycc-8bpc.pdf to be read without errors<br>
+ inside openjpeg itself and leaves handling of components of different<br>
+ sizes to the calling application/library).<br>
+<br>
+gs/openjpeg/libopenjpeg/tcd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:40:39 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0eedf7c22a76f089bbe13d76496ae56de38dfbef">0eedf7c22a76f089bbe13d76496ae56de38dfbef</a>
+<blockquote>
+<p>
+ tweak commit 99a6f1af177c15f4db475186b79d169c993494ef<br>
+<br>
+ Error messages should go to stderr instead of stdout so that tools such<br>
+ as mudraw -t don't get stdout polluted.<br>
+<br>
+gs/openjpeg/libopenjpeg/t2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:35:38 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fc884aee2b69c78500e65c3d05bf216791a9ea4a">fc884aee2b69c78500e65c3d05bf216791a9ea4a</a>
+<blockquote>
+<p>
+ prevent heap overflow in opj_t2_read_packet_header<br>
+<br>
+ Also prevent a double-free of segment data under OOM conditions.<br>
+<br>
+ Problem found in a test file, 1802.pdf.SIGSEGV.36e.894 supplied<br>
+ by Mateusz &quot;j00ru&quot; Jurczyk and Gynvael Coldwind of the Google<br>
+ Security Team using Address Sanitizer. Many thanks!<br>
+<br>
+gs/openjpeg/libopenjpeg/t2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:32:37 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83dad6a76536222a3a51146f942e733a2e90ec52">83dad6a76536222a3a51146f942e733a2e90ec52</a>
+<blockquote>
+<p>
+ fix potential NULL-pointer dereference<br>
+<br>
+ ... caused by testing the wrong variable after opj_realloc<br>
+ (happens only in OOM situations)<br>
+<br>
+gs/openjpeg/libopenjpeg/jp2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-23 00:00:32 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dafa1945a18e79578335693a4e4c6247e2617ee2">dafa1945a18e79578335693a4e4c6247e2617ee2</a>
+<blockquote>
+<p>
+ jbig2dec: tweak overflow check in jbig2_(re)alloc<br>
+<br>
+ If num * size overflows under x64, the value may be negative and still<br>
+ fit into a 32-bit integer. The proper check unfortunately requires a<br>
+ division.<br>
+<br>
+ Note: The maximum allowed allocation is (size_t)-0x100 instead of<br>
+ SIZE_MAX so that debug CRTs which check for the allocation of e.g.<br>
+ (size_t)-1 never assert.<br>
+<br>
+gs/jbig2dec/jbig2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-10 22:56:52 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5eaf740b2c02523ae2ae6454e546cb6700d4e3f3">5eaf740b2c02523ae2ae6454e546cb6700d4e3f3</a>
+<blockquote>
+<p>
+ Bug 694892: buffer overrun in jbig2_comment_ascii<br>
+<br>
+gs/jbig2dec/jbig2_metadata.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-10 22:30:16 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8b82970325b2bd9aa993aa16c214a915ec8210e3">8b82970325b2bd9aa993aa16c214a915ec8210e3</a>
+<blockquote>
+<p>
+ follow-up to 8e2f00f15c988d75a4182ecdcdc1a82b4686ef92<br>
+<br>
+ This might fix bug 694903.<br>
+<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-12 22:12:35 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cddfd67f2df1863f8b06770e80e7c97bf970ccbb">cddfd67f2df1863f8b06770e80e7c97bf970ccbb</a>
+<blockquote>
+<p>
+ Bug 694882: sanitize component mappings<br>
+<br>
+ PCLR, CMAP and CDEF data aren't properly sanitized - even after the<br>
+ fixes from the last fuzzing round. This patch unifies all the required<br>
+ checks in a new function opj_jp2_check_color which is invoked before<br>
+ the cdef and cmap values are used.<br>
+<br>
+ This can be seen e.g. in:<br>
+<br>
+ 66ea31acbb0f23a2bbc91f64d69a03f5_signal_sigsegv_13937c0_7030_5725.pdf<br>
+<br>
+ Thanks to Mateusz Jurczyk and Gynvael Coldwind of the Google Security<br>
+ Team for providing the example files.<br>
+<br>
+gs/openjpeg/libopenjpeg/jp2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 22:20:37 +0100
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f4139d702559649e577a5df9cfd64b0ca6107a7a">f4139d702559649e577a5df9cfd64b0ca6107a7a</a>
+<blockquote>
+<p>
+ don't ignore buffer sizes<br>
+<br>
+ Several functions accept a buffer size but never actually check whether<br>
+ the buffer overflows during reading/writing. This fixes all cases where<br>
+ a size variable has explicitly been marked as unused (through a (void)<br>
+ cast).<br>
+<br>
+ This was discovered while investigating an assertion caused by<br>
+ 7cc691f332f26802c64cdc47e17bff8b_signal_sigabrt_7ffff6d59425_2247_2509.pdf<br>
+ among others.<br>
+<br>
+ Thanks to Mateusz Jurczyk and Gynvael Coldwind of the Google Security<br>
+ Team for providing the example files.<br>
+<br>
+gs/openjpeg/libopenjpeg/event.c<br>
+gs/openjpeg/libopenjpeg/jp2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-10 11:45:16 -0700
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2c5cd8c29271d8735349353538c4a353f3aa563b">2c5cd8c29271d8735349353538c4a353f3aa563b</a>
+<blockquote>
+<p>
+ Debug option &quot;-ZI&quot; results improved or corrected with the goal of<br>
+ creating output that can be reassembled back into PCL.<br>
+<br>
+ We have an assembler and disassembler for PXL: pxlasm.py, pxldis.py,<br>
+ but they do not support PCL. For PCL we will use the GhostPCL<br>
+ interpreter with -ZI and an upcoming Python program will read that<br>
+ output and reassemble back to PCL.<br>
+<br>
+pcl/pccid.c<br>
+pcl/pcdither.c<br>
+pcl/pclookup.c<br>
+pcl/pcommand.c<br>
+pcl/pcommand.h<br>
+pcl/pcpage.c<br>
+pcl/pcparse.c<br>
+pcl/pcpatrn.c<br>
+pcl/pcsfont.c<br>
+pcl/pcsymbol.c<br>
+pcl/pctext.c<br>
+pcl/pcuptrn.c<br>
+pcl/pglabel.c<br>
+pcl/pgparse.c<br>
+pcl/pgvector.c<br>
+pcl/rtmisc.c<br>
+pcl/rtraster.c<br>
+pl/plmain.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-11 11:44:36 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a267d719148abf961f479ba6c9024bfa2c18bf5">4a267d719148abf961f479ba6c9024bfa2c18bf5</a>
+<blockquote>
+<p>
+ pdfwrite - limit scan line comparison to actual width<br>
+<br>
+ Bug #694930 &quot;Valgrind issues found by fuzzing in compute_subimage (gdevpdfd.c:707)&quot;<br>
+<br>
+ The local image converter, and specifically mask to clip conversion,<br>
+ compare consecutive scan lines of an image to see if they are identical.<br>
+<br>
+ However, they were using the width of the allocated raster, which can include<br>
+ alignment padding, rather then the actual width of the image data. This<br>
+ meant we were comparing uninitialised data. In this case its actually safe<br>
+ as we would simply create a more complex clip than required, but its<br>
+ definitely sub-optimal.<br>
+<br>
+ This commit changes the comparison to use the number of bits in the image,<br>
+ rounded up to the nearest byte.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 16:08:15 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=20f6eb7d946cda9bd6b141881d1abd13daec911e">20f6eb7d946cda9bd6b141881d1abd13daec911e</a>
+<blockquote>
+<p>
+ More error checking when copying fonts<br>
+<br>
+ Bug #694263 is again a fuzzing bug declared to demonstrate Valgrind errors<br>
+ which for me causes a seg fault.<br>
+<br>
+ This again appears to be due to a broken TrueType font. The additional<br>
+ checking in this commit resolves the problem for me.<br>
+<br>
+gs/devices/gxfcopy.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 12:04:51 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49a05084feee92818347fbf888fc2ab784b82122">49a05084feee92818347fbf888fc2ab784b82122</a>
+<blockquote>
+<p>
+ pdfwrite - initialise some variables to pacify valgrind<br>
+<br>
+ Bug #694236 does not give the valgrind warnings described in the bug<br>
+ report for me, but did complain about the character widths. It seems<br>
+ that somehow (broken font ?) the values were uninitialised. Here we just<br>
+ set them to 0.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdte.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 11:13:02 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e9a574ec0e6d13fcf898a7132ce08476af4ea84d">e9a574ec0e6d13fcf898a7132ce08476af4ea84d</a>
+<blockquote>
+<p>
+ Don't attempt to copy a missing glyph when copying fonts<br>
+<br>
+ Bug #694236 for me does not (initially at least) cause a Valgrind warning,<br>
+ but does cause a seg fault.<br>
+<br>
+ The problem is that we have a (presumably broken) TrueType font where we<br>
+ try to enumerate all the glyphs in the font. The enumeration code returns<br>
+ a GS_NO_GLYPH, but the font copying code doesn't catch that, and so tries<br>
+ to copy that glyph. This causes a crash in the name lookup.<br>
+<br>
+ The commit here simply adds an additional check that the glyph is not<br>
+ 'GS_NO_GLYPH', if it is we treat it as an error.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/gxfcopy.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-09 08:19:51 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb42d237028c3fd832664c5e1479483a430f5ed9">eb42d237028c3fd832664c5e1479483a430f5ed9</a>
+<blockquote>
+<p>
+ DSC parser - silence a compiler warning with a cast<br>
+<br>
+gs/psi/dscparse.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-08 10:57:46 -0700
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b2ecdbba02eac6fa19866bd18c83ece7cdd4074d">b2ecdbba02eac6fa19866bd18c83ece7cdd4074d</a>
+<blockquote>
+<p>
+ Possible fix for 694837.<br>
+<br>
+ Allow the luratech jbig2 encoder to process 0 input without error like<br>
+ all other streams encoders. Analysis by Ken Sharp.<br>
+<br>
+gs/base/sjbig2_luratech.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-08 16:12:53 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=32df3bf46606f697d7deae86211c897be63a0764">32df3bf46606f697d7deae86211c897be63a0764</a>
+<blockquote>
+<p>
+ DSC parser - reset scanning at end of job<br>
+<br>
+ Currently the DSC parser never leaves 'scan_trailer', which is fine for<br>
+ one-job-at-a-time usage, but not good for job server or multiple inputs.<br>
+<br>
+ This commit modifies the scan-trailer condition so that if a new DSC header<br>
+ is encountered, *after* we've found a trailer, we reset some aspects of the<br>
+ DSC parsing.<br>
+<br>
+ Note that this doesn't completely reset the parser as that caused memory<br>
+ problems.<br>
+<br>
+ Bug #692208<br>
+<br>
+ No differences expected<br>
+<br>
+gs/psi/dscparse.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-08 08:26:14 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cbeeef7f54bd183515f81d42176a049a7f7703a2">cbeeef7f54bd183515f81d42176a049a7f7703a2</a>
+<blockquote>
+<p>
+ pdfwrite - add a warning if -dUseCIEColor is set<br>
+<br>
+ With the current color management its not really sensible to set UseCIEColor<br>
+ (which was always a horrible hack anyway) in order to do color conversion<br>
+ or management.<br>
+<br>
+ So if we see this being done, show the user a warning. We don't want to<br>
+ raise an error as someone will undoubtedly complain that they have a good<br>
+ reason for using UseCIEColor with pdfwrite.....<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-01 20:32:49 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=13b8f94c86efc4b98c7d63774b761bad9783f16c">13b8f94c86efc4b98c7d63774b761bad9783f16c</a>
+<blockquote>
+<p>
+ Enable the pdf14 optimization. Previous commit only collected data.<br>
+<br>
+ Somehow, the previous commit that collected the data didn't actually<br>
+ skip pdf14 transparency on any bands. Also testing showed that fiils<br>
+ with patterns that needed transparency were not being detected.<br>
+<br>
+ We need to save the page mode pdf14_needed state based on the blend_mode<br>
+ and opacity to restore to the correct setting after smask or transpacrency<br>
+ group pushes.<br>
+<br>
+ Lastly, we punt if the device is not contone, since the colors written<br>
+ for bands will be contone which are not compatible with the target.<br>
+<br>
+ Correct the pdf14_opmode_names to add in the missing PDF14_ABORT_DEVICE.<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gstrans.h<br>
+gs/base/gxclist.h<br>
+gs/base/gxclpath.c<br>
+gs/base/gxclrast.c<br>
+gs/base/gxclread.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-06 14:29:14 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b86a214d542a91e526599aaadd2e68d896c1edff">b86a214d542a91e526599aaadd2e68d896c1edff</a>
+<blockquote>
+<p>
+ pdfwrite - fix another memory allocator<br>
+<br>
+ After the previous problem caused by using the non-stable memory allocator<br>
+ I reviewed all use of this allocator and nonticed that in this case we<br>
+ allocate using the stable allocator, but were freeing it using the non-stable<br>
+ allocator.<br>
+<br>
+ This probably only leaks memory but its best to fix it.<br>
+<br>
+gs/devices/vector/gdevpdtd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-06 14:27:37 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=465eb2d291a92c8eda46c090c70594b4ef8f0fba">465eb2d291a92c8eda46c090c70594b4ef8f0fba</a>
+<blockquote>
+<p>
+ pdfwrite - add a comment explaining about pdev-&gt;pdf_mewmory<br>
+<br>
+gs/devices/vector/gdevpdfx.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-06 14:27:01 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=18f35e567b9e6760bf60a1f4c04b725cd343d5a9">18f35e567b9e6760bf60a1f4c04b725cd343d5a9</a>
+<blockquote>
+<p>
+ pdfwrite - minor memory issue<br>
+<br>
+ Noticed while reviewing other problems, we didn't check to see if a memory<br>
+ allocation was successful, and also; if a subsequent fread() failed we would<br>
+ not free the allocated memory.<br>
+<br>
+gs/devices/vector/gdevpdfo.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-06 14:25:06 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba099db2df6867215178b7cfc1065eb921105d66">ba099db2df6867215178b7cfc1065eb921105d66</a>
+<blockquote>
+<p>
+ pdfwrite - squelch a compiler warning<br>
+<br>
+ undefine PDF_FOR_EPS2WRITE to prevent compiler complaning its redefined.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2014-01-06 10:39:41 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ecf24042611a96c9d5560ccec845f3b2e4d70b38">ecf24042611a96c9d5560ccec845f3b2e4d70b38</a>
+<blockquote>
+<p>
+ pdfwrite - use stable memory for the outline tree<br>
+<br>
+ Bug #694868 &quot;Regression: seg faults starting with 0790b03698b27dcf342e0175d2f833c921b5dab2&quot;<br>
+<br>
+ The move of the outline tree to a dynamic allocation instead of static<br>
+ accidentally used memory subject to save and restore instead of stable<br>
+ memory. Oddly this only caused problems on the Linux debug build.<br>
+<br>
+ This commit moves the allocation to stable memory which I *believe* will<br>
+ solve the problem. NB Chris is going to alter the allocation code so that<br>
+ a debug build will flag this sort of problem up.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-30 12:50:40 -0800
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d4e6b106c336b8ae7db87f4bec6e0afb6993b687">d4e6b106c336b8ae7db87f4bec6e0afb6993b687</a>
+<blockquote>
+<p>
+ Fixes for issues with the use of DeviceN source profiles<br>
+<br>
+ GC definitions were wrong for some of the structures and also name allocation size was wrong.<br>
+ Fixes bug 694865<br>
+<br>
+gs/base/gsicc_lcms.c<br>
+gs/base/gsicc_lcms2.c<br>
+gs/base/gsicc_manage.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-20 18:19:23 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6700dbf0d426ba8d6a707d639159b5b8db00a95c">6700dbf0d426ba8d6a707d639159b5b8db00a95c</a>
+<blockquote>
+<p>
+ Pass on an error code rather than ignore it.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-22 23:22:42 -0800
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=17f0dfaf200163d7207f27f3cc34e0a1cf843203">17f0dfaf200163d7207f27f3cc34e0a1cf843203</a>
+<blockquote>
+<p>
+ Add missing case for UNKNOWN color space in transparency group.<br>
+<br>
+ This is used when the the new group did not specify a color space. We<br>
+ were incorrectly returning an error. There is no error. The UNKNOWN<br>
+ information is stored in the clist and when we later get the UNKNOWN<br>
+ information we known to just keep the current color space.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-23 10:30:04 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=72713e784ddaea275498a67e25ab77aedbc0eb9b">72713e784ddaea275498a67e25ab77aedbc0eb9b</a>
+<blockquote>
+<p>
+ Fix bug 69365: Write pattern colors to all bands consistently for images.<br>
+<br>
+ Thanks to Michael Vrhel for tracking this down. If a transparent pattern<br>
+ color is written to all bands after having been written to a band for<br>
+ an image, the transparency fill_trans_buffer will be NULL because the<br>
+ group for the image was pushed at 'begin_typed_image' time. We now write<br>
+ the color to all_bands based on the image extent, consistently.<br>
+<br>
+gs/base/gxcldev.h<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclpath.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-23 15:45:23 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0790b03698b27dcf342e0175d2f833c921b5dab2">0790b03698b27dcf342e0175d2f833c921b5dab2</a>
+<blockquote>
+<p>
+ pdfwrite - convert outline tree to dynamic storage<br>
+<br>
+ Bug #690429 &quot;convert outline tree from static array to dynamic list&quot;<br>
+<br>
+ In the past the outline tree in pdfwrite was a hard coded array with a<br>
+ maximum depth of 31. This array is now dynamically allocated, so the depth<br>
+ is limited only by available memory.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfm.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-20 17:54:42 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3574d5254bd93dc2b002f93de120043990c3fcda">3574d5254bd93dc2b002f93de120043990c3fcda</a>
+<blockquote>
+<p>
+ Remove mistakenly added files.<br>
+<br>
+clustercmd<br>
+clusterdatestamp<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-18 07:56:31 -0800
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f8bb99dae2db541b7941d65816581137990be6d">6f8bb99dae2db541b7941d65816581137990be6d</a>
+<blockquote>
+<p>
+ Temp debug patch<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gsptype1.c<br>
+gs/base/gxpcmap.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-20 15:31:10 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dcb60221c23d33e65ed2193f1f0e6355f06c12ab">dcb60221c23d33e65ed2193f1f0e6355f06c12ab</a>
+<blockquote>
+<p>
+ Add more error handling missing from pdf14.<br>
+<br>
+gs/base/gxblend1.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-20 15:27:54 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d355b00b5915697904a2c0f8a2334050d2c1bf32">d355b00b5915697904a2c0f8a2334050d2c1bf32</a>
+<blockquote>
+<p>
+ Bug 694858: Add some missing error handling.<br>
+<br>
+ This solves at least some of the SEGVs.<br>
+<br>
+clustercmd<br>
+clusterdatestamp<br>
+gs/base/gstrans.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-20 10:05:58 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba28d0f50d9de48d8961f93044b5dac8139312f2">ba28d0f50d9de48d8961f93044b5dac8139312f2</a>
+<blockquote>
+<p>
+ pdfwrite - update element linked list before freeing element in cos dicts<br>
+<br>
+ Bug 694854 &quot;Converting pdf to PDFX standard crashes ghostscript right before the end&quot;<br>
+<br>
+ When creating a PDF/X file the code deletes any BleedBox, TrimBox, ArtBox<br>
+ entries from the page dictionary after writing them (ho idea why...) using<br>
+ the cos_dict_delete() function.<br>
+<br>
+ The function frees the memory, and then updates the linked list of elements<br>
+ in the dictionary, however it updates the list after freeing the memory. If<br>
+ the free memory pointed to should alter before the linked list is updated,<br>
+ then the list will be updated with garbage.<br>
+<br>
+ Updating the linked list *before* freeing the memory is a much better way<br>
+ to proceed.<br>
+<br>
+ Because this is only called when creating PDF/X files, no differences are<br>
+ expected.<br>
+<br>
+gs/devices/vector/gdevpdfo.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-19 22:30:39 +0100
+</strong>
+<br>Till Kamppeter &lt;till.kamppeter@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=615059129740d77fac1db1bbec4a79958d88e3bf">615059129740d77fac1db1bbec4a79958d88e3bf</a>
+<blockquote>
+<p>
+ Fixed line conibuation typos in previous commit (d997bc4)<br>
+<br>
+gs/cups/gdevcups.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-19 00:41:19 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=77eb4f71f15365c713f1fec698a87203afaaf984">77eb4f71f15365c713f1fec698a87203afaaf984</a>
+<blockquote>
+<p>
+ Add some error checking to pdf14.<br>
+<br>
+ When we record an error code, ensure we check it.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-19 12:32:23 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3c913314883114d671d550e5db9efa2192241040">3c913314883114d671d550e5db9efa2192241040</a>
+<blockquote>
+<p>
+ Only issue the &quot;unbalanced q/Q&quot; warning once per page.<br>
+<br>
+ Write a flag to the pdfdict to indicate that we've already issued the warning<br>
+ and skip it from then on for the current page. Reset flag at the end of the<br>
+ page.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+gs/Resource/Init/pdf_ops.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-19 17:03:39 +0100
+</strong>
+<br>Till Kamppeter &lt;till.kamppeter@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d997bc49531613205e055c8e4e25d93bb4c762e6">d997bc49531613205e055c8e4e25d93bb4c762e6</a>
+<blockquote>
+<p>
+ Added &quot;pwgraster&quot; output device<br>
+<br>
+ The &quot;pwgraster&quot; output device rasterizes the input into the PWG Raster<br>
+ format, an industry-standarized raster format for printers, especially<br>
+ the upcoming IPP Everywhere network printers which are supposed to<br>
+ work with any hardware-model-specific software (drivers). As PWG<br>
+ Raster is derived from CUPS Raster it is generated by the &quot;cups&quot;<br>
+ output device, but calling it with the &quot;pwgraster&quot; name makes it<br>
+ generating PWG Raster instead of CUPS Raster.<br>
+<br>
+gs/configure.ac<br>
+gs/cups/gdevcups.c<br>
+gs/devices/devs.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-19 09:40:01 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=81b246414c4624cf476793c2590201de408ea33a">81b246414c4624cf476793c2590201de408ea33a</a>
+<blockquote>
+<p>
+ pdfwrite - don't allocate multiple object IDs for shadings<br>
+<br>
+ Bug #694853 &quot;PDF/A generation does not fix all errors&quot;<br>
+<br>
+ When the code to detect and elide duplicate shadings was added we used the<br>
+ pdf_substitute_resource function to detect duplicates and drop the new one.<br>
+<br>
+ However this function *always* assigned a new object ID if it wasn't a<br>
+ duplicate, which leaves the original ID dangling (if the object already had<br>
+ one). This commit simply avoids creating a new ID if the object is not a<br>
+ duplicate, and already has an ID.<br>
+<br>
+ I'm a little nervous about this one, but a cluster push seems to be OK. No<br>
+ differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfu.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-18 18:43:56 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1a25414344c0a2c3b9c8947ad120d34845ecb387">1a25414344c0a2c3b9c8947ad120d34845ecb387</a>
+<blockquote>
+<p>
+ Bug 693365: Add find_pdf14_device function, and use it.<br>
+<br>
+ This seems to solve the problem with simple6.pdf at least.<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gsicc_monitorcm.c<br>
+gs/base/gspaint.c<br>
+gs/base/gxdevsop.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-18 15:26:49 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36f97ff44c7e94d1cf033a6495f2876b1976ca66">36f97ff44c7e94d1cf033a6495f2876b1976ca66</a>
+<blockquote>
+<p>
+ Bug 694258: Allow for floating point inaccuracies in pattern code.<br>
+<br>
+ When calculating the regions 'touched' by pattern repeats, allow for<br>
+ inaccuracies in the floating point calculations.<br>
+<br>
+gs/base/gsptype1.c<br>
+gs/base/math_.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-18 15:06:17 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b0cbadbbb03dffbf5f9ec9e72658f59e0e59238a">b0cbadbbb03dffbf5f9ec9e72658f59e0e59238a</a>
+<blockquote>
+<p>
+ Remove floatp references in docs.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/doc/C-style.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-18 14:53:48 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cf009c80c4a371ad64cc5c0444d72902657dbfce">cf009c80c4a371ad64cc5c0444d72902657dbfce</a>
+<blockquote>
+<p>
+ Replace the &quot;floatp&quot; with &quot;double&quot;<br>
+<br>
+ For historic reasons, floating point parameters used the type &quot;floatp&quot; which<br>
+ was actually typedef'ed to &quot;double&quot;.<br>
+<br>
+ To reduce confusion, we now use &quot;double&quot; directly.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/fapi_ft.c<br>
+gs/base/gdevdcrd.c<br>
+gs/base/gdevdflt.c<br>
+gs/base/gdevvec.c<br>
+gs/base/gdevvec.h<br>
+gs/base/gsalpha.c<br>
+gs/base/gsalpha.h<br>
+gs/base/gscdevn.c<br>
+gs/base/gschar.c<br>
+gs/base/gschar.h<br>
+gs/base/gscie.c<br>
+gs/base/gscie.h<br>
+gs/base/gsciemap.c<br>
+gs/base/gscolor.c<br>
+gs/base/gscolor.h<br>
+gs/base/gscolor1.c<br>
+gs/base/gscolor1.h<br>
+gs/base/gscolor3.c<br>
+gs/base/gscolor3.h<br>
+gs/base/gscoord.c<br>
+gs/base/gscoord.h<br>
+gs/base/gscpixel.c<br>
+gs/base/gscrd.c<br>
+gs/base/gscrdp.c<br>
+gs/base/gsdevice.c<br>
+gs/base/gsdparam.c<br>
+gs/base/gsdps1.c<br>
+gs/base/gsfont.c<br>
+gs/base/gsfont.h<br>
+gs/base/gsfunc0.c<br>
+gs/base/gsfunc4.c<br>
+gs/base/gshsb.c<br>
+gs/base/gshsb.h<br>
+gs/base/gsht.h<br>
+gs/base/gsht1.c<br>
+gs/base/gshtscr.c<br>
+gs/base/gshtx.c<br>
+gs/base/gshtx.h<br>
+gs/base/gsicc.c<br>
+gs/base/gsicc_create.c<br>
+gs/base/gslib.c<br>
+gs/base/gsline.c<br>
+gs/base/gsline.h<br>
+gs/base/gsmatrix.c<br>
+gs/base/gsmatrix.h<br>
+gs/base/gspaint.c<br>
+gs/base/gspath.c<br>
+gs/base/gspath.h<br>
+gs/base/gspath1.c<br>
+gs/base/gspath2.h<br>
+gs/base/gsstate.c<br>
+gs/base/gsstate.h<br>
+gs/base/gstext.c<br>
+gs/base/gstext.h<br>
+gs/base/gstparam.h<br>
+gs/base/gstrans.c<br>
+gs/base/gstrans.h<br>
+gs/base/gxccache.c<br>
+gs/base/gxchar.c<br>
+gs/base/gxchar.h<br>
+gs/base/gxchrout.c<br>
+gs/base/gxchrout.h<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclpath.c<br>
+gs/base/gxcmap.c<br>
+gs/base/gxcolor2.h<br>
+gs/base/gxdevcli.h<br>
+gs/base/gxdevice.h<br>
+gs/base/gxfapi.c<br>
+gs/base/gxfmap.h<br>
+gs/base/gximag3x.c<br>
+gs/base/gximage3.c<br>
+gs/base/gxline.h<br>
+gs/base/gxmatrix.h<br>
+gs/base/gxpath.c<br>
+gs/base/gxpath.h<br>
+gs/base/gxshade1.c<br>
+gs/base/gxshade4.h<br>
+gs/base/gxshade6.c<br>
+gs/base/gxtmap.h<br>
+gs/base/sdcparam.c<br>
+gs/base/spprint.c<br>
+gs/base/spprint.h<br>
+gs/base/stdpre.h<br>
+gs/contrib/eplaser/gdevescv.c<br>
+gs/contrib/eplaser/gdevescv.h<br>
+gs/contrib/lips4/gdevl4v.c<br>
+gs/contrib/opvp/gdevopvp.c<br>
+gs/devices/gdevcdj.c<br>
+gs/devices/gdevclj.c<br>
+gs/devices/gdevijs.c<br>
+gs/devices/gdevjpeg.c<br>
+gs/devices/gdevpxut.c<br>
+gs/devices/gdevpxut.h<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfc.c<br>
+gs/devices/vector/gdevpdfd.c<br>
+gs/devices/vector/gdevpdfg.c<br>
+gs/devices/vector/gdevpdfg.h<br>
+gs/devices/vector/gdevpdfj.c<br>
+gs/devices/vector/gdevpdfk.c<br>
+gs/devices/vector/gdevpdfm.c<br>
+gs/devices/vector/gdevpdfo.c<br>
+gs/devices/vector/gdevpdfo.h<br>
+gs/devices/vector/gdevpdfv.c<br>
+gs/devices/vector/gdevpdts.c<br>
+gs/devices/vector/gdevpdts.h<br>
+gs/devices/vector/gdevps.c<br>
+gs/devices/vector/gdevpsdf.h<br>
+gs/devices/vector/gdevpsdi.c<br>
+gs/devices/vector/gdevpsdu.c<br>
+gs/devices/vector/gdevpsf2.c<br>
+gs/devices/vector/gdevpx.c<br>
+gs/devices/vector/gdevsvg.c<br>
+gs/devices/vector/gdevxps.c<br>
+gs/psi/idparam.c<br>
+gs/psi/idparam.h<br>
+gs/psi/imain.c<br>
+gs/psi/imain.h<br>
+gs/psi/zcolor.c<br>
+gs/psi/zgstate.c<br>
+gs/psi/zht1.c<br>
+gs/psi/zht2.c<br>
+gs/psi/zmatrix.c<br>
+gs/psi/zpath.c<br>
+gs/psi/zpath1.c<br>
+gs/psi/ztrans.c<br>
+pcl/pccsbase.c<br>
+pcl/pcfont.c<br>
+pcl/pcht.c<br>
+pcl/pcindxed.c<br>
+pcl/pcindxed.h<br>
+pcl/pcmtx3.c<br>
+pcl/pcmtx3.h<br>
+pcl/pcommand.c<br>
+pcl/pcpage.c<br>
+pcl/pcpalet.c<br>
+pcl/pcpalet.h<br>
+pcl/pcparam.h<br>
+pcl/pcpatxfm.c<br>
+pcl/pcpatxfm.h<br>
+pcl/pcrect.c<br>
+pcl/pcsfont.c<br>
+pcl/pctext.c<br>
+pcl/pgcolor.c<br>
+pcl/pgdraw.c<br>
+pcl/pgdraw.h<br>
+pcl/pgfdata.c<br>
+pcl/pggeom.c<br>
+pcl/pggeom.h<br>
+pcl/pglabel.c<br>
+pcl/pgpoly.c<br>
+pcl/pgvector.c<br>
+pcl/rtgmode.c<br>
+pcl/rtraster.c<br>
+pl/pjparse.c<br>
+pl/pjparse.h<br>
+pl/pjparsei.c<br>
+pl/pjtop.c<br>
+pl/pjtop.h<br>
+pl/plchar.c<br>
+pl/plfont.h<br>
+pl/plsrgb.c<br>
+pl/pluchar.c<br>
+pxl/pxink.c<br>
+pxl/pxpaint.c<br>
+pxl/pxpthr.c<br>
+svg/svgtop.c<br>
+tools/gslite/gslt_test.c<br>
+xps/xpstop.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-18 11:37:40 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5ddd13eda3853d53315b7ba656ccd32ad9814c34">5ddd13eda3853d53315b7ba656ccd32ad9814c34</a>
+<blockquote>
+<p>
+ ps2write - Don't emit a page size change if the last request failed (and was the same size)<br>
+<br>
+ Bug #694852 We check the current media size at the start of every page, and<br>
+ only emit a new request if the page is a different size to the current size.<br>
+<br>
+ However, if the request fails (media not available) we keep on requesting<br>
+ the media via setpagedevice. This causes duplexing to be disabled, as each<br>
+ setpagedevice resets the device and ejects the previous page.<br>
+<br>
+ This commit still checks the current page size, however, if it is not the<br>
+ size needed for the page, we then check to see if 'MediaRequested;' is<br>
+ known. If it is not we set the media, and set MediaRequested to the new<br>
+ media size. If MediaRequested is known, we check to see if the new media<br>
+ size is the same as the last one we requested. If it is there's no point<br>
+ in doing a new request as it will fail again,so we drop the request.<br>
+<br>
+ If the new requested media is not the same as the last requested media,<br>
+ then we do emit a new request, which may or may not be satisfied of course.<br>
+<br>
+ This should permit duplexing to work and be slightly faster in the case<br>
+ where requested media is not available.<br>
+<br>
+gs/devices/vector/opdfread.h<br>
+gs/lib/opdfread.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-14 13:13:02 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f8b73d56d667334e935071f24f1d6b1860a48e2">2f8b73d56d667334e935071f24f1d6b1860a48e2</a>
+<blockquote>
+<p>
+ Bug 694832: refine when to elide the TTF notdef glyph<br>
+<br>
+ Only force the Truetype notdef glyph to be non-marking when the font in<br>
+ question uses a TTF cmap table other than the symbolic (3.0) cmap table.<br>
+<br>
+ Several cluster files show differences - all except one are progressions<br>
+ with reference to Acrobat, and the exception was &quot;wrong&quot; before and is<br>
+ slightly differently wrong now (an entirely different underlying issue).<br>
+<br>
+gs/Resource/Init/gs_ttf.ps<br>
+gs/psi/zfapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-17 17:33:05 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=727b6e87edc234670120dcce040547610736fe0d">727b6e87edc234670120dcce040547610736fe0d</a>
+<blockquote>
+<p>
+ Bug 694844: Fix thin stroking of paths with non-idempotent colors.<br>
+<br>
+ For non-idempotent colors when stroking we have to construct an entire<br>
+ path and then fill it, rather than stroking each section as we go.<br>
+<br>
+ Unfortunately in the code that implements this, we missed a case - thin<br>
+ sections can be stroked section by section even in the non-idempotent<br>
+ case.<br>
+<br>
+ We fix that here.<br>
+<br>
+ This appears to solve Bug 694844, which was hitting this case.<br>
+<br>
+gs/base/gxstroke.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-16 18:13:03 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=300c3ea8f2c82471c5e57655bd13549f1172c38a">300c3ea8f2c82471c5e57655bd13549f1172c38a</a>
+<blockquote>
+<p>
+ Bug 694842: Fix threshold table generation.<br>
+<br>
+ When we generate threshold tables for dithering, we should expect them<br>
+ to be 'evenly distributed'. This is not the case currently. In the<br>
+ example given in this bug, we generate an 8x4 dither table. This<br>
+ contains 32 pixels, all of which can be on or off, hence we have 33<br>
+ levels, ranging from 0 on to 32 on.<br>
+<br>
+ We would further expect our input range to be evenly divided into these<br>
+ levels - i.e. roughly 256/33 in each band.<br>
+<br>
+ This is not the case. The threshold table generated is:<br>
+<br>
+ threshold array row 0= 88 120 152 184 176 144 112 80<br>
+ threshold array row 1= 192 224 208 168 72 40 56 96<br>
+ threshold array row 2= 232 255 240 136 32 8 24 128<br>
+ threshold array row 3= 216 248 200 104 48 16 64 160<br>
+<br>
+ The operation of our thresholding code is to set a pixel if<br>
+ contone(x,y) &lt; threshold(x,y), hence our inputs divide into:<br>
+ 0-7,8-15,...240-254,255<br>
+<br>
+ Not only does this not have the required 256/33 per region, the top<br>
+ and bottom regions are far from being even (8 vs 1 entries).<br>
+<br>
+ Ideally we should fix this code so generate the correct distribution -<br>
+ an enhancement bug will be opened for this. For now we will satisfy<br>
+ ourselves by offsetting the thresholds slightly so that the top and<br>
+ bottom ranges are at least even. The new code gives:<br>
+<br>
+ threshold array row 0= 84 116 148 180 172 140 108 76<br>
+ threshold array row 1= 188 220 204 164 68 36 52 92<br>
+ threshold array row 2= 228 252 236 132 28 4 20 124<br>
+ threshold array row 3= 212 244 196 100 44 12 60 156<br>
+<br>
+gs/base/gsht.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-17 10:30:26 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=712d2254dc190baeea795931a470d39f8d43c2bf">712d2254dc190baeea795931a470d39f8d43c2bf</a>
+<blockquote>
+<p>
+ Update opdfread.ps with the changes for eps2write. Although we no longer<br>
+ actually use opdfread.ps, instead we use opdfread.h, we want to keep the<br>
+ two in sync.<br>
+<br>
+gs/lib/opdfread.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-17 10:29:31 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=730dbe8b0717b2f882067163737eb89708e7e66d">730dbe8b0717b2f882067163737eb89708e7e66d</a>
+<blockquote>
+<p>
+ correct a tab in the source, replacing with spaces.<br>
+<br>
+gs/devices/vector/gdevpdfd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-16 17:44:22 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1f30a9f66b280fad5cb8133e02530c60a038843c">1f30a9f66b280fad5cb8133e02530c60a038843c</a>
+<blockquote>
+<p>
+ Add new 'eps2write' device which will eventually replace epswrite<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/devs.mak<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfd.c<br>
+gs/devices/vector/gdevpdfi.c<br>
+gs/devices/vector/gdevpdfu.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+gs/devices/vector/gdevpdtc.c<br>
+gs/devices/vector/gdevpdte.c<br>
+gs/devices/vector/gdevpdti.c<br>
+gs/devices/vector/gdevpdts.c<br>
+gs/devices/vector/gdevpdts.h<br>
+gs/devices/vector/gdevpdtt.c<br>
+gs/devices/vector/gdevpdtt.h<br>
+gs/devices/vector/opdfread.h<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-16 08:32:12 -0800
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=abd38464f9b058502c9491873ff7f01f00c406d7">abd38464f9b058502c9491873ff7f01f00c406d7</a>
+<blockquote>
+<p>
+ Fix for goof up in loop index variable.<br>
+<br>
+ Fixes bug 694811 and 694848. Thanks ken for finding this.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-16 12:34:26 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e2f00f15c988d75a4182ecdcdc1a82b4686ef92">8e2f00f15c988d75a4182ecdcdc1a82b4686ef92</a>
+<blockquote>
+<p>
+ Bug 694845: Shailesh Mistrys patch for regression in jbig2dec<br>
+<br>
+ Having reverted the problematic patch, this is the fixed version.<br>
+<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-16 11:45:42 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa8b62e45f07564304d671b57cba7fede5d4729d">fa8b62e45f07564304d671b57cba7fede5d4729d</a>
+<blockquote>
+<p>
+ Revert &quot;Bug 694124: Shailesh Mistry's patch for valgrind problems.&quot;<br>
+<br>
+ This reverts commit d166833eb541466104c582980be1e42e0062c738.<br>
+<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-16 10:08:20 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bcac8f9cfd8330ec4434b176c150c44af276393e">bcac8f9cfd8330ec4434b176c150c44af276393e</a>
+<blockquote>
+<p>
+ Force special action to build language_switch<br>
+<br>
+ A &quot;normal&quot; attempt to build language_switch will elicit a warning, to actually<br>
+ make it build, adding &quot;UNSUPPORTED=1&quot; to the (n)make command line is required.<br>
+<br>
+language_switch/pspcl6_gcc.mak<br>
+language_switch/pspcl6_msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-15 09:51:50 -0800
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos.woehrmann@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88a39ea069424045161ff000af5574ba340bb51d">88a39ea069424045161ff000af5574ba340bb51d</a>
+<blockquote>
+<p>
+ Remove the language switch build from the default make targets.<br>
+<br>
+Makefile<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-14 13:54:31 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=70c1f72389b31e95e9cffb6578a3a94e3052cb44">70c1f72389b31e95e9cffb6578a3a94e3052cb44</a>
+<blockquote>
+<p>
+ Bug 694843: reset FAPI font data on &quot;refine&quot; font<br>
+<br>
+ For example, a font dict may be copied, so the &quot;FAPI&quot; entry is copied with<br>
+ the dict, but the new internal font object does not have the FAPI server in<br>
+ it. We catch that in the &quot;refine font&quot; call - previously here we didn't reset<br>
+ the font data, just &quot;re-bound&quot; the FAPI server. It turns out with the<br>
+ language switch build, we need to set the FAPI font data, too.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/psi/zfapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-13 15:15:24 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b592a88fa8760f5fd4d7a8f082e094bda981a93">5b592a88fa8760f5fd4d7a8f082e094bda981a93</a>
+<blockquote>
+<p>
+ pdfwrite - yet more discriminating tests before TrueType font combining<br>
+<br>
+ Bug #694833 &quot;german letters adieresis, odieresis and udieresis are missing after conversion to PDF&quot;<br>
+<br>
+ This follows on from commit 8b6be8be2cdcefae39339682d45d3c009ab909ac<br>
+ Bug #694538.<br>
+<br>
+ Again we have a random pair of Type 42 fonts which would be compatible to<br>
+ combine, except that they have differing max composite points and contours.<br>
+ Mad, but there you go.<br>
+<br>
+ No differences expected, we don't see these files from any other source.<br>
+<br>
+gs/base/gstype42.c<br>
+gs/base/gxfont42.h<br>
+gs/devices/gxfcopy.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-12 16:20:59 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e8a32f8a884039b851c39b5aceabfd8c8e93198">3e8a32f8a884039b851c39b5aceabfd8c8e93198</a>
+<blockquote>
+<p>
+ Inherit CFLAGS from environment in (pdl) configure script<br>
+<br>
+ No cluster differences.<br>
+<br>
+config.mak.in<br>
+configure.ac<br>
+main/pcl6_gcc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-12 00:58:04 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99a6f1af177c15f4db475186b79d169c993494ef">99a6f1af177c15f4db475186b79d169c993494ef</a>
+<blockquote>
+<p>
+ Bug 694119: Shailesh Mistry's patch for Valgrind problems.<br>
+<br>
+ Don't read off the end of an empty (or almost empty) buffer.<br>
+<br>
+gs/openjpeg/libopenjpeg/t2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-11 19:06:03 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bb123bf027bf7ea0aa5b82ed2626d21f91c57613">bb123bf027bf7ea0aa5b82ed2626d21f91c57613</a>
+<blockquote>
+<p>
+ Bug 694363: Shailesh Mistry's patch for SEGV.<br>
+<br>
+ Avoid buffer overflow due to oversized image dimensions causing<br>
+ int overflow.<br>
+<br>
+gs/openjpeg/libopenjpeg/j2k.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-11 19:02:39 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d166833eb541466104c582980be1e42e0062c738">d166833eb541466104c582980be1e42e0062c738</a>
+<blockquote>
+<p>
+ Bug 694124: Shailesh Mistry's patch for valgrind problems.<br>
+<br>
+ Detect zero sized symbol dictionary and exit neatly. Avoids overreads.<br>
+<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-11 09:47:45 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f42c717329ec13db00f2627bd89ad4c081379fd9">f42c717329ec13db00f2627bd89ad4c081379fd9</a>
+<blockquote>
+<p>
+ Remove extraneous %d from a debug message (-ZL).<br>
+<br>
+ Thanks to Henry for spotting this.<br>
+<br>
+gs/base/gxclutil.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-11 16:17:31 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=19d709b45b9173e225bd6e62bb20e9eb5f192254">19d709b45b9173e225bd6e62bb20e9eb5f192254</a>
+<blockquote>
+<p>
+ Bug 694836: remove erroring CIDFont subsitute record<br>
+<br>
+ When subsituting a CIDFont we dynamically update the CIDFont resource's .map<br>
+ dictionary (to ensure the substitute CIDFont is loaded with the correct<br>
+ &quot;attributes&quot;).<br>
+<br>
+ If findresource fails with the updated .map dictionary, remove the entry we<br>
+ just added, to avoid subsequent attempted loads of that CIDFont finding the<br>
+ erroring .map entry.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Resource/Init/gs_ciddc.ps<br>
+gs/Resource/Init/pdf_font.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-11 13:03:28 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b3be65914d6dbe6585dec8576e80c7fb52fffbe4">b3be65914d6dbe6585dec8576e80c7fb52fffbe4</a>
+<blockquote>
+<p>
+ pdfwrite - fix compiler comparison oddness<br>
+<br>
+ Bug #694838 &quot;Artifex Ghostscript 9.10: JBIG2Encode requires CompabilityLevel &gt;= 1.4&quot;<br>
+<br>
+ The code compares a float variable with a non-integer constant. Bizzarely<br>
+ the comparison fails unless the contant is declared as type float as well<br>
+ (using the x.yf syntax), at least on the Microsoft compiler. Presumably<br>
+ without this they are evaluated as double.<br>
+<br>
+ This commit simply alters the constants to be declared specifically as<br>
+ floats.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfp.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-07 16:16:22 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2aaae7404988d7443b002907954693749c468347">2aaae7404988d7443b002907954693749c468347</a>
+<blockquote>
+<p>
+ A better fix for the previous -dEPSFitPage.<br>
+<br>
+ Note that -dEPSCrop with -dEPSFitPage is actually done in the C<br>
+ code.<br>
+<br>
+gs/Resource/Init/gs_epsf.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-07 14:42:07 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7f4d1c480eb53e2f18bd87a0c3cb0f98faa7281c">7f4d1c480eb53e2f18bd87a0c3cb0f98faa7281c</a>
+<blockquote>
+<p>
+ Fix EPSFitPage (related to bug 694829.<br>
+<br>
+ The EPSFitPage now rotates as well as translating/scaling.<br>
+<br>
+gs/Resource/Init/gs_epsf.ps<br>
+gs/Resource/Init/gs_init.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-03 10:09:56 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ca3d544d51c3e1d63a2fd115dac23255c966ba0e">ca3d544d51c3e1d63a2fd115dac23255c966ba0e</a>
+<blockquote>
+<p>
+ pdfwrite - add Resources to current substream when starting an SP pdfmark<br>
+<br>
+ Bug #689653 &quot;Nested form XObject pdfmarks not working properly&quot;<br>
+ Bug #689883 &quot;/SP pdfmark inside /BP-/EP pdfmark pair for XObject re-use&quot;<br>
+<br>
+ When we use a 'picture' via the SP pdfmark, add the picture resource to<br>
+ the current substream resources, so that if we are accumulating a substream<br>
+ (pattern, form, another picture etc) then the Resources for that substream<br>
+ will contain an entry for the picture. Previously they did not and relied<br>
+ on inheriting from the page dictionary, which is long since deprecated.<br>
+<br>
+ Thanks to Alexander Grahn for diagnosing the problem and supplying the<br>
+ patch.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-12-02 16:28:46 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=da944b290302bf9391116b806c4a368b7d185d94">da944b290302bf9391116b806c4a368b7d185d94</a>
+<blockquote>
+<p>
+ Add debugging for max heap memory allocation for -Z:<br>
+<br>
+ This is a minor hack for debug builds that prints out the 'max' usage<br>
+ which is often of interest. A better method would be to add a memory<br>
+ proc to print the stats that would be implemented for all allocators.<br>
+<br>
+ If so, a 'verbosity' control might be nice for 'max' (max used) and<br>
+ 'leaked' that would print all elements that the allocator knows about<br>
+ (for leak detection), or 'current' to print current allocated size.<br>
+<br>
+gs/psi/iapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-30 13:46:49 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=05d2e5cd0b8ce92ddeacca00e8f64d3f7b2e5883">05d2e5cd0b8ce92ddeacca00e8f64d3f7b2e5883</a>
+<blockquote>
+<p>
+ pdfwrite - add garbage collection handlers to Bicubic streams<br>
+<br>
+ Bug #694826 &quot;Seg fault with pdfwrite device&quot;<br>
+<br>
+ There was an oversight when coding the Bicubic stream downsampling and the<br>
+ working buffer was not enabled for relocation on garbage collection.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpsds.c<br>
+gs/devices/vector/gdevpsds.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-29 09:31:04 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=33b41157c24f27cd912fa1d517e9246af37bbe2f">33b41157c24f27cd912fa1d517e9246af37bbe2f</a>
+<blockquote>
+<p>
+ txtwrite - set the returned glpyh in the text enumerator before executing CDevProc<br>
+<br>
+ Bug #698422 &quot;txtwriter driver crashes with this (badly crafted) PDF file&quot;<br>
+<br>
+ The txtwrite device was leaving the 'returned' glyph unset when it needed<br>
+ to run the CDevProc for a CIDFont. This could later cause a crash because<br>
+ other code would attempt to use the uninitialised variable.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevtxtw.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-28 18:24:03 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=748013087dd75882abbcfe4c630eeddb059be773">748013087dd75882abbcfe4c630eeddb059be773</a>
+<blockquote>
+<p>
+ Bug 694362: More tweaking in jbig2dec.<br>
+<br>
+ Following more discussions with Simon, and testing within MuPDF, it<br>
+ appears that the original code was correct. I am therefore restoring<br>
+ the original behaviour, except with a direct jump to cleanup rather<br>
+ than relying on dropping into the following case.<br>
+<br>
+ This will result in just 1 error being given, and is cleaner, to my<br>
+ mind.<br>
+<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-28 17:51:02 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa25793292f8e6799ecad1bcd6565206b7566664">fa25793292f8e6799ecad1bcd6565206b7566664</a>
+<blockquote>
+<p>
+ More work on bug 694362<br>
+<br>
+ Back out some 'unreachable code' that I had accidently added back in.<br>
+<br>
+ Remove a couple of unreachable 'break;' statements too.<br>
+<br>
+gs/jbig2dec/jbig2.c<br>
+gs/jbig2dec/jbig2_segment.c<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-28 16:43:26 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e697fc428f4cca033d0b844cc4bceebffe50e853">e697fc428f4cca033d0b844cc4bceebffe50e853</a>
+<blockquote>
+<p>
+ Pull changes back from mupdf's version of jbig2dec to gs's.<br>
+<br>
+ MuPDF now tracks the version of jbig2dec extracted from gs.<br>
+ Shelly spotted a couple of minor things that had been lost as<br>
+ part of his investigation into bug 694362. Pull them back<br>
+ across.<br>
+<br>
+gs/jbig2dec/jbig2.c<br>
+gs/jbig2dec/jbig2_segment.c<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-27 09:38:02 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=01cef1fd7dbaf3ef48dcff9e23875980265f2859">01cef1fd7dbaf3ef48dcff9e23875980265f2859</a>
+<blockquote>
+<p>
+ pdfwrite - ignore annotation /AP where the appearance is not a stream<br>
+<br>
+ Bug #694809 &quot;Conversion of PDF-file fails with typecheck-error&quot;<br>
+<br>
+ The speciment PDF file has an invalid appearance for an annotation:<br>
+<br>
+ 182 0 obj<br>
+ &lt;&lt;<br>
+ /AP &lt;&lt; /N &lt;&lt; /Yes /null &gt;&gt; &gt;&gt;<br>
+<br>
+ The normal appearance should be a dictionary where each key value pair has<br>
+ a value which is a stream. /null is not a stream.<br>
+<br>
+ This commit drops annotations with this problem and emits a warning.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/Resource/Init/pdf_draw.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-27 10:44:28 +0100
+</strong>
+<br>Till Kamppeter &lt;till.kamppeter@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=87a7fd8afe9af506bf91024d8cc60ef0721450d5">87a7fd8afe9af506bf91024d8cc60ef0721450d5</a>
+<blockquote>
+<p>
+ &quot;cups&quot; output device: Support for PPD-less printing and PWG Raster output<br>
+<br>
+ 1. PWG Raster output: With -sMediaClass=PwgRaster the output is in PWG<br>
+ Raster format and not in CUPS Raster format. TODO: Create &quot;pwg&quot; or<br>
+ &quot;pwgraster&quot; output device name for that.<br>
+<br>
+ 2. Support for PPD-less printing: If the &quot;PPD&quot; environment variable is<br>
+ not set to a valid PPD file, allow setting unprintable margins via<br>
+ something like:<br>
+<br>
+ &quot;-c '&lt;&lt;/.HWMargins[12 12 12 12] /Margins[0 0]&gt;&gt;setpagedevice'&quot;<br>
+<br>
+ 3. Correct rounding by adding 0.5 to float numbers before converting<br>
+ them to integer.<br>
+<br>
+gs/cups/gdevcups.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-27 08:43:53 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49f620bbdabaa186b56cb783afd30bcfc8ca40ef">49f620bbdabaa186b56cb783afd30bcfc8ca40ef</a>
+<blockquote>
+<p>
+ pdfwrite - remove an unused variable to silence a compiler warning<br>
+<br>
+gs/devices/vector/gdevpdfv.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-26 16:20:18 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fe99ca5fd2e3b191a76c7f7d791b72f3603e9fea">fe99ca5fd2e3b191a76c7f7d791b72f3603e9fea</a>
+<blockquote>
+<p>
+ pdfwrite - spot reuse of shading dictionaries and don't emit multiple times<br>
+<br>
+ Bug #689247 &quot;pdfwrite creates redundant shadings&quot;<br>
+<br>
+ Previously we always made a new shading and pattern dictionary every time<br>
+ we encountered a shading. Taking advantage of the hashing mechanism that<br>
+ was written to improve performance, we can now spot reuse of shading<br>
+ dictionaries, and emit only a single copy.<br>
+<br>
+ The output from the test file now only contains 106 shadings and patterns<br>
+ and the compressed file size is reduced by 41% as a result.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfv.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-26 09:21:13 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb3e5c6278fc7ea5e1bfdb3a23944cdcce13eb5a">fb3e5c6278fc7ea5e1bfdb3a23944cdcce13eb5a</a>
+<blockquote>
+<p>
+ Change the order of checks when enumerating PCL fonts.<br>
+<br>
+ We need to check whether the MT fonts have populated the font dictionary<br>
+ before we worry about whether there's a path to find the TTF versions of the<br>
+ built-in fonts.<br>
+<br>
+ No cluster differences.<br>
+<br>
+pl/pllfont.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-20 14:55:12 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ecb86e69f473d8c981baeca6885d67b23964440">9ecb86e69f473d8c981baeca6885d67b23964440</a>
+<blockquote>
+<p>
+ pcl/FAPI MT font fixes.<br>
+<br>
+ Fix a problem with parsing out the FCO paths from the FCO list string (we could<br>
+ run off the end of the string).<br>
+<br>
+ Make the &quot;header&quot; byte swapping call conditional on being a little-endian<br>
+ platform.<br>
+<br>
+ Fix a makefile hiccup that resulted in the FCO files being built into the romfs<br>
+ twice.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/base/fapiufst.c<br>
+main/pcl6_gcc.mak<br>
+pl/pllfont.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-26 12:07:13 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=90ec17f20be53db00fcbc2ada6931e7cc7b22b9e">90ec17f20be53db00fcbc2ada6931e7cc7b22b9e</a>
+<blockquote>
+<p>
+ pdfwrite - fix dictionary stream hashing<br>
+<br>
+ The dictionary stream hashing code didn't initialise the MD5 hash before<br>
+ using it, which could lead to problems. Also the cos_stream_equal routine<br>
+ was passing in an MD5 state which would then be reused inside the hashing<br>
+ code. Although this doesn't seem to cause a problem, and we don't actually<br>
+ use that state, its safest if we make use a dummy instead.<br>
+<br>
+ Problems discovered while working on duplicate shadings.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfo.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-25 18:26:20 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83fb95771604bd85b1b3345f67d83cc99c69bfd9">83fb95771604bd85b1b3345f67d83cc99c69bfd9</a>
+<blockquote>
+<p>
+ Bug 694245: Fix valgrind problems.<br>
+<br>
+ During stroke calculations, ff we have a non-invertible matrix, then<br>
+ use 0 as the calculated distance, rather than running with<br>
+ undefined values. We were failing to check for an error code.<br>
+<br>
+ Returning an error code stops rendering, so swallow the error and<br>
+ continue with 0.<br>
+<br>
+gs/base/gxpdash.c<br>
+gs/base/gxstroke.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-25 18:39:05 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7be77f2a74952c2d7f8f3969ae885a014b51513c">7be77f2a74952c2d7f8f3969ae885a014b51513c</a>
+<blockquote>
+<p>
+ Add missing Makefile header dependency.<br>
+<br>
+gs/base/lib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-25 09:58:08 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0d8fcaef61f7af1a032f9dff8d38957b335ee8cc">0d8fcaef61f7af1a032f9dff8d38957b335ee8cc</a>
+<blockquote>
+<p>
+ Remove #define DEBUG_TRACE_PS_OPERATORS inadvertently left enabled.<br>
+<br>
+gs/psi/iinit.c<br>
+gs/psi/iinit.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-25 14:33:12 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7b3a65aab20feac334cac8e5935ba5cbe310ac69">7b3a65aab20feac334cac8e5935ba5cbe310ac69</a>
+<blockquote>
+<p>
+ Fix previous commit; align_bitmap_mod is in bytes not bits.<br>
+<br>
+ Correct the calculations in the previous commit.<br>
+<br>
+gs/base/gsiparam.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-25 13:24:03 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b81962611a292e1b2c5306f3d5cdfea832715169">b81962611a292e1b2c5306f3d5cdfea832715169</a>
+<blockquote>
+<p>
+ Bug 694601: Fix big endian crash in mem_mono_copy_mono.<br>
+<br>
+ While the crash is reported on a big endian device, the problem actually<br>
+ potentially occurs on little endian systems too. As it happens,<br>
+ x86, amd64, and many ARM configurations will read happily from unaligned<br>
+ addresses. Some ARMs and many other processors will not, however, so we<br>
+ apply a fix that will work properly everywhere.<br>
+<br>
+ When calling device level functions, we should ensure that the 'raster'<br>
+ given is always a multiple of align_bitmap_mod bits.<br>
+<br>
+ Thanks to John Wehle for the bug report and suggested fix.<br>
+<br>
+gs/base/gsiparam.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-23 21:37:03 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a72e695c6ad632a38d27eaaa45bdbad8b5a0fa1">4a72e695c6ad632a38d27eaaa45bdbad8b5a0fa1</a>
+<blockquote>
+<p>
+ Fix garbage output with --saved-pages due to not doing needed erasepage.<br>
+<br>
+ Actions which print, or reallocate to clist mode or page mode, may<br>
+ need the page to be erased. This includes the 'print' action. Seen<br>
+ with 12-07C.PS when gs_cet.ps is used.<br>
+<br>
+ Also, don't allow &quot;copies n&quot; without a prior &quot;begin&quot;.<br>
+<br>
+ Silence a few build warnings (missing dependency)<br>
+<br>
+gs/base/gxclpage.c<br>
+gs/base/gxclpage.h<br>
+gs/psi/iinit.h<br>
+gs/psi/imainarg.c<br>
+gs/psi/int.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-20 17:03:48 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=006051023733a636fc7e61754489e05fa38acdea">006051023733a636fc7e61754489e05fa38acdea</a>
+<blockquote>
+<p>
+ Remove FORCE_SAVED_PAGES_TEST since cluster now supports extras=...<br>
+<br>
+ Also clean up some compiler warnings.<br>
+<br>
+gs/psi/imain.c<br>
+gs/psi/imainarg.c<br>
+gs/psi/iminst.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-23 11:36:09 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=54610538e180cb5cb9b80c51f9a8a3d5b9bba5c2">54610538e180cb5cb9b80c51f9a8a3d5b9bba5c2</a>
+<blockquote>
+<p>
+ Make order of --saved-pages-test and --saved-pages= options position independent.<br>
+<br>
+ The position of these command line options had been required to be the<br>
+ last option prior to the first file to run, but this is not how most<br>
+ other command line options operate. This allows the --saved-pages-test<br>
+ or --saved-pages=begin option to be placed anywhere in the command line.<br>
+<br>
+ The debug option to FORCE_SAVED_PAGES_TEST is now in psi/imain.c<br>
+ and the OMIT_SAVED_PAGES_TEST is removed.<br>
+<br>
+gs/psi/imain.c<br>
+gs/psi/imainarg.c<br>
+gs/psi/iminst.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-05 12:27:58 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=97535718d671b728c47f7bbc35512449c47d2bc1">97535718d671b728c47f7bbc35512449c47d2bc1</a>
+<blockquote>
+<p>
+ Fix more Segfaults with --saved-pages and psdcmyk and many differences.<br>
+<br>
+ Devices that have devn paramaters could close the device so make sure<br>
+ and open it. Also set banding_type to BandingAlways while in saved-pages<br>
+ mode and restore it when we end saved-pages mode.<br>
+<br>
+ A few files still segfaulted, and there were many differences because<br>
+ the page was not erased after the saved-pages &quot;begin&quot;.<br>
+<br>
+ In gx_saved_page_load, for pages that fit in a single band (as with<br>
+ large -dMaxBitmap values), reset the ymin and ymax to force rasterizing<br>
+ the next page's clist.<br>
+<br>
+gs/base/gxclpage.c<br>
+gs/base/gxclpage.h<br>
+gs/psi/imainarg.c<br>
+pl/plmain.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-22 17:34:46 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=55d90681fd4eb85fa8d38b965fb31d12cdb133e2">55d90681fd4eb85fa8d38b965fb31d12cdb133e2</a>
+<blockquote>
+<p>
+ Enable shared library builds on AIX (gcc only)<br>
+<br>
+ Add the code to detect AIX (and gcc), and setup the command like arguments<br>
+ so the &quot;make so&quot; targets works.<br>
+<br>
+ There is still a &quot;duplicate symbols&quot; warning on &quot;.main&quot; when linking to the<br>
+ shared lib - none of the documented options seemed to resolve that.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/configure.ac<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-22 15:23:00 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cdd142387a04a6d7ea519838e15204c4d7c681d8">cdd142387a04a6d7ea519838e15204c4d7c681d8</a>
+<blockquote>
+<p>
+ pdfwrite - flush streams before attempting to MD5 hash them<br>
+<br>
+ This was discovered in the process of other work. Its possible that when we<br>
+ MD5 hash a stream, its still partially or fully buffered, not written to<br>
+ the asides file. This commit makes sure that the streams are flushed first.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfo.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-22 12:16:40 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=82e02b0dc49b51fbe4851a16a669ef83d35a2fae">82e02b0dc49b51fbe4851a16a669ef83d35a2fae</a>
+<blockquote>
+<p>
+ Bug 694803: Fix truncated psd files.<br>
+<br>
+ GS can truncate the number of spots used if we are working with PDF<br>
+ files, hence not all 6 planes may be written. Fix this here.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-22 14:09:34 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=47584728a68520b754ba97f0bcbf001a19d8271b">47584728a68520b754ba97f0bcbf001a19d8271b</a>
+<blockquote>
+<p>
+ Bug 694802: psdcmykog files truncated on MacOS.<br>
+<br>
+ It appears that macos will not allow you to read from files opened<br>
+ as &quot;wb&quot;, so use &quot;w+b&quot; instead. I probably should have been using this<br>
+ anyway.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-21 16:51:29 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=16c29cb9deb49be55c582213469ff6993d26c731">16c29cb9deb49be55c582213469ff6993d26c731</a>
+<blockquote>
+<p>
+ Bug 694798: Fix SEGV with psdcmykog device.<br>
+<br>
+ The alignment/padding code was going wrong. In cases where the device<br>
+ changes size and reallocates, we were attempting to resize the buffer<br>
+ memory using the aligned pointer rather than the unaligned pointer.<br>
+<br>
+gs/base/gdevmem.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-21 15:01:16 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1829196ecccb692765c27c9b3eac13367cf50204">1829196ecccb692765c27c9b3eac13367cf50204</a>
+<blockquote>
+<p>
+ Bug 694797: Remove stray code from psdcmykog device.<br>
+<br>
+ Some stray code in the close method was causing the device to clear the<br>
+ file on exit. This only seems to happen in some cases though. Just<br>
+ removing the code should solve it.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-21 14:32:23 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1eeb45d0537ba8e561f27d6461fc5b62bd042340">1eeb45d0537ba8e561f27d6461fc5b62bd042340</a>
+<blockquote>
+<p>
+ pdfwrite - honour device-independent color conversion strategy for images<br>
+<br>
+ Bug #694799 &quot;New: incoherent output intent and color space in PDF/A (bis)&quot;<br>
+<br>
+ The image colour conversion wasn't writing a device independent colour<br>
+ space for UseDeviceIndependentColor or sRGB, but was instead writing<br>
+ the original colour space.<br>
+<br>
+ No Differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-20 12:46:01 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8a94e4ee285f8b7d2f04edf2d8ac35f687355061">8a94e4ee285f8b7d2f04edf2d8ac35f687355061</a>
+<blockquote>
+<p>
+ Remove boilerplate from gdevcmykog<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-19 19:57:33 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bbaff51c391f0e3e6c0503da9f355c96a739c1b4">bbaff51c391f0e3e6c0503da9f355c96a739c1b4</a>
+<blockquote>
+<p>
+ Silence warning.<br>
+<br>
+gs/devices/gdevpsd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-19 10:14:04 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5af6431204f15f89519aac55c8d8ff42c823ced7">5af6431204f15f89519aac55c8d8ff42c823ced7</a>
+<blockquote>
+<p>
+ Fix misplelling of 'parent' in the gp files.<br>
+<br>
+gs/base/gp.h<br>
+gs/base/gp_dosfs.c<br>
+gs/base/gp_macio.c<br>
+gs/base/gp_ntfs.c<br>
+gs/base/gp_os2fs.c<br>
+gs/base/gp_unifn.c<br>
+gs/base/gp_vms.c<br>
+gs/base/gpmisc.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-19 19:18:50 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ab73cd1550f558f5e1a82e60d95339b044713976">ab73cd1550f558f5e1a82e60d95339b044713976</a>
+<blockquote>
+<p>
+ Solve psdcmykog hang on MacOSX.<br>
+<br>
+ Mac gets hung in the collating phase, presumably due to different<br>
+ handling of eof conditions for read/write file handles.<br>
+<br>
+ Also, fix a mistake that can cause SEGVs in non debug versions.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+gs/devices/gdevpsd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-19 17:03:27 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9f03f419cc8cc598c2a9b4e94e41d6cfdad61c02">9f03f419cc8cc598c2a9b4e94e41d6cfdad61c02</a>
+<blockquote>
+<p>
+ Various small fixes for psdcmykog build issues.<br>
+<br>
+ Rename the device. Include it in linux builds by default, along with<br>
+ fpng.<br>
+<br>
+ Fix various warnings.<br>
+<br>
+gs/Makefile.in<br>
+gs/base/gdevdevnprn.h<br>
+gs/base/lib.mak<br>
+gs/base/unix-gcc.mak<br>
+gs/base/unixansi.mak<br>
+gs/configure.ac<br>
+gs/devices/devs.mak<br>
+gs/devices/gdevcmykog.c<br>
+gs/devices/gdevfpng.c<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-15 18:30:21 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3cee4eb9e3c24e0a2e7c48fddc473590c5a820b6">3cee4eb9e3c24e0a2e7c48fddc473590c5a820b6</a>
+<blockquote>
+<p>
+ Make garbage collector private.<br>
+<br>
+ Private is better than public.<br>
+<br>
+gs/base/gsgcache.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-18 16:20:05 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=be1e5a0dde242dc41f4e67a629d6bf403ac2938b">be1e5a0dde242dc41f4e67a629d6bf403ac2938b</a>
+<blockquote>
+<p>
+ Update psdcmykog to use common psd writing functions.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-15 17:24:04 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bf2404a47b8b2843e37efbb0d242e5b46357b588">bf2404a47b8b2843e37efbb0d242e5b46357b588</a>
+<blockquote>
+<p>
+ Tweak psdcmykog.c to use gdevdevnprn.h functions.<br>
+<br>
+ This reduces the boilerplate.<br>
+<br>
+gs/devices/gdevcmykog.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-06 17:52:25 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8cb60cfe03ab7f1ada9b26eb57342fa9eca62e48">8cb60cfe03ab7f1ada9b26eb57342fa9eca62e48</a>
+<blockquote>
+<p>
+ psdcmykog: simple example process_page device<br>
+<br>
+ This device demonstrates a range of facilities newly added to<br>
+ the Ghostscript core. This device exists as an exemplar for these<br>
+ facilities, and as a mechanism to allow us to cluster test.<br>
+<br>
+gs/devices/devs.mak<br>
+gs/devices/gdevcmykog.c<br>
+gs/ghostscript.vcproj<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-18 16:19:12 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7089d5416766a4a526b382e57e4436633d29bb9e">7089d5416766a4a526b382e57e4436633d29bb9e</a>
+<blockquote>
+<p>
+ Externalise psd writing functions.<br>
+<br>
+ This will enable psdcmykog to share the psd writing functions.<br>
+<br>
+gs/base/gdevdevnprn.h<br>
+gs/devices/gdevpsd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-15 17:14:14 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a1bee59ddf2bf82273359564d6cdb8e0549ae14f">a1bee59ddf2bf82273359564d6cdb8e0549ae14f</a>
+<blockquote>
+<p>
+ Extract guts of spotcmyk device to be reusable.<br>
+<br>
+ Whenever we build a &quot;devicen&quot; based device, there is a lot of repeated<br>
+ code. Tweak the spotcmyk functions (one such device) into a form where<br>
+ they can be reused more easily.<br>
+<br>
+ Also add cmyk_equiv_colors into this extracted structure. This shouldn't<br>
+ matter to code that doesn't use the equivalent colors, (i.e. spotcmyk<br>
+ and devicen will be unaffected), but should allow us to bring the psd<br>
+ devices into the fold.<br>
+<br>
+gs/base/gdevdevn.c<br>
+gs/base/gdevdevnprn.h<br>
+gs/base/lib.mak<br>
+gs/devices/gdevpsd.c<br>
+gs/ghostscript.vcproj<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-18 15:43:32 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a65b8db506a553334de495a9b27a18811188539a">a65b8db506a553334de495a9b27a18811188539a</a>
+<blockquote>
+<p>
+ pdfwrite - new colour code, emit sRGB as ICCBased<br>
+<br>
+ Bug #694780 &quot;incoherent output intent and color space in PDF/A&quot;<br>
+<br>
+ sRGB was supposed to be written as ICCBased, but the code has a special<br>
+ check to see if the ICC profile being used is one of the default ones<br>
+ (ie its our ICC equivalent of Gray, RGB or CMYK) and if it is, we write<br>
+ the original colour apace out.<br>
+<br>
+ Added a boolean to override this behaviour so that when we emit sRGB we do<br>
+ in fact write the ICCBased equivalent profile for RGB.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfb.c<br>
+gs/devices/vector/gdevpdfc.c<br>
+gs/devices/vector/gdevpdfg.c<br>
+gs/devices/vector/gdevpdfg.h<br>
+gs/devices/vector/gdevpdfi.c<br>
+gs/devices/vector/gdevpdfk.c<br>
+gs/devices/vector/gdevpdft.c<br>
+gs/devices/vector/gdevpdfv.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-15 13:21:42 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d2804d480928140577560f673eb6a6419afb9abd">d2804d480928140577560f673eb6a6419afb9abd</a>
+<blockquote>
+<p>
+ AES decryption - Don't return an error if the input is not a multiple of 16 bytes<br>
+<br>
+ Bug #694781 &quot;Regression: error reading PDF files starting with 4885eb2fa363002fdf0980cd189f2a5bb9340f58&quot;<br>
+<br>
+ The stream is technically invalid, it should be a multiple of 16 bytes in<br>
+ length. Acrobat as usual silently ignores the error.<br>
+<br>
+ We now emit a warning but carry on.<br>
+<br>
+<br>
+ No differences expected<br>
+<br>
+gs/base/saes.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 12:36:18 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b83ce7db814dd026b97bf2e00429459fc9c1f296">b83ce7db814dd026b97bf2e00429459fc9c1f296</a>
+<blockquote>
+<p>
+ Improve collection of color_usage.or bits and track devn colors.<br>
+<br>
+ Some of this was in place with cmd_drawing_color_usage, but it was<br>
+ not used many times, and it just returned 'all'. Also, add the<br>
+ check for devn colors that are widely used with planar devices<br>
+ such as psdcmyk.<br>
+<br>
+ Also handle the color_usage_array in the setup and teardown of the<br>
+ BGPrint thread and/or multiple rendering threads.<br>
+<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclpath.c<br>
+gs/base/gxclrect.c<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-14 12:11:02 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=db89e2390033fde0c69ffc01aeff346296336907">db89e2390033fde0c69ffc01aeff346296336907</a>
+<blockquote>
+<p>
+ Fix SEGV with BGPrint=true -dNumRenderingThreads=2<br>
+<br>
+ With BGPrint=true, the icc_cache_list for the rendering threads was<br>
+ allocated using 'mem', but was being freed using mem-&gt;thread_safe_memory.<br>
+ The BGPrint clist device 'mem' is a chunk allocator but its thread<br>
+ safe memory is the heap allocator.<br>
+<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-14 17:02:27 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=026a7ed96060a9f9a11a16857a9549f77ed5042b">026a7ed96060a9f9a11a16857a9549f77ed5042b</a>
+<blockquote>
+<p>
+ Fix alignment of memory buffers in page mode.<br>
+<br>
+ The setup buffer call was setting the 'base' member to it's aligned<br>
+ version, and the caller was then overwriting it with the unaligned<br>
+ version. Simply remove the override.<br>
+<br>
+gs/base/gdevprn.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-14 14:02:05 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=10b2168ba0a3973ce1e98b8405e01bc7d235464d">10b2168ba0a3973ce1e98b8405e01bc7d235464d</a>
+<blockquote>
+<p>
+ Correct raster calculation in get_bits_rectangle for planar case.<br>
+<br>
+gs/base/gdevdgbr.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-13 09:29:55 -0800
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos.woehrmann@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ea5452061ce70ada597888e629e6f6e9ca09ab10">ea5452061ce70ada597888e629e6f6e9ca09ab10</a>
+<blockquote>
+<p>
+ Fix building WIN64=1 with Visual Studio 2013 and add pam to default devices.<br>
+<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-13 16:57:46 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=428f750746c09af66e53eed08a9fabf8dba2fef8">428f750746c09af66e53eed08a9fabf8dba2fef8</a>
+<blockquote>
+<p>
+ Bug694768: Fix VMerrors during pattern processing.<br>
+<br>
+ In a recent commit I moved the line_ptrs into the clist data block.<br>
+ Don't do this for pattern accumulator operation, as the logic is<br>
+ different.<br>
+<br>
+gs/base/gxclist.c<br>
+gs/base/gxclread.c<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-13 15:38:45 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d42c77506452de368bebb64e61fd5f0b7347b343">d42c77506452de368bebb64e61fd5f0b7347b343</a>
+<blockquote>
+<p>
+ Fix SEGVs caused by icc_cache_cl memory space change.<br>
+<br>
+ A few commits ago, we moved the icc_cache_cl used for NRT &gt; 0 to the<br>
+ thread safe memory handler. This meant it was no longer in gc-able<br>
+ space, so we therefore removed the enumeration of icc_cache_cl from<br>
+ the clist structure definitions.<br>
+<br>
+ Unfortunately I forgot to move the non-NPR related allocations of<br>
+ icc_cache_cl to the same thread safe handler, meaning that they were<br>
+ still being allocated in gc-able memory and causing crashes. For<br>
+ example:<br>
+<br>
+ gs/debugbin/gswin32c.exe -Z@ -o out.pbm -sDEVICE=ppmraw -r300<br>
+ -dMaxBitmap=400000000 ../ghostpcl/tests_private/comparefiles/Bug690189c.pdf<br>
+<br>
+gs/base/gxclist.c<br>
+gs/base/gxclpage.c<br>
+gs/base/gxclthrd.c<br>
+gs/base/gxp1fill.c<br>
+gs/base/gxpcmap.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-13 14:03:30 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0c50e7ba960e2ed37deb87501d8b966e5d800cd8">0c50e7ba960e2ed37deb87501d8b966e5d800cd8</a>
+<blockquote>
+<p>
+ Fix crash with NPR &gt; 0 and planar devices.<br>
+<br>
+ A command such as:<br>
+<br>
+ gs -sDEVICE=psdcmyk -r300 -dMaxBitmap=10000 -dNumRenderingThreads=3<br>
+ gs/examples/tiger.eps<br>
+<br>
+ would crash with a SEGV due to an incorrect calculation for raster in<br>
+ get_bits_rectangle.<br>
+<br>
+clustercmd<br>
+clusterdatestamp<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-13 13:35:56 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f221142fa36adc5a3d1192e534196dd4a7e953b4">f221142fa36adc5a3d1192e534196dd4a7e953b4</a>
+<blockquote>
+<p>
+ PDF interpreter - more heuristics to work around broken PDF files<br>
+<br>
+ Bug #594772 &quot; Regression: missing data reading PDF files starting with d5c42d3a14cee808fd889c14805a69adae8eb5b9&quot;<br>
+<br>
+ The PDF file is broken, it has a font with a FontMatrix where one of<br>
+ the values is 0.-4.<br>
+<br>
+ Previously we used .pdftokenerror which would detect<br>
+ this and convert the value to 0 (observed Acrobat behaviour). However at<br>
+ some point this was modified so that if we are not in a content stream we<br>
+ convert into a name object instead.<br>
+<br>
+ This doesn't work in the case of a matrix. Unfortunately changing it back<br>
+ broke *many* PDF files. Almost all of them from SumatraPDF and they are<br>
+ also badly broken but still....<br>
+<br>
+ In essence we want to treat broken numbers as '0' and broken anything else<br>
+ as a name. So the code now tries to decide if the input looks like a broken<br>
+ number (contains 0-9, ',', '.' or '-' and nothing else). If it looks like a<br>
+ number we pass it through .pdftokenerror which will convert it to 0. It is<br>
+ possible for .pdftokenerror to throw an error, though, so we run it in a<br>
+ stopped context and if it does, we convert to a name instead. If it doesn't<br>
+ look like a number, we just convert it to a name.<br>
+<br>
+ This causes differences in Bug694429.pdf, but the differences are that more<br>
+ text is now drawn. The output was wrong before, its wrong now, its merely<br>
+ wrong in a different way.<br>
+<br>
+gs/Resource/Init/pdf_base.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-12 16:19:46 -0700
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d3dc3a3a6948a49a2e8faed57290da40a774703">4d3dc3a3a6948a49a2e8faed57290da40a774703</a>
+<blockquote>
+<p>
+ Fix 694773 - default raster resolution to the PJL setting when in<br>
+ HPGL/RTL mode.<br>
+<br>
+pcl/rtgmode.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 19:07:09 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a0a9d6746cf2e911c2db54c756e34e9e52c0723a">a0a9d6746cf2e911c2db54c756e34e9e52c0723a</a>
+<blockquote>
+<p>
+ Introduce a list of device caches within the clist.<br>
+<br>
+ This is only used when NumRenderingThreads &gt; 0, and avoids us recreating<br>
+ caches every page.<br>
+<br>
+ We allocate the cache list with the thread safe allocator. This has the<br>
+ effect of moving the icc_cache_cl entries out of the thread specific<br>
+ chunked allocators, and also out of garbage collected memory. We<br>
+ therefore remove the code to enumerate icc_cache_cl.<br>
+<br>
+ Also, this has the effect of fixing a gc enumeration bug where the first<br>
+ element of the imager state wouldn't have been enumerated.<br>
+<br>
+gs/base/gdevprn.c<br>
+gs/base/gxclist.c<br>
+gs/base/gxclist.h<br>
+gs/base/gxclthrd.c<br>
+gs/base/gxclthrd.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-12 17:26:13 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=482b8b302399afda3b14242c56209a76694e0062">482b8b302399afda3b14242c56209a76694e0062</a>
+<blockquote>
+<p>
+ Fix reference counting for icc_cache_cl in clist.<br>
+<br>
+ Currently we only rc_decrement the icc_cache_cl entry in the bg_print<br>
+ case. We should really be decrementing in all cases, but we get away<br>
+ with this because the icc_cache_cl entries are allocated in the<br>
+ rendering threads own chunked allocator which is destroyed after each<br>
+ run.<br>
+<br>
+ In a soon-to-come commit, icc_cache_cl will be moved out of the<br>
+ thread specific chunked allocator, and these will become real leaks.<br>
+<br>
+ The simple fix is to rc_decrement in all cases.<br>
+<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-12 18:31:50 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a0386e872771958c67874ab4ef45eb8f43c63f77">a0386e872771958c67874ab4ef45eb8f43c63f77</a>
+<blockquote>
+<p>
+ Add 'extras' option to clusterpush.pl<br>
+<br>
+ Use:<br>
+<br>
+ clusterpush.pl gs lowres extras=-dNumRenderingThreads=3<br>
+<br>
+ to specify extra args to supply to all jobs.<br>
+<br>
+clustercmd<br>
+clusterdatestamp<br>
+gs/toolbin/localcluster/clusterpush.pl<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 19:06:41 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6d4dc3c736c4cdf9e1728484857c613baf6ba3b4">6d4dc3c736c4cdf9e1728484857c613baf6ba3b4</a>
+<blockquote>
+<p>
+ Silence build warning.<br>
+<br>
+ Downcast to the basic device.<br>
+<br>
+gs/devices/gdevfpng.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-12 10:33:42 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f15da3a62aed425e85597b8482daf7ff778beb31">f15da3a62aed425e85597b8482daf7ff778beb31</a>
+<blockquote>
+<p>
+ GS_THREADSAFE: don't ignore &quot;basic&quot; fills....<br>
+<br>
+ In the default &quot;fill&quot; device method, don't drop the call to<br>
+ gx_general_fill_path() for the GS_THREADSAFE build.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gxfill.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 16:56:11 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bcb467c754a7a292f2ed65e61953782577e0412d">bcb467c754a7a292f2ed65e61953782577e0412d</a>
+<blockquote>
+<p>
+ pdfwrite - set CIDToGIDMap correctly for PDF/A-2 output<br>
+<br>
+ Bug #694769 &quot;Fonts changed from TrueType to CID TrueType and not displaying correctly in output PDF&quot;<br>
+<br>
+ We opted not to emit CIDSet for PDF/A-2 since its now documented as<br>
+ optional and I wasn't able to find a CIDSet which would pass Acrobat's<br>
+ preflight tool.<br>
+<br>
+ However, the code also skipped the correct setup of the CIDToGIDMap and we<br>
+ can't do that or the output will be incorrect.<br>
+<br>
+ This commit makes PDF/A-1 and PDF/A-2 behave the same with respect to the<br>
+ CIDToGIDMap.<br>
+<br>
+ No differences expected, we don't test PDF/A production<br>
+<br>
+gs/devices/vector/gdevpdtd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 10:42:06 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f9774c5ae1b9cb12a811d810787b3e21d001a08f">f9774c5ae1b9cb12a811d810787b3e21d001a08f</a>
+<blockquote>
+<p>
+ Bug 694767: have configure set some Trio flags.<br>
+<br>
+ For systems that lack some math functions.<br>
+<br>
+ No cluster differences.<br>
+<br>
+config.mak.in<br>
+configure.ac<br>
+gs/Makefile.in<br>
+gs/configure.ac<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 16:14:21 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=efc0ab29473b65f1f0a119023601d987921373c0">efc0ab29473b65f1f0a119023601d987921373c0</a>
+<blockquote>
+<p>
+ Bug 691498: only declare Windows DLL exports once.<br>
+<br>
+ Using both the __declspec(dllexport) form *and* the .def file results in export<br>
+ symbols being declared twice, and warning from the linker (but only on x86_64<br>
+ for unknown reasons!).<br>
+<br>
+ See: http://support.microsoft.com/kb/835326<br>
+<br>
+ The original uses of __declspec(dllexport) are left in place, but conditionally<br>
+ compiled out, just in case.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/base/gs_dll_call.h<br>
+gs/psi/iapi.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 12:41:02 +0000
+</strong>
+<br>Alan Hourihane &lt;alanh@fairlite.co.uk&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=48a0dd978939fb6ae7bd445fd7b07bcf3b918948">48a0dd978939fb6ae7bd445fd7b07bcf3b918948</a>
+<blockquote>
+<p>
+ Bug 694766: rename &quot;internal&quot; SHA symbols<br>
+<br>
+ Prevent linker errors when linking to something else that uses SHA, by<br>
+ prepending &quot;p&quot; (for private) to our &quot;internal&quot; SHA symbols.<br>
+<br>
+gs/base/sha2.c<br>
+gs/base/sha2.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-11 09:07:07 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6d592ef12079f3a1ea7b9218620f813769c3654">c6d592ef12079f3a1ea7b9218620f813769c3654</a>
+<blockquote>
+<p>
+ pdfwrite - when unable to convert a Shading colour space, fallback to image<br>
+<br>
+ Bug #688731 &quot;Huge PDF file with ProcessColorModel=/DeviceCMYK and ColorConversionStrategy=/CMYK&quot;<br>
+<br>
+ When we can't convert the colour space of a shading dictioanary to satisfy<br>
+ the ColorConversionStrategy we currently fall back to the rendering method<br>
+ used by gx_fill_default, which is to degenerate into parallelograms.<br>
+<br>
+ This results in hugs and very slow PDF files.<br>
+<br>
+ This commit tests the ColorConversionStrategy when we detect an inability<br>
+ to include a Shading unchanged, and if the strategy is not 'LeaveCOlorUnchanged'<br>
+ then we use the ps2write approach and render the shading to an image instead.<br>
+<br>
+ This produces smaller faster output and the quality can be controlled by<br>
+ setting resolution with the -r switch allowing a tradeoff between size and<br>
+ quality.<br>
+<br>
+ If we should be unable to embed a shading for other reasons we will still<br>
+ fall back to the parallelograms method. We may want to avoid this in all<br>
+ circumstances, but lets wait for an example before we decide.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-08 18:33:23 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=db8fcdf94105c55a8886203254e401b601f29a69">db8fcdf94105c55a8886203254e401b601f29a69</a>
+<blockquote>
+<p>
+ Remove dev-&gt;num_planes in favour of dev-&gt;is_planar.<br>
+<br>
+ This removes the need to remember to keep<br>
+ dev-&gt;num_planes == dev-&gt;color_info.num_components for all planar<br>
+ devices.<br>
+<br>
+gs/base/gdevdevn.c<br>
+gs/base/gdevdrop.c<br>
+gs/base/gdevmem.c<br>
+gs/base/gdevmpla.c<br>
+gs/base/gdevp14.c<br>
+gs/base/gdevppla.c<br>
+gs/base/gdevprn.c<br>
+gs/base/gsdevice.c<br>
+gs/base/gsovrc.c<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclip.c<br>
+gs/base/gxclist.c<br>
+gs/base/gxclist.h<br>
+gs/base/gxclthrd.c<br>
+gs/base/gxdevcli.h<br>
+gs/base/gxht_thresh.c<br>
+gs/base/gxicolor.c<br>
+gs/base/gximono.c<br>
+gs/base/gxp1fill.c<br>
+gs/base/gxpcmap.c<br>
+gs/devices/gdevplib.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-08 16:40:10 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c0e10e8636386abf427f922390445b0b6cb2bb59">c0e10e8636386abf427f922390445b0b6cb2bb59</a>
+<blockquote>
+<p>
+ Fix SEGV in psdcmyk.<br>
+<br>
+ tests_private/pdf/sumatra/586_-_missing_images_gs_SMask_not_applied.pdf.psdcmyk.300.1<br>
+<br>
+ It seems num_planes was getting out of sync with color_info.num_components.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-08 17:55:04 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1cb2458772321dc86117cb45b5b28a1423ccf9b7">1cb2458772321dc86117cb45b5b28a1423ccf9b7</a>
+<blockquote>
+<p>
+ pdfwrite - free any allocated memory when initialising stream filters<br>
+<br>
+ Bug #694758 &quot;Segmentation Fault&quot;<br>
+<br>
+ It seems that the arcane image setup sequence used by pdfwrite can result<br>
+ in us calling stream 'init' functions more than once for the same stream.<br>
+ Some of the stream filters (Average and Bicubic) allocate some working<br>
+ memory in the 'init' procedure, but they don't check to see if the<br>
+ working memory has already been allocated.<br>
+<br>
+ This is primarily a cause of memory leaks, though since the memory is<br>
+ garbage collected it won't (probably) actually leak. However it *does*<br>
+ seem to confuse the garbage collector when relocating the stream state<br>
+ structure. We allocate a buffer 9.9Kb but when we come to use it it has<br>
+ shrunk to a little over 1Kb.<br>
+<br>
+ This commit checks the working memory and if its not NULL then we free it<br>
+ before re-allocating (we might be re-initialising to a different size) which<br>
+ resolves the problem for me. However because it changes the memory pattern<br>
+ its possible this is simply masking the problem. Note that this change<br>
+ assumes that the structure members will be set to NULL when the structure<br>
+ is allocated (which it always is at the moment).<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpsds.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-08 16:08:41 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=656f26c232933c6b3c29d2e6b37574096572f35a">656f26c232933c6b3c29d2e6b37574096572f35a</a>
+<blockquote>
+<p>
+ Bug 694622: address a compiler warning.<br>
+<br>
+ Use sprintf() instead of gs_sprintf() for &quot;top level&quot; code.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/psi/dxmain.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-08 09:52:25 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f2a046ddc81258749e73cfc7a6daf0a43488181">8f2a046ddc81258749e73cfc7a6daf0a43488181</a>
+<blockquote>
+<p>
+ Bug 694624: remove couple of deprecated filters.<br>
+<br>
+ Remove the Bounded Huffman and Burrows-Wheeler filters: not required by any<br>
+ of the interpreters, and not used anywhere else.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/sbhc.c<br>
+gs/base/sbhc.h<br>
+gs/base/sbwbs.c<br>
+gs/base/sbwbs.h<br>
+gs/base/shcgen.c<br>
+gs/base/shcgen.h<br>
+gs/doc/Develop.htm<br>
+gs/psi/int.mak<br>
+gs/psi/zfilterx.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-08 13:26:29 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9567942aa10ef2321627316d6f647819584179d">a9567942aa10ef2321627316d6f647819584179d</a>
+<blockquote>
+<p>
+ Solve SEGV due to recentl planar changes.<br>
+<br>
+ tests_private/comparefiles/Bug692217.pdf.psdcmyk.72.0 would SEGV.<br>
+<br>
+ This was because num_planes was getting out of sync with num_components.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 17:30:06 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f59dba325a55dd25ad6b5af4f9579b21bd562eb2">f59dba325a55dd25ad6b5af4f9579b21bd562eb2</a>
+<blockquote>
+<p>
+ Bug 690878: have ghostpdl use HAVE_FILE64 setting<br>
+<br>
+ The GhostPDL configure checked for, but the config.mak.in never used the setting<br>
+ for HAVE_FILE64.<br>
+<br>
+ Add it in.<br>
+<br>
+ No cluster differences.<br>
+<br>
+config.mak.in<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 17:21:27 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=31120fdcbb3f1ab815ade3763b638b77bd9b3d76">31120fdcbb3f1ab815ade3763b638b77bd9b3d76</a>
+<blockquote>
+<p>
+ Bug 690776: missing check for HAVE_MKSTEMP64<br>
+<br>
+ Oddly, the ghostpdl configure.ac checked for mkstemp64 but config.mak.in did not<br>
+ have the substitution pattern for the -DHAVE_MKSTEMP64.<br>
+<br>
+ So add that in.<br>
+<br>
+ No cluster differences.<br>
+<br>
+config.mak.in<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 15:37:37 +0000
+</strong>
+<br>Dr. Werner Fink &lt;werner@suse.de&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a4a912b43ae85b8c3d07f6d4727ced14b2e102a">4a4a912b43ae85b8c3d07f6d4727ced14b2e102a</a>
+<blockquote>
+<p>
+ Bug 690571: deal with memory dev/xdev dimensions being different.<br>
+<br>
+ For GV (and ghostview) a memory deivce is used. The problem is now<br>
+ that most time the width and height of the memory device is not<br>
+ identical with the xdev device its self. Also extrem large bbox<br>
+ can lead to problems on systems with less physical memory.<br>
+<br>
+ This patch avoids these two problems.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/devices/gdevx.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 20:12:14 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c4357befbf3d09c50c4208bbb5dd9864269bf9b3">c4357befbf3d09c50c4208bbb5dd9864269bf9b3</a>
+<blockquote>
+<p>
+ Fix previous tweak to clist line_ptrs.<br>
+<br>
+ The calculation for the clist line_ptrs used before was broken; I guess<br>
+ this proves that we weren't relying on it in most cases. This solves<br>
+ a few SEGVs.<br>
+<br>
+gs/base/gdevppla.c<br>
+gs/base/gxclread.c<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 18:29:46 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=64a57147f683bfbf4c9f2bfcd978e8bcbd87ad97">64a57147f683bfbf4c9f2bfcd978e8bcbd87ad97</a>
+<blockquote>
+<p>
+ Fix SEGV in psdcmyk cluster tests.<br>
+<br>
+ tests_private/comparefiles/09_47N.PDF.300.1 SEGVs due to typo in<br>
+ gx_forward_strip_tile_rect_devn.<br>
+<br>
+gs/base/gdevnfwd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 09:49:47 -0800
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1805749a2338844f19a3c7d336fd4707d04b13de">1805749a2338844f19a3c7d336fd4707d04b13de</a>
+<blockquote>
+<p>
+ Fix fpng crash, file has_transparency<br>
+<br>
+ In clist_playback_band, it checks to see if there is a compositor as<br>
+ the target, and needs to free it, but it should not close the device<br>
+ if its is_open is false, since that would forward the close to the<br>
+ orig_target, closing the memory device. The pdf14 pop_device had<br>
+ already done the pdf14_close and set the procs to forward.<br>
+<br>
+gs/base/gxclrast.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 17:23:40 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6efb9ed5890e7b56814699f6e374de97602a0a1b">6efb9ed5890e7b56814699f6e374de97602a0a1b</a>
+<blockquote>
+<p>
+ Squash some warnings.<br>
+<br>
+gs/base/gdevmem.c<br>
+gs/base/gdevmpla.c<br>
+gs/base/gdevp14.c<br>
+gs/base/gdevppla.c<br>
+gs/base/gsicc_manage.c<br>
+gs/base/gsicc_nocm.c<br>
+gs/base/gxccman.c<br>
+gs/base/gxclthrd.c<br>
+gs/base/gximage3.c<br>
+gs/base/gxpcmap.c<br>
+gs/devices/gdevpsd.c<br>
+gs/devices/vector/gdevpdfd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 15:47:19 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=432f71e687183df4971c0bee1932fb57ef0295a1">432f71e687183df4971c0bee1932fb57ef0295a1</a>
+<blockquote>
+<p>
+ Tweak clist line_ptrs data.<br>
+<br>
+ The clist has always allocated space for the memory device as if<br>
+ the line_ptrs were to be included within the allocated space, but<br>
+ has never actually put the line_ptrs into this space.<br>
+<br>
+ Consequently the memory device always allocates space for the<br>
+ line_ptrs itself. This space is then freed on a close_device call.<br>
+<br>
+ This can present problems in NumRenderingThreads mode, when<br>
+ process_page is used. With the existing code, within clist_render_thread,<br>
+ the buffer device is setup (and the new line_ptrs block is allocated).<br>
+ The device is then freed at the end of clist_playback_band<br>
+ (called from clust_render_rectangle). This nukes the line_ptrs<br>
+ leaving the get_bits_rectangle call from within the process_fn call<br>
+ to fail when dereferencing NULL.<br>
+<br>
+ The fix here is to amend the clist device structure to include the<br>
+ offset within the block that the line_ptrs should be allocated at.<br>
+ This offset can then be used to pass in the address of the line_ptrs<br>
+ to the setup_buffer_device call. This means the line_ptrs survive<br>
+ device closing.<br>
+<br>
+ This still leaves questions (in my mind at least) as to whether the<br>
+ handling of the device closures within clist_playback_band is correct<br>
+ or not.<br>
+<br>
+gs/base/gxband.h<br>
+gs/base/gxclist.c<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 10:37:34 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cfeb9f98b896384ac366f4e30f3653a52de7af87">cfeb9f98b896384ac366f4e30f3653a52de7af87</a>
+<blockquote>
+<p>
+ pdfwrite - add a Resources dictionary to 'Group' dictionaries<br>
+<br>
+ Bug #693322 &quot;Acrobat Preflight tool reports missing XObjects&quot;<br>
+<br>
+ Crazy Cairo-constructed files can result in Group dictionaries which use<br>
+ other resources (in this case an ExtGState) and this wasn't possible in<br>
+ the existing code. This commit adds a Resources dictionary so that it is<br>
+ now possible to recreate this.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdft.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 09:15:38 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6c5ecdf1a54e9d5a572c11860492abce06523f24">6c5ecdf1a54e9d5a572c11860492abce06523f24</a>
+<blockquote>
+<p>
+ Bug 694718: &quot;reset&quot; MT fonts for each glyph.<br>
+<br>
+ Seems some vesions of UFST require the font object to be recreated for each<br>
+ glyph to work correctly. So when I fixed the optimisation in gxfapi.c to<br>
+ avoid calling &quot;get_scaled_font()&quot; when the font parameters had not changed, it<br>
+ exposed the problem with the UFST integration.<br>
+<br>
+ To address this, the fapi/ufst code now zeros out the stored scale matrix for<br>
+ MT fonts, so the code in gxfapi.c always registers the scaling as having<br>
+ changed. Luckily, recreating the MT font object is not a very expensive<br>
+ operation.<br>
+<br>
+ Also, grab the design units scale from the UFST state structure if the values<br>
+ haven't been set in the outline structure.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/base/fapiufst.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-07 08:27:47 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=58cdefdeadbceda4833e489b6d94f5895a2d8ea4">58cdefdeadbceda4833e489b6d94f5895a2d8ea4</a>
+<blockquote>
+<p>
+ pdfwrite - check a return code<br>
+<br>
+ Silences a compiler warning (and is the right thing to do of course)<br>
+<br>
+gs/devices/vector/gdevpdft.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-06 09:18:19 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=616ff4cc44b00bcf7df97b64c8bdaebbe0620713">616ff4cc44b00bcf7df97b64c8bdaebbe0620713</a>
+<blockquote>
+<p>
+ pdfwrite - add transparency Group to substream resources<br>
+<br>
+ Bug #691352 &quot;cairo pdf mis-distilled.&quot;<br>
+<br>
+ This fixes the last remaining problem with this old bug. When we were<br>
+ creating Form XObjects (because of transparency groups) we were assuming<br>
+ that the from was a child of the page.<br>
+<br>
+ However, groups nested within groups (uncommon, except with Cairo's awful<br>
+ output) can cause a Form XObject to have children which are also Form<br>
+ XObjects. In this case we need to have the Form (or other substream) add<br>
+ the child form to its own Resources rather than inheriting them from the<br>
+ Page.<br>
+<br>
+ This also addresses (most of) Bug #693332 though this still leaves a<br>
+ dangling ExtGState which needs separate investigation.<br>
+<br>
+ No Differences expected<br>
+<br>
+gs/devices/vector/gdevpdft.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-04 18:32:21 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29a06fed84063976abe9864659384e7e371d799e">29a06fed84063976abe9864659384e7e371d799e</a>
+<blockquote>
+<p>
+ Add alignment and padding code.<br>
+<br>
+ Every time we create a new device in the code, we need to copy<br>
+ the pad and align values from the 'base' device to the new device.<br>
+<br>
+ Build with TEST_PAD_AND_ALIGN defined to force on for pxmraw and psdcmyk.<br>
+<br>
+gs/base/gdevdevn.c<br>
+gs/base/gdevmem.c<br>
+gs/base/gdevmpla.c<br>
+gs/base/gdevppla.c<br>
+gs/base/gdevprn.c<br>
+gs/base/gxbitmap.h<br>
+gs/base/gxclthrd.c<br>
+gs/devices/gdevpbm.c<br>
+gs/devices/gdevpsd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-01 17:30:00 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b3aec5521e0e5d84164285353af20a5163139c3f">b3aec5521e0e5d84164285353af20a5163139c3f</a>
+<blockquote>
+<p>
+ Remove is_native_planar.<br>
+<br>
+gs/base/gdevdevn.c<br>
+gs/base/gdevdflt.c<br>
+gs/base/gdevdrop.c<br>
+gs/base/gdevmem.c<br>
+gs/base/gdevmpla.c<br>
+gs/base/gdevnfwd.c<br>
+gs/base/gdevp14.c<br>
+gs/base/gdevppla.c<br>
+gs/base/gsdevice.c<br>
+gs/base/gsovrc.c<br>
+gs/base/gxccman.c<br>
+gs/base/gxclimag.c<br>
+gs/base/gxclip.c<br>
+gs/base/gxclist.c<br>
+gs/base/gxclrect.c<br>
+gs/base/gxdevsop.h<br>
+gs/base/gxht_thresh.c<br>
+gs/base/gxicolor.c<br>
+gs/base/gximage3.c<br>
+gs/base/gximono.c<br>
+gs/base/gxp1fill.c<br>
+gs/base/gxpcmap.c<br>
+gs/devices/vector/gdevpdfd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-01 16:47:06 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f6946de99dd19c7a883d7edb28b4f52290e3e934">f6946de99dd19c7a883d7edb28b4f52290e3e934</a>
+<blockquote>
+<p>
+ Steps towards supporting aligned and padded buffer devices.<br>
+<br>
+ Introduce log2_align_mod, pad and num_planes to the gx_device<br>
+ structure. Values of 0 will cause no changes to default behaviours.<br>
+<br>
+gs/base/gdevppla.c<br>
+gs/base/gdevprn.c<br>
+gs/base/gsdevice.c<br>
+gs/base/gxclread.c<br>
+gs/base/gxdevcli.h<br>
+gs/base/gxdevice.h<br>
+gs/base/gxdevmem.h<br>
+gs/devices/gdevbit.c<br>
+gs/devices/gdevplib.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-04 17:23:28 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8f9934aa6c54830230f749280765ea4e65471d2">a8f9934aa6c54830230f749280765ea4e65471d2</a>
+<blockquote>
+<p>
+ pdfwrite - fix some XML emission<br>
+<br>
+ Bug #694736 &quot;PDF/A XMP dc:description - wrong element structure&quot;<br>
+<br>
+ The dc:creator is specified as a text sequence, but we were also emitting<br>
+ the dc:description that way, which is clearly wrong.<br>
+<br>
+gs/devices/vector/gdevpdfe.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-04 15:09:03 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f09f7f7cd37f3a52f733019e1d383034dd1c01cf">f09f7f7cd37f3a52f733019e1d383034dd1c01cf</a>
+<blockquote>
+<p>
+ pdfwrite - revert a4de55 and check for parentheses properly instead<br>
+<br>
+ Bug #694735 &quot;PDF/A XMP metadata and DOCINFO synchronization&quot;<br>
+<br>
+ The commit a4de55 was incorrect, the PDF/A spec clearly states that the<br>
+ XML creator is based on the Author. However, when an empty string is<br>
+ present for the Document Info entry, we should not write the string parentheses<br>
+ into the XML, this is clearly incorrect.<br>
+<br>
+<br>
+ Still no differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfe.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-04 13:41:00 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a4de55d2fd0fa38e5110e7b5d5cca746528b28f6">a4de55d2fd0fa38e5110e7b5d5cca746528b28f6</a>
+<blockquote>
+<p>
+ pdfwrite - use /Creator instead of /Author for the XML creator entry<br>
+<br>
+ Bug #694735 &quot;PDF/A XMP metadata and DOCINFO synchronization&quot;<br>
+<br>
+ We were using the Document Info /Author field for the XML 'creator' which<br>
+ apparently causes at least one PDF/A validator to take offence. Its not<br>
+ entirely clear to me from the documentation which one is inteded to be<br>
+ here, so we'll just use /Creator instead.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdfe.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-04 09:26:47 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ee0bf17f4912f131f7ad98aab744e571a18ece39">ee0bf17f4912f131f7ad98aab744e571a18ece39</a>
+<blockquote>
+<p>
+ pdfwrite/ps2write colour management, enable the new code<br>
+<br>
+ Change the default setting of teh colour management switch so that we<br>
+ default to using the new code.<br>
+<br>
+ If we are creating PDF/A-1, force the old colour management, we can't yet<br>
+ guarantee that we are getting a version 2 profile.<br>
+<br>
+ Add some minimal documentation in ps2pdf.htm, hopefully we will do some<br>
+ more work in this area before release, and the documentation can be revamped.<br>
+<br>
+ This change results in a lot of differences, especially with ps2write. In<br>
+ the main these are slight shifts in color values caused by using a different<br>
+ (better) conversion system. However, the new code does a much better job<br>
+ of handling some kinds of colour spaces, in particular Separation spaces<br>
+ with ps2write which are now preserved. This leads to a number of progressions<br>
+ in the test suite.<br>
+<br>
+ I've looked at all the differences and I believe they are all either very<br>
+ minor colour shifts, or progressions.<br>
+<br>
+ This is with 'LeaveColorUnchanged', actually converting to different spaces<br>
+ does result in differences but this can't be cluster tested. I believe these<br>
+ are all progressions however.<br>
+<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfp.c<br>
+gs/doc/Ps2pdf.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-02 12:21:21 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41e1bdc7ef06bd00874890b36a53d84166ef30d0">41e1bdc7ef06bd00874890b36a53d84166ef30d0</a>
+<blockquote>
+<p>
+ pdfwrite - colour code, do not apply range limiting for images<br>
+<br>
+ When handling an image in a Lab space, do not reset the range of the space.<br>
+ We don't need to when preserving an image, and if we use the same space<br>
+ immediately afterward for linework, the range clamping causes the components<br>
+ to come out black.<br>
+<br>
+ No differences, code is not used yet.<br>
+<br>
+gs/devices/vector/gdevpdfi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-02 12:19:03 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eada430a0c612f5f50a9fea6416daa048464a5c3">eada430a0c612f5f50a9fea6416daa048464a5c3</a>
+<blockquote>
+<p>
+ pdfwrite - coiour code, silence some compiler warnings<br>
+<br>
+gs/devices/vector/gdevpdfg.c<br>
+gs/devices/vector/gdevpsdu.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-01 11:01:02 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=82bfa31f2f423223b002aab74323927e8ee42ea0">82bfa31f2f423223b002aab74323927e8ee42ea0</a>
+<blockquote>
+<p>
+ Add in some missing checks for failed allocations in gsicc code.<br>
+<br>
+ There are a couple of functions that are 'void' that just return,<br>
+ which seems like should be fixed. Also fix _cmsCalloc in gsicc_lcms.c<br>
+ to actually clear the memory.<br>
+<br>
+gs/base/gsicc_cache.c<br>
+gs/base/gsicc_lcms.c<br>
+gs/base/gsicc_manage.c<br>
+gs/base/gsicc_nocm.c<br>
+gs/base/gsicc_profilecache.c<br>
+gs/base/gsicc_replacecm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-11-01 08:32:45 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b937b04503837d2ac6f3877478b5500f4bc8ea8a">b937b04503837d2ac6f3877478b5500f4bc8ea8a</a>
+<blockquote>
+<p>
+ pdfwrite/ps2write - colour code work<br>
+<br>
+ 1) Rescale inputs to 0-&gt;1 before concretizing if the space is specifically<br>
+ Lab. Required as the inputs to the ICC profile must be 0-&gt;1. gx_remap_color<br>
+ and its children do this for us, but gx_concretize_color does not.<br>
+<br>
+ 2) Do not corrupt the device color from the interpreter if we are converting<br>
+ to a different colour space, use a temporary structure instead.<br>
+<br>
+ 3) Make sure to use frac2float after concretizing to convert the values.<br>
+<br>
+ 4) Don't forget to update the saved colour (in the device) after we've<br>
+ converted colours.<br>
+<br>
+ 5) Update pdsdf_set_color so that if we are using the new colour code we<br>
+ get the expected number of output components from the ICC profile attached<br>
+ to the device, rather than the device 'color_info'. Update all calls to<br>
+ psdf_set_color so that they pass in the required boolean.<br>
+<br>
+ This code is still switched off by default, so no cluster differences will<br>
+ show up.<br>
+<br>
+gs/devices/vector/gdevpdfc.c<br>
+gs/devices/vector/gdevpdfg.c<br>
+gs/devices/vector/gdevpdfv.c<br>
+gs/devices/vector/gdevpsdf.h<br>
+gs/devices/vector/gdevpsdu.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-31 07:11:47 -0700
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos.woehrmann@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5929829c83498b2694bd32cf3579e151c1c99f0d">5929829c83498b2694bd32cf3579e151c1c99f0d</a>
+<blockquote>
+<p>
+ Added support for VS2013 to msvc.mak.<br>
+<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-30 17:56:00 +0000
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b87f410b4084c84242c254c70c379b96c8fca2d7">b87f410b4084c84242c254c70c379b96c8fca2d7</a>
+<blockquote>
+<p>
+ Ensure that gdev_prn_dev_spec_op forwards to the real device.<br>
+<br>
+ When the clist hijacks all the device entries, it attempts to forward<br>
+ the dev_spec_op calls to the generic printer device. This doesn't<br>
+ help when we have a device specific one. Only the printer device<br>
+ knows what the original procs were, so the best we can do is to have<br>
+ gdev_prn_dev_spec_op forwarding.<br>
+<br>
+ This was important as the adjust_bandheight gxdso call was not making<br>
+ it through to the underlying device.<br>
+<br>
+gs/base/gdevprn.c<br>
+gs/base/gdevprn.h<br>
+gs/base/gxclist.h<br>
+gs/base/gxclrect.c<br>
+gs/base/gxpcmap.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-24 21:07:31 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bdf630af4252ba87bffa6108840bac53f4754cea">bdf630af4252ba87bffa6108840bac53f4754cea</a>
+<blockquote>
+<p>
+ Remove unnecessary code.<br>
+<br>
+ The test is unneccessary due to us being within a if.<br>
+<br>
+gs/base/gdevprn.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-31 10:10:21 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9c77012daa9b1903d7be5fc4f239a46df863d0db">9c77012daa9b1903d7be5fc4f239a46df863d0db</a>
+<blockquote>
+<p>
+ Add quotes to conditional for safety.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/base/msvclib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-30 14:19:06 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=75a8be6597d6ce56182c5391d6be02f997a1aa21">75a8be6597d6ce56182c5391d6be02f997a1aa21</a>
+<blockquote>
+<p>
+ Addition of code to test if current ICC color space is the same as new ICC color space<br>
+<br>
+gs/psi/zcolor.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-30 18:30:42 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5c511841cbe373743165e2248adc583382ca3b2a">5c511841cbe373743165e2248adc583382ca3b2a</a>
+<blockquote>
+<p>
+ Avoid warning for missing (not required) encoding for PDFs<br>
+<br>
+ Check earlier for the existence of an encoding entry in a PDF font object,<br>
+ for font types in which encoding is optional. Avoids a benign but annoying<br>
+ warning from the PDF interpreter.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Resource/Init/pdf_font.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-28 18:45:31 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c186880d7e3651c8a76e55bc981fc22e4a57ea94">c186880d7e3651c8a76e55bc981fc22e4a57ea94</a>
+<blockquote>
+<p>
+ Bug 694733 (part 2): ensure jmp_buf alignment is correct<br>
+<br>
+ Move the jmp_buf used by the HP/GL parser to be a local variable, accessed<br>
+ via a pointer in the state (rather than directly allocated within the state).<br>
+<br>
+ This ensures that any alignment requirements are met - specifically, 64 bit<br>
+ MS Visual Studio 2010 requires that jmp_bufs be aligned to 16 byte boundaries.<br>
+<br>
+ No cluster differences.<br>
+<br>
+pcl/pgmand.h<br>
+pcl/pgparse.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-28 11:08:19 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=16fbdade9a29352ad936455eab65e77a9db6f768">16fbdade9a29352ad936455eab65e77a9db6f768</a>
+<blockquote>
+<p>
+ Bug 694733 (part 1): fix incorrect offsets in chunk allocator<br>
+<br>
+ When I changed the chunk allocator to honor the alignment value for the<br>
+ memory manager, I missed a couple of places where the calculation of the offset<br>
+ to get from the allocated memory address to the address of the chunk node.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gsmchunk.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-26 13:42:34 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f491ec1493bcb11583d450a264a1b80d5557217">8f491ec1493bcb11583d450a264a1b80d5557217</a>
+<blockquote>
+<p>
+ Fix 694737 - Typeface mask incorrect.<br>
+<br>
+ The typeface value is in the first 12 bits and the vendor info in the<br>
+ next 4 bits of the short value that stores typeface information. We<br>
+ were extracting the first 11 bits for the typeface. This problem is<br>
+ not associated with a known bug, and in fact, it is quite unlikely to<br>
+ result in a problem, but it is incorrect. Thanks to Norbert Janssen<br>
+ for pointing out the problem.<br>
+<br>
+pcl/pcfsel.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-24 20:22:18 -0700
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos.woehrmann@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1b691ea92ead0590c619ec64a00d93f24452bb2c">1b691ea92ead0590c619ec64a00d93f24452bb2c</a>
+<blockquote>
+<p>
+ Fix Luratech build (by removing spurious JPX_AUTOCONF_CFLAGS= from configure.ac).<br>
+<br>
+gs/configure.ac<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-24 20:03:15 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5c08e60fc75c940ce6c6df1e75802ce2d72fbd2f">5c08e60fc75c940ce6c6df1e75802ce2d72fbd2f</a>
+<blockquote>
+<p>
+ Fix bug 694725 - bad characters in numeric input not processed<br>
+ correctly.<br>
+<br>
+ Thanks to Norbert Janssen for finding and fixing this problem.<br>
+<br>
+pcl/pcparse.c<br>
+pcl/pcparse.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-24 08:59:12 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=184dcfd570a96328798e36d8e08495eb426d67f9">184dcfd570a96328798e36d8e08495eb426d67f9</a>
+<blockquote>
+<p>
+ Allow user to override configure's color index setting<br>
+<br>
+ This command line parameter is not listed in the &quot;configure --help&quot; output<br>
+ as it is really intended for our use, and not generally by end users.<br>
+<br>
+ To build with 32 bit colour indices, issue:<br>
+ ./configure --with-large_color_index=0<br>
+<br>
+ to build with 64 bit color indices:<br>
+ ./configure --with-large_color_index=1<br>
+<br>
+ This works for both Ghostscript and GhostPDL builds.<br>
+<br>
+ The only &quot;wrinkle&quot; is that Ghostscript default to:<br>
+ &quot;--with-large_color_index=1&quot; (so 64 bit indices)<br>
+<br>
+ whilst GhostPDL defaults to:<br>
+ &quot;--with-large_color_index=0&quot; (so 32 bit indices)<br>
+<br>
+ This retains the previous default settings.<br>
+<br>
+ No cluster differences.<br>
+<br>
+config.mak.in<br>
+configure.ac<br>
+gs/configure.ac<br>
+main/pcl6_gcc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-22 11:09:23 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=38ed5ffaf81405a3e8ff094afbc2ada05eaf630c">38ed5ffaf81405a3e8ff094afbc2ada05eaf630c</a>
+<blockquote>
+<p>
+ Fix for bug in case where alternate color space for DeviceN and separation is CIE<br>
+<br>
+ If the CIE color space has a range different than 0 to 1 we need to rescale before using<br>
+ the equivalent ICC profile. Fixes bug 694731. Note diffs for 09-34.PS match what is<br>
+ created by Distiller and AR vers. X.<br>
+<br>
+gs/base/gscdevn.c<br>
+gs/base/gsciemap.c<br>
+gs/base/gscsepr.c<br>
+gs/base/gsicc.c<br>
+gs/base/gxcie.h<br>
+gs/base/lib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-23 16:09:21 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c7cca8f105194908bb1b28b3e6606be51533b6d9">c7cca8f105194908bb1b28b3e6606be51533b6d9</a>
+<blockquote>
+<p>
+ Fix possible (but very unlikely) SEGV and warning.<br>
+<br>
+ It is extremely unlikely that options will be NULL, but check to be<br>
+ sure.<br>
+<br>
+gs/base/gxclthrd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-23 12:53:49 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d76e3a434e699f8974f50d98c0b7e82042fdc7ec">d76e3a434e699f8974f50d98c0b7e82042fdc7ec</a>
+<blockquote>
+<p>
+ Clean a few #defines out of psdcmyk device.<br>
+<br>
+ Not needed since the transition away from compressed color encoding<br>
+ to planar operation.<br>
+<br>
+gs/devices/gdevpsd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-23 14:34:11 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad3e3ed7913986cec6acbc1afe0eff0c57627ddc">ad3e3ed7913986cec6acbc1afe0eff0c57627ddc</a>
+<blockquote>
+<p>
+ Bug 694734: handle Type 0 font in annotation<br>
+<br>
+ The code to generate an appearance from an annotation with an AP, the code<br>
+ required the FontBBox, but failed to take account that the FontBBox is not<br>
+ required in a Type 0 font.<br>
+<br>
+ We now handle it by grabbing the FontBBox from the descendant font - for<br>
+ which a FontBBox is mandatory.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/Resource/Init/pdf_ops.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-22 08:23:19 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ee941e19870761a752277f08c82282f53f4d4fee">ee941e19870761a752277f08c82282f53f4d4fee</a>
+<blockquote>
+<p>
+ Bug 694722: force ptr alignment to 8 bytes for HP-UX<br>
+<br>
+ Like Solaris/SPARC, HP-UX appears to require pointer alignment to be 8 bytes<br>
+ even when user space pointers are 32 bits.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/genarch.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-21 13:34:36 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=25db24cbeb52621cd1e2ae3e79d9b06c97143bc3">25db24cbeb52621cd1e2ae3e79d9b06c97143bc3</a>
+<blockquote>
+<p>
+ Add documentation for process_page.<br>
+<br>
+gs/doc/Drivers.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-22 13:08:14 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d2612770174079f423d704af4f68f6c85f63905a">d2612770174079f423d704af4f68f6c85f63905a</a>
+<blockquote>
+<p>
+ Update fpng device to use downscaler.<br>
+<br>
+gs/devices/gdevfpng.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-18 18:36:52 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ae8611c998beaad5e6f0cd2b85abb1b1995d94c4">ae8611c998beaad5e6f0cd2b85abb1b1995d94c4</a>
+<blockquote>
+<p>
+ Add fpng device.<br>
+<br>
+ Example 'fastpng' device for process_page.<br>
+<br>
+gs/devices/devs.mak<br>
+gs/devices/gdevfpng.c<br>
+gs/ghostscript.vcproj<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-18 22:14:55 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=afe18de12b530d8d95a132755516847e8fc3f88e">afe18de12b530d8d95a132755516847e8fc3f88e</a>
+<blockquote>
+<p>
+ Add gxdso_adjust_bandheight<br>
+<br>
+ Add mechanism for adjusting the bandheight. Intended to allow devices to<br>
+ exert fine control over bandheight while ghostscript still handles the<br>
+ gross sizing. An example would be the downscaler ensuring that bands are<br>
+ multiples of the given downscale.<br>
+<br>
+gs/base/gxclist.c<br>
+gs/base/gxdevsop.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-22 13:06:40 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=edd06c70150166780f1360a42499569f3a52903e">edd06c70150166780f1360a42499569f3a52903e</a>
+<blockquote>
+<p>
+ Update downscaler to allow for process_page operation.<br>
+<br>
+ (No error diffusion in this mode, as bands need to be independent).<br>
+<br>
+gs/base/gxdownscale.c<br>
+gs/base/gxdownscale.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-21 12:03:42 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ca5a608fe9062492f53c80eccb8b78dbdb997499">ca5a608fe9062492f53c80eccb8b78dbdb997499</a>
+<blockquote>
+<p>
+ Add default process_page implementation.<br>
+<br>
+ This serves to handle the page mode case.<br>
+<br>
+gs/base/gdevdflt.c<br>
+gs/base/gxdevice.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-18 18:36:26 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a25313d4518a942d74528ee7b6a52c96aa0128b6">a25313d4518a942d74528ee7b6a52c96aa0128b6</a>
+<blockquote>
+<p>
+ Add process_page entry point.<br>
+<br>
+ Add clist implementation (both threaded and non-threaded) for process_page.<br>
+<br>
+gs/base/gxcldev.h<br>
+gs/base/gxclist.c<br>
+gs/base/gxclthrd.c<br>
+gs/base/gxclthrd.h<br>
+gs/base/gxdevcli.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-21 11:54:33 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7bff9b2f7230b527765661ea721d4b60e0e4154">d7bff9b2f7230b527765661ea721d4b60e0e4154</a>
+<blockquote>
+<p>
+ pdfwrite - free Named Images stack before clearing local/global named objects<br>
+<br>
+ Bug #694136 &quot;Seg faults found by fuzzing in cos_value_free&quot;<br>
+<br>
+ If we stored named images in the initial name space then when we closed<br>
+ the PDF file we would free and delete the local named objects before we<br>
+ freed the named images stack. If the named images stack included entries<br>
+ stored in the local named objects stack then we would attempt to free an<br>
+ object which was already freed.<br>
+<br>
+ So we clear the named images stack first, for added safety we ensure we<br>
+ clear the NI stack before global named objects are freed too.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/devices/vector/gdevpdf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-19 10:50:17 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8dbe789dec0a8be00942849f768648da60ee3336">8dbe789dec0a8be00942849f768648da60ee3336</a>
+<blockquote>
+<p>
+ pdfwrite - do not compose font name with CMAp when creating a CIDFOnt<br>
+<br>
+ Bug #694721 &quot;Issued with font names in pdfwrite device&quot;<br>
+<br>
+ When creating a CIDFont for output to a PDF file, we created the name by<br>
+ composing the CIDFont name with the CMap originally used with the font.<br>
+ However, this doesn't make sense, the CIDFont we emit is not composed with<br>
+ that CMap, its usually composed with an Identity CMap. The CIDFont is<br>
+ still arranged according to the original CMap, but this is the Ordering<br>
+ of the font, not the CMap being used with it, and we record that Ordering<br>
+ (should it be useful for anything) in the CIDSystemInfo.<br>
+<br>
+ We now do not add the CMap name to the CIDfont name, which allows Acrobat<br>
+ to do a 'better' job of copy and paste (apparently it passes the font name<br>
+ along).<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdtf.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-18 18:33:21 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7936b2643f2577fb70fdf2b8d9e3af5c8058668d">7936b2643f2577fb70fdf2b8d9e3af5c8058668d</a>
+<blockquote>
+<p>
+ Fix memory leak on error in gxclimag.c<br>
+<br>
+ If we fail to allocate pie-&gt;buffer, there is no need to free it during<br>
+ the clean up. On the other hand, it's probably a good idea to free 'pie'.<br>
+<br>
+ Also, for good style, if nothing else, avoid pinfo being returned with<br>
+ a dangling pointer.<br>
+<br>
+gs/base/gxclimag.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-17 21:06:02 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=357ec4e2553a80c2bb6df29bb33ad095ac343242">357ec4e2553a80c2bb6df29bb33ad095ac343242</a>
+<blockquote>
+<p>
+ Fix Bug694714. Clamp the ymin/ymax values to valid device coordinates.<br>
+<br>
+ In write_image_end_all, we could advance to a band past the end of the<br>
+ page that didn't have a pcls in the states array, causing a segfault<br>
+ when garbage values were used.<br>
+<br>
+gs/base/gxclimag.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-18 11:35:06 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b21c6dd0fc782709712307f58fe0685634c6db30">b21c6dd0fc782709712307f58fe0685634c6db30</a>
+<blockquote>
+<p>
+ pdfwrite - Improve robustness of type 1 font interpreter<br>
+<br>
+ Bug #694214 &quot;Seg faults found by fuzzing in type1_next&quot;<br>
+<br>
+ The font is corrupted and one of the glyph instrctions performs a 'return'<br>
+ without previously executing a subroutine. This caused the font interpreter<br>
+ to crash.<br>
+<br>
+ We now check when executing a return to see if we are not in the main glyph<br>
+ program, if we are, we return an invalidfont error.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpsfx.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-17 12:56:38 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fc7ead6d34638a521a48debeb9437eac4e82ef98">fc7ead6d34638a521a48debeb9437eac4e82ef98</a>
+<blockquote>
+<p>
+ pdfwrite - some casts to prevent compiler warnings<br>
+<br>
+gs/devices/vector/gdevpdfc.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-17 12:08:54 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3cd2f7878bdae2d954ab27906336a9b87a267cd9">3cd2f7878bdae2d954ab27906336a9b87a267cd9</a>
+<blockquote>
+<p>
+ pdfwrite colour code - after concretizing a DeviceN space, don't attempt to convert it again<br>
+<br>
+gs/devices/vector/gdevpdfg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-17 12:07:11 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bbb32ec3f43405bd794f5d60f58f2d1bb7f5546b">bbb32ec3f43405bd794f5d60f58f2d1bb7f5546b</a>
+<blockquote>
+<p>
+ pdfwrite colour - ensure icc_equivalent is set before trying to use it.<br>
+<br>
+gs/devices/vector/gdevpdfc.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-17 08:19:33 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88df0b8fe9cce08b30ae7b12d6a1e8aa104981e2">88df0b8fe9cce08b30ae7b12d6a1e8aa104981e2</a>
+<blockquote>
+<p>
+ pdfwrite - check before dereferencing a pointer<br>
+<br>
+ Bug #694716 - &quot;seg fault with pdfwrite&quot;<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-16 09:26:35 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=82fc3bd9f058974403d9f9ff9945391a6b8b20f6">82fc3bd9f058974403d9f9ff9945391a6b8b20f6</a>
+<blockquote>
+<p>
+ The color index size was not transmitted properly from the MSVC<br>
+ PCL/PXL/XPS makefiles to the Ghostscript makefile system.<br>
+<br>
+common/msvc_top.mak<br>
+gs/base/msvclib.mak<br>
+gs/psi/msvc.mak<br>
+main/pcl6_msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-16 00:59:19 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e9b3ce974cbd12452ae11ff1ff4cd48e4a261a9">8e9b3ce974cbd12452ae11ff1ff4cd48e4a261a9</a>
+<blockquote>
+<p>
+ Add downscaler support to pngalpha.<br>
+<br>
+gs/devices/gdevpng.c<br>
+gs/doc/Devices.htm<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-15 10:31:33 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a438d95a859b430e58ef448a0995aa13cefac172">a438d95a859b430e58ef448a0995aa13cefac172</a>
+<blockquote>
+<p>
+ Minor fixes for use of equivalent ICC profiles from PS objects with pdfwrite<br>
+<br>
+gs/base/gsicc_cache.c<br>
+gs/devices/vector/gdevpdfg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-14 16:56:25 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9a441022bfe6f59dacdca40ce60c37ee02adfa07">9a441022bfe6f59dacdca40ce60c37ee02adfa07</a>
+<blockquote>
+<p>
+ Fix for error when nos had shape and alpha_g during compositing.<br>
+<br>
+gs/base/gxblend1.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-14 10:30:03 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1c1f1619da98236ea06c4fdb1ea403d5ab990e08">1c1f1619da98236ea06c4fdb1ea403d5ab990e08</a>
+<blockquote>
+<p>
+ Make sure to set the soft mask opacity to one so that we do not apply the<br>
+ global path opacity multiple times when we have an opacity and a soft mask<br>
+ from an image. Fix for Bug 694705<br>
+<br>
+xps/xpsgradient.c<br>
+xps/xpsimage.c<br>
+xps/xpsopacity.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-14 17:14:59 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a0b7b91e2ca181e06fe11a89c5240e78b6e31aaf">a0b7b91e2ca181e06fe11a89c5240e78b6e31aaf</a>
+<blockquote>
+<p>
+ pdfwrite - check return values from 'convert color'<br>
+<br>
+ Bug #694221 &quot;Valgrind issues found by fuzzing in choose_DCT_params (gdevpsdi.c:156)&quot;<br>
+<br>
+ In the past convert_color could not fail, with ICC handling, it can, so<br>
+ we need to check the return code and handle errors gracefully.<br>
+<br>
+ This would not in fact have caused problems, but we fix it anyway.<br>
+<br>
+gs/devices/vector/gdevpsdi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-11 16:18:32 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d28da52a57923eb76503277d8be2eb0c72165599">d28da52a57923eb76503277d8be2eb0c72165599</a>
+<blockquote>
+<p>
+ Fix free mistake made in knockout commit http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=2d2cc321df4223fd7cf64946ac2fa963fa1cea3d<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-11 15:33:55 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=561b37fb083fa0dc32ea81b4aaea38607db05814">561b37fb083fa0dc32ea81b4aaea38607db05814</a>
+<blockquote>
+<p>
+ Remove the -dDisableFAPI hack from the &quot;languages&quot; builds<br>
+<br>
+ No cluster differences.<br>
+<br>
+pl/plmain.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-11 15:24:43 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=31ca73d856f974c7e1422948b2fb5794af55bf58">31ca73d856f974c7e1422948b2fb5794af55bf58</a>
+<blockquote>
+<p>
+ Have FAPI honor GridFitTT parameter.<br>
+<br>
+ The FAPI code now passes the GridFitTT parameter onto the scaler/renderer<br>
+ interface code.<br>
+<br>
+ The default setting is now &quot;1&quot; for using the bytecode hinting. &quot;0&quot; disables<br>
+ all TTF hinting, and &quot;2&quot; (with Freetype) enables Freetype's &quot;autohinting&quot;<br>
+ algorithm. With other scalers the paramter currently has no effect, and<br>
+ the &quot;2&quot; setting will *always* be scaler dependent.<br>
+<br>
+ Causes differences in pretty much every cluster PCL file containing TTF<br>
+ glyphs as (and I still think this is a bad idea) PCL disables hinting at 300<br>
+ dpi and above. No differences in PS/PDF/XPS/PXL jobs.<br>
+<br>
+gs/base/fapi_ft.c<br>
+gs/base/fapibstm.c<br>
+gs/base/fapiufst.c<br>
+gs/base/gsfont.c<br>
+gs/base/gxfapi.c<br>
+gs/base/gxfapi.h<br>
+gs/doc/Language.htm<br>
+pl/plfapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-11 09:45:56 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9c13e3b9e735ba119f58c751a51fc55efef15a0c">9c13e3b9e735ba119f58c751a51fc55efef15a0c</a>
+<blockquote>
+<p>
+ xps interpreter - correct high level pattern handling<br>
+<br>
+ A silly error was causing fills to be applied twice. For opaque fills this<br>
+ is merely a performance penalty but for transparent fills the result is<br>
+ incorrect.<br>
+<br>
+ Thanks to Phil McSharry for identifying the problem and supplying a solution.<br>
+<br>
+ This shows progressions in a number of test files.<br>
+<br>
+xps/xpspath.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-11 08:09:01 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6e10e787517ae0212ada6b7735542cbb4c41040c">6e10e787517ae0212ada6b7735542cbb4c41040c</a>
+<blockquote>
+<p>
+ Squash a scan-build compiler warning.<br>
+<br>
+ Prevent any possibility of a null-pointer dereference.<br>
+<br>
+gs/base/gsdevice.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-10 13:34:37 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=72afba4af187b01fded403d6a986d5de0be741d2">72afba4af187b01fded403d6a986d5de0be741d2</a>
+<blockquote>
+<p>
+ txtwrite - fix UTF-8 output Bug #694690<br>
+<br>
+ Thanks to r_one_guy@yahoo.fr for pointing this out and supplying a fix. The<br>
+ UTF-8 output was incorrect for Unicode values between 0x80 and 0x7FF.<br>
+<br>
+ Also, we weren't outputting a BOM for Unicode (UCS2) output.<br>
+<br>
+ Not cluster tested<br>
+<br>
+gs/devices/vector/gdevtxtw.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-10 12:15:54 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f924bf4d2bb4243ebe771e7e42bf1df3e41f415a">f924bf4d2bb4243ebe771e7e42bf1df3e41f415a</a>
+<blockquote>
+<p>
+ pdfwrite - don't emit extra blank page with '%d' output file spec<br>
+<br>
+ Bug #694576 &quot;Using %d with pdfwrite results in extra, blank page&quot;<br>
+<br>
+ Added a flag to the PDF device structure so that we can tell if pdf_close<br>
+ has been called as the result of outputting a page. If it has not, and<br>
+ the page is unmarked, and we are outputting in 'file per page' mode, then<br>
+ we don't emit the page.<br>
+<br>
+ However, this leads to a 0 byte output file, so we also need to delete the<br>
+ current output file. There seemed to be no obvious way to do this, so I<br>
+ have added a gx_device_delete_output_file very similar to the existing<br>
+ gx_device_open_output_file and gx_device_close_output_file routines.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/base/gsdevice.c<br>
+gs/base/gxdevice.h<br>
+gs/devices/vector/gdevpdf.c<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfx.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-03 15:15:53 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=68fa228ade5d2f7496b96676aaa1f82be4584362">68fa228ade5d2f7496b96676aaa1f82be4584362</a>
+<blockquote>
+<p>
+ Bug 694519: improve PCL performance with FAPI<br>
+<br>
+ Correctly maintain &quot;design_grid&quot; parameter in the font/matrix pair<br>
+ structure, for FAPI handled TTFs.<br>
+<br>
+ Change a &quot;return&quot; to a &quot;return_error&quot;.<br>
+<br>
+ Retrieving glyph metrics was sub-optimal as my original implementation used<br>
+ a gs_text_process() call, which uses the entire &quot;show machinery&quot;.<br>
+<br>
+ This implementation calls gs_fapi_do_char() directly. This has several benefits:<br>
+ we only need a &quot;skeleton&quot; text enumerator, and a &quot;skeleton&quot; graphics state,<br>
+ cutting down the local overhead setup. We also cutout a whole lot of setup<br>
+ done as part of gs_text_begin() and during gs_text_process() itself. Finally,<br>
+ we avoid a lot of &quot;stuff&quot; related to showing entire strings, when we're only<br>
+ ever handling a single glyph at a time.<br>
+<br>
+ A final optimisation is in the FAPI/FT code: if we're just retrieving metrics,<br>
+ we no longer take the action of retrieving the glyph from FT - which is not<br>
+ a very cheap operation.<br>
+<br>
+ This commit causes ~100 cluster tests to have pixel shift differences.<br>
+<br>
+gs/base/fapi_ft.c<br>
+gs/base/gxccman.c<br>
+gs/base/gxfapi.c<br>
+gs/base/gxfapi.h<br>
+gs/psi/zfapi.c<br>
+pl/plfapi.c<br>
+xps/xpsfapi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-09 12:25:56 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83565d8264e96312df8c26055aaa0e23e57c4c8d">83565d8264e96312df8c26055aaa0e23e57c4c8d</a>
+<blockquote>
+<p>
+ Add missing reference to $(memory__h) in gsicc_lcms2.c lib.mak<br>
+<br>
+gs/base/lib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-30 13:14:52 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2d2cc321df4223fd7cf64946ac2fa963fa1cea3d">2d2cc321df4223fd7cf64946ac2fa963fa1cea3d</a>
+<blockquote>
+<p>
+ Knockout non-isolated transparency group support.<br>
+<br>
+ Fixes bug 692766<br>
+<br>
+ Proper non-isolated knockout group support added.<br>
+<br>
+ This commit adds non-isolated knockout group support to gs. Also, previously, non-isolated groups that<br>
+ had color space mismatches were being forced to be isolated. We now color convert the parent buffer<br>
+ to the new groups color space to ensure that the group is handled in the way it should.<br>
+<br>
+ This work revealed an issue in the color handling of planar buffers which was also fixed.<br>
+<br>
+ Also, an issue with clipping to the soft mask boundary during a transparency group pop was was<br>
+ discovered and fixed as well as an overprint simulation issue in transparency.<br>
+<br>
+ Several progressions occurred with this fix.<br>
+<br>
+ Fixes bug 692766.<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gdevp14.h<br>
+gs/base/gscsepr.c<br>
+gs/base/gsicc_cache.c<br>
+gs/base/gsicc_lcms2.c<br>
+gs/base/gstrans.c<br>
+gs/base/gxblend.c<br>
+gs/base/gxblend.h<br>
+gs/base/gxblend1.c<br>
+gs/base/lib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-08 11:25:11 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1969b28c60d666b5eab0050169b5b9aae1a28db5">1969b28c60d666b5eab0050169b5b9aae1a28db5</a>
+<blockquote>
+<p>
+ Bug 694699: Scale FAPI's font BBox for units.<br>
+<br>
+ When FAPI &quot;refined&quot; the FontBBox from the scaler's data, it failed to correctly<br>
+ take account of the units in which the scaler returned the values.<br>
+<br>
+ There was some code which *may* have been an attempt to handle it, but was<br>
+ wrong in the general case. That's removed in favour of handling it properly.<br>
+<br>
+ Several regression files show differences, mainly with pdfwrite/ps2write: many<br>
+ are pixel differences due to rounding, some are progressions. One was wrong<br>
+ prior to this commit, and is slightly differently wrong with it.<br>
+<br>
+gs/base/fapi_ft.c<br>
+gs/base/fapibstm.c<br>
+gs/base/fapiufst.c<br>
+gs/base/gxfapi.c<br>
+gs/base/gxfapi.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-08 13:08:17 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8b28b7dfd503146f7e2355a5dad9202b35405256">8b28b7dfd503146f7e2355a5dad9202b35405256</a>
+<blockquote>
+<p>
+ xps: Look harder for a font name in the 'name' table.<br>
+<br>
+ We used to look only for &quot;Mac Roman, English&quot; strings, now also try<br>
+ &quot;MS Unicode, United States&quot; and &quot;MS Unicode UCS-4, United States&quot; if<br>
+ the mac roman string can't be found.<br>
+<br>
+xps/xpsfont.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-07 16:05:07 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7276c1f94cfa55aed0554d45858652ee1cac2097">7276c1f94cfa55aed0554d45858652ee1cac2097</a>
+<blockquote>
+<p>
+ correct a scan-build warning by checking a return value<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/vector/gdevpdfi.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-07 15:05:22 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1bdb7a9e1a3064b5e8abf29dcdfa9d279715ae34">1bdb7a9e1a3064b5e8abf29dcdfa9d279715ae34</a>
+<blockquote>
+<p>
+ Have pdfwrite ignore WMode=1 when a font has no Metrics2 entry<br>
+<br>
+ This arose while investigating a customer bug. Sadly its not actually<br>
+ anything to do with the customer problem, but it was incorrect. The spec<br>
+ says that if a font has WMode 1 but has no Metrics2 entry it should be<br>
+ treated as horizontal (WMode = 0)<br>
+<br>
+ Quality Logic file 16-09.ps shows a progression with this change.<br>
+<br>
+gs/devices/vector/gdevpdte.c<br>
+gs/devices/vector/gdevpdtt.c<br>
+gs/devices/vector/gdevpdtt.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-04 08:17:40 -0700
+</strong>
+<br>Robin Watts &lt;robin@peeves.(none)&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cdde8014aa4fe051743fad132f132fd608463744">cdde8014aa4fe051743fad132f132fd608463744</a>
+<blockquote>
+<p>
+ Bug 694249: Fix JBig2Dec using broken image regions.<br>
+<br>
+ When decoding a &quot;generic immediate region&quot; in jbig2dec, if<br>
+ we detect an error, we should not use the image as it may not<br>
+ have been entirely initialised.<br>
+<br>
+gs/jbig2dec/jbig2_generic.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-02 09:51:31 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41c13b4cc25b456d3862a73235ddbce09a85a104">41c13b4cc25b456d3862a73235ddbce09a85a104</a>
+<blockquote>
+<p>
+ Fix Segfaults with --saved-pages.<br>
+<br>
+ If the page was not large enough to use Banding mode, the clist_reset<br>
+ would crash after the print request finished and the page reloaded.<br>
+ The gx_saved_page_load needs to be after the saved_pages_list is put<br>
+ back in the device.<br>
+<br>
+ Also, the &quot;file_is_new&quot; status was incorrect if pages were saved, but<br>
+ no printing was done. This was seen with the TIFF devices and psdcmyk.<br>
+<br>
+ The psi/imainarg.c has a #define FORCE_SAVED_PAGES_TEST (disabled by<br>
+ default) to simplify testing on the cluster without modifying command<br>
+ line parameters.<br>
+<br>
+gs/base/gdevprn.c<br>
+gs/base/gxclpage.c<br>
+gs/psi/imainarg.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-01 17:52:43 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dcc172feb018bfe0613f90ce76ce25dd1eafe3ce">dcc172feb018bfe0613f90ce76ce25dd1eafe3ce</a>
+<blockquote>
+<p>
+ Bug 689098: Only dash paths when the dashing would be visible.<br>
+<br>
+ If the ctm doesn't expand the dash lengths to be &gt; 1 pixel, then<br>
+ they can't be seen, so don't bother.<br>
+<br>
+gs/base/gsmatrix.c<br>
+gs/base/gxstroke.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-01 13:41:28 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=607370ce1a661d8657d5255056d810551c04d642">607370ce1a661d8657d5255056d810551c04d642</a>
+<blockquote>
+<p>
+ Bug 692650 - remove dead code in gxifast.c<br>
+<br>
+ A piece of code that was obviously left in a special case due to<br>
+ cut and pasting can be removed. This will probably not actually<br>
+ make any difference as a decent compiler (ha!) would optimise<br>
+ it out anyway, but it's neater to remove it.<br>
+<br>
+gs/base/gxifast.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-10-01 12:44:13 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9b43b8b20c6344ccac7fac48151161a51743246b">9b43b8b20c6344ccac7fac48151161a51743246b</a>
+<blockquote>
+<p>
+ Add openjpeg files to ghostscript.vcproj<br>
+<br>
+gs/ghostscript.vcproj<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-28 08:29:45 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29ed18f26f78d3e737b5e73452b1aa1a90088144">29ed18f26f78d3e737b5e73452b1aa1a90088144</a>
+<blockquote>
+<p>
+ Eliminate some scan-build warnings in the ramfs code<br>
+<br>
+ The warning in gsioram.c is bogus, but hopefully this change will eliminate<br>
+ it anyway.<br>
+<br>
+ 2 lines deleted in ramfs.c were benign but pointless. The final deletion<br>
+ could have caused a seg fault when memory was exhausted.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/base/gsioram.c<br>
+gs/base/ramfs.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-27 16:03:04 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=be574c5550733da6b2ffa43fbc2099ae01608797">be574c5550733da6b2ffa43fbc2099ae01608797</a>
+<blockquote>
+<p>
+ PDF interpreter - update to BPC change for JPEG2000<br>
+<br>
+ Bug #694621<br>
+<br>
+ If we find a box, which we shoudl not as this is only supposed to be used<br>
+ when each colour channel has differing depth, we parse teh BPC from that,<br>
+ and ignore the BPC in the ihdr box.<br>
+<br>
+ If the components are not all equal, we use the first one and raise a<br>
+ warning.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/pdf_draw.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-27 11:24:32 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6fe7ace41f8afaba72f0f1da7747c062382346fc">6fe7ace41f8afaba72f0f1da7747c062382346fc</a>
+<blockquote>
+<p>
+ PDF interpreter - treat invalid BPC of 128 in JPEG2000 files as 8<br>
+<br>
+ The test file has JPEG2000 images (produced by JasPer) which have a BPC<br>
+ of 128. The valid range for JPEG2000 is 1-&gt;38 and for PDF is 1, 2, 4, 8,<br>
+ 12 or 16. Acrobat (of course) opens the file without complaint.<br>
+<br>
+ It appears that the image actually has 8 BPC so we specifically treat<br>
+ this invalid value as 8.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/Resource/Init/pdf_draw.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-26 14:07:19 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49c0d08e7e04c8c4e1472142461f3ed369089639">49c0d08e7e04c8c4e1472142461f3ed369089639</a>
+<blockquote>
+<p>
+ Fix 694614 - Properly handle a resolution argument of zero.<br>
+<br>
+pcl/rtgmode.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-26 13:55:53 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0f815674bfda9f940a20bb703d124f27b92de181">0f815674bfda9f940a20bb703d124f27b92de181</a>
+<blockquote>
+<p>
+ Fix 694615 - CCITT filter overflow.<br>
+<br>
+ The type of image columns in the graphics library CCITT filter is a<br>
+ signed integer and PCL was assuming an unsigned and therefore did not<br>
+ check for possible overflow.<br>
+<br>
+pcl/rtraster.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-26 10:31:51 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f02bbe5fad16e1f44131cb444e488e96157de5a">3f02bbe5fad16e1f44131cb444e488e96157de5a</a>
+<blockquote>
+<p>
+ Fix 694616 - Fuzzing uncovered a modulo divisor of 0<br>
+<br>
+pcl/rtraster.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-17 16:49:51 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c561232cf26e060b89fc4f3bd4bf5c679731d4db">c561232cf26e060b89fc4f3bd4bf5c679731d4db</a>
+<blockquote>
+<p>
+ pdfwrite - add support for form preservation from PostScript<br>
+<br>
+ Bug #687561 et al<br>
+<br>
+ We add the new operators .beginform and .endform which call device spec_op<br>
+ methods in order to allow devices to capture form streams. Devices can<br>
+ also return a matrix to replace the CTM for the course of the form.<br>
+<br>
+ Modified pdfwrite to capture and store forms, and set the CTM to the<br>
+ pdfwrite general matrix (resolution/72).<br>
+<br>
+ Added new PDFexecform for use by the PDF interpreter, trying to capture<br>
+ forms from PDF files is fraught with difficulty because we already capture<br>
+ transparent forms as forms.<br>
+<br>
+ Because some kinds of forms cannot be successfully preserved (only happens<br>
+ with badly behaved PostScript) we need a way to prevent forms from being<br>
+ preserved. This option does that.<br>
+<br>
+ Examples of badly behaved PostScript can be found in a few Quality Logic<br>
+ CET tests (use of setgstate in a form to set the CTM to a state prior to<br>
+ the form execution, and use of setflat with a parameter derived from the<br>
+ CTM. So we add UNROLLFORMS to the gs_cet file.<br>
+<br>
+gs/Resource/Init/gs_cet.ps<br>
+gs/Resource/Init/gs_lev2.ps<br>
+gs/Resource/Init/pdf_draw.ps<br>
+gs/base/gdevdflt.c<br>
+gs/base/gsform1.h<br>
+gs/base/gxdevsop.h<br>
+gs/devices/vector/gdevpdfb.h<br>
+gs/devices/vector/gdevpdfi.c<br>
+gs/devices/vector/gdevpdfx.h<br>
+gs/doc/Ps2pdf.htm<br>
+gs/psi/int.mak<br>
+gs/psi/zform.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-26 10:34:34 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a62129ba436ff3a35c92c704a905d21ceae09a88">a62129ba436ff3a35c92c704a905d21ceae09a88</a>
+<blockquote>
+<p>
+ Bug 694575: workaround for filenameforall in regression tests<br>
+<br>
+ (This is slightly hacky!)<br>
+<br>
+ For the regression testing, especially the weekly tests, several of the QL<br>
+ CET files give variable results depending on the exact content of the current<br>
+ working directory - because they use filenameforall and vary their output based<br>
+ whether it returns an error (mainly due to the path ending up too long for the<br>
+ scratch string).<br>
+<br>
+ This commit &quot;patches&quot; the filenameforall operator to catch those cases, and<br>
+ (hopefully) always return with no files, and no errors, thus giving consistent<br>
+ results between runs.<br>
+<br>
+ Cluster differences in the CET files, as expected.<br>
+<br>
+gs/Resource/Init/gs_cet.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-25 18:12:58 +0100
+</strong>
+<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f9d0691129945b6d0657effcec6e6c440f57a364">f9d0691129945b6d0657effcec6e6c440f57a364</a>
+<blockquote>
+<p>
+ Bug 694137 : Prevent accessing outside of array.<br>
+<br>
+gs/openjpeg/libopenjpeg/jp2.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-23 14:54:55 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f945f8b050fb0a64f5de746f253244afa107bff8">f945f8b050fb0a64f5de746f253244afa107bff8</a>
+<blockquote>
+<p>
+ Bug 694586: Have chunk allocator honor alignment<br>
+<br>
+ Have the chunk memory manager honor the same alignment as the rest<br>
+ of the memory manager(s).<br>
+<br>
+ Fixes potential bus errors on SPARC.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/base/gsmchunk.c<br>
+gs/base/lib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-23 10:55:34 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b6d163b01a4ecca30503fbd770770b1bd7de73e2">b6d163b01a4ecca30503fbd770770b1bd7de73e2</a>
+<blockquote>
+<p>
+ Fix potential access violation and add error checking in pdf14 put image.<br>
+<br>
+ Fixes segv in fuzzing Bug 694190<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gxblend1.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-23 09:56:14 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b8bb26de721811ca80712d8540e9279b4dca5bc9">b8bb26de721811ca80712d8540e9279b4dca5bc9</a>
+<blockquote>
+<p>
+ Add error code checking in image color initialization<br>
+<br>
+ Fix for bug 694175<br>
+<br>
+gs/base/gxipixel.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-23 08:08:50 -0700
+</strong>
+<br>Robin Watts &lt;robin@peeves.(none)&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f39d9824015ff6f909a59f697947f262d2c9c21c">f39d9824015ff6f909a59f697947f262d2c9c21c</a>
+<blockquote>
+<p>
+ Bug 694289: Avoid SEGVs sue to Xmprintfs with mem = NULL<br>
+<br>
+ If no memory pointer is supplied to a printf, then (in threadsafe<br>
+ builds) return doing nothing or (in non-threadsafe builds) use the<br>
+ default one.<br>
+<br>
+ Also tweak the lib ctx closedown so that we safely closedown<br>
+ without trying to print anything via undefined print pointers.<br>
+<br>
+gs/base/gslibctx.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-23 15:19:04 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=23ef9ea1fd7193c19c37c9cd00c6aad52a992fd1">23ef9ea1fd7193c19c37c9cd00c6aad52a992fd1</a>
+<blockquote>
+<p>
+ Bug 694162: Harden gx_forward_dev_spec_op against SEGVs.<br>
+<br>
+ If tdev == 0, don't pass on the call. I cannot reproduce the bug,<br>
+ but this seems like a sensible precaution.<br>
+<br>
+gs/base/gdevnfwd.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-23 14:29:50 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8c5cbff3351774ac55704c9c633112922313c74b">8c5cbff3351774ac55704c9c633112922313c74b</a>
+<blockquote>
+<p>
+ Bug 694159: Check return code on color remap.<br>
+<br>
+ If return code is ignored, returned device color may be used when<br>
+ it is not initialised.<br>
+<br>
+gs/base/gsshade.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-22 20:56:11 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=81b54e2a9237dec0186ad331af845800011ae6d2">81b54e2a9237dec0186ad331af845800011ae6d2</a>
+<blockquote>
+<p>
+ Improved error recovery during transparency group popping.<br>
+<br>
+ If the creation of the ICC link fails then we attempt a non-ICC mapping. Fix for fuzz segv bug 694191.<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-22 19:13:04 -0700
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos.woehrmann@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9f29534318f7a70eb42408a2bdca51dad7181c16">9f29534318f7a70eb42408a2bdca51dad7181c16</a>
+<blockquote>
+<p>
+ Added ink_cov device (Bug 694501).<br>
+<br>
+ Thanks for Billon Marc &lt;billon.m@free.fr&gt; for the patch.<br>
+<br>
+gs/base/macos-mcp.mak<br>
+gs/base/macosx.mak<br>
+gs/base/openvms.mak<br>
+gs/base/unix-gcc.mak<br>
+gs/base/unixansi.mak<br>
+gs/configure.ac<br>
+gs/devices/devs.mak<br>
+gs/devices/gdevicov.c<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-21 22:36:34 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=af81a6bf1a5de5d8cc23aaec7ae663c8985767c7">af81a6bf1a5de5d8cc23aaec7ae663c8985767c7</a>
+<blockquote>
+<p>
+ Fix improper error checking in icc color space installation<br>
+<br>
+ Fixes fuzzing segv Bug 694192<br>
+<br>
+gs/psi/zicc.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-20 23:08:57 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bbb9f59c59f7e229001e9e8413ff6ebf812910de">bbb9f59c59f7e229001e9e8413ff6ebf812910de</a>
+<blockquote>
+<p>
+ Add in pdf14 abort compositor action<br>
+<br>
+ The fuzzing files have identified that the interpreter was popping the<br>
+ pdf14 device during a stop. This caused the pdf14 device to think it<br>
+ was time to do its put_image command since it was done, causing a lot<br>
+ of potential segv issues. This commit adds an abort compositor action<br>
+ which will clean up the pdf14 device and set it back up as a pass through<br>
+ device allowing for a more graceful exit.<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+gs/base/gdevp14.c<br>
+gs/base/gstrans.c<br>
+gs/base/gstrans.h<br>
+gs/base/gxdevcli.h<br>
+gs/devices/vector/gdevpdft.c<br>
+gs/psi/ztrans.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-20 12:19:36 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=46b8210665fe111b2fa544eed4a661de831d245e">46b8210665fe111b2fa544eed4a661de831d245e</a>
+<blockquote>
+<p>
+ Include another GL/2 command (SP) which can be used to initialize the<br>
+ GL/2 interpreter, see related fix with bug #694595 for problem<br>
+ details.<br>
+<br>
+pcl/pcparse.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-19 10:04:17 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a5fa1ac21714a2dfdbcd3b9d70bc5cd913764ef3">a5fa1ac21714a2dfdbcd3b9d70bc5cd913764ef3</a>
+<blockquote>
+<p>
+ pdfwrite - extend TrueType MaxPoint checking to include CID fonts<br>
+<br>
+ Further to commit 8b6be8be2cdcefae39339682d45d3c009ab909ac which added<br>
+ checks for MaxPoints and NumContours before merging TrueType fonts, this<br>
+ commit adds the same checks to CIDFonts with TrueType base fonts.<br>
+<br>
+ Also, relax the checks somewhat. As long as the new font doesn't have<br>
+ *more* points, or contours, its safe to merge with the existing font.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/devices/gxfcopy.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-18 13:56:35 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=142b12b12b56aba0d4ec7372c0260c39d2d58d28">142b12b12b56aba0d4ec7372c0260c39d2d58d28</a>
+<blockquote>
+<p>
+ Additional error checking fixes from fuzzing files<br>
+<br>
+ Fixes Bug 694154<br>
+<br>
+gs/base/gsicc.c<br>
+gs/base/gsstate.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-18 12:26:43 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2236e20a9604602a12a9fbefc05e162d12954b03">2236e20a9604602a12a9fbefc05e162d12954b03</a>
+<blockquote>
+<p>
+ Fix error checking for fuzzing case where pdf14 pattern accumulator target was closed<br>
+<br>
+ Fixes 3842.pdf.SIGSEGV.201.3160<br>
+<br>
+gs/base/gdevp14.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-18 10:31:50 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6fbf53542a13b9a8582aef2c50bba7a145a8e49">c6fbf53542a13b9a8582aef2c50bba7a145a8e49</a>
+<blockquote>
+<p>
+ Error code checking fix.<br>
+<br>
+ Fixes Fuzzing Bug http://bugs.ghostscript.com/show_bug.cgi?id=694161<br>
+<br>
+gs/base/gximag3x.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-17 11:37:05 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f4a1368a6585d20a218acd236d97706401a1b8c1">f4a1368a6585d20a218acd236d97706401a1b8c1</a>
+<blockquote>
+<p>
+ Fix for pattern, transparency, clipper interaction issues<br>
+<br>
+ Three issues this fixes. One is that if a clipper device is installed during the filling<br>
+ with a transparency tile, we need to make sure we get the pdf14 device to pop the group<br>
+ and not use the clipper device.<br>
+<br>
+ The second issue was that fit_fill was not getting used properly in the tile filling code.<br>
+<br>
+ The third issue was that the wrong dimensions were supplied to gx_trans_pattern_fill_rect when<br>
+ the pattern was clist based.<br>
+<br>
+ This should fix Bug 693365.<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gxp1fill.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-17 20:02:34 +0100
+</strong>
+<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f098349c0ff70a50ebb0341f1e98da2c2330c84">3f098349c0ff70a50ebb0341f1e98da2c2330c84</a>
+<blockquote>
+<p>
+ Bug 694132: Resolve uninitialised variable and handle returning error correctly.<br>
+<br>
+gs/base/gdevprn.c<br>
+gs/base/gxicolor.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-17 08:47:18 -0600
+</strong>
+<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=54ab9a05fbc13ad402aaa63c86d9ec0422bd112a">54ab9a05fbc13ad402aaa63c86d9ec0422bd112a</a>
+<blockquote>
+<p>
+ Fix # 694595 - nothing produced reading PCL files.<br>
+<br>
+ This change allows the command BP (Begin Plot) to initiate the HPGL/2<br>
+ parser for improperly constructed GL/2 files that lack the Enter GL/2<br>
+ command (&lt;ESC&gt;%1B).<br>
+<br>
+pcl/pcparse.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-17 13:50:56 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5347e2c3e43a28f64b0e4775945c6a58ee72debf">5347e2c3e43a28f64b0e4775945c6a58ee72debf</a>
+<blockquote>
+<p>
+ Bug 691182: Disable interpolation for Type3 postscript images<br>
+<br>
+ If we interpolate an image, but not its mask we get nasty edge<br>
+ effects. We therefore choose not to interpolate either.<br>
+<br>
+gs/psi/zimage3.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-13 13:28:16 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b7094e220951fc76656056a426ab7fa1363f38b7">b7094e220951fc76656056a426ab7fa1363f38b7</a>
+<blockquote>
+<p>
+ Make sure the mono device that is created for non-FAPI bold font caching has icc procs set.<br>
+<br>
+ Fixes bug 694551<br>
+<br>
+ Note Enhancement Bug 694593 was opened with this commit so that I will remember to review<br>
+ the setting of the get_profile procs for these devices.<br>
+<br>
+gs/base/gdevmem.c<br>
+pl/plchar.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-07 06:05:01 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=752aeb0e47fc11aff22618a00dd07576647c192d">752aeb0e47fc11aff22618a00dd07576647c192d</a>
+<blockquote>
+<p>
+ Avoid forced white point mapping in CMM when the source profile is derived from CIE PS type.<br>
+<br>
+ LittleCMS and perhaps other CMMs have methods to force the white point in the mashed transform<br>
+ between source and destination color space. The methods used can lead to incorrect results<br>
+ when the source space is a non-traditional profile like those derived from CIEDEF(G) types.<br>
+ This fix gets and sets the appropriate flags for the CMM to avoid the white point alignment<br>
+ when the source space is PS based. Fixes bug 693826<br>
+<br>
+ Fixing this bug revealed an issue in the CIEA color space conversion.<br>
+<br>
+ Also, fixed old bug, mapping cie ps color spaces to ciexyz to allow ciexyz values larger than 1.0.<br>
+ Fixes bug 692807.<br>
+<br>
+ Started changes to add in V2 profile creation.<br>
+<br>
+ Fixed error handling in this part of code also.<br>
+<br>
+gs/base/gscie.h<br>
+gs/base/gsciemap.c<br>
+gs/base/gsicc.c<br>
+gs/base/gsicc_cache.c<br>
+gs/base/gsicc_cms.h<br>
+gs/base/gsicc_create.c<br>
+gs/base/gsicc_lcms.c<br>
+gs/base/gsicc_lcms2.c<br>
+gs/base/gsicc_manage.c<br>
+gs/base/gsicc_manage.h<br>
+gs/base/gxcie.h<br>
+gs/devices/gdevrinkj.c<br>
+gs/devices/gdevxcf.c<br>
+gs/devices/vector/gdevpdfk.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-12 18:08:53 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=808e6d525d978b6f083be8eeb2a612b343500693">808e6d525d978b6f083be8eeb2a612b343500693</a>
+<blockquote>
+<p>
+ Bug 694590: Tweak scan converters handling of horizontal lines.<br>
+<br>
+ The scan converter only puts horizontal edges into the edge list<br>
+ if expanding the height of the line by fill adjust causes it to<br>
+ cover a pixel centre.<br>
+<br>
+ Unfortunately, for the fill_adjust = 0.5 case we actually use<br>
+ adjust_above = 128 and adjust_below = 127, so there is one possible<br>
+ subpixel offset for which the line will not appear. We therefore<br>
+ tweak the logic to accept all horizontal lines through in this case.<br>
+<br>
+ This produces many diffs, all benign. Sorry Marcos.<br>
+<br>
+gs/base/gxfill.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-12 12:21:48 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=002cd5262ccb71010473abfb9069e1fb39f36f12">002cd5262ccb71010473abfb9069e1fb39f36f12</a>
+<blockquote>
+<p>
+ PDF interpreter - remove the 2D array of objects for large (&gt;64k) objects<br>
+<br>
+ Bug #694470<br>
+<br>
+ In the past Ghostscript had a limit of 64k entries for arrays and strings<br>
+ but this proved a problem for some PDF files, so a set of new objects were<br>
+ defined 'larray' and 'lstring', which were defined as an array of arrays<br>
+ and an array of strings. New accessor and utility functions were also<br>
+ created.<br>
+<br>
+ With bug 694470 there is an object with an index of 2^32 - 1, which takes<br>
+ a very long time, as the code allocates more and more sub-arrays.<br>
+<br>
+ Now that we have a limit of 2^24 on arrays and strings (which can be increased),<br>
+ we can remove the 2d array hackery. This causes the bug file to abort almost<br>
+ immediately while rebuilding the xref. It *should* also provide a modest<br>
+ performance benefit, and makes the code smaller and easier to deal with.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/Resource/Init/pdf_base.ps<br>
+gs/Resource/Init/pdf_main.ps<br>
+gs/Resource/Init/pdf_rbld.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-11 16:06:38 -0700
+</strong>
+<br>Marcos H. Woehrmann &lt;marcos.woehrmann@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d97571b56d7c740e7d6aeee064313b96048a5667">d97571b56d7c740e7d6aeee064313b96048a5667</a>
+<blockquote>
+<p>
+ Fixed typo in lib.mak introduced in b5472ea6bf<br>
+<br>
+gs/base/lib.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-11 11:11:35 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6dd5b91bbaf237ca3153722887d5965b0eb3633e">6dd5b91bbaf237ca3153722887d5965b0eb3633e</a>
+<blockquote>
+<p>
+ Ensure overprint drawn components are updated with color space changes during transparency.<br>
+<br>
+ Fixes bug 694297<br>
+<br>
+gs/base/gdevp14.c<br>
+gs/base/gstrans.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-11 18:47:45 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=faea7d6e98d6e7ee0b82d891544a13d703a291f5">faea7d6e98d6e7ee0b82d891544a13d703a291f5</a>
+<blockquote>
+<p>
+ Bug 690790: Workaround libpng 64bit build bug.<br>
+<br>
+ libpng keeps a jmpbuf in it's structure. jmp_bufs have to be 16 byte<br>
+ aligned on x64 systems, and the png allocator makes no effort to<br>
+ align the buffer.<br>
+<br>
+ The workaround here changes the PNG allocator to allocate it's main<br>
+ structure in a larger block than it needs, and to actually use a<br>
+ block in the middle of this to ensure alignment. A pointer is<br>
+ kept to the real address of the block for freeing.<br>
+<br>
+gs/libpng/png.c<br>
+gs/libpng/pngmem.c<br>
+gs/libpng/pngstruct.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-11 10:15:26 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b5472ea6bf6925023febdeab12be9dbd83e811f1">b5472ea6bf6925023febdeab12be9dbd83e811f1</a>
+<blockquote>
+<p>
+ update ramfs code<br>
+<br>
+gs/base/gsioram.c<br>
+gs/base/lib.mak<br>
+gs/base/ramfs.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-07 12:01:22 +0100
+</strong>
+<br>unknown &lt;ken@.(none)&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=db45b95faa06f8204b9a075323125d7f398c5d06">db45b95faa06f8204b9a075323125d7f398c5d06</a>
+<blockquote>
+<p>
+ PDF interpreter - process GoToR actions into pdfmarks for pdfwrite<br>
+<br>
+ Bug #693427 &quot;GoToR target file information lost after GS processing&quot;<br>
+<br>
+ This commit adds GoToR to the Existing GoTo and Named actions which the<br>
+ PDF interpreter will convert into pdfmarks. pdfwrite already handles<br>
+ the GoToR action so no changes were needed there.<br>
+<br>
+ No differences expected<br>
+<br>
+ New ram file system code<br>
+<br>
+ Updated from the patch submitted by Michael Slade in bug #226943. This code<br>
+ removes a single Unix-ism and rewrites the memory allocations to use the<br>
+ GS garbage collected memory (as is appropriate for PostScript) instead of<br>
+ using the system malloc.<br>
+<br>
+ No differences expected since we have no files that use the ramfs.<br>
+<br>
+gs/Makefile.in<br>
+gs/base/gsioram.c<br>
+gs/base/lib.mak<br>
+gs/base/ramfs.c<br>
+gs/base/ramfs.h<br>
+gs/psi/msvc.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-07 12:01:22 +0100
+</strong>
+<br>unknown &lt;ken@.(none)&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8425cde6e55dfaa26e64e81f54e044187fb98384">8425cde6e55dfaa26e64e81f54e044187fb98384</a>
+<blockquote>
+<p>
+ PDF interpreter - process GoToR actions into pdfmarks for pdfwrite<br>
+<br>
+ Bug #693427 &quot;GoToR target file information lost after GS processing&quot;<br>
+<br>
+ This commit adds GoToR to the Existing GoTo and Named actions which the<br>
+ PDF interpreter will convert into pdfmarks. pdfwrite already handles<br>
+ the GoToR action so no changes were needed there.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/pdf_main.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-06 17:58:57 -0500
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e05fe9d24205f50ee12b97c22a5d1b34fa118ed0">e05fe9d24205f50ee12b97c22a5d1b34fa118ed0</a>
+<blockquote>
+<p>
+ Bug 619917: Add support for configurable timeslice<br>
+<br>
+ Add more of the patch from Herbert Swann. Many thanks again!<br>
+<br>
+gs/psi/zcontext.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-06 15:35:50 -0500
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ddc4b6753a40b2cbac503dbef300d339979274c8">ddc4b6753a40b2cbac503dbef300d339979274c8</a>
+<blockquote>
+<p>
+ Bug 691917: Fix SEGVs in display postscript.<br>
+<br>
+ Cutdown version of Herbert Swanns patch.<br>
+<br>
+gs/psi/zcontext.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-06 15:49:10 -0500
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=64de3a6bf2b3a75123ae406076796f23a773aff1">64de3a6bf2b3a75123ae406076796f23a773aff1</a>
+<blockquote>
+<p>
+ Bug 693629: fix outdated FSF address information.<br>
+<br>
+ No cluster differences.<br>
+<br>
+gs/contrib/gdevbjc_.h<br>
+gs/contrib/gdevcd8.c<br>
+gs/contrib/gdevdj9.c<br>
+gs/contrib/gdevlx32.c<br>
+gs/contrib/opvp/gdevopvp.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-06-13 18:07:01 +0100
+</strong>
+<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=66d9c0aa17a5abcecd6590e63f0620f7aa51634c">66d9c0aa17a5abcecd6590e63f0620f7aa51634c</a>
+<blockquote>
+<p>
+ Bug 694311 : GS openjpeg2 integration<br>
+<br>
+ WIP : Update with latest OpenJPEG2. Warning - does not compile yet.<br>
+<br>
+ WIP : Update code. Warning - does not compile yet.<br>
+<br>
+ WIP : Code compiles but is not cluster tested.<br>
+<br>
+ Update to build on xeon and macpro<br>
+<br>
+ Use default image creation<br>
+<br>
+ Add error/info/warning event handlers.<br>
+<br>
+ Update fuzzing patch to allow j2kp4-file3-ycc-8bpc.pdf to process correctly.<br>
+<br>
+ Update fuzzing patch to allow bug 691816 to process correctly without blurring.<br>
+<br>
+ Patch to cater for eYCC colour space.<br>
+<br>
+ Patch for indexed colour spaces and cater for bad BPCC header box.<br>
+<br>
+ Cater for alpha channel information.<br>
+<br>
+gs/base/openjpeg.mak<br>
+gs/base/sjpx_openjpeg.c<br>
+gs/base/sjpx_openjpeg.h<br>
+gs/configure.ac<br>
+gs/openjpeg/libopenjpeg/CMakeLists.txt<br>
+gs/openjpeg/libopenjpeg/bio.c<br>
+gs/openjpeg/libopenjpeg/bio.h<br>
+gs/openjpeg/libopenjpeg/cidx_manager.c<br>
+gs/openjpeg/libopenjpeg/cidx_manager.h<br>
+gs/openjpeg/libopenjpeg/cio.c<br>
+gs/openjpeg/libopenjpeg/cio.h<br>
+gs/openjpeg/libopenjpeg/dwt.c<br>
+gs/openjpeg/libopenjpeg/dwt.h<br>
+gs/openjpeg/libopenjpeg/event.c<br>
+gs/openjpeg/libopenjpeg/event.h<br>
+gs/openjpeg/libopenjpeg/function_list.c<br>
+gs/openjpeg/libopenjpeg/function_list.h<br>
+gs/openjpeg/libopenjpeg/image.c<br>
+gs/openjpeg/libopenjpeg/image.h<br>
+gs/openjpeg/libopenjpeg/indexbox_manager.h<br>
+gs/openjpeg/libopenjpeg/invert.c<br>
+gs/openjpeg/libopenjpeg/invert.h<br>
+gs/openjpeg/libopenjpeg/j2k.c<br>
+gs/openjpeg/libopenjpeg/j2k.h<br>
+gs/openjpeg/libopenjpeg/jp2.c<br>
+gs/openjpeg/libopenjpeg/jp2.h<br>
+gs/openjpeg/libopenjpeg/mct.c<br>
+gs/openjpeg/libopenjpeg/mct.h<br>
+gs/openjpeg/libopenjpeg/mqc.c<br>
+gs/openjpeg/libopenjpeg/mqc.h<br>
+gs/openjpeg/libopenjpeg/openjpeg.c<br>
+gs/openjpeg/libopenjpeg/openjpeg.h<br>
+gs/openjpeg/libopenjpeg/opj_clock.c<br>
+gs/openjpeg/libopenjpeg/opj_clock.h<br>
+gs/openjpeg/libopenjpeg/opj_config.h<br>
+gs/openjpeg/libopenjpeg/opj_config_private.h<br>
+gs/openjpeg/libopenjpeg/opj_includes.h<br>
+gs/openjpeg/libopenjpeg/opj_intmath.h<br>
+gs/openjpeg/libopenjpeg/opj_inttypes.h<br>
+gs/openjpeg/libopenjpeg/opj_malloc.h<br>
+gs/openjpeg/libopenjpeg/opj_stdint.h<br>
+gs/openjpeg/libopenjpeg/phix_manager.c<br>
+gs/openjpeg/libopenjpeg/pi.c<br>
+gs/openjpeg/libopenjpeg/pi.h<br>
+gs/openjpeg/libopenjpeg/ppix_manager.c<br>
+gs/openjpeg/libopenjpeg/raw.c<br>
+gs/openjpeg/libopenjpeg/raw.h<br>
+gs/openjpeg/libopenjpeg/t1.c<br>
+gs/openjpeg/libopenjpeg/t1.h<br>
+gs/openjpeg/libopenjpeg/t1_generate_luts.c<br>
+gs/openjpeg/libopenjpeg/t1_luts.h<br>
+gs/openjpeg/libopenjpeg/t2.c<br>
+gs/openjpeg/libopenjpeg/t2.h<br>
+gs/openjpeg/libopenjpeg/tcd.c<br>
+gs/openjpeg/libopenjpeg/tcd.h<br>
+gs/openjpeg/libopenjpeg/tgt.c<br>
+gs/openjpeg/libopenjpeg/tgt.h<br>
+gs/openjpeg/libopenjpeg/thix_manager.c<br>
+gs/openjpeg/libopenjpeg/tpix_manager.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-04 11:03:02 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a92c4411e302b1b99fe65b5d89d26b87671feff5">a92c4411e302b1b99fe65b5d89d26b87671feff5</a>
+<blockquote>
+<p>
+ Removal of default initialization of ICC profile in languages. The default will be set when the page erase occurs.<br>
+<br>
+ Thanks to Henry for catching this.<br>
+<br>
+pcl/pctop.c<br>
+pxl/pxpthr.c<br>
+pxl/pxtop.c<br>
+svg/svgtop.c<br>
+xps/xpstop.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-30 10:00:41 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=45dfe09a18a7c19c626561d506ab44ee68421c41">45dfe09a18a7c19c626561d506ab44ee68421c41</a>
+<blockquote>
+<p>
+ Update product string, dates and docs for 9.10 release.<br>
+<br>
+ Bring master up to date with gs910 branch<br>
+<br>
+gs/base/version.mak<br>
+gs/doc/API.htm<br>
+gs/doc/C-style.htm<br>
+gs/doc/Commprod.htm<br>
+gs/doc/DLL.htm<br>
+gs/doc/Deprecated.htm<br>
+gs/doc/Details8.htm<br>
+gs/doc/Details9.htm<br>
+gs/doc/Develop.htm<br>
+gs/doc/Devices.htm<br>
+gs/doc/Drivers.htm<br>
+gs/doc/Fonts.htm<br>
+gs/doc/Helpers.htm<br>
+gs/doc/History1.htm<br>
+gs/doc/History2.htm<br>
+gs/doc/History3.htm<br>
+gs/doc/History4.htm<br>
+gs/doc/History5.htm<br>
+gs/doc/History6.htm<br>
+gs/doc/History7.htm<br>
+gs/doc/History8.htm<br>
+gs/doc/History9.htm<br>
+gs/doc/Install.htm<br>
+gs/doc/Issues.htm<br>
+gs/doc/Language.htm<br>
+gs/doc/Lib.htm<br>
+gs/doc/Make.htm<br>
+gs/doc/News.htm<br>
+gs/doc/Projects.htm<br>
+gs/doc/Ps-style.htm<br>
+gs/doc/Ps2epsi.htm<br>
+gs/doc/Ps2pdf.htm<br>
+gs/doc/Ps2ps2.htm<br>
+gs/doc/Psfiles.htm<br>
+gs/doc/Readme.htm<br>
+gs/doc/Release.htm<br>
+gs/doc/Source.htm<br>
+gs/doc/Unix-lpr.htm<br>
+gs/doc/Use.htm<br>
+gs/doc/WhatIsGS.htm<br>
+gs/doc/Xfonts.htm<br>
+gs/doc/gs-vms.hlp<br>
+gs/doc/thirdparty.htm<br>
+gs/man/dvipdf.1<br>
+gs/man/font2c.1<br>
+gs/man/gs.1<br>
+gs/man/gslp.1<br>
+gs/man/gsnd.1<br>
+gs/man/pdf2dsc.1<br>
+gs/man/pdf2ps.1<br>
+gs/man/pf2afm.1<br>
+gs/man/pfbtopfa.1<br>
+gs/man/printafm.1<br>
+gs/man/ps2ascii.1<br>
+gs/man/ps2epsi.1<br>
+gs/man/ps2pdf.1<br>
+gs/man/ps2pdfwr.1<br>
+gs/man/ps2ps.1<br>
+gs/man/wftopfa.1<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-15 16:53:31 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=edb56190f321ea9e094cb161f9b94941d49a40ae">edb56190f321ea9e094cb161f9b94941d49a40ae</a>
+<blockquote>
+<p>
+ Update antidropout downscaler.<br>
+<br>
+ The antidropout downscaler is not consistent in the way it detects<br>
+ 'darker' colors; some of the code predicates 'darker' on the color<br>
+ polarity, other parts of it do not.<br>
+<br>
+ Here we make it consistently follow the color polarity.<br>
+<br>
+ Also, we correctly take the color polarity from the color space, rather<br>
+ than from the device. Thanks to Michael Vrhel for making the changes<br>
+ to make this possible.<br>
+<br>
+gs/base/gxiscale.c<br>
+gs/base/sidscale.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-03 18:01:55 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=02ab2adaafb3cc9322e54f0ea4e78952c34818d2">02ab2adaafb3cc9322e54f0ea4e78952c34818d2</a>
+<blockquote>
+<p>
+ Bug 694561: Fix interpolated landscape images (again).<br>
+<br>
+ Don't try to accumulate runs of identical pixels in landscape images.<br>
+ We weren't aligning the transposed data to bitmap_align, and this was<br>
+ causing problems. It's unfeasible to do so, and the underlying driver<br>
+ almost certainly will break down to 1 call per pixel, so we might as<br>
+ well do that immediately and simplify the code massively.<br>
+<br>
+ Also fix some warnings/unused variables.<br>
+<br>
+gs/base/gxcindex.h<br>
+gs/base/gxiscale.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-24 20:44:10 -0700
+</strong>
+<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bdc103f817778f84efe66f10489c88a9263d279f">bdc103f817778f84efe66f10489c88a9263d279f</a>
+<blockquote>
+<p>
+ Addition of new procedure to color spaces to return the polarity of the color space.<br>
+<br>
+gs/base/gsccolor.h<br>
+gs/base/gscdevn.c<br>
+gs/base/gscolor2.c<br>
+gs/base/gscpixel.c<br>
+gs/base/gscscie.c<br>
+gs/base/gscsepr.c<br>
+gs/base/gscspace.c<br>
+gs/base/gsicc.c<br>
+gs/base/gspcolor.c<br>
+gs/base/gxcspace.h<br>
+gs/base/gxdevcli.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-03 12:59:05 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5ae4180ca9d17f367acd068537f0a67a243656b8">5ae4180ca9d17f367acd068537f0a67a243656b8</a>
+<blockquote>
+<p>
+ PS Interpreter - don't interpolate imagemask data for high level devices<br>
+<br>
+ Bug #689460 &quot;imagemask interpolation differs from Adobe&quot;<br>
+<br>
+ This is rather a long-running bug. The title isn't really very descriptive<br>
+ of the problem, as far as I can tell the problem only affects pdfwrite.<br>
+<br>
+ In the current implementation, interpolation of imagemasks is handled in<br>
+ *PostScript*, by inserting the ImScaleDecode filter in front of the image<br>
+ DataSource. This works well for rendering, but for high level devicees<br>
+ (particularly pdfwrite) this means that we do not embed the original mask<br>
+ data, we embed the interpolated data. This makes the PDF file much larger<br>
+ and also means that when opened with Acrobat Reader, the output does not<br>
+ match, becuase Acrobat does interpolation by applying what looks like a<br>
+ Mitchell filter, and promoting the imagemask to 8 bpc.<br>
+<br>
+ I did look into applying our current scheme in C, as suggested in comment #18,<br>
+ but that was inordintely difficult. We can't use the existing 1bpp image<br>
+ interpolation code, as that promotes to 8bpc and uses a Mitchell filter,<br>
+ so we lose the sharp edges, which is important for a mask. It probably would<br>
+ be possible to replicate the PostScript code which adds the ImScaleDecode<br>
+ filter to the DataSource, but there seems little point in doing this in<br>
+ C when it could be done more easily in PostScript.<br>
+<br>
+ So instead I've chosen to test if the current device is a 'high level'<br>
+ device and, if it is, not to apply the filter.<br>
+<br>
+ With pdfwrite this leads to us producing smaller PDF files, as expected,<br>
+ and the result in Acrobat matching the one from Distiller.<br>
+<br>
+ When testing with the cluster a small number of Genoa test files exhibit<br>
+ differences. These all use the well known 'turkey' image at very low resolution,<br>
+ with the old code these were interpolated at 720 dpi and that was the image<br>
+ data written out. Now we write the original data and interpolate to the<br>
+ resolution of the actual device at rendering time. In the case of 300 dpi<br>
+ output this results in small but visible differences.<br>
+<br>
+gs/Resource/Init/gs_img.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-01 12:23:04 +0200
+</strong>
+<br>Simon Bünzli &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=42839db66a6cb026691c2e30af3489ff22d96b35">42839db66a6cb026691c2e30af3489ff22d96b35</a>
+<blockquote>
+<p>
+ bug 694281: fix memory leaks and compilation warnings<br>
+<br>
+ * jbig2_build_huffman_table leaks LENCOUNT and result under OOM conditions<br>
+ * jbig2_decode_symbol_dict leaks an image in an error case<br>
+ * jbig2_symbol_dictionary skips cleanup in an error case<br>
+ * jbig2_text_region leaks GR_stats in various error and non-error cases<br>
+ * MSVC reports two &quot;unreachable code&quot; warnings and a &quot;signed/unsigned<br>
+ mismatch&quot; one<br>
+<br>
+gs/jbig2dec/jbig2.c<br>
+gs/jbig2dec/jbig2_huffman.c<br>
+gs/jbig2dec/jbig2_segment.c<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+gs/jbig2dec/jbig2_text.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-02 12:26:59 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1c1395aeeee68d545a3f293d6aa0ec38999879c9">1c1395aeeee68d545a3f293d6aa0ec38999879c9</a>
+<blockquote>
+<p>
+ Update font versions in PPD files.<br>
+<br>
+ A couple of ppd's contain version numbers for the font files, update them<br>
+ from 1.05 to 1.10<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/contrib/pcl3/ppd/fonts.ppd<br>
+gs/lib/ghostpdf.ppd<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-09-01 18:48:32 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f89dd1d4d38db72a9fc7a605072cf2a419e6f190">f89dd1d4d38db72a9fc7a605072cf2a419e6f190</a>
+<blockquote>
+<p>
+ Fix compiler warnings.<br>
+<br>
+gs/base/gxclpage.c<br>
+gs/psi/imainarg.c<br>
+gs/psi/int.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-07-11 13:03:17 -0700
+</strong>
+<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9c95a9ae56b5051ba8c7c3b3d161932678d3b01d">9c95a9ae56b5051ba8c7c3b3d161932678d3b01d</a>
+<blockquote>
+<p>
+ Enhance gx_saved_page and save_page function to support advanced functions.<br>
+<br>
+ By saving the device params in the saved_page struct we can use it more<br>
+ generally to print pages out of order. This is still compatible with the<br>
+ rendering of multiple saved pages on a 'master' page for imposition, but<br>
+ the latter does not use the device params so pages with differing spot colors<br>
+ or differing destination ICC profiles may be incorrect. To be fixed later.<br>
+<br>
+ Several utility functions support lists of saved pages: gx_saved_pages_list_new<br>
+ to allocate and initialize a saved page list; gx_saved_pages_list_add to alloc<br>
+ a new saved page object, fill it with the current page and add it to the end of<br>
+ the list; gx_saved_pages_list_print to print various pages in various orders<br>
+ from the list; gx_saved_pages_list_free to free the clist files for the saved<br>
+ pages as well as the saved pages and the saved pages list and to support the<br>
+ parameter and command line arg, gx_saved_pages_param_process. This function<br>
+ may be useful for applications as well. See psi/imainarg.c for sample usage<br>
+ with --saved-pages-test.<br>
+<br>
+ Also, the gx_device_printer get and put params have an added saved-pages string<br>
+ parameter to allow control of this feature.<br>
+<br>
+ A new command line option --saved-pages=&quot;...&quot; is added that will call the<br>
+ 'process' function. This is implemented for BOTH gs imainarg and plmain used<br>
+ by the other languages. Also, --saved-pages-test is added for weekly testing<br>
+ that will collect all pages in a list (--saved-pages=begin) then after the<br>
+ file is processed, will print all pages (--saved-pages=&quot;print normal flush&quot;).<br>
+<br>
+ The capability is mentioned in doc/Use.htm, and the parameters for the control<br>
+ string is documented in doc/SavedPages.htm<br>
+<br>
+gs/base/gdevdflt.c<br>
+gs/base/gdevppla.c<br>
+gs/base/gdevprn.c<br>
+gs/base/gdevprn.h<br>
+gs/base/gsdparam.c<br>
+gs/base/gxclist.c<br>
+gs/base/gxclist.h<br>
+gs/base/gxclpage.c<br>
+gs/base/gxclpage.h<br>
+gs/base/gxclread.c<br>
+gs/base/gxclrect.c<br>
+gs/base/gxclthrd.c<br>
+gs/base/gxdevsop.h<br>
+gs/base/gxpcmap.c<br>
+gs/base/lib.mak<br>
+gs/base/string_.h<br>
+gs/devices/gdevijs.c<br>
+gs/devices/gdevp2up.c<br>
+gs/devices/gdevtsep.c<br>
+gs/doc/SavedPages.htm<br>
+gs/doc/Use.htm<br>
+gs/psi/imainarg.c<br>
+gs/psi/iminst.h<br>
+gs/psi/int.mak<br>
+pl/pl.mak<br>
+pl/plmain.c<br>
+pl/plmain.h<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-06-11 22:04:00 +0200
+</strong>
+<br>zeniko &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e7b7ecff0277c0aa7e162edd21842dc4409391ff">e7b7ecff0277c0aa7e162edd21842dc4409391ff</a>
+<blockquote>
+<p>
+ Bug 694121: prevent heap overflow<br>
+<br>
+ jbig2_decode_symbol_dict checks whether more glyphs are requested than<br>
+ are available (SDNUMINSYMS + SDNUMNEWSYMS) but has so far failed check<br>
+ whether there are more than expected (SDNUMEXSYMS); fixes<br>
+ 3324.pdf.asan.3.2585<br>
+<br>
+gs/jbig2dec/jbig2_symbol_dict.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-07-05 13:11:58 +0200
+</strong>
+<br>zeniko &lt;zeniko@gmail.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f7064096ceac3d6c148096a936e1ea10fd8f0c55">f7064096ceac3d6c148096a936e1ea10fd8f0c55</a>
+<blockquote>
+<p>
+ Bug 694111: prevent heap overflow<br>
+<br>
+ jbig2_image_compose fails to ensure that the destination rectangle lies<br>
+ entirely within the destination buffer (in the case of the file<br>
+ 3324.pdf.asan.50.2585, this happens due to a huge value for y). Adding a<br>
+ new check which makes sure that...<br>
+<br>
+ @ y * dst-&gt;stride + leftbyte doesn't overflow<br>
+ @ x and leftbyte don't overflow to the next line<br>
+ @ h * dst-&gt;stride doesn't overflow<br>
+ @ all values read are within the destination buffer<br>
+<br>
+ The file 3324.pdf.asan.50.2585 also demonstrates a memory leak where the<br>
+ glyph isn't properly released if jbig2_image_compose fails.<br>
+<br>
+gs/jbig2dec/jbig2_image.c<br>
+gs/jbig2dec/jbig2_text.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-30 13:05:46 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ca5a118174084f53893978d0c6b71d3a58db41bf">ca5a118174084f53893978d0c6b71d3a58db41bf</a>
+<blockquote>
+<p>
+ PDF interpreter - synthesize appearance for multiline text widgets<br>
+<br>
+ Bug 689761 &quot;Multiline PDF form field does not honor line breaks&quot;<br>
+<br>
+ There are several parts to this change. Firstly there was a bug in the code<br>
+ to detect multiline text widgets, which meant that they were not detected<br>
+ and instead of flagging a warning and ignoring the widget, we handled it<br>
+ as if it were a single line. This also meant that we were mishandling combined<br>
+ fields as tetx fields.<br>
+<br>
+ Secondly there is code in pdf-draw.ps which checks to see if we can synthesise<br>
+ an appearance and if we can it ignores the one provided. Testing with Acrobat<br>
+ indicates that this is what Acrobat does. However I think this is very wrong<br>
+ and in testing our code I see about as many files which are better if we<br>
+ use the appearance stream as are better if we manufacture one. So I've<br>
+ chosen (for now at least) to use the appearance stream if we're given one.<br>
+<br>
+ Finally we now handle multiline text fields. The string is broken up into<br>
+ multiple strings at the line breaks. The height of the rectangle is divided<br>
+ by the number of strings, which allows us to space the lines evenly. We<br>
+ detect and implement the different types of quadding. Note that Acrobat<br>
+ does not seem to distribute the text the same way we do, but I don't see<br>
+ any reason to try and mimic it.<br>
+<br>
+ Expected Differences<br>
+ Bug689450.pdf Bug692968.pdf 1503_text_missing .pdf Bug690526.pdf Bug692591.pdf<br>
+ these files have appearance streams that do not match up with the field values.<br>
+ 1783_CIDToGIDMap...pdf x_-_complex_fomr.pdf using the appearance stream<br>
+ improves the output because our synthesis is not that great.<br>
+ comb_and_password.pdf uses a combined field which we previously treated as<br>
+ text, and which we now ignore.<br>
+<br>
+gs/Resource/Init/pdf_draw.ps<br>
+gs/Resource/Init/pdf_ops.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-29 16:47:29 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=621b010d1a6e12f7754508fee8a860345b4f84df">621b010d1a6e12f7754508fee8a860345b4f84df</a>
+<blockquote>
+<p>
+ Bug 694546: Fix undefined behaviour in gdevpbm.<br>
+<br>
+ Thanks to jsmeix for reporting this.<br>
+<br>
+gs/devices/gdevpbm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-29 16:23:20 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3659374423a9f7b0c4b361ce2e207549ae8b4e25">3659374423a9f7b0c4b361ce2e207549ae8b4e25</a>
+<blockquote>
+<p>
+ xps: Check sfnt name table length before accessing array.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpsfont.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 16:03:41 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=30355133c04d2ab3f270a6ea6ee28ae8fa91021b">30355133c04d2ab3f270a6ea6ee28ae8fa91021b</a>
+<blockquote>
+<p>
+ xps: Fix memory leak (bug 694469).<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+gs/base/gslibctx.c<br>
+pl/plmain.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 16:01:33 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8017a6b547e12bc43d16f1057ac5dbf075a47d1e">8017a6b547e12bc43d16f1057ac5dbf075a47d1e</a>
+<blockquote>
+<p>
+ xps: Check for number of arguments when parsing abbreviated paths.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpspath.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 15:45:09 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9a85570458e46327dd8741c16c758669b5918ac4">9a85570458e46327dd8741c16c758669b5918ac4</a>
+<blockquote>
+<p>
+ xps: Avoid infinite loop on syntax errors in abbreviated path geometry.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpspath.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 15:43:14 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=82fd60791f60a00bbd42b042198d0cc2593c0790">82fd60791f60a00bbd42b042198d0cc2593c0790</a>
+<blockquote>
+<p>
+ xps: Skip all but the first resource dictionary if there are many.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpspage.c<br>
+xps/xpsresource.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 15:42:44 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bac315e9d796bff6707e1b96e75d403edddf7303">bac315e9d796bff6707e1b96e75d403edddf7303</a>
+<blockquote>
+<p>
+ xps: Ignore empty resource dictionaries.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpspage.c<br>
+xps/xpsresource.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-23 16:17:55 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d4d0e216d1327dab177820e2f90cbb2dd38843c6">d4d0e216d1327dab177820e2f90cbb2dd38843c6</a>
+<blockquote>
+<p>
+ xps: Check for missing pieces before dereferencing.<br>
+<br>
+ Should only be able to happen if .last.piece is missing.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpszip.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-23 16:11:03 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=62c8ba4fa3af5fbe395cd4923766ca8a44fc36f1">62c8ba4fa3af5fbe395cd4923766ca8a44fc36f1</a>
+<blockquote>
+<p>
+ xps: Check that Canvas.Resources has child node before descending.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpsanalyze.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-23 16:08:37 +0200
+</strong>
+<br>Tor Andersson &lt;tor@ccxvii.net&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8dc38533ab78a63c9c0a5c82ba96c45c0a9edebc">8dc38533ab78a63c9c0a5c82ba96c45c0a9edebc</a>
+<blockquote>
+<p>
+ xps: Check the existence of stripbytecounts before using in TIFF decoder.<br>
+<br>
+ Thanks to Shailesh Mistry.<br>
+<br>
+xps/xpstiff.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 17:34:29 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88bce110851c10455d3165ca748a3371d9c917cc">88bce110851c10455d3165ca748a3371d9c917cc</a>
+<blockquote>
+<p>
+ PostScript interpreter - make setpagedevice and EndPage work more like Adobe<br>
+<br>
+ Bug 690667 &quot;Changing PageSize during n-up processing by BeginPage/EndPage generates wrong output&quot;<br>
+<br>
+ The test job changes setpagedevice during the course of the job, and the<br>
+ EndPage takes special action depending on the page count. The first problem<br>
+ is that we don't reset the count of pages in the device, and Acrobat can<br>
+ be shown to do so on *any* call to setpagedevice (even if the dictionary<br>
+ is empty). In zsetdevice() we now reset the page count in the current device<br>
+ so that he page count is reset, even if the device doesn't change.<br>
+<br>
+ Secondly we call .trysetparams before we execute the EndPage routine (if<br>
+ present). The problem here is that .trysetparams actually modifies the<br>
+ page device dictionary (and hence the device) and so attributes can change<br>
+ before the EndPage, in particular the PageSize. The /setpagedevice routine<br>
+ has been modified to move the execution of EndPage much earlier in the<br>
+ process. Again testing with Adobe Acrobat shows that the EndPage procedure<br>
+ is executed if the dictionary argument is empty, and indeed even if the<br>
+ execution of setpagedevice causes an error.<br>
+<br>
+ No differences expected. Note this is a potentially destabilising change.<br>
+<br>
+gs/Resource/Init/gs_setpd.ps<br>
+gs/psi/zdevice.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 15:55:07 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=07ed0d0cb0de6ebc456a08ca0484c0e8a120b472">07ed0d0cb0de6ebc456a08ca0484c0e8a120b472</a>
+<blockquote>
+<p>
+ PDF interpreter - clamp invalid numbers to 0 in Shading Coords<br>
+<br>
+ Bug 694542 &quot;Ghostscript failed to convert pdf file to images&quot;<br>
+<br>
+ The specimen file contains invalid numbers in the Coords array of every<br>
+ Shading dictionary. Acrobat (of course) handles this by silently converting<br>
+ all such numbers to 0.<br>
+<br>
+ This commit checks the Coords of the Shading, and if any entry is not a number<br>
+ (our token parser converts invalid numbers to names) it replaces it with a<br>
+ xero.<br>
+<br>
+ No differences expected<br>
+<br>
+gs/Resource/Init/pdf_draw.ps<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 13:20:03 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e413f6aa426fb63c2e9709ad8d28ab862bc1d44d">e413f6aa426fb63c2e9709ad8d28ab862bc1d44d</a>
+<blockquote>
+<p>
+ Add the font embedding paragraph.<br>
+<br>
+ The URW+ fonts are licensed under the GPL, with an additional allowance<br>
+ for embedding the fonts, and that embedding not affecting the license of<br>
+ the document in which the font is embedded.<br>
+<br>
+ CLUSTER_UNTESTED<br>
+<br>
+gs/LICENSE<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 11:21:37 +0100
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8b6be8be2cdcefae39339682d45d3c009ab909ac">8b6be8be2cdcefae39339682d45d3c009ab909ac</a>
+<blockquote>
+<p>
+ pdfwrite - more discriminating tests before TrueType font combining<br>
+<br>
+ Bug 694538 &quot;Incorrect embedding of fonts&quot;<br>
+<br>
+ The test file does not appear to be the regular output of the MS Windows<br>
+ PostScript driver, it looks like several files have been stripped and then<br>
+ added together. A process liable to failure at the best of times.<br>
+<br>
+ In this case we end up with a large number of incrementally downloaded,<br>
+ subset, TrueType fonts. Despite the fact that these are the same font and<br>
+ in many cases contain the same, or compatible, subsets the fonts are<br>
+ downloaded several times, which is why I believe this to be a combination<br>
+ of separately created files.<br>
+<br>
+ pdfwrite tries to combine such fonts, and does so quite succcesfully in<br>
+ this case. However, the individual fonts are not all alike. Some information<br>
+ in the TrueType table is clearly copied from the original font (eg the<br>
+ numGlyphs value of 3147) and some is not. In particular the maxPoints<br>
+ value differs between two otherwise compatible subset fonts (one has additional<br>
+ glyphs). It seems Acrobat doesn't like this, it sometimes raises an error<br>
+ and does not display any glyphs whose point count exceeds the maxPoints<br>
+ value.<br>
+<br>
+ This commit adds the maxPoints and maxContours values to the gs_type42_data<br>
+ structure and tracks them. Fonts are not now considered compatible if<br>
+ these values are different between them.<br>
+<br>
+ This will lead to less font merging, but for sensibly created programs<br>
+ this will not be a problem, as the driver only downloads the font once. For<br>
+ programs created by jamming files together it will prevent the situation<br>
+ where we create a font which Acrobat cannot read.<br>
+<br>
+ No differences expected.<br>
+<br>
+gs/base/gstype42.c<br>
+gs/base/gxfont42.h<br>
+gs/devices/gxfcopy.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-26 14:31:28 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e9b47527ec10d911f8154c60f746985e139606b8">e9b47527ec10d911f8154c60f746985e139606b8</a>
+<blockquote>
+<p>
+ Bump version number<br>
+<br>
+gs/Resource/Init/gs_init.ps<br>
+gs/base/version.mak<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-30 10:00:41 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7fcadf3b8b0ef1662419c15b8d51e36e434804be">7fcadf3b8b0ef1662419c15b8d51e36e434804be</a>
+<blockquote>
+<p>
+ Update product string, dates and docs for 9.10 release.<br>
+<br>
+gs/base/gscdef.c<br>
+gs/base/version.mak<br>
+gs/doc/API.htm<br>
+gs/doc/C-style.htm<br>
+gs/doc/Commprod.htm<br>
+gs/doc/DLL.htm<br>
+gs/doc/Deprecated.htm<br>
+gs/doc/Details8.htm<br>
+gs/doc/Details9.htm<br>
+gs/doc/Develop.htm<br>
+gs/doc/Devices.htm<br>
+gs/doc/Drivers.htm<br>
+gs/doc/Fonts.htm<br>
+gs/doc/Helpers.htm<br>
+gs/doc/History1.htm<br>
+gs/doc/History2.htm<br>
+gs/doc/History3.htm<br>
+gs/doc/History4.htm<br>
+gs/doc/History5.htm<br>
+gs/doc/History6.htm<br>
+gs/doc/History7.htm<br>
+gs/doc/History8.htm<br>
+gs/doc/History9.htm<br>
+gs/doc/Install.htm<br>
+gs/doc/Issues.htm<br>
+gs/doc/Language.htm<br>
+gs/doc/Lib.htm<br>
+gs/doc/Make.htm<br>
+gs/doc/News.htm<br>
+gs/doc/Projects.htm<br>
+gs/doc/Ps-style.htm<br>
+gs/doc/Ps2epsi.htm<br>
+gs/doc/Ps2pdf.htm<br>
+gs/doc/Ps2ps2.htm<br>
+gs/doc/Psfiles.htm<br>
+gs/doc/Readme.htm<br>
+gs/doc/Release.htm<br>
+gs/doc/Source.htm<br>
+gs/doc/Unix-lpr.htm<br>
+gs/doc/Use.htm<br>
+gs/doc/WhatIsGS.htm<br>
+gs/doc/Xfonts.htm<br>
+gs/doc/gs-vms.hlp<br>
+gs/doc/thirdparty.htm<br>
+gs/man/dvipdf.1<br>
+gs/man/font2c.1<br>
+gs/man/gs.1<br>
+gs/man/gslp.1<br>
+gs/man/gsnd.1<br>
+gs/man/pdf2dsc.1<br>
+gs/man/pdf2ps.1<br>
+gs/man/pf2afm.1<br>
+gs/man/pfbtopfa.1<br>
+gs/man/printafm.1<br>
+gs/man/ps2ascii.1<br>
+gs/man/ps2epsi.1<br>
+gs/man/ps2pdf.1<br>
+gs/man/ps2pdfwr.1<br>
+gs/man/ps2ps.1<br>
+gs/man/wftopfa.1<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-29 16:47:29 +0100
+</strong>
+<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b8d4701f17205624ebffe3d4630c9df87ac095b0">b8d4701f17205624ebffe3d4630c9df87ac095b0</a>
+<blockquote>
+<p>
+ Bug 694546: Fix undefined behaviour in gdevpbm.<br>
+<br>
+ Thanks to jsmeix for reporting this.<br>
+<br>
+gs/devices/gdevpbm.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-27 13:56:35 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0680e46d927d1cc02a4bad4c3a90cb9adc3d4580">0680e46d927d1cc02a4bad4c3a90cb9adc3d4580</a>
+<blockquote>
+<p>
+ Bring docs up to date for RC.<br>
+<br>
+gs/doc/API.htm<br>
+gs/doc/C-style.htm<br>
+gs/doc/Commprod.htm<br>
+gs/doc/DLL.htm<br>
+gs/doc/Deprecated.htm<br>
+gs/doc/Details8.htm<br>
+gs/doc/Details9.htm<br>
+gs/doc/Develop.htm<br>
+gs/doc/Devices.htm<br>
+gs/doc/Drivers.htm<br>
+gs/doc/Fonts.htm<br>
+gs/doc/Helpers.htm<br>
+gs/doc/History1.htm<br>
+gs/doc/History2.htm<br>
+gs/doc/History3.htm<br>
+gs/doc/History4.htm<br>
+gs/doc/History5.htm<br>
+gs/doc/History6.htm<br>
+gs/doc/History7.htm<br>
+gs/doc/History8.htm<br>
+gs/doc/History9.htm<br>
+gs/doc/Install.htm<br>
+gs/doc/Issues.htm<br>
+gs/doc/Language.htm<br>
+gs/doc/Lib.htm<br>
+gs/doc/Make.htm<br>
+gs/doc/News.htm<br>
+gs/doc/Projects.htm<br>
+gs/doc/Ps-style.htm<br>
+gs/doc/Ps2epsi.htm<br>
+gs/doc/Ps2pdf.htm<br>
+gs/doc/Ps2ps2.htm<br>
+gs/doc/Psfiles.htm<br>
+gs/doc/Readme.htm<br>
+gs/doc/Release.htm<br>
+gs/doc/Source.htm<br>
+gs/doc/Unix-lpr.htm<br>
+gs/doc/Use.htm<br>
+gs/doc/WhatIsGS.htm<br>
+gs/doc/Xfonts.htm<br>
+gs/doc/gs-vms.hlp<br>
+gs/doc/thirdparty.htm<br>
+gs/man/dvipdf.1<br>
+gs/man/font2c.1<br>
+gs/man/gs.1<br>
+gs/man/gslp.1<br>
+gs/man/gsnd.1<br>
+gs/man/pdf2dsc.1<br>
+gs/man/pdf2ps.1<br>
+gs/man/pf2afm.1<br>
+gs/man/pfbtopfa.1<br>
+gs/man/printafm.1<br>
+gs/man/ps2ascii.1<br>
+gs/man/ps2epsi.1<br>
+gs/man/ps2pdf.1<br>
+gs/man/ps2pdfwr.1<br>
+gs/man/ps2ps.1<br>
+gs/man/wftopfa.1<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2013-08-26 14:29:57 +0100
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=466d8f67a5b1ada99d05777ba33fab48a7d74bc9">466d8f67a5b1ada99d05777ba33fab48a7d74bc9</a>
+<blockquote>
+<p>
+ Change product string for release candidate<br>
+<br>
+gs/base/gscdef.c<br>
+<p>
+</blockquote>
+<hr>
+<hr size=20>
+
+
<h2><a name="Version9.10"></a>Version 9.10 (2013-08-27)</h2>
<p>This is the ninth full release in the stable 9.x series, and is
diff --git a/gs/doc/News.htm b/gs/doc/News.htm
index de1ce1987..d351000af 100644
--- a/gs/doc/News.htm
+++ b/gs/doc/News.htm
@@ -58,40 +58,65 @@ overview</a>.
<h2><a name="Version9.12"></a>Version 9.12 (2014-03-14)</h2>
-<p>This is the eighth full release in the stable 9.x series, and is
+<p>This is the tenth full release in the stable 9.x series, and is
primarily a maintenance release.
<p> Highlights in this release include:
<ul>
<li>
-<p> Background printing (BGPrint) is a new feature allowing an accumulated page
-clist to be rendered by one or more rendering threads whilst the interpreter
-(in the "main" thread) continues to accumulate the subsequent page's clist.
-For certain classes of file this can result in a useful performance increase.
-See: <a href="Language.htm#Banding_parameters">Banding Parameters</a>
+<p>pdfwrite now uses the same color management engine as Ghostscript rendering
+devices (by default LCMS2). This provides much better control over color
+conversion and color management generally, but will result in some small color
+differences when compared to the old system.
+
+<p>It is no longer necessary to specify UseCIEColor (and we very much encourage
+you not to do this) or the ProcessColorModel if you want to convert a PDF file
+to a specific color space, simply set the ColorConverionStrategy appropriately.
+
+<p>We do not expect any major problems to arise with this new code, but for the
+duration of this release a new switch -dPDFUseOldCMS is available which will
+restore the old color management.
+See: <a href="Ps2pdf.htm#Color_Conversion_and_Management">Color Conversion and Management</a>
+
+<p>Please note that due to constraints of the PDF/A-1 specification, the new
+color management does not yet apply when producing PDF/A files.
</li>
<li>
-<p> GrayDetection allows suitably written devices to detect "color" input
-in near neutral tones (i.e. near monochrome) and to convert "on-the-fly" to
-pure grayscale, whilst retaining the ability to print full color on demand.
-This is primarily aimed at workflows where saving ink (especially color inks)
-is required.
-See: <a href="Language.htm#Device_parameters">Device Parameters</a>
+<p> A new device 'eps2write' has been added which allows for the creation of
+EPS files using the ps2write device instead of the old (deprecated and removed)
+pswrite device. This produces considerably better quality EPS files than
+the old epswrite device which is now also deprecated and will be removed in a
+future release.
</li>
<li>
-<p> LittleCMS2 and libpng have both been updated to the latest versions.
+<p> ps2write now has a feature to allow customisation of the output for specific
+devices. Please see PSDocOptions and PSPageOptions described in ps2ps2.htm
+<a href="Ps2ps2.htm#AdditionalDistillerParams">Additional Distiller Params</a>
</li>
<li>
-<p> Support has been added to build the Ghostscript DLL for WinRT for x86,
-x64 and ARM (Requires MS Visual Studio 2012 Pro).
+<p> Ghostscript now reduces memory usage when processing PDF files that use
+transparency and output is to display devices such as Windows display or x11
+(i.e. devices that are strictly full framebuffer devices), and to high level
+vector devices that cannot reproduce the PDF transparency model, such as the
+ps2write device or pdfwrite when 'flattening' to PDF 1.3 or earlier
+(-dCompatibilityLevel=1.3). This uses banding (clist) files to render the
+transparenct areas in bands to reduce memory use, and unlike the existing
+page level banding, this is hidden from the target device.
</li>
<li>
-<p> Processing of Windows command line arguments into UTF8 (as presaged a few
-releases ago) has been enhanced and enabled by default.
+<p> Ghostscript can now collect information for pages in temp files (in
+Ghostscript's clist format), then render and output pages for the job in arbitrary
+order, including normal, reverse, odd, even, or any order or subset of the pages.
+This is controlled with the --saved-page=___ option. (Note that this only applies
+to rendering devices, and not high level devices such as pdfwrite and ps2write.)
+See: <a href="Use.htm#Deferred_Page_Rendering">Deferred Page Rendering</a>
</li>
<li>
-<p> The URW Postscript font set has been updated to the latest version, fixing
-many compatibility problems with the Adobe fonts.
+<p> The Ghostscript device architecture has been extended so that, when
+rendering bands into multiple threads, it is now possible to perform
+post-processing in multiple threads, such as downscale, post-render halftoning,
+or compression. Previously, post processing was only possible in the single
+main thread. This can improve performance significantly.
</li>
<li>
<p>Plus the usual round of bug fixes, compatibility changes, and incremental improvements.
diff --git a/gs/doc/Ps2pdf.htm b/gs/doc/Ps2pdf.htm
index ebc6f8b1f..b182bfa01 100644
--- a/gs/doc/Ps2pdf.htm
+++ b/gs/doc/Ps2pdf.htm
@@ -25,6 +25,7 @@
<li><a href="#Usage">Usage</a>
<li><a href="#Orientation">Setting page orientation</a>
<li><a href="#Options">Options</a>
+<li><a href="#Color_Conversion_and_Management">Color Conversion and Management</a>
<li><a href="#PDFX">Creating a PDF/X-3 document</a>
<li><a href="#PDFA">Creating a PDF/A document</a>
<li><a href="#Limitations">Limitations</a>
@@ -272,11 +273,11 @@ will not work correctly with this flag.
<dt><code>-dPreserveSeparation</code>
<dd>This takes a Boolean argument, when set to true (the default) any /Separation
-colour spaces in the input PostScript or PDF file will be preserved as /Separation
-colour spaces in the output. When false, the alternate space specified by the
-original colour space will be used instead.
+color spaces in the input PostScript or PDF file will be preserved as /Separation
+color spaces in the output. When false, the alternate space specified by the
+original color space will be used instead.
<dt><code>-dPreserveDeviceN</code>
-<dd>Behaves as per PreserveSeparation above except that it deals with DeviceN colour
+<dd>Behaves as per PreserveSeparation above except that it deals with DeviceN color
spaces.
<dt><code>-dDetectDuplicateImages</code>
@@ -725,9 +726,9 @@ where the file <b>params.in</b> contains:
in.ps</code></blockquote>
<hr>
-<h2><a name="Color"></a>Color Conversion and management</h2>
+<h2><a name="Color_Conversion_and_Management"></a>Color Conversion and Management</h2>
<p>
-As of the 9.11 pre-release, the colour management in pdfwrite has been substantially
+As of the 9.11 pre-release, the color management in pdfwrite has been substantially
altered so that it now uses the same Color Management System as rendering (the default
is LCMS2). This considerably improves the color handling in both pdfwrite and ps2write,
particularly in the areas of Spearation and DeviceN color spaces, and Indexed color
@@ -750,7 +751,7 @@ worth setting this as well, if it is important that the color space be controlle
</p>
<p>ps2write cannot currently convert into device-independent color spaces, and so <code>UseDeviceIndependentColor</code>should not be used with ps2write.
</p>
-<p>All other colour spaces are converted approproately. Separation and DeviceN spaces will be preserved if possible (ps2write cannot preserve DeviceN)
+<p>All other color spaces are converted approproately. Separation and DeviceN spaces will be preserved if possible (ps2write cannot preserve DeviceN)
and if the alternate space is not appropriate a new alternate space will be created. Eg a [/Separation (MyColor) /DeviceRGB {...}]
when the <code>ColorConversionStrategy</code> is set to <code>CMYK</code> would be converted to [/Separation (MyColor) /DeviceCMYK {...}]
The new tint transform would be created by sampling the original tint transform, converting the RGB values into CMYK, and then creating
@@ -807,7 +808,7 @@ To create a PDF/X-3 document from a Postscript or a PDF file, you should :
and forces <code>-dCompatibilityLevel=1.3</code>.
<li> Specify <code>-sColorConversionStrategy=/Gray</code>, <code>-sColorConversionStrategy=/CMYK</code>
or <code>-sColorConversionStrategy=/UseDeviceIndependentColor</code>(<code>RGB</code> is not allowed).
- If you plan to create a device-independent colour PDF file then you should set the ProcessColorModel
+ If you plan to create a device-independent color PDF file then you should set the ProcessColorModel
using <code>-sProcessColorModel=DeviceGray</code> or <code>-sProcessColorModel=DeviceCMYK</code>.
<li> Specify a PDF/X definition file before running the input document.
It provides additional information to be included into the output document.
@@ -931,7 +932,7 @@ with the following exceptions :
<li> Specify the <code>-dPDFA</code> option to specify PDF/A-1, or <code>-dPDFA=2</code> for PDF/A-2.
<li> Specify <code>-sColorConversionStrategy=/RGB</code>, <code>-sColorConversionStrategy=/CMYK</code>
or <code>-sColorConversionStrategy=/UseDeviceIndependentColor</code>.
- If you plan to create a device-independent colour PDF file then you should set the ProcessColorModel
+ If you plan to create a device-independent color PDF file then you should set the ProcessColorModel
using <code>-sProcessColorModel=DeviceRGB</code> or <code>-sProcessColorModel=DeviceCMYK</code>.
<li> Specify, using <code>-sOutputICCProfile</code>, an ICC profile which represents the color
space (either CMYK or RGB) of the final file. This is the same ICC profile used in the
diff --git a/gs/doc/Ps2ps2.htm b/gs/doc/Ps2ps2.htm
index 53066ed9a..f6fccadc2 100644
--- a/gs/doc/Ps2ps2.htm
+++ b/gs/doc/Ps2ps2.htm
@@ -143,7 +143,7 @@ with these exceptions:
<dt><code>/ASCII85EncodePages</code> <em>true</em>,
</dl>
-<a name="DistillerParams"></a>
+<a name="AdditionalDistillerParams"></a>
<p>
There are also two additional (not Adobe-standard) Distiller parameters, specific to ps2write:
<dl>
diff --git a/gs/doc/Use.htm b/gs/doc/Use.htm
index 95284223b..03167f866 100644
--- a/gs/doc/Use.htm
+++ b/gs/doc/Use.htm
@@ -93,6 +93,7 @@
<li><a href="#Interaction_related_parameters">Interaction-related parameters</a>
<li><a href="#Output_selection_parameters">Device and output selection parameters</a>
<li><a href="#EPS_parameters">EPS parameters</a>
+<li><a href="#Deferred_Page_Rendering">Deferred Page Rendering</a>
<li><a href="#ICC_color_parameters">ICC color parameters</a>
<li><a href="#Other_parameters">Other parameters</a>
</ul>
@@ -2795,7 +2796,7 @@ ignore a request to print multiple copies, giving more consistent
behaviour.
</dl>
-<h4><a name="Deferred Page Rendering"></a>Deferred Page Rendering</h4>
+<h4><a name="Deferred_Page_Rendering"></a>Deferred Page Rendering</h4>
<dl>
<dd>Raster printers and image formats that can use the "command list" (clist)
to store a representation of the page prior to rendering can use the