diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2017-03-06 10:57:03 +0000 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2017-03-06 10:57:03 +0000 |
commit | 53dc6a1e4bb61ce1aaf689550d42ec6cf706d889 (patch) | |
tree | 3959cc99fba61672e1556ea963d44741bf68274a | |
parent | 2f4b5eb2cf7d173d69c7a6bdb8008447f8e1b174 (diff) | |
download | ghostpdl-53dc6a1e4bb61ce1aaf689550d42ec6cf706d889.tar.gz |
Update News.html and History9.htmghostpdl-9.21rc1
with highlights and changelogs
-rw-r--r-- | doc/History9.htm | 8339 | ||||
-rw-r--r-- | doc/News.htm | 36 |
2 files changed, 8370 insertions, 5 deletions
diff --git a/doc/History9.htm b/doc/History9.htm index b1c51a072..fdd743faa 100644 --- a/doc/History9.htm +++ b/doc/History9.htm @@ -29,6 +29,7 @@ TOC to see how to edit it for visual conciseness. <h2>Table of contents</h2> <blockquote><ul> +<li><a href="#Version9.20">Version 9.21 (2017-03-06)</a> <li><a href="#Version9.20">Version 9.20 (2016-09-26)</a> <li><a href="#Version9.19">Version 9.19 (2016-03-23)</a> <li><a href="#Version9.18">Version 9.18 (2015-09-23)</a> @@ -76,6 +77,8344 @@ overview</a>. <!-- [2.0 begin contents] ================================================== --> +<h2><a name="Version9.21"></a>Version 9.21 (2017-03-06)</h2> + +<p>This is the fifteenth full release in the stable 9.x series. + +<p> Highlights in this release include: +<ul> +<li> +<p>pdfwrite now preserves annotations from input PDFs (where possible). +</li> +<li> +<p>The GhostXPS interpreter now provides the pdfwrite device with the data +it requires to emit a ToUnicode CMap: thus allowing fully searchable PDFs to +be created from XPS input (in the vast majority of cases). +</li> +<li> +<p>Ghostscript now allows the default color space for PDF transparency blends. +</li> +<li> +<p>The Ghostscript/GhostPDL configure script now has much better/fuller support +for cross compiling. +</li> +<li> +<p>The tiffscaled and tiffscaled4 devices can now use ETS (Even Tone Screening) +</li> +<li> +<p>The toolbin/pdf_info.ps utility can now emit the PDF XML metadata. +</li> +<li> +<p>Ghostscript has a new scan converter available (currently optional, but will +become the default in a near future release). It can be enabled by using the command +line option: '-dSCANCONVERTERTYPE=2'. This new implementation provides vastly improved +performance with large and complex paths. +</li> +<li> +<p>The usual round of bug fixes, compatibility changes, and incremental improvements. +</li> +</ul> +<p>For a list of open issues, or to report problems, +please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>. + +<h3><a name="9.20_Incompatible_changes"></a>Incompatible changes</h3> +<ul> +<li> +<p> +The planned device API tidy (still!) did not happen for this release, due to time pressures, +but we still intend to undertake the following: +We plan to somewhat tidy up the device API. We intend to remove deprecated device +procs (methods/function pointers) and change the device API so every device proc +takes a graphics state parameter (rather than the current scheme where only a +very few procs take an imager state parameter). This should serve as notice to +anyone maintaining a Ghostscript device outside the canonical source tree that +you may (probably will) need to update your device(s) when these changes happen. +Devices using only the non-deprecated procs should be trivial to update. +</li> +</ul> + +<h3><a name="9.21_changelog"></a>Changelog</h3> +<p><strong>2017-03-06 10:32:53 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f4b5eb2cf7d173d69c7a6bdb8008447f8e1b174">2f4b5eb2cf7d173d69c7a6bdb8008447f8e1b174</a> +<blockquote> +<p> + Update dates and versions<br> +<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/font2c.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +man/wftopfa.1<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-06 10:31:53 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7d3e8640525cab77feabf33db732e5d1bb4eb652">7d3e8640525cab77feabf33db732e5d1bb4eb652</a> +<blockquote> +<p> + Update copyrights in "top" makefiles<br> +<br> +Makefile.in<br> +psi/winint.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-06 10:28:47 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f917db5eb0b94c864cef770022d86b22e45df98">8f917db5eb0b94c864cef770022d86b22e45df98</a> +<blockquote> +<p> + Product string for 9.20RC1<br> +<br> +base/gscdef.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-03 10:20:14 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=278c66866eb41c0d8220d31bd7f12887706eb51c">278c66866eb41c0d8220d31bd7f12887706eb51c</a> +<blockquote> +<p> + Change git behaviour broke gitlog2changelog.py<br> +<br> + remove the --cc options<br> +<br> +toolbin/gitlog2changelog.py<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-03 10:00:05 -0700 +</strong> +<br>Henry <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1d2da0ae232605c4f62a97f8cf1cedce15c4ba9f">1d2da0ae232605c4f62a97f8cf1cedce15c4ba9f</a> +<blockquote> +<p> + Add error message when resident fonts are not found.<br> +<br> + The fix also uncovered a regression. The XL interpreter was checking<br> + if the function to load built in fonts returned a code less than 0<br> + which does not happen anymore. Upon error the function returns 0 (false),<br> + indicating no fonts found.<br> +<br> +pcl/pcl/pcfont.c<br> +pcl/pxl/pxsessio.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-03 06:58:19 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c9cb91b2fb59481247aaee88779577ef6c103327">c9cb91b2fb59481247aaee88779577ef6c103327</a> +<blockquote> +<p> + Update the default PCL font search path.<br> +<br> + The font search path was never updated when the directory structure<br> + changed, also add a directory entry to allow PCL to find fonts while<br> + cluster testing without an environment variable or command line<br> + setting.<br> +<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-03 09:30:59 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=62354d822b29006d7e431a2b07c70106647b62c8">62354d822b29006d7e431a2b07c70106647b62c8</a> +<blockquote> +<p> + Remove the left over Mac specific files.<br> +<br> + OS X is basically just a Unix-like system, so building gs for it is now just<br> + like for any other Unix-like system. We haven't supported Mac Classic for some<br> + time.<br> +<br> + Several Mac related files were left over, atrophied and no longer any value.<br> +<br> + This removes them.<br> +<br> +base/gsiomacres.c<br> +base/lib.mak<br> +base/macgenmcpxml.sh<br> +base/macos_carbon_d_pre.h<br> +base/macos_carbon_pre.h<br> +base/macos_classic_d_pre.h<br> +base/macosx.mak<br> +base/macsystypes.h<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-02 16:35:51 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba8d4abaa9c33edd8c79da7022f231e4b21f22e9">ba8d4abaa9c33edd8c79da7022f231e4b21f22e9</a> +<blockquote> +<p> + fix bug 697621: color_usage.or bits were wrong with transparency<br> +<br> + The psdcmykog uses the color_usage.or bits to decide which components need to<br> + be processed, skipping those that are not needed. When the pdf14 device changes<br> + the color_info the color that will actually go on the page cannot be known<br> + without transforming the color to the device color which is too expensive.<br> +<br> + Also fix the polarity tests in gx_color_index2usage (it was being ignored)<br> +<br> +base/gxclist.c<br> +base/gxclpath.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-02 12:26:16 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ea14e8c7c8f8ece7a7ea2a324bca2c115c61b1a3">ea14e8c7c8f8ece7a7ea2a324bca2c115c61b1a3</a> +<blockquote> +<p> + Bug 697626: bounds check allocations in the chunk allocator<br> +<br> + Ensure the requested memory allocation doesn't overflow the 32 bit variables<br> + in the chunk allocator.<br> +<br> +base/gsmchunk.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-01 10:26:17 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=670e5d250c6049694f0f1f1c3d15270d6dc2246a">670e5d250c6049694f0f1f1c3d15270d6dc2246a</a> +<blockquote> +<p> + Bug 697615: Only apply CompatibleOverprint handling to some colorspaces<br> +<br> + Testing with Adobe shows that only Gray, CMYK, DeviceN and Sep color<br> + spaces should use the special CompatibleOverprint handling specified<br> + in the section "Compatibility with Opaque Overprinting".<br> +<br> +Resource/Init/pdf_ops.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-01 12:59:12 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0a8f8a53a968a638e828086f0725780aa64793c0">0a8f8a53a968a638e828086f0725780aa64793c0</a> +<blockquote> +<p> + Fix clump handling.<br> +<br> + Ray spotted that running:<br> +<br> + debugbin/gs -r300 -Z@\$\?: -dJOBSERVER<br> +<br> + is enough to send us into an infinite loop.<br> +<br> + Tracking this down, it appears that the reason is to do with<br> + the gs_ref_memory_t's use of 'pcc' and 'cc'.<br> +<br> + It copies the 'current' chunk out of the splay tree, and then<br> + puts it back later, without realising that the splay tree<br> + may have been altered.<br> +<br> + The simplest fix appears to be just to not do this copying.<br> +<br> +base/gsalloc.c<br> +base/gxalloc.h<br> +psi/ialloc.c<br> +psi/igc.c<br> +psi/ilocate.c<br> +psi/isave.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-28 17:36:00 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f8c0d4e78f75de95b0d74210b3e929abef6f3a60">f8c0d4e78f75de95b0d74210b3e929abef6f3a60</a> +<blockquote> +<p> + Add sanity check on image sizes.<br> +<br> + Inspired by bug 697395, but doesn't actually solve any problem<br> + seen in that bug (or at least, not that I can see, as I can't<br> + reproduce the problem with file2).<br> +<br> +jbig2dec/jbig2_image.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-03-01 09:47:58 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bbb2b961388b028d7d9d8f6454ced8192ad513c1">bbb2b961388b028d7d9d8f6454ced8192ad513c1</a> +<blockquote> +<p> + Fix Bug 697624 - PCL segfaults with --disable-compile inits.<br> +<br> + Instead of trying to continue we exit upon initialization if no fonts<br> + are found and the current emulation is PCL.<br> +<br> +pcl/pcl/pcfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-28 18:43:04 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ce437b88df500a184ae2ca15d67a019f57a11d20">ce437b88df500a184ae2ca15d67a019f57a11d20</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix memory leaks for allocation event numbers 25 to 32<br> + when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> +psi/imain.c<br> +psi/iname.c<br> +psi/inames.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-28 19:54:51 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0ebb37a19ece80fa03af8de5047705722625870b">0ebb37a19ece80fa03af8de5047705722625870b</a> +<blockquote> +<p> + Bug 697372: Fix crash due to pattern clist being freed<br> +<br> + When rendering a pattern from a clist into the pdf14 compositor, the compositor<br> + takes a reference to the pattern clist device. This is fine pre-page-clist, or<br> + with no page clist involved (when the memory is managed by the garbage<br> + collector), but post-page-clist the life span of the pattern clist device is<br> + dicated by the clist replay, *not* by references to it (as in the gc'ed case).<br> + This can result in a dangling pointer, which later causes a crash in the<br> + garbage collector when it cleans up after the page-clist has completed.<br> +<br> + So, when pattern fill has been completed, remove the reference to the pattern<br> + clist device.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-28 15:36:34 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=459a0e650ffab1069a6f59c17775f5fd462c45d2">459a0e650ffab1069a6f59c17775f5fd462c45d2</a> +<blockquote> +<p> + Bug 696364: Restrict size of alphabits buffer<br> +<br> + Thanks to Michael for doing the investigation, and leaving a<br> + really good write up of the problem on the bug.<br> +<br> + The basic problem is that we have a transparency group that<br> + contains a softmask. The softmask is larger than the transparency<br> + group, so it is restricted to the size of the group and written<br> + into the clist as occupying just a small set of bands.<br> +<br> + The content for the softmask is larger, however, so when used with<br> + GraphicsAlphaBits, we create various alphabits devices, draw<br> + the contents, and then send the results with copy_alpha.<br> +<br> + These copy_alpha calls are NOT restricted to being within the<br> + reduced region for the softmask. This therefore upsets the clist<br> + reading.<br> +<br> + The fix, as suggested by Michael in his bug report is to limit<br> + the size of the softmask contents (by limiting the size of the<br> + alphabits buffers).<br> +<br> + Ideally the alphabits device would know what region to limit<br> + itself to just by looking at the graphics state it's passed in.<br> + Unfortunately, that doesn't work as the current softmask/groups<br> + aren't reflected in the graphic state. This feels wrong to me,<br> + but that's the way it is.<br> +<br> + Instead, we have to resort to asking the device to limit our<br> + bbox according to the current state. We achieve this by adding<br> + a new dev_spec_op, and adding the required plumbing to the pdf14<br> + device (to pass it on to the target) and the clist device (to<br> + actually do the restriction).<br> +<br> +base/gdevp14.c<br> +base/gspaint.c<br> +base/gxclrect.c<br> +base/gxdevsop.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-28 07:05:58 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a9394e6abc6b0107da4f42675bf35eb031fe068">4a9394e6abc6b0107da4f42675bf35eb031fe068</a> +<blockquote> +<p> + Fix DEPTH is RAW_DUMP_AS_PAM GRAYSCALE_ALPHA header<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-27 13:37:41 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ff07b67892c201a0a16d983b05d121ac409b78a0">ff07b67892c201a0a16d983b05d121ac409b78a0</a> +<blockquote> +<p> + Bug 697615: color_usage was incorrectly updated for devn with pdf14<br> +<br> + When the pdf14 compositor messes with the color space and color_info,<br> + it doesn't change the target (clist) color_info, but sets the new<br> + information in cldev->clist_color_info. In order to properly update the<br> + color_usage cmd_drawing_color_usage needs to set the bits according to the<br> + clist_color_info num_components and polarity in gx_dc_devn_get_nonzero_comps,<br> + so save the cldev->color_info values, set them to the cldev->clist_color_info<br> + values for the calculation and restore them afterwards<br> +<br> +base/gxclpath.c<br> +base/gxdcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-27 14:15:30 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=97ddb45834c73f697e53839c6b433f65248d9c2a">97ddb45834c73f697e53839c6b433f65248d9c2a</a> +<blockquote> +<p> + Improve pcl page marking detection.<br> +<br> + Instead of looking at only the character's position to determine if a<br> + character marks the page we now look at the extant of the character's<br> + width. Thanks to Norbert Janssen for the fix.<br> +<br> +pcl/pcl/pcpage.c<br> +pcl/pcl/pcpage.h<br> +pcl/pcl/pctext.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-27 18:20:39 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8bb1aab8a60810aefb67a6d2764a54abc547878b">8bb1aab8a60810aefb67a6d2764a54abc547878b</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix memory leak for allocation event number 22<br> + when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> +base/fapi_ft.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-26 05:23:39 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a76a82abca879fcf351fce5aba50a48e7de41963">a76a82abca879fcf351fce5aba50a48e7de41963</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix memory leak for allocation event number 10<br> + when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> +psi/imainarg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 18:21:12 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=009e40a0534e1d11ed5ee353477859b5cdd4faed">009e40a0534e1d11ed5ee353477859b5cdd4faed</a> +<blockquote> +<p> + Bug 696921: Don't "early decode" when interpolating Lab images<br> +<br> + Applying the decode array to Lab source values during the<br> + conversion to fracs that takes place before non-icc based<br> + interpolation causes an overflow.<br> +<br> + We therefore leave the application of the decode array until<br> + after the interpolation.<br> +<br> + After the interpolation, we don't actually want to apply the<br> + decode array though - in that we want the result in the usual<br> + 0...1 float form rather than the 0..100/-128..127/-128...127<br> + ranges that the color would seem to require.<br> +<br> + One option would be simply to not apply the decode array. This<br> + will however go wrong when we meet an Lab file with a<br> + non-standard Decode array. We therefore apply the given decode<br> + array (which may well be the default), and 'undo' the default<br> + one to get the values we actually want.<br> +<br> +base/gxiscale.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 19:05:52 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=af3c1d10726b2d932d951bf021193cbd5bcc734d">af3c1d10726b2d932d951bf021193cbd5bcc734d</a> +<blockquote> +<p> + Bug 697048: Fix compatible overprint blend mode.<br> +<br> + Fix from Michael Vrhel.<br> +<br> + Compatible overprint is operating in subtractive color spaces, so<br> + a 'zero' component actually means 0xFF.<br> +<br> +base/gxblend.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 18:40:03 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e38426abd977fbc67c0d91103eb7bd3573409bb">9e38426abd977fbc67c0d91103eb7bd3573409bb</a> +<blockquote> +<p> + Update clusterpush.pl<br> +<br> + Allow "extended", "cull" and "win32".<br> +<br> +toolbin/localcluster/clusterpush.pl<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-23 15:20:35 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1aebfe56c80bb46bba74c23654d9febcf5f761b5">1aebfe56c80bb46bba74c23654d9febcf5f761b5</a> +<blockquote> +<p> + Correct assert in new scan converter<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 09:33:05 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=13686f5374600d41105587c20a15f3c1e55f3534">13686f5374600d41105587c20a15f3c1e55f3534</a> +<blockquote> +<p> + Return Fatal errors from PS putdeviceparams to avoid potential SEGV<br> +<br> + The change to return Fatal from the display device (commit 269354e)<br> + would segfault with the PS interpreter because zputdeviceparams never<br> + returned an error code, assuming that the interpreter could handle it,<br> + but this resulted in a segfault when setpagedevice tried to erase the<br> + page and the display device did not have a valid bitmap. Return the<br> + Fatal error so the interpreter can exit cleanly.without performing<br> + the usual setpagedevice "configurationerror" recovery.<br> +<br> +psi/zdevice.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 16:10:11 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dabad3f6e9c2bdbd152f67a66b698262f94b816d">dabad3f6e9c2bdbd152f67a66b698262f94b816d</a> +<blockquote> +<p> + PDF interpreter - remove some (ancient) debug code<br> +<br> + This line seems to have been left in accidentally a long, long, time<br> + ago. Surprisingly its never been noticed before....<br> +<br> +Resource/Init/pdf_base.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 15:50:21 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=269354ea918e4498df67e52a1efd16295e031421">269354ea918e4498df67e52a1efd16295e031421</a> +<blockquote> +<p> + Fix display device for non-PostScript interpreters<br> +<br> + commit cf279b8c4773e14045dd6b411c3a524c6ac39124 fixed a potential<br> + crash when memory was exhausted, but used the gs_abort() routine to<br> + tell the interpreter to abort immediately and not carry on.<br> +<br> + Unfortunately, and despite the comment in gsexit.h, gs_abort() is only<br> + available in the PostScript interpreter.<br> +<br> + So here we opt to return a fatal error, which *should* cause the<br> + interpreter to give up (it does on PCL and PostScript) and will allow<br> + us to build GhostPCL on Windows.<br> +<br> +devices/gdevdsp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-24 10:12:43 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0e9a345e7badf0d53ab19761a938665079883612">0e9a345e7badf0d53ab19761a938665079883612</a> +<blockquote> +<p> + Bug 694995: Fix 'wrapped' x11 devices' buffered 'mode'<br> +<br> + The x11 devices can either unbuffered (where rendered objects go straight to the<br> + screen) or buffered (where objects are rendered to a memory buffer device, and<br> + then blitted to the screen).<br> +<br> + Additionally, the 'real' x11 device always uses the resolution and color specs<br> + of the X11 server on which it is running. Then devices such as x11mono and<br> + x11cmyk using a "wrapper" device in order to keep the x11 device using the<br> + specs of the X11 server, whilst presenting an appropriate character to the rest<br> + of Ghostscript (so, even though x11 is *probably* running 24bit RBG, x11mono<br> + needs to look like a pure monochrome device).<br> +<br> + Because we need the 'real' x11 device to handle get_params/put_params, and we<br> + need to temporarily 'patch' the color info of the 'real' x11 device so it<br> + retrieves/applies the params correctly.<br> +<br> + The problem arises when we run one of these 'wrapper' devices in buffered mode.<br> + The memory buffer device (particularly after a resizing of the page buffer),<br> + would end up being configured based on the color settings of the 'wrapper'<br> + device, rather than the 'wrapped' device. So we could end up treating a 1bpp<br> + mono bitmap (from the memory buffer device) as a 24bpp RGB pixmap and blitting<br> + to the screen. Causing a buffer overflow, and segfault.<br> +<br> + To solve that, store the color info we need away from its place in a<br> + standard device, and use the x11 device's own dedicated copy for setting up<br> + the memory buffer device.<br> +<br> +devices/gdevx.c<br> +devices/gdevx.h<br> +devices/gdevxalt.c<br> +devices/gdevxini.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-22 07:17:54 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=670c6b29ebbd29fb3238575cb08a6c2c9586ace7">670c6b29ebbd29fb3238575cb08a6c2c9586ace7</a> +<blockquote> +<p> + Add support for RGB_TAG PAM files to lib/viewpbm.ps (type from bitrgbtags)<br> +<br> + The bitrgbtags device was changed recently to create a PAM (P7) file rather<br> + than a bogus P6 file with 4 components. This means that the pcl/tools/GOT<br> + detag.c and tagimage.c no longer worked. Instead of changing these the<br> + lib/viewpbm.ps was enhanced to process the RGB_TAG P7 files.<br> +<br> + By default, it shows the image, and with -dTAG it shows pseudo-color for<br> + the tag values, UNKNOWN/UNMARKED is white, TEXT is black, PATH is yellow<br> + and IMAGE is red.<br> +<br> + example usage:<br> + gs -dSCALE=1 -- lib/viewpbm.ps bitrgbags.pam<br> + or<br> + gs -dSCALE=1 -dTAG -- lib/viewpbm.ps bitrgbags.pam<br> +<br> + This can also be used to convert the P7 image to another format using<br> + -sDEVICE=___ -o ___ arguments prior to the -- option.<br> +<br> + Also, fix numerous problems with FITPAGE and SCALE options. They were<br> + just WRONG!<br> +<br> +lib/viewpbm.ps<br> +pcl/tools/GOT/README<br> +pcl/tools/GOT/detag.c<br> +pcl/tools/GOT/dotags.sh<br> +pcl/tools/GOT/tagimage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-22 17:51:17 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=862b31689c3f1c6425f5522adc820b73e352e012">862b31689c3f1c6425f5522adc820b73e352e012</a> +<blockquote> +<p> + Improve bitrgbtags device so that unmarked areas are preserved.<br> +<br> + Similar to pngalpha, the bitrgbtags device needs to have a fillpage<br> + procedure to fill the page to "GS_UNTOUCHED_TAG" | white (0xffffff)<br> + Without this, the page was entirely set to "PATH" by the default<br> + fillpage.<br> +<br> + Note this will change EVERY bitrgbtags output in the regression results.<br> +<br> +devices/gdevbit.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-23 13:04:11 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b0d12644776ab1517e549903ba3262c082759680">b0d12644776ab1517e549903ba3262c082759680</a> +<blockquote> +<p> + Bug 697607: correctly bounds check glyph index in TTFs<br> +<br> + The update to Freetype removed a bounds check in the Freetype code when the<br> + incremental API is in use (leaving it up to the caller to validate the glyph<br> + index). This adds that bounds check to our glyph data callback.<br> +<br> + As part of that, return the trueNumGlyphs and numGlyphs varaibles in the<br> + Ghostscript type 42 font structure to their (apparent) original intent:<br> + trueNumGlyphs is the value read from the maxp table, whilst numGlyphs is a value<br> + derived from the size of the loca table (see the bug for a fuller explanation).<br> +<br> +base/gstype42.c<br> +psi/zfapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-23 11:30:22 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4e646ef8103f3ab2ab9d7de64bd30cc2156f0441">4e646ef8103f3ab2ab9d7de64bd30cc2156f0441</a> +<blockquote> +<p> + Bug 696915: Fix buffer overread in mapped8_copy01.<br> +<br> + If the stars align, we can overread by 1 source byte<br> + in mapped8_copy01. Simple fix.<br> +<br> +base/gdevm8.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-22 17:24:24 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cf279b8c4773e14045dd6b411c3a524c6ac39124">cf279b8c4773e14045dd6b411c3a524c6ac39124</a> +<blockquote> +<p> + Fix SEGV is display device when PageSize needs bitmap > 2Gb<br> +<br> + The display_put_params is supposed to revert to the original settings<br> + if an error is encountered, but since it frees the display bitmap before<br> + attempting to allocate the new one, if that allocation fails, the device<br> + is left with a memory device that has an invald bitmap pointer.<br> +<br> + Instead revert the settings and attempt to allocate a bitmap with those<br> + settings. If that fails (unlikely) then gs_abort with an error message.<br> +<br> + NB: It is preferable to free one bitmap before allocating the new one<br> + in case we are near a system memory constraint.<br> +<br> +devices/gdevdsp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-22 23:54:38 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=340b7c7f79d45ed36cd247ff0c13586e6b6a4763">340b7c7f79d45ed36cd247ff0c13586e6b6a4763</a> +<blockquote> +<p> + Bug 696520: Avoid dereferencing NULL in epson devices.<br> +<br> + Adopt Peter Cherepanov's patch to avoid dereferencing NULL.<br> +<br> + Only calculate the pure color if we know we're going to need<br> + it - by which time we know it's safe to deference.<br> +<br> +contrib/eplaser/gdevescv.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-20 16:32:51 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4c99ddc1dbd610d9d677750d6b1dabcb1cda8fb0">4c99ddc1dbd610d9d677750d6b1dabcb1cda8fb0</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix memory leaks for allocation event number 8 and 9<br> + when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> +psi/gs.c<br> +psi/iapi.c<br> +psi/imain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-22 16:41:33 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=21901b860ca033ed14168d3c191b39ff714946b5">21901b860ca033ed14168d3c191b39ff714946b5</a> +<blockquote> +<p> + Bug 697602: Remove 2 instances of variable shadowing.<br> +<br> + Hard to believe these are right because setting code<br> + and then falling out of scope doesn't achieve much.<br> +<br> +base/gp_wxpsprn.cpp<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-22 08:11:48 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f8d299c399312fdd41958843a101db36353ad8e2">f8d299c399312fdd41958843a101db36353ad8e2</a> +<blockquote> +<p> + Avoid getenv call in openjpeg<br> +<br> + getenv is not allowed in certain cases causing linking<br> + issues. This fix should be pushed to the openjpeg<br> + group. Thanks to Chris for the fix.<br> +<br> +openjpeg/src/lib/openjp2/j2k.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-21 16:46:07 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e8831a02f172490d7b175e54c7d15814acacea4">8e8831a02f172490d7b175e54c7d15814acacea4</a> +<blockquote> +<p> + Update bytes_decoded for the non-cache code path.<br> +<br> + If a glyph is being rendered without going through the glyph cache, we still<br> + must update the 'bytes_decoded' entry in the text enumerator.<br> +<br> +base/gxchar.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-20 10:16:32 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=948d880467b2436813f7ffe5d1bd694c9475093c">948d880467b2436813f7ffe5d1bd694c9475093c</a> +<blockquote> +<p> + Bug 694269: valgrind issues in Type 1 charstring interpreter<br> +<br> + 1) Bounds check the charstring data so we don't run off the end of the buffer<br> +<br> + 2) Initialise various entries in the Type 1 hinter state: in a well formed<br> + font these will never be used without being set from the charstring, but in<br> + a broken font, they can be used without being set.<br> +<br> + 3) Initialise the (sacrificial) path we use when retrieving glyph metrics etc.<br> +<br> + 4) Initialise the contents of the stack<br> +<br> +base/gstype1.c<br> +base/gxhintn.c<br> +base/gxpath.c<br> +base/gxtype1.c<br> +base/gxtype1.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-17 11:07:41 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=64c433d69b7732ae919a029dbf4b635133c97f03">64c433d69b7732ae919a029dbf4b635133c97f03</a> +<blockquote> +<p> + Bug 694250: bounds check in TTF hinting code<br> +<br> + Broken font tries to access *way* off the end of the opcode buffer. Check the<br> + index before using it<br> +<br> +base/ttinterp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-17 11:33:36 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=83b54c55a485a17124321d437e8207515396024a">83b54c55a485a17124321d437e8207515396024a</a> +<blockquote> +<p> + Bug 694268: init stack based data.<br> +<br> +devices/vector/gdevpdfd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-16 10:27:22 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cf60a549d2413ae96b17010f0a69f82b797d33e3">cf60a549d2413ae96b17010f0a69f82b797d33e3</a> +<blockquote> +<p> + Fix low memory crash in native font enumeration.<br> +<br> +psi/zfontenum.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-20 10:24:14 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=12091a85336f5c422545f03b4afcd1ea7362a10e">12091a85336f5c422545f03b4afcd1ea7362a10e</a> +<blockquote> +<p> + Fix misspelled TUPLTYPE in PAM header for bitrgbtags output.<br> +<br> + Also add in DEPTH 4<br> +<br> +devices/gdevbit.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-20 15:58:03 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e918ac9ca06971534c7e39087ecca05c3809ce7">8e918ac9ca06971534c7e39087ecca05c3809ce7</a> +<blockquote> +<p> + Update bmpcmp to cope with PAMs with RGB_TAG input.<br> +<br> + We treat these as CMYK PAMs for now. This should be enough for<br> + us to spot differences in the false color images produced.<br> +<br> +toolbin/bmpcmp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-20 15:48:47 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f21824bbf5bd1c0ba8cb19855a8fbc5e0681ff74">f21824bbf5bd1c0ba8cb19855a8fbc5e0681ff74</a> +<blockquote> +<p> + Update bitrgbtags device to use better header.<br> +<br> + The bit devices output raw data.<br> +<br> + The bittagsrgb device outputs rgb + a tag plane, with a PPM header.<br> + The PPM header tells code to expect 3 bytes of image data, not 4,<br> + so is wrong. Here we change it over to use a PAM header (of type<br> + RGB_TAG).<br> +<br> + This allows bmpcmp to be amended to cope better.<br> +<br> +devices/gdevbit.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-20 09:45:18 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ecceafe3abba2714ef9b432035fe0739d9b1a283">ecceafe3abba2714ef9b432035fe0739d9b1a283</a> +<blockquote> +<p> + Resolve image enumerator ownership on error<br> +<br> + Bug #697596 "Use-After-Free in i_free_object()"<br> +<br> + There is confusion over ownership of 'penum' between gx_begin_image1(),<br> + gx_begin_image4() and gx_image_enum_begin() which is called from these<br> + two functions (and only from these two functions).<br> +<br> + The enumerator is allocated in gx_begin_image?() and freed there if<br> + gx_image_enum_begin() returns an error. However, gx_image_enum_begin()<br> + also frees the enumerator on an error; except that it doesn't always do<br> + so. Its a large function and there are at least 9 ways to exit it, only<br> + 4 of which free the enumerator.<br> +<br> + This commit removes the 'free' instances from gx_image_enum_begin()<br> + leaving the cleanup as the responsibility of the calling code, which<br> + performed the allocation.<br> +<br> +base/gxipixel.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-19 10:13:53 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8452f9238959a4d518af365812bf031fe4d8d4b7">8452f9238959a4d518af365812bf031fe4d8d4b7</a> +<blockquote> +<p> + Fix Coverity CID 141336 -- Indentation gripe.<br> +<br> +base/gdevprn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-06 19:21:43 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eccf38345588ced6595d3414fca10098e9855da3">eccf38345588ced6595d3414fca10098e9855da3</a> +<blockquote> +<p> + Add -dDumpXML to toolbin/pdf_info.ps options and fix -dDumpFontsNeeded<br> +<br> + As an example of getting even more info from the PDF, add -dDumpXML to<br> + dump the PDF Metadata (if any).<br> +<br> + Also a problem found with -dDumpFontsNeeded=false was fixed.<br> +<br> + usage to dump the basic info and Metadata:<br> + gs -q -dDumpXML -dDumpMediaSizes=false -dDumpFontsNeeded=false -- \<br> + toolbin/pdf_info.ps examples/annots.pdf<br> +<br> +toolbin/pdf_info.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-18 17:57:18 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e548d290d7d052a32e65493a703e1276230554c3">e548d290d7d052a32e65493a703e1276230554c3</a> +<blockquote> +<p> + Fix 697576: false colors with pxlcolor.<br> +<br> + PXL high level image processing does not support DeviceN, fall back to<br> + rendering rectangles.<br> +<br> +devices/vector/gdevpx.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-18 08:50:48 -0700 +</strong> +<br>Henry Stiles <henry.stiles@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cb5ec3dc7d0214ca3a784f9630b0775142c2ec08">cb5ec3dc7d0214ca3a784f9630b0775142c2ec08</a> +<blockquote> +<p> + Fix bug #687561, bad parsing of intellifont data.<br> +<br> + The previous code read the metric offset field at the wrong positon (8<br> + vs. 6) resulting in a value that caused a range check error. Further,<br> + the range checking which checked the offsets were ordered is not<br> + useful or correct, and has been removed. There is nothing in the<br> + documentation to indicate the offsets must be ordered and showing<br> + order does not help in preventing out of bounds access.<br> +<br> +pcl/pcl/pcsfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-16 21:47:47 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c139c069968a59bc53e45d8373dd70d30278d152">c139c069968a59bc53e45d8373dd70d30278d152</a> +<blockquote> +<p> + Change -Za output to omit the (mostly useless) opening/closing clump messages<br> +<br> + The -ZA is noisier so, keep these messages for that debug level (for now).<br> + I've worked with Ghostscript allocators for MANY years and have yet to<br> + find these messages useful. This is a precursor to totally deleting these<br> + messages.<br> +<br> +base/gsalloc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-16 16:37:28 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88201849f123642dac3920a0bad5e68290280798">88201849f123642dac3920a0bad5e68290280798</a> +<blockquote> +<p> + Fix incorrect calculation of pdf14 number of components.<br> +<br> + This was seen with DeviceN devices (psdcmyk, tiffsep, ...) with the file:<br> + tests_private/comparefiles/Altona_Technical_v20_x4.pdf resulting in<br> + Error messages and warnings that "Output may be incorrect". With the<br> + -dPDFSTOPONERROR option, an reangecheck error is reported.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-16 07:56:26 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7bb2ad6cce75aae3ebedaa5883e1ecd6ba19b52d">7bb2ad6cce75aae3ebedaa5883e1ecd6ba19b52d</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix for 'red 85546'. This is a SEGV seen at allocation event<br> + 85546 when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> + Also account for all the other places that allocate a new<br> + colorspace without checking the returned value.<br> +<br> +base/gsgstate.c<br> +base/gsicc_manage.c<br> +base/gsimage.c<br> +base/gsptype1.c<br> +base/gstrans.c<br> +base/gxclrast.c<br> +devices/vector/gdevpdfb.c<br> +devices/vector/gdevpdfc.c<br> +devices/vector/gdevpdfi.c<br> +devices/vector/gdevpsdi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-29 11:14:39 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=40a82d9e72340b8547f0d45709693e456465ccfd">40a82d9e72340b8547f0d45709693e456465ccfd</a> +<blockquote> +<p> + Fix Bug 697502, problems with NumRenderingThreads exceeding available RAM<br> +<br> + The logic that determined the amount of printer buffer space, and allocated it<br> + was including the ESTIMATED pdf14 transparency buffer space, but we only need<br> + to make sure that amount of space is available, not actually allocate it (since<br> + then it wouldn't be availble when needed).<br> +<br> + if there wasn't enough memory for the band buffer when a thread's clist reader<br> + was opened, gdev_prn_setup_as_command_list would try reducing the BufferSpace<br> + (by successive dividing by 2) until it could fit. This would result in a<br> + reader band size that did not match what was used to write the clist. This<br> + so we force the BandBufferSpace to be exactly the same as was used in the writer<br> + using the cdev page_info.band_params. The tile_cache_size was added to the<br> + space_params used to set up the thread clist device to make it match that used<br> + by the writer.<br> +<br> + In order to make sure we don't "over commit" in creating threads we reserve<br> + an extra amount per thread, currently 2 Mb plus the ht_cache size times the<br> + number of components, plus when the page uses transparency, we increase it by<br> + the ESTIMATED_PDF14_ROW_SPACE times the band_height. We further increase it by<br> + the size of the link profiles and the size of the icclink profiles (CURRENTLY<br> + ESTIMATED). We free the reserve area as we start threads.<br> +<br> + Also when an allocation for a thread failed, the 'band' used for next_band was<br> + being decremented but it did not need to be since it was already the correct value.<br> + This had caused a problem with threads getting started for the wrong band.<br> +<br> + Fix gx_ht_read_and_install to prevent double free if gx_gstate_dev_ht_install<br> + gets an error (VMerror).<br> +<br> + Fix gdevbit so that we don't keep going after get_bits returns an error.<br> +<br> + TODO: collect the size of the icclinks rather than a rather worst case value<br> + currently estimated.<br> +<br> +base/gdevprn.c<br> +base/gsht.c<br> +base/gsicc_manage.c<br> +base/gxclist.c<br> +base/gxclthrd.c<br> +base/gxdevcli.h<br> +base/gxdhtserial.c<br> +devices/gdevbit.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-16 08:52:48 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=89371a73c6d97606ca61884b555b7c13ec1534ac">89371a73c6d97606ca61884b555b7c13ec1534ac</a> +<blockquote> +<p> + Fix segfaults in low memory conditions<br> +<br> + Bug 697572 "Segfaults when ps2write runs out of memory"<br> +<br> + Add some return code checks in pdfwrite/ps2write, check a stream when<br> + trying to close an 'aside', add a check for error return codes when<br> + rendering a cached glyph bitmap.<br> +<br> +base/gxccache.c<br> +devices/vector/gdevpdfb.c<br> +devices/vector/gdevpdfi.c<br> +devices/vector/gdevpdfj.c<br> +devices/vector/gdevpdfo.c<br> +devices/vector/gdevpdti.c<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-11 04:30:56 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d2b25f06c25e6e3e2b1bf319481a7442d42af8a">4d2b25f06c25e6e3e2b1bf319481a7442d42af8a</a> +<blockquote> +<p> + Bug 697531 : Tidy up unused code.<br> +<br> + The first patch for this bug made the error return from<br> + jbig2_word_stream_buf_get_next_word pointless so this<br> + patch removes all the remaining redundant code.<br> +<br> + jbig2_word_stream_buf_get_next_word does not need to return<br> + any value so this is now defined as a void type and the rest<br> + of the code has been updated accordingly.<br> +<br> +jbig2dec/jbig2.c<br> +jbig2dec/jbig2_arith.c<br> +jbig2dec/jbig2_arith_iaid.c<br> +jbig2dec/jbig2_arith_int.c<br> +jbig2dec/jbig2_generic.c<br> +jbig2dec/jbig2_huffman.c<br> +jbig2dec/jbig2_priv.h<br> +jbig2dec/jbig2_refinement.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-15 06:13:55 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1f8ada0d7e2c19138038bccd585e412b1f7a0267">1f8ada0d7e2c19138038bccd585e412b1f7a0267</a> +<blockquote> +<p> + Fix ignored return code in pdf14 transparency.<br> +<br> + This fixes segfaults that pop up later. Found when testing multi-threaded<br> + rendering with (somewhat) constrained memory (-K256000) on the file:<br> + tests_private/pdf/sumatra/x_-_renders_slowly.pdf.ppmraw.300.0<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-15 14:59:27 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=460ef0691145c8c81e238f61baa5009c29838304">460ef0691145c8c81e238f61baa5009c29838304</a> +<blockquote> +<p> + pdfwrite - improve commit ad3e0de3e3ca33f00c81c071560bf6c9f4d5a0f0<br> +<br> + Use gs_note_error instead of simply returning an error, and don't<br> + bother checking pdfont, since we check for NULL immediately above.<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-14 16:47:59 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=120f8533b705142ef83b899736e41e5739df5fc2">120f8533b705142ef83b899736e41e5739df5fc2</a> +<blockquote> +<p> + Tweak the string that controls the greeting message<br> +<br> + For GPL releases we print a greeting message on execution that states the<br> + software is supplied without warranty.<br> +<br> + So, we should check for it being the GPL release before printing it.<br> +<br> +Resource/Init/gs_init.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-15 10:01:39 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad3e0de3e3ca33f00c81c071560bf6c9f4d5a0f0">ad3e0de3e3ca33f00c81c071560bf6c9f4d5a0f0</a> +<blockquote> +<p> + pdfwrite - don't seg fault for Line Printer font and UFST<br> +<br> + Using the PCL Line Printer Font, when built to use UFST, can't be<br> + handled with pdfwrite currently. In fact, using UFST with pdfwrite<br> + results in garbage output anyway.<br> +<br> + However, we should not seg fault. So here we check to see if we have a<br> + PDF Font resource associated with a native font, and if we don't have<br> + one when we need it, we give up and signal an invalidfont error.<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-14 11:50:34 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=836e9a34c17b8bc2fdb4376f572982dfe1412ae0">836e9a34c17b8bc2fdb4376f572982dfe1412ae0</a> +<blockquote> +<p> + Make frac31s hold values in the defined range in all cases.<br> +<br> + frac31s are supposed to hold values where 0x7ff..... represents 1.<br> +<br> + The code, however, currently converts to and from devn values using<br> + 0x00007ff8 as 1.<br> +<br> + Either we need to update the docs, or we need to fix the code to be<br> + consistent. This is an attempt at the latter.<br> +<br> +base/gdevdsha.c<br> +base/gscicach.c<br> +base/gxcvalue.h<br> +base/gxfrac.h<br> +base/gxshade6.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-14 15:37:43 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b969fb501f59d807d54fcfc186b7b97b55cebe0f">b969fb501f59d807d54fcfc186b7b97b55cebe0f</a> +<blockquote> +<p> + XPS interpreter - fix some Coverity warnings<br> +<br> + Check a few values read from TT tables to satisfy Coverity 'tainted<br> + scalar' errors.<br> +<br> + May need some additional changes, but I can't see any way to validate<br> + the unsigned 32 bit values.<br> +<br> +xps/xpsfont.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-14 12:48:10 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7273aa3cd04e0acb212e335ab6b3f360cbd727c9">7273aa3cd04e0acb212e335ab6b3f360cbd727c9</a> +<blockquote> +<p> + Fix SAFER issue with filenameforall<br> +<br> + With the change to ensure we only apply SAFER permissions to real file system<br> + operations (so only on '%os%' and not on other PS '%<device>%' devices), the<br> + way filenameforall called the permission checking function meant it did not<br> + work correctly.<br> +<br> + Basically, check_file_permissions() and co must have a valid iodev parameter<br> + passed to them to function correctly.<br> +<br> + So, fix that call.<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-14 10:22:46 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b3acfdeaf1eb63a07e8169ea4c30ace7522054bc">b3acfdeaf1eb63a07e8169ea4c30ace7522054bc</a> +<blockquote> +<p> + Yet more SAFER problems with .libfile<br> +<br> + With the change to ensure we only apply SAFER permissions to real file system<br> + operations (so only on '%os%' and not on other PS '%<device>%' devices), the<br> + .libfile call was dropping through without being restricted.<br> +<br> + This changes the .libfile code to call the permissions checking function<br> + properly.<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-14 09:37:55 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3d14e0b20dfdc05cda60f7a9a4c78e9d3ee206e2">3d14e0b20dfdc05cda60f7a9a4c78e9d3ee206e2</a> +<blockquote> +<p> + Split out $(MAKE) from recursive make calls<br> +<br> + Commit 8acec58309 consolidate the common parts of the various recursive make<br> + calls. Turns out, this breaks parallel make, as it defeats the make<br> + algorithm which spots a make command line. As a result, none of those recursive<br> + make calls would do parallel builds.<br> +<br> + So, this time, we keep the options consolidated into a make variable, but put<br> + back the $(MAKE) call explicitly for each recursive call<br> +<br> +base/unix-end.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-13 16:02:54 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e36d3979ebcaa1ce28f7c58e7e1c7a5959816eb8">e36d3979ebcaa1ce28f7c58e7e1c7a5959816eb8</a> +<blockquote> +<p> + Fix Windows UFST build.<br> +<br> +psi/msvc.mak<br> +windows/ghostscript-ufst.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-09 20:32:56 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c7d5567fbc5f98488761ab93eaed60f1ac26023e">c7d5567fbc5f98488761ab93eaed60f1ac26023e</a> +<blockquote> +<p> + Bug 697484: fix mkromfs memory leak<br> +<br> + In commit aa28186288 we missed the need to free some of the memory used during<br> + the file name sorting phase.<br> +<br> +base/mkromfs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-09 15:54:42 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e476d710841d8be4d4e56c2b9e468e914f977161">e476d710841d8be4d4e56c2b9e468e914f977161</a> +<blockquote> +<p> + ramfs: fix modes other than (r) and (w)<br> +<br> + The (a), (r+) and (w+) modes were not working correctly. The "core" code of the<br> + ramfs was correct, but the "glue" code between the Ghostscript stream API<br> + and the ramfs core was not setting flags to support those.<br> +<br> + Conversely, the ramfs "glue" code was not setting the permissions flags<br> + correctly in the stream objects it created, when using the "+" modes.<br> +<br> + Also, (w) and (w+) were not truncating the file on opening.<br> +<br> + Finally, tweak the definition of the various read/write/etc flags for the<br> + ramfs code so the values match those used in the stream API (this makes fixing<br> + the flags in the stream objects much simpler).<br> +<br> +base/gsioram.c<br> +base/lib.mak<br> +base/ramfs.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-07 15:44:52 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=42fd2f459098bfda17ca8d29195ada57154cfe06">42fd2f459098bfda17ca8d29195ada57154cfe06</a> +<blockquote> +<p> + Change how we check for artibrary file accesses<br> +<br> + When we apply the SAFER restrictions, we have to *not* apply the rules<br> + for Postscript devices (such as %rom%, %calendar% etc), we only want to apply<br> + the restrictions to the "real" file system (%os%).<br> +<br> + Previously the code was checking if the iodev's "open_file" method was set to<br> + the one for the %os% device, but that is actually not set (it is intentionally<br> + NULL), so here we check the i/o device instance to ensure it is not the<br> + i/o device instance for %os%<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-01 12:46:57 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dd3c9ba2839ada5162aaccfeb442a958bfea637c">dd3c9ba2839ada5162aaccfeb442a958bfea637c</a> +<blockquote> +<p> + Build exes from static lib builds.<br> +<br> + Add targets to build executables linked to the static library builds, meaning we<br> + can actually test the static libs we create.<br> +<br> +base/unix-end.mak<br> +base/unixlink.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-12 20:55:11 +0100 +</strong> +<br>Stefan Brüns <stefan.bruens@rwth-aachen.de><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aa2818628843205283c563865cd56b4091f2e37f">aa2818628843205283c563865cd56b4091f2e37f</a> +<blockquote> +<p> + Bug 697484: mkromfs: sort gp_enumerate_files output....<br> +<br> + for deterministic ROM contents<br> +<br> + gp_enumerate_files_next returns dir entries in the same order as returned<br> + by readdir. Sort by name to generate deterministic output.<br> +<br> +base/mkromfs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-12 18:04:57 +0100 +</strong> +<br>Stefan Brüns <stefan.bruens@rwth-aachen.de><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=98696f718b5c0f9a5fd9c33d61f81da469b9a4e1">98696f718b5c0f9a5fd9c33d61f81da469b9a4e1</a> +<blockquote> +<p> + Bug 697484: mkromfs: make build reproducible.....<br> +<br> + use buildtime from SOURCE_DATE_EPOCH<br> +<br> + The environment variable SOURCE_DATE_EPOCH is the common approach for<br> + getting reproducible timestamps and thus builds. In case the variable<br> + is not set, keep using the current time of the mkromfs run.<br> +<br> + Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de><br> +<br> +base/mkromfs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-07 22:15:58 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4c7b41dff7d57be0e13de15c45b0296602e63472">4c7b41dff7d57be0e13de15c45b0296602e63472</a> +<blockquote> +<p> + Bug 697531 : Fix decoder error on JBIG2 compressed image.<br> +<br> + The problem is in jbig2_word_stream_buf_get_next_word<br> + returning -1 and sending a fail error causing the whole<br> + file to fail.<br> +<br> + Now when the buffer is exhausted, the returned value is set<br> + to zero so that the decoder does not try to use an<br> + unintialised value.<br> +<br> + This now means the error return is pointless and another<br> + commit will follow this one to tidy up the unused code.<br> +<br> +jbig2dec/jbig2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-08 10:46:58 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7ca4d2cc269effd69273112ec7ad9d40076abbc1">7ca4d2cc269effd69273112ec7ad9d40076abbc1</a> +<blockquote> +<p> + Increase PDF 1.4 transparency ESTIMATED_ROW_SPACE<br> +<br> + Testing showed that the ESTIMATED_PDF14_ROW_SPACE was too optimistic, so<br> + increase NUM_PDF14_BUFFERS to 4 and use the target num_components (primarily<br> + for spot color devices such as tiffsep) to try and make this more robust.<br> + Still a guess, but works better as tested with multi-threaded rendering.<br> +<br> + Note, the band height chosen based on the BufferSpace will be different<br> + when the page has transparency, so there are differences. I have reviewed<br> + them and they are all 1 pixel differences or invisible color differences.<br> +<br> +base/gstrans.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-08 14:49:35 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9284128b1a16c21a95570f4c79258590839a10c7">9284128b1a16c21a95570f4c79258590839a10c7</a> +<blockquote> +<p> + Further fixes to ramfs.<br> +<br> + All allocations are made using fs->memory, so all frees should be<br> + done with it too. This wasn't caught by memory squeezing (or other<br> + tests), because we don't actually use the ramdisc.<br> +<br> +base/ramfs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-07 20:28:28 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cffb5712bc10c2c2f46adf311fc74aaae74cb784">cffb5712bc10c2c2f46adf311fc74aaae74cb784</a> +<blockquote> +<p> + Commit a9a58bb95 was incorrect, clearing some values that it shouldn't<br> +<br> + The penum->rect values were cleared, and this didn't cover all uses of<br> + gx_image_enum_alloc. Also, return *ppenum NULL if alloc fails in case the<br> + caller doesn't check the return code. Also, if we fail the enum_begin,<br> + free the enum and set *pinfo to NULL.<br> +<br> +base/gximage1.c<br> +base/gximage4.c<br> +base/gxipixel.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-07 19:32:08 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a1b951c274a1d48340cfbaddb1308c92836dbc61">a1b951c274a1d48340cfbaddb1308c92836dbc61</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix for 'red 242'. This is a SEGV seen at allocation event<br> + 242 when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> +base/ramfs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-07 19:52:51 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6084cc0a0cb1cd6e0d5b9be044622c74a16a0573">6084cc0a0cb1cd6e0d5b9be044622c74a16a0573</a> +<blockquote> +<p> + XPS interpreter - add a reverse GID lookup for the benefit of pdfwrite<br> +<br> + Bug #697304 "Encoding gets lost when generating PDF"<br> +<br> + Prior to this commit the XPS interpreter, like the PCL interpreter, did<br> + not really return a character code when asked for an equivalent for a<br> + GID. Instead it returned the 'last' character code.<br> +<br> + For strings with multiple characters processed at once, this meant that<br> + all the characters in the string were assigned the same 'code' as the<br> + last character in the string. Also there was no reason to assume that<br> + code was even a Unicode value.<br> +<br> + This commit adds code to reverse the TrueType CMAP subtable lookup;<br> + given a GID it will return a character code. We then use the resulting<br> + character code in pdfwrite (which is the only device to use this method)<br> + to build a ToUnicode CMap in the output PDF file.<br> +<br> + There are a number of caveats with this commit;<br> +<br> + I've only been able to create XPS files with fonts containing format 4<br> + CMAP subtables. While I've coded the others (but not 2 or 8 because the<br> + normal character code -> GID mapping doesn't support them either) I<br> + have no way to actually test whether they work<br> +<br> + I'm not certain whether its possible to get an XPS file containing a<br> + font which does not have a 3,1 CMAP. Again I've not been able to create<br> + such a file, if we ever encounter one this code will likely not work<br> + properly.<br> +<br> +<br> + I have tested Latin and Far Eastern scripts, and files which use more<br> + than 256 glyphs from a single font. All of these appear to work as<br> + expected. When more than 256 glyphs are used from the same font, we<br> + create a PDF file with multiple simple subsets of the font, each with<br> + less than 256 glyphs. Each subset has its own ToUnicode CMap and so<br> + cut&paste works as expected.<br> +<br> + No differences expected, we cannot cluster test this code.<br> +<br> +xps/ghostxps.h<br> +xps/xpsfont.c<br> +xps/xpsttf.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-07 09:42:43 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9a58bb95e4a41014f42cae9393767b26da3aa80">a9a58bb95e4a41014f42cae9393767b26da3aa80</a> +<blockquote> +<p> + Fix dangling pointer in gx_image_enum after malloc fail.<br> +<br> + Yet another, probably a squeezing failure since it failed with:<br> + -K30000 -dMaxBitmap=0 -r300 -sDEVICE=pkmraw -o nul: tests/pdf/cmyk_blend.pdf<br> +<br> +base/gximage1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-06 19:20:40 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a65893f973c65d2ba22f8b2a2c6cf0822fc8c1da">a65893f973c65d2ba22f8b2a2c6cf0822fc8c1da</a> +<blockquote> +<p> + Bug 697555: Fix UTF-8 handling of args.<br> +<br> + The logic for checking for continuation bytes in UTF-8 was<br> + broken. Continuation bytes have the top bit set, but not the top 2<br> + bits set.<br> +<br> + This leaves the issue of @files on windows always being taken<br> + as UTF-8.<br> +<br> +base/gsargs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-01 16:31:03 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c1834eb0cf024cf51231a19b975d97f33c559e0c">c1834eb0cf024cf51231a19b975d97f33c559e0c</a> +<blockquote> +<p> + Fix Luratech Linux build use if "inline"<br> +<br> + Compilers don't seem to like "inline" being used without "static", so tweak the<br> + build flags for Luratech so that doesn't happen.<br> +<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-06 12:31:12 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aaf0b87aa5e0c41a32a290c836a5b3811433c561">aaf0b87aa5e0c41a32a290c836a5b3811433c561</a> +<blockquote> +<p> + Fix memory leak in psi/imain.c<br> +<br> + Remove unused "paths" allocation.<br> +<br> +psi/imain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-06 09:49:45 +0000 +</strong> +<br>Shailesh Mistry <shailesh.mistry@hotmail.co.uk><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e4439a505ed3ac582d7f65260678bc9dca03ce54">e4439a505ed3ac582d7f65260678bc9dca03ce54</a> +<blockquote> +<p> + Bug 697545: Memory Squeezing fix.<br> +<br> + Fix for 'red 62'. This is a SEGV seen at allocation event<br> + 62 when memory squeezing:<br> +<br> + gs -sDEVICE=bit -o /dev/null: examples/tiger.eps<br> +<br> + Also, improve the macro for FREE in base/gxclmem.c<br> +<br> +base/gsmemory.h<br> +base/gxclmem.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-27 16:38:26 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2bf2b4cebe44b74229e086380c3c25110f37aed0">2bf2b4cebe44b74229e086380c3c25110f37aed0</a> +<blockquote> +<p> + pdfwrite - where possible, preserve annotations<br> +<br> + This allows us to preserve many (but not all) annotation from an<br> + input PDF file as annotations in the output PDF file. This only<br> + works with the pdfwrite device, the ps2write device does not<br> + write pdfmarks to the output.<br> +<br> + Certain kinds of annotations (eg Link annotations) cannot be<br> + preserved, because they require a page (or other object) destination<br> + which we can't easily know at the time we create the pdfmark.<br> +<br> + Widget annotations are not preserved as these only have relvance<br> + in AcroForms, and since we don't preserve AcroForms, its much<br> + better to render the Widgets, otherwise their appearance will<br> + be lost along with the AcroForm data.<br> +<br> + It is possible that this behaviour may not be desirable, and<br> + that there could be bugs in this code, so a new switch<br> + '-dPreserveAnnots' is defined for use with the pdfwrite device<br> + only. If set to false the old behaviour returns, and annotations<br> + will be rendered instead of preserved.<br> +<br> + There are a few differences with this code; a few progressions,<br> + a few 'differences' and one file where the Stamp annotation no<br> + longer renders. THis is because the Form for the Apperance is<br> + invliad (leaves junk on the stack) and attempts to work around<br> + this ran into al kinds of trouble. In the end I ran out of time<br> + and chose to accept the error, the form is incorrect after all.<br> +<br> +Resource/Init/pdf_draw.ps<br> +Resource/Init/pdf_main.ps<br> +base/gdevp14.c<br> +base/gsform1.h<br> +base/gxdevsop.h<br> +devices/vector/gdevpdfb.h<br> +devices/vector/gdevpdfi.c<br> +devices/vector/gdevpdfu.c<br> +devices/vector/gdevpdfx.h<br> +doc/VectorDevices.htm<br> +psi/zform.c<br> +psi/zpdfops.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-04 08:36:05 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=678e660cd4efcbf155675539c13a584cdffb5258">678e660cd4efcbf155675539c13a584cdffb5258</a> +<blockquote> +<p> + Fix memento builds.<br> +<br> +base/gsrefct.h<br> +base/lib.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-03 12:29:20 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59d509244ddb6fe9719a6205bf5657268efcb6d6">59d509244ddb6fe9719a6205bf5657268efcb6d6</a> +<blockquote> +<p> + Add missing \n to error message.<br> +<br> +psi/interp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-03 02:53:02 -0800 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1392f5d2e7fe73bce8ff56cef62e4205f8a53bfd">1392f5d2e7fe73bce8ff56cef62e4205f8a53bfd</a> +<blockquote> +<p> + Memory squeezing fixes (PCL)<br> +<br> + Harden PCL (and gslibctx etc) against memory failures<br> + during initialisation.<br> +<br> +base/gsicc_manage.c<br> +base/gslibctx.c<br> +base/gslibctx.h<br> +base/gsmalloc.c<br> +pcl/pl/plalloc.c<br> +pcl/pl/plmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-03 02:48:52 -0800 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=92ecd60a5218eb5bd1ba5e497e5fd2550112b5ed">92ecd60a5218eb5bd1ba5e497e5fd2550112b5ed</a> +<blockquote> +<p> + Destructors should cope with being called with NULL.<br> +<br> + Tweak pl level so that neat error closedown is easier.<br> +<br> +pcl/pl/pltop.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-02 20:12:33 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dd6fdc6dd668776d7b9570dd07e1e1790fcba8fb">dd6fdc6dd668776d7b9570dd07e1e1790fcba8fb</a> +<blockquote> +<p> + Fix Memento builds.<br> +<br> + Some headers were sometimes being used with memento.h having<br> + been included, and sometimes not. This lead to differing<br> + redefinitions of 'free'.<br> +<br> +base/gsfunc.h<br> +base/lib.mak<br> +base/ttfoutl.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-27 16:32:07 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9060c91ef75d7d36cfc1fd975e3368415df69b3a">9060c91ef75d7d36cfc1fd975e3368415df69b3a</a> +<blockquote> +<p> + New scan converter fix.<br> +<br> + Don't convert ex and ey from endpoints to distance until *after*<br> + we have finished using it as an endpoint.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-02 04:07:47 -0800 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d8af3708a4907e98b5db54860d379702355dc077">d8af3708a4907e98b5db54860d379702355dc077</a> +<blockquote> +<p> + Tweak gs to enable fast Memento memory squeezing.<br> +<br> + Memento can memory squeeze in 2 modes; firstly it can repeatedly<br> + run the same job again and again failing at subsequent points.<br> +<br> + This has the advantage of being simple, but it has the problem<br> + of being slow, in that processing is repeated again and again.<br> +<br> + A faster mode is available where we run to the point of failure,<br> + then fork. The child proceeds to fail, and once failed, the<br> + parent then continues for 1 more allocation then repeats the<br> + process. Thus the only repeated work is in the failure cases.<br> +<br> + The downside to this is that fork copes very badly with<br> + multi-threaded programs. Firstly, it only duplicates the current<br> + thread - this means that we can only use it with single<br> + threaded programs. Secondly, even with single threaded programs<br> + the forked child goes wrong if you try to use mutexes etc.<br> +<br> + This means that in order to use GS with the fast memento memory<br> + squeezer, we need to ensure we don't create mutexes etc. We<br> + do this by adding a MEMENTO_SQUEEZE_BUILD define to gs.<br> +<br> +base/gp_psync.c<br> +base/gsicc_cache.c<br> +base/gsicc_lcms2.c<br> +base/gsicc_manage.c<br> +base/gsmalloc.c<br> +base/sjpx_openjpeg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-02 03:34:22 -0800 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8cca94c736bb4babc676bd2ce49176d93058b8b3">8cca94c736bb4babc676bd2ce49176d93058b8b3</a> +<blockquote> +<p> + Memento memory squeezing tweaks.<br> +<br> + Add Memento_bt() - a function to output the backtrace<br> + to stderr.<br> +<br> + Call this when we fork for a memory squeeze.<br> +<br> + Forking only clones the active thread, so we can only use<br> + the forking memory squeezer on single threaded tasks. Even<br> + with single threaded tasks, you can't unlock mutexes in<br> + the child that were taken in the parent. This means that<br> + we need to disable mutexes in the main application if we<br> + want to memory squeeze safely.<br> +<br> + Also tweak the time we spend sleeping while waiting for a child<br> + to die. This makes a huge difference to the runtime.<br> +<br> + If we die during squeezing due to a SEGV, then don't bother<br> + listing the blocks that we leaked.<br> +<br> +base/memento.c<br> +base/memento.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-01 19:46:29 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de2314431f400a439cb2bcebb1152fc206b8804d">de2314431f400a439cb2bcebb1152fc206b8804d</a> +<blockquote> +<p> + Fix ignored return code for ICC profile device parameters.<br> +<br> + All of the uses of gx_default_put_icc_colorants and gx_default_put_icc<br> + ignored the return code which might be VMerror. Found when testing with<br> + multi-threaded rendering and low memory conditions.<br> +<br> +base/gsdparam.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-02-01 08:40:01 -0800 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cead170cb9e8dc25e59e3c8d7d8616d8b2f7119a">cead170cb9e8dc25e59e3c8d7d8616d8b2f7119a</a> +<blockquote> +<p> + Memento: Improve memory squeezing.<br> +<br> + It seems that Memory squeezing can sometimes run into<br> + problems with the child hanging after a fork. This seems<br> + to be related to the child process SEGVing and the<br> + signal handler not picking it up.<br> +<br> + I've introduced a workaround so that the parent now only<br> + waits a maximum of 30 seconds before killing the child and<br> + continuing.<br> +<br> +base/memento.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-25 21:42:53 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3a9d6ebe560689930eaf3aca00652b22cef26423">3a9d6ebe560689930eaf3aca00652b22cef26423</a> +<blockquote> +<p> + Bug 626295 Text Knockout Transparency<br> +<br> + When we have transparency, text knockout set,<br> + with either a non-normal blend mode or an<br> + opacity less than 1.0, we need to push a<br> + non-isolated knockout group. Graphic state<br> + changes can occur between the BT and ET commands.<br> + As such, we will need to handling the push<br> + operation in pdf14_text_begin (and the clist version)<br> + when the conditions are right. This is a special<br> + group that indicates its uniqueness with a text_group<br> + flag. This flag is included through the clist, the<br> + group as well as the device. Once set, subsequent<br> + calls to pdf14_text_begin will not push another group.<br> + The group is popped with ET is encountered through the<br> + zendtransparencytextgroup command from the interpreter.<br> + If the pdf14 device is not currently in a text group,<br> + this group pop is ignored (and not even placed in<br> + the clist). The pdfwrite compositor logic, ignores<br> + and group pushes that occur with the text_group set<br> + as well as all PDF14_END_TRANS_TEXT_GROUP types.<br> + Due to confusion of with the annotation text writing<br> + methods, I had to add a PDF14_BEGIN_TRANS_TEXT_GROUP<br> + to denote when we encounter a BT in the source file<br> + to ensure that we are only going to push groups if<br> + our conditions are right and we are in a BT/ET pair and<br> + not drawing a text annotation.<br> +<br> + One optimization we may want to look at doing later, is<br> + determining the bbox for the area between BT and ET.<br> + Currently the group push is the same size as the parent<br> + group which is likely much to large.<br> +<br> +Resource/Init/pdf_ops.ps<br> +base/gdevp14.c<br> +base/gdevp14.h<br> +base/gstparam.h<br> +base/gstrans.c<br> +base/gstrans.h<br> +devices/vector/gdevpdft.c<br> +psi/ztrans.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-31 19:05:05 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=04c75cebae5912610526c997604f8d15fb933682">04c75cebae5912610526c997604f8d15fb933682</a> +<blockquote> +<p> + Fix a typo/thinko in the static lib build changes.<br> +<br> + I'd mistakenly used $(TOP_OBJ) instead of $(XPS_TOP_OBJS) for the XPS<br> + static library.<br> +<br> +base/unixlink.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-31 15:04:55 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba07b2df0ea519b1a6e9fcdfe6f7a25be92264fa">ba07b2df0ea519b1a6e9fcdfe6f7a25be92264fa</a> +<blockquote> +<p> + Fix Windows build<br> +<br> + In adding/tidying the Unix-like static library targets, I forgot to tweak the<br> + VS nmake Makefiles to cope with the revisions. Done here.<br> +<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-31 10:05:11 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8acec5830978b1199b3cda4eae3064deb4d91818">8acec5830978b1199b3cda4eae3064deb4d91818</a> +<blockquote> +<p> + Consolidate recurive make calls<br> +<br> + We have various classes of target (e.g. debug, profile etc) that rely on<br> + recursively calling make with specific sets of options per class.<br> +<br> + Put the make call and the options into a macro for each class<br> +<br> +base/unix-end.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-31 09:12:34 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d9e40fcbf0a213e6717e1ab3bd234f5b20ca1270">d9e40fcbf0a213e6717e1ab3bd234f5b20ca1270</a> +<blockquote> +<p> + Add debug static lib targets.<br> +<br> + For neatness, I've moved the "visible" targets to unix-end.mak with the other<br> + Unix-like targets.<br> +<br> + And then added the recursive make calls to build debug versions.<br> +<br> +base/unix-end.mak<br> +base/unixlink.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-31 08:57:30 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7718fe48373ff62f140d33080af9f49fc21b9f39">7718fe48373ff62f140d33080af9f49fc21b9f39</a> +<blockquote> +<p> + Tidy/Add static lib target(s).<br> +<br> + Tidy up the libgs target for the gs static library on Unix-like systems (since<br> + we're now using it).<br> +<br> + Rejig the PCL, XPS and PDL executable builds to a) more closely match the gs<br> + one, and b) facilitate static library targets for those, too.<br> +<br> + Add the static library targets for the PCL/XPS/PDL builds (libgpcl6, libgxps<br> + and libgpdl respectively).<br> +<br> +base/gs.mak<br> +base/unixlink.mak<br> +gpdl/gpdl.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-30 15:05:36 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=94278ad478278567dbdfcb87137676ff73e86c22">94278ad478278567dbdfcb87137676ff73e86c22</a> +<blockquote> +<p> + XPS Transparency check remote resource dictionary<br> +<br> + The XPS interpreter checks for the presence of transparency<br> + on the page. It was not checking remote resource dictionaries<br> + but rather was assuming that they always had transparency<br> + which resulted in an unneeded push of the pdf14 device when<br> + going to a raster output device.<br> +<br> +xps/xpsanalyze.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-30 14:08:52 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=587d0a7edfd3519bd28981eb2703cfaaf11c747c">587d0a7edfd3519bd28981eb2703cfaaf11c747c</a> +<blockquote> +<p> + Fix coverity issues 140991 and 140990<br> +<br> + Introduced from http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=91741e126688807cd086dad55158cd0cad63725a<br> +<br> +xps/xpszip.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-27 12:17:00 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8cde4bc582904132bd8bb78e6c5da5ab2ebdb6ce">8cde4bc582904132bd8bb78e6c5da5ab2ebdb6ce</a> +<blockquote> +<p> + XPS Transparency check<br> +<br> + The XPS interpreter code was not setting the device param to<br> + indicate if a page had transparency. As such, the fact that<br> + a page had transparency was not getting used in the decision<br> + to invoke or not invoke the command list.<br> +<br> +xps/ghostxps.h<br> +xps/xpspage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-30 07:25:59 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=827ab0227853b9ee5491ceb76b178757aa2ab733">827ab0227853b9ee5491ceb76b178757aa2ab733</a> +<blockquote> +<p> + Fix a potential de-reference of a NULL pointer with -Zv<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-27 13:24:32 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=91741e126688807cd086dad55158cd0cad63725a">91741e126688807cd086dad55158cd0cad63725a</a> +<blockquote> +<p> + xps: low memory null dereference<br> +<br> + If the allocation in xps_new_part fails, it returns<br> + a null object which is then getting dereferenced.<br> +<br> +xps/xpszip.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-26 11:35:38 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c27947491f9b4bc87b09bff0648e1816ebd2af19">c27947491f9b4bc87b09bff0648e1816ebd2af19</a> +<blockquote> +<p> + Segfault in low memory configurations<br> +<br> + Testing with -K values for bug 697504, I was able to reproduce some<br> + segfaults, but don't know if they relate to the one mentioned here and<br> + on bug 691170 (which was closed as fixed), but these need to get fixed<br> + in any case.<br> +<br> + These occured because the init2 had not completed, but the interp was<br> + being called to do more stuff than it could reasonably hope to do in<br> + this case. Testing with -K values from 15000 down to 100 by 100 now<br> + no longer segfaults.<br> +<br> +psi/imain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-26 18:09:06 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0734126eafa7c9212341886626d15d90ccce400f">0734126eafa7c9212341886626d15d90ccce400f</a> +<blockquote> +<p> + Add XPS_INDIRECTED_FILE_ACCESS define<br> +<br> + If defined, then the xps interpreter looks to use user<br> + supplied xps_{fopen,ftell,fseek,getc,fread,fclose} functions<br> + rather than gp_fopen,ftell,fseek,getc,fread,fclose.<br> +<br> +xps/ghostxps.h<br> +xps/xpsjxr.c<br> +xps/xpszip.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-25 14:41:17 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=68af8c3b1584d0b001c7bd96456caf7547a0229e">68af8c3b1584d0b001c7bd96456caf7547a0229e</a> +<blockquote> +<p> + Bug 697503: Check resource path, and GenericResourceDir...<br> +<br> + ...paths when searching for resources.<br> +<br> + This relates back to bug 694509.<br> +<br> + If GenericResourceDir is set as a relative path, relative to a non-standard<br> + GS_LIB search path, we have to prefix the resource path (Category/Key) with<br> + the GenericResourceDir for the search path machinery to find the resource<br> + file.<br> +<br> + *However*, if the GenericResourceDir is set in the normal way (automagically<br> + by the initialization), then just using the plan resource path is required.<br> +<br> + So, try both the plain 'Category/Key' path, and the<br> + 'GenericResourceDir/Category/Key' path.<br> +<br> +Resource/Init/gs_res.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-25 16:00:40 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d07b45685976bd38e5cec8062b3a61d2ada5575">4d07b45685976bd38e5cec8062b3a61d2ada5575</a> +<blockquote> +<p> + Hide more JPEG entries.<br> +<br> +base/gsjconf.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-24 18:07:11 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aeb0bfb6c99e1e1683a21f684c18c1363ccc16cb">aeb0bfb6c99e1e1683a21f684c18c1363ccc16cb</a> +<blockquote> +<p> + Add more jpeg symbols to be hidden.<br> +<br> + It seems these clash with the devboards software too.<br> +<br> +base/gsjconf.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-20 17:02:39 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c7d005ac1c92a6fee43554fffd9a6f38c0a6b962">c7d005ac1c92a6fee43554fffd9a6f38c0a6b962</a> +<blockquote> +<p> + Add GS_NO_FILESYSTEM define for systems with no FS.<br> +<br> + Some systems (such as ThreadX), have std headers that<br> + define FILE, but do not actually have a real filing<br> + system implementation. As such, they don't support<br> + filing system enumeration.<br> +<br> + We therefore introduce a GS_NO_FILESYSTEM define that<br> + stubs out the code in these entrypoints.<br> +<br> + At some point we may split the contents out to a different<br> + platform, but this will probably require some careful<br> + thinking about other functions in these files to avoid<br> + duplication of code.<br> +<br> +base/gdevpipe.c<br> +base/gp_unifs.c<br> +base/gp_unix.c<br> +pcl/pl/pjparse.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-19 18:49:01 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9568153b12b80d477f3031b88631910082a55bc8">9568153b12b80d477f3031b88631910082a55bc8</a> +<blockquote> +<p> + Add option to hide jpeg entrypoints.<br> +<br> + If we define GS_HIDE_INTERNAL_JPEG on build, then a series of macros<br> + is used to rename internal JPEG entrypoints. This can prevent<br> + symbol clashes when linking with other libraries.<br> +<br> + There may well be more symbols to add here in future, but this<br> + seems to be enough to solve it for me now.<br> +<br> +base/gsjconf.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-24 12:41:12 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aafd60bddbb3d5cfc0d9fb726d0cf81c51805c4c">aafd60bddbb3d5cfc0d9fb726d0cf81c51805c4c</a> +<blockquote> +<p> + Remove opj_clock.c from build.<br> +<br> + Only defines one function, that isn't used, and doesn't compile<br> + on all platforms.<br> +<br> +base/openjpeg.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-24 12:41:05 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ea534adfd0a3deed4f2a70d47fc9d78c1911d928">ea534adfd0a3deed4f2a70d47fc9d78c1911d928</a> +<blockquote> +<p> + Fix icc34.h header to compile on ThreadX.<br> +<br> + Honour HAVE_STDINT_H predefine.<br> +<br> + Also, tweak the #ifdeffery to be more readable (IMHO).<br> + Less nesting and rightward creep, and a more straightforward<br> +<br> +base/icc34.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-21 15:01:14 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eead75f44a03517ad50702f3c65d8c5784b4bfbb">eead75f44a03517ad50702f3c65d8c5784b4bfbb</a> +<blockquote> +<p> + Fizes for the ramfs (%ram% device) (Bug 226943)<br> +<br> + There were problems with the GC not tracing the s->file pointer from the<br> + stream (assumed to be an OS item) so change to using non_gc_memory. Also<br> + problems with writing buffers more that a single block (not advancing<br> + in the source buffer).<br> +<br> + The bytesavailable operator didn't work because there was a bogus file_limit<br> + in the stream, and s_ram_available was wrong.<br> +<br> + Change the "this" to "thisdirent" so that C++ debuggers (like VS) can<br> + show the structure contents correctly.<br> +<br> + The bug shows an example that can be used to run a PDF file from stdin<br> + without needing to write a file to disk.<br> +<br> +base/gsioram.c<br> +base/ramfs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-23 12:33:22 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=024e9bd9a07ff906e91f78594c9d547f5228b3c6">024e9bd9a07ff906e91f78594c9d547f5228b3c6</a> +<blockquote> +<p> + Force some typedef enums to be 32 bits.<br> +<br> + Modern C's are allowed to shrink typedef enums so that they are<br> + only as large as required to cover all the values in the<br> + enumeration. This can mean that typedef enums can now be byte<br> + sized.<br> +<br> + This works very badly when we have an array of them, take the<br> + address and cast it to an int *. That int * is no longer<br> + appropriately aligned for some compilers. This happens in the<br> + get_param code.<br> +<br> + We therefore add a trailing 'large' enum value to force the<br> + enums to be large. This will break down if we ever have a platform<br> + where ints are larger than 32bits.<br> +<br> +base/gscms.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-23 11:48:11 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=24cb576dd60e903466b2d78cc718b3dd4da19529">24cb576dd60e903466b2d78cc718b3dd4da19529</a> +<blockquote> +<p> + MSVC: Add %ram% FS to VS project.<br> +<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-16 18:33:25 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e6753115b8a4c72c5e526f2a0a3849391a255962">e6753115b8a4c72c5e526f2a0a3849391a255962</a> +<blockquote> +<p> + Use consistent types in API and C implementation.<br> +<br> +base/gssprintf.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-19 11:44:18 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=79d6e96a8db2956c8317fd8bdeb8d8db5fd0e212">79d6e96a8db2956c8317fd8bdeb8d8db5fd0e212</a> +<blockquote> +<p> + Bug 697489 xps transparency issue<br> +<br> + The xps interpreter was pushing transparency groups without<br> + pushing the pdf14 device. The problem was that the interpreter<br> + was not checking the glyphs in the resource dictionaries.<br> +<br> + I also optimized the code to stop checking for transparency<br> + once it finds transparency.<br> +<br> +xps/xpsanalyze.c<br> +xps/xpspage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-18 14:49:40 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9bd0b6d95b16d594983682ae387922507e70b98">a9bd0b6d95b16d594983682ae387922507e70b98</a> +<blockquote> +<p> + Bug 697489 bitrgbtags segv<br> +<br> + The clist compositor call was not returning the existing<br> + compositing device in certain cases causing an issue<br> + later in the code.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-18 13:24:20 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=56879003723e608173cdc063a8f2da4172f29a95">56879003723e608173cdc063a8f2da4172f29a95</a> +<blockquote> +<p> + Bug 697488 segv in pattern code<br> +<br> + The transparency code was not updating the bit depth<br> + properly when we had a color space change in the presence<br> + of spot colors<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-18 09:43:24 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b12adcc4c201e94e1f726c8fa6ad7eea8a5f4ca7">b12adcc4c201e94e1f726c8fa6ad7eea8a5f4ca7</a> +<blockquote> +<p> + Bug 697435 bitrgbtags device<br> +<br> + The bit depth in the device was not getting set correctly<br> + during a color space change in the transparency code when<br> + the target device includes tags.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-18 14:18:29 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b5abd7391d4d065e6b4d05c119d2dd243bda2f4d">b5abd7391d4d065e6b4d05c119d2dd243bda2f4d</a> +<blockquote> +<p> + Bug 697482: handle cff with broken /Private data<br> +<br> + The problem in this case is that the offset into the cff data for the /Private<br> + dictionary definition is well beyond the end of the cff stream.<br> +<br> + Bounds check the offset, and if it's nonsense, treat it as a zero length<br> + /Private dictionary (in the hope that the font doesn't actually need it.<br> +<br> + NOTE: /Private *is* a required entry, so *using* the font may throw an error.<br> +<br> +psi/zfont2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-18 14:29:18 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=90d3fb2e75aea47501dceb298ccd4f4229d4a6f3">90d3fb2e75aea47501dceb298ccd4f4229d4a6f3</a> +<blockquote> +<p> + Fix error check/return logic in the CFF parser<br> +<br> +psi/zfont2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-17 10:48:07 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=51c5aa09762602b5dd3982ff3b92e182f1637dd4">51c5aa09762602b5dd3982ff3b92e182f1637dd4</a> +<blockquote> +<p> + Bug 697435 bittags device blending color space<br> +<br> + In the clist case, there was a mixup with the ICC profile<br> + during playback. This fixes that issue. While the small<br> + file in Bug 697433 works with this fix, the large file<br> + (regression3.pdf) still shows 2 issues. When the blending<br> + color space is -sBlendColorProfile=default_cmyk.icc at 300dpi<br> + we see a dropped band (likely some confusion about the<br> + pdf14/clist optimization). When we use no blending color<br> + space we end up with a segv in clist_playback_band<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-13 19:16:56 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0dbfbb773e40d23de5052fc5641387dad5d79bae">0dbfbb773e40d23de5052fc5641387dad5d79bae</a> +<blockquote> +<p> + Code cleanup. Remove unused code in transparency code.<br> +<br> +base/gdevp14.c<br> +base/gscolorbuffer.c<br> +base/gscolorbuffer.h<br> +base/lib.mak<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-13 12:33:05 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8aa6b2ae6b27912339548380b602b8e3e6d17db3">8aa6b2ae6b27912339548380b602b8e3e6d17db3</a> +<blockquote> +<p> + Bug 697435 Tags device with Blending color space<br> +<br> + Allow the use of put_image when we specified a blending color space.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-12 13:25:04 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7d97633daa0679a688a85a8a8805c261bd828a7e">7d97633daa0679a688a85a8a8805c261bd828a7e</a> +<blockquote> +<p> + Add bitrgbtags device to Windows default build.<br> +<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-12 13:16:58 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3434578b240b1e4bc34a0ce108595653e0994a11">3434578b240b1e4bc34a0ce108595653e0994a11</a> +<blockquote> +<p> + Add basic support for CMYK PAM (P7) format files.<br> +<br> + This works for the files generated by Ghostscript and mupdf, so it<br> + is useful enough to add.<br> +<br> +lib/viewpbm.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-11 09:58:34 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0130e9cc9f196b4bd2e107cd71826210a8274c9d">0130e9cc9f196b4bd2e107cd71826210a8274c9d</a> +<blockquote> +<p> + Fix SEGV bug 697473 bitrgbtags device with transparency<br> +<br> + The SEGV was caused by setting tos->n_planes to the wrong value if we<br> + converted colors to a different number of color components. Also fix<br> + clearing of the tags if the backdrop was NULL (leave it set as it was<br> + by pdf14_buf_new to GS_UNKNOWN_TAG).<br> +<br> + Lastly, the pdf14_put_image wasn't setting up the buffer pointers for<br> + all of the planes (alpha and tag), so bit_put_image choked. This<br> + probably would have caused a problem with pngalpha.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-11 10:08:42 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e424a42d269a626db054fb76e481df011ec6f1d6">e424a42d269a626db054fb76e481df011ec6f1d6</a> +<blockquote> +<p> + pdfwrite: set the 'bytes_decoded' value in the text enum<br> +<br> + For CIDFont subsitutions (and spotting single byte space characters), we need<br> + to know how many bytes were read from the input string for the current glyph,<br> + hence we have the 'bytes_decoded' value. For one code path, pdfwrite was<br> + failing to set the value.<br> +<br> +devices/vector/gdevpdtc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-11 09:16:59 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aedc5a96d855086711b8accd48bd014dd57b18fa">aedc5a96d855086711b8accd48bd014dd57b18fa</a> +<blockquote> +<p> + Fix the profile (pg) build.<br> +<br> +base/unix-end.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-11 09:19:07 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=40869fa69cdb74126977e35c2028d4176d350cdb">40869fa69cdb74126977e35c2028d4176d350cdb</a> +<blockquote> +<p> + Improve CIDFont rearranged font handling slightly<br> +<br> + Noticed while investigating a customer problem. We do not handle<br> + rearranged fonts (because they are a hideous hack) but we do have code<br> + to at least process them. Unfortunately there's a typo in the code which<br> + causes it to throw an error if its ever executed.<br> +<br> + Fix the typo here.<br> +<br> + The fact that this has never come up indicates how often this mess is<br> + used; ie never.<br> +<br> +Resource/Init/gs_cmap.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-04 13:13:14 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8360852efab5643d93cc3b040832075e199cd205">8360852efab5643d93cc3b040832075e199cd205</a> +<blockquote> +<p> + Bug 697462: pdfwrite: avoid cached glyph use<br> +<br> + When pdfwrite is accumulating a Type 3 font, and we want to try to capture the<br> + CharProc (rather than falling back to a bitmap), we need to stop the core<br> + font code from using a previously cached glyph bitmap (for example, from an<br> + earlier stringwidth operation), so we're sure the CharProc gets executed.<br> +<br> + If we don't ensure the cache doesn't get used, we end up in an infinite loop,<br> + where pdfwrite repeatedly returns to the core to run the CharProc.<br> +<br> +devices/vector/gdevpdtt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-06 15:37:08 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f4e699c31368a08b0146ef62f5b196315bd700d">3f4e699c31368a08b0146ef62f5b196315bd700d</a> +<blockquote> +<p> + Update color document with new GS logo<br> +<br> +doc/GS9_Color_Management.pdf<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-06 09:59:29 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=434ae2a49e9b6026a3ae1eeceb0f32b78a894ee1">434ae2a49e9b6026a3ae1eeceb0f32b78a894ee1</a> +<blockquote> +<p> + Color code clean up.<br> +<br> +base/gdevp14.c<br> +base/gsicc_cache.c<br> +base/gsicc_manage.c<br> +base/gsicc_manage.h<br> +psi/zicc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-06 09:56:15 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=32765969861bee5773b5f1207dae2500fa1fd506">32765969861bee5773b5f1207dae2500fa1fd506</a> +<blockquote> +<p> + Update color management documentation<br> +<br> +doc/GS9_Color_Management.pdf<br> +doc/GS9_Color_Management.tex<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-05 15:21:22 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2259f4c693d02a43c007cab6cb268fa4e6d6c542">2259f4c693d02a43c007cab6cb268fa4e6d6c542</a> +<blockquote> +<p> + Tidy variable naming in iapi.{c,h}<br> +<br> + Use 'instance' consistently.<br> +<br> +psi/iapi.c<br> +psi/iapi.h<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-03 14:37:26 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f45ea017e9691c2b817884746306d27e06e0199">2f45ea017e9691c2b817884746306d27e06e0199</a> +<blockquote> +<p> + Windows gs: Avoid unininitialised read.<br> +<br> +pcl/pl/plwmainc.c<br> +psi/dpmain.c<br> +psi/dwmain.c<br> +psi/dwmainc.c<br> +psi/dxmain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-03 10:17:13 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8071bb2950068a3c6a1b5a405d16548177503a14">8071bb2950068a3c6a1b5a405d16548177503a14</a> +<blockquote> +<p> + New scan converter: Fix some warnings.<br> +<br> + "ey is set and then never used" in some release builds.<br> +<br> + Rejig the code to avoid this.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-02 18:27:50 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=06e756898579cd21dbff40ad30efff9571a549fe">06e756898579cd21dbff40ad30efff9571a549fe</a> +<blockquote> +<p> + New scan converter: Fix problems in trap fills.<br> +<br> + I was calculating trapezium fills slightly wrong.<br> +<br> + Also, I was filling the 'centre of a pixel' cases edgebuffers<br> + with slightly incorrect values. Now the debugging shows that<br> + we are getting exactly what we want in the example files I<br> + have tried.<br> +<br> + This results in much smoother edges on some shapes.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2017-01-02 18:25:08 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb1f10f6eaed79016dd924b2e5730160e9267fd3">fb1f10f6eaed79016dd924b2e5730160e9267fd3</a> +<blockquote> +<p> + New scan converter: Improved debugging.<br> +<br> + Update the debugging output from the new scan converter to be<br> + more useful.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-29 14:00:21 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=90fd0c7ca3efc1ddff64a86f4104b13b3ac969eb">90fd0c7ca3efc1ddff64a86f4104b13b3ac969eb</a> +<blockquote> +<p> + Bug 697456. Dont create new ctx when pdf14 device reenabled<br> +<br> + This bug had yet another weird case where the user created a<br> + file that pushed the pdf14 device twice. We were in that case,<br> + creating a new ctx and blowing away the original one with out<br> + proper clean up. To avoid, only create a new one when we need it.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-29 12:00:40 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d621292fb2c8157d9899dcd83fd04dd250e30fe4">d621292fb2c8157d9899dcd83fd04dd250e30fe4</a> +<blockquote> +<p> + Bug 697444 Unmatched transparency group pop<br> +<br> + This issue can only occur if there is an unmatched group pop.<br> + If the interpreter is doing that, then the interpreter is<br> + broken. With this bug the user is intentionally doing it.<br> + We now throw and error when it occurs.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-29 15:57:43 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4bef1a1d32e29b68855616020dbff574b9cda08f">4bef1a1d32e29b68855616020dbff574b9cda08f</a> +<blockquote> +<p> + Bug 697453: Avoid divide by 0 in scan conversion code.<br> +<br> + Arithmetic overflow due to extreme values in the scan conversion<br> + code can cause a division by 0.<br> +<br> + Avoid this with a simple extra check.<br> +<br> + dx_old=cf814d81<br> + endp->x_next=b0e859b9<br> + alp->x_next=8069a73a<br> +<br> + leads to dx_den = 0<br> +<br> +base/gxfill.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-29 13:39:50 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0aeb0bbd41cc16e70ab6e4b1d56e0c510bf2a758">0aeb0bbd41cc16e70ab6e4b1d56e0c510bf2a758</a> +<blockquote> +<p> + Bug 697423: Fix overflow in pngalpha.<br> +<br> + The composite creation maths in the copy_alpha method overflowed<br> + due to the alpha range being changed from 0..15 to 0..255 in<br> + commit d9f041d6fe7eda89364df1424f85ace974ed0fec. Changing to<br> + unsigned solves this.<br> +<br> +devices/gdevpng.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-28 18:34:03 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a7f3177cb0ae8f56cfec52ea38a4f6f613c91055">a7f3177cb0ae8f56cfec52ea38a4f6f613c91055</a> +<blockquote> +<p> + New scan converter: Fix problems seen at local minima/maxima.<br> +<br> + Sometimes the fill isn't quite right at the extremes of shapes.<br> +<br> + This is due to a problem when we exactly align with scanlines.<br> +<br> + See the output of tests_private/comparefiles/Bug696174.ps at 300dpi<br> + for some examples. Look at the tie lines for the first notes in the<br> + last line of page 2 - a scanlines worth of pixels are missing from<br> + the top.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-28 14:16:00 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=79572779090e4f777bfd21996f04ff9bddcd3cbc">79572779090e4f777bfd21996f04ff9bddcd3cbc</a> +<blockquote> +<p> + New scan converter: Fix zero height rectangle behaviour.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-27 16:18:40 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=290c044b5156b8111326da25738cbc3c1ad2b182">290c044b5156b8111326da25738cbc3c1ad2b182</a> +<blockquote> +<p> + Add some debug code to new scan converter.<br> +<br> + Output the rectangles/traps filled by the scan converter as<br> + postscript.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-23 19:39:23 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=deb69ac011df1cc58a0da4c08123e2aebf819c7e">deb69ac011df1cc58a0da4c08123e2aebf819c7e</a> +<blockquote> +<p> + New scanconverter; fix various problems<br> +<br> + 1) Fix problems seen when stroke and fills don't line up.<br> +<br> + This turns out to be because fills done with traps and "any<br> + part of a pixel" (APP) were being rounded wrongly. Fixed here.<br> +<br> + 2) Fix some debug statements.<br> +<br> + 3) Fix some centre of pixel trap filling code - the code to<br> + look for the 'end' of traps was failing due to only comparing<br> + the first half of the intercepts on a given line.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-22 17:27:11 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8d722263343e7c17769cc4026a76cc28046a8e1a">8d722263343e7c17769cc4026a76cc28046a8e1a</a> +<blockquote> +<p> + Fix new scan converter.<br> +<br> + When filling by traps with any part of a pixel in the new scan<br> + converter, we were hitting cases where we we missing parts<br> + of lines.<br> +<br> + As seen in the borders of the "CPU" and "CACHE" boxes on:<br> +<br> + gs -dSCANCONVERTERTYPE=2 -o out.png -sDEVICE=png16m -r72<br> + -dFirstPage3 -dLastPage3 tests/pdf/Bug6901014_SMP_Warwick_14.pdf<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-22 17:26:24 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0c625d998fb85d87b6184bd52bfeee954746a2cd">0c625d998fb85d87b6184bd52bfeee954746a2cd</a> +<blockquote> +<p> + Improve debugging in new scan converter.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-22 10:34:31 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=64fcc1460ef1af131c17d3ced0f01ec755243986">64fcc1460ef1af131c17d3ced0f01ec755243986</a> +<blockquote> +<p> + Fix a scan-build warning<br> +<br> + The return value stored in code wasn't being actioned, move it to<br> + code1 instead.<br> +<br> +devices/vector/gdevpdfv.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-21 18:16:28 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5924a809c21ce8564c72b9917e4a5fbd278049ad">5924a809c21ce8564c72b9917e4a5fbd278049ad</a> +<blockquote> +<p> + Fix double pixels writes in new scanconverter.<br> +<br> + When scan converting to scanlines with any part of a pixel<br> + we have to be careful not to double write pixels. The logic<br> + for this was broken. Fix it here.<br> +<br> + Seen with:<br> +<br> + gs -dSCANCONVERTERTYPE=2 -o out.png -sDEVICE=png16m -r72<br> + tests_private/comparefiles/Bug687295c.pdf<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-21 16:54:14 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=daf85701dab05f17e924a48a81edc9195b4a04e8">daf85701dab05f17e924a48a81edc9195b4a04e8</a> +<blockquote> +<p> + fix crash with bad data supplied to makeimagedevice<br> +<br> + Bug #697450 "Null pointer dereference in gx_device_finalize()"<br> +<br> + The problem here is that the code to finalise a device unconditionally<br> + frees the icc_struct member of the device structure. However this<br> + particular (weird) device is not setup as a normal device, probably<br> + because its very, very ancient. Its possible for the initialisation<br> + of the device to abort with an error before calling gs_make_mem_device()<br> + which is where the icc_struct member gets allocated (or set to NULL).<br> +<br> + If that happens, then the cleanup code tries to free the device, which<br> + calls finalize() which tries to free a garbage pointer.<br> +<br> + Setting the device memory to 0x00 after we allocate it means that the<br> + icc_struct member will be NULL< and our memory manager allows for that<br> + happily enough, which avoids the problem.<br> +<br> +base/gsdevmem.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-21 15:42:36 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2299c9a25fc9ae7b59752f1795f8b53920901c80">2299c9a25fc9ae7b59752f1795f8b53920901c80</a> +<blockquote> +<p> + pdfwrite - don't emit degenerate Matrix for type 2 Patterns<br> +<br> + Bug 697451 "shfill with degenerate matrix leads to PDF unreadable with Acrobat"<br> +<br> + The original file deliberately makes the CTM degenerate before drawing<br> + a shfill. Although all PostScript consumers handle this without complaint.<br> + When converted to PDF most PDF consumers also are happy with the<br> + situation, however Adobe Acrobat recoils in horror and aborts the<br> + processing of the page stream with an error.<br> +<br> + Adobe Acrobat Distiller simply refuses (silently!) to embed the shfill<br> + in the PDF file.<br> +<br> + We don't have a way to drop the fill, so instead, if the Matrix is<br> + degenerate, replace it with the smallest scale matrix we can. Acrobat<br> + is happy with this.<br> +<br> + No differences expected.<br> +<br> +devices/vector/gdevpdfv.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-20 10:40:56 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7d820556974dbafaed04cfe5356fc66556907128">7d820556974dbafaed04cfe5356fc66556907128</a> +<blockquote> +<p> + Fix accuracy of bbox device with curves in filled paths<br> +<br> + Bug #697446 "bbox device is inaccurate with certain curves, when filled"<br> +<br> + The problem here is that, when a path is not clipped, is composed of<br> + certain types of flattish curves at the boundary, we used an inaccurate<br> + method to determine the bounds of the path.<br> +<br> + The old code used gx_path_bbox, which only considers the points in a path<br> + which is a problem for curves, because it considers the control points<br> + to be part of the curve, which they are not, and with some curves<br> + they can lie a long way from the actual path, as in this case.<br> +<br> + This commit simply forces the code through the scan-converter in order<br> + to get an accurate result, the same as the stroked code.<br> +<br> + No differences expected.<br> +<br> +base/gdevbbox.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-19 16:24:37 +0000 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=79a594c9bd95239ee975e930563e7fb567018372">79a594c9bd95239ee975e930563e7fb567018372</a> +<blockquote> +<p> + Fix SEGV seen with new scan converter.<br> +<br> + The following command:<br> +<br> + gs -sOutputFile=out.ppm -dMaxBitmap=400000000 -sDEVICE=ppmraw -r300<br> + -Z: -sDEFAULTPAPERSIZE=letter -dNOPAUSE -dBATCH -K2000000 -dClusterJob<br> + -dJOBSERVER -dSCANCONVERTERTYPE=2 %rom%Resource/Init/gs_cet.ps ~/11-11.PS<br> +<br> + was failing, due to a problem in the scan conversion code with<br> + extreme paths.<br> +<br> +base/gxscanc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-17 10:33:18 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2d46dd9e83edc813f2047a89cd260ab4de48fdf4">2d46dd9e83edc813f2047a89cd260ab4de48fdf4</a> +<blockquote> +<p> + More heuristic fixes from ToUnicode CMap changes<br> +<br> + Bug #697436 "Chinese character can not be copied out correctly"<br> +<br> + The changes in commit 9dba57f0f9a53c130ec2771c0ed1d7bd6bbef6ab to<br> + properly handle ToUnicde CMaps had rippling effects throughout the<br> + code wherever ToUnicode CMaps are read or generated. In this case the<br> + code which turned glyph names of the form uniXXXX into Unicode code<br> + point XXXX (in the absence of a GlyphNames2Unicode table) was not<br> + updated correctly.<br> +<br> + This commit changes the allocation from two shorts to a single unsigned<br> + short, and fill sin the data from the glyph name in big-endian format<br> + (as required throughout the ToUnicode code now), which results in<br> + the correct ToUnicode CMap being generated.<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-13 09:20:45 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=00dfdefe5d38871c0c67b08ede10a208b6897d10">00dfdefe5d38871c0c67b08ede10a208b6897d10</a> +<blockquote> +<p> + Bug 693307 Overprint issues<br> +<br> + Remove the portions of code used to simulate<br> + the overprinting of CMYK and spot colorants while<br> + in an RGB device. This really can't work and<br> + we are doing a real separation compositor device for<br> + this process. The code parts removed only confuse<br> + understanding of the overprint compositor. Also fix<br> + problems related to Bug 693307 which were caused by<br> + some confusion in the code with regard to the overprint<br> + mode. Fix other issues related to the Ghent overprint<br> + tests where we were not handling properly the case<br> + of overprinting with a gray color when the output<br> + device was CMYK based. Finally there were multiple<br> + issues with the testing and setting of the overprint<br> + settings and the use of the effective overprint mode<br> +<br> +base/gdevp14.c<br> +base/gdevp14.h<br> +base/gscdevn.c<br> +base/gscolor.c<br> +base/gscsepr.c<br> +base/gscspace.c<br> +base/gsicc.c<br> +base/gsovrc.c<br> +base/gsovrc.h<br> +base/gstrans.h<br> +base/gxblend.h<br> +base/gxblend1.c<br> +base/gxcmap.c<br> +base/gxcspace.h<br> +base/gxdevcli.h<br> +base/gxoprect.c<br> +base/gxoprect.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-15 13:56:43 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=46de0c56a0132356084b320a9f7e4d2ac1396c1c">46de0c56a0132356084b320a9f7e4d2ac1396c1c</a> +<blockquote> +<p> + Bug 697435 add blending color space<br> +<br> + This adds the ability to specify the default (based) blending<br> + color space for a target device when we have transparency blending.<br> + -sBlendColorProfile="my_profile.icc" is used for the specification.<br> + Only Gray, RGB, or CMYK ICC profiles are allowed. Also, separation<br> + devices (e.g. tiffsep and psdcmyk) will not support the use of this<br> + at this time. Note also that if a target device has a put_image<br> + procedure where it did its own blending or tag processing, this command<br> + proc is not called if the blending color space is specified as the final color<br> + conversion is applied through begin_typed_image.<br> +<br> +base/gdevp14.c<br> +base/gdevp14.h<br> +base/gscms.h<br> +base/gsdparam.c<br> +base/gsequivc.c<br> +base/gsicc_manage.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-14 15:56:31 +0100 +</strong> +<br>Tor Andersson <tor.andersson@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=73060a27e554f8e64ae2aba4a1b03822207346c7">73060a27e554f8e64ae2aba4a1b03822207346c7</a> +<blockquote> +<p> + Fix warnings: remove unsigned < 0 tests that are always false.<br> +<br> +jbig2dec/jbig2_image.c<br> +jbig2dec/jbig2_mmr.c<br> +jbig2dec/jbig2_symbol_dict.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-12 17:47:17 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cecf6b592945d247bf932f6a4f50065db4acfba8">cecf6b592945d247bf932f6a4f50065db4acfba8</a> +<blockquote> +<p> + Squash signed/unsigned warnings in MSVC jbig2 build.<br> +<br> + Also rename "new" to "new_dict", because "new" is a bad<br> + variable name.<br> +<br> +jbig2dec/jbig2.c<br> +jbig2dec/jbig2.h<br> +jbig2dec/jbig2_generic.c<br> +jbig2dec/jbig2_halftone.c<br> +jbig2dec/jbig2_huffman.c<br> +jbig2dec/jbig2_huffman.h<br> +jbig2dec/jbig2_image.c<br> +jbig2dec/jbig2_mmr.c<br> +jbig2dec/jbig2_page.c<br> +jbig2dec/jbig2_priv.h<br> +jbig2dec/jbig2_segment.c<br> +jbig2dec/jbig2_symbol_dict.c<br> +jbig2dec/jbig2_symbol_dict.h<br> +jbig2dec/jbig2_text.c<br> +jbig2dec/jbig2_text.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-12 08:31:34 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0efaa8dff5b82169313a086861597e0f455892d3">0efaa8dff5b82169313a086861597e0f455892d3</a> +<blockquote> +<p> + Bug 697350. Fix isolated knockout group rendering<br> +<br> + The blending code in the knockout isolate case had issues<br> + and the only difference compared to the non-isolated case<br> + is that we don't need to do the blend with the backdrop.<br> +<br> +base/gdevp14.c<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-12 17:53:23 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=15d9aaac64334776284310f5cbfe8ae79edae540">15d9aaac64334776284310f5cbfe8ae79edae540</a> +<blockquote> +<p> + Squash annoying MSVC warning.<br> +<br> +base/gxpcmap.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-09 19:29:37 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f5ac81f27674c54540c6313ed31b027f1385ceb5">f5ac81f27674c54540c6313ed31b027f1385ceb5</a> +<blockquote> +<p> + Add ETS to Downscaler.<br> +<br> + Currently only hooked up for tiffscaled and tiffscaled4.<br> +<br> + Enable using -dDownScaleETS=1 along with the usual other downscaler<br> + hooks.<br> +<br> + No control over all the myriad ETS flags as yet.<br> +<br> +base/ets.c<br> +base/ets.h<br> +base/ets_tm.h<br> +base/gxdownscale.c<br> +base/gxdownscale.h<br> +base/lib.mak<br> +devices/gdevtifs.c<br> +devices/gdevtifs.h<br> +devices/gdevtsep.c<br> +doc/Devices.htm<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-09 12:33:41 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dd50b33582901eda25fce78a40552de91db3c8e5">dd50b33582901eda25fce78a40552de91db3c8e5</a> +<blockquote> +<p> + Use normal blend mode for spots when mode is non-white preserving<br> +<br> + When we are doing the group compositing, make sure to catch the<br> + cases where we have spot colorants and the blend modes is either<br> + non-separable or non-white preserving. In those cases, the spot<br> + colorants have to use the normal blend mode.<br> +<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-09 10:43:57 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8894abf2985a58900e778957f93151b6cec1c17a">8894abf2985a58900e778957f93151b6cec1c17a</a> +<blockquote> +<p> + Address a segfault and error introduced in 4b3be09<br> +<br> + In the zbegintransparencymaskgroup with a '/None' SMask parameter with the clist<br> + in use, we get to clist_create_compositor().<br> +<br> + In there, the return value of the get_cropping method can be either an error<br> + (negative) or a specific cropping operation (positive). We assign it to 'code',<br> + and if it's an error, return it, if not, assign it to another variable. But<br> + don't set 'code' to anything else. It is then possible to get to the end of the<br> + function without going through the path where 'code' is used again.<br> +<br> + Setting 'code' to 0 after storing the cropping op solves the problem.<br> +<br> +base/gxclimag.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-08 18:09:58 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4b3be091fa0384e679baaf04b14ea195da5adf21">4b3be091fa0384e679baaf04b14ea195da5adf21</a> +<blockquote> +<p> + Bug 697415: 'clean up' after images with SMask entries<br> +<br> + Our handling of images with SMasks depends on telling the transparency<br> + compositor to expect an SMask image, draw the SMask as a regular image,<br> + tell the compositor the SMask is done, and then draw the 'main' image (to<br> + which the compositor will apply the SMask).<br> +<br> + The problem was that the compositor treats SMasks from images and SMasks from<br> + ExtGState as the same (which they really are), but the image drawing code<br> + took no action to inform the compositor we were done with the SMask, thus<br> + leaving it place.<br> +<br> + By adding a call to "unset" the SMask from the current graphics state (in this<br> + case, it's really the current group in the compositor), we ensure the SMask<br> + is only applied to the current image).<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-05 18:30:06 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c875bf7490447579e850fa4722874848c3be4657">c875bf7490447579e850fa4722874848c3be4657</a> +<blockquote> +<p> + PDF Interpreter - more indirect object foolishness<br> +<br> + Bug #697402 "PDF rendered as blank in PDF with unusual font width array"<br> +<br> + Not ony the /Widths array of one of the fonts, but also an entry in a<br> + /W array for a CIDFont specify a value using an indirect object<br> + reference.<br> +<br> + While this is silly (it makes the PDF file larger and slower) it is legal<br> + so this commit copes with it by dereferencing any indirect references.<br> +<br> + We alos now handle W2 arrays with references, even though this file<br> + doesn't use one.<br> +<br> +Resource/Init/pdf_font.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-03 06:40:17 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0e16bd592aaccde9b384415a87d8a9bef9c57f83">0e16bd592aaccde9b384415a87d8a9bef9c57f83</a> +<blockquote> +<p> + Fix debug output for pattern bitmaps<br> +<br> +base/gxpcmap.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-03 12:25:58 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc746214644deacd5233a1453ce660573af09443">cc746214644deacd5233a1453ce660573af09443</a> +<blockquote> +<p> + txtwrite - sort out endian-ness of Unicode based on architecture<br> +<br> + Bug #697339 "Device txtwrite seems to be broken"<br> +<br> + decode_glyph sppears always to return big-endian shorts for Unicode<br> + code points. On litlee-endian platforms, reverse the byte order so<br> + that we can treat the data as shorts instead of bytes.<br> +<br> + As I don't have a big endian device to test this on, further work may<br> + be required.<br> +<br> +devices/vector/gdevtxtw.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-02 09:00:20 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d05c99ba9f3c1539a5b02a96ed050422677d9704">d05c99ba9f3c1539a5b02a96ed050422677d9704</a> +<blockquote> +<p> + Remove MarginsHWResolution non-standard device parameter<br> +<br> +base/gdevp14.c<br> +base/gscoord.c<br> +base/gsdevice.c<br> +base/gsdevmem.c<br> +base/gsdparam.c<br> +base/gspath.c<br> +base/gxclist.c<br> +base/gxdevcli.h<br> +base/gxdevice.h<br> +devices/gdevbit.c<br> +devices/gdevupd.c<br> +devices/gdevxalt.c<br> +devices/gdevxini.c<br> +lib/align.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-02 19:03:42 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b880332b899e0e59d17c7e48033e5cc816e5a831">b880332b899e0e59d17c7e48033e5cc816e5a831</a> +<blockquote> +<p> + pdfwrite - adjust Mono Subsample resolution to integer<br> +<br> + Bug #697351 "/Subsample filter needs to make non-integer scales integer for monochrome images"<br> +<br> + The only downsampling filter available for monochrome images and<br> + imagemasks (1 bpp images and masks) is the /Subsample filter. However<br> + the Subsample filter only works when the downsampling factor is an<br> + exact integer.<br> +<br> + Its unreasonable to insist that all the monochrome images in a given<br> + document can be downsampled to a specific resolution and that the downsample<br> + factor for all those images will be an integer.<br> +<br> + So here, if the image is monochrome (so we canot switch to the Bicubic<br> + filter) and the factor is not an integer, we force the factor to the<br> + nearest integer.<br> +<br> + Also, update the documentation which incorrectly stated that when<br> + /PDFSETTINGS was set to 'prepress', monochrome images used the Bicubic<br> + filter, it actually uses the Subsample filter.<br> +<br> +devices/vector/gdevpsdi.c<br> +doc/VectorDevices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-02 17:13:35 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=26acbbb980a44d9610080876afeef5bb834d21e3">26acbbb980a44d9610080876afeef5bb834d21e3</a> +<blockquote> +<p> + Documentation - Document the fact that setpagedevice resets distiller params<br> +<br> +doc/VectorDevices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-12-02 16:33:25 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=336c69b8be32c7193909a7f25b1a073b0ac2d92f">336c69b8be32c7193909a7f25b1a073b0ac2d92f</a> +<blockquote> +<p> + PDF Interpreter - have warning messages respect QUIET<br> +<br> + Bug #697394 "stderr is included with stdout when result is set to stdout"<br> +<br> + We do want the warnings to go to stdout, for debugging purposes,<br> + because it is easier to use -dPDFDEBUG if the warnings are interleaved.<br> +<br> + For the benefit of user piping the output to stdout, have the warning<br> + messages respect -dQUIET so they don't end up in the output file.<br> +<br> + Error messages (which are directed to stderr anyway) are not suppressed<br> + as these are important.<br> +<br> + No differences expected<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-24 12:26:17 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8d6c4074ee8cfc251ebdd44ce4d2f97cdf20517">a8d6c4074ee8cfc251ebdd44ce4d2f97cdf20517</a> +<blockquote> +<p> + Revert commit 3cde6d6d, require %d OutputFile spec for multi-page tiffsep<br> +<br> + The previous commit allowed multi-page separation files, but this would only<br> + work if all pages had the same spot colors. If a later page added a spot color<br> + it would be appended to the set of spot colors, but then the separation layer<br> + would be emitted with the previous spot color name (according to the order)<br> + and the CMYK equivalent for that previous spot color would be used to make the<br> + CMYK composite.<br> +<br> + Now multi-page tiffsep requires the use of %d (or some other format that uses<br> + the page number in the filename). The first page can be output without %d, and<br> + the second page will issue an error message and quit with ioerror.<br> +<br> + In theory we could wait to issue the error until we encounter a spot color order<br> + that was not the same as the first page, but this is of little utility, and<br> + this change makes tiffsep operate similarly to the psdcmyk device.<br> +<br> +devices/gdevtsep.c<br> +doc/Devices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-24 09:56:12 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f42898997f249062f5da8fcf9c3a46cd6443fb39">f42898997f249062f5da8fcf9c3a46cd6443fb39</a> +<blockquote> +<p> + PDF interpreter - skip 'R' operator in invalid context<br> +<br> + Bug #697365 "corrupted content stream causes error"<br> +<br> + The file has 2 Form XObject whose content streams have a single garbage<br> + byte at the end of the stream, and which forms part of the 'endstream'.<br> +<br> + In one case this simply leads to garbage on the stack, which we deal with<br> + already, but in the other case the garbage happens to be a 'R character<br> + which we attempt to process as a token.<br> +<br> + Now attempting to process an R operator fails in this case, because the<br> + stack contents are not a pair of integers. However, in the process, it<br> + removes two stack objects which we require for further processing.<br> +<br> + There's no way to restore those to the operand stack, and there is no<br> + way to not process the 'R' as a token. We also cannot temporarily<br> + define 'R' as a no-op for the course of a stream, because if the<br> + stream uses named objects which have not already been dereferenced<br> + we need to execute the R operator to resolve them.<br> +<br> + This commit modifies the definition of R so that it checks the type<br> + of the expected operands before consuming them. If they are not both<br> + integers then it flags an error, leaves the stack alone and exits.<br> +<br> + THis will, of course, be slightly slower than the current approach<br> + which doesn't check types, but it should only be executed once<br> + for each object in the file. Even for a large file that should only<br> + be a few tens of thousands, and this is likely to be lost among<br> + the processing time for real operations. However, shuold this<br> + causew significant performance problems we may remove this in the<br> + future.<br> +<br> + No differences expected.<br> +<br> +Resource/Init/pdf_base.ps<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-23 09:26:16 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b7ea690782c306241ed94fa3bdaf296f6bcc455f">b7ea690782c306241ed94fa3bdaf296f6bcc455f</a> +<blockquote> +<p> + Bug 697366<br> +<br> + Partial fix. Pattern now renders correctly. Issues<br> + with a few other spots though.<br> +<br> +base/gdevdsha.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-23 06:58:19 -0800 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2237813596c8703de6008dd6c05460f9dac3ed75">2237813596c8703de6008dd6c05460f9dac3ed75</a> +<blockquote> +<p> + Fix segv due to improper depth computation<br> +<br> + Commit<br> + 47294ff5b168d25bfc7db64f51572d64b8ebde91<br> + had an issue that was found when running<br> + eci_altona-test-suite-v2_technical2_x4.pdf<br> + (the Altona file with ALL the pages on one page)<br> + with tiffsep and psdcmyk. This fixes the segv.<br> + A rending issue remains on this issue.<br> + Bug http://bugs.ghostscript.com/show_bug.cgi?id=697366<br> + was opened to address.<br> +<br> +base/gdevp14.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-21 10:03:24 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b87f18df814aaa9f0036c843a4b24b1638aa4cf">5b87f18df814aaa9f0036c843a4b24b1638aa4cf</a> +<blockquote> +<p> + libtiff: update to 4.0.7<br> +<br> + Add in portability changes to tiffiop.h<br> +<br> + Portability tiffiop.h<br> +<br> + Remove globals from tif_pixarlog.c<br> +<br> +tiff/CMakeLists.txt<br> +tiff/ChangeLog<br> +tiff/HOWTO-RELEASE<br> +tiff/Makefile.am<br> +tiff/Makefile.in<br> +tiff/RELEASE-DATE<br> +tiff/VERSION<br> +tiff/aclocal.m4<br> +tiff/build/CMakeLists.txt<br> +tiff/build/Makefile.am<br> +tiff/build/Makefile.in<br> +tiff/config/compile<br> +tiff/config/depcomp<br> +tiff/config/ltmain.sh<br> +tiff/config/missing<br> +tiff/config/test-driver<br> +tiff/configure<br> +tiff/configure.ac<br> +tiff/configure.com<br> +tiff/contrib/CMakeLists.txt<br> +tiff/contrib/Makefile.am<br> +tiff/contrib/Makefile.in<br> +tiff/contrib/addtiffo/CMakeLists.txt<br> +tiff/contrib/addtiffo/Makefile.am<br> +tiff/contrib/addtiffo/Makefile.in<br> +tiff/contrib/addtiffo/addtiffo.c<br> +tiff/contrib/addtiffo/tif_overview.c<br> +tiff/contrib/addtiffo/tif_ovrcache.c<br> +tiff/contrib/dbs/CMakeLists.txt<br> +tiff/contrib/dbs/Makefile.am<br> +tiff/contrib/dbs/Makefile.in<br> +tiff/contrib/dbs/xtiff/CMakeLists.txt<br> +tiff/contrib/dbs/xtiff/Makefile.am<br> +tiff/contrib/dbs/xtiff/Makefile.in<br> +tiff/contrib/dbs/xtiff/xtiff.c<br> +tiff/contrib/iptcutil/CMakeLists.txt<br> +tiff/contrib/iptcutil/Makefile.am<br> +tiff/contrib/iptcutil/Makefile.in<br> +tiff/contrib/iptcutil/iptcutil.c<br> +tiff/contrib/mfs/CMakeLists.txt<br> +tiff/contrib/mfs/Makefile.am<br> +tiff/contrib/mfs/Makefile.in<br> +tiff/contrib/pds/CMakeLists.txt<br> +tiff/contrib/pds/Makefile.am<br> +tiff/contrib/pds/Makefile.in<br> +tiff/contrib/ras/CMakeLists.txt<br> +tiff/contrib/ras/Makefile.am<br> +tiff/contrib/ras/Makefile.in<br> +tiff/contrib/stream/CMakeLists.txt<br> +tiff/contrib/stream/Makefile.am<br> +tiff/contrib/stream/Makefile.in<br> +tiff/contrib/tags/CMakeLists.txt<br> +tiff/contrib/tags/Makefile.am<br> +tiff/contrib/tags/Makefile.in<br> +tiff/contrib/win_dib/CMakeLists.txt<br> +tiff/contrib/win_dib/Makefile.am<br> +tiff/contrib/win_dib/Makefile.in<br> +tiff/html/CMakeLists.txt<br> +tiff/html/Makefile.am<br> +tiff/html/Makefile.in<br> +tiff/html/addingtags.html<br> +tiff/html/bugs.html<br> +tiff/html/build.html<br> +tiff/html/contrib.html<br> +tiff/html/document.html<br> +tiff/html/images.html<br> +tiff/html/images/CMakeLists.txt<br> +tiff/html/images/Makefile.am<br> +tiff/html/images/Makefile.in<br> +tiff/html/index.html<br> +tiff/html/internals.html<br> +tiff/html/intro.html<br> +tiff/html/libtiff.html<br> +tiff/html/man/CMakeLists.txt<br> +tiff/html/man/HtmlDoc.cmake<br> +tiff/html/man/Makefile.am<br> +tiff/html/man/Makefile.in<br> +tiff/html/man/TIFFClose.3tiff.html<br> +tiff/html/man/TIFFDataWidth.3tiff.html<br> +tiff/html/man/TIFFError.3tiff.html<br> +tiff/html/man/TIFFFieldDataType.3tiff.html<br> +tiff/html/man/TIFFFieldName.3tiff.html<br> +tiff/html/man/TIFFFieldPassCount.3tiff.html<br> +tiff/html/man/TIFFFieldReadCount.3tiff.html<br> +tiff/html/man/TIFFFieldTag.3tiff.html<br> +tiff/html/man/TIFFFieldWriteCount.3tiff.html<br> +tiff/html/man/TIFFFlush.3tiff.html<br> +tiff/html/man/TIFFGetField.3tiff.html<br> +tiff/html/man/TIFFRGBAImage.3tiff.html<br> +tiff/html/man/TIFFReadDirectory.3tiff.html<br> +tiff/html/man/TIFFReadEncodedStrip.3tiff.html<br> +tiff/html/man/TIFFReadEncodedTile.3tiff.html<br> +tiff/html/man/TIFFReadRGBAImage.3tiff.html<br> +tiff/html/man/TIFFReadRGBAStrip.3tiff.html<br> +tiff/html/man/TIFFReadRGBATile.3tiff.html<br> +tiff/html/man/TIFFReadRawStrip.3tiff.html<br> +tiff/html/man/TIFFReadRawTile.3tiff.html<br> +tiff/html/man/TIFFReadScanline.3tiff.html<br> +tiff/html/man/TIFFReadTile.3tiff.html<br> +tiff/html/man/TIFFSetDirectory.3tiff.html<br> +tiff/html/man/TIFFSetField.3tiff.html<br> +tiff/html/man/TIFFWarning.3tiff.html<br> +tiff/html/man/TIFFWriteDirectory.3tiff.html<br> +tiff/html/man/TIFFWriteEncodedStrip.3tiff.html<br> +tiff/html/man/TIFFWriteEncodedTile.3tiff.html<br> +tiff/html/man/TIFFWriteRawStrip.3tiff.html<br> +tiff/html/man/TIFFWriteRawTile.3tiff.html<br> +tiff/html/man/TIFFWriteScanline.3tiff.html<br> +tiff/html/man/TIFFWriteTile.3tiff.html<br> +tiff/html/man/TIFFbuffer.3tiff.html<br> +tiff/html/man/TIFFcodec.3tiff.html<br> +tiff/html/man/TIFFcolor.3tiff.html<br> +tiff/html/man/TIFFmemory.3tiff.html<br> +tiff/html/man/TIFFsize.3tiff.html<br> +tiff/html/man/TIFFstrip.3tiff.html<br> +tiff/html/man/TIFFswab.3tiff.html<br> +tiff/html/man/TIFFtile.3tiff.html<br> +tiff/html/man/fax2ps.1.html<br> +tiff/html/man/fax2tiff.1.html<br> +tiff/html/man/gif2tiff.1.html<br> +tiff/html/man/index.html<br> +tiff/html/man/pal2rgb.1.html<br> +tiff/html/man/ppm2tiff.1.html<br> +tiff/html/man/ras2tiff.1.html<br> +tiff/html/man/raw2tiff.1.html<br> +tiff/html/man/rgb2ycbcr.1.html<br> +tiff/html/man/sgi2tiff.1.html<br> +tiff/html/man/thumbnail.1.html<br> +tiff/html/man/tiff2bw.1.html<br> +tiff/html/man/tiff2pdf.1.html<br> +tiff/html/man/tiff2ps.1.html<br> +tiff/html/man/tiff2rgba.1.html<br> +tiff/html/man/tiffcmp.1.html<br> +tiff/html/man/tiffcp.1.html<br> +tiff/html/man/tiffcrop.1.html<br> +tiff/html/man/tiffdither.1.html<br> +tiff/html/man/tiffdump.1.html<br> +tiff/html/man/tiffgt.1.html<br> +tiff/html/man/tiffinfo.1.html<br> +tiff/html/man/tiffmedian.1.html<br> +tiff/html/man/tiffset.1.html<br> +tiff/html/man/tiffsplit.1.html<br> +tiff/html/man/tiffsv.1.html<br> +tiff/html/misc.html<br> +tiff/html/support.html<br> +tiff/html/tools.html<br> +tiff/html/v3.4beta007.html<br> +tiff/html/v3.4beta016.html<br> +tiff/html/v3.4beta018.html<br> +tiff/html/v3.4beta024.html<br> +tiff/html/v3.4beta028.html<br> +tiff/html/v3.4beta029.html<br> +tiff/html/v3.4beta031.html<br> +tiff/html/v3.4beta032.html<br> +tiff/html/v3.4beta033.html<br> +tiff/html/v3.4beta034.html<br> +tiff/html/v3.4beta035.html<br> +tiff/html/v3.4beta036.html<br> +tiff/html/v3.5.1.html<br> +tiff/html/v3.5.2.html<br> +tiff/html/v3.5.3.html<br> +tiff/html/v3.5.4.html<br> +tiff/html/v3.5.5.html<br> +tiff/html/v3.5.6-beta.html<br> +tiff/html/v3.5.7.html<br> +tiff/html/v3.6.0.html<br> +tiff/html/v3.6.1.html<br> +tiff/html/v3.7.0.html<br> +tiff/html/v3.7.0alpha.html<br> +tiff/html/v3.7.0beta.html<br> +tiff/html/v3.7.0beta2.html<br> +tiff/html/v3.7.1.html<br> +tiff/html/v3.7.2.html<br> +tiff/html/v3.7.3.html<br> +tiff/html/v3.7.4.html<br> +tiff/html/v3.8.0.html<br> +tiff/html/v3.8.1.html<br> +tiff/html/v3.8.2.html<br> +tiff/html/v3.9.0beta.html<br> +tiff/html/v3.9.1.html<br> +tiff/html/v3.9.2.html<br> +tiff/html/v4.0.0.html<br> +tiff/html/v4.0.1.html<br> +tiff/html/v4.0.2.html<br> +tiff/html/v4.0.3.html<br> +tiff/html/v4.0.4.html<br> +tiff/html/v4.0.4beta.html<br> +tiff/html/v4.0.5.html<br> +tiff/html/v4.0.6.html<br> +tiff/html/v4.0.7.html<br> +tiff/libtiff/CMakeLists.txt<br> +tiff/libtiff/Makefile.am<br> +tiff/libtiff/Makefile.in<br> +tiff/libtiff/Makefile.vc<br> +tiff/libtiff/libtiff.def<br> +tiff/libtiff/mkg3states.c<br> +tiff/libtiff/tif_aux.c<br> +tiff/libtiff/tif_close.c<br> +tiff/libtiff/tif_codec.c<br> +tiff/libtiff/tif_color.c<br> +tiff/libtiff/tif_compress.c<br> +tiff/libtiff/tif_config.h.cmake.in<br> +tiff/libtiff/tif_config.h.in<br> +tiff/libtiff/tif_config.vc.h<br> +tiff/libtiff/tif_dir.c<br> +tiff/libtiff/tif_dirinfo.c<br> +tiff/libtiff/tif_dirread.c<br> +tiff/libtiff/tif_dirwrite.c<br> +tiff/libtiff/tif_dumpmode.c<br> +tiff/libtiff/tif_extension.c<br> +tiff/libtiff/tif_fax3.c<br> +tiff/libtiff/tif_fax3.h<br> +tiff/libtiff/tif_getimage.c<br> +tiff/libtiff/tif_jpeg.c<br> +tiff/libtiff/tif_jpeg_12.c<br> +tiff/libtiff/tif_luv.c<br> +tiff/libtiff/tif_lzma.c<br> +tiff/libtiff/tif_lzw.c<br> +tiff/libtiff/tif_next.c<br> +tiff/libtiff/tif_ojpeg.c<br> +tiff/libtiff/tif_open.c<br> +tiff/libtiff/tif_packbits.c<br> +tiff/libtiff/tif_pixarlog.c<br> +tiff/libtiff/tif_predict.c<br> +tiff/libtiff/tif_predict.h<br> +tiff/libtiff/tif_print.c<br> +tiff/libtiff/tif_read.c<br> +tiff/libtiff/tif_stream.cxx<br> +tiff/libtiff/tif_strip.c<br> +tiff/libtiff/tif_swab.c<br> +tiff/libtiff/tif_thunder.c<br> +tiff/libtiff/tif_tile.c<br> +tiff/libtiff/tif_unix.c<br> +tiff/libtiff/tif_win32.c<br> +tiff/libtiff/tif_write.c<br> +tiff/libtiff/tif_zip.c<br> +tiff/libtiff/tiff.h<br> +tiff/libtiff/tiffconf.h.cmake.in<br> +tiff/libtiff/tiffconf.vc.h<br> +tiff/libtiff/tiffio.h<br> +tiff/libtiff/tiffiop.h<br> +tiff/libtiff/tiffvers.h<br> +tiff/libtiff/uvcode.h<br> +tiff/man/CMakeLists.txt<br> +tiff/man/Makefile.am<br> +tiff/man/Makefile.in<br> +tiff/man/TIFFClose.3tiff<br> +tiff/man/TIFFDataWidth.3tiff<br> +tiff/man/TIFFError.3tiff<br> +tiff/man/TIFFFieldDataType.3tiff<br> +tiff/man/TIFFFieldName.3tiff<br> +tiff/man/TIFFFieldPassCount.3tiff<br> +tiff/man/TIFFFieldReadCount.3tiff<br> +tiff/man/TIFFFieldTag.3tiff<br> +tiff/man/TIFFFieldWriteCount.3tiff<br> +tiff/man/TIFFFlush.3tiff<br> +tiff/man/TIFFGetField.3tiff<br> +tiff/man/TIFFRGBAImage.3tiff<br> +tiff/man/TIFFReadDirectory.3tiff<br> +tiff/man/TIFFReadEncodedStrip.3tiff<br> +tiff/man/TIFFReadEncodedTile.3tiff<br> +tiff/man/TIFFReadRGBAImage.3tiff<br> +tiff/man/TIFFReadRGBAStrip.3tiff<br> +tiff/man/TIFFReadRGBATile.3tiff<br> +tiff/man/TIFFReadRawStrip.3tiff<br> +tiff/man/TIFFReadRawTile.3tiff<br> +tiff/man/TIFFReadScanline.3tiff<br> +tiff/man/TIFFReadTile.3tiff<br> +tiff/man/TIFFSetDirectory.3tiff<br> +tiff/man/TIFFSetField.3tiff<br> +tiff/man/TIFFWarning.3tiff<br> +tiff/man/TIFFWriteDirectory.3tiff<br> +tiff/man/TIFFWriteEncodedStrip.3tiff<br> +tiff/man/TIFFWriteEncodedTile.3tiff<br> +tiff/man/TIFFWriteRawStrip.3tiff<br> +tiff/man/TIFFWriteRawTile.3tiff<br> +tiff/man/TIFFWriteScanline.3tiff<br> +tiff/man/TIFFWriteTile.3tiff<br> +tiff/man/TIFFbuffer.3tiff<br> +tiff/man/TIFFcodec.3tiff<br> +tiff/man/TIFFcolor.3tiff<br> +tiff/man/TIFFmemory.3tiff<br> +tiff/man/TIFFsize.3tiff<br> +tiff/man/TIFFstrip.3tiff<br> +tiff/man/TIFFswab.3tiff<br> +tiff/man/TIFFtile.3tiff<br> +tiff/man/bmp2tiff.1<br> +tiff/man/fax2ps.1<br> +tiff/man/fax2tiff.1<br> +tiff/man/gif2tiff.1<br> +tiff/man/libtiff.3tiff<br> +tiff/man/pal2rgb.1<br> +tiff/man/ppm2tiff.1<br> +tiff/man/ras2tiff.1<br> +tiff/man/raw2tiff.1<br> +tiff/man/rgb2ycbcr.1<br> +tiff/man/sgi2tiff.1<br> +tiff/man/thumbnail.1<br> +tiff/man/tiff2bw.1<br> +tiff/man/tiff2pdf.1<br> +tiff/man/tiff2ps.1<br> +tiff/man/tiff2rgba.1<br> +tiff/man/tiffcmp.1<br> +tiff/man/tiffcp.1<br> +tiff/man/tiffcrop.1<br> +tiff/man/tiffdither.1<br> +tiff/man/tiffdump.1<br> +tiff/man/tiffgt.1<br> +tiff/man/tiffinfo.1<br> +tiff/man/tiffmedian.1<br> +tiff/man/tiffset.1<br> +tiff/man/tiffsplit.1<br> +tiff/man/tiffsv.1<br> +tiff/nmake.opt<br> +tiff/port/CMakeLists.txt<br> +tiff/port/Makefile.am<br> +tiff/port/Makefile.in<br> +tiff/port/Makefile.vc<br> +tiff/port/libport.h<br> +tiff/port/snprintf.c<br> +tiff/port/strcasecmp.c<br> +tiff/test/CMakeLists.txt<br> +tiff/test/Makefile.am<br> +tiff/test/Makefile.in<br> +tiff/test/TiffSplitTest.cmake<br> +tiff/test/TiffTest.cmake<br> +tiff/test/TiffTestCommon.cmake<br> +tiff/test/ascii_tag.c<br> +tiff/test/bmp2tiff_palette.sh<br> +tiff/test/bmp2tiff_rgb.sh<br> +tiff/test/common.sh<br> +tiff/test/custom_dir.c<br> +tiff/test/gif2tiff.sh<br> +tiff/test/images/palette-1c-8b.bmp<br> +tiff/test/images/palette-1c-8b.gif<br> +tiff/test/images/quad-tile.jpg.tiff<br> +tiff/test/images/rgb-3c-8b.bmp<br> +tiff/test/long_tag.c<br> +tiff/test/raw_decode.c<br> +tiff/test/rewrite_tag.c<br> +tiff/test/short_tag.c<br> +tiff/test/strip.c<br> +tiff/test/tiff2rgba-quad-tile.jpg.sh<br> +tiff/tools/CMakeLists.txt<br> +tiff/tools/Makefile.am<br> +tiff/tools/Makefile.in<br> +tiff/tools/Makefile.vc<br> +tiff/tools/bmp2tiff.c<br> +tiff/tools/fax2ps.c<br> +tiff/tools/fax2tiff.c<br> +tiff/tools/gif2tiff.c<br> +tiff/tools/pal2rgb.c<br> +tiff/tools/ppm2tiff.c<br> +tiff/tools/ras2tiff.c<br> +tiff/tools/rasterfile.h<br> +tiff/tools/raw2tiff.c<br> +tiff/tools/rgb2ycbcr.c<br> +tiff/tools/sgi2tiff.c<br> +tiff/tools/sgisv.c<br> +tiff/tools/thumbnail.c<br> +tiff/tools/tiff2bw.c<br> +tiff/tools/tiff2pdf.c<br> +tiff/tools/tiff2ps.c<br> +tiff/tools/tiff2rgba.c<br> +tiff/tools/tiffcmp.c<br> +tiff/tools/tiffcp.c<br> +tiff/tools/tiffcrop.c<br> +tiff/tools/tiffdither.c<br> +tiff/tools/tiffdump.c<br> +tiff/tools/tiffgt.c<br> +tiff/tools/tiffinfo.c<br> +tiff/tools/tiffmedian.c<br> +tiff/tools/tiffset.c<br> +tiff/tools/tiffsplit.c<br> +tiff/tools/ycbcr.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-08 09:50:00 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6655712ee1d0bf2a7818044613bbed226b7abddd">6655712ee1d0bf2a7818044613bbed226b7abddd</a> +<blockquote> +<p> + Update freetype to 2.7.0<br> +<br> + Tweak makefile for new freetype version<br> +<br> + Force use of the v35 Freetype bytecode interpreter<br> +<br> +base/fapi_ft.c<br> +base/freetype.mak<br> +freetype/CMakeLists.txt<br> +freetype/ChangeLog<br> +freetype/ChangeLog.20<br> +freetype/ChangeLog.21<br> +freetype/ChangeLog.22<br> +freetype/ChangeLog.23<br> +freetype/ChangeLog.24<br> +freetype/ChangeLog.25<br> +freetype/ChangeLog.26<br> +freetype/Jamfile<br> +freetype/Jamrules<br> +freetype/Makefile<br> +freetype/README<br> +freetype/README.git<br> +freetype/autogen.sh<br> +freetype/builds/amiga/README<br> +freetype/builds/amiga/include/config/ftconfig.h<br> +freetype/builds/amiga/include/config/ftmodule.h<br> +freetype/builds/amiga/makefile<br> +freetype/builds/amiga/makefile.os4<br> +freetype/builds/amiga/smakefile<br> +freetype/builds/amiga/src/base/ftdebug.c<br> +freetype/builds/amiga/src/base/ftsystem.c<br> +freetype/builds/ansi/ansi-def.mk<br> +freetype/builds/ansi/ansi.mk<br> +freetype/builds/atari/ATARI.H<br> +freetype/builds/atari/README.TXT<br> +freetype/builds/beos/beos-def.mk<br> +freetype/builds/beos/beos.mk<br> +freetype/builds/beos/detect.mk<br> +freetype/builds/cmake/FindHarfBuzz.cmake<br> +freetype/builds/cmake/iOS.cmake<br> +freetype/builds/cmake/testbuild.sh<br> +freetype/builds/compiler/ansi-cc.mk<br> +freetype/builds/compiler/bcc-dev.mk<br> +freetype/builds/compiler/bcc.mk<br> +freetype/builds/compiler/emx.mk<br> +freetype/builds/compiler/gcc-dev.mk<br> +freetype/builds/compiler/gcc.mk<br> +freetype/builds/compiler/intelc.mk<br> +freetype/builds/compiler/unix-lcc.mk<br> +freetype/builds/compiler/visualage.mk<br> +freetype/builds/compiler/visualc.mk<br> +freetype/builds/compiler/watcom.mk<br> +freetype/builds/compiler/win-lcc.mk<br> +freetype/builds/detect.mk<br> +freetype/builds/dos/detect.mk<br> +freetype/builds/dos/dos-def.mk<br> +freetype/builds/dos/dos-emx.mk<br> +freetype/builds/dos/dos-gcc.mk<br> +freetype/builds/dos/dos-wat.mk<br> +freetype/builds/exports.mk<br> +freetype/builds/freetype.mk<br> +freetype/builds/link_dos.mk<br> +freetype/builds/link_std.mk<br> +freetype/builds/mac/FreeType.m68k_cfm.make.txt<br> +freetype/builds/mac/FreeType.m68k_far.make.txt<br> +freetype/builds/mac/FreeType.ppc_carbon.make.txt<br> +freetype/builds/mac/FreeType.ppc_classic.make.txt<br> +freetype/builds/mac/ftmac.c<br> +freetype/builds/modules.mk<br> +freetype/builds/os2/detect.mk<br> +freetype/builds/os2/os2-def.mk<br> +freetype/builds/os2/os2-dev.mk<br> +freetype/builds/os2/os2-gcc.mk<br> +freetype/builds/symbian/bld.inf<br> +freetype/builds/symbian/freetype.mmp<br> +freetype/builds/toplevel.mk<br> +freetype/builds/unix/aclocal.m4<br> +freetype/builds/unix/config.guess<br> +freetype/builds/unix/config.sub<br> +freetype/builds/unix/configure.ac<br> +freetype/builds/unix/configure.raw<br> +freetype/builds/unix/detect.mk<br> +freetype/builds/unix/freetype-config.in<br> +freetype/builds/unix/freetype2.in<br> +freetype/builds/unix/freetype2.m4<br> +freetype/builds/unix/ft-munmap.m4<br> +freetype/builds/unix/ftconfig.in<br> +freetype/builds/unix/ftsystem.c<br> +freetype/builds/unix/install-sh<br> +freetype/builds/unix/install.mk<br> +freetype/builds/unix/ltmain.sh<br> +freetype/builds/unix/mkinstalldirs<br> +freetype/builds/unix/unix-cc.in<br> +freetype/builds/unix/unix-def.in<br> +freetype/builds/unix/unix-dev.mk<br> +freetype/builds/unix/unix-lcc.mk<br> +freetype/builds/unix/unix.mk<br> +freetype/builds/unix/unixddef.mk<br> +freetype/builds/vms/ftconfig.h<br> +freetype/builds/vms/ftsystem.c<br> +freetype/builds/wince/ftdebug.c<br> +freetype/builds/wince/vc2005-ce/freetype.sln<br> +freetype/builds/wince/vc2005-ce/freetype.vcproj<br> +freetype/builds/wince/vc2005-ce/index.html<br> +freetype/builds/wince/vc2008-ce/freetype.sln<br> +freetype/builds/wince/vc2008-ce/freetype.vcproj<br> +freetype/builds/wince/vc2008-ce/index.html<br> +freetype/builds/windows/detect.mk<br> +freetype/builds/windows/ftdebug.c<br> +freetype/builds/windows/vc2005/freetype.vcproj<br> +freetype/builds/windows/vc2005/index.html<br> +freetype/builds/windows/vc2008/freetype.vcproj<br> +freetype/builds/windows/vc2008/index.html<br> +freetype/builds/windows/vc2010/freetype.sln<br> +freetype/builds/windows/vc2010/freetype.vcxproj<br> +freetype/builds/windows/vc2010/freetype.vcxproj.filters<br> +freetype/builds/windows/vc2010/index.html<br> +freetype/builds/windows/visualc/freetype.dsp<br> +freetype/builds/windows/visualc/freetype.vcproj<br> +freetype/builds/windows/visualc/index.html<br> +freetype/builds/windows/visualce/freetype.dsp<br> +freetype/builds/windows/visualce/freetype.vcproj<br> +freetype/builds/windows/visualce/index.html<br> +freetype/builds/windows/w32-bcc.mk<br> +freetype/builds/windows/w32-bccd.mk<br> +freetype/builds/windows/w32-dev.mk<br> +freetype/builds/windows/w32-gcc.mk<br> +freetype/builds/windows/w32-icc.mk<br> +freetype/builds/windows/w32-intl.mk<br> +freetype/builds/windows/w32-lcc.mk<br> +freetype/builds/windows/w32-mingw32.mk<br> +freetype/builds/windows/w32-vcc.mk<br> +freetype/builds/windows/w32-wat.mk<br> +freetype/builds/windows/win32-def.mk<br> +freetype/configure<br> +freetype/devel/ft2build.h<br> +freetype/devel/ftoption.h<br> +freetype/docs/CHANGES<br> +freetype/docs/CUSTOMIZE<br> +freetype/docs/DEBUG<br> +freetype/docs/FTL.TXT<br> +freetype/docs/INSTALL<br> +freetype/docs/INSTALL.ANY<br> +freetype/docs/INSTALL.CROSS<br> +freetype/docs/INSTALL.GNU<br> +freetype/docs/INSTALL.UNIX<br> +freetype/docs/INSTALL.VMS<br> +freetype/docs/LICENSE.TXT<br> +freetype/docs/TODO<br> +freetype/docs/VERSION.DLL<br> +freetype/docs/VERSIONS.TXT<br> +freetype/docs/formats.txt<br> +freetype/docs/freetype-config.1<br> +freetype/docs/raster.txt<br> +freetype/docs/reference/ft2-auto_hinter.html<br> +freetype/docs/reference/ft2-base_interface.html<br> +freetype/docs/reference/ft2-basic_types.html<br> +freetype/docs/reference/ft2-bdf_fonts.html<br> +freetype/docs/reference/ft2-bitmap_handling.html<br> +freetype/docs/reference/ft2-bzip2.html<br> +freetype/docs/reference/ft2-cache_subsystem.html<br> +freetype/docs/reference/ft2-cff_driver.html<br> +freetype/docs/reference/ft2-cid_fonts.html<br> +freetype/docs/reference/ft2-computations.html<br> +freetype/docs/reference/ft2-error_code_values.html<br> +freetype/docs/reference/ft2-error_enumerations.html<br> +freetype/docs/reference/ft2-font_formats.html<br> +freetype/docs/reference/ft2-gasp_table.html<br> +freetype/docs/reference/ft2-glyph_management.html<br> +freetype/docs/reference/ft2-glyph_stroker.html<br> +freetype/docs/reference/ft2-glyph_variants.html<br> +freetype/docs/reference/ft2-gx_validation.html<br> +freetype/docs/reference/ft2-gzip.html<br> +freetype/docs/reference/ft2-header_file_macros.html<br> +freetype/docs/reference/ft2-header_inclusion.html<br> +freetype/docs/reference/ft2-incremental.html<br> +freetype/docs/reference/ft2-index.html<br> +freetype/docs/reference/ft2-lcd_filtering.html<br> +freetype/docs/reference/ft2-list_processing.html<br> +freetype/docs/reference/ft2-lzw.html<br> +freetype/docs/reference/ft2-mac_specific.html<br> +freetype/docs/reference/ft2-module_management.html<br> +freetype/docs/reference/ft2-multiple_masters.html<br> +freetype/docs/reference/ft2-ot_validation.html<br> +freetype/docs/reference/ft2-outline_processing.html<br> +freetype/docs/reference/ft2-pfr_fonts.html<br> +freetype/docs/reference/ft2-quick_advance.html<br> +freetype/docs/reference/ft2-raster.html<br> +freetype/docs/reference/ft2-sfnt_names.html<br> +freetype/docs/reference/ft2-sizes_management.html<br> +freetype/docs/reference/ft2-system_interface.html<br> +freetype/docs/reference/ft2-toc.html<br> +freetype/docs/reference/ft2-truetype_engine.html<br> +freetype/docs/reference/ft2-truetype_tables.html<br> +freetype/docs/reference/ft2-tt_driver.html<br> +freetype/docs/reference/ft2-type1_tables.html<br> +freetype/docs/reference/ft2-user_allocation.html<br> +freetype/docs/reference/ft2-version.html<br> +freetype/docs/reference/ft2-winfnt_fonts.html<br> +freetype/docs/release<br> +freetype/include/config/ftconfig.h<br> +freetype/include/config/ftheader.h<br> +freetype/include/config/ftmodule.h<br> +freetype/include/config/ftoption.h<br> +freetype/include/config/ftstdlib.h<br> +freetype/include/freetype.h<br> +freetype/include/freetype/config/ftconfig.h<br> +freetype/include/freetype/config/ftheader.h<br> +freetype/include/freetype/config/ftmodule.h<br> +freetype/include/freetype/config/ftoption.h<br> +freetype/include/freetype/config/ftstdlib.h<br> +freetype/include/freetype/freetype.h<br> +freetype/include/freetype/ftadvanc.h<br> +freetype/include/freetype/ftautoh.h<br> +freetype/include/freetype/ftbbox.h<br> +freetype/include/freetype/ftbdf.h<br> +freetype/include/freetype/ftbitmap.h<br> +freetype/include/freetype/ftbzip2.h<br> +freetype/include/freetype/ftcache.h<br> +freetype/include/freetype/ftcffdrv.h<br> +freetype/include/freetype/ftchapters.h<br> +freetype/include/freetype/ftcid.h<br> +freetype/include/freetype/fterrdef.h<br> +freetype/include/freetype/fterrors.h<br> +freetype/include/freetype/ftfntfmt.h<br> +freetype/include/freetype/ftgasp.h<br> +freetype/include/freetype/ftglyph.h<br> +freetype/include/freetype/ftgxval.h<br> +freetype/include/freetype/ftgzip.h<br> +freetype/include/freetype/ftimage.h<br> +freetype/include/freetype/ftincrem.h<br> +freetype/include/freetype/ftlcdfil.h<br> +freetype/include/freetype/ftlist.h<br> +freetype/include/freetype/ftlzw.h<br> +freetype/include/freetype/ftmac.h<br> +freetype/include/freetype/ftmm.h<br> +freetype/include/freetype/ftmodapi.h<br> +freetype/include/freetype/ftmoderr.h<br> +freetype/include/freetype/ftotval.h<br> +freetype/include/freetype/ftoutln.h<br> +freetype/include/freetype/ftpfr.h<br> +freetype/include/freetype/ftrender.h<br> +freetype/include/freetype/ftsizes.h<br> +freetype/include/freetype/ftsnames.h<br> +freetype/include/freetype/ftstroke.h<br> +freetype/include/freetype/ftsynth.h<br> +freetype/include/freetype/ftsystem.h<br> +freetype/include/freetype/fttrigon.h<br> +freetype/include/freetype/ftttdrv.h<br> +freetype/include/freetype/fttypes.h<br> +freetype/include/freetype/ftwinfnt.h<br> +freetype/include/freetype/internal/autohint.h<br> +freetype/include/freetype/internal/ftcalc.h<br> +freetype/include/freetype/internal/ftdebug.h<br> +freetype/include/freetype/internal/ftdriver.h<br> +freetype/include/freetype/internal/ftgloadr.h<br> +freetype/include/freetype/internal/fthash.h<br> +freetype/include/freetype/internal/ftmemory.h<br> +freetype/include/freetype/internal/ftobjs.h<br> +freetype/include/freetype/internal/ftpic.h<br> +freetype/include/freetype/internal/ftrfork.h<br> +freetype/include/freetype/internal/ftserv.h<br> +freetype/include/freetype/internal/ftstream.h<br> +freetype/include/freetype/internal/fttrace.h<br> +freetype/include/freetype/internal/ftvalid.h<br> +freetype/include/freetype/internal/internal.h<br> +freetype/include/freetype/internal/psaux.h<br> +freetype/include/freetype/internal/pshints.h<br> +freetype/include/freetype/internal/services/svbdf.h<br> +freetype/include/freetype/internal/services/svcid.h<br> +freetype/include/freetype/internal/services/svfntfmt.h<br> +freetype/include/freetype/internal/services/svgldict.h<br> +freetype/include/freetype/internal/services/svgxval.h<br> +freetype/include/freetype/internal/services/svkern.h<br> +freetype/include/freetype/internal/services/svmm.h<br> +freetype/include/freetype/internal/services/svotval.h<br> +freetype/include/freetype/internal/services/svpfr.h<br> +freetype/include/freetype/internal/services/svpostnm.h<br> +freetype/include/freetype/internal/services/svprop.h<br> +freetype/include/freetype/internal/services/svpscmap.h<br> +freetype/include/freetype/internal/services/svpsinfo.h<br> +freetype/include/freetype/internal/services/svsfnt.h<br> +freetype/include/freetype/internal/services/svttcmap.h<br> +freetype/include/freetype/internal/services/svtteng.h<br> +freetype/include/freetype/internal/services/svttglyf.h<br> +freetype/include/freetype/internal/services/svwinfnt.h<br> +freetype/include/freetype/internal/sfnt.h<br> +freetype/include/freetype/internal/t1types.h<br> +freetype/include/freetype/internal/tttypes.h<br> +freetype/include/freetype/t1tables.h<br> +freetype/include/freetype/ttnameid.h<br> +freetype/include/freetype/tttables.h<br> +freetype/include/freetype/tttags.h<br> +freetype/include/freetype/ttunpat.h<br> +freetype/include/ft2build.h<br> +freetype/include/ftadvanc.h<br> +freetype/include/ftautoh.h<br> +freetype/include/ftbbox.h<br> +freetype/include/ftbdf.h<br> +freetype/include/ftbitmap.h<br> +freetype/include/ftbzip2.h<br> +freetype/include/ftcache.h<br> +freetype/include/ftcffdrv.h<br> +freetype/include/ftchapters.h<br> +freetype/include/ftcid.h<br> +freetype/include/fterrdef.h<br> +freetype/include/fterrors.h<br> +freetype/include/ftgasp.h<br> +freetype/include/ftglyph.h<br> +freetype/include/ftgxval.h<br> +freetype/include/ftgzip.h<br> +freetype/include/ftimage.h<br> +freetype/include/ftincrem.h<br> +freetype/include/ftlcdfil.h<br> +freetype/include/ftlist.h<br> +freetype/include/ftlzw.h<br> +freetype/include/ftmac.h<br> +freetype/include/ftmm.h<br> +freetype/include/ftmodapi.h<br> +freetype/include/ftmoderr.h<br> +freetype/include/ftotval.h<br> +freetype/include/ftoutln.h<br> +freetype/include/ftpfr.h<br> +freetype/include/ftrender.h<br> +freetype/include/ftsizes.h<br> +freetype/include/ftsnames.h<br> +freetype/include/ftstroke.h<br> +freetype/include/ftsynth.h<br> +freetype/include/ftsystem.h<br> +freetype/include/fttrigon.h<br> +freetype/include/ftttdrv.h<br> +freetype/include/fttypes.h<br> +freetype/include/ftwinfnt.h<br> +freetype/include/ftxf86.h<br> +freetype/include/internal/autohint.h<br> +freetype/include/internal/ftcalc.h<br> +freetype/include/internal/ftdebug.h<br> +freetype/include/internal/ftdriver.h<br> +freetype/include/internal/ftgloadr.h<br> +freetype/include/internal/ftmemory.h<br> +freetype/include/internal/ftobjs.h<br> +freetype/include/internal/ftpic.h<br> +freetype/include/internal/ftrfork.h<br> +freetype/include/internal/ftserv.h<br> +freetype/include/internal/ftstream.h<br> +freetype/include/internal/fttrace.h<br> +freetype/include/internal/ftvalid.h<br> +freetype/include/internal/internal.h<br> +freetype/include/internal/psaux.h<br> +freetype/include/internal/pshints.h<br> +freetype/include/internal/services/svbdf.h<br> +freetype/include/internal/services/svcid.h<br> +freetype/include/internal/services/svgldict.h<br> +freetype/include/internal/services/svgxval.h<br> +freetype/include/internal/services/svkern.h<br> +freetype/include/internal/services/svmm.h<br> +freetype/include/internal/services/svotval.h<br> +freetype/include/internal/services/svpfr.h<br> +freetype/include/internal/services/svpostnm.h<br> +freetype/include/internal/services/svprop.h<br> +freetype/include/internal/services/svpscmap.h<br> +freetype/include/internal/services/svpsinfo.h<br> +freetype/include/internal/services/svsfnt.h<br> +freetype/include/internal/services/svttcmap.h<br> +freetype/include/internal/services/svtteng.h<br> +freetype/include/internal/services/svttglyf.h<br> +freetype/include/internal/services/svwinfnt.h<br> +freetype/include/internal/services/svxf86nm.h<br> +freetype/include/internal/sfnt.h<br> +freetype/include/internal/t1types.h<br> +freetype/include/internal/tttypes.h<br> +freetype/include/t1tables.h<br> +freetype/include/ttnameid.h<br> +freetype/include/tttables.h<br> +freetype/include/tttags.h<br> +freetype/include/ttunpat.h<br> +freetype/modules.cfg<br> +freetype/src/Jamfile<br> +freetype/src/autofit/Jamfile<br> +freetype/src/autofit/afangles.c<br> +freetype/src/autofit/afblue.c<br> +freetype/src/autofit/afblue.cin<br> +freetype/src/autofit/afblue.dat<br> +freetype/src/autofit/afblue.h<br> +freetype/src/autofit/afblue.hin<br> +freetype/src/autofit/afcjk.c<br> +freetype/src/autofit/afcjk.h<br> +freetype/src/autofit/afcover.h<br> +freetype/src/autofit/afdummy.c<br> +freetype/src/autofit/afdummy.h<br> +freetype/src/autofit/aferrors.h<br> +freetype/src/autofit/afglobal.c<br> +freetype/src/autofit/afglobal.h<br> +freetype/src/autofit/afhints.c<br> +freetype/src/autofit/afhints.h<br> +freetype/src/autofit/afindic.c<br> +freetype/src/autofit/afindic.h<br> +freetype/src/autofit/aflatin.c<br> +freetype/src/autofit/aflatin.h<br> +freetype/src/autofit/aflatin2.c<br> +freetype/src/autofit/aflatin2.h<br> +freetype/src/autofit/afloader.c<br> +freetype/src/autofit/afloader.h<br> +freetype/src/autofit/afmodule.c<br> +freetype/src/autofit/afmodule.h<br> +freetype/src/autofit/afpic.c<br> +freetype/src/autofit/afpic.h<br> +freetype/src/autofit/afranges.c<br> +freetype/src/autofit/afranges.h<br> +freetype/src/autofit/afscript.h<br> +freetype/src/autofit/afshaper.c<br> +freetype/src/autofit/afshaper.h<br> +freetype/src/autofit/afstyles.h<br> +freetype/src/autofit/aftypes.h<br> +freetype/src/autofit/afwarp.c<br> +freetype/src/autofit/afwarp.h<br> +freetype/src/autofit/afwrtsys.h<br> +freetype/src/autofit/autofit.c<br> +freetype/src/autofit/hbshim.c<br> +freetype/src/autofit/hbshim.h<br> +freetype/src/autofit/module.mk<br> +freetype/src/autofit/rules.mk<br> +freetype/src/base/Jamfile<br> +freetype/src/base/basepic.c<br> +freetype/src/base/basepic.h<br> +freetype/src/base/ftadvanc.c<br> +freetype/src/base/ftapi.c<br> +freetype/src/base/ftbase.c<br> +freetype/src/base/ftbase.h<br> +freetype/src/base/ftbbox.c<br> +freetype/src/base/ftbdf.c<br> +freetype/src/base/ftbitmap.c<br> +freetype/src/base/ftcalc.c<br> +freetype/src/base/ftcid.c<br> +freetype/src/base/ftdbgmem.c<br> +freetype/src/base/ftdebug.c<br> +freetype/src/base/ftfntfmt.c<br> +freetype/src/base/ftfstype.c<br> +freetype/src/base/ftgasp.c<br> +freetype/src/base/ftgloadr.c<br> +freetype/src/base/ftglyph.c<br> +freetype/src/base/ftgxval.c<br> +freetype/src/base/fthash.c<br> +freetype/src/base/ftinit.c<br> +freetype/src/base/ftlcdfil.c<br> +freetype/src/base/ftmac.c<br> +freetype/src/base/ftmm.c<br> +freetype/src/base/ftobjs.c<br> +freetype/src/base/ftotval.c<br> +freetype/src/base/ftoutln.c<br> +freetype/src/base/ftpatent.c<br> +freetype/src/base/ftpfr.c<br> +freetype/src/base/ftpic.c<br> +freetype/src/base/ftrfork.c<br> +freetype/src/base/ftsnames.c<br> +freetype/src/base/ftstream.c<br> +freetype/src/base/ftstroke.c<br> +freetype/src/base/ftsynth.c<br> +freetype/src/base/ftsystem.c<br> +freetype/src/base/fttrigon.c<br> +freetype/src/base/fttype1.c<br> +freetype/src/base/ftutil.c<br> +freetype/src/base/ftwinfnt.c<br> +freetype/src/base/ftxf86.c<br> +freetype/src/base/md5.c<br> +freetype/src/base/rules.mk<br> +freetype/src/bdf/Jamfile<br> +freetype/src/bdf/bdf.h<br> +freetype/src/bdf/bdfdrivr.c<br> +freetype/src/bdf/bdfdrivr.h<br> +freetype/src/bdf/bdferror.h<br> +freetype/src/bdf/bdflib.c<br> +freetype/src/bdf/rules.mk<br> +freetype/src/bzip2/Jamfile<br> +freetype/src/bzip2/ftbzip2.c<br> +freetype/src/bzip2/rules.mk<br> +freetype/src/cache/Jamfile<br> +freetype/src/cache/ftcache.c<br> +freetype/src/cache/ftcbasic.c<br> +freetype/src/cache/ftccache.c<br> +freetype/src/cache/ftccache.h<br> +freetype/src/cache/ftccback.h<br> +freetype/src/cache/ftccmap.c<br> +freetype/src/cache/ftcerror.h<br> +freetype/src/cache/ftcglyph.c<br> +freetype/src/cache/ftcglyph.h<br> +freetype/src/cache/ftcimage.c<br> +freetype/src/cache/ftcimage.h<br> +freetype/src/cache/ftcmanag.c<br> +freetype/src/cache/ftcmanag.h<br> +freetype/src/cache/ftcmru.c<br> +freetype/src/cache/ftcmru.h<br> +freetype/src/cache/ftcsbits.c<br> +freetype/src/cache/ftcsbits.h<br> +freetype/src/cache/rules.mk<br> +freetype/src/cff/Jamfile<br> +freetype/src/cff/cf2arrst.c<br> +freetype/src/cff/cf2arrst.h<br> +freetype/src/cff/cf2blues.h<br> +freetype/src/cff/cf2error.h<br> +freetype/src/cff/cf2fixed.h<br> +freetype/src/cff/cf2font.h<br> +freetype/src/cff/cf2ft.c<br> +freetype/src/cff/cf2ft.h<br> +freetype/src/cff/cf2glue.h<br> +freetype/src/cff/cf2hints.c<br> +freetype/src/cff/cf2hints.h<br> +freetype/src/cff/cf2intrp.c<br> +freetype/src/cff/cf2intrp.h<br> +freetype/src/cff/cf2read.h<br> +freetype/src/cff/cf2stack.c<br> +freetype/src/cff/cf2stack.h<br> +freetype/src/cff/cf2types.h<br> +freetype/src/cff/cff.c<br> +freetype/src/cff/cffcmap.c<br> +freetype/src/cff/cffcmap.h<br> +freetype/src/cff/cffdrivr.c<br> +freetype/src/cff/cffdrivr.h<br> +freetype/src/cff/cfferrs.h<br> +freetype/src/cff/cffgload.c<br> +freetype/src/cff/cffgload.h<br> +freetype/src/cff/cffload.c<br> +freetype/src/cff/cffload.h<br> +freetype/src/cff/cffobjs.c<br> +freetype/src/cff/cffobjs.h<br> +freetype/src/cff/cffparse.c<br> +freetype/src/cff/cffparse.h<br> +freetype/src/cff/cffpic.c<br> +freetype/src/cff/cffpic.h<br> +freetype/src/cff/cfftoken.h<br> +freetype/src/cff/cfftypes.h<br> +freetype/src/cff/module.mk<br> +freetype/src/cff/rules.mk<br> +freetype/src/cid/Jamfile<br> +freetype/src/cid/ciderrs.h<br> +freetype/src/cid/cidgload.c<br> +freetype/src/cid/cidgload.h<br> +freetype/src/cid/cidload.c<br> +freetype/src/cid/cidload.h<br> +freetype/src/cid/cidobjs.c<br> +freetype/src/cid/cidobjs.h<br> +freetype/src/cid/cidparse.c<br> +freetype/src/cid/cidparse.h<br> +freetype/src/cid/cidriver.c<br> +freetype/src/cid/cidriver.h<br> +freetype/src/cid/cidtoken.h<br> +freetype/src/cid/module.mk<br> +freetype/src/cid/rules.mk<br> +freetype/src/cid/type1cid.c<br> +freetype/src/gxvalid/Jamfile<br> +freetype/src/gxvalid/README<br> +freetype/src/gxvalid/gxvalid.c<br> +freetype/src/gxvalid/gxvalid.h<br> +freetype/src/gxvalid/gxvbsln.c<br> +freetype/src/gxvalid/gxvcommn.c<br> +freetype/src/gxvalid/gxvcommn.h<br> +freetype/src/gxvalid/gxverror.h<br> +freetype/src/gxvalid/gxvfeat.c<br> +freetype/src/gxvalid/gxvfeat.h<br> +freetype/src/gxvalid/gxvfgen.c<br> +freetype/src/gxvalid/gxvjust.c<br> +freetype/src/gxvalid/gxvkern.c<br> +freetype/src/gxvalid/gxvlcar.c<br> +freetype/src/gxvalid/gxvmod.c<br> +freetype/src/gxvalid/gxvmod.h<br> +freetype/src/gxvalid/gxvmort.c<br> +freetype/src/gxvalid/gxvmort.h<br> +freetype/src/gxvalid/gxvmort0.c<br> +freetype/src/gxvalid/gxvmort1.c<br> +freetype/src/gxvalid/gxvmort2.c<br> +freetype/src/gxvalid/gxvmort4.c<br> +freetype/src/gxvalid/gxvmort5.c<br> +freetype/src/gxvalid/gxvmorx.c<br> +freetype/src/gxvalid/gxvmorx.h<br> +freetype/src/gxvalid/gxvmorx0.c<br> +freetype/src/gxvalid/gxvmorx1.c<br> +freetype/src/gxvalid/gxvmorx2.c<br> +freetype/src/gxvalid/gxvmorx4.c<br> +freetype/src/gxvalid/gxvmorx5.c<br> +freetype/src/gxvalid/gxvopbd.c<br> +freetype/src/gxvalid/gxvprop.c<br> +freetype/src/gxvalid/gxvtrak.c<br> +freetype/src/gxvalid/module.mk<br> +freetype/src/gxvalid/rules.mk<br> +freetype/src/gzip/Jamfile<br> +freetype/src/gzip/ftgzip.c<br> +freetype/src/gzip/rules.mk<br> +freetype/src/gzip/zlib.h<br> +freetype/src/lzw/Jamfile<br> +freetype/src/lzw/ftlzw.c<br> +freetype/src/lzw/ftzopen.c<br> +freetype/src/lzw/ftzopen.h<br> +freetype/src/lzw/rules.mk<br> +freetype/src/otvalid/Jamfile<br> +freetype/src/otvalid/module.mk<br> +freetype/src/otvalid/otvalid.c<br> +freetype/src/otvalid/otvalid.h<br> +freetype/src/otvalid/otvbase.c<br> +freetype/src/otvalid/otvcommn.c<br> +freetype/src/otvalid/otvcommn.h<br> +freetype/src/otvalid/otverror.h<br> +freetype/src/otvalid/otvgdef.c<br> +freetype/src/otvalid/otvgpos.c<br> +freetype/src/otvalid/otvgpos.h<br> +freetype/src/otvalid/otvgsub.c<br> +freetype/src/otvalid/otvjstf.c<br> +freetype/src/otvalid/otvmath.c<br> +freetype/src/otvalid/otvmod.c<br> +freetype/src/otvalid/otvmod.h<br> +freetype/src/otvalid/rules.mk<br> +freetype/src/pcf/Jamfile<br> +freetype/src/pcf/pcf.h<br> +freetype/src/pcf/pcfdrivr.c<br> +freetype/src/pcf/pcfdrivr.h<br> +freetype/src/pcf/pcferror.h<br> +freetype/src/pcf/pcfread.c<br> +freetype/src/pcf/pcfread.h<br> +freetype/src/pcf/pcfutil.h<br> +freetype/src/pcf/rules.mk<br> +freetype/src/pfr/Jamfile<br> +freetype/src/pfr/module.mk<br> +freetype/src/pfr/pfr.c<br> +freetype/src/pfr/pfrcmap.c<br> +freetype/src/pfr/pfrcmap.h<br> +freetype/src/pfr/pfrdrivr.c<br> +freetype/src/pfr/pfrdrivr.h<br> +freetype/src/pfr/pfrerror.h<br> +freetype/src/pfr/pfrgload.c<br> +freetype/src/pfr/pfrgload.h<br> +freetype/src/pfr/pfrload.c<br> +freetype/src/pfr/pfrload.h<br> +freetype/src/pfr/pfrobjs.c<br> +freetype/src/pfr/pfrobjs.h<br> +freetype/src/pfr/pfrsbit.c<br> +freetype/src/pfr/pfrsbit.h<br> +freetype/src/pfr/pfrtypes.h<br> +freetype/src/pfr/rules.mk<br> +freetype/src/psaux/Jamfile<br> +freetype/src/psaux/afmparse.c<br> +freetype/src/psaux/afmparse.h<br> +freetype/src/psaux/module.mk<br> +freetype/src/psaux/psaux.c<br> +freetype/src/psaux/psauxerr.h<br> +freetype/src/psaux/psauxmod.c<br> +freetype/src/psaux/psauxmod.h<br> +freetype/src/psaux/psconv.c<br> +freetype/src/psaux/psconv.h<br> +freetype/src/psaux/psobjs.c<br> +freetype/src/psaux/psobjs.h<br> +freetype/src/psaux/rules.mk<br> +freetype/src/psaux/t1cmap.c<br> +freetype/src/psaux/t1cmap.h<br> +freetype/src/psaux/t1decode.c<br> +freetype/src/psaux/t1decode.h<br> +freetype/src/pshinter/Jamfile<br> +freetype/src/pshinter/module.mk<br> +freetype/src/pshinter/pshalgo.c<br> +freetype/src/pshinter/pshalgo.h<br> +freetype/src/pshinter/pshglob.c<br> +freetype/src/pshinter/pshglob.h<br> +freetype/src/pshinter/pshinter.c<br> +freetype/src/pshinter/pshmod.c<br> +freetype/src/pshinter/pshmod.h<br> +freetype/src/pshinter/pshnterr.h<br> +freetype/src/pshinter/pshpic.c<br> +freetype/src/pshinter/pshpic.h<br> +freetype/src/pshinter/pshrec.c<br> +freetype/src/pshinter/pshrec.h<br> +freetype/src/pshinter/rules.mk<br> +freetype/src/psnames/Jamfile<br> +freetype/src/psnames/module.mk<br> +freetype/src/psnames/psmodule.c<br> +freetype/src/psnames/psmodule.h<br> +freetype/src/psnames/psnamerr.h<br> +freetype/src/psnames/psnames.c<br> +freetype/src/psnames/pspic.c<br> +freetype/src/psnames/pspic.h<br> +freetype/src/psnames/pstables.h<br> +freetype/src/psnames/rules.mk<br> +freetype/src/raster/Jamfile<br> +freetype/src/raster/ftmisc.h<br> +freetype/src/raster/ftraster.c<br> +freetype/src/raster/ftraster.h<br> +freetype/src/raster/ftrend1.c<br> +freetype/src/raster/ftrend1.h<br> +freetype/src/raster/module.mk<br> +freetype/src/raster/raster.c<br> +freetype/src/raster/rasterrs.h<br> +freetype/src/raster/rastpic.c<br> +freetype/src/raster/rastpic.h<br> +freetype/src/raster/rules.mk<br> +freetype/src/sfnt/Jamfile<br> +freetype/src/sfnt/module.mk<br> +freetype/src/sfnt/pngshim.c<br> +freetype/src/sfnt/pngshim.h<br> +freetype/src/sfnt/rules.mk<br> +freetype/src/sfnt/sfdriver.c<br> +freetype/src/sfnt/sfdriver.h<br> +freetype/src/sfnt/sferrors.h<br> +freetype/src/sfnt/sfnt.c<br> +freetype/src/sfnt/sfntpic.c<br> +freetype/src/sfnt/sfntpic.h<br> +freetype/src/sfnt/sfobjs.c<br> +freetype/src/sfnt/sfobjs.h<br> +freetype/src/sfnt/ttbdf.c<br> +freetype/src/sfnt/ttbdf.h<br> +freetype/src/sfnt/ttcmap.c<br> +freetype/src/sfnt/ttcmap.h<br> +freetype/src/sfnt/ttcmapc.h<br> +freetype/src/sfnt/ttkern.c<br> +freetype/src/sfnt/ttkern.h<br> +freetype/src/sfnt/ttload.c<br> +freetype/src/sfnt/ttload.h<br> +freetype/src/sfnt/ttmtx.c<br> +freetype/src/sfnt/ttmtx.h<br> +freetype/src/sfnt/ttpost.c<br> +freetype/src/sfnt/ttpost.h<br> +freetype/src/sfnt/ttsbit.c<br> +freetype/src/sfnt/ttsbit.h<br> +freetype/src/smooth/Jamfile<br> +freetype/src/smooth/ftgrays.c<br> +freetype/src/smooth/ftgrays.h<br> +freetype/src/smooth/ftsmerrs.h<br> +freetype/src/smooth/ftsmooth.c<br> +freetype/src/smooth/ftsmooth.h<br> +freetype/src/smooth/ftspic.c<br> +freetype/src/smooth/ftspic.h<br> +freetype/src/smooth/module.mk<br> +freetype/src/smooth/rules.mk<br> +freetype/src/smooth/smooth.c<br> +freetype/src/tools/afblue.pl<br> +freetype/src/tools/apinames.c<br> +freetype/src/tools/chktrcmp.py<br> +freetype/src/tools/docmaker/content.py<br> +freetype/src/tools/docmaker/docmaker.py<br> +freetype/src/tools/docmaker/formatter.py<br> +freetype/src/tools/docmaker/sources.py<br> +freetype/src/tools/docmaker/tohtml.py<br> +freetype/src/tools/docmaker/utils.py<br> +freetype/src/tools/ftfuzzer/README<br> +freetype/src/tools/ftfuzzer/ftfuzzer.cc<br> +freetype/src/tools/ftfuzzer/ftmutator.cc<br> +freetype/src/tools/ftfuzzer/rasterfuzzer.cc<br> +freetype/src/tools/ftfuzzer/runinput.cc<br> +freetype/src/tools/ftrandom/Makefile<br> +freetype/src/tools/ftrandom/README<br> +freetype/src/tools/ftrandom/ftrandom.c<br> +freetype/src/tools/glnames.py<br> +freetype/src/tools/no-copyright<br> +freetype/src/tools/test_afm.c<br> +freetype/src/tools/update-copyright<br> +freetype/src/tools/update-copyright-year<br> +freetype/src/truetype/Jamfile<br> +freetype/src/truetype/module.mk<br> +freetype/src/truetype/rules.mk<br> +freetype/src/truetype/truetype.c<br> +freetype/src/truetype/ttdriver.c<br> +freetype/src/truetype/ttdriver.h<br> +freetype/src/truetype/tterrors.h<br> +freetype/src/truetype/ttgload.c<br> +freetype/src/truetype/ttgload.h<br> +freetype/src/truetype/ttgxvar.c<br> +freetype/src/truetype/ttgxvar.h<br> +freetype/src/truetype/ttinterp.c<br> +freetype/src/truetype/ttinterp.h<br> +freetype/src/truetype/ttobjs.c<br> +freetype/src/truetype/ttobjs.h<br> +freetype/src/truetype/ttpic.c<br> +freetype/src/truetype/ttpic.h<br> +freetype/src/truetype/ttpload.c<br> +freetype/src/truetype/ttpload.h<br> +freetype/src/truetype/ttsubpix.c<br> +freetype/src/truetype/ttsubpix.h<br> +freetype/src/type1/Jamfile<br> +freetype/src/type1/module.mk<br> +freetype/src/type1/rules.mk<br> +freetype/src/type1/t1afm.c<br> +freetype/src/type1/t1afm.h<br> +freetype/src/type1/t1driver.c<br> +freetype/src/type1/t1driver.h<br> +freetype/src/type1/t1errors.h<br> +freetype/src/type1/t1gload.c<br> +freetype/src/type1/t1gload.h<br> +freetype/src/type1/t1load.c<br> +freetype/src/type1/t1load.h<br> +freetype/src/type1/t1objs.c<br> +freetype/src/type1/t1objs.h<br> +freetype/src/type1/t1parse.c<br> +freetype/src/type1/t1parse.h<br> +freetype/src/type1/t1tokens.h<br> +freetype/src/type1/type1.c<br> +freetype/src/type42/Jamfile<br> +freetype/src/type42/module.mk<br> +freetype/src/type42/rules.mk<br> +freetype/src/type42/t42drivr.c<br> +freetype/src/type42/t42drivr.h<br> +freetype/src/type42/t42error.h<br> +freetype/src/type42/t42objs.c<br> +freetype/src/type42/t42objs.h<br> +freetype/src/type42/t42parse.c<br> +freetype/src/type42/t42parse.h<br> +freetype/src/type42/t42types.h<br> +freetype/src/type42/type42.c<br> +freetype/src/winfonts/Jamfile<br> +freetype/src/winfonts/fnterrs.h<br> +freetype/src/winfonts/module.mk<br> +freetype/src/winfonts/rules.mk<br> +freetype/src/winfonts/winfnt.c<br> +freetype/src/winfonts/winfnt.h<br> +freetype/vms_make.com<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-15 09:58:58 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99c6a18eb430a9091c79369b2bdd2952d481c7d5">99c6a18eb430a9091c79369b2bdd2952d481c7d5</a> +<blockquote> +<p> + Document use of string for subsituted CIDFont name<br> +<br> + Add a comment and example at the top of cidfmap with details of dealing with<br> + CIDFont names with spaces in them.<br> +<br> +Resource/Init/cidfmap<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-07 14:52:28 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=23dc144b3c3d3dbafd83dca7b9c09e6977b774d6">23dc144b3c3d3dbafd83dca7b9c09e6977b774d6</a> +<blockquote> +<p> + Update lcms2 to 2.8<br> +<br> + Tweak makefile for lcms2 2.8<br> +<br> + Delete mac file system specific files from lcms2 tree<br> +<br> + Bug 697056: Fix LCMS static init of critical section.<br> +<br> + LCMS2 relies on being able to statically init a mutex<br> + (actually a Critical Section on windows). Windows has<br> + no official API for statically initing a critical<br> + section, so lcms2 uses a hack (albeit it a safe one)<br> + to do this.<br> +<br> + Unfortunately ApplicationVerifier (and presumably other<br> + similar tools) don't understand this idiom, and get<br> + confused by not seeing an explicit initialisation call.<br> + This is causing problems for a customer.<br> +<br> + This commit therefore introduces code to properly<br> + initialise it on Windows. In order to avoid any possible<br> + multithreaded startup issues, we use the Windows<br> + InterlockedCompareExchangePointer API (introduced in<br> + Windows XP).<br> +<br> + If anyone wants to avoid this code (so they can work<br> + on pre-Windows XP), they can build with:<br> +<br> + CMS_RELY_ON_WINDOWS_STATIC_MUTEX_INIT<br> +<br> + defined, and get the old behaviour. We automatically<br> + set this when building with any version of MSVC older<br> + than VS2005 (i.e. those that don't have that API<br> + available).<br> +<br> +base/lcms2.mak<br> +lcms2/AUTHORS<br> +lcms2/ChangeLog<br> +lcms2/Makefile.am<br> +lcms2/Makefile.in<br> +lcms2/Projects/BorlandC_5.5/lcms2.rc<br> +lcms2/Projects/BorlandC_5.5/lcmsdll.lst<br> +lcms2/Projects/VC2008/jpegicc/jpegicc.vcproj<br> +lcms2/Projects/VC2008/lcms2.rc<br> +lcms2/Projects/VC2008/lcms2.sln<br> +lcms2/Projects/VC2008/lcms2_DLL/lcms2_DLL.vcproj<br> +lcms2/Projects/VC2008/lcms2_static/lcms2_static.vcproj<br> +lcms2/Projects/VC2008/linkicc/linkicc.vcproj<br> +lcms2/Projects/VC2008/psicc/psicc.vcproj<br> +lcms2/Projects/VC2008/resource.h<br> +lcms2/Projects/VC2008/testbed/testbed.vcproj<br> +lcms2/Projects/VC2008/tiffdiff/tiffdiff.vcproj<br> +lcms2/Projects/VC2008/tifficc/tifficc.vcproj<br> +lcms2/Projects/VC2008/transicc/transicc.vcproj<br> +lcms2/Projects/VC2010/jpegicc/jpegicc.vcproj<br> +lcms2/Projects/VC2010/jpegicc/jpegicc.vcxproj<br> +lcms2/Projects/VC2010/lcms2.rc<br> +lcms2/Projects/VC2010/lcms2.sln<br> +lcms2/Projects/VC2010/lcms2_DLL/lcms2_DLL.vcproj<br> +lcms2/Projects/VC2010/lcms2_static/lcms2_static.vcproj<br> +lcms2/Projects/VC2010/linkicc/linkicc.vcproj<br> +lcms2/Projects/VC2010/psicc/psicc.vcproj<br> +lcms2/Projects/VC2010/testbed/testbed.vcproj<br> +lcms2/Projects/VC2010/tiffdiff/tiffdiff.vcproj<br> +lcms2/Projects/VC2010/tifficc/tifficc.vcproj<br> +lcms2/Projects/VC2010/transicc/transicc.vcproj<br> +lcms2/Projects/VC2012/jpegicc/jpegicc.vcproj<br> +lcms2/Projects/VC2012/jpegicc/jpegicc.vcxproj<br> +lcms2/Projects/VC2012/jpegicc/jpegicc.vcxproj.filters<br> +lcms2/Projects/VC2012/lcms2.rc<br> +lcms2/Projects/VC2012/lcms2.sln<br> +lcms2/Projects/VC2012/lcms2_DLL/lcms2_DLL.vcproj<br> +lcms2/Projects/VC2012/lcms2_DLL/lcms2_DLL.vcxproj<br> +lcms2/Projects/VC2012/lcms2_DLL/lcms2_DLL.vcxproj.filters<br> +lcms2/Projects/VC2012/lcms2_static/lcms2_static.vcproj<br> +lcms2/Projects/VC2012/lcms2_static/lcms2_static.vcxproj<br> +lcms2/Projects/VC2012/lcms2_static/lcms2_static.vcxproj.filters<br> +lcms2/Projects/VC2012/linkicc/linkicc.vcproj<br> +lcms2/Projects/VC2012/linkicc/linkicc.vcxproj<br> +lcms2/Projects/VC2012/linkicc/linkicc.vcxproj.filters<br> +lcms2/Projects/VC2012/psicc/psicc.vcproj<br> +lcms2/Projects/VC2012/psicc/psicc.vcxproj<br> +lcms2/Projects/VC2012/psicc/psicc.vcxproj.filters<br> +lcms2/Projects/VC2012/resource.h<br> +lcms2/Projects/VC2012/testbed/testbed.vcproj<br> +lcms2/Projects/VC2012/testbed/testbed.vcxproj<br> +lcms2/Projects/VC2012/testbed/testbed.vcxproj.filters<br> +lcms2/Projects/VC2012/tiffdiff/tiffdiff.vcproj<br> +lcms2/Projects/VC2012/tiffdiff/tiffdiff.vcxproj<br> +lcms2/Projects/VC2012/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2/Projects/VC2012/tifficc/tifficc.vcproj<br> +lcms2/Projects/VC2012/tifficc/tifficc.vcxproj<br> +lcms2/Projects/VC2012/tifficc/tifficc.vcxproj.filters<br> +lcms2/Projects/VC2012/transicc/transicc.vcproj<br> +lcms2/Projects/VC2012/transicc/transicc.vcxproj<br> +lcms2/Projects/VC2012/transicc/transicc.vcxproj.filters<br> +lcms2/Projects/VC2013/jpegicc/jpegicc.vcxproj<br> +lcms2/Projects/VC2013/jpegicc/jpegicc.vcxproj.filters<br> +lcms2/Projects/VC2013/lcms2.rc<br> +lcms2/Projects/VC2013/lcms2.sln<br> +lcms2/Projects/VC2013/lcms2_DLL/lcms2_DLL.vcxproj<br> +lcms2/Projects/VC2013/lcms2_DLL/lcms2_DLL.vcxproj.filters<br> +lcms2/Projects/VC2013/lcms2_static/lcms2_static.vcxproj<br> +lcms2/Projects/VC2013/lcms2_static/lcms2_static.vcxproj.filters<br> +lcms2/Projects/VC2013/linkicc/linkicc.vcxproj<br> +lcms2/Projects/VC2013/linkicc/linkicc.vcxproj.filters<br> +lcms2/Projects/VC2013/psicc/psicc.vcxproj<br> +lcms2/Projects/VC2013/psicc/psicc.vcxproj.filters<br> +lcms2/Projects/VC2013/resource.h<br> +lcms2/Projects/VC2013/testbed/testbed.vcxproj<br> +lcms2/Projects/VC2013/testbed/testbed.vcxproj.filters<br> +lcms2/Projects/VC2013/tiffdiff/tiffdiff.vcxproj<br> +lcms2/Projects/VC2013/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2/Projects/VC2013/tifficc/tifficc.vcxproj<br> +lcms2/Projects/VC2013/tifficc/tifficc.vcxproj.filters<br> +lcms2/Projects/VC2013/transicc/transicc.vcxproj<br> +lcms2/Projects/VC2013/transicc/transicc.vcxproj.filters<br> +lcms2/Projects/VC2015/jpegicc/jpegicc.vcxproj<br> +lcms2/Projects/VC2015/jpegicc/jpegicc.vcxproj.filters<br> +lcms2/Projects/VC2015/lcms2.rc<br> +lcms2/Projects/VC2015/lcms2.sln<br> +lcms2/Projects/VC2015/lcms2_DLL/lcms2_DLL.vcxproj<br> +lcms2/Projects/VC2015/lcms2_DLL/lcms2_DLL.vcxproj.filters<br> +lcms2/Projects/VC2015/lcms2_static/lcms2_static.vcxproj<br> +lcms2/Projects/VC2015/lcms2_static/lcms2_static.vcxproj.filters<br> +lcms2/Projects/VC2015/linkicc/linkicc.vcxproj<br> +lcms2/Projects/VC2015/linkicc/linkicc.vcxproj.filters<br> +lcms2/Projects/VC2015/psicc/psicc.vcxproj<br> +lcms2/Projects/VC2015/psicc/psicc.vcxproj.filters<br> +lcms2/Projects/VC2015/resource.h<br> +lcms2/Projects/VC2015/testbed/testbed.vcxproj<br> +lcms2/Projects/VC2015/testbed/testbed.vcxproj.filters<br> +lcms2/Projects/VC2015/tiffdiff/tiffdiff.vcxproj<br> +lcms2/Projects/VC2015/tiffdiff/tiffdiff.vcxproj.filters<br> +lcms2/Projects/VC2015/tifficc/tifficc.vcxproj<br> +lcms2/Projects/VC2015/tifficc/tifficc.vcxproj.filters<br> +lcms2/Projects/VC2015/transicc/transicc.vcxproj<br> +lcms2/Projects/VC2015/transicc/transicc.vcxproj.filters<br> +lcms2/Projects/cppcheck/lcms2.cppcheck<br> +lcms2/Projects/mac/LittleCMS/._Info.plist<br> +lcms2/Projects/mac/LittleCMS/._LittleCMS.xcodeproj<br> +lcms2/Projects/mac/LittleCMS/English.lproj/InfoPlist.strings<br> +lcms2/Projects/mac/LittleCMS/Info.plist<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.mode1v3<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.pbxuser<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.pbxproj<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/contents.xcworkspacedata<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/UserInterfaceState.xcuserstate<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/WorkspaceSettings.xcsettings<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/LittleCMS.xcscheme<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/testbed.xcscheme<br> +lcms2/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/xcschememanagement.plist<br> +lcms2/Projects/mac/LittleCMS/LittleCMS_Prefix.pch<br> +lcms2/Projects/mac/LittleCMS/TestBed-Info.plist<br> +lcms2/aclocal.m4<br> +lcms2/autogen.sh<br> +lcms2/compile<br> +lcms2/config.guess<br> +lcms2/config.sub<br> +lcms2/configure<br> +lcms2/configure.ac<br> +lcms2/depcomp<br> +lcms2/doc/LittleCMS2.6 API.pdf<br> +lcms2/doc/LittleCMS2.6 Plugin API.pdf<br> +lcms2/doc/LittleCMS2.6 tutorial.pdf<br> +lcms2/doc/LittleCMS2.8 API.pdf<br> +lcms2/doc/LittleCMS2.8 Plugin API.pdf<br> +lcms2/doc/LittleCMS2.8 tutorial.pdf<br> +lcms2/doc/src.zip<br> +lcms2/include/Makefile.in<br> +lcms2/include/lcms2.h<br> +lcms2/include/lcms2_plugin.h<br> +lcms2/install-sh<br> +lcms2/ltmain.sh<br> +lcms2/m4/acx_pthread.m4<br> +lcms2/m4/libtool.m4<br> +lcms2/m4/ltoptions.m4<br> +lcms2/m4/ltsugar.m4<br> +lcms2/m4/ltversion.m4<br> +lcms2/m4/lt~obsolete.m4<br> +lcms2/missing<br> +lcms2/src/Makefile.am<br> +lcms2/src/Makefile.in<br> +lcms2/src/cmsalpha.c<br> +lcms2/src/cmscam02.c<br> +lcms2/src/cmscgats.c<br> +lcms2/src/cmscnvrt.c<br> +lcms2/src/cmserr.c<br> +lcms2/src/cmsgamma.c<br> +lcms2/src/cmsgmt.c<br> +lcms2/src/cmshalf.c<br> +lcms2/src/cmsintrp.c<br> +lcms2/src/cmsio0.c<br> +lcms2/src/cmsio1.c<br> +lcms2/src/cmslut.c<br> +lcms2/src/cmsmd5.c<br> +lcms2/src/cmsmtrx.c<br> +lcms2/src/cmsnamed.c<br> +lcms2/src/cmsopt.c<br> +lcms2/src/cmspack.c<br> +lcms2/src/cmspcs.c<br> +lcms2/src/cmsplugin.c<br> +lcms2/src/cmsps2.c<br> +lcms2/src/cmssamp.c<br> +lcms2/src/cmssm.c<br> +lcms2/src/cmstypes.c<br> +lcms2/src/cmsvirt.c<br> +lcms2/src/cmswtpnt.c<br> +lcms2/src/cmsxform.c<br> +lcms2/src/extra_xform.h<br> +lcms2/src/lcms2.def<br> +lcms2/src/lcms2_internal.h<br> +lcms2/testbed/Makefile.am<br> +lcms2/testbed/Makefile.in<br> +lcms2/testbed/crayons.icc<br> +lcms2/testbed/ibm-t61.icc<br> +lcms2/testbed/new.icc<br> +lcms2/testbed/test1.icc<br> +lcms2/testbed/test2.icc<br> +lcms2/testbed/test3.icc<br> +lcms2/testbed/test4.icc<br> +lcms2/testbed/test5.icc<br> +lcms2/testbed/testcms2.c<br> +lcms2/testbed/testcms2.h<br> +lcms2/testbed/testplugin.c<br> +lcms2/testbed/toosmall.icc<br> +lcms2/testbed/zoo_icc.c<br> +lcms2/utils/common/utils.h<br> +lcms2/utils/common/vprf.c<br> +lcms2/utils/delphi/delphidemo.res<br> +lcms2/utils/delphi/demo1.dfm<br> +lcms2/utils/delphi/lcms2.dll<br> +lcms2/utils/delphi/lcms2dll.pas<br> +lcms2/utils/jpgicc/LICENSE_iccjpeg<br> +lcms2/utils/jpgicc/Makefile.am<br> +lcms2/utils/jpgicc/Makefile.in<br> +lcms2/utils/jpgicc/iccjpeg.c<br> +lcms2/utils/jpgicc/jpgicc.1<br> +lcms2/utils/jpgicc/jpgicc.c<br> +lcms2/utils/linkicc/Makefile.am<br> +lcms2/utils/linkicc/Makefile.in<br> +lcms2/utils/linkicc/linkicc.1<br> +lcms2/utils/linkicc/linkicc.c<br> +lcms2/utils/psicc/Makefile.am<br> +lcms2/utils/psicc/Makefile.in<br> +lcms2/utils/psicc/psicc.1<br> +lcms2/utils/psicc/psicc.c<br> +lcms2/utils/samples/Makefile.am<br> +lcms2/utils/samples/roundtrip.c<br> +lcms2/utils/samples/wtpt.c<br> +lcms2/utils/tificc/Makefile.am<br> +lcms2/utils/tificc/Makefile.in<br> +lcms2/utils/tificc/tifdiff.c<br> +lcms2/utils/tificc/tificc.1<br> +lcms2/utils/tificc/tificc.c<br> +lcms2/utils/transicc/Makefile.am<br> +lcms2/utils/transicc/Makefile.in<br> +lcms2/utils/transicc/transicc.1<br> +lcms2/utils/transicc/transicc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-07 10:42:05 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=64ad2a92195fd05e9ba34995ae994eb250fc9c7c">64ad2a92195fd05e9ba34995ae994eb250fc9c7c</a> +<blockquote> +<p> + Update libpng to 1.6.26<br> +<br> +libpng/ANNOUNCE<br> +libpng/CHANGES<br> +libpng/CMakeLists.txt<br> +libpng/INSTALL<br> +libpng/LICENSE<br> +libpng/Makefile.am<br> +libpng/Makefile.in<br> +libpng/README<br> +libpng/TODO<br> +libpng/arm/arm_init.c<br> +libpng/arm/filter_neon_intrinsics.c<br> +libpng/autogen.sh<br> +libpng/config.h.in<br> +libpng/configure<br> +libpng/configure.ac<br> +libpng/contrib/README.txt<br> +libpng/contrib/arm-neon/README<br> +libpng/contrib/arm-neon/linux-auxv.c<br> +libpng/contrib/arm-neon/linux.c<br> +libpng/contrib/conftest/pngcp.dfa<br> +libpng/contrib/examples/README.txt<br> +libpng/contrib/examples/iccfrompng.c<br> +libpng/contrib/examples/pngpixel.c<br> +libpng/contrib/examples/pngtopng.c<br> +libpng/contrib/examples/simpleover.c<br> +libpng/contrib/gregbook/README<br> +libpng/contrib/gregbook/readpng2.c<br> +libpng/contrib/gregbook/rpng-win.c<br> +libpng/contrib/gregbook/rpng2-win.c<br> +libpng/contrib/gregbook/rpng2-x.c<br> +libpng/contrib/intel/INSTALL<br> +libpng/contrib/intel/filter_sse2_intrinsics.c<br> +libpng/contrib/intel/intel_init.c<br> +libpng/contrib/intel/intel_sse.patch<br> +libpng/contrib/libtests/fakepng.c<br> +libpng/contrib/libtests/makepng.c<br> +libpng/contrib/libtests/pngimage.c<br> +libpng/contrib/libtests/pngstest-errors.h<br> +libpng/contrib/libtests/pngstest.c<br> +libpng/contrib/libtests/pngunknown.c<br> +libpng/contrib/libtests/pngvalid.c<br> +libpng/contrib/libtests/readpng.c<br> +libpng/contrib/libtests/tarith.c<br> +libpng/contrib/libtests/timepng.c<br> +libpng/contrib/mips-msa/README<br> +libpng/contrib/mips-msa/linux.c<br> +libpng/contrib/pngminus/README<br> +libpng/contrib/pngminus/png2pnm.c<br> +libpng/contrib/pngminus/pnm2png.c<br> +libpng/contrib/pngsuite/README<br> +libpng/contrib/tools/README.txt<br> +libpng/contrib/tools/chkfmt<br> +libpng/contrib/tools/genpng.c<br> +libpng/contrib/tools/png-fix-itxt.c<br> +libpng/contrib/tools/pngcp.c<br> +libpng/contrib/tools/pngfix.c<br> +libpng/contrib/tools/reindent<br> +libpng/contrib/visupng/PngFile.c<br> +libpng/example.c<br> +libpng/libpng-manual.txt<br> +libpng/libpng.3<br> +libpng/libpngpf.3<br> +libpng/mips/filter_msa_intrinsics.c<br> +libpng/mips/mips_init.c<br> +libpng/png.5<br> +libpng/png.c<br> +libpng/png.h<br> +libpng/pngconf.h<br> +libpng/pngdebug.h<br> +libpng/pngerror.c<br> +libpng/pngget.c<br> +libpng/pnginfo.h<br> +libpng/pngmem.c<br> +libpng/pngpread.c<br> +libpng/pngpriv.h<br> +libpng/pngread.c<br> +libpng/pngrio.c<br> +libpng/pngrtran.c<br> +libpng/pngrutil.c<br> +libpng/pngset.c<br> +libpng/pngstruct.h<br> +libpng/pngtest.c<br> +libpng/pngtrans.c<br> +libpng/pngwio.c<br> +libpng/pngwrite.c<br> +libpng/pngwtran.c<br> +libpng/pngwutil.c<br> +libpng/projects/vstudio/README.txt<br> +libpng/projects/vstudio/WARNING<br> +libpng/projects/vstudio/libpng/libpng.vcxproj<br> +libpng/projects/vstudio/pnglibconf/pnglibconf.vcxproj<br> +libpng/projects/vstudio/pngstest/pngstest.vcxproj<br> +libpng/projects/vstudio/pngtest/pngtest.vcxproj<br> +libpng/projects/vstudio/pngunknown/pngunknown.vcxproj<br> +libpng/projects/vstudio/pngvalid/pngvalid.vcxproj<br> +libpng/projects/vstudio/readme.txt<br> +libpng/projects/vstudio/zlib.props<br> +libpng/projects/vstudio/zlib/zlib.vcxproj<br> +libpng/scripts/README.txt<br> +libpng/scripts/def.c<br> +libpng/scripts/genchk.cmake.in<br> +libpng/scripts/genout.cmake.in<br> +libpng/scripts/gensrc.cmake.in<br> +libpng/scripts/libpng-config-head.in<br> +libpng/scripts/libpng.pc.in<br> +libpng/scripts/makefile.cegcc<br> +libpng/scripts/makefile.linux<br> +libpng/scripts/makefile.msys<br> +libpng/scripts/makefile.ne12bsd<br> +libpng/scripts/makefile.netbsd<br> +libpng/scripts/makefile.openbsd<br> +libpng/scripts/makefile.sco<br> +libpng/scripts/pnglibconf.dfa<br> +libpng/scripts/pnglibconf.h.prebuilt<br> +libpng/scripts/symbols.def<br> +libpng/scripts/test.cmake.in<br> +libpng/tests/pngimage-full<br> +libpng/tests/pngimage-quick<br> +libpng/tests/pngstest<br> +libpng/tests/pngstest-0g01<br> +libpng/tests/pngstest-0g02<br> +libpng/tests/pngstest-0g04<br> +libpng/tests/pngstest-0g08<br> +libpng/tests/pngstest-0g16<br> +libpng/tests/pngstest-2c08<br> +libpng/tests/pngstest-2c16<br> +libpng/tests/pngstest-3p01<br> +libpng/tests/pngstest-3p02<br> +libpng/tests/pngstest-3p04<br> +libpng/tests/pngstest-3p08<br> +libpng/tests/pngstest-4a08<br> +libpng/tests/pngstest-4a16<br> +libpng/tests/pngstest-6a08<br> +libpng/tests/pngstest-6a16<br> +libpng/tests/pngstest-error<br> +libpng/tests/pngtest<br> +libpng/tests/pngunknown-IDAT<br> +libpng/tests/pngunknown-discard<br> +libpng/tests/pngunknown-if-safe<br> +libpng/tests/pngunknown-sAPI<br> +libpng/tests/pngunknown-sTER<br> +libpng/tests/pngunknown-save<br> +libpng/tests/pngunknown-vpAg<br> +libpng/tests/pngvalid-gamma-16-to-8<br> +libpng/tests/pngvalid-gamma-alpha-mode<br> +libpng/tests/pngvalid-gamma-background<br> +libpng/tests/pngvalid-gamma-expand16-alpha-mode<br> +libpng/tests/pngvalid-gamma-expand16-background<br> +libpng/tests/pngvalid-gamma-expand16-transform<br> +libpng/tests/pngvalid-gamma-sbit<br> +libpng/tests/pngvalid-gamma-threshold<br> +libpng/tests/pngvalid-gamma-transform<br> +libpng/tests/pngvalid-progressive-interlace-size<br> +libpng/tests/pngvalid-progressive-interlace-standard<br> +libpng/tests/pngvalid-progressive-interlace-transform<br> +libpng/tests/pngvalid-progressive-standard<br> +libpng/tests/pngvalid-standard<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-22 09:14:28 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1b1e7f3f4abf7a97101ff7f4e2389ca2edd9af0a">1b1e7f3f4abf7a97101ff7f4e2389ca2edd9af0a</a> +<blockquote> +<p> + PDF Interpreter - ensure /Separation ink names are not indirect objects<br> +<br> + Bug #697358 "PDF interpreter throws an error on a colour space"<br> +<br> + Another bizarre file that thinks its a good idea to reference items<br> + as indirect objects instead of a simple inclusion. This time its the<br> + ink name in a /Separation space.<br> +<br> + Simply make sure it is not an indirect object.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-20 13:53:06 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=47294ff5b168d25bfc7db64f51572d64b8ebde91">47294ff5b168d25bfc7db64f51572d64b8ebde91</a> +<blockquote> +<p> + Bug 697345 Blend Color Space Support for Separation devices<br> +<br> + This is a rather large commit that brings support for transparency<br> + blend color spaces to the separation devices. Previously the<br> + transparency compositor always used CMYK for the blend color space<br> + if the output device was a separation device.<br> +<br> + With this commit:<br> +<br> + If the blend space is RGB or Gray based, then we now ensure that the<br> + alternate tint transform is not used when we encounter a separation or DeviceN color space.<br> + (assuming we have not run out of spot color space at the target device). Note that<br> + if the any of the spot colors in a DeviceN color space are CMYK process colorants and the<br> + blend space is Gray or RGB, the alternate tint transform IS used.<br> +<br> + 2) The pdf14 compositor now handles a mixture of additive and subtractive components.<br> + I.e. RGB + spots or Gray + spots.<br> +<br> + 3) If the blend mode is non white preserving or not separable, then the spot colors<br> + use the normal blend mode while the process colorants use the specified blend mode.<br> +<br> + 4) In the process there was a bit of code clean up. But much remains to be cleaned.<br> +<br> +base/gdevdevn.c<br> +base/gdevdevn.h<br> +base/gdevdsha.c<br> +base/gdevp14.c<br> +base/gdevp14.h<br> +base/gscdevn.c<br> +base/gscsepr.c<br> +base/gxblend.c<br> +base/gxblend.h<br> +base/gxblend1.c<br> +base/gxclrast.c<br> +base/gxcmap.h<br> +base/gxdcolor.c<br> +base/gxdevsop.h<br> +base/gxshade6.c<br> +base/lib.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-17 16:45:04 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c9d8618934ebf682f72dd9b3ebef48b2be535a8d">c9d8618934ebf682f72dd9b3ebef48b2be535a8d</a> +<blockquote> +<p> + Change API for put_image<br> +<br> +base/gdevflp.c<br> +base/gdevmpla.c<br> +base/gdevoflt.c<br> +base/gdevp14.c<br> +base/gdevsclass.c<br> +base/gxblend1.c<br> +base/gxdevcli.h<br> +devices/gdevbit.c<br> +devices/gdevpng.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-21 15:43:14 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b33ffc0e958b613cd6ba114d42720694b11219ff">b33ffc0e958b613cd6ba114d42720694b11219ff</a> +<blockquote> +<p> + PDF interpreter - ensure Rect array entries are not indirect objects<br> +<br> + Bug #697357 "Can't handle annots where /Rect entries are indirect"<br> +<br> + The example file has an insanely constructed Rect entry, where not only<br> + is the /Rect value itself an indirect object, but each of the entries<br> + in the array is also an indirect object.<br> +<br> + Here we ensure that the entries in a /Rect for an annotation are<br> + fully resolved.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-21 11:30:50 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=737da8a64a873ea128c5830519d3327baecc6444">737da8a64a873ea128c5830519d3327baecc6444</a> +<blockquote> +<p> + PDF interpreter - when detecting transparent pages, include Form 'Groups'<br> +<br> + Bug #697354 "PDF Interpreter fails to push pdf14 compositor"<br> +<br> + We have an optimisation in the PDF interpreter which ignores page<br> + level Group definitions, as these have no effect on the output.<br> +<br> + However, the way this is performed meant that we also did not detect<br> + Group entries in Form XObjects. So if the only transparency on a page<br> + was a Form XObject with a Group entry, then we would incorrectly<br> + decide that the page had no transparency.<br> +<br> + We do still want to do the performance check at the page level, but its<br> + important that we include Form XObject Groups in the resources check. So<br> + here we specifically check Form XObjects to see if they have a Group.<br> +<br> + This produces differences in a few files, surprisingly miniscule<br> + differences. It appears that we have a number of files which include<br> + Forms with Group entries which, as is so often the case with PDF<br> + files produced by naive graphics libraries, don't actually *do* any<br> + real transparency.<br> +<br> + Unfortunately this does mean we now process those files slower than<br> + we did before (and ps2write now produces images for them), but I don't<br> + see any real prospect of detecting pointless transparency at this depth<br> + in a PDF file.<br> +<br> + So the only differences are small colour changes depending on the<br> + ProcessColorModel of the destination device. None of these appear to<br> + be significant to me.<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-16 14:13:18 -0200 +</strong> +<br>Till Kamppeter <till.kamppeter@gmail.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36269a8e76b7b495eba9cc061ebf52163188876a">36269a8e76b7b495eba9cc061ebf52163188876a</a> +<blockquote> +<p> + "rpdl" output device: Allow 5pt tolerance for page size selection<br> +<br> + The "rpdl" printer driver required an exact match of the page size in<br> + points so that the correct command for selecting the page size was<br> + sent to the printer. Otherwise the printer received the command for a<br> + custom size. Tis is fixed now, allowing a 5-point tolerance (Bug<br> + 697348).<br> +<br> +contrib/japanese/gdevrpdl.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-15 15:06:58 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99e9ca317adbd28b5faf3e9eda4c63d636478f43">99e9ca317adbd28b5faf3e9eda4c63d636478f43</a> +<blockquote> +<p> + Bug 697045: Skip over broken tile data rather than aborting.<br> +<br> +openjpeg/src/lib/openjp2/j2k.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-01 18:50:30 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f6ddae95676585717159445001fda2ebb00db8d">2f6ddae95676585717159445001fda2ebb00db8d</a> +<blockquote> +<p> + Squash compiler warning.<br> +<br> +base/gxccman.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-14 16:59:45 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=90b7603c1afb3ad79a6a0dfee97560b1c3565379">90b7603c1afb3ad79a6a0dfee97560b1c3565379</a> +<blockquote> +<p> + PCL - fix pdfmark parsing for PUTFILE<br> +<br> + Bug #697285 "Not able to produce a valid PDF/A - Invalid ColorSpace error opening a PDF"<br> +<br> + We have a special pdfmark type '/PUTFILE' for dealing with files,<br> + because unlike PostScript we can't deal with these as file objects in<br> + PJL. The code reading the file had a bug, I think caused by altering<br> + for error detection.<br> +<br> + Fixed here, and returned the error back up the tree. However, note that<br> + the PCL interpreter still ignores error returns from PJL parsing.<br> +<br> + No differences expected.<br> +<br> +pcl/pl/plparams.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-14 15:06:49 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0f6067d2531298060392d0e25fa759d320e03021">0f6067d2531298060392d0e25fa759d320e03021</a> +<blockquote> +<p> + ps2write - don't try to alter /pagesave when modifying media size<br> +<br> + Bug #697245 " Generated postscript by ps2write causes limitcheck for save error"<br> +<br> + When altering the media size for a page the code defined the save object<br> + 'pagesave' with the new media size. I believe the intention was probably<br> + to have the new media size persist, in order to avoid calling setpagdevice<br> + for every subsequent page with the modified media.<br> +<br> + Unfortunately, this does not remove the prior 'save' object attached to<br> + /pagesave. The only way to get rid of that is to actually 'restore' it.<br> +<br> + So, fundamentally, we need to remove the definition of pagesave from<br> + the code which sets the media size. We can achieve the same effect in a<br> + rather more roundabout fashion by also moving the definition of pagesave<br> + within the page stream to a point after the definition of the page<br> + dictionary.<br> +<br> + Less neat, but it works.<br> +<br> + For some obscure reason this results in some pages being rendered<br> + very slightly different sizes on the cluster. I've checked and the<br> + current sizes are correct. I have no idea why this was wrong before<br> + and I'm not interested enough to go looking, since they are now<br> + correct.<br> +<br> +devices/vector/gdevpdf.c<br> +devices/vector/opdfread.h<br> +lib/opdfread.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-14 10:14:01 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8cefc79359e14fdb8b967697bba33b754e83bcad">8cefc79359e14fdb8b967697bba33b754e83bcad</a> +<blockquote> +<p> + pdfwrite - fix calculation of a bounding box<br> +<br> + Bug #697237 "ps2pdf not producing correct PDF with a rotated character in the PS"<br> +<br> + The code for detecting a glyph which is completely clipped out of the<br> + output had a fault; after calculating the Font BoundingBox in current<br> + user space, it only considered three of the points of the resulting<br> + rectangle to calculate the largest rectangle.<br> +<br> + This erroneous rectangle was then used to decide if a glyph was entirely<br> + outside the clipping area. Since the top left corner was not considered<br> + a sufficiently large glyph rotated to an acute enough anti-clockwise<br> + angle could appear to be totally clipped when in fact it is only<br> + partially clipped.<br> +<br> + Fix this here by considering all four points.<br> +<br> + This show two very minor progressions in Quality Logic tests and some<br> + PXL->PDF conversions are now larger. The reason is that we use the<br> + font bounding box and a couple of glyphs are now considered to be<br> + unclipped when in fact they are totally clipped out, but we can't tell.<br> + This results in not only the glyphs but also a font being embedded<br> + in the output and increasing the size slightly.<br> +<br> +devices/vector/gdevpdte.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-12 11:24:18 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a46245139253b2ec607fcd06c549a6293d05a3a8">a46245139253b2ec607fcd06c549a6293d05a3a8</a> +<blockquote> +<p> + Fix a bug in device subclassing<br> +<br> + If we free the memory used by a child device, we must not then try<br> + to write to that memory.<br> +<br> + Chanced upon while working on bug #697279<br> +<br> +base/gdevdflt.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-10 17:45:38 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=513d6fd7ddfc5a59fbf8bf6ce72eda6c97fea9f8">513d6fd7ddfc5a59fbf8bf6ce72eda6c97fea9f8</a> +<blockquote> +<p> + remove a bunch of now unused variables from the earlier shading code<br> + commit.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-10 14:42:49 +0000 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8a26fa67398970f357e1292310ef20556a8e5d96">8a26fa67398970f357e1292310ef20556a8e5d96</a> +<blockquote> +<p> + Fix 'corner' radial gradient case.<br> +<br> + Bug #697144 " Some incorrectly rendered radial shadings"<br> +<br> + This is to address 'radialshade4.ps, but fixed (the customer had managed<br> + to create incorrect PostScript for this specific test, see radialshade4b.ps).<br> +<br> + In the case where the two circles defining a radial gradient are<br> + tangential, and the larger circle has 'extend' set to true, the extended<br> + area should be limited to the tangent which touches the two circles, and<br> + the smaller circle should not be filled.<br> +<br> + Getting this corre4ct with our existing method for drawing gradients<br> + has been difficult. It 'looks like' all gradients are defined in terms<br> + of tensor patches, rather than having a dedicated plotter for each<br> + gradient type.<br> +<br> + In order to generate a proper 'truncated' annulus for this case, it is<br> + necessary to construct a number of different 'quadrilaterals' and fit<br> + them carefully around the larger circle. To ensure no 'cracks' appear<br> + between the quads, we must also take care to ensure that they join at<br> + horizontal or vertical boundaries (in user space).<br> +<br> + There's some trigonometry involved to get this correct, and to avoid<br> + having to check for infinity returns from tan(alpha), and generally<br> + avoid the complex work required in the general case, we handle the<br> + cases where the tangent point of the circles is on a horizontal or<br> + vertical axis.<br> +<br> + This passes cluster tests, the customer test suite, and my own hand<br> + created PostScript files which exercise the code rather more thoroughly<br> +<br> + No differences expected.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-09 22:02:47 -0800 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d4d8b7d51f79b47d21d3c82fe652a79e1f890df5">d4d8b7d51f79b47d21d3c82fe652a79e1f890df5</a> +<blockquote> +<p> + Fix bug 697323, Segfault after pattern with transparency.<br> +<br> + While the pdfwrite device usage may have contributed to the path being<br> + taken, the segfault was in the GC and was due to a pattern-clist device<br> + still existing in the allocator, but no longer referenced (at least as<br> + seen with a debug build. The fix was to set gx_device_retain false for<br> + the adev (pattern accum device, which may be a pattern-clist device) for<br> + the case where the pattern uses transparency so the freeing the saved<br> + gstate would free the pdf14 device and it would rc_decrement its target,<br> + thus freeing the accumulator device.<br> +<br> +base/gxpcmap.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-07 14:03:30 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0e2523b9dae517f91bd7da78323e5207d099a10e">0e2523b9dae517f91bd7da78323e5207d099a10e</a> +<blockquote> +<p> + Fix expat build on Windows<br> +<br> + The new version of expat uses time/date API calls to seed a hash function. That<br> + means we need a extra CFLAG (/DWIN32) and to drop the /Za CFLAG as we do for<br> + LCMS2.<br> +<br> +base/expat.mak<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 10:40:36 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c9f7be4f4de8e98df9d34ff8e4a7f781c0a33899">c9f7be4f4de8e98df9d34ff8e4a7f781c0a33899</a> +<blockquote> +<p> + Bring master up to date with 9.20 release branch<br> +<br> + Docs, dates, copyrights etc.<br> +<br> + Copyrights, dates etc<br> +<br> + Update News and changelog<br> +<br> + Fix a type in the release comments<br> +<br> + Changelog update for 9.20 RC2<br> +<br> + Update date and product string for 9.20 release<br> +<br> + Copyrights, dates etc<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/font2c.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +man/wftopfa.1<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-04 13:18:21 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=21b582ca561214aa9c5b9c8987a1c0cdce43ace6">21b582ca561214aa9c5b9c8987a1c0cdce43ace6</a> +<blockquote> +<p> + Add expat endian settings.<br> +<br> + And fix the logic for the LCMS2 endian setting (noticed in passing).<br> +<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-04 12:41:02 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c99d0ad7d5f5187e5e0279b6f9c8092798badc2f">c99d0ad7d5f5187e5e0279b6f9c8092798badc2f</a> +<blockquote> +<p> + Bug 697181: allow xps build with shared expat.<br> +<br> +Makefile.in<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-04 12:13:08 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=00b5d81646bb936577cbea2476e13f0a5dd4b9f1">00b5d81646bb936577cbea2476e13f0a5dd4b9f1</a> +<blockquote> +<p> + Update to expat 2.2.0<br> +<br> +expat/CMake.README<br> +expat/CMakeLists.txt<br> +expat/COPYING<br> +expat/Changes<br> +expat/ConfigureChecks.cmake<br> +expat/MANIFEST<br> +expat/Makefile.in<br> +expat/README<br> +expat/aclocal.m4<br> +expat/amiga/Makefile<br> +expat/amiga/README.txt<br> +expat/amiga/expat_68k.c<br> +expat/amiga/expat_68k.h<br> +expat/amiga/expat_68k_handler_stubs.c<br> +expat/amiga/expat_base.h<br> +expat/amiga/expat_lib.c<br> +expat/amiga/expat_vectors.c<br> +expat/amiga/launch.c<br> +expat/amiga/stdlib.c<br> +expat/bcb5/elements.bpr<br> +expat/bcb5/expat.bpr<br> +expat/bcb5/expat.mak<br> +expat/bcb5/expat_static.bpr<br> +expat/bcb5/expat_static.mak<br> +expat/bcb5/expatw.bpr<br> +expat/bcb5/expatw.mak<br> +expat/bcb5/expatw_static.bpr<br> +expat/bcb5/expatw_static.mak<br> +expat/bcb5/outline.bpr<br> +expat/bcb5/xmlwf.bpr<br> +expat/bcb5/xmlwf.mak<br> +expat/configure<br> +expat/configure.ac<br> +expat/configure.in<br> +expat/conftools/PrintPath<br> +expat/conftools/ac_c_bigendian_cross.m4<br> +expat/conftools/config.guess<br> +expat/conftools/config.sub<br> +expat/conftools/expat.m4<br> +expat/conftools/get-version.sh<br> +expat/conftools/install-sh<br> +expat/conftools/libtool.m4<br> +expat/conftools/ltmain.sh<br> +expat/conftools/mkinstalldirs<br> +expat/doc/expat.png<br> +expat/doc/reference.html<br> +expat/doc/valid-xhtml10.png<br> +expat/doc/xmlwf.1<br> +expat/doc/xmlwf.sgml<br> +expat/doc/xmlwf.xml<br> +expat/examples/elements.c<br> +expat/examples/elements.dsp<br> +expat/examples/outline.c<br> +expat/examples/outline.dsp<br> +expat/expat.dsw<br> +expat/expat.pc.in<br> +expat/expat_config.h.cmake<br> +expat/expat_config.h.in<br> +expat/lib/amigaconfig.h<br> +expat/lib/expat.dsp<br> +expat/lib/expat.h<br> +expat/lib/expat_external.h<br> +expat/lib/expat_static.dsp<br> +expat/lib/expatw.dsp<br> +expat/lib/expatw_static.dsp<br> +expat/lib/internal.h<br> +expat/lib/libexpat.def<br> +expat/lib/libexpatw.def<br> +expat/lib/xmlparse.c<br> +expat/lib/xmlrole.c<br> +expat/lib/xmltok.c<br> +expat/lib/xmltok.h<br> +expat/lib/xmltok_impl.c<br> +expat/m4/libtool.m4<br> +expat/m4/ltoptions.m4<br> +expat/m4/ltsugar.m4<br> +expat/m4/ltversion.m4<br> +expat/m4/lt~obsolete.m4<br> +expat/tests/README.txt<br> +expat/tests/benchmark/README.txt<br> +expat/tests/benchmark/benchmark.dsp<br> +expat/tests/chardata.c<br> +expat/tests/minicheck.c<br> +expat/tests/minicheck.h<br> +expat/tests/runtests.c<br> +expat/tests/xmltest.sh<br> +expat/win32/README.txt<br> +expat/win32/expat.iss<br> +expat/xmlwf/codepage.c<br> +expat/xmlwf/readfilemap.c<br> +expat/xmlwf/unixfilemap.c<br> +expat/xmlwf/xmlfile.c<br> +expat/xmlwf/xmlwf.c<br> +expat/xmlwf/xmlwf.dsp<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-03 13:09:27 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a73e3cf1ca91bbdb51d5a999a491e58fb9a7ce35">a73e3cf1ca91bbdb51d5a999a491e58fb9a7ce35</a> +<blockquote> +<p> + Bug 697286: handle GlyphDirectory as an array<br> +<br> + For high level devices that need to copy CIDFonts, we need to establish the<br> + highest CID in a given CIDFont. If the font has a GlyphDirectory dictionary<br> + the only way to do so is to iterate through the keys to find the highest.<br> +<br> + The code handling this ignored that the GlyphDirectory could be an array,<br> + which confused the dictionary content iterator, and caused a segfault.<br> +<br> + In the case of an array, set the high CID to the highest index available in the<br> + array.<br> +<br> +psi/zfcid.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-02 16:19:02 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dc62c90930512f4b571f68c9110022b234cbd411">dc62c90930512f4b571f68c9110022b234cbd411</a> +<blockquote> +<p> + Bug 697186: Tweak to previous JPEG fix.<br> +<br> + Only clamp the DC coefficient. This shouldn't make a difference<br> + in any real world cases, but is more correct.<br> +<br> +jpeg/jidctint.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-11-01 18:40:04 +0000 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8dcec8cc076a0cf8350ca7a6ec1d3136812e2a24">8dcec8cc076a0cf8350ca7a6ec1d3136812e2a24</a> +<blockquote> +<p> + Bug 697186: Workaround JPEG lib bug.<br> +<br> + Commit fix for overflow. Awaiting response from IJG.<br> +<br> +jpeg/jidctint.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-26 16:35:38 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1eebbfa373d295bdd2bad88aaef1edc368450568">1eebbfa373d295bdd2bad88aaef1edc368450568</a> +<blockquote> +<p> + Bug 697231: Introduce caching to use of clipping paths.<br> +<br> + When we create a clipping device from a path, we copy over the<br> + pointers to the rectangle list, and start searching them from<br> + the start.<br> +<br> + This means that if we perform an operation that causes lots of<br> + calls to something with the same clipping path (like for instance<br> + a stroke operation with a clipping path that calls down to a fill<br> + path with a clipping path), then we will repeatedly search from<br> + the top of the rectangle list.<br> +<br> + This massively slows stuff down.<br> +<br> + This commit introduces a 'cached' entry in the clipping path<br> + that can be updated after a clipping device has been used to show<br> + the last place in the list that was found. Subsequent creations<br> + start searching from this point.<br> +<br> + This gives us the desired locality of reference, and massively<br> + speeds up the test file.<br> +<br> +base/gxacpath.c<br> +base/gxclip.c<br> +base/gxcpath.c<br> +base/gxcpath.h<br> +base/gxfill.c<br> +base/gzcpath.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-26 12:14:48 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=71629c04758788b238d6ff3537d9708f430a4db7">71629c04758788b238d6ff3537d9708f430a4db7</a> +<blockquote> +<p> + Tweak to clip device nesting.<br> +<br> + Any call through clip_call_fill_path will be safely nested<br> + in terms of the clippers used. Reflect this in the<br> + initialisation of the local device. This avoids an error given<br> + with the next commit.<br> +<br> +base/gxclip.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-26 17:39:29 -0200 +</strong> +<br>Till Kamppeter <till.kamppeter@gmail.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0726780b28920045ee6f344a34bc5e8565bc4ed5">0726780b28920045ee6f344a34bc5e8565bc4ed5</a> +<blockquote> +<p> + "cups" output device: When creating PWG Raster output, always output the bitmap of the full page, ignoring any unprintable margins suggested by the PPD file.<br> +<br> +cups/gdevcups.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-26 08:37:46 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f0b49c3cf4e0602627c4dc5b6ff910074d298398">f0b49c3cf4e0602627c4dc5b6ff910074d298398</a> +<blockquote> +<p> + set GX_DOWNSCALER_PARAMS_DEFAULTS to remaining JPEG devices<br> +<br> + Michael's fix in commit 45268652fcddf2031f5edb592bc61e53d9ac4f5b<br> + resolves the problem for jpeg, but didn't fix the jpeggray or jpegcmyk<br> + devices, as shown by the all devices test.<br> +<br> + I believe copying the same fix to the other devices should resolve those<br> + too.<br> +<br> + No differences expected.<br> +<br> +devices/gdevjpeg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-25 15:34:10 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=45268652fcddf2031f5edb592bc61e53d9ac4f5b">45268652fcddf2031f5edb592bc61e53d9ac4f5b</a> +<blockquote> +<p> + Set GX_DOWNSCALER_PARAMS_DEFAULTS in jpeg<br> +<br> + Fix for crash caused by division by zero<br> +<br> +devices/gdevjpeg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-25 18:25:36 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cb8022f3e15b761adf4bbc78621cf0699f69e21c">cb8022f3e15b761adf4bbc78621cf0699f69e21c</a> +<blockquote> +<p> + Fix SEGV caused by previous commit.<br> +<br> + Running:<br> +<br> + gs --debug<br> +<br> + would cause a SEGV in gs_finit_push_systemdict due to<br> + i_ctx_p being NULL.<br> +<br> +psi/imain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-25 11:16:13 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f3679b53632c5b7b9e9a416311ae82f36645fc9">2f3679b53632c5b7b9e9a416311ae82f36645fc9</a> +<blockquote> +<p> + Bug 697220(2): Fix returning execstackoverflow<br> +<br> + In one case of returning execstackoverflow from the main interpreter loop,<br> + we'd set the interpreter's private count value of objects to execute, *before*<br> + we try to push the ref array onto the stack. As a consequence the object<br> + count was for the new array, but the top of the exec stack was still the<br> + previous array. This meant when we sync'ed the interpreter loop's internal<br> + state with the state in the interpreter context, the size of the top object<br> + on the exec stack could be wrong, causing problems in the garbager - especially<br> + if the length was too long.<br> +<br> + To resolve, move the exec stack bounds check before the count gets set.<br> +<br> +psi/interp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-25 11:10:54 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f09e7022e39412af98602cdfe22adfb34a7fa63">3f09e7022e39412af98602cdfe22adfb34a7fa63</a> +<blockquote> +<p> + Bug 697220(1): Push systemdict onto dict stack before we cleanup.<br> +<br> + As part of shutting down the Postscript interpreter, we run some Postscript<br> + from the C code. We really don't want to stumble across random redefinitions<br> + of operators (especially if the definitions trigger errors) at this point.<br> +<br> + So, push systemdict onto the top of the dict stack before we start our cleanup.<br> +<br> + Do it in C, to further ensure we don't trip over redefinitions in the Postscipt<br> + world.<br> +<br> + This *should* resolve the segfaults, but leaves a garbage collector error<br> +<br> +psi/imain.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-25 11:10:07 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5d1ae930711d492d01110ef054c0add3c7615910">5d1ae930711d492d01110ef054c0add3c7615910</a> +<blockquote> +<p> + Fix BOBBIN undefined warnings.<br> +<br> +base/bobbin.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-23 00:58:23 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3216c2b692fe5a4c87936819b2fe14d0963a347a">3216c2b692fe5a4c87936819b2fe14d0963a347a</a> +<blockquote> +<p> + Bug 697144: Fix fix for previous radial shading fix.<br> +<br> + This fixes the final case in page_create_color.ps<br> +<br> + In some cases R_tensor_annulus can be called twice; avoid<br> + flipping function_arg_shift back and forth.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-22 15:47:35 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5915f971fa47c8ad1561e403bc7aacd86325c428">5915f971fa47c8ad1561e403bc7aacd86325c428</a> +<blockquote> +<p> + Bug 697144: Fix radial shadings broken by previous fix.<br> +<br> + The previous fix addressed the fact that monotonicity of a<br> + filled quad was being tested based on splitting on u rather<br> + than v (or vice versa). It turns out that in some<br> + circumstances (when circles are entirely nested), we reverse<br> + u and v, and hence need to reverse the test.<br> +<br> + The previous fix did not allow for this.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-21 17:00:15 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=898cdaedf52a37c84923d75aa2942e48b0fec91c">898cdaedf52a37c84923d75aa2942e48b0fec91c</a> +<blockquote> +<p> + Bug 697144: Fix radialshade2.ps<br> +<br> + Many many moons ago, a fix was committed for bug 690831. The<br> + commit message for that was lost in the great svn -> git<br> + migration, but the bug itself makes the history clear.<br> +<br> + Looking back at this again now, it appears that the fix was<br> + incorrect. Ghostscript was in fact doing the right thing by<br> + the letter of the standard, but Acrobat was applying a fudge<br> + factor.<br> +<br> + When filling a radial shade, the code tests to see if the<br> + two circles are nested. If so, then when the shade is 'extended',<br> + the entire area outside the final circle is filled. If not,<br> + a different fill operation has to happen.<br> +<br> + The file given in the bug has a shade where the two circles are<br> + very close to being nested, but are not strictly so. Acrobat is<br> + choosing to treat them as if they were.<br> +<br> + We therefore revert the code to 'unbreak' it, and adjust the<br> + fudge factor in our code to give the same results as Acrobat does.<br> +<br> + This causes no changes in the cluster tests.<br> +<br> +base/gxshade1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-01-25 10:59:23 +0000 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c3c4bf022a631be939ebb4bf6f59e41514cb1e48">c3c4bf022a631be939ebb4bf6f59e41514cb1e48</a> +<blockquote> +<p> + Bug 696508: improve configure cross compile support<br> +<br> + This is a squashing of the commits on the branch:<br> +<br> + CCAUX-configure<br> +<br> + This allows CCAUX and related settings to be set on the configure command<br> + line, or in the environment.<br> +<br> + Also, using configure to guess at creating an arch.h file which gets used<br> + rather than genarch generating one. A couple of things in that file will<br> + not be as accurate as using genarch, but those are rare, and almost<br> + certainly for outdated systems (such as whether floats use IEEE<br> + representation).<br> +<br> + Better documentation to follow, but as an example, building for Android would<br> + work with:<br> +<br> + ./configure --host=arm-linux-gnu --build=x86_64-linux-gnu \<br> + CC=/opt/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc \<br> + CFLAGS="--sysroot=/home/cliddell/bin/android-ndk-r10e/platforms/android-18/arch-arm -MMD -MP -MF -fpic \<br> + -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp \<br> + -mfpu=vfpv3-d16 -mthumb -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Wa,--noexecstack" LDFLAGS=" \<br> + --sysroot=/home/cliddell/bin/android-ndk-r10e/platforms/android-18/arch-arm -MMD -MP -MF -fpic -ffunction-sections \<br> + -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb \<br> + -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Wa,--noexecstack" CCAUX=gcc CFLAGSAUX=" "<br> +<br> +.gitignore<br> +Makefile.in<br> +arch/arch_autoconf.h.in<br> +base/gsroprun.c<br> +base/unix-aux.mak<br> +base/unix-end.mak<br> +configure.ac<br> +xps/xps.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-20 16:45:09 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0845a1c90f7a22a5b50fddbf7809d985b98290cd">0845a1c90f7a22a5b50fddbf7809d985b98290cd</a> +<blockquote> +<p> + Bug 697144: Fix radialshade1.ps<br> +<br> + When filling a radial shading, we form 4 tensor patches, one for<br> + each quadrant. The points for these are represented as poles of<br> + the tensor patches as p->poles[v][u].<br> +<br> + One quadrant might look like (excuse the ascii art)<br> +<br> + J I H G p->poles[0][0] = A p->poles[3][0] = J<br> + F p->poles[0][1] = B p->poles[2][0] = K<br> + K ED p->poles[0][2] = C p->poles[1][0] = L<br> + p->poles[0][3] = D<br> + C p->poles[1][3] = E (plus 4 more points<br> + p->poles[2][3] = F internal to the<br> + B p->poles[3][3] = G patch, not shown<br> + p->poles[3][2] = H here)<br> + L A p->poles[3][1] = I<br> +<br> + Thus 'u' controls how far along the radius of the radial shading<br> + we are, and 'v' controls how far 'around' the shading we are.<br> +<br> + The shading code first subdivides the patch on v (using the<br> + split_patch routine). This gives us a succession of slices running<br> + from the centre of the radial fill to the outside (like slices of<br> + pizza).<br> +<br> + It then subdivides these slices (using split_slice) to give small<br> + quadrangles to fill.<br> +<br> + The code then checks to see whether these quadrangles need to be<br> + further divided by checking to see whether the color change across<br> + such quadrangles is monotonic or not. If it is, and the quadrangles<br> + are 'not big' (for some definition of big) then it is considered<br> + reasonable to fill them using a linear fill.<br> +<br> + For simple radial fills, the color changes across 'u' not 'v'.<br> + We thefore check for the color change in the given range to see<br> + if it is monotonic, and if it not, we divide the patch.<br> +<br> + As part of the work for bug 689189 (see commit 36375961a02091)<br> + Igor had identified some uses of the radial fill code where the<br> + tensor patches are constructed such that the color varies across<br> + 'v' rather than 'u', and had therefore amended the code so allow<br> + for this.<br> +<br> + Unfortunately the setup for this appears to have got it wrong<br> + for the normal radial case. Fixing that here solves the problem.<br> +<br> +base/gxshade1.c<br> +base/gxshade6.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-20 11:45:54 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cca05810721874cabcc377615cac050bd775ed37">cca05810721874cabcc377615cac050bd775ed37</a> +<blockquote> +<p> + Add -dNoSeparationFiles to tiffsep device<br> +<br> + If -dNoSeparationFiles is specified when using the tiffsep<br> + device, only the composite file will be created, no<br> + separations are created in this case.<br> +<br> +devices/gdevtsep.c<br> +doc/Devices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-17 16:34:14 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6d1822faa68c17b945aea2713985b7095ca424aa">6d1822faa68c17b945aea2713985b7095ca424aa</a> +<blockquote> +<p> + ASAN segfault: add missing pointer to pclxl_image_enum_t gc info<br> +<br> + The pclxl_image_enum_t stores a pointer to an icclink which is allocated in gc<br> + memory, so the garbager needs to know about that.<br> +<br> +devices/vector/gdevpx.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-17 15:14:54 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e6460567fcec3b4c96dd4912e556e3b846adaef2">e6460567fcec3b4c96dd4912e556e3b846adaef2</a> +<blockquote> +<p> + Refine SAFER file access permissions<br> +<br> + SAFER (amongst other things) is to stop arbitrary file accesses on the host<br> + system (in Postscript terms '%os%....') but it should not limit access to<br> + other Postscript devices (most importantly '%rom%').<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-17 16:21:30 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed425fcd620837bf63a18a3ee2a2202fa91b1207">ed425fcd620837bf63a18a3ee2a2202fa91b1207</a> +<blockquote> +<p> + Add -sPostRenderICCProfile support to tiffsep<br> +<br> + Customer would like to have this capability.<br> +<br> +devices/devs.mak<br> +devices/gdevtsep.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-17 20:10:46 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=937efa62c23c2c79c7487895421041896e8c14b7">937efa62c23c2c79c7487895421041896e8c14b7</a> +<blockquote> +<p> + Fix previous JPEG commit.<br> +<br> + The previous commit did not even compile. I have no idea how<br> + I managed to get that to pass the tests I ran!<br> +<br> + Apologies.<br> +<br> +devices/gdevjpeg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-17 18:11:08 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f14fb471faedbe9657d32743dba609ddd3a0465">6f14fb471faedbe9657d32743dba609ddd3a0465</a> +<blockquote> +<p> + Add Downscaler functionality to jpeg devices.<br> +<br> +devices/gdevjpeg.c<br> +doc/Devices.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-12 14:15:50 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=910f459d535cec757b8e5f541dd39be6fa2fb0c9">910f459d535cec757b8e5f541dd39be6fa2fb0c9</a> +<blockquote> +<p> + Bug 697012: Fix buffer overflow in gxps.<br> +<br> + Port back same fix already applied to muxps.<br> +<br> +xps/xpsglyphs.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-17 10:03:53 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9388ecefe9d8659d8434aa78d07a1fa247c8ea4e">9388ecefe9d8659d8434aa78d07a1fa247c8ea4e</a> +<blockquote> +<p> + Rework openjpeg subsampled decode.<br> +<br> + The current code performs the yuv -> rgb step on the data<br> + within openjpegs buffers. Unfortunately, this means that<br> + subsampled data is "expanded" into rgb, converted, and then<br> + redecimated. The R plane stays intact, and the G and the B<br> + are degraded. The code is then desubsampled again when copying<br> + out into the stream, but the damage has been done.<br> +<br> + This gives awful results.<br> +<br> + Instead here, we simplify the code to decode a row at a time<br> + into a row buffer. We then convert that row buffer to rgb, and<br> + copy that out. We never redecimate the output.<br> +<br> + This looks much better.<br> +<br> +base/sjpx_openjpeg.c<br> +base/sjpx_openjpeg.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-16 11:36:34 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=08b3f4a91fc65f36da13dfb02a1273c70638c6af">08b3f4a91fc65f36da13dfb02a1273c70638c6af</a> +<blockquote> +<p> + Bug 697217(4): deal with negative index in context ops<br> +<br> + In this case the join operator was being passed a negative index.<br> +<br> +psi/zcontext.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-16 11:30:36 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a7a8b148c368d313f913c23a754e14394d6fb5a1">a7a8b148c368d313f913c23a754e14394d6fb5a1</a> +<blockquote> +<p> + Bug 697217(3): guard against stack underflow in debug info dump<br> +<br> + In the event of an error exit, we dump out the contents of the stacks.<br> +<br> + *But* in the event of an error, we can already be into the "guard" entries<br> + below the bottom of the normal operand stack - so protect against that<br> + when dumping out the stack.<br> +<br> +psi/idebug.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-16 13:11:46 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=86ea41068f8ee8930aa169ad3a106db4f7d6c7db">86ea41068f8ee8930aa169ad3a106db4f7d6c7db</a> +<blockquote> +<p> + Bug 697217(2): cleanup exec stack on currentcolor* error<br> +<br> + If an error occurs when retrieving currentcolor values, we have to clean up<br> + the exec stack before returning the error.<br> +<br> +psi/zcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-16 11:18:43 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=060cfdc002d29158d9d7f6c5fb15f187c165d408">060cfdc002d29158d9d7f6c5fb15f187c165d408</a> +<blockquote> +<p> + Bug 697217(1): Match signs when checking lengths in binary sequences<br> +<br> +psi/iscanbin.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-14 15:50:30 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1f6581f9b77868b56a2f6269f3d1440c9eaad8b0">1f6581f9b77868b56a2f6269f3d1440c9eaad8b0</a> +<blockquote> +<p> + Bug 692721: remove SMask specific stuff from form dict<br> +<br> + When we get an SMask group, we have to store the graphics state and the contents<br> + of the ExtGState, and reset all that before we execute the content stream<br> + for the group XObject. So it all gets setup in the correct place, that<br> + information needs to be added to the group's form dictionary.<br> +<br> + It turns out we also need to *remove* these entries from the group's form<br> + dictionary, in case it gets reused as a normal for XObject.<br> +<br> + The gstate and extended gstate values remain in the SMask parameter dictionary,<br> + so any reuse of the SMask will still work correctly.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-14 08:38:29 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3bf51ac09d8759761057bbf1817434415616258e">3bf51ac09d8759761057bbf1817434415616258e</a> +<blockquote> +<p> + pdfwrite - fix SMask handling, when painting with a Pattern<br> +<br> + Bug #697212 "Error in SMask during ExtGState"<br> +<br> + The title is misleading, the error occurs with a Pattern, but there must<br> + be an SMask preceding it. This appears to have been a very long-standing<br> + problem in the code, but it was hidden by ignoring an error return code.<br> + Fixing Coverity reports meant that the return code was actioned, and that<br> + is what revealed the problem.<br> +<br> + When we start a new substream to capture a Pattern PaintProc we need to<br> + reset the 'soft_mask_id' (the ID assigned to the SMask pdfwrite has<br> + created) in the graphics state. If we don't do that then the code (in<br> + effect) tries to handle the SMask twice, once for the correct stream<br> + and once for the pattern PaintProc stream, and this results in the<br> + stack of pdfwrite internal gstate copies becoming unsynchronised, as well<br> + as creating a PDF file with unbalanced q/Q operators.<br> +<br> + Ignoring the return code had masked this problem.<br> +<br> + No differences expected.<br> +<br> +devices/vector/gdevpdfi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-13 16:47:47 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=84fec37351ebd502c70ac16347fae4b1b5f5cbe6">84fec37351ebd502c70ac16347fae4b1b5f5cbe6</a> +<blockquote> +<p> + Fix for Bug 695154<br> +<br> + The pngalpha device should really have its separable_and_linear setting<br> + set to GX_CINFO_UNKNOWN_SEP_LIN. In this case, the device will get its shifting<br> + and mask color info settings set up and in this case the gradient<br> + code will actually work in the manner to which it is designed.<br> +<br> +devices/gdevpng.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-12 11:02:09 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=06add83a38437ccd2e7f0f1deb5e2d7bc7a8546d">06add83a38437ccd2e7f0f1deb5e2d7bc7a8546d</a> +<blockquote> +<p> + Bug 695340. Avoid NULL dereferences<br> +<br> +base/gsptype1.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-09 08:22:03 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6d5b4ffeb00f50faf45b72191d38dea422f28405">6d5b4ffeb00f50faf45b72191d38dea422f28405</a> +<blockquote> +<p> + Bug 694189 catch NULL of pinst<br> +<br> + If an error occurs and we dig through the saved<br> + gstates to find the pattern but come up empty<br> + then return an error<br> +<br> +psi/zpcolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-11 11:16:59 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=62e787ce74c5c22aaba9377a709bc06217bd46f8">62e787ce74c5c22aaba9377a709bc06217bd46f8</a> +<blockquote> +<p> + Fix Bug 696866: patterns need to set color_usage.or over the entire area<br> +<br> + Thanks to Michael Vrhel for the simplified file and suggesting the cause of<br> + the problem.<br> +<br> +base/gxclpath.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-11 16:07:40 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a48d5240229d2a5cf9413ff2a425c40e2db03b8e">a48d5240229d2a5cf9413ff2a425c40e2db03b8e</a> +<blockquote> +<p> + xpswrite: Add color space to enumerated pointers<br> +<br> + In the xps_image_enum_s the pointer to the color space (pcs) was not<br> + declared to the garbage collector, so could end up moving with the<br> + object being updated.<br> +<br> + Caused a segfault spotted in the weekly regression test (for EPSCrop, but<br> + that's not relevant)<br> +<br> +devices/vector/gdevxps.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-10 14:03:51 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a34f71c530409a559c4cb35cb1a23296541d53c3">a34f71c530409a559c4cb35cb1a23296541d53c3</a> +<blockquote> +<p> + Fix Bug 696864: Use Default colorspaces when processing SMask<br> +<br> + This is done by saving the OverrideICC user parameter before setting the<br> + colorspace, etc. so as to ignore the ICC profile, which may have a gamma<br> + that we don't expect, and restore it after the SMask has been rendered.<br> + Note this file rendered correctly with -dOverrideICC on the command line,<br> + but this patch automatically applies that during execmaskgroup.<br> +<br> + Thanks to Michael Vrhel for identifying the problem and coming up with a<br> + simplified test case.<br> +<br> +Resource/Init/pdf_draw.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-08 17:27:34 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a87e380acd5e326f7d4e4380348bac393fac3058">a87e380acd5e326f7d4e4380348bac393fac3058</a> +<blockquote> +<p> + Remove the appledmp, iwlo, iwhi, iwlq devices<br> +<br> +base/unix-gcc.mak<br> +configure.ac<br> +devices/contrib.mak<br> +devices/gdevadmp.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-07 15:52:42 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad13de0b7a11675f34a29a03d1597a780da54851">ad13de0b7a11675f34a29a03d1597a780da54851</a> +<blockquote> +<p> + Update docs to reflect removal mswindll device<br> +<br> +doc/DLL.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-07 15:38:14 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e0f5118c432d4f17d8038871691517d84ce01918">e0f5118c432d4f17d8038871691517d84ce01918</a> +<blockquote> +<p> + Remove the os2prn device<br> +<br> +base/pcwin.mak<br> +devices/devs.mak<br> +devices/gdevos2p.c<br> +doc/Develop.htm<br> +psi/os2.mak<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-07 15:31:06 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5be37082980552a9d8a21b70a7ee93fbf4320e8f">5be37082980552a9d8a21b70a7ee93fbf4320e8f</a> +<blockquote> +<p> + Remove the mswindll and mswin devices<br> +<br> + As well as the (long non-functional/non-useful) Windows "xfont" code.<br> +<br> +base/pcwin.mak<br> +devices/devs.mak<br> +devices/gdevmswn.c<br> +devices/gdevmswn.h<br> +devices/gdevmsxf.c<br> +devices/gdevwddb.c<br> +devices/gdevwdib.c<br> +devices/gdevwprn.c<br> +doc/DLL.htm<br> +doc/Develop.htm<br> +psi/gsdll32.def<br> +psi/gsdll32metro.def<br> +psi/gsdll32w.lnk<br> +psi/gsdll64.def<br> +psi/gsdll64metro.def<br> +psi/gsdllARM32metro.def<br> +psi/msvc.mak<br> +toolbin/pre.chk<br> +toolbin/tests/check_comments.py<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-07 15:07:17 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ff59e2a9f86a4476aa67b5e768811fe43b0b4f0c">ff59e2a9f86a4476aa67b5e768811fe43b0b4f0c</a> +<blockquote> +<p> + Remove the macos device<br> +<br> +devices/gdevmac.c<br> +devices/gdevmac.h<br> +devices/gdevmacpictop.h<br> +devices/gdevmacttf.h<br> +doc/Develop.htm<br> +toolbin/tests/check_comments.py<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-07 15:01:26 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6c0d6e66d219006acfa3201963a0a7123dce3cc9">6c0d6e66d219006acfa3201963a0a7123dce3cc9</a> +<blockquote> +<p> + Remove sgirgb device<br> +<br> +base/unix-gcc.mak<br> +configure.ac<br> +devices/contrib.mak<br> +devices/gdevsgi.c<br> +devices/gdevsgi.h<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 15:05:23 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa981020ef9f96cb2d4d92bd48da81b025bc267a">fa981020ef9f96cb2d4d92bd48da81b025bc267a</a> +<blockquote> +<p> + Remove the various "vga" devices<br> +<br> +devices/devs.mak<br> +devices/gdevevga.c<br> +devices/gdevpcfb.c<br> +devices/gdevpcfb.h<br> +devices/gdevs3ga.c<br> +devices/gdevsco.c<br> +devices/gdevsvga.h<br> +doc/Develop.htm<br> +toolbin/pre.chk<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:52:09 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3488db574bf6d7291f51180395da9aa7fd6816cc">3488db574bf6d7291f51180395da9aa7fd6816cc</a> +<blockquote> +<p> + Remove svga device(s)<br> +<br> +devices/devs.mak<br> +devices/gdevsvga.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:40:14 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=323a1cb0e1fbd96bed87f818874f51543b286949">323a1cb0e1fbd96bed87f818874f51543b286949</a> +<blockquote> +<p> + Remove the sunview device<br> +<br> +devices/contrib.mak<br> +devices/gdevsun.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:37:29 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=74aa1c0b1f71f59f866c800bd698712cdb5c9405">74aa1c0b1f71f59f866c800bd698712cdb5c9405</a> +<blockquote> +<p> + Remove the sunhmono device<br> +<br> +base/unix-gcc.mak<br> +configure.ac<br> +devices/contrib.mak<br> +devices/gdevsunr.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:32:43 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4010f1e52592197537e1af639fe3228b8b5fc727">4010f1e52592197537e1af639fe3228b8b5fc727</a> +<blockquote> +<p> + Remove sparc (printer) device<br> +<br> +devices/contrib.mak<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:28:52 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5c6b4d035b6c8c3466e77bc4a581732659d3687e">5c6b4d035b6c8c3466e77bc4a581732659d3687e</a> +<blockquote> +<p> + Remove the att3b1 device<br> +<br> +configure.ac<br> +devices/contrib.mak<br> +devices/gdev3b1.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:25:38 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6e98f2159d615b4bedd6e5d83c95a511d4f9ea6f">6e98f2159d615b4bedd6e5d83c95a511d4f9ea6f</a> +<blockquote> +<p> + Remove the herc device<br> +<br> +devices/contrib.mak<br> +devices/gdevherc.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:16:48 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8901d9044df836f9ee8988f1ce9f6bbebbc6c314">8901d9044df836f9ee8988f1ce9f6bbebbc6c314</a> +<blockquote> +<p> + Remove lvga256 device<br> +<br> +devices/devs.mak<br> +devices/gdevl256.c<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:09:30 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a6b63be35e0278b4018863cf9b197e90686cc374">a6b63be35e0278b4018863cf9b197e90686cc374</a> +<blockquote> +<p> + Remove the s3ga device<br> +<br> +devices/devs.mak<br> +doc/Develop.htm<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 14:04:23 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=461b6c19ab09b19ac436b6ccba234f36ad70c197">461b6c19ab09b19ac436b6ccba234f36ad70c197</a> +<blockquote> +<p> + Remove vgalib device<br> +<br> +devices/devs.mak<br> +devices/gdevvglb.c<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 13:47:19 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f659ff57a2e3fa011255569dcdf54cc825aaa9af">f659ff57a2e3fa011255569dcdf54cc825aaa9af</a> +<blockquote> +<p> + Remove omni device<br> +<br> +Makefile.in<br> +configure.ac<br> +contrib/contrib.mak<br> +contrib/defs.h<br> +contrib/gomni.c<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 13:43:59 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ec346cc09daada7c16e7213be154e86f644c6d04">ec346cc09daada7c16e7213be154e86f644c6d04</a> +<blockquote> +<p> + Remove mag16 and mag256 devices<br> +<br> +configure.ac<br> +contrib/contrib.mak<br> +contrib/japanese/gdevmag.c<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-06 13:05:56 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c0448269dd1928b2aff0307ed1206118f329af14">c0448269dd1928b2aff0307ed1206118f329af14</a> +<blockquote> +<p> + Remove the moribund Mac Classic specific files.<br> +<br> +base/gp_mac.c<br> +base/gp_mac.h<br> +base/gp_macio.c<br> +base/gp_macpoll.c<br> +base/macos-mcp.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-10 09:45:44 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed539f1b8d29b2f03cd22ac2d54ee9036000d565">ed539f1b8d29b2f03cd22ac2d54ee9036000d565</a> +<blockquote> +<p> + Remove doc sections about making SAFER the default<br> +<br> +man/gs.1<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-10 09:40:31 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7119a01ae110a4c81b002f86464e684259626b30">7119a01ae110a4c81b002f86464e684259626b30</a> +<blockquote> +<p> + Remove from the documentation the stated intention to make -dSAFER the<br> + default.<br> +<br> +doc/Use.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-10 08:45:46 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9572484beac8fda920cbca3f6c6d09a5dc424825">9572484beac8fda920cbca3f6c6d09a5dc424825</a> +<blockquote> +<p> + Fix pdfmark argument validation<br> +<br> + This doesn't fit neatly into any category, its a PostScript 'operator'<br> + but it is only implemented for the pdfwrite device...<br> +<br> + The pdfmark operator takes a mark, a series of arguments and a name<br> + object. Zero argument sis valid, but the absence of a name object is<br> + not. We weren't checking for the absence of a name object, or<br> + validating its type.<br> +<br> + No differences expected.<br> +<br> +Resource/Init/gs_pdfwr.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-10 08:09:15 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ec6ba697311d2424189583f8fc26d373a584a4ce">ec6ba697311d2424189583f8fc26d373a584a4ce</a> +<blockquote> +<p> + Coverity ID 137703 - remove some dead code<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-08 16:35:39 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b60d50b7567369ad856cebe1efb6cd7dd2284219">b60d50b7567369ad856cebe1efb6cd7dd2284219</a> +<blockquote> +<p> + Bug 697193: status operator honour SAFER option<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-08 16:18:25 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4ea759bbd40746410fb2beb82e3ba9ebb6788107">4ea759bbd40746410fb2beb82e3ba9ebb6788107</a> +<blockquote> +<p> + Bug 697204: fully init lock object<br> +<br> + The scheduler field (which is relocatable) was not being initialisedm causing a<br> + segfault in teh garbage collector<br> +<br> +psi/zcontext.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-08 16:10:27 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78">f5c7555c30393e64ec1f5ab0dfae5b55b3b3fc78</a> +<blockquote> +<p> + Bug 697203: check for sufficient params in .sethalftone5<br> +<br> + and param types<br> +<br> +psi/zht2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-08 16:01:12 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a5360401495654e89301b2516703c1d2877fc5ba">a5360401495654e89301b2516703c1d2877fc5ba</a> +<blockquote> +<p> + Check for NULL return from memory allocation<br> +<br> +base/gxipixel.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 09:36:33 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f3de2191afc0d8fcf0285736d2d25fa6071a7981">f3de2191afc0d8fcf0285736d2d25fa6071a7981</a> +<blockquote> +<p> + Bug 696860 remove memcmp of structs in gscrdp.c<br> +<br> +base/gscie.c<br> +base/gscie.h<br> +base/gscrdp.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 09:59:25 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f749c0c44e7b9e09737b9f29edf29925a34f0cf">6f749c0c44e7b9e09737b9f29edf29925a34f0cf</a> +<blockquote> +<p> + Bug 697179: Reference count device icc profile<br> +<br> + when copying a device<br> +<br> +base/gsdevice.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 09:55:55 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6d444c273da5499a4cd72f21cb6d4c9a5256807d">6d444c273da5499a4cd72f21cb6d4c9a5256807d</a> +<blockquote> +<p> + Bug 697178: Add a file permissions callback<br> +<br> + For the rare occasions when the graphics library directly opens a file<br> + (currently for reading), this allows us to apply any restrictions on<br> + file access normally applied in the interpteter.<br> +<br> +base/gsicc_manage.c<br> +base/gslibctx.c<br> +base/gslibctx.h<br> +psi/imain.c<br> +psi/int.mak<br> +psi/zfile.c<br> +psi/zfile.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-03 01:46:28 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8abd22010eb4db0fb1b10e430d5f5d83e015ef70">8abd22010eb4db0fb1b10e430d5f5d83e015ef70</a> +<blockquote> +<p> + Bug 697169: Be rigorous with SAFER permissions<br> +<br> + Once we've opened our input file from the command line, enforce the SAFER<br> + rules.<br> +<br> +psi/zfile.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-07-19 08:43:35 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d609a3d4c1b8583d1c22db6b4d3bce4b239cf88c">d609a3d4c1b8583d1c22db6b4d3bce4b239cf88c</a> +<blockquote> +<p> + Use ToUnicode for substituted CIDFonts<br> +<br> + When we substitute a CIDFont in a PDF file with a TTF from disk, use the<br> + ToUnicode CMap (if available) to extract Unicode values. In a lot of case, this<br> + gets a more accurate character code to glyph mapping than the previous reliance<br> + on the low level glyph ordering from the TTF.<br> +<br> + This also meant being more robust for broken ToUnicode CMap. Also, an additional<br> + option (-dIgnoreToUnicode) to skip parsing of the ToUnicode CMap - for cases<br> + where a correctly formed ToUnicode is semantically wrong.<br> +<br> +Resource/Init/pdf_font.ps<br> +base/gstext.c<br> +base/gxfapi.c<br> +base/gxfapi.h<br> +pcl/pl/plfapi.c<br> +psi/zfapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 08:32:39 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3089131dc90ec008ff540d41df0f1a9fbc2dd47b">3089131dc90ec008ff540d41df0f1a9fbc2dd47b</a> +<blockquote> +<p> + Bug 696859 memcmp of struct removal in gscrd.c<br> +<br> +base/gscrd.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 13:15:23 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=799531ffc1240933786cd2121add9d7e3cba778e">799531ffc1240933786cd2121add9d7e3cba778e</a> +<blockquote> +<p> + Coverity ID 137283 - pdfwrite - remove some redundant code<br> +<br> + I had left some code that catered for a UTF16 surrogate pair promoted to<br> + UTF32, converting the result to UTF8. But I didn't implement the UTF32<br> + promotion, leaving it as a potential future enhancement.<br> +<br> + However, Coverity whinges about the test always being true, so here<br> + just remove the code. Its trivial enough to add in if we ever need it.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 10:10:58 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=875a0095f37626a721c7ff57d606a0f95af03913">875a0095f37626a721c7ff57d606a0f95af03913</a> +<blockquote> +<p> + DSC parser - validate parameters<br> +<br> + Bug #697190 ".initialize_dsc_parser doesn't validate the parameter is a dict type before using it."<br> +<br> + Regardless of any security implications, its simply wrong for a PostScript<br> + operator not to validate its parameter(s).<br> +<br> + No differences expected.<br> +<br> +psi/zdscpars.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-05 09:41:18 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aef8f6cfbff9080e4b9c54053bc909875c09a2be">aef8f6cfbff9080e4b9c54053bc909875c09a2be</a> +<blockquote> +<p> + Prevent dereference of NULL device method<br> +<br> + Bug #697189 ".gethardwareparams crashes with any special device"<br> +<br> + Another NULL device method problem. As noted previously, the original<br> + design intended that device methods should never be NULL, but this<br> + has been ignored over the years leading to the current mess of some<br> + methods being NULL accidentally, some being NULL deliberately and<br> + having different effects when NULL, and some methods never being NULL.<br> +<br> + While I do still intend to try and rectify this one day, in the meantime<br> + add a check to make sure the method is not NULL before trying to<br> + execute it in this case.<br> +<br> + No differences expected<br> +<br> +base/gsdparam.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-04 16:24:13 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36a2c94c4ebea8aa1c9cb2ca98e124a5b363000e">36a2c94c4ebea8aa1c9cb2ca98e124a5b363000e</a> +<blockquote> +<p> + Fix misplace parenthesis and missing const<br> +<br> +base/gdevdevn.c<br> +base/gscie.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-04 15:54:56 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e4ab4499f9f33c51cdb95020c99cf0f4f1e6ee77">e4ab4499f9f33c51cdb95020c99cf0f4f1e6ee77</a> +<blockquote> +<p> + Bug 696858 remove memcmp struct in gscie.c<br> +<br> +base/gscie.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-04 14:39:54 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2e9a339b766fb7a4d791c5ba1d85bdd24e6dbbaa">2e9a339b766fb7a4d791c5ba1d85bdd24e6dbbaa</a> +<blockquote> +<p> + Bug 696854 remove memcmp of structs in gdevdevn.c<br> +<br> +base/gdevdevn.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-04 12:04:03 -0700 +</strong> +<br>Michael Vrhel <michael.vrhel@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4fd414107c5b36419896a9c46956cb254adf201f">4fd414107c5b36419896a9c46956cb254adf201f</a> +<blockquote> +<p> + Bug 696862 remove memcmp() color info structure<br> +<br> +base/gsdevice.c<br> +base/gxclpage.c<br> +base/gxdevcli.h<br> +base/gximage2.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-10-03 16:21:49 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8642064fe21752b00e28d05483baca029fe0891">a8642064fe21752b00e28d05483baca029fe0891</a> +<blockquote> +<p> + pdfwrite - fix ToUnicode CMap sequence consolidation<br> +<br> + Bug #697176 "ToUnicode CMap generation broken in 9.20"<br> +<br> + The reworking to handle the current version of ToUnicode CMap missed<br> + a case where the size of a code pair had changed. This led to a loop<br> + comparing incorrect values, instead of comparing two consecutive<br> + values, it compared a value with one much earlier.<br> +<br> + In general this led to a loss of efficient, causing us to emit two or<br> + more entries when it was possible to emit a single range. However in the<br> + rare case when the comparison happened to compare two values that were<br> + consecutive, but shouldn't have been, this led to us writing an incorrect<br> + ToUnicode CMap.<br> +<br> + No differences expected.<br> +<br> +base/gsfcmap.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-29 21:57:20 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=309edf631cf1160087ede69384f502aa1d64006c">309edf631cf1160087ede69384f502aa1d64006c</a> +<blockquote> +<p> + pdfwrite - Fix handling of Separation /All alternate space conversion<br> +<br> + Bug #697118 "Separation colorspace is not converted correctly by pdfwrite"<br> +<br> + The /All Separation space wasn't getting the components of the tint<br> + transform colour space correctly set. For rendering we never need to<br> + do that, and simply set the relevant component of the Separation<br> + (or DeviceN) space to be the tint value.<br> +<br> + This commit forces the CMS to run the tint transform when we need to<br> + create a new, different, alternate for the Separation space.<br> +<br> + No differences expected.<br> +<br> +devices/vector/gdevpdfg.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-29 19:22:10 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=727aeab76c39026722e3e492a30ae2f7c218c1ec">727aeab76c39026722e3e492a30ae2f7c218c1ec</a> +<blockquote> +<p> + Fix UTF16 surrogate pair detection<br> +<br> + Flagged by clang, the use of a short would fail to detect surrogate<br> + pairs, this shuold be an unsigned short.<br> +<br> + Bizarrely this worked as expected on Windows, I have no idea how.<br> +<br> +devices/vector/gdevpdfe.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-29 17:35:05 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=273a133110838ee5702e7eb6409a853c598211b2">273a133110838ee5702e7eb6409a853c598211b2</a> +<blockquote> +<p> + Remove (and re-implement) ConvertUTF.c<br> +<br> + Bug #697122 " embedded ConvertUTF.c is buggy and licensed incompatibly with GPL/APGL"<br> +<br> + Its not clear that this code is incompatible with GPL, nor do we think<br> + any 'bugginess' in the code affects us, since we are using a comparatively<br> + small part of the included code.<br> +<br> + Nevertheless its possible to remove the code, and re-implement the small<br> + part we actually need, and that is done here.<br> +<br> + Also removed the DSCEncodingToUnicode option which was insanely difficult<br> + to use, and incorrectly documented.<br> +<br> + Yhis shows one difference, 692486_-_heap_overflow_in_pdf_to_ucs2.pdf<br> + now correctly throws an error, because the PDF file contains document<br> + information (Application) which has an invalid UTF16-BE sequence.<br> +<br> +base/ConvertUTF.c<br> +base/ConvertUTF.h<br> +base/lib.mak<br> +devices/devs.mak<br> +devices/vector/gdevpdf.c<br> +devices/vector/gdevpdfb.h<br> +devices/vector/gdevpdfe.c<br> +devices/vector/gdevpdfp.c<br> +devices/vector/gdevpdfx.h<br> +windows/ghostscript.vcproj<br> +windows/ghostscript_rt.vcxproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-27 17:07:02 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=27e01aa77d0cf1668f60d87cf7417c90bf309d1b">27e01aa77d0cf1668f60d87cf7417c90bf309d1b</a> +<blockquote> +<p> + Squash 2 warnings in the openjpeg code.<br> +<br> +openjpeg/src/lib/openjp2/j2k.c<br> +openjpeg/src/lib/openjp2/thread.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-27 16:08:57 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9a78bfb8698061e22e3d460b8c15825992e44def">9a78bfb8698061e22e3d460b8c15825992e44def</a> +<blockquote> +<p> + Import new OpenJPEG version.<br> +<br> + Squashed version of openjpeg-update-20160927<br> +<br> + This squashes the following commits:<br> +<br> + * Import new OpenJPEG version.<br> +<br> + From https://github.com/uclouvain/openjpeg<br> +<br> + Final commit is:<br> +<br> + commit 34dae137a9a8c04feaa9763ae7e09a86ecb10400<br> + Author: Mathieu Malaterre <mathieu.malaterre@gmail.com><br> + Date: Mon Sep 26 12:01:31 2016 +0200<br> +<br> + OPENJPEG_NAMESPACE is configurable by user<br> +<br> + * Zap the OpenJPEG stuff we don't need<br> +<br> + * Add predefined openjpeg headers.<br> +<br> + * Import patches from Sumatra's tree.<br> +<br> + * Update Makefiles for new openjpeg<br> +<br> + * Update MSVC for new files<br> +<br> + * OpenJPEG allocation fixes.<br> +<br> + The old version of openjpeg allocates using malloc/free.<br> +<br> + The new version of openjpeg allocates via opj_malloc (and co).<br> +<br> + We can capture these and pass them down to our own allocators,<br> + but we cannot get openjpeg to pass us a gs_memory_t * to use.<br> +<br> + We therefore resort to using a static to hold 'the current<br> + gs_memory_t *' before we call openjpeg. To keep this threadsafe<br> + we add some private data to the gslibctx, which the openjpeg<br> + implementation can use to hold a lock.<br> +<br> + We add calls to both jpx decode implementations to init this<br> + private data (where the luratech implementation is null).<br> +<br> +base/gslibctx.c<br> +base/gslibctx.h<br> +base/openjpeg.mak<br> +base/sjpx_luratech.c<br> +base/sjpx_openjpeg.c<br> +openjpeg/AUTHORS<br> +openjpeg/AUTHORS.md<br> +openjpeg/CHANGELOG.md<br> +openjpeg/CHANGES<br> +openjpeg/NEWS<br> +openjpeg/NEWS.md<br> +openjpeg/THANKS<br> +openjpeg/THANKS.md<br> +openjpeg/src/lib/openjp2/CMakeLists.txt<br> +openjpeg/src/lib/openjp2/bio.c<br> +openjpeg/src/lib/openjp2/cidx_manager.c<br> +openjpeg/src/lib/openjp2/cio.c<br> +openjpeg/src/lib/openjp2/cio.h<br> +openjpeg/src/lib/openjp2/dwt.c<br> +openjpeg/src/lib/openjp2/dwt.h<br> +openjpeg/src/lib/openjp2/event.h<br> +openjpeg/src/lib/openjp2/function_list.c<br> +openjpeg/src/lib/openjp2/function_list.h<br> +openjpeg/src/lib/openjp2/image.c<br> +openjpeg/src/lib/openjp2/indexbox_manager.h<br> +openjpeg/src/lib/openjp2/invert.c<br> +openjpeg/src/lib/openjp2/j2k.c<br> +openjpeg/src/lib/openjp2/j2k.h<br> +openjpeg/src/lib/openjp2/jp2.c<br> +openjpeg/src/lib/openjp2/jp2.h<br> +openjpeg/src/lib/openjp2/libopenjp2.pc.cmake.in<br> +openjpeg/src/lib/openjp2/mct.c<br> +openjpeg/src/lib/openjp2/mct.h<br> +openjpeg/src/lib/openjp2/mqc.c<br> +openjpeg/src/lib/openjp2/mqc.h<br> +openjpeg/src/lib/openjp2/mqc_inl.h<br> +openjpeg/src/lib/openjp2/openjpeg.c<br> +openjpeg/src/lib/openjp2/openjpeg.h<br> +openjpeg/src/lib/openjp2/opj_clock.c<br> +openjpeg/src/lib/openjp2/opj_codec.h<br> +openjpeg/src/lib/openjp2/opj_config.h.cmake.in<br> +openjpeg/src/lib/openjp2/opj_config_private.h.cmake.in<br> +openjpeg/src/lib/openjp2/opj_includes.h<br> +openjpeg/src/lib/openjp2/opj_intmath.h<br> +openjpeg/src/lib/openjp2/opj_malloc.c<br> +openjpeg/src/lib/openjp2/opj_malloc.h<br> +openjpeg/src/lib/openjp2/phix_manager.c<br> +openjpeg/src/lib/openjp2/pi.c<br> +openjpeg/src/lib/openjp2/pi.h<br> +openjpeg/src/lib/openjp2/ppix_manager.c<br> +openjpeg/src/lib/openjp2/raw.c<br> +openjpeg/src/lib/openjp2/t1.c<br> +openjpeg/src/lib/openjp2/t1.h<br> +openjpeg/src/lib/openjp2/t1_generate_luts.c<br> +openjpeg/src/lib/openjp2/t1_luts.h<br> +openjpeg/src/lib/openjp2/t2.c<br> +openjpeg/src/lib/openjp2/t2.h<br> +openjpeg/src/lib/openjp2/tcd.c<br> +openjpeg/src/lib/openjp2/tcd.h<br> +openjpeg/src/lib/openjp2/tgt.c<br> +openjpeg/src/lib/openjp2/tgt.h<br> +openjpeg/src/lib/openjp2/thix_manager.c<br> +openjpeg/src/lib/openjp2/thread.c<br> +openjpeg/src/lib/openjp2/thread.h<br> +openjpeg/src/lib/openjp2/tls_keys.h<br> +windows/ghostscript.vcproj<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-27 11:22:18 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b4cc6d28e9a456a34a7348d98ff78ada9da727bb">b4cc6d28e9a456a34a7348d98ff78ada9da727bb</a> +<blockquote> +<p> + Add pre-processor define for shared OpenJPEG<br> +<br> +Makefile.in<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-23 17:17:19 -0300 +</strong> +<br>Till Kamppeter <till.kamppeter@gmail.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e00367c3f598dc5e7b80d492e2b2d7321015fb3">9e00367c3f598dc5e7b80d492e2b2d7321015fb3</a> +<blockquote> +<p> + pxlcolor/pxlmono output devices: Make MediaPosition, ManualFeed, and MediaType work<br> +<br> + In the pxlcolor and pxlmono output devices (for PCL-XL printers) the<br> + support for the attributes MediaPosition, ManualFeed, and MediaType<br> + got broken when ESP Ghostscript got merged into GPL Ghostscript (Bug<br> +<br> +devices/vector/gdevpx.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-22 09:21:18 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c1a79c6ab5ffadde8e296cd3e0b9e52a87c4ef66">c1a79c6ab5ffadde8e296cd3e0b9e52a87c4ef66</a> +<blockquote> +<p> + Bug 697087: Apply PDF TTF rules when loading from disk<br> +<br> + When we substitute a TTF from disk for a (non-embedded) TTF in a PDF, apply the<br> + same rules (if possible) as when reading a TTF embedded in a PDF. So, selection<br> + of cmap table, font encoding, whether or not to draw the notdef etc.<br> +<br> + This applies *only* to fonts, *not* to CIDFonts.<br> +<br> +Resource/Init/gs_ttf.ps<br> +Resource/Init/pdf_font.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-22 15:24:45 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=abffa3e76c3e33b683333be329b39efaf762eca7">abffa3e76c3e33b683333be329b39efaf762eca7</a> +<blockquote> +<p> + Remove Android logging code.<br> +<br> + Bow to protestations from my colleagues and move code into<br> + the caller. Probably nicer. If anyone ever needs the code they<br> + can grab it from git.<br> +<br> + Revert "Tweak android logging code logic."<br> + This reverts commit 4d08bfd98b5fcd7cd4c2bd5faf72ac9615354ee3.<br> +<br> + Revert "Add android logging code."<br> + This reverts commit 2c52876b77d348866941fb85f6d0349a51df0455.<br> +<br> +psi/iapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-21 16:22:48 +0100 +</strong> +<br>Robin Watts <Robin.Watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4d08bfd98b5fcd7cd4c2bd5faf72ac9615354ee3">4d08bfd98b5fcd7cd4c2bd5faf72ac9615354ee3</a> +<blockquote> +<p> + Tweak android logging code logic.<br> +<br> + It seems we don't set NDEBUG in release builds for android.<br> + Revert to #ifdef DEBUG rather than #ifndef NDEBUG as a guard.<br> +<br> +psi/iapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-21 12:01:47 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2c52876b77d348866941fb85f6d0349a51df0455">2c52876b77d348866941fb85f6d0349a51df0455</a> +<blockquote> +<p> + Add android logging code.<br> +<br> + Update stdio redirection so that stdout and stderr go to<br> + Android.log in DEBUG builds.<br> +<br> +psi/iapi.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 18:07:51 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1bd7f32d70549971b4a384c5865e1fd030f49f20">1bd7f32d70549971b4a384c5865e1fd030f49f20</a> +<blockquote> +<p> + Bug 697138: Fix --disable-sse2 to work with openjpeg<br> +<br> + OpenJPEG enables it's SSE code based on the compiler defining __SSE__ so we<br> + want to undefine that if we're not using SSE operations.<br> +<br> +Makefile.in<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 19:57:14 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=20b0255206254ebcce1cde0a4a63d74b0aedcecf">20b0255206254ebcce1cde0a4a63d74b0aedcecf</a> +<blockquote> +<p> + Fix splay tree traversal (again)<br> +<br> + When setting up a traversal from a midpoint of the tree, we'd<br> + immediately trip into the "has hit the endpoint" code.<br> +<br> + Fix that.<br> +<br> +base/gsalloc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 09:03:31 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0e1153bf2d344044cd9fdfb7706f829b63348118">0e1153bf2d344044cd9fdfb7706f829b63348118</a> +<blockquote> +<p> + FitPage should not add in rotation if destination page is square.<br> +<br> + If the PageSize was square, it would be treated as "not landscape",<br> + but landscape pages in would be arbitrarily rotated.<br> +<br> + Note this does not change the bahavior of PS or EPS page fitting.<br> + TBD: Add an option to fit to a page and never rotate (FitPageNR)<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 16:48:45 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=570041cc341557da8521fdace380f837cc572a69">570041cc341557da8521fdace380f837cc572a69</a> +<blockquote> +<p> + Fix Memento crash<br> +<br> + When reallocing set the rawsize before attempting to write<br> + the post guard block.<br> +<br> +base/memento.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 13:41:31 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3dd5f4c6b02179422bd8686fceed1f4955221d90">3dd5f4c6b02179422bd8686fceed1f4955221d90</a> +<blockquote> +<p> + Sync Memento with MuPDF.<br> +<br> +base/memento.c<br> +base/memento.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 13:04:51 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4e01c57e0f0773e29bc6f921cfc677576e72739d">4e01c57e0f0773e29bc6f921cfc677576e72739d</a> +<blockquote> +<p> + Bug 697134: Tweak MEMENTO_GS_HACKS inclusion.<br> +<br> + Rather than rolling our own memset prototype in this case, use<br> + the one that gs provides.<br> +<br> +base/memento.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-16 15:23:32 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1a0104084a4dfdff77165d931bdc87849c8ad824">1a0104084a4dfdff77165d931bdc87849c8ad824</a> +<blockquote> +<p> + Clump has_refs - follow up to commit 63f74ce6<br> +<br> + The function save_set_new() (where the original fix for 'has_refs' is located)<br> + is called in two circumstances: when creating a save level, and when destroying<br> + a save level.<br> +<br> + We have to retain the 'has_refs' value for the latter case for the garbager to<br> + function correctly, but doing so in the former results in the garbager<br> + sometimes scanning more memory than is really necessary (it can end up scanning<br> + ref memory from the previous save state, which is pointless since that cannot<br> + change).<br> +<br> + This change means that 'has_refs == true' will only be retained in the<br> + 'destroying a save level' case (which works correctly because, by the time the<br> + function is called, we've already returned the relevant allocated to its<br> + previous state).<br> +<br> +psi/isave.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-15 14:14:35 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bfffe2011e1c8ffe53a432424b049f3989d6174a">bfffe2011e1c8ffe53a432424b049f3989d6174a</a> +<blockquote> +<p> + Fix bug 697097. SMask subpixel offset must match image offset.<br> +<br> + The dda used to select the source pixel for mapping into the image<br> + must use the same stepping for gray (monochrome) and color images<br> + since an SMask is monochrome and the image may be in color. This is<br> + primarily evident with the bug file since Matte is used to indicate<br> + that the source data is premuliplied. Colors can shift a LOT since<br> + the removal of the premultiplication can expand mistaked.<br> +<br> +base/gxicolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 16:31:56 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5521e702af192e06f186d0d741f24097eb5b8e26">5521e702af192e06f186d0d741f24097eb5b8e26</a> +<blockquote> +<p> + PDF interpreter - fix for GSView 5<br> +<br> + Commit 093bd18bd923644fcd25c507088c0ebc63b4c320 included an<br> + 'optimisation' to prevent rescanning for transparency if we had already<br> + scanned. However, this assumed that the function pdfshowpage_setup<br> + had already been executed in order to set a variable.<br> +<br> + This is always true when running files via Ghostscript, but any<br> + application (such as GSView 5) which executes the PDF operations<br> + individually need not execute this function. If the function was not<br> + executed then an error occurred. From other comments in pdf_main.ps<br> + its possible that customers may be using these functions as well (see<br> + the comments above the definition of /pdfshowpage)<br> +<br> + This commit checks to see if the variable has been set, if it has then<br> + it is used, otherwise we rescan for transparency. This prevents the<br> + error, but uses the optimisation if its possible to do so.<br> +<br> + No differences expected<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 10:28:43 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=04117ec705cfc89ce4bb4b451ba95af61b937fe0">04117ec705cfc89ce4bb4b451ba95af61b937fe0</a> +<blockquote> +<p> + Bump version number to 9.21<br> +<br> +Resource/Init/gs_init.ps<br> +base/version.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-26 11:36:27 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5deee306126e09f95e40e69fe04a7d26c842fb56">5deee306126e09f95e40e69fe04a7d26c842fb56</a> +<blockquote> +<p> + Update date and product string for 9.20 release<br> +<br> +base/gscdef.c<br> +base/version.mak<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/font2c.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +man/wftopfa.1<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 20:33:21 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3263f33ba60aafe7b671d2c9b7a3b25fb39a7bee">3263f33ba60aafe7b671d2c9b7a3b25fb39a7bee</a> +<blockquote> +<p> + Changelog update for 9.20 RC2<br> +<br> +doc/History9.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 17:35:30 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=457cc95668fbf26cf9cf5e4ee10709ad8c8e2c58">457cc95668fbf26cf9cf5e4ee10709ad8c8e2c58</a> +<blockquote> +<p> + Fix a type in the release comments<br> +<br> +doc/History9.htm<br> +doc/News.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 12:14:11 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eedf4c16032d2a8ec356705f28cee3fdbec248d2">eedf4c16032d2a8ec356705f28cee3fdbec248d2</a> +<blockquote> +<p> + Update News and changelog<br> +<br> +doc/History9.htm<br> +doc/News.htm<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 10:40:36 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7658715de338f9cd3a62d44f7c503f81d03a3fae">7658715de338f9cd3a62d44f7c503f81d03a3fae</a> +<blockquote> +<p> + Copyrights, dates etc<br> +<br> +doc/API.htm<br> +doc/C-style.htm<br> +doc/Commprod.htm<br> +doc/DLL.htm<br> +doc/Deprecated.htm<br> +doc/Details8.htm<br> +doc/Details9.htm<br> +doc/Develop.htm<br> +doc/Devices.htm<br> +doc/Drivers.htm<br> +doc/Fonts.htm<br> +doc/Helpers.htm<br> +doc/History1.htm<br> +doc/History2.htm<br> +doc/History3.htm<br> +doc/History4.htm<br> +doc/History5.htm<br> +doc/History6.htm<br> +doc/History7.htm<br> +doc/History8.htm<br> +doc/History9.htm<br> +doc/Install.htm<br> +doc/Issues.htm<br> +doc/Language.htm<br> +doc/Lib.htm<br> +doc/Make.htm<br> +doc/News.htm<br> +doc/Projects.htm<br> +doc/Ps-style.htm<br> +doc/Ps2epsi.htm<br> +doc/Psfiles.htm<br> +doc/Readme.htm<br> +doc/Release.htm<br> +doc/SavedPages.htm<br> +doc/Source.htm<br> +doc/Unix-lpr.htm<br> +doc/Use.htm<br> +doc/VectorDevices.htm<br> +doc/WhatIsGS.htm<br> +doc/Xfonts.htm<br> +doc/gs-vms.hlp<br> +doc/sample_downscale_device.htm<br> +doc/thirdparty.htm<br> +man/dvipdf.1<br> +man/font2c.1<br> +man/gs.1<br> +man/gslp.1<br> +man/gsnd.1<br> +man/pdf2dsc.1<br> +man/pdf2ps.1<br> +man/pf2afm.1<br> +man/pfbtopfa.1<br> +man/printafm.1<br> +man/ps2ascii.1<br> +man/ps2epsi.1<br> +man/ps2pdf.1<br> +man/ps2pdfwr.1<br> +man/ps2ps.1<br> +man/wftopfa.1<br> +psi/msvc.mak<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 10:34:52 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8749511b204f255740a1555520a9b1d7adcceacf">8749511b204f255740a1555520a9b1d7adcceacf</a> +<blockquote> +<p> + Change product family for RC<br> +<br> + Plus dates<br> +<br> +base/gscdef.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 18:07:51 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=65898de27797a835d2029676d4380b3c7806dc9e">65898de27797a835d2029676d4380b3c7806dc9e</a> +<blockquote> +<p> + Bug 697138: Fix --disable-sse2 to work with openjpeg<br> +<br> + OpenJPEG enables it's SSE code based on the compiler defining __SSE__ so we<br> + want to undefine that if we're not using SSE operations.<br> +<br> +Makefile.in<br> +configure.ac<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 19:57:14 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed866d7ab135edebd9c53f52026426d403f53a49">ed866d7ab135edebd9c53f52026426d403f53a49</a> +<blockquote> +<p> + Fix splay tree traversal (again)<br> +<br> + When setting up a traversal from a midpoint of the tree, we'd<br> + immediately trip into the "has hit the endpoint" code.<br> +<br> + Fix that.<br> +<br> +base/gsalloc.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 09:03:31 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ba8a97dc6f67e044d567e38c68cfd5b785835615">ba8a97dc6f67e044d567e38c68cfd5b785835615</a> +<blockquote> +<p> + FitPage should not add in rotation if destination page is square.<br> +<br> + If the PageSize was square, it would be treated as "not landscape",<br> + but landscape pages in would be arbitrarily rotated.<br> +<br> + Note this does not change the bahavior of PS or EPS page fitting.<br> + TBD: Add an option to fit to a page and never rotate (FitPageNR)<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 16:48:45 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=029f4ec2d6b8165b0cfff02173cde68edaebc108">029f4ec2d6b8165b0cfff02173cde68edaebc108</a> +<blockquote> +<p> + Fix Memento crash<br> +<br> + When reallocing set the rawsize before attempting to write<br> + the post guard block.<br> +<br> +base/memento.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 13:41:31 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5547040a0de52d588401ea9f1dfd20bc8168f455">5547040a0de52d588401ea9f1dfd20bc8168f455</a> +<blockquote> +<p> + Sync Memento with MuPDF.<br> +<br> +base/memento.c<br> +base/memento.h<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-20 13:04:51 +0100 +</strong> +<br>Robin Watts <robin.watts@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f763382b616c35e9a021bde4e5347c1d67df5a0a">f763382b616c35e9a021bde4e5347c1d67df5a0a</a> +<blockquote> +<p> + Bug 697134: Tweak MEMENTO_GS_HACKS inclusion.<br> +<br> + Rather than rolling our own memset prototype in this case, use<br> + the one that gs provides.<br> +<br> +base/memento.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-16 15:23:32 +0100 +</strong> +<br>Chris Liddell <chris.liddell@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c3c48bbdda6915abfe39b4a0de9978555fc071ba">c3c48bbdda6915abfe39b4a0de9978555fc071ba</a> +<blockquote> +<p> + Clump has_refs - follow up to commit 63f74ce6<br> +<br> + The function save_set_new() (where the original fix for 'has_refs' is located)<br> + is called in two circumstances: when creating a save level, and when destroying<br> + a save level.<br> +<br> + We have to retain the 'has_refs' value for the latter case for the garbager to<br> + function correctly, but doing so in the former results in the garbager<br> + sometimes scanning more memory than is really necessary (it can end up scanning<br> + ref memory from the previous save state, which is pointless since that cannot<br> + change).<br> +<br> + This change means that 'has_refs == true' will only be retained in the<br> + 'destroying a save level' case (which works correctly because, by the time the<br> + function is called, we've already returned the relevant allocated to its<br> + previous state).<br> +<br> +psi/isave.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-15 14:14:35 -0700 +</strong> +<br>Ray Johnston <ray.johnston@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=974843fc7c06bc7354bd5f74f87a22014b0a1e16">974843fc7c06bc7354bd5f74f87a22014b0a1e16</a> +<blockquote> +<p> + Fix bug 697097. SMask subpixel offset must match image offset.<br> +<br> + The dda used to select the source pixel for mapping into the image<br> + must use the same stepping for gray (monochrome) and color images<br> + since an SMask is monochrome and the image may be in color. This is<br> + primarily evident with the bug file since Matte is used to indicate<br> + that the source data is premuliplied. Colors can shift a LOT since<br> + the removal of the premultiplication can expand mistaked.<br> +<br> +base/gxicolor.c<br> +<p> +</blockquote> +<hr> +<p><strong>2016-09-14 16:31:56 +0100 +</strong> +<br>Ken Sharp <ken.sharp@artifex.com><br> +<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8079f5a688d54ba7ab5358d59a7773caa2176d23">8079f5a688d54ba7ab5358d59a7773caa2176d23</a> +<blockquote> +<p> + PDF interpreter - fix for GSView 5<br> +<br> + Commit 093bd18bd923644fcd25c507088c0ebc63b4c320 included an<br> + 'optimisation' to prevent rescanning for transparency if we had already<br> + scanned. However, this assumed that the function pdfshowpage_setup<br> + had already been executed in order to set a variable.<br> +<br> + This is always true when running files via Ghostscript, but any<br> + application (such as GSView 5) which executes the PDF operations<br> + individually need not execute this function. If the function was not<br> + executed then an error occurred. From other comments in pdf_main.ps<br> + its possible that customers may be using these functions as well (see<br> + the comments above the definition of /pdfshowpage)<br> +<br> + This commit checks to see if the variable has been set, if it has then<br> + it is used, otherwise we rescan for transparency. This prevents the<br> + error, but uses the optimisation if its possible to do so.<br> +<br> + No differences expected<br> +<br> +Resource/Init/pdf_main.ps<br> +<p> +</blockquote> +<hr> +<hr size=20> + <h2><a name="Version9.20"></a>Version 9.20 (2016-09-26)</h2> <p>This is the fourteenth full release in the stable 9.x series, and is purely diff --git a/doc/News.htm b/doc/News.htm index 2b5e882de..ca525271b 100644 --- a/doc/News.htm +++ b/doc/News.htm @@ -56,14 +56,40 @@ overview</a>. <!-- [2.0 begin contents] ================================================== --> -<h2><a name="Version9.20"></a>Version 9.21 (2017-03-06)</h2> +<h2><a name="Version9.21"></a>Version 9.21 (2017-03-06)</h2> -<p>This is the fourteenth full release in the stable 9.x series, and is purely -a maintenance release. +<p>This is the fifteenth full release in the stable 9.x series. <p> Highlights in this release include: <ul> <li> +<p>pdfwrite now preserves annotations from input PDFs (where possible). +</li> +<li> +<p>The GhostXPS interpreter now provides the pdfwrite device with the data +it requires to emit a ToUnicode CMap: thus allowing fully searchable PDFs to +be created from XPS input (in the vast majority of cases). +</li> +<li> +<p>Ghostscript now allows the default color space for PDF transparency blends. +</li> +<li> +<p>The Ghostscript/GhostPDL configure script now has much better/fuller support +for cross compiling. +</li> +<li> +<p>The tiffscaled and tiffscaled4 devices can now use ETS (Even Tone Screening) +</li> +<li> +<p>The toolbin/pdf_info.ps utility can now emit the PDF XML metadata. +</li> +<li> +<p>Ghostscript has a new scan converter available (currently optional, but will +become the default in a near future release). It can be enabled by using the command +line option: '-dSCANCONVERTERTYPE=2'. This new implementation provides vastly improved +performance with large and complex paths. +</li> +<li> <p>The usual round of bug fixes, compatibility changes, and incremental improvements. </li> </ul> @@ -74,7 +100,7 @@ please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>. <ul> <li> <p> -The planned device API tidy did not happen for this release, due to time pressures, +The planned device API tidy (still!) did not happen for this release, due to time pressures, but we still intend to undertake the following: We plan to somewhat tidy up the device API. We intend to remove deprecated device procs (methods/function pointers) and change the device API so every device proc @@ -86,7 +112,7 @@ Devices using only the non-deprecated procs should be trivial to update. </li> </ul> -<h3><a name="9.20_changelog"></a>Changelog</h3> +<h3><a name="9.21_changelog"></a>Changelog</h3> <p>See the <a href="History9.htm">history file</a> for complete log of changes. |