summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--base/version.mak2
-rw-r--r--doc/DLL.htm2
-rw-r--r--doc/Deprecated.htm2
-rw-r--r--doc/Develop.htm2
-rw-r--r--doc/Devices.htm2
-rw-r--r--doc/Drivers.htm2
-rw-r--r--doc/Fonts.htm2
-rw-r--r--doc/History9.htm10220
-rw-r--r--doc/Install.htm2
-rw-r--r--doc/Language.htm2
-rw-r--r--doc/Lib.htm2
-rw-r--r--doc/Make.htm2
-rw-r--r--doc/News.htm39
-rw-r--r--doc/Ps-style.htm2
-rw-r--r--doc/Ps2epsi.htm2
-rw-r--r--doc/Psfiles.htm2
-rw-r--r--doc/Readme.htm2
-rw-r--r--doc/Release.htm2
-rw-r--r--doc/SavedPages.htm2
-rw-r--r--doc/Source.htm2
-rw-r--r--doc/Unix-lpr.htm2
-rw-r--r--doc/Use.htm2
-rw-r--r--doc/VectorDevices.htm2
-rw-r--r--doc/WhatIsGS.htm2
-rw-r--r--doc/gs-vms.hlp2
-rw-r--r--doc/sample_downscale_device.htm2
-rw-r--r--doc/subclass.htm2
-rw-r--r--doc/thirdparty.htm2
-rw-r--r--man/dvipdf.14
-rw-r--r--man/gs.14
-rw-r--r--man/gslp.14
-rw-r--r--man/gsnd.14
-rw-r--r--man/pdf2dsc.14
-rw-r--r--man/pdf2ps.14
-rw-r--r--man/pf2afm.14
-rw-r--r--man/pfbtopfa.14
-rw-r--r--man/printafm.14
-rw-r--r--man/ps2ascii.14
-rw-r--r--man/ps2epsi.14
-rw-r--r--man/ps2pdf.14
-rw-r--r--man/ps2pdfwr.14
-rw-r--r--man/ps2ps.14
42 files changed, 10258 insertions, 109 deletions
diff --git a/base/version.mak b/base/version.mak
index 2f3e21b98..a18b51f92 100644
--- a/base/version.mak
+++ b/base/version.mak
@@ -18,7 +18,7 @@ GS_VERSION_MAJOR=9
18GS_VERSION_MINOR=25 18GS_VERSION_MINOR=25
19GS_VERSION_MINOR0=25 19GS_VERSION_MINOR0=25
20# Revision date: year x 10000 + month x 100 + day. 20# Revision date: year x 10000 + month x 100 + day.
21GS_REVISIONDATE=20180321 21GS_REVISIONDATE=20180903
22# Derived values 22# Derived values
23GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR0) 23GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR0)
24GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR0) 24GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR0)
diff --git a/doc/DLL.htm b/doc/DLL.htm
index 123bf73bd..ff098df25 100644
--- a/doc/DLL.htm
+++ b/doc/DLL.htm
@@ -777,7 +777,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
777Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 777Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
778 778
779<p> 779<p>
780<small>Ghostscript version 9.23, 21 March 2018 780<small>Ghostscript version 9.24, 3 September 2018
781 781
782<!-- [3.0 end visible trailer] ============================================= --> 782<!-- [3.0 end visible trailer] ============================================= -->
783 783
diff --git a/doc/Deprecated.htm b/doc/Deprecated.htm
index d079d0266..cefa5e83c 100644
--- a/doc/Deprecated.htm
+++ b/doc/Deprecated.htm
@@ -5774,7 +5774,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
5774Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 5774Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
5775 5775
5776<p> 5776<p>
5777<small>Ghostscript version 9.23, 21 March 2018 5777<small>Ghostscript version 9.24, 3 September 2018
5778 5778
5779<!-- [3.0 end visible trailer] ============================================= --> 5779<!-- [3.0 end visible trailer] ============================================= -->
5780 5780
diff --git a/doc/Develop.htm b/doc/Develop.htm
index 249c09796..336e7f500 100644
--- a/doc/Develop.htm
+++ b/doc/Develop.htm
@@ -4784,7 +4784,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
4784Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 4784Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
4785 4785
4786<p> 4786<p>
4787<small>Ghostscript version 9.23, 21 March 2018 4787<small>Ghostscript version 9.24, 3 September 2018
4788 4788
4789<!-- [3.0 end visible trailer] ============================================= --> 4789<!-- [3.0 end visible trailer] ============================================= -->
4790 4790
diff --git a/doc/Devices.htm b/doc/Devices.htm
index 49f9e897e..c401ac5a4 100644
--- a/doc/Devices.htm
+++ b/doc/Devices.htm
@@ -2005,7 +2005,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
2005Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 2005Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
2006 2006
2007<p> 2007<p>
2008<small>Ghostscript version 9.23, 21 March 2018 2008<small>Ghostscript version 9.24, 3 September 2018
2009 2009
2010<!-- [3.0 end visible trailer] ============================================= --> 2010<!-- [3.0 end visible trailer] ============================================= -->
2011 2011
diff --git a/doc/Drivers.htm b/doc/Drivers.htm
index adcabd396..f5ddcf227 100644
--- a/doc/Drivers.htm
+++ b/doc/Drivers.htm
@@ -3604,7 +3604,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
3604Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 3604Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
3605 3605
3606<p> 3606<p>
3607<small>Ghostscript version 9.23, 21 March 2018 3607<small>Ghostscript version 9.24, 3 September 2018
3608 3608
3609<!-- [3.0 end visible trailer] ============================================= --> 3609<!-- [3.0 end visible trailer] ============================================= -->
3610 3610
diff --git a/doc/Fonts.htm b/doc/Fonts.htm
index 0b103a84a..6c01eeacb 100644
--- a/doc/Fonts.htm
+++ b/doc/Fonts.htm
@@ -358,7 +358,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
358Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 358Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
359 359
360<p> 360<p>
361<small>Ghostscript version 9.23, 21 March 2018 361<small>Ghostscript version 9.24, 3 September 2018
362 362
363<!-- [3.0 end visible trailer] ============================================= --> 363<!-- [3.0 end visible trailer] ============================================= -->
364 364
diff --git a/doc/History9.htm b/doc/History9.htm
index 65ccf3127..87db89956 100644
--- a/doc/History9.htm
+++ b/doc/History9.htm
@@ -80,7 +80,8 @@ TOC to see how to edit it for visual conciseness.
80<h2>Table of contents</h2> 80<h2>Table of contents</h2>
81 81
82<blockquote><ul> 82<blockquote><ul>
83<li><a href="#Version9.22">Version 9.23 (2018-03-21)</a> 83<li><a href="#Version9.24">Version 9.24 (2018-09-03)</a>
84<li><a href="#Version9.23">Version 9.23 (2018-03-21)</a>
84<li><a href="#Version9.22">Version 9.22 (2017-10-04)</a> 85<li><a href="#Version9.22">Version 9.22 (2017-10-04)</a>
85<li><a href="#Version9.21">Version 9.21 (2017-03-16)</a> 86<li><a href="#Version9.21">Version 9.21 (2017-03-16)</a>
86<li><a href="#Version9.20">Version 9.20 (2016-09-26)</a> 87<li><a href="#Version9.20">Version 9.20 (2016-09-26)</a>
@@ -129,29 +130,20 @@ overview</a>.
129<!-- [1.0 end visible header] ============================================== --> 130<!-- [1.0 end visible header] ============================================== -->
130 131
131<!-- [2.0 begin contents] ================================================== --> 132<!-- [2.0 begin contents] ================================================== -->
132<h2><a name="Version9.23"></a>Version 9.23 (2018-03-21)</h2> 133<h2><a name="Version9.24"></a>Version 9.24 (2018-09-03)</h2>
133
134<p>This is the seventeenth full release in the stable 9.x series.
135 134
136<p> Highlights in this release include: 135<p> Highlights in this release include:
137<ul> 136<ul>
138<li> 137<li>
139<p>Ghostscript now has a family of 'pdfimage' devices (pdfimage8, pdfimage24 and pdfimage32) 138<p>Security issues have been the primary focus of this release, including solving
140which produce rendered output wrapped up as an image in a PDF. Additionally, there is a 'pclm' 139several (well publicised) real and potential exploits.
141device which produces PCLm format output. 140<br>
142</li> 141<p> <big><u><b>PLEASE NOTE:</b> We <b>strongly</b> urge users to upgrade to this latest
143<li> 142release to avoid these issues.</u></big>
144<p>There is now a ColorAccuracy parameter allowing the user to decide between speed or accuracy
145in ICC color transforms.
146</li>
147<li>
148<p>JPEG Passthrough: devices which support it can now receive the 'raw' JPEG stream from the
149interpreter. The main use of this is the pdfwrite/ps2write family of devices that can now
150take JPEG streams from the input file(s) and write them unchanged to the output (thus avoiding
151additional quantization effects).
152</li> 143</li>
153<li> 144<li>
154<p>PDF transparency performance improvements 145<p>As well as Ghostscript itself, jbig2dec has had a significant amount of work improving
146its robustness in the face of out specification files.
155</li> 147</li>
156<li> 148<li>
157<p>IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and 149<p>IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and
@@ -161,25 +153,10197 @@ will maintain compatibility between Ghostscript and LCMS2 for a time, but not in
161Our fork will be available as its own package separately from Ghostscript (and MuPDF). 153Our fork will be available as its own package separately from Ghostscript (and MuPDF).
162</li> 154</li>
163<li> 155<li>
164<p>We have continued the focus on code hygiene in this release cleaning up security issues,
165ignored return values, and compiler warnings.
166</li>
167<li>
168<p>The usual round of bug fixes, compatibility changes, and incremental improvements. 156<p>The usual round of bug fixes, compatibility changes, and incremental improvements.
169</li> 157</li>
170</ul> 158</ul>
171<p>For a list of open issues, or to report problems, 159<p>For a list of open issues, or to report problems,
172please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>. 160please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>.
173 161
174<h3><a name="9.23_Incompatible_changes"></a>Incompatible changes</h3> 162<h3><a name="9.24_Incompatible_changes"></a>Incompatible changes</h3>
175<ul> 163<ul>
176<li> 164<li>
177<p> 165<p>None
178The planned device API tidy has, unfortunately, been indefinitely postponed, until
179appropriate resources are available.
180</li> 166</li>
181</ul> 167</ul>
182<h3><a name="9.22_changelog"></a>Changelog</h3> 168<h3><a name="9.24_changelog"></a>Changelog</h3>
169<p><strong>2018-09-01 17:50:05 +0100
170</strong>
171<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
172<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=07da47959687c1e6a112ad746929ef66e82b5aa9">07da47959687c1e6a112ad746929ef66e82b5aa9</a>
173<blockquote>
174<p>
175 Bug 699658(related): Move recording of temp file names into C<br>
176<br>
177 When we successfully create a temporary file from Postscript, either doing so<br>
178 when SAFER is not in force, or when SAFER is in force, and creating it in<br>
179 a write permitted directory, we record the file name so we can later delete<br>
180 the file, even is SAFER has been engaged, or if the PermitWriting list has<br>
181 changed to no longer the directory in question.<br>
182<br>
183 Previously the recording of the name was done in Postscript, even though the<br>
184 checking was done in C.<br>
185<br>
186 This moves the recording of the names to C, meaning we can remove the Postscript<br>
187 redefinitions of .tempfile and deletfile, and make the dictionary in question<br>
188 noaccess.<br>
189<br>
190 Also, tidy up the adding of the temporary file directory to the list of<br>
191 permitted directories, and include the list in all of the categories<br>
192 (PermitFileWriting, PermitFileReading and PermitFileControl) - it was only<br>
193 previously adding to writing.<br>
194<br>
195Resource/Init/gs_init.ps<br>
196psi/int.mak<br>
197psi/zfile.c<br>
198<p>
199</blockquote>
200<hr>
201<p><strong>2018-08-31 15:57:55 +0100
202</strong>
203<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
204<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d8cfd2e7e1000f644afcaca2f196cb6d494049b8">d8cfd2e7e1000f644afcaca2f196cb6d494049b8</a>
205<blockquote>
206<p>
207 Bug 699693: Fix FAPI handling of multibyte Unicode code point<br>
208<br>
209 The original code worked for one byte code points, and for the case there the<br>
210 original character code and Unicode value both had the same number of bytes,<br>
211 but was totally wrong if the the two were different.<br>
212<br>
213psi/zfapi.c<br>
214<p>
215</blockquote>
216<hr>
217<p><strong>2018-09-01 11:28:06 +0100
218</strong>
219<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
220<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a5993c537ae035b2396da5189fd985006627a478">a5993c537ae035b2396da5189fd985006627a478</a>
221<blockquote>
222<p>
223 Bug #699687 &quot;grestore can bypass SAFER&quot;<br>
224<br>
225 The code in z2grestore (part of the level 2 restore machinery) in<br>
226 ghostpdl/psi/zdevice2.c sets the device's LockSafetyParams to false, and<br>
227 according to the comments there relies on putdeviceparams setting<br>
228 the flag back when the old device is re-instated.<br>
229<br>
230 However, if we have corrupted any part of the device's content, then<br>
231 its possible to exit putdeviceparams, in one place only, without<br>
232 setting LockSafetyParams. Here we simply add an explicit reset of the<br>
233 value even in the case of an error setting the new device.<br>
234<br>
235base/gsdparam.c<br>
236<p>
237</blockquote>
238<hr>
239<p><strong>2018-09-01 09:28:08 +0100
240</strong>
241<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
242<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=21b27dc55b493564006c91326a5ddc636cf88563">21b27dc55b493564006c91326a5ddc636cf88563</a>
243<blockquote>
244<p>
245 Bug 699677 &quot;.bindnow still causing side effects&quot;<br>
246<br>
247 In fact, its nothing to do with .bindnow. That simply modifies the exec<br>
248 stack in a way which makes the problem exhibit.<br>
249<br>
250 setcustomcolor should really check its operands. because it doens't, it<br>
251 creates a tint transform function which tries to mulitply a number by<br>
252 (in this case) a name. This throws an error of course.<br>
253<br>
254 The problem is that the code to sample the tint transform function<br>
255 didn't deal properly with the case where the PostScript function throws<br>
256 an error. In that case it properly exits the code which executes the<br>
257 function, but it fails to unwind the exec stack.<br>
258<br>
259 This leads to use trying to complete the function, using the enumerator,<br>
260 which has been stored on the exec stack. Because we didn't clean up the<br>
261 exec stack, what we retrieve isn't an enumerator. This causes us to try<br>
262 to access invalid memory and can result in a crash.<br>
263<br>
264 So, several steps. Firstly have the sampling code properly handle the<br>
265 error and restore the exec stack. Secondly, have the setcolorspace code<br>
266 be prepared to accept a NULL returned from the sampling code and treat<br>
267 that as an error (and also fix a similar exec stack problem in the<br>
268 setcolorspace code). Finally; have setcustomcolor validate its operands.<br>
269<br>
270Resource/Init/gs_lev2.ps<br>
271psi/zcolor.c<br>
272psi/zfsample.c<br>
273<p>
274</blockquote>
275<hr>
276<p><strong>2018-08-29 09:30:19 -0700
277</strong>
278<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
279<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=91d6bc4d3e3865388ede3bcd4e84bbb8787b78e4">91d6bc4d3e3865388ede3bcd4e84bbb8787b78e4</a>
280<blockquote>
281<p>
282 Fix for security issues found during internal security audit<br>
283<br>
284 While most of the invocations of .forceput and related operators were<br>
285 &quot;protected&quot; by being within &quot;executeonly&quot; procedures, several had crept<br>
286 in that did not make sure that the operator was hidden in a procedure<br>
287 that could not be read.<br>
288<br>
289Resource/Init/gs_dps.ps<br>
290Resource/Init/gs_fntem.ps<br>
291Resource/Init/gs_init.ps<br>
292Resource/Init/gs_lev2.ps<br>
293Resource/Init/gs_pdfwr.ps<br>
294Resource/Init/gs_setpd.ps<br>
295Resource/Init/gs_typ32.ps<br>
296<p>
297</blockquote>
298<hr>
299<p><strong>2018-08-30 15:07:33 +0100
300</strong>
301<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
302<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=00dd8bc74c2abb38195b9f88f7de36f169296a97">00dd8bc74c2abb38195b9f88f7de36f169296a97</a>
303<blockquote>
304<p>
305 Update dates etc for release candidate 2<br>
306<br>
307base/gscdef.c<br>
308doc/DLL.htm<br>
309doc/Deprecated.htm<br>
310doc/Develop.htm<br>
311doc/Devices.htm<br>
312doc/Drivers.htm<br>
313doc/Fonts.htm<br>
314doc/History9.htm<br>
315doc/Install.htm<br>
316doc/Language.htm<br>
317doc/Lib.htm<br>
318doc/Make.htm<br>
319doc/News.htm<br>
320doc/Ps-style.htm<br>
321doc/Ps2epsi.htm<br>
322doc/Psfiles.htm<br>
323doc/Readme.htm<br>
324doc/Release.htm<br>
325doc/SavedPages.htm<br>
326doc/Source.htm<br>
327doc/Unix-lpr.htm<br>
328doc/Use.htm<br>
329doc/VectorDevices.htm<br>
330doc/WhatIsGS.htm<br>
331doc/gs-vms.hlp<br>
332doc/sample_downscale_device.htm<br>
333doc/subclass.htm<br>
334doc/thirdparty.htm<br>
335man/dvipdf.1<br>
336man/gs.1<br>
337man/gslp.1<br>
338man/gsnd.1<br>
339man/pdf2dsc.1<br>
340man/pdf2ps.1<br>
341man/pf2afm.1<br>
342man/pfbtopfa.1<br>
343man/printafm.1<br>
344man/ps2ascii.1<br>
345man/ps2epsi.1<br>
346man/ps2pdf.1<br>
347man/ps2pdfwr.1<br>
348man/ps2ps.1<br>
349<p>
350</blockquote>
351<hr>
352<p><strong>2018-08-30 13:33:36 +0100
353</strong>
354<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
355<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=214d6725e4a2b539294ebfba528a8d0961379fd0">214d6725e4a2b539294ebfba528a8d0961379fd0</a>
356<blockquote>
357<p>
358 ps2write - modify Lab space handling<br>
359<br>
360 Commit 9e58cc8dd7e9b98620c798c901f800aff2e381ce improved the handling of<br>
361 /Separation spaces with an Lab alternate space.<br>
362<br>
363 However, it also altered the handling of Lab spaces as the base space<br>
364 for patterns, or the initial space. This caused a small difference in<br>
365 release testing.<br>
366<br>
367 The result was incorrect previously, and after the above commit, but the<br>
368 commit made it appear worse from a user's perspective. Until we can<br>
369 get time to properly convert Lab base spaces into a device space, return<br>
370 the code to its prior state. This does not affect the improvement to<br>
371 Separation spaces.<br>
372<br>
373devices/vector/gdevpdfc.c<br>
374<p>
375</blockquote>
376<hr>
377<p><strong>2018-08-30 09:34:07 +0100
378</strong>
379<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
380<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e40f79df969e4168daf65b3b3af3ea73b6a71fc4">e40f79df969e4168daf65b3b3af3ea73b6a71fc4</a>
381<blockquote>
382<p>
383 Bug #699684 &quot;gs segfaults in refset_null_new when processing malformed file&quot;<br>
384<br>
385 It is possible for a specifically malformed Binary Object Sequence to<br>
386 run out of data to process (and return to refill the buffer) when it<br>
387 had read *exactly* the maximum number of objects declared in the top<br>
388 array.<br>
389<br>
390 This meant that the 'index' pointing to the next expected array entry<br>
391 to be filled in actually pointed past the end of the array.<br>
392<br>
393 We then called a routine to set the unused entries in the array to null<br>
394 objects (for GC purposes), using the index. Because it pointed past the<br>
395 end of the array this led to the count of objects being -1. The code<br>
396 then counted down the count, until it reached 0, while at the same time<br>
397 writing null objects past the end of the array.<br>
398<br>
399 This commit simply checks the index against the array size and doesn't<br>
400 attempt to fill it in if its less than that value. Note that the array<br>
401 index is 0-based, hence &lt; not &lt;=.<br>
402<br>
403psi/iscanbin.c<br>
404<p>
405</blockquote>
406<hr>
407<p><strong>2018-08-29 11:43:49 +0100
408</strong>
409<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
410<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7874cfe914edc8a244976d914fc5a150c263651e">7874cfe914edc8a244976d914fc5a150c263651e</a>
411<blockquote>
412<p>
413 Update changelog post 9.24rc1<br>
414<br>
415doc/History9.htm<br>
416<p>
417</blockquote>
418<hr>
419<p><strong>2018-08-29 07:59:17 +0100
420</strong>
421<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
422<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=110b1843b16d92878fd56d874b95bac5e130c720">110b1843b16d92878fd56d874b95bac5e130c720</a>
423<blockquote>
424<p>
425 Fix a typo in commit 21ae2f8d9953<br>
426<br>
427psi/zfapi.c<br>
428<p>
429</blockquote>
430<hr>
431<p><strong>2018-08-26 15:16:46 +0800
432</strong>
433<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
434<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=74cc0437c7d4aa8bef051300b0ba3b510b9922c4">74cc0437c7d4aa8bef051300b0ba3b510b9922c4</a>
435<blockquote>
436<p>
437 Bug 699673: jbig2dec: Initialize return code for all cases.<br>
438<br>
439 Thanks to oss-fuzz for reporting.<br>
440<br>
441jbig2dec/jbig2_arith.c<br>
442<p>
443</blockquote>
444<hr>
445<p><strong>2018-08-26 15:16:02 +0800
446</strong>
447<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
448<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=46c4a646d5c7954f076478aa8e85a4fc3b2b1f66">46c4a646d5c7954f076478aa8e85a4fc3b2b1f66</a>
449<blockquote>
450<p>
451 jbig2dec: Avoid dereferencing pointer before it is tested.<br>
452<br>
453 Thanks to coverity.<br>
454<br>
455jbig2dec/jbig2.c<br>
456<p>
457</blockquote>
458<hr>
459<p><strong>2018-08-28 16:55:49 +0100
460</strong>
461<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
462<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa11dee6f8a779edbb03ce20853b719f49815fcc">fa11dee6f8a779edbb03ce20853b719f49815fcc</a>
463<blockquote>
464<p>
465 Dates, strings and stuff for 9.24 rc1<br>
466<br>
467base/gscdef.c<br>
468doc/DLL.htm<br>
469doc/Deprecated.htm<br>
470doc/Develop.htm<br>
471doc/Devices.htm<br>
472doc/Drivers.htm<br>
473doc/Fonts.htm<br>
474doc/History9.htm<br>
475doc/Install.htm<br>
476doc/Language.htm<br>
477doc/Lib.htm<br>
478doc/Make.htm<br>
479doc/News.htm<br>
480doc/Ps-style.htm<br>
481doc/Ps2epsi.htm<br>
482doc/Psfiles.htm<br>
483doc/Readme.htm<br>
484doc/Release.htm<br>
485doc/SavedPages.htm<br>
486doc/Source.htm<br>
487doc/Unix-lpr.htm<br>
488doc/Use.htm<br>
489doc/VectorDevices.htm<br>
490doc/WhatIsGS.htm<br>
491doc/gs-vms.hlp<br>
492doc/sample_downscale_device.htm<br>
493doc/subclass.htm<br>
494doc/thirdparty.htm<br>
495man/dvipdf.1<br>
496man/gs.1<br>
497man/gslp.1<br>
498man/gsnd.1<br>
499man/pdf2dsc.1<br>
500man/pdf2ps.1<br>
501man/pf2afm.1<br>
502man/pfbtopfa.1<br>
503man/printafm.1<br>
504man/ps2ascii.1<br>
505man/ps2epsi.1<br>
506man/ps2pdf.1<br>
507man/ps2pdfwr.1<br>
508man/ps2ps.1<br>
509<p>
510</blockquote>
511<hr>
512<p><strong>2018-08-28 16:27:53 +0100
513</strong>
514<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
515<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=520bb0ea7519aa3e79db78aaf0589dae02103764">520bb0ea7519aa3e79db78aaf0589dae02103764</a>
516<blockquote>
517<p>
518 Bug #699654 (again) and Bug #699677 Improve operator removal for SAFER<br>
519<br>
520 Take inspiration from the code to remove unused/dangerous operators<br>
521 and, when SAFER is true, remove a bunch more non-standard operators<br>
522 or routines.<br>
523<br>
524 In particular remove the .bindnow operator, which should have been<br>
525 removed previously for Bug #699677 and remove the<br>
526 .pushpdf14devicefilter for Bug #699654. Only the PDF interpreter<br>
527 needs to use that, and the device in question only expects to be used<br>
528 carefully and in the correct sequence. Make sure nobody can meddle with<br>
529 it.<br>
530<br>
531 In addition I removed a number of other operators which are not needed<br>
532 in normal operation. Some of them, however, are useful so these<br>
533 (with the exception of .bindnow which is always removed) are only<br>
534 undefined if SAFER is true.<br>
535<br>
536 This allows our QA procedure to continue to use them, which is<br>
537 particularly important in the case of .makeoperator and .setCPSImode.<br>
538<br>
539 At a later date we may choose to move some of these into the regular<br>
540 undefinition code, ie not dependent on SAFER.<br>
541<br>
542Resource/Init/gs_init.ps<br>
543<p>
544</blockquote>
545<hr>
546<p><strong>2018-08-28 14:53:49 +0100
547</strong>
548<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
549<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=21ae2f8d9953ffe8d6c8f1b2bf72a14b54d50e74">21ae2f8d9953ffe8d6c8f1b2bf72a14b54d50e74</a>
550<blockquote>
551<p>
552 Bug 699682: Handle text from single &quot;gs_glyph&quot; or &quot;gs_char&quot;<br>
553<br>
554 In the FAPI code, when dealing a substituted cidfont, we extract the original<br>
555 character code, and decode that using the ToUnicode CMap, in order to get a<br>
556 Unicode code point we can then put through the TTF Unicode cmap table - thus<br>
557 improving the chances of getting a legible result.<br>
558<br>
559 It failed to account for the possiblity that we were dealing with a single<br>
560 character code stored directly, rather than a string of 1 or more codes in a<br>
561 buffer - derefencing an invalid pointer.<br>
562<br>
563 Add code to handle those cases.<br>
564<br>
565psi/zfapi.c<br>
566<p>
567</blockquote>
568<hr>
569<p><strong>2018-08-28 14:17:09 +0100
570</strong>
571<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
572<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7a702103b4490e370b36587c34b8b549a75ef3a5">7a702103b4490e370b36587c34b8b549a75ef3a5</a>
573<blockquote>
574<p>
575 Bug 699678: don't allow bytes to be &quot;unread&quot; from stdin<br>
576<br>
577base/stream.c<br>
578<p>
579</blockquote>
580<hr>
581<p><strong>2018-08-28 12:13:55 +0100
582</strong>
583<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
584<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4b00990640258f464b02ce3f721a22fcb59b289b">4b00990640258f464b02ce3f721a22fcb59b289b</a>
585<blockquote>
586<p>
587 Bug 699676 &quot;PDF interpreter can leave dangerous operators available&quot;<br>
588<br>
589 The problem here is that certain PDF functions require the ability to<br>
590 use some of the non-standard, and dangerous, operators/procedures<br>
591 from the PostScript interpreter.<br>
592<br>
593 If we leave those functions readable then a malicious PostScript program<br>
594 could instantiate the PDF interpreter, inspect the packedarrray and<br>
595 copy the otherwise unobtainable operator/function, then use it for<br>
596 mischief.<br>
597<br>
598 By making the PDF functions executeonly its impossible to read the<br>
599 function contents, which prevents this kind of abuse.<br>
600<br>
601Resource/Init/pdf_base.ps<br>
602Resource/Init/pdf_draw.ps<br>
603Resource/Init/pdf_font.ps<br>
604Resource/Init/pdf_main.ps<br>
605Resource/Init/pdf_ops.ps<br>
606Resource/Init/pdf_rbld.ps<br>
607Resource/Init/pdf_sec.ps<br>
608<p>
609</blockquote>
610<hr>
611<p><strong>2018-08-28 09:55:48 +0100
612</strong>
613<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
614<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5b5536fa88a9e885032bc0df3852c3439399a5c0">5b5536fa88a9e885032bc0df3852c3439399a5c0</a>
615<blockquote>
616<p>
617 Remove gssetresolution/gsgetresolution<br>
618<br>
619 These are non-standard, and never used, so remove them.<br>
620<br>
621 Also rejig gsgetdeviceprop, rename to .gsgetdeviceprop and undefine it after<br>
622 it's used.<br>
623<br>
624 For the only other use of gsgetdeviceprop, replace with a special_op call.<br>
625<br>
626Resource/Init/gs_init.ps<br>
627Resource/Init/gs_setpd.ps<br>
628<p>
629</blockquote>
630<hr>
631<p><strong>2018-08-28 07:52:18 +0100
632</strong>
633<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
634<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c9b362ba908ca4b1d7c72663a33229588012d7d9">c9b362ba908ca4b1d7c72663a33229588012d7d9</a>
635<blockquote>
636<p>
637 Bug 699670: disallow copying of the epo device<br>
638<br>
639 The erasepage optimisation (epo) subclass device shouldn't be allowed to be<br>
640 copied because the subclass private data, child and parent pointers end up<br>
641 being shared between the original device and the copy.<br>
642<br>
643 Add an epo_finish_copydevice which NULLs the three offending pointers, and<br>
644 then communicates to the caller that copying is not allowed.<br>
645<br>
646 This also exposed a separate issue with the stype for subclasses devices.<br>
647 Devices are, I think, unique in having two stype objects associated with them:<br>
648 the usual one in the memory manager header, and the other stored in the device<br>
649 structere directly. In order for the stype to be correct, we have to use the<br>
650 stype for the incoming device, with the ssize of the original device (ssize<br>
651 should reflect the size of the memory allocation). We correctly did so with the<br>
652 stype in the device structure, but then used the prototype device's stype to<br>
653 patch the memory manager stype - meaning the ssize potentially no longer<br>
654 matched the allocated memory. This caused problems in the garbager where there<br>
655 is an implicit assumption that the size of a single object clump (c_alone == 1)<br>
656 is also the size (+ memory manager overheads) of the single object it contains.<br>
657<br>
658 The solution is to use the same stype instance to patch the memory manager<br>
659 data as we do in the device structure (with the correct ssize).<br>
660<br>
661base/gdevdflt.c<br>
662base/gdevepo.c<br>
663<p>
664</blockquote>
665<hr>
666<p><strong>2018-08-27 11:15:16 +0100
667</strong>
668<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
669<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ea735ba37dc0fd5f5622d031830b9a559dec1cc9">ea735ba37dc0fd5f5622d031830b9a559dec1cc9</a>
670<blockquote>
671<p>
672 Fix error condition for SC and CS<br>
673<br>
674 The SC and CS PDF operators correctly checked the return code from the<br>
675 underlying setcolor and setcolorspace code, but we had already<br>
676 set up the exec stack for handling a non-error return.<br>
677<br>
678 We have to do this before calling the underlying code, as that also<br>
679 uses a state machine, and alters the exec stack. We must push our<br>
680 own execution context first.<br>
681<br>
682 Ordinarily this isn't a problem, but if we have a custom error handler<br>
683 which doesn't stop the interpreter, then we would continue on to try<br>
684 and use what we'd pushed onto the exec stack, with predictably dire<br>
685 results.<br>
686<br>
687 Here we avoid this by saving the exec stack pointer on entry, and if<br>
688 an error occurs, restoring back to that point before returning control<br>
689 to the PostScript interpreter.<br>
690<br>
691 A minor point, but we now also reset the space/color on an error as<br>
692 well, previously it would have been left with the wrong space set.<br>
693<br>
694psi/zcolor.c<br>
695<p>
696</blockquote>
697<hr>
698<p><strong>2018-08-25 07:45:45 +0100
699</strong>
700<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
701<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=79cccf641486a6595c43f1de1cd7ade696020a31">79cccf641486a6595c43f1de1cd7ade696020a31</a>
702<blockquote>
703<p>
704 Bug 699654(2): preserve LockSafetyParams in the nulldevice<br>
705<br>
706 The nulldevice does not necessarily use the normal setpagedevice machinery,<br>
707 but can be set using the nulldevice operator. In which case, we don't preserve<br>
708 the settings from the original device (in the way setpagedevice does).<br>
709<br>
710 Since nulldevice does nothing, this is not generally a problem, but in the case<br>
711 of LockSafetyParams it *is* important when we restore back to the original<br>
712 device, when LockSafetyParams not being set is &quot;preserved&quot; into the post-<br>
713 restore configuration.<br>
714<br>
715 We have to initialise the value to false because the nulldevice is used during<br>
716 initialisation (before any other device exists), and *must* be writable for<br>
717 that.<br>
718<br>
719base/gsdevice.c<br>
720<p>
721</blockquote>
722<hr>
723<p><strong>2018-08-24 18:17:50 +0100
724</strong>
725<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
726<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e5b46839994ec093251bb641fb7cbffe81712e40">e5b46839994ec093251bb641fb7cbffe81712e40</a>
727<blockquote>
728<p>
729 Fix a typo in a dependency<br>
730<br>
731psi/int.mak<br>
732<p>
733</blockquote>
734<hr>
735<p><strong>2018-08-24 09:26:04 +0100
736</strong>
737<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
738<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5516c614dc33662a2afdc377159f70218e67bde5">5516c614dc33662a2afdc377159f70218e67bde5</a>
739<blockquote>
740<p>
741 Improve restore robustness<br>
742<br>
743 Prompted by looking at Bug 699654:<br>
744<br>
745 There are two variants of the restore operator in Ghostscript: one is Level 1<br>
746 (restoring VM), the other is Level 2+ (adding page device restoring to the<br>
747 Level operator).<br>
748<br>
749 This was implemented by the Level 2+ version restoring the device in the<br>
750 graphics state, then calling the Level 1 implementation to handle actually<br>
751 restoring the VM state.<br>
752<br>
753 The problem was that the operand checking, and sanity of the save object was<br>
754 only done by the Level 1 variant, thus meaning an invalid save object could<br>
755 leave a (Level 2+) restore partially complete - with the page device part<br>
756 restored, but not VM, and the page device not configured.<br>
757<br>
758 To solve that, this commit splits the operand and sanity checking, and the<br>
759 core of the restore operation into separate functions, so the relevant<br>
760 operators can validate the operand *before* taking any further action. That<br>
761 reduces the chances of an invalid restore leaving the interpreter in an<br>
762 unknown state.<br>
763<br>
764 If an error occurs during the actual VM restore it is essentially fatal, and the<br>
765 interpreter cannot continue, but as an extra surety for security, in the event<br>
766 of such an error, we'll explicitly preserve the LockSafetyParams of the device,<br>
767 rather than rely on the post-restore device configuration (which won't happen<br>
768 in the event of an error).<br>
769<br>
770psi/int.mak<br>
771psi/isave.h<br>
772psi/zdevice2.c<br>
773psi/zvmem.c<br>
774<p>
775</blockquote>
776<hr>
777<p><strong>2018-08-24 12:59:45 +0100
778</strong>
779<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
780<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b0a3854751363657998d4c9bd33c290bf9d07c67">b0a3854751363657998d4c9bd33c290bf9d07c67</a>
781<blockquote>
782<p>
783 Improve PDF operator hiding<br>
784<br>
785 Firstly, hide the .setdistillerparams operator, if we try to use this<br>
786 with a device which doesn't accept distiller params it could cause<br>
787 problems. The setdistillerparams operator checks the device before<br>
788 calling .setdistillerparams. This change is needed in *both*<br>
789 pdf_main.ps and gs_init.ps (see next)<br>
790<br>
791 Secondly, fix the code for hiding PDF operators, when DELAYBIND is<br>
792 true. We can't undefine the operators in pdf_main.ps if DELAYBIND<br>
793 is true, because the procedures using them won't have been bound yet.<br>
794 So we duplicate the code for removing the operators in gs_init.ps<br>
795 and call that during .bindnow, after all the deferred binding has been<br>
796 completed.<br>
797<br>
798 Previously the code for hiding the PDF and PostScript operators had been<br>
799 left commented out, meaning that if a user chose DELAYBIND (which is<br>
800 itself a massive security hole) then this minor layer of security<br>
801 would not have been activated.<br>
802<br>
803Resource/Init/gs_init.ps<br>
804Resource/Init/pdf_main.ps<br>
805<p>
806</blockquote>
807<hr>
808<p><strong>2018-08-24 12:44:26 +0100
809</strong>
810<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
811<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e01e77a36cbb2e0277bc3a63852244bec41be0f6">e01e77a36cbb2e0277bc3a63852244bec41be0f6</a>
812<blockquote>
813<p>
814 Hide the .shfill operator<br>
815<br>
816 Commit 0b6cd1918e1ec4ffd087400a754a845180a4522b was supposed to make<br>
817 the .shfill operator unobtainable, but I accidentally left a comment<br>
818 in the line doing so.<br>
819<br>
820 Fix it here, without this the operator can still be exploited.<br>
821<br>
822Resource/Init/gs_init.ps<br>
823<p>
824</blockquote>
825<hr>
826<p><strong>2018-08-23 15:42:02 +0100
827</strong>
828<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
829<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e9ce5016db968b40e4ec255a3005f2786cce45f">8e9ce5016db968b40e4ec255a3005f2786cce45f</a>
830<blockquote>
831<p>
832 Bug 699665 &quot;memory corruption in aesdecode&quot;<br>
833<br>
834 The specimen file calls aesdecode without specifying the key to be<br>
835 used, though it does manage to do enough work with the PDF interpreter<br>
836 routines to get access to aesdecode (which isn't normally available).<br>
837<br>
838 This causes us to read uninitialised memory, which can (and often does)<br>
839 lead to a segmentation fault.<br>
840<br>
841 In this commit we set the key to NULL explicitly during intialisation<br>
842 and then check it before we read it. If its NULL we just return.<br>
843<br>
844 It seems bizarre that we don't return error codes, we should probably<br>
845 look into that at some point, but this prevents the code trying to<br>
846 read uninitialised memory.<br>
847<br>
848base/aes.c<br>
849base/saes.c<br>
850<p>
851</blockquote>
852<hr>
853<p><strong>2018-08-23 15:41:18 +0100
854</strong>
855<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
856<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=241d91112771a6104de10b3948c3f350d6690c1d">241d91112771a6104de10b3948c3f350d6690c1d</a>
857<blockquote>
858<p>
859 Bug 699664: Ensure the correct is in place before cleanup<br>
860<br>
861 If the PS job replaces the device and leaves that graphics state in place, we<br>
862 wouldn't cleanup the default device in the normal way, but rely on the garbage<br>
863 collector.<br>
864<br>
865 This works (but isn't ideal), *except* when the job replaces the device with<br>
866 the null device (using the nulldevice operator) - this means that<br>
867 .uninstallpagedevice doesn't replace the existing device with the nulldevice<br>
868 (since it is already installed), the device from the graphics ends up being<br>
869 freed - and as it is the nulldevice, which we rely on, memory corruption<br>
870 and a segfault can happen.<br>
871<br>
872 We avoid this by checking if the current device is the nulldevice, and if so,<br>
873 restoring it away, before continuing with the device cleanup.<br>
874<br>
875psi/imain.c<br>
876<p>
877</blockquote>
878<hr>
879<p><strong>2018-08-23 14:13:25 +0100
880</strong>
881<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
882<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c432131c3fdb2143e148e8ba88555f7f7a63b25e">c432131c3fdb2143e148e8ba88555f7f7a63b25e</a>
883<blockquote>
884<p>
885 Bug 699661: Avoid sharing pointers between pdf14 compositors<br>
886<br>
887 If a copdevice is triggered when the pdf14 compositor is the device, we make<br>
888 a copy of the device, then throw an error because, by default we're only allowed<br>
889 to copy the device prototype - then freeing it calls the finalize, which frees<br>
890 several pointers shared with the parent.<br>
891<br>
892 Make a pdf14 specific finish_copydevice() which NULLs the relevant pointers,<br>
893 before, possibly, throwing the same error as the default method.<br>
894<br>
895 This also highlighted a problem with reopening the X11 devices, where a custom<br>
896 error handler could be replaced with itself, meaning it also called itself,<br>
897 and infifite recursion resulted.<br>
898<br>
899 Keep a note of if the handler replacement has been done, and don't do it a<br>
900 second time.<br>
901<br>
902base/gdevp14.c<br>
903devices/gdevxini.c<br>
904<p>
905</blockquote>
906<hr>
907<p><strong>2018-08-23 14:12:48 +0100
908</strong>
909<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
910<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0b6cd1918e1ec4ffd087400a754a845180a4522b">0b6cd1918e1ec4ffd087400a754a845180a4522b</a>
911<blockquote>
912<p>
913 Fix Bug 699660 &quot;shading_param incomplete type checking&quot;<br>
914<br>
915 Its possible to pass a t_struct parameter to .shfill which is not a<br>
916 shading function built by .buildshading. This could then lead to memory<br>
917 corruption or a segmentation fault by treating the object passed in<br>
918 as if it were a shading.<br>
919<br>
920 Its non-trivial to check the t_struct, because this function can take<br>
921 7 different kinds of structures as a parameter. Checking these is<br>
922 possible, of course, but would add a performance penalty.<br>
923<br>
924 However, we can note that we never call .shfill without first calling<br>
925 .buildshading, and we never call .buildshading without immediately<br>
926 calling .shfill. So we can treat these as an atomic operation. The<br>
927 .buildshading function takes all its parameters as PostScript objects<br>
928 and validates them, so that should be safe.<br>
929<br>
930 This allows us to 'hide' the .shfill operator preventing the possibility<br>
931 of passing an invalid parameter.<br>
932<br>
933Resource/Init/gs_init.ps<br>
934Resource/Init/gs_ll3.ps<br>
935Resource/Init/pdf_draw.ps<br>
936<p>
937</blockquote>
938<hr>
939<p><strong>2018-08-23 12:20:56 +0100
940</strong>
941<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
942<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b575e1ec42cc86f6a58c603f2a88fcc2af699cc8">b575e1ec42cc86f6a58c603f2a88fcc2af699cc8</a>
943<blockquote>
944<p>
945 Bug 699668: handle stack overflow during error handling<br>
946<br>
947 When handling a Postscript error, we push the object throwing the error onto<br>
948 the operand stack for the error handling procedure to access - we were not<br>
949 checking the available stack before doing so, thus causing a crash.<br>
950<br>
951 Basically, if we get a stack overflow when already handling an error, we're out<br>
952 of options, return to the caller with a fatal error.<br>
953<br>
954psi/interp.c<br>
955<p>
956</blockquote>
957<hr>
958<p><strong>2018-08-23 09:30:56 +0100
959</strong>
960<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
961<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d224b4abec1d0bd991028b7e38e95d47b7a834f4">d224b4abec1d0bd991028b7e38e95d47b7a834f4</a>
962<blockquote>
963<p>
964 Bug 699623: ICC profile creation file permissions check<br>
965<br>
966 The original fix missed the initial branch with an explicitly specified<br>
967 directory.<br>
968<br>
969 This also uncovered problems with device profile reference counting, where<br>
970 if profile creation failed we'd leave a pointer to the original profile<br>
971 in place - either a dangling pointer, or leaving the ref count wrong.<br>
972<br>
973 To solve this, we NULL the relevant profile pointer in the device after<br>
974 adjusting the reference count.<br>
975<br>
976base/gsicc_manage.c<br>
977<p>
978</blockquote>
979<hr>
980<p><strong>2018-08-23 09:54:59 +0100
981</strong>
982<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
983<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=78911a01b67d590b4a91afac2e8417360b934156">78911a01b67d590b4a91afac2e8417360b934156</a>
984<blockquote>
985<p>
986 Bug 699654: Check the restore operand type<br>
987<br>
988 The primary function that implements restore correctly checked its parameter,<br>
989 but a function that does some preliminary work for the restore (gstate and<br>
990 device handling) did not check.<br>
991<br>
992 So, even though the restore correctly errored out, it left things partially done<br>
993 and, in particular, the device in partially restored state. Meaning the<br>
994 LockSafetyParams was not correctly set.<br>
995<br>
996psi/zdevice2.c<br>
997<p>
998</blockquote>
999<hr>
1000<p><strong>2018-08-21 20:36:52 +0100
1001</strong>
1002<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1003<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0edd3d6c634a577db261615a9dc2719bca7f6e01">0edd3d6c634a577db261615a9dc2719bca7f6e01</a>
1004<blockquote>
1005<p>
1006 Bug 699659: Don't just assume an object is a t_(a)struct<br>
1007<br>
1008psi/ztype.c<br>
1009<p>
1010</blockquote>
1011<hr>
1012<p><strong>2018-08-21 20:17:51 +0100
1013</strong>
1014<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1015<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a054156d425b4dbdaaa9fda4b5f1182b27598c2b">a054156d425b4dbdaaa9fda4b5f1182b27598c2b</a>
1016<blockquote>
1017<p>
1018 Bug 699658: Fix handling of pre-SAFER opened files.<br>
1019<br>
1020 Temp files opened for writing before SAFER is engaged are not subject to the<br>
1021 SAFER restrictions - that is handled by recording in a dictionary, and<br>
1022 checking that as part of the permissions checks.<br>
1023<br>
1024 By adding a custom error handler for invalidaccess, that allowed the filename<br>
1025 to be added to the dictionary (despite the attempted open throwing the error)<br>
1026 thus meaning subsequent accesses were erroneously permitted.<br>
1027<br>
1028Resource/Init/gs_init.ps<br>
1029<p>
1030</blockquote>
1031<hr>
1032<p><strong>2018-08-21 20:17:05 +0100
1033</strong>
1034<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1035<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0d3901189f245232f0161addf215d7268c4d05a3">0d3901189f245232f0161addf215d7268c4d05a3</a>
1036<blockquote>
1037<p>
1038 Bug 699657: properly apply file permissions to .tempfile<br>
1039<br>
1040psi/zfile.c<br>
1041<p>
1042</blockquote>
1043<hr>
1044<p><strong>2018-08-21 16:42:45 +0100
1045</strong>
1046<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1047<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c3476dde7743761a4e1d39a631716199b696b880">c3476dde7743761a4e1d39a631716199b696b880</a>
1048<blockquote>
1049<p>
1050 Bug 699656: Handle LockDistillerParams not being a boolean<br>
1051<br>
1052 This caused a function call commented as &quot;Can't fail&quot; to fail, and resulted<br>
1053 in memory correuption and a segfault.<br>
1054<br>
1055devices/vector/gdevpdfp.c<br>
1056psi/iparam.c<br>
1057<p>
1058</blockquote>
1059<hr>
1060<p><strong>2018-08-21 16:24:05 +0100
1061</strong>
1062<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1063<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b326a71659b7837d3acde954b18bda1a6f5e9498">b326a71659b7837d3acde954b18bda1a6f5e9498</a>
1064<blockquote>
1065<p>
1066 Bug 699655: Properly check the return value....<br>
1067<br>
1068 ...when getting a value from a dictionary<br>
1069<br>
1070psi/zcolor.c<br>
1071<p>
1072</blockquote>
1073<hr>
1074<p><strong>2018-08-15 16:24:11 +0100
1075</strong>
1076<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1077<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f25045e88de674a1202c1239565ee99e9ddabe91">f25045e88de674a1202c1239565ee99e9ddabe91</a>
1078<blockquote>
1079<p>
1080 Fix missing dependency declaration for gdevoflt.h<br>
1081<br>
1082base/lib.mak<br>
1083<p>
1084</blockquote>
1085<hr>
1086<p><strong>2018-08-20 15:18:27 +0100
1087</strong>
1088<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1089<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=50ef2aa8c28f0eb097b8dab3effbe6b1c3948879">50ef2aa8c28f0eb097b8dab3effbe6b1c3948879</a>
1090<blockquote>
1091<p>
1092 Fix &quot;ignored return code&quot; Coverity errors.<br>
1093<br>
1094 Several places in pl_main_process_options(), we were ignoring return codes -<br>
1095 particularly, cases where a genuine error is possible.<br>
1096<br>
1097 Rather than handle each error case automatically, drop out of the switch,<br>
1098 and catch the error before jumping to the top of the while loop.<br>
1099<br>
1100 For consistency, ignore the error triggered by -dBATCH<br>
1101<br>
1102pcl/pl/plmain.c<br>
1103<p>
1104</blockquote>
1105<hr>
1106<p><strong>2018-08-20 19:03:26 +0100
1107</strong>
1108<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1109<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=678261f0d973badfc4609e9e7b27a1d039609ebb">678261f0d973badfc4609e9e7b27a1d039609ebb</a>
1110<blockquote>
1111<p>
1112 PostScrip ICC spaces - fix minor memory leak<br>
1113<br>
1114psi/zicc.c<br>
1115<p>
1116</blockquote>
1117<hr>
1118<p><strong>2018-08-18 17:12:46 +0100
1119</strong>
1120<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1121<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4ade82d9471971937ff3bcb39823cb080a18c2d5">4ade82d9471971937ff3bcb39823cb080a18c2d5</a>
1122<blockquote>
1123<p>
1124 Fix a minor compiler warning<br>
1125<br>
1126devices/gdevdsp.c<br>
1127<p>
1128</blockquote>
1129<hr>
1130<p><strong>2018-08-18 10:44:52 +0100
1131</strong>
1132<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1133<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6b1106c232bb18366c527f9da54715ac79165317">6b1106c232bb18366c527f9da54715ac79165317</a>
1134<blockquote>
1135<p>
1136 Fix display device (some more) with subclassing<br>
1137<br>
1138 Because the display device isn't based off one of the standard devices<br>
1139 we need to do extra work with it to ensure it behaves well with the<br>
1140 subclassing device code.<br>
1141<br>
1142 Commit 1203adc8bbcb60f0e4145300aac44f1988b7c2de contained some of this<br>
1143 work, but unfortunately it had an oversight, it didn't update the<br>
1144 parent (subclassing) devices when the device parameters changed.<br>
1145<br>
1146 This led to it using the wrong width for the raster, if the media<br>
1147 size changed after initialisation.<br>
1148<br>
1149devices/gdevdsp.c<br>
1150<p>
1151</blockquote>
1152<hr>
1153<p><strong>2018-08-15 13:44:53 -0600
1154</strong>
1155<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
1156<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c265ee6563a1a65d225c4255d95d7306a21c3146">c265ee6563a1a65d225c4255d95d7306a21c3146</a>
1157<blockquote>
1158<p>
1159 Token buffer not freed.<br>
1160<br>
1161 Unrecognized PJL settings resulted in a memory leak of the token<br>
1162 buffer.<br>
1163<br>
1164pcl/pl/pjparse.c<br>
1165<p>
1166</blockquote>
1167<hr>
1168<p><strong>2018-08-15 10:45:50 -0700
1169</strong>
1170<br>Nancy Durgin &lt;nancy.durgin@artifex.com&gt;<br>
1171<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa9b0f51a5fbac1bdabef012cc5b0ca006c2c281">fa9b0f51a5fbac1bdabef012cc5b0ca006c2c281</a>
1172<blockquote>
1173<p>
1174 Fix compiler warning<br>
1175<br>
1176base/gdevepo.c<br>
1177<p>
1178</blockquote>
1179<hr>
1180<p><strong>2018-08-15 14:10:55 +0100
1181</strong>
1182<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1183<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7ab21af0b0c70707aefb1083505136ff7862d337">7ab21af0b0c70707aefb1083505136ff7862d337</a>
1184<blockquote>
1185<p>
1186 Bug 699638(3): Fix param list key handling in pl_main_process_options()<br>
1187<br>
1188 param lists can be configured to handle keys in two ways: persistent keys, or<br>
1189 transient keys. For persistent keys, the param list contains a reference to the<br>
1190 key string, and does no management of the string memory.<br>
1191<br>
1192 Configured for transient key strings, the param list makes a copy of the string<br>
1193 and the string memory is managed along with the parameter list itself.<br>
1194<br>
1195 The two approaches cannot be mixed in the same param list.<br>
1196<br>
1197 The pl_main_process_options() code configures the param list to use transient<br>
1198 key strings (which is the default). But it was then copying the key strings,<br>
1199 before passing them to the param list API, and taking no action to manage<br>
1200 the string memory - causing memory leaks.<br>
1201<br>
1202 Since the param list (as configured) takes a copy of the key string, there's no<br>
1203 call for the calling code to do so, and not doing the local string copy<br>
1204 prevents leaking memory.<br>
1205<br>
1206pcl/pl/plmain.c<br>
1207<p>
1208</blockquote>
1209<hr>
1210<p><strong>2018-08-15 09:30:09 +0100
1211</strong>
1212<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1213<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1ff8b85ae28c7813aa484dd8f1779f4a4d0742af">1ff8b85ae28c7813aa484dd8f1779f4a4d0742af</a>
1214<blockquote>
1215<p>
1216 Bug 699638(2): correct reference counts in gs_initgraphics<br>
1217<br>
1218 In gs_initgraphics(), when we create new color spaces for the graphics state<br>
1219 the color space is created with a reference count of 1, we then call<br>
1220 gs_setcolorspace() which attaches the color space to the gstate and increments<br>
1221 the reference count - we then drop the &quot;local&quot; reference, leaving a<br>
1222 reference count of 2, but only a single reference to the color space (the one<br>
1223 in the graphics state). Meaning the memory leaks.<br>
1224<br>
1225 So, decrement the reference count for the local reference, before dropping the<br>
1226 local reference.<br>
1227<br>
1228base/gsstate.c<br>
1229<p>
1230</blockquote>
1231<hr>
1232<p><strong>2018-08-15 08:37:38 +0100
1233</strong>
1234<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1235<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=854f14096c0c6467068701ad19c4c775374e1ce4">854f14096c0c6467068701ad19c4c775374e1ce4</a>
1236<blockquote>
1237<p>
1238 Bug 699638(1): Clean up before early exit in gx_image_cached_char()<br>
1239<br>
1240 If we end up using the imagemask method to render a cached glyph, we can drop<br>
1241 out early if the glyph is outside the current clip. Previously, the function<br>
1242 simply returned at that point, leaking memory.<br>
1243<br>
1244 Now it falls through to the cleanup and normal return, no longer leaking.<br>
1245<br>
1246base/gxccache.c<br>
1247<p>
1248</blockquote>
1249<hr>
1250<p><strong>2018-08-14 10:01:08 -0700
1251</strong>
1252<br>Nancy Durgin &lt;nancy.durgin@artifex.com&gt;<br>
1253<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1fe06b350370a51d1bcccde37f8daf13af803d3c">1fe06b350370a51d1bcccde37f8daf13af803d3c</a>
1254<blockquote>
1255<p>
1256 Change the debugging in epo to use the gs_debug stuff<br>
1257<br>
1258 I am using 3 flags -- epo-details, epo-install-only, epo-disable.<br>
1259<br>
1260 Can also call &quot;epo_disable(1)&quot; during a gdb session to turn on/off<br>
1261 during the session.<br>
1262<br>
1263base/gdbflags.h<br>
1264base/gdevepo.c<br>
1265<p>
1266</blockquote>
1267<hr>
1268<p><strong>2018-08-09 07:56:51 -0700
1269</strong>
1270<br>Nancy Durgin &lt;nancy.durgin@artifex.com&gt;<br>
1271<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=df188f54f3e3eed5f12b921440ac7d29970aba35">df188f54f3e3eed5f12b921440ac7d29970aba35</a>
1272<blockquote>
1273<p>
1274 Bug 690131: Add epo subclass device to do erasepage optimization.<br>
1275<br>
1276 This optimization only works for devices that have a fillpage<br>
1277 implementation that is &quot;gx_default_fillpage&quot;. For other devices the<br>
1278 subclass device will not be installed. If the device transitions to<br>
1279 clist (or any other non-gx_default_fillpage device), we will stop<br>
1280 doing the optimization.<br>
1281<br>
1282 The optimization basically swallows(defers) all fillpages, remembering<br>
1283 the color (which is probably always white, but it will work with any<br>
1284 &quot;pure&quot; color). Then when the first actual marking operation happens,<br>
1285 we do a fill_rectangle operation with the remembered color.<br>
1286<br>
1287base/gdevepo.c<br>
1288base/gdevepo.h<br>
1289base/gspaint.c<br>
1290base/lib.mak<br>
1291<p>
1292</blockquote>
1293<hr>
1294<p><strong>2018-08-09 11:25:57 +0100
1295</strong>
1296<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1297<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=428c05bf7168df79721f9bf3c574ccd9e1294e7e">428c05bf7168df79721f9bf3c574ccd9e1294e7e</a>
1298<blockquote>
1299<p>
1300 Fix a couple of compiler warnings<br>
1301<br>
1302 Part of the subclassing updates.<br>
1303<br>
1304devices/vector/gdevpdfo.c<br>
1305<p>
1306</blockquote>
1307<hr>
1308<p><strong>2018-08-09 11:25:57 +0100
1309</strong>
1310<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1311<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=55cb739c1134882c6abaca6264a8d8bccf24dedf">55cb739c1134882c6abaca6264a8d8bccf24dedf</a>
1312<blockquote>
1313<p>
1314 Fix a couple of compiler warnings<br>
1315<br>
1316 Part of the subclassing updates.<br>
1317<br>
1318devices/gdevdsp.c<br>
1319devices/vector/gdevpdfo.c<br>
1320<p>
1321</blockquote>
1322<hr>
1323<p><strong>2018-07-31 16:36:28 +0100
1324</strong>
1325<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1326<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5f8ac1413077051fd0f559b7b2d5f36b10d58bfe">5f8ac1413077051fd0f559b7b2d5f36b10d58bfe</a>
1327<blockquote>
1328<p>
1329 Device Subclassing - fix memory leak of the 'stype' device member<br>
1330<br>
1331 This is all horribly crufty and really not possible to explain.<br>
1332<br>
1333 With the addition of the custom finalize() for subclassing devices we<br>
1334 sorted this out for the case where all the devices were garbage<br>
1335 collected (the GC, the custom finalize and the device finalize take<br>
1336 care of all the wrinkles here).<br>
1337<br>
1338 But for unsubclassing we cannot use the finalize() routine for the<br>
1339 original device when freeing the child. For most devices this does<br>
1340 actually work, but if the device itself has a custom finalize method<br>
1341 (rare, but see psdcmyk) then if we allow the finalize routine to run<br>
1342 it might (and in the case of psdcmyk does) free memory which is still<br>
1343 being pointed at by the parent (original) device structure.<br>
1344<br>
1345 So we need to NULL the finalize routine in the stype structure, tell<br>
1346 the memory manager to use the newly modified structure, then free the<br>
1347 child device memory and finally free the stype structure.<br>
1348<br>
1349 We also need to properly handle the reference counts of the icc_struct<br>
1350 and PagesList objects, but we had done that already in previous commits.<br>
1351<br>
1352 For safety, set the parent and child pointers to NULL and set the child<br>
1353 device structure reference count to 0 to ensure it is not retained.<br>
1354<br>
1355 Finally; there was a minor error when patching back the memory manager<br>
1356 'stype' copy in the parent device, fix that now too.<br>
1357<br>
1358base/gdevdflt.c<br>
1359<p>
1360</blockquote>
1361<hr>
1362<p><strong>2018-07-27 12:17:32 +0100
1363</strong>
1364<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1365<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1203adc8bbcb60f0e4145300aac44f1988b7c2de">1203adc8bbcb60f0e4145300aac44f1988b7c2de</a>
1366<blockquote>
1367<p>
1368 Device subclassing - synchronise devices on put_params<br>
1369<br>
1370 Commit 434fb65601b91e14fe4f846dcbb92a68d939faf9 on the erasepage<br>
1371 branch fixed the initial problem, but was not a sufficient solution.<br>
1372<br>
1373 While it seems correct to update the 'target' of the clist so that it<br>
1374 points to the head of the subclassing chain, we can run into problems<br>
1375 using that device, if its parameters (eg width and height) do not<br>
1376 match the ultimate device.<br>
1377<br>
1378 This can happen if we get a put_params() which alters the device<br>
1379 parameters. Although we update the chain after the put_params has<br>
1380 completed, gdevprn-derived devices will reallocate memory or<br>
1381 re-initialise the clist *during* the course of the put_params. If we<br>
1382 don't resynchronise the chain but do update the clist target, then the<br>
1383 clist re-initialisation will be using the wrong parameters.<br>
1384<br>
1385base/gdevprn.c<br>
1386<p>
1387</blockquote>
1388<hr>
1389<p><strong>2018-07-26 17:39:40 +0100
1390</strong>
1391<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1392<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9cb7fbd8ca2f2dee6652d832c76da16b85a5f730">9cb7fbd8ca2f2dee6652d832c76da16b85a5f730</a>
1393<blockquote>
1394<p>
1395 Device Subclassing - fix memory leaks with child device<br>
1396<br>
1397 We should not patch out the finalize routine (now that we have a custom<br>
1398 one), that prevents the child device finalize being run, leading to<br>
1399 memory leaks with ICC profiles.<br>
1400<br>
1401 Also, now we have a finalize routine, we need to free the child device<br>
1402 if there is one present. The child device's own finalize routine will<br>
1403 clean everything up.<br>
1404<br>
1405base/gdevdflt.c<br>
1406base/gdevsclass.c<br>
1407<p>
1408</blockquote>
1409<hr>
1410<p><strong>2018-07-26 16:03:30 +0100
1411</strong>
1412<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1413<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=12a188d18097e2161f3d653b677e55f558d57faf">12a188d18097e2161f3d653b677e55f558d57faf</a>
1414<blockquote>
1415<p>
1416 Device Subclassing - add a finalize routine for subclassing devices<br>
1417<br>
1418 After some research its clear that subclassing devices do actually need<br>
1419 their own specific finalize routine, borrowing the device finalize<br>
1420 leads to problems.<br>
1421<br>
1422 So here we define a default version. All subclassing devices should<br>
1423 either use this routine, or implement their own of the allocate additional<br>
1424 memory. In that case the specific finalize routine should clean up its<br>
1425 own memory and then call the default one.<br>
1426<br>
1427 Add default subclassing finalize to system devices<br>
1428<br>
1429base/gdevflp.c<br>
1430base/gdevmplt.c<br>
1431base/gdevoflt.c<br>
1432base/gdevsclass.c<br>
1433base/gdevsclass.h<br>
1434<p>
1435</blockquote>
1436<hr>
1437<p><strong>2018-07-17 12:45:20 +0100
1438</strong>
1439<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1440<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ae5fddd0bd7b06215235090470d3f9297faa24bb">ae5fddd0bd7b06215235090470d3f9297faa24bb</a>
1441<blockquote>
1442<p>
1443 Subclassing - correct reference counts on ICC profiles<br>
1444<br>
1445 We weren't previously reference counting the profile structure, this<br>
1446 wasn't a problem until pdfwrite started honouring /ProcessColorModel<br>
1447 requests in setpagedevice, which could lead to the ICC profile<br>
1448 structure altering between the device being subclassed, and the<br>
1449 device being unsubclassed.<br>
1450<br>
1451base/gdevdflt.c<br>
1452<p>
1453</blockquote>
1454<hr>
1455<p><strong>2018-07-17 10:08:33 +0100
1456</strong>
1457<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1458<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2642d19883e4c008f999f2872cc0a37b2268634e">2642d19883e4c008f999f2872cc0a37b2268634e</a>
1459<blockquote>
1460<p>
1461 Fix the display device with subclassing devices<br>
1462<br>
1463 When the display device is chosen, the executable calls display_set_callbacks<br>
1464 on the current device. That code then sets a member in the current<br>
1465 device, *without* checking the device is actually the display device.<br>
1466<br>
1467 It does this *before* opening the device....<br>
1468<br>
1469 This is a quick hack to resolve the problem by descending to the bottom<br>
1470 child device if there is a chain of devices in place. We should really<br>
1471 check the device name at each step.<br>
1472<br>
1473 In addition the Windows display device keeps a pointer to the device along<br>
1474 with each 'image'. Not sure why, but it breaks if we are using device<br>
1475 subclassing, because the device can change.<br>
1476<br>
1477 Finally; the code doesn't cope with being unable to find a matching<br>
1478 image with the same device. It sets the 'img' to NULL and then goes ahead<br>
1479 and tries to use it anyway. Fix that at the same time so we don't crash!<br>
1480<br>
1481devices/gdevdsp.c<br>
1482psi/dwmain.c<br>
1483psi/idisp.c<br>
1484<p>
1485</blockquote>
1486<hr>
1487<p><strong>2018-07-16 16:02:26 +0100
1488</strong>
1489<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1490<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8c0d309e74526e0eb5152af05067a9b0a53892c7">8c0d309e74526e0eb5152af05067a9b0a53892c7</a>
1491<blockquote>
1492<p>
1493 pdfwrite - fix stored device pointers in streams, when subclassing<br>
1494<br>
1495 Yet more evidence of nasty hackery in pdfwrite. It stores a copy of the<br>
1496 device pointer in the pdf stream_state. Of course, if we had a<br>
1497 subclassed device when we created the stream, and unsubclassed it before<br>
1498 we closed the (eg if we create a high level pattern before the first<br>
1499 marking operation) then the stored pointer was pointing at the wrong<br>
1500 (child, freed) device.<br>
1501<br>
1502 Just do some pointer traversal to make sure we store the top level one<br>
1503 and use the bottom level one when we need it.<br>
1504<br>
1505devices/vector/gdevpdfo.c<br>
1506devices/vector/gdevpsds.c<br>
1507<p>
1508</blockquote>
1509<hr>
1510<p><strong>2018-07-16 15:58:35 +0100
1511</strong>
1512<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1513<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=40b7e425f7ba239e4639baf3feb9d54ebbb85957">40b7e425f7ba239e4639baf3feb9d54ebbb85957</a>
1514<blockquote>
1515<p>
1516 device subclassing - solve several problems with short-lived subclassing<br>
1517<br>
1518 Nancy's new erasepage optimisation code revealed some interesting<br>
1519 wrinkles in the subclassing code, Firstly;<br>
1520<br>
1521 If we did a save, then inserted a subclassing device, then a restore<br>
1522 we would get a segmentation fault.<br>
1523<br>
1524 This is because when we subclass a device, we make a new copy of the<br>
1525 original device. This device is, of course, created inside the current<br>
1526 save context. When we restore, that restores away the copied device<br>
1527 with the result that the 'child' pointer of the original device is now<br>
1528 pointing at garbage memory.<br>
1529<br>
1530 Fix this by using 'stable' memory instead of immovable memory. Stable<br>
1531 memory is unaffected by save and restore.<br>
1532<br>
1533 This means we also need to 'null' the members of the copied child when<br>
1534 we 'unsubclass' the device. Otherwise garbage collection may end up<br>
1535 trying to enumerate the pointers in the freed device.<br>
1536<br>
1537 Following on from that, when we get a create_compositor call in the<br>
1538 subclassing code we do a dance whereby we patch the method in the<br>
1539 compositor handler that gets pushed, so that it points to the subclass<br>
1540 device, not the device's ultimate child. Of course, when we unsubclass<br>
1541 the device, we need to unpatch the compositor as well.<br>
1542<br>
1543 That one may need more work.<br>
1544<br>
1545 Finally (for now) we weren't properly handling the parent and child<br>
1546 pointers for the list when we removed a device from the middle of a<br>
1547 chain. The doubly-linked pointers weren't being properly updated.<br>
1548<br>
1549base/gdevdflt.c<br>
1550<p>
1551</blockquote>
1552<hr>
1553<p><strong>2018-07-14 10:22:45 +0100
1554</strong>
1555<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1556<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=39e8e61d79488909b7645ecc31563ce15aa05702">39e8e61d79488909b7645ecc31563ce15aa05702</a>
1557<blockquote>
1558<p>
1559 Fix subclassing and page buffer reallocation in prn devices<br>
1560<br>
1561 It is possible for us to need to reallocate the page buffer for a<br>
1562 device if (or example) a setpagedevice call results in changed width<br>
1563 or height of the media.<br>
1564<br>
1565 When we do that, if we need to change to (or re-initialise) a clist<br>
1566 then we set the clist 'target' member to be the 'current' device. That<br>
1567 doesn't mean the current device in the graphics state though, if<br>
1568 we have subclassed the device then we will have passed the params<br>
1569 request down the chain, so the rendering device is not the current<br>
1570 device in the gstate.<br>
1571<br>
1572 We need the target of the clist to be the subclassing device, ie the<br>
1573 one in the graphics state, not the 'current' one. Otherwise if we<br>
1574 were to unsubclass the device, then the clist would be pointing at a<br>
1575 device which was freed.<br>
1576<br>
1577 There's no good way to do this from the subclassing code itself, so<br>
1578 I have (reluctantly) modified gdevprn.c to handle this. Any devices<br>
1579 which don't derive from gdevprn, and use the clist, will need to handle<br>
1580 this case themselves.<br>
1581<br>
1582base/gdevprn.c<br>
1583<p>
1584</blockquote>
1585<hr>
1586<p><strong>2018-07-14 10:15:34 +0100
1587</strong>
1588<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1589<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8eb6643606556921bbbbf495825470cd75123874">8eb6643606556921bbbbf495825470cd75123874</a>
1590<blockquote>
1591<p>
1592 subclassing devices - fix clist patching on unsubclass<br>
1593<br>
1594 When removing a subclassing device from the chain, if we have patched<br>
1595 the clist create_compositor method, then we need to restore it,<br>
1596 otherwise it will continue to point to the (now vanished) subnclassing<br>
1597 device's method.<br>
1598<br>
1599base/gdevdflt.c<br>
1600base/gdevsclass.c<br>
1601base/gxdevice.h<br>
1602<p>
1603</blockquote>
1604<hr>
1605<p><strong>2018-08-09 11:55:54 +0100
1606</strong>
1607<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
1608<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=88c54234ef0565e54de8b2378907ca201f348b4b">88c54234ef0565e54de8b2378907ca201f348b4b</a>
1609<blockquote>
1610<p>
1611 Update &quot;Font lookup&quot; description<br>
1612<br>
1613 The FONTPATH section did not explicitly state the search includes descendants<br>
1614 of the directories listed in FONTPATH.<br>
1615<br>
1616 Possibly this is because filenameforall (with which the search is implemented)<br>
1617 did not recurse into subdirectories when the FONTPATH feature was originally<br>
1618 added, but filenameforall now does (as it is supposed to), so the docs should<br>
1619 reflect that.<br>
1620<br>
1621doc/Use.htm<br>
1622<p>
1623</blockquote>
1624<hr>
1625<p><strong>2018-08-06 11:31:11 +0100
1626</strong>
1627<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1628<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=398fd3742abf40cd1c4b94273e81755bdcb5e88f">398fd3742abf40cd1c4b94273e81755bdcb5e88f</a>
1629<blockquote>
1630<p>
1631 PDF interpreter remove debug code<br>
1632<br>
1633 Accidentally left a 'pstack' in the last commit<br>
1634<br>
1635Resource/Init/pdf_draw.ps<br>
1636<p>
1637</blockquote>
1638<hr>
1639<p><strong>2018-08-06 11:23:00 +0100
1640</strong>
1641<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1642<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=17d6b5fd47e161b8a0bfd23e7a4214b16acd07dd">17d6b5fd47e161b8a0bfd23e7a4214b16acd07dd</a>
1643<blockquote>
1644<p>
1645 PDF interpreter - resurrect Link handling improvements<br>
1646<br>
1647 commit 61f53ab8f9e586c8722ccd0ea7de3722b0d40cd2 removed the duplication<br>
1648 of /Link and /Text annotation handling, and used the newer code for<br>
1649 handling these instead.<br>
1650<br>
1651 It transpires that the /Link handling in the old (removed) code was<br>
1652 considerably more functional than that in the newer code...<br>
1653<br>
1654 Here we replace the new code with the old code in order to get the same<br>
1655 functionality, but with the proper controls in place, and only handling<br>
1656 annotations in one place instead of 2.<br>
1657<br>
1658Resource/Init/pdf_draw.ps<br>
1659<p>
1660</blockquote>
1661<hr>
1662<p><strong>2018-08-06 09:37:32 +0100
1663</strong>
1664<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1665<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=61f53ab8f9e586c8722ccd0ea7de3722b0d40cd2">61f53ab8f9e586c8722ccd0ea7de3722b0d40cd2</a>
1666<blockquote>
1667<p>
1668 PDF interpreter - Remove old annotation handling for pdfwrite<br>
1669<br>
1670 Bug #699619 &quot;Annotations included twice with pdfwrite&quot;<br>
1671<br>
1672 At some point in the past we handled a very few annotations with<br>
1673 pdfwrite and did so in the pdfshowpage_finish routine. Since then we<br>
1674 have moved the handling of annotations for pdfwrite into the<br>
1675 showpagecontents routine, along with regular annotation rendering.<br>
1676<br>
1677 But leaving the old code in place meant that some annotations (/Link<br>
1678 and /Text) were being processed twice (for pdfwrite). Additionally<br>
1679 the old code didn't honour the ShowAnnots or PreserveAnnots controls.<br>
1680<br>
1681 Just remove the old code.<br>
1682<br>
1683Resource/Init/pdf_main.ps<br>
1684<p>
1685</blockquote>
1686<hr>
1687<p><strong>2018-08-03 21:36:26 +0800
1688</strong>
1689<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1690<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1c12d01a2fb48e5fc69f46318348a4ad641be131">1c12d01a2fb48e5fc69f46318348a4ad641be131</a>
1691<blockquote>
1692<p>
1693 Revert accidentally pushed &quot;WIP: gitignore&quot;<br>
1694<br>
1695 This reverts commit 3f6507e834e92d9f5fc07ec8e91509a54ce9ec6d.<br>
1696<br>
1697.gitignore<br>
1698jbig2dec/.gitignore<br>
1699<p>
1700</blockquote>
1701<hr>
1702<p><strong>2018-08-03 10:48:55 +0100
1703</strong>
1704<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1705<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3bf4f3ea45f0022b6cd36415f095f1bfc119fb73">3bf4f3ea45f0022b6cd36415f095f1bfc119fb73</a>
1706<blockquote>
1707<p>
1708 pdfwrite - improve further the glyph bounding box calculation<br>
1709<br>
1710 Bug #699571 &quot;Missing characters when convert eps to pdf. Ok when convert to png.&quot;<br>
1711<br>
1712 When deciding whether to include a text string in the output PDF file<br>
1713 we compare the bounding box of the string with the bounding box of the<br>
1714 current clip path. If the string bbox is not at least partially within<br>
1715 the clip, then we don't emit it.<br>
1716<br>
1717 To do this we previously used the font's FontBBox in order to estimate<br>
1718 the size of each glyph in the string.<br>
1719<br>
1720 Commit 6a4202691c4317a698fa23c5309ad8974fe2b003 fixed a bug where the<br>
1721 font has a wildly incorrect FontBBox leading to us deciding that the<br>
1722 glyph was outside the clip area.<br>
1723<br>
1724 In that commit Chris Liddell noted that using the 'real' glyph bounding<br>
1725 box would require executing the complete CharString which has<br>
1726 performance implications.<br>
1727<br>
1728 Unfortunately this latest bug has forced us into this course. The EPS<br>
1729 file draws the same glyph multiple times, clipping portions of it each<br>
1730 time. Sometimes it uses charpath/fill to render the clipped portion, and<br>
1731 sometimes it uses an xyshow where the advance in both directions is 0.<br>
1732 At the same time, the font has a completely inaccurate FontBBox.<br>
1733<br>
1734 Because the advance width is 0 the previous fix does not address this<br>
1735 situation. The FontBBox is so inaccurate that most of the times the<br>
1736 glyph is rendered it is deemed to be outside the clip.<br>
1737<br>
1738 The only remaining solution is to determine the *actual* Bounding Box<br>
1739 of the glyph, which means we have to execute the glyph description.<br>
1740<br>
1741 This does result in some degradation in performance.<br>
1742<br>
1743devices/vector/gdevpdte.c<br>
1744<p>
1745</blockquote>
1746<hr>
1747<p><strong>2018-08-03 10:40:44 +0100
1748</strong>
1749<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
1750<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3cbfb32d83f8910a9aeae805542c805eba584e34">3cbfb32d83f8910a9aeae805542c805eba584e34</a>
1751<blockquote>
1752<p>
1753 TrueType interpreter - set the TrueType rendering routine<br>
1754<br>
1755 Ensure the GS TTF interpreter is associated with a TTF font before attempting<br>
1756 to retrieve the glyph bounding box. We have to eplicitly NULL the FAPI entry<br>
1757 before doing so because, for normal rendering, we'll use the FAPI/Freetype API<br>
1758 (in this case, we want to avoid rendering the glyph)<br>
1759<br>
1760 Fix supplied by Chris Liddell<br>
1761<br>
1762base/gstype42.c<br>
1763<p>
1764</blockquote>
1765<hr>
1766<p><strong>2018-05-26 19:11:58 +0800
1767</strong>
1768<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1769<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3f6507e834e92d9f5fc07ec8e91509a54ce9ec6d">3f6507e834e92d9f5fc07ec8e91509a54ce9ec6d</a>
1770<blockquote>
1771<p>
1772 WIP: gitignore<br>
1773<br>
1774.gitignore<br>
1775jbig2dec/.gitignore<br>
1776<p>
1777</blockquote>
1778<hr>
1779<p><strong>2018-08-03 19:14:15 +0800
1780</strong>
1781<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1782<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8c7d55b8f5b1248bf120ed312538bd824ba5ad9f">8c7d55b8f5b1248bf120ed312538bd824ba5ad9f</a>
1783<blockquote>
1784<p>
1785 jbig2dec: Avoid accessing symbol bitmap width if it is missing.<br>
1786<br>
1787jbig2dec/jbig2_text.c<br>
1788<p>
1789</blockquote>
1790<hr>
1791<p><strong>2018-08-03 19:11:02 +0800
1792</strong>
1793<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1794<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=06d82c1d8b0c625f5bb8db8acd7113ff0b8179d8">06d82c1d8b0c625f5bb8db8acd7113ff0b8179d8</a>
1795<blockquote>
1796<p>
1797 jbig2dec: Prevent underflow when checking if enough data for bitmap.<br>
1798<br>
1799 When decoding the symbol dictionary the bitmap size field<br>
1800 determines the size of the bitmap. The bitmap size is however<br>
1801 restricted to the size of the segment's data region. This was<br>
1802 checked previously, but the check itself may underflow, so<br>
1803 another check was introduced to prevent this from happening.<br>
1804<br>
1805jbig2dec/jbig2_symbol_dict.c<br>
1806<p>
1807</blockquote>
1808<hr>
1809<p><strong>2018-08-03 19:10:09 +0800
1810</strong>
1811<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1812<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d20a98cb7d3e10a68c7d288318f216db70db610c">d20a98cb7d3e10a68c7d288318f216db70db610c</a>
1813<blockquote>
1814<p>
1815 jbig2dec: When reading past the end of a word stream, return 0.<br>
1816<br>
1817 Previously the returned value would be uninitialized, leading<br>
1818 to issues detected by valgrind later on in the parsing.<br>
1819<br>
1820jbig2dec/jbig2.c<br>
1821<p>
1822</blockquote>
1823<hr>
1824<p><strong>2018-08-03 12:28:23 +0800
1825</strong>
1826<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1827<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=105f72c232121b12ec2b53bc76c66dd8cf821a78">105f72c232121b12ec2b53bc76c66dd8cf821a78</a>
1828<blockquote>
1829<p>
1830 jbig2dec: Initialize entire page structure upon allocation.<br>
1831<br>
1832 Without this uninitialized values in the page structure will be<br>
1833 used when parsing segments. An example of this is in<br>
1834 jbig2_immediate_generic_region() when a the height of the page is<br>
1835 used to determine if the region is outside of the page.<br>
1836<br>
1837jbig2dec/jbig2.c<br>
1838<p>
1839</blockquote>
1840<hr>
1841<p><strong>2018-04-26 01:48:05 +0800
1842</strong>
1843<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1844<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=163d0687c8c6bcfbff9e2ebae634530de0c3ebce">163d0687c8c6bcfbff9e2ebae634530de0c3ebce</a>
1845<blockquote>
1846<p>
1847 jbig2dec: Explanation of (un)optimized generic region decoder.<br>
1848<br>
1849 Previously it was difficult to understand the magic values used in the<br>
1850 optimized generic region decoder, and also whether the order of pixels<br>
1851 in the context in the unoptimized decoder were important. This new<br>
1852 explanation attempts to rectify these issues.<br>
1853<br>
1854jbig2dec/jbig2_generic.c<br>
1855<p>
1856</blockquote>
1857<hr>
1858<p><strong>2018-07-24 01:00:18 +0800
1859</strong>
1860<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1861<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e115b9b367645f85b42c5c7922b84af6fad7a907">e115b9b367645f85b42c5c7922b84af6fad7a907</a>
1862<blockquote>
1863<p>
1864 jbig2dec: Print warning messages even for non-debug builds.<br>
1865<br>
1866 This is useful because jbig2dec emits warnings when it encounters<br>
1867 broken files it is able to cope with, e.g. referrals to symbols<br>
1868 outside the symbol dictionary are ignored but a warning is<br>
1869 emitted. Ghostscript ought to output warnings in these cases so<br>
1870 that users know that the final render might not be the intended<br>
1871 one because the input file is broken.<br>
1872<br>
1873base/sjbig2.c<br>
1874<p>
1875</blockquote>
1876<hr>
1877<p><strong>2018-07-01 17:26:21 +0800
1878</strong>
1879<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1880<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2db336dc75bf710bcf327545c61f2d215332ce99">2db336dc75bf710bcf327545c61f2d215332ce99</a>
1881<blockquote>
1882<p>
1883 jbig2dec: Read region segment height/width/x/y as unsigned.<br>
1884<br>
1885 The specification in 5.4.4 states that numbers are unsigned unless<br>
1886 otherwise stated. 7.4.1.1 through 7.4.1.4 specifying the region segment<br>
1887 height, width, x and y do not mention that these fields are signed,<br>
1888 hence they ought to read and handled as unsigned.<br>
1889<br>
1890jbig2dec/jbig2_generic.c<br>
1891jbig2dec/jbig2_halftone.c<br>
1892jbig2dec/jbig2_page.c<br>
1893jbig2dec/jbig2_page.h<br>
1894jbig2dec/jbig2_refinement.c<br>
1895jbig2dec/jbig2_segment.c<br>
1896jbig2dec/jbig2_segment.h<br>
1897<p>
1898</blockquote>
1899<hr>
1900<p><strong>2018-07-08 14:10:09 +0800
1901</strong>
1902<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1903<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fd551bc0e40d2220b4343aeeefa7d9d3a64140eb">fd551bc0e40d2220b4343aeeefa7d9d3a64140eb</a>
1904<blockquote>
1905<p>
1906 jbig2dec: Use accurate references to the specification.<br>
1907<br>
1908jbig2dec/jbig2_halftone.c<br>
1909jbig2dec/jbig2_halftone.h<br>
1910<p>
1911</blockquote>
1912<hr>
1913<p><strong>2018-07-31 19:32:00 +0800
1914</strong>
1915<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1916<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ab862e07f1a804d5cf55548e73c0128673070e17">ab862e07f1a804d5cf55548e73c0128673070e17</a>
1917<blockquote>
1918<p>
1919 jbig2dec: Support up to 16 bit gray-scale image for halftoning.<br>
1920<br>
1921 Without this commit if jbig2dec is fed a fuzzed bitstream where<br>
1922 HBPP ends up larger than 8, jbig2dec will access bits outside of<br>
1923 each 8 bit sample in GSVALS.<br>
1924<br>
1925 HBPP is in Table 22 in 6.6.4 defined to be 32 bits unsigned. The<br>
1926 specification in C.2 limits GSBPP to 6 bits unsigned, a maximum<br>
1927 value of 63, i.e. a gray-scale image with 63 bits per sample.<br>
1928 According to table 23 in 6.6.5 HBPP is assigned to GSBPP, so any<br>
1929 value larger than 63 would be out of spec.<br>
1930<br>
1931 A non-fuzzed bitstream that has HBPP larger than 9 is yet to be<br>
1932 encountered. So for the time being use uint16_t the GSVALS and<br>
1933 limit HBPP to 16. If a file with HBPP larger than 16 is ever<br>
1934 encountered, the type and limit needs to be revisited.<br>
1935<br>
1936jbig2dec/jbig2_halftone.c<br>
1937<p>
1938</blockquote>
1939<hr>
1940<p><strong>2018-07-09 00:42:51 +0800
1941</strong>
1942<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1943<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=907b9dff401154cdf5a4716e4f067bdf3a45de27">907b9dff401154cdf5a4716e4f067bdf3a45de27</a>
1944<blockquote>
1945<p>
1946 jbig2dec: Use corresponding stride for gray-scale bitplane.<br>
1947<br>
1948 All bitplanes have the same stride, but this change makes it obvious<br>
1949 that we will not overwrite any boundaries (i.e. use the stride of the<br>
1950 bitplane in question, not the stride for another bitplane).<br>
1951<br>
1952jbig2dec/jbig2_halftone.c<br>
1953<p>
1954</blockquote>
1955<hr>
1956<p><strong>2018-07-08 22:05:57 +0800
1957</strong>
1958<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1959<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7f4cd0ad4c0d8636141de50bb6eb76b17e574eb5">7f4cd0ad4c0d8636141de50bb6eb76b17e574eb5</a>
1960<blockquote>
1961<p>
1962 jbig2dec: Fix accidental typo in context size function.<br>
1963<br>
1964jbig2dec/jbig2_generic.c<br>
1965<p>
1966</blockquote>
1967<hr>
1968<p><strong>2018-07-04 03:03:17 +0800
1969</strong>
1970<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1971<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2bc62e131fb14d22e7f4e0701a190b1cf50e9792">2bc62e131fb14d22e7f4e0701a190b1cf50e9792</a>
1972<blockquote>
1973<p>
1974 jbig2dec: Ignore negative pixel runs in MMR decoder.<br>
1975<br>
1976 Previously these were fatal errors, now warn and continue.<br>
1977<br>
1978jbig2dec/jbig2_mmr.c<br>
1979<p>
1980</blockquote>
1981<hr>
1982<p><strong>2018-07-03 00:36:40 +0800
1983</strong>
1984<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1985<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9bff24e265f40fca19926f2a44390d1ac543e309">9bff24e265f40fca19926f2a44390d1ac543e309</a>
1986<blockquote>
1987<p>
1988 jbig2dec: Ignore missing glyphs when rendering text region.<br>
1989<br>
1990jbig2dec/jbig2_text.c<br>
1991<p>
1992</blockquote>
1993<hr>
1994<p><strong>2018-05-28 22:46:16 +0800
1995</strong>
1996<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
1997<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=052910bb5f16adaa0bc28fb2e8c7aeb562e0e7cb">052910bb5f16adaa0bc28fb2e8c7aeb562e0e7cb</a>
1998<blockquote>
1999<p>
2000 jbig2dec: Rephrase jbig2_error() messages.<br>
2001<br>
2002 * Do not prefix messages with &quot;jbig2 error:&quot;, this ought to be<br>
2003 done by the error callback itself.<br>
2004 * Avoid using function names in messages as they mean nothing to<br>
2005 the end user.<br>
2006 * Avoid contractions in messages.<br>
2007 * Try to adhere to &quot;failed to&quot; pattern as far as possible.<br>
2008 * Messages start with lower case character, unless it refers to<br>
2009 something in the specification.<br>
2010 * Messages do not end with punctuation.<br>
2011<br>
2012jbig2dec/jbig2.c<br>
2013jbig2dec/jbig2_arith.c<br>
2014jbig2dec/jbig2_arith_iaid.c<br>
2015jbig2dec/jbig2_arith_int.c<br>
2016jbig2dec/jbig2_generic.c<br>
2017jbig2dec/jbig2_halftone.c<br>
2018jbig2dec/jbig2_huffman.c<br>
2019jbig2dec/jbig2_image.c<br>
2020jbig2dec/jbig2_image_pbm.c<br>
2021jbig2dec/jbig2_page.c<br>
2022jbig2dec/jbig2_refinement.c<br>
2023jbig2dec/jbig2_segment.c<br>
2024jbig2dec/jbig2_symbol_dict.c<br>
2025jbig2dec/jbig2_text.c<br>
2026jbig2dec/jbig2dec.c<br>
2027<p>
2028</blockquote>
2029<hr>
2030<p><strong>2018-07-03 20:02:04 +0800
2031</strong>
2032<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2033<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fdf6a2d9b8a33b04429608c104680d982fb085f5">fdf6a2d9b8a33b04429608c104680d982fb085f5</a>
2034<blockquote>
2035<p>
2036 jbig2dec: Implement support for generic region pixel skipping.<br>
2037<br>
2038jbig2dec/jbig2_generic.c<br>
2039jbig2dec/jbig2_generic.h<br>
2040jbig2dec/jbig2_halftone.c<br>
2041<p>
2042</blockquote>
2043<hr>
2044<p><strong>2018-07-04 12:36:41 +0800
2045</strong>
2046<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2047<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c10cd780ace02cdc2a07e9c9e59e4617c0434fc6">c10cd780ace02cdc2a07e9c9e59e4617c0434fc6</a>
2048<blockquote>
2049<p>
2050 jbig2dec: Fix where end row of stripe was only updated locally.<br>
2051<br>
2052jbig2dec/jbig2_page.c<br>
2053<p>
2054</blockquote>
2055<hr>
2056<p><strong>2018-07-03 03:10:55 +0800
2057</strong>
2058<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2059<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=90964e633488e2d8e9fa450ebe04ace16ec0d396">90964e633488e2d8e9fa450ebe04ace16ec0d396</a>
2060<blockquote>
2061<p>
2062 jbig2dec: Warn on too many symbols in text region, do not report fatal error.<br>
2063<br>
2064 This condition is already taken care of by not continuing to read symbols,<br>
2065 so attempt to proceed with parsing the image.<br>
2066<br>
2067jbig2dec/jbig2_text.c<br>
2068<p>
2069</blockquote>
2070<hr>
2071<p><strong>2018-07-02 12:44:31 +0800
2072</strong>
2073<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2074<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0073f2a6524c731528e950deb7eac598c819a3da">0073f2a6524c731528e950deb7eac598c819a3da</a>
2075<blockquote>
2076<p>
2077 jbig2dec: Treat unstriped pages with unknown height as striped with max stripe height.<br>
2078<br>
2079jbig2dec/jbig2_page.c<br>
2080<p>
2081</blockquote>
2082<hr>
2083<p><strong>2018-07-01 17:25:48 +0800
2084</strong>
2085<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2086<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3d8b1c3fc85271e075b22627182998ae4cf894d5">3d8b1c3fc85271e075b22627182998ae4cf894d5</a>
2087<blockquote>
2088<p>
2089 jbig2dec: Limit region height to page/stripe height.<br>
2090<br>
2091 Make sure to ignore regions outside of stripe/page.<br>
2092<br>
2093jbig2dec/jbig2_generic.c<br>
2094jbig2dec/jbig2_page.c<br>
2095<p>
2096</blockquote>
2097<hr>
2098<p><strong>2018-07-09 01:30:11 +0800
2099</strong>
2100<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2101<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f3e4a8978b9577bad31d0f818b206eb65da222d6">f3e4a8978b9577bad31d0f818b206eb65da222d6</a>
2102<blockquote>
2103<p>
2104 jbig2dec: Stripe offsets are absolute, not relative.<br>
2105<br>
2106jbig2dec/jbig2_page.c<br>
2107<p>
2108</blockquote>
2109<hr>
2110<p><strong>2018-07-30 16:24:28 +0100
2111</strong>
2112<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2113<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cf964a720496ff8e1c55f0d629bdec91b789faf0">cf964a720496ff8e1c55f0d629bdec91b789faf0</a>
2114<blockquote>
2115<p>
2116 Coverity ID 305953 - uninitialised variable<br>
2117<br>
2118 Also a scan-build warning.<br>
2119<br>
2120devices/vector/gdevpdtt.c<br>
2121<p>
2122</blockquote>
2123<hr>
2124<p><strong>2018-07-01 00:36:28 +0800
2125</strong>
2126<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2127<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e3212ede0590b02ef57f8946ae413ce44ef3658e">e3212ede0590b02ef57f8946ae413ce44ef3658e</a>
2128<blockquote>
2129<p>
2130 jbig2dec: Cap runlength for exported symbols, don't error out.<br>
2131<br>
2132 Capping is necessary because the preceding symbol dictionary segment header<br>
2133 stated that a specific number of symbols will be exported to succeeding symbol<br>
2134 dictionaries. By capping overly long runlengths of exported symbol instead of<br>
2135 reporting fatal errors somewhat corrupt JBIG2 bitstreams may still partially<br>
2136 render, albeit with a warning about the capping taking place.<br>
2137<br>
2138jbig2dec/jbig2_symbol_dict.c<br>
2139<p>
2140</blockquote>
2141<hr>
2142<p><strong>2018-07-01 13:28:26 +0800
2143</strong>
2144<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2145<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bbbb7eff0b63f383e073ec760b2b8a94896d81a1">bbbb7eff0b63f383e073ec760b2b8a94896d81a1</a>
2146<blockquote>
2147<p>
2148 jbig2dec: Occasional runlengths may be zero, avoid infinite sequence.<br>
2149<br>
2150 Previously any runlength when exporting symbol dictionary symbols<br>
2151 being zero caused a fatal error. These are not disallowed by the<br>
2152 specification, but if there is an infinite sequence of them the<br>
2153 decoder cannot make any progress in establishing the dictionary<br>
2154 of exported symbols from a symbol dictionary. This may happen<br>
2155 when the huffman or arithmetic integer decoder due to e.g. fuzzed<br>
2156 input data returns an infinite sequence of zeroes when the<br>
2157 decoder attempts to read the runlengths. This case of infinite<br>
2158 zero runlengths is best handled as a fatal error. An arbitrary<br>
2159 limit of 1000 of zero runlengths in sequence (an approximation of<br>
2160 an infinite sequence of zero runlengths) will now cause a fatal<br>
2161 error, but the occasional zero runlength will be accepted without<br>
2162 any kind of message.<br>
2163<br>
2164jbig2dec/jbig2_symbol_dict.c<br>
2165<p>
2166</blockquote>
2167<hr>
2168<p><strong>2018-07-13 14:10:40 +0800
2169</strong>
2170<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2171<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=55ed0cbe04df585a987ca8ce7b6255e9705646d1">55ed0cbe04df585a987ca8ce7b6255e9705646d1</a>
2172<blockquote>
2173<p>
2174 jbig2dec: Advance and limit b1 in MMR decoder in a single location.<br>
2175<br>
2176 Previously this unnecessarily happened multiple times.<br>
2177<br>
2178jbig2dec/jbig2_mmr.c<br>
2179<p>
2180</blockquote>
2181<hr>
2182<p><strong>2018-07-13 13:39:42 +0800
2183</strong>
2184<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2185<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1d22aa82619bfd6e02dd1e4afa019a68ba2f3cca">1d22aa82619bfd6e02dd1e4afa019a68ba2f3cca</a>
2186<blockquote>
2187<p>
2188 jbig2dec: Remove check for a0 set before scanline in MMR decoder.<br>
2189<br>
2190 A few lines of code prior if a0 is set before the scanline it is<br>
2191 reset to index 0, so no need to recheck for this condition.<br>
2192<br>
2193jbig2dec/jbig2_mmr.c<br>
2194<p>
2195</blockquote>
2196<hr>
2197<p><strong>2018-07-13 13:00:06 +0800
2198</strong>
2199<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2200<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=230dd860b0db9924794570654db3bb162194977e">230dd860b0db9924794570654db3bb162194977e</a>
2201<blockquote>
2202<p>
2203 jbig2dec: Error message in MMR coded data mixed black/white pixel runs.<br>
2204<br>
2205jbig2dec/jbig2_mmr.c<br>
2206<p>
2207</blockquote>
2208<hr>
2209<p><strong>2018-07-13 12:31:19 +0800
2210</strong>
2211<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2212<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7f94da2ccf574524d71a7d6aa2e381893dbacb37">7f94da2ccf574524d71a7d6aa2e381893dbacb37</a>
2213<blockquote>
2214<p>
2215 jbig2dec: The MMR runlength tables list error codes, handle those.<br>
2216<br>
2217 Previously these errors led to spurious negative values for runlengths,<br>
2218 which were treated as if these were legal even though they are not.<br>
2219<br>
2220jbig2dec/jbig2_mmr.c<br>
2221<p>
2222</blockquote>
2223<hr>
2224<p><strong>2018-07-26 11:43:10 +0100
2225</strong>
2226<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
2227<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4b16b3762c1177497633178303665317eae8297e">4b16b3762c1177497633178303665317eae8297e</a>
2228<blockquote>
2229<p>
2230 Bug 699560: Shut down libjpeg encoder in gdevjpeg<br>
2231<br>
2232 Have the jpeg devices correctly shutdown libjpeg and release the encoder<br>
2233 context correctly - solves memory leaks reported by memento.<br>
2234<br>
2235devices/gdevjpeg.c<br>
2236<p>
2237</blockquote>
2238<hr>
2239<p><strong>2018-07-26 08:28:23 +0100
2240</strong>
2241<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2242<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f017502459778cac3c2b8cb2c6df2f52629aae3">2f017502459778cac3c2b8cb2c6df2f52629aae3</a>
2243<blockquote>
2244<p>
2245 pdfwrite - don't retry CharProc capture on error.<br>
2246<br>
2247 Bug #699561 &quot;Infinite loop or Segfault&quot;<br>
2248<br>
2249 The input PostScript file for this case is invalid and throws a<br>
2250 rangecheck error with normal devices.<br>
2251<br>
2252 However when the output device is pdfwrite in the case of *any* error<br>
2253 handling text we fall back to the 'default implementation' which means<br>
2254 we run the glyph description normally, and capture the bitmap into a<br>
2255 type 3 bitmap font.<br>
2256<br>
2257 In the case of this file, however, when we try to use the captured<br>
2258 bitmap we again throw an error. This causes us to run the glyph<br>
2259 description again and capture the bitmap. Of course, that again fails<br>
2260 when we try to use it leading to an infinite loop. But not any simple<br>
2261 loop, it involves exiting the code and re-entering it after capture.<br>
2262<br>
2263 This commit adds a new variable, captured_pte_index. When we complete<br>
2264 a capture, we record the index (the pointer to the input character codes)<br>
2265 from the text enumerator. We then try to process the text as normal. If<br>
2266 we get an error, before falling back to the default implementation, we<br>
2267 test the current text enumerator index. If its the same as the captured<br>
2268 index then we know that it was the captured CharProc threw an error.<br>
2269<br>
2270 In the case of this kind of error we simply return the error, there is<br>
2271 nothing further we can do.<br>
2272<br>
2273devices/vector/gdevpdtt.c<br>
2274<p>
2275</blockquote>
2276<hr>
2277<p><strong>2018-07-20 11:43:54 +0800
2278</strong>
2279<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2280<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d735b5ae0b8fc6573f09aee9b8663612bdde3c9b">d735b5ae0b8fc6573f09aee9b8663612bdde3c9b</a>
2281<blockquote>
2282<p>
2283 jbig2dec: Change overflow check for allocations.<br>
2284<br>
2285 The maximum size of an allocation was previously limited to<br>
2286 (maximum value of size_t)-256 bytes. Use SIZE_MAX instead.<br>
2287<br>
2288jbig2dec/jbig2.c<br>
2289<p>
2290</blockquote>
2291<hr>
2292<p><strong>2018-06-29 17:47:25 +0800
2293</strong>
2294<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2295<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2272769bf1126e20f8458729c334f2134b95e951">2272769bf1126e20f8458729c334f2134b95e951</a>
2296<blockquote>
2297<p>
2298 jbig2dec: Always complete a page, attempting decode of problematic streams.<br>
2299<br>
2300 When JBIG2 bitstreams contain end of page segments the parser in<br>
2301 jbig2dec calls jbig2_complete_page() to signal that the page is<br>
2302 now finished.<br>
2303<br>
2304 JBIG2 bitstreams created by some producers do not contain end of<br>
2305 page segments but are otherwise well-formed JBIG2 bitstreams.<br>
2306 Embedded JBIG2 bitstreams do not have to contain end of page<br>
2307 segments. jbig2dec previously tried to detect these cases and<br>
2308 simulated an end of page segment by manually calling<br>
2309 jbig2_complete_page() so as to be able to output a displayable<br>
2310 image.<br>
2311<br>
2312 Problematic non-embedded JBIG2 bitstreams that have parse errors<br>
2313 before any end of page segment is reached, or bitstreams where<br>
2314 the end of page segment itself is broken, do not fall into either<br>
2315 of the categories above but may be missing end of page segments.<br>
2316 Previously jbig2dec treated this type of bistreams as not having<br>
2317 any displayable image because the pages were never finished.<br>
2318<br>
2319 To handle all types of bitstreams and attempt to output a<br>
2320 displayable image (possibly partial due to parse errors),<br>
2321 jbig2dec now always calls jbig2_complete_page() function.<br>
2322<br>
2323jbig2dec/jbig2dec.c<br>
2324<p>
2325</blockquote>
2326<hr>
2327<p><strong>2018-07-13 12:49:36 +0800
2328</strong>
2329<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2330<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2483cf3a3467068510a012dc814aa607d6c6a32f">2483cf3a3467068510a012dc814aa607d6c6a32f</a>
2331<blockquote>
2332<p>
2333 jbig2dec: Limit scanline index in MMR coded data.<br>
2334<br>
2335 According to the T.6 specification the pixel references, e.g. a0,<br>
2336 may point to any of the pixels (indices 0 through N-1) on a<br>
2337 scanline, one pixel to the left of a scanline (index MINUS1) or<br>
2338 one pixel beyond the scanline (index N). These indicies are all<br>
2339 positive (despite its name MINUS1 is defined to UINT32_MAX).<br>
2340<br>
2341 This commit changes the index type from signed to unsigned to<br>
2342 reflect this. Moreover, when looking for changing elements,<br>
2343 make sure to limit the returned index to N.<br>
2344<br>
2345jbig2dec/jbig2_mmr.c<br>
2346<p>
2347</blockquote>
2348<hr>
2349<p><strong>2018-07-13 12:41:14 +0800
2350</strong>
2351<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2352<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e05019b96b7e038d9335e640b83db098022d1e2c">e05019b96b7e038d9335e640b83db098022d1e2c</a>
2353<blockquote>
2354<p>
2355 jbig2dec: Handle EOFB whether it is required or not.<br>
2356<br>
2357 Chapter 6.2.6 in the JBIG2 specification states that MMR-encoded<br>
2358 data _may_ skip the EOFB code when the data length is known in<br>
2359 advance. If the data length is _not_ known in advance EOFB is<br>
2360 required. Since an encoder may choose to use or skip EOFB when<br>
2361 the data length is known, decoders must always be prepared to<br>
2362 handle EOFB regardless of whether the data length is known or<br>
2363 unknown.<br>
2364<br>
2365 After encountering EOFB jbig2dec now stops consuming MMR-coded<br>
2366 data regardless of whether the data lenght is known in advance<br>
2367 or not. The remainder of the decoded image region is filled with<br>
2368 white.<br>
2369<br>
2370jbig2dec/jbig2_mmr.c<br>
2371<p>
2372</blockquote>
2373<hr>
2374<p><strong>2018-05-29 03:09:58 +0800
2375</strong>
2376<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2377<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7fade522e9e406b1faedc76e71f86951901633d2">7fade522e9e406b1faedc76e71f86951901633d2</a>
2378<blockquote>
2379<p>
2380 jbig2dec: Limit image size to 2GByte and check for overflow.<br>
2381<br>
2382 The width/height fields of a JBIG2 image are limited by the<br>
2383 specification to UINT32_MAX. This means that the total size of<br>
2384 the image is limited to UINT32_MAX * UINT32_MAX pixels.<br>
2385<br>
2386 jbig2_alloc() take a size argument of type size_t, limiting<br>
2387 allocations to at most SIZE_MAX bytes. For 32 bit systems<br>
2388 SIZE_MAX == UINT32_MAX and for 64 bit systems SIZE_MAX ==<br>
2389 UINT64_MAX.<br>
2390<br>
2391 This means that for 32 bit systems the maximum image size is<br>
2392 limited to UINT32_MAX * 8 pixels. For 64 bit systems it could<br>
2393 conceivably be limited to UINT64_MAX * 8 pixels if all indexing<br>
2394 into the image buffer allocation is 64 bit safe.<br>
2395<br>
2396 However jbig2dec's indexing into the image buffer allocations is<br>
2397 not always 64 bit safe, so limit image allocations to the safe<br>
2398 choice of 2Gbyte. This equates to limiting image sizes to<br>
2399 INT32_MAX * 8 pixels, or a square of 131072 by 131072 pixels.<br>
2400<br>
2401jbig2dec/jbig2_image.c<br>
2402<p>
2403</blockquote>
2404<hr>
2405<p><strong>2018-06-20 01:38:41 +0800
2406</strong>
2407<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2408<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f06c79a4f0ee664840ce7bedc35dafc921e5086">6f06c79a4f0ee664840ce7bedc35dafc921e5086</a>
2409<blockquote>
2410<p>
2411 jbig2dec: Cast BMSIZE in symbol dicts to size_t.<br>
2412<br>
2413 BMSIZE is used to skip over uncompressed symbols in a symbol dictionary.<br>
2414 Therefore this value is inherently unsigned. Also because the value is<br>
2415 a multiplication of the height and stride of an image, both of which are<br>
2416 unsigned 32 bit numbers, rely on the size_t type which is large enough<br>
2417 to handle images this big.<br>
2418<br>
2419jbig2dec/jbig2_huffman.c<br>
2420jbig2dec/jbig2_huffman.h<br>
2421jbig2dec/jbig2_symbol_dict.c<br>
2422jbig2dec/jbig2_text.c<br>
2423<p>
2424</blockquote>
2425<hr>
2426<p><strong>2018-05-29 02:58:14 +0800
2427</strong>
2428<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2429<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c01e08cf984192defb63017e1a11a9f1bf05f9ef">c01e08cf984192defb63017e1a11a9f1bf05f9ef</a>
2430<blockquote>
2431<p>
2432 jbig2dec: Remove denial of service check which is no longer needed.<br>
2433<br>
2434 In commit ee0bc20cc98c8e8381003a25dfa0b21e681c6545 an attempt to detect the end<br>
2435 of the arithmetic integer decoder bit stream is detected. Now once more error<br>
2436 handling has been implemented, the files from bug 694949 that caused this end of<br>
2437 bitstream detection code to be added no longer end in an infinite loop, but fail<br>
2438 with fatal errors due to other reasons.<br>
2439<br>
2440jbig2dec/jbig2_arith.c<br>
2441jbig2dec/jbig2_symbol_dict.c<br>
2442<p>
2443</blockquote>
2444<hr>
2445<p><strong>2018-07-24 13:35:03 +0100
2446</strong>
2447<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2448<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=160431b50a3154341fa9ef1270ecb6f8ae045b4d">160431b50a3154341fa9ef1270ecb6f8ae045b4d</a>
2449<blockquote>
2450<p>
2451 Fix tiffpack and tifflzw devices<br>
2452<br>
2453 Commit 0ef309305417776a9f8b8cd143fbf3c5e89456b2 moved the FillOrder<br>
2454 parameter into the 'generic' tiff fax device structure, and added a new<br>
2455 BlackIs1 parameter.<br>
2456<br>
2457 The macro FAX_DEVICE_BODY was updated to reflect this but unfortunately<br>
2458 two of the devices, tiffpack and tifflzw do not use the FAX_DEVICE_BODY<br>
2459 macro, as they need to use device-specific code for the output_page<br>
2460 device method.<br>
2461<br>
2462 This meant that the initialisation of these devices was incorrect and<br>
2463 led to failures in our automated testing.<br>
2464<br>
2465devices/gdevtfax.c<br>
2466<p>
2467</blockquote>
2468<hr>
2469<p><strong>2018-07-23 11:54:50 +0100
2470</strong>
2471<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
2472<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=da7288fe212f24db7789f9807b9e55a0e4367b8a">da7288fe212f24db7789f9807b9e55a0e4367b8a</a>
2473<blockquote>
2474<p>
2475 gx_cpath_unshare(): zero unset entries.<br>
2476<br>
2477 gx_cpath_unshare() does not copy the clip path list, and leaves the list<br>
2478 structure uninitialized.<br>
2479<br>
2480 Until/Unless we implement copying the list, set the values in the list to<br>
2481 zero/NULL so later freeing of the unshared clip path doesn't trip up.<br>
2482<br>
2483base/gxcpath.c<br>
2484base/lib.mak<br>
2485<p>
2486</blockquote>
2487<hr>
2488<p><strong>2018-07-18 16:41:17 +0100
2489</strong>
2490<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
2491<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=954d535ee5a63ff751c1af24bbd45adefc2a078c">954d535ee5a63ff751c1af24bbd45adefc2a078c</a>
2492<blockquote>
2493<p>
2494 Bug 699542: Fix compiler/linker options for shared lib on AIX<br>
2495<br>
2496configure.ac<br>
2497<p>
2498</blockquote>
2499<hr>
2500<p><strong>2018-07-18 16:32:38 +0100
2501</strong>
2502<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
2503<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3afe2983e8e3c5fd9f290d7af0f7469d944a57ec">3afe2983e8e3c5fd9f290d7af0f7469d944a57ec</a>
2504<blockquote>
2505<p>
2506 Bug 699543: handle missing isinf() and fpclassify()<br>
2507<br>
2508Makefile.in<br>
2509base/lcms2mt.mak<br>
2510configure.ac<br>
2511lcms2mt/src/cmsplugin.c<br>
2512lcms2mt/src/lcms2_internal.h<br>
2513<p>
2514</blockquote>
2515<hr>
2516<p><strong>2018-07-24 13:03:39 +0100
2517</strong>
2518<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2519<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f6bcc0dfc173b80fddab4fbf10afb34332ff1112">f6bcc0dfc173b80fddab4fbf10afb34332ff1112</a>
2520<blockquote>
2521<p>
2522 PDF interpreter - improve handling of 'q' inside a text object<br>
2523<br>
2524 Bug #699551 &quot;Text with rendering mode stroke is not displayed&quot;<br>
2525<br>
2526 We already did deal with a q/Q pair inside a text object (BT/ET pair)<br>
2527 but a couple of points were missed. We didn't check for the existence<br>
2528 of a qTextSavematrix in settextstate, which meant that we didn't<br>
2529 set the text matrix. So vector and image marking worked, but text did<br>
2530 not.<br>
2531<br>
2532 We also didn't check for the existence of a qSaveTextMatrix when handling<br>
2533 the stroke width for a text rendering mode which involves stroking the<br>
2534 text.<br>
2535<br>
2536 This commit exhibits one 'progression' (ie it now matches Acrobat) in<br>
2537 the Quality Logice PDF 2.0 FTS files. I intend to raise this with QL as<br>
2538 the file is demonstrably invalid.<br>
2539<br>
2540 It also adversely impacts the performance of text in PDF files, since we<br>
2541 must now do additional checking on every text operation. This has pushed<br>
2542 a small number of our test files beyond the point where they start to<br>
2543 time out on our automated testing.<br>
2544<br>
2545Resource/Init/pdf_ops.ps<br>
2546<p>
2547</blockquote>
2548<hr>
2549<p><strong>2018-07-23 13:50:59 -0600
2550</strong>
2551<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
2552<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0ef309305417776a9f8b8cd143fbf3c5e89456b2">0ef309305417776a9f8b8cd143fbf3c5e89456b2</a>
2553<blockquote>
2554<p>
2555 Bug 699425, new fax device parameters added.<br>
2556<br>
2557 Two new device parameters specify bit order and black white polarity,<br>
2558 these parameters are the same as found in the tiff fax devices<br>
2559 (gdevtfax.c)<br>
2560<br>
2561devices/gdevfax.c<br>
2562devices/gdevfax.h<br>
2563devices/gdevtfax.c<br>
2564<p>
2565</blockquote>
2566<hr>
2567<p><strong>2018-07-23 11:51:03 -0600
2568</strong>
2569<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
2570<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dca564fc2a95b6610084ad06a939367217aa78e3">dca564fc2a95b6610084ad06a939367217aa78e3</a>
2571<blockquote>
2572<p>
2573 Bug #699550 - Fix infinite loop processing PCL file with JPEG image.<br>
2574<br>
2575 The color depth was set to 1 instead of 8 resulting in an ouput buffer<br>
2576 smaller than the filter needed. Also, make sure we process the return<br>
2577 code from the dct stream filter correctly so an error will be handled<br>
2578 properly.<br>
2579<br>
2580pcl/pxl/pximage.c<br>
2581<p>
2582</blockquote>
2583<hr>
2584<p><strong>2018-07-20 10:46:59 +0100
2585</strong>
2586<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2587<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=285cd8f8ced5b561116190d56e14baabef740ee9">285cd8f8ced5b561116190d56e14baabef740ee9</a>
2588<blockquote>
2589<p>
2590 ps2write - add a check for PreserveSeparation<br>
2591<br>
2592 When we check for a /Separation with a Lab alternate, check whether we<br>
2593 should be preserving Separation spaces before going ahead and converting<br>
2594 the alternate space to the ProcessColorModel of the device.<br>
2595<br>
2596devices/vector/gdevpdfg.c<br>
2597<p>
2598</blockquote>
2599<hr>
2600<p><strong>2018-07-20 10:45:33 +0100
2601</strong>
2602<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2603<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d0c058c8ef9112f6245e96e3cef81a24e7c9c103">d0c058c8ef9112f6245e96e3cef81a24e7c9c103</a>
2604<blockquote>
2605<p>
2606 Documentation - Documentation on PreserveSeparation for pdfwrite was missing<br>
2607<br>
2608doc/VectorDevices.htm<br>
2609<p>
2610</blockquote>
2611<hr>
2612<p><strong>2018-07-20 09:49:44 +0100
2613</strong>
2614<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2615<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e58cc8dd7e9b98620c798c901f800aff2e381ce">9e58cc8dd7e9b98620c798c901f800aff2e381ce</a>
2616<blockquote>
2617<p>
2618 ps2write - improve handling of Separation colour space with Lab alternate<br>
2619<br>
2620 Bug #699535 &quot;Separation Colors with alternate Color Lab are not converted correctly when device (e)ps2write is used&quot;<br>
2621<br>
2622 We can't embed a Lab space in the output from ps2write with the current<br>
2623 colour handling. So instead spot the condition and convert the<br>
2624 /Separation alternate space into the underlying ProcessColorModel.<br>
2625<br>
2626 This preserves the /Separation ink, though the resulting tint transform<br>
2627 is less than ideal.<br>
2628<br>
2629 At the same time, make sure we don't try to handle the ICC Lab space<br>
2630 as if it were a device space. Instead return a rangecheck error so that<br>
2631 we convert the whole space into the ProcessColorModel.<br>
2632<br>
2633devices/vector/gdevpdfc.c<br>
2634devices/vector/gdevpdfg.c<br>
2635<p>
2636</blockquote>
2637<hr>
2638<p><strong>2018-07-19 12:09:02 +0100
2639</strong>
2640<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2641<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b44096b33d28d25c8f88c9fc2565713d85ca0614">b44096b33d28d25c8f88c9fc2565713d85ca0614</a>
2642<blockquote>
2643<p>
2644 JBIG2DEC - add declarations which are not defined in VS 2005<br>
2645<br>
2646 Like INT32_MAX and INT32_MIN, UINT32_MAX which is defined in stdint.h<br>
2647 is not defined for old versions of Visual Studio. Add simple definitions<br>
2648 in the two source files that use it, if it is not already defined.<br>
2649<br>
2650jbig2dec/jbig2_generic.c<br>
2651jbig2dec/jbig2_segment.c<br>
2652<p>
2653</blockquote>
2654<hr>
2655<p><strong>2018-07-01 17:26:37 +0800
2656</strong>
2657<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2658<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e7ededef7c8b09845aedae08674519fbf50654b8">e7ededef7c8b09845aedae08674519fbf50654b8</a>
2659<blockquote>
2660<p>
2661 jbig2dec: Ignore extension segments that are not marked necessary.<br>
2662<br>
2663 Previously this was a fatal error, but it is better as a warning as<br>
2664 the extension segment has not been marked necessary as outlined in<br>
2665 the specification.<br>
2666<br>
2667jbig2dec/jbig2_segment.c<br>
2668<p>
2669</blockquote>
2670<hr>
2671<p><strong>2018-07-04 22:23:26 +0800
2672</strong>
2673<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2674<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a6fef0ad778e67783204f71a28119a47fe6eb7c7">a6fef0ad778e67783204f71a28119a47fe6eb7c7</a>
2675<blockquote>
2676<p>
2677 jbig2dec: Improve halftoning debug message.<br>
2678<br>
2679jbig2dec/jbig2_halftone.c<br>
2680<p>
2681</blockquote>
2682<hr>
2683<p><strong>2018-07-11 02:40:57 +0800
2684</strong>
2685<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2686<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c21d7dfb8cd82f698eb93b0b122a4e01c152faad">c21d7dfb8cd82f698eb93b0b122a4e01c152faad</a>
2687<blockquote>
2688<p>
2689 jbig2dec: Fix composing subset of image onto destination.<br>
2690<br>
2691jbig2dec/jbig2_image.c<br>
2692<p>
2693</blockquote>
2694<hr>
2695<p><strong>2018-07-01 13:19:43 +0800
2696</strong>
2697<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2698<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f8300fe31d487088e2de195ab0bf3a5725e6806f">f8300fe31d487088e2de195ab0bf3a5725e6806f</a>
2699<blockquote>
2700<p>
2701 jbig2dec: Warn on out of range symbol IDs, but continue.<br>
2702<br>
2703jbig2dec/jbig2_text.c<br>
2704<p>
2705</blockquote>
2706<hr>
2707<p><strong>2018-07-01 13:18:48 +0800
2708</strong>
2709<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2710<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=12e9787cd20407b1440edf212d8e7f1c544dc29e">12e9787cd20407b1440edf212d8e7f1c544dc29e</a>
2711<blockquote>
2712<p>
2713 jbig2dec: Use already parsed size of page association field.<br>
2714<br>
2715jbig2dec/jbig2_segment.c<br>
2716<p>
2717</blockquote>
2718<hr>
2719<p><strong>2018-07-01 13:03:01 +0800
2720</strong>
2721<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2722<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=72165c941ad4c4134ca593cd744be6b1b5ac1dda">72165c941ad4c4134ca593cd744be6b1b5ac1dda</a>
2723<blockquote>
2724<p>
2725 jbig2dec: Handle text regions without symbol dictionaries.<br>
2726<br>
2727 Normal text regions reference symbol dictionaries. The symbols<br>
2728 in those dictionaries are then referenced to by the text region<br>
2729 and placed somewhere on the page. In the degenerate case a text<br>
2730 region might not have any instances of symbols that it wants to<br>
2731 place on the page. If that is the case then there is no need for<br>
2732 the text region to refer to any symbol dictionaries (since it<br>
2733 doesn't need any symbols). Previously this was treated as a fatal<br>
2734 error, but now this just creates a warning and decoding proceeds.<br>
2735<br>
2736jbig2dec/jbig2_text.c<br>
2737<p>
2738</blockquote>
2739<hr>
2740<p><strong>2018-07-01 13:07:19 +0800
2741</strong>
2742<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2743<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de25a4676d82587b8c6d6c6aeca3785514fde1c2">de25a4676d82587b8c6d6c6aeca3785514fde1c2</a>
2744<blockquote>
2745<p>
2746 jbig2dec: Attempting to compose NULL on a page is silently accepted.<br>
2747<br>
2748jbig2dec/jbig2_image.c<br>
2749<p>
2750</blockquote>
2751<hr>
2752<p><strong>2018-07-04 22:19:34 +0800
2753</strong>
2754<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2755<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b417ef1deee793f93cc0643e3eccc4a8fea6cf3d">b417ef1deee793f93cc0643e3eccc4a8fea6cf3d</a>
2756<blockquote>
2757<p>
2758 jbig2dec: Make local functions static.<br>
2759<br>
2760jbig2dec/jbig2_halftone.c<br>
2761jbig2dec/jbig2_halftone.h<br>
2762<p>
2763</blockquote>
2764<hr>
2765<p><strong>2018-06-29 01:54:15 +0800
2766</strong>
2767<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2768<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5158b558038c939c287d3a1194412134a5dc1134">5158b558038c939c287d3a1194412134a5dc1134</a>
2769<blockquote>
2770<p>
2771 jbig2dec: Handling missing OOB at end of height class.<br>
2772<br>
2773jbig2dec/jbig2_symbol_dict.c<br>
2774<p>
2775</blockquote>
2776<hr>
2777<p><strong>2018-06-24 16:00:30 +0800
2778</strong>
2779<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2780<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb8347da8e388793a4add8442931dbd5033fce41">fb8347da8e388793a4add8442931dbd5033fce41</a>
2781<blockquote>
2782<p>
2783 jbig2dec: Handle immediate generic regions with unknown height.<br>
2784<br>
2785jbig2dec/jbig2.c<br>
2786jbig2dec/jbig2_generic.c<br>
2787jbig2dec/jbig2_segment.c<br>
2788jbig2dec/jbig2_segment.h<br>
2789<p>
2790</blockquote>
2791<hr>
2792<p><strong>2018-06-27 02:13:04 +0800
2793</strong>
2794<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2795<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29371c6872f9b72e3810d76bd920f41619924fa7">29371c6872f9b72e3810d76bd920f41619924fa7</a>
2796<blockquote>
2797<p>
2798 jbig2dec: Print segment number in messages when available.<br>
2799<br>
2800jbig2dec/jbig2.c<br>
2801jbig2dec/jbig2_generic.c<br>
2802jbig2dec/jbig2_mmr.c<br>
2803jbig2dec/jbig2_refinement.c<br>
2804jbig2dec/jbig2_segment.c<br>
2805jbig2dec/jbig2_symbol_dict.c<br>
2806<p>
2807</blockquote>
2808<hr>
2809<p><strong>2018-06-22 21:16:24 +0800
2810</strong>
2811<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
2812<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d469fa3d995c8593680c2425f9c2c5a7a231bac7">d469fa3d995c8593680c2425f9c2c5a7a231bac7</a>
2813<blockquote>
2814<p>
2815 jbig2dec: Avoid accessing bytes outside of MMR decoder line.<br>
2816<br>
2817 Previously the file Bug688080.pdf in bug 693798 e.g. has an object 668<br>
2818 containing a JBIG2 bitstream containing an MMR-coded region where the<br>
2819 width of the region is 32 pixels. At one point while decoding this<br>
2820 image, a0 is in the middle of the line and because of the decoded black<br>
2821 and white runs both a1 and a2 end up at the pixel just beyond the end<br>
2822 of the line. At this point jbig2dec would access the byte supposedly<br>
2823 containing this pixel beyond the end of the line, but that is not<br>
2824 allowed. Because this byte was written back unchanged no real harm was<br>
2825 done, but the access was still being performed, triggering software<br>
2826 like valgrind/ASAN that detects buffer overflows.<br>
2827<br>
2828 This commit also reverts the incorrect fix for bug 693798<br>
2829 introduced in commit 46d6b40803cb7a68ceb06b2f71db8cf3f384c2ee<br>
2830 where the allocated image buffer was simply extended by one byte,<br>
2831 thereby accommodating the illegal access.<br>
2832<br>
2833jbig2dec/jbig2_image.c<br>
2834jbig2dec/jbig2_mmr.c<br>
2835<p>
2836</blockquote>
2837<hr>
2838<p><strong>2018-07-14 18:19:47 +0800
2839</strong>
2840<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2841<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dfa5b1b784b9c575cb9d797248e282871d24625c">dfa5b1b784b9c575cb9d797248e282871d24625c</a>
2842<blockquote>
2843<p>
2844 jbig2dec: Untie fix for Visual Studio from Microsoft's compiler.<br>
2845<br>
2846 The i32 suffix is specific for MSVC, but can be avoided.<br>
2847 gssprintf.c for APR_INT32_MAX and APR_INT32_MIN also leaves out<br>
2848 the suffix out. This is legal because the default integer literal<br>
2849 size is large enough to fit 32 bit signed integers.<br>
2850<br>
2851jbig2dec/jbig2_arith_int.c<br>
2852<p>
2853</blockquote>
2854<hr>
2855<p><strong>2018-07-14 10:31:08 +0100
2856</strong>
2857<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
2858<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=29363ac25e7f8796e4cd09a7a88b3b1104191519">29363ac25e7f8796e4cd09a7a88b3b1104191519</a>
2859<blockquote>
2860<p>
2861 Jbig2dec - Fix compile error on old version of Visual Studio<br>
2862<br>
2863 A recent change uses INT32_MAX and INT32_MIN, but these are not defined<br>
2864 in old versions of Visual Studio (not C99 probably).<br>
2865<br>
2866 This commit works around the problem by including two simple #defines<br>
2867 if the values are undefined.<br>
2868<br>
2869 Sebastian may want to alter this.<br>
2870<br>
2871jbig2dec/jbig2_arith_int.c<br>
2872<p>
2873</blockquote>
2874<hr>
2875<p><strong>2018-06-10 16:36:21 +0800
2876</strong>
2877<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2878<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c7bd3bb9fc9d008ab9d70f4d762be95d3f33cb0c">c7bd3bb9fc9d008ab9d70f4d762be95d3f33cb0c</a>
2879<blockquote>
2880<p>
2881 jbig2dec: Plug context leak upon errors.<br>
2882<br>
2883 E.g. failing to complete a page previously caused a context leak.<br>
2884<br>
2885jbig2dec/jbig2dec.c<br>
2886<p>
2887</blockquote>
2888<hr>
2889<p><strong>2018-06-10 21:29:31 +0800
2890</strong>
2891<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2892<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d06d19b3cfda9a563ffa09e4aa58322774d751fb">d06d19b3cfda9a563ffa09e4aa58322774d751fb</a>
2893<blockquote>
2894<p>
2895 jbig2dec: Free huffman tables upon symbol dictionary parse errors.<br>
2896<br>
2897jbig2dec/jbig2_symbol_dict.c<br>
2898<p>
2899</blockquote>
2900<hr>
2901<p><strong>2018-06-10 21:14:48 +0800
2902</strong>
2903<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2904<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=afed61efb38bed3a5580ee0e458b8c6946ee49f5">afed61efb38bed3a5580ee0e458b8c6946ee49f5</a>
2905<blockquote>
2906<p>
2907 jbig2dec: Free symbol images upon text region parse error.<br>
2908<br>
2909 The symbol images were previously not freed upon errors.<br>
2910<br>
2911jbig2dec/jbig2_text.c<br>
2912<p>
2913</blockquote>
2914<hr>
2915<p><strong>2018-06-19 23:16:17 +0800
2916</strong>
2917<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2918<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=314fb613ca8fa3028e33627bbb3fa484d4da1e13">314fb613ca8fa3028e33627bbb3fa484d4da1e13</a>
2919<blockquote>
2920<p>
2921 jbig2dec: Remove untested, incomplete metadata handling.<br>
2922<br>
2923base/jbig2.mak<br>
2924jbig2dec/Makefile.am<br>
2925jbig2dec/Makefile.unix<br>
2926jbig2dec/jbig2_metadata.c<br>
2927jbig2dec/jbig2_metadata.h<br>
2928jbig2dec/jbig2_segment.c<br>
2929jbig2dec/msvc.mak<br>
2930windows/ghostscript.vcproj<br>
2931windows/ghostscript_rt.vcxproj<br>
2932<p>
2933</blockquote>
2934<hr>
2935<p><strong>2018-06-19 01:31:14 +0800
2936</strong>
2937<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2938<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3835fcfe6d3894e03a68c66bd211c7a739007b5d">3835fcfe6d3894e03a68c66bd211c7a739007b5d</a>
2939<blockquote>
2940<p>
2941 jbig2dec: Limit EXRUNLENGTH according to symbol dictionary header.<br>
2942<br>
2943jbig2dec/jbig2_symbol_dict.c<br>
2944<p>
2945</blockquote>
2946<hr>
2947<p><strong>2018-06-19 01:30:34 +0800
2948</strong>
2949<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2950<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=22e702351066d38c30d2bf695140f8fe6719c3f3">22e702351066d38c30d2bf695140f8fe6719c3f3</a>
2951<blockquote>
2952<p>
2953 jbig2dec: Remove unnecessary limitation of EXRUNLENGTH.<br>
2954<br>
2955 Due to missing boundary checks in other code bug 693285 was resolved<br>
2956 by limiting the number of times EXRUNLENGTH may be zero. This limit<br>
2957 is actually not according to the specification. Now that the missing<br>
2958 boundary checks have been introduced the limitation may be removed.<br>
2959<br>
2960jbig2dec/jbig2_symbol_dict.c<br>
2961<p>
2962</blockquote>
2963<hr>
2964<p><strong>2018-06-18 19:04:38 +0800
2965</strong>
2966<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2967<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=be27bd6685b714e1deca80d580d3ff9dc82f78dc">be27bd6685b714e1deca80d580d3ff9dc82f78dc</a>
2968<blockquote>
2969<p>
2970 jbig2dec: Make private function static.<br>
2971<br>
2972jbig2dec/jbig2_metadata.c<br>
2973jbig2dec/jbig2_metadata.h<br>
2974<p>
2975</blockquote>
2976<hr>
2977<p><strong>2018-05-30 15:31:10 +0800
2978</strong>
2979<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2980<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=79eee7b35a6070cacfe94343d01e9e1b7ebb1191">79eee7b35a6070cacfe94343d01e9e1b7ebb1191</a>
2981<blockquote>
2982<p>
2983 jbig2dec: Return NULL upon error, avoid returning variable.<br>
2984<br>
2985 This makes it clearer what is being returned upon error.<br>
2986<br>
2987jbig2dec/jbig2.c<br>
2988jbig2dec/jbig2_arith.c<br>
2989jbig2dec/jbig2_arith_iaid.c<br>
2990jbig2dec/jbig2_arith_int.c<br>
2991jbig2dec/jbig2_huffman.c<br>
2992jbig2dec/jbig2_segment.c<br>
2993<p>
2994</blockquote>
2995<hr>
2996<p><strong>2018-06-01 14:33:11 -0700
2997</strong>
2998<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
2999<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a97b724a6639e710cb4626ba53be2f86b1ebd5ba">a97b724a6639e710cb4626ba53be2f86b1ebd5ba</a>
3000<blockquote>
3001<p>
3002 jbig2dec: Make sure to print fatal error upon detected error.<br>
3003<br>
3004jbig2dec/jbig2_huffman.c<br>
3005<p>
3006</blockquote>
3007<hr>
3008<p><strong>2018-06-01 16:56:39 -0700
3009</strong>
3010<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3011<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8ea06bef59929bbaa0450a94ab9586dd154657e8">8ea06bef59929bbaa0450a94ab9586dd154657e8</a>
3012<blockquote>
3013<p>
3014 jbig2dec: Make sure to return fatal/warnings when propagating error.<br>
3015<br>
3016jbig2dec/jbig2_huffman.c<br>
3017jbig2dec/jbig2_symbol_dict.c<br>
3018jbig2dec/jbig2_text.c<br>
3019<p>
3020</blockquote>
3021<hr>
3022<p><strong>2018-05-30 17:30:37 +0800
3023</strong>
3024<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3025<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=443588c95d5776f141940d57aee2b3a0a21b668f">443588c95d5776f141940d57aee2b3a0a21b668f</a>
3026<blockquote>
3027<p>
3028 jbig2dec: Change types to match those of the parsed data.<br>
3029<br>
3030jbig2dec/jbig2_generic.c<br>
3031jbig2dec/jbig2_halftone.c<br>
3032<p>
3033</blockquote>
3034<hr>
3035<p><strong>2018-06-21 00:30:02 +0800
3036</strong>
3037<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3038<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0188d0818b6f5b25aefdbafefa46d2845a21da9b">0188d0818b6f5b25aefdbafefa46d2845a21da9b</a>
3039<blockquote>
3040<p>
3041 jbig2dec: Keep track of previous lines in generic region decoding.<br>
3042<br>
3043 This avoids issues with negative array indices.<br>
3044<br>
3045jbig2dec/jbig2_generic.c<br>
3046<p>
3047</blockquote>
3048<hr>
3049<p><strong>2018-05-30 14:26:16 +0800
3050</strong>
3051<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3052<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7352f5a01fd2e0a1f221d25cbf35fe088226232e">7352f5a01fd2e0a1f221d25cbf35fe088226232e</a>
3053<blockquote>
3054<p>
3055 jbig2dec: No need to check for NULL in huff_get_next_word, use macro instead.<br>
3056<br>
3057jbig2dec/jbig2_huffman.c<br>
3058<p>
3059</blockquote>
3060<hr>
3061<p><strong>2018-05-27 02:49:49 +0800
3062</strong>
3063<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3064<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6da6f365a8c93128fcd67938ed3f5ef362c77630">6da6f365a8c93128fcd67938ed3f5ef362c77630</a>
3065<blockquote>
3066<p>
3067 jbig2dec: Label everything not yet implemented NYI.<br>
3068<br>
3069jbig2dec/jbig2_halftone.c<br>
3070jbig2dec/jbig2_segment.c<br>
3071<p>
3072</blockquote>
3073<hr>
3074<p><strong>2018-05-27 02:48:56 +0800
3075</strong>
3076<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3077<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=67c937009233f4496b8ece8270c10c4021785752">67c937009233f4496b8ece8270c10c4021785752</a>
3078<blockquote>
3079<p>
3080 jbig2dec: Validate ASCII characters in metadata comments.<br>
3081<br>
3082jbig2dec/jbig2_metadata.c<br>
3083<p>
3084</blockquote>
3085<hr>
3086<p><strong>2018-05-27 00:33:45 +0800
3087</strong>
3088<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3089<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5c8a10f2e936b990fa3340650849186e92f1ecfd">5c8a10f2e936b990fa3340650849186e92f1ecfd</a>
3090<blockquote>
3091<p>
3092 jbig2dec: Implement support for profile segment.<br>
3093<br>
3094 The information in the profile segment is simply printed<br>
3095 as informational messages via jbig2_error().<br>
3096<br>
3097jbig2dec/jbig2_segment.c<br>
3098<p>
3099</blockquote>
3100<hr>
3101<p><strong>2018-04-24 21:43:48 +0800
3102</strong>
3103<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3104<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=46f4acd48c81fa0db76f26c40b2e76c0fe7d7842">46f4acd48c81fa0db76f26c40b2e76c0fe7d7842</a>
3105<blockquote>
3106<p>
3107 jbig2dec: Implement support for outputting multipage PBM files.<br>
3108<br>
3109jbig2dec/jbig2dec.c<br>
3110<p>
3111</blockquote>
3112<hr>
3113<p><strong>2018-04-25 02:47:39 +0800
3114</strong>
3115<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3116<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=540f6a2f1c7f98b29b60a6e666623caec8dc8983">540f6a2f1c7f98b29b60a6e666623caec8dc8983</a>
3117<blockquote>
3118<p>
3119 jbig2dec: Share arithmetic/huffman decoding contexts/tables.<br>
3120<br>
3121 Previously text regions had their own arithmetic/huffman<br>
3122 decoding contexts/tables, separate from those used to decode<br>
3123 fields in the symbol dictionary itself. This is incorrect.<br>
3124<br>
3125 Annex E.3.7 describes how to reset the arithmetic coding<br>
3126 contexts. Only the top-level symbol dictionary decoding<br>
3127 procedure described in chapter 7.4.2.2 references this<br>
3128 annex.<br>
3129<br>
3130 Neither the symbol dictionary decoding procedure outlined<br>
3131 in chapter 6.5 in the specification, nor chapter 6.5.8<br>
3132 describing how to decode the symbol bitmap itself (and<br>
3133 thereby implicitly chapter 6.2 describing the generic<br>
3134 region decoding procedure, 6.4 explaining the text<br>
3135 region decoding procedure and 6.5.8.2.2 describing how to<br>
3136 decode bitmaps with only one symbol in the<br>
3137 refinement/aggregate coding) refer to annex E.3.7.<br>
3138<br>
3139 It is therefore incorrect to separate the arithmetic<br>
3140 integer decoding contexts from the ones used to parse<br>
3141 the symbol dictionary fields as the specification calls<br>
3142 for these to be reused.<br>
3143<br>
3144 This created a problem when decoding page 3 in the sample<br>
3145 bitstream in Annex H.1. More specifically in Annex H.1,<br>
3146 step 37 (f) xi E where the refinement flag was decoded as<br>
3147 3 instead of the expected 0. This was because the IAID<br>
3148 arithmetic coding context used in step 37 (f) xi D had<br>
3149 not been shared with that in step 37 (f) v as is expected<br>
3150 in the specification. The result was that page 3 of the<br>
3151 sample bitstream was never decoded. Potentially this may<br>
3152 also have affected other JBIG2 bitstreams.<br>
3153<br>
3154 Sharing the arithmetic coding contexts between the symbol<br>
3155 dictionary decoding procedure and the text region decoder<br>
3156 resolves the issue<br>
3157<br>
3158jbig2dec/jbig2_symbol_dict.c<br>
3159<p>
3160</blockquote>
3161<hr>
3162<p><strong>2018-06-18 18:48:49 +0800
3163</strong>
3164<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3165<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7b659b9853059ddd1d5ecaab79de16a7f675b32">d7b659b9853059ddd1d5ecaab79de16a7f675b32</a>
3166<blockquote>
3167<p>
3168 jbig2dec: Handle very large symbol code lengths without overflowing.<br>
3169<br>
3170jbig2dec/jbig2_symbol_dict.c<br>
3171<p>
3172</blockquote>
3173<hr>
3174<p><strong>2018-04-25 02:33:52 +0800
3175</strong>
3176<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3177<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=62df49ab137726635c9f3d2f76c0b599d733e8b5">62df49ab137726635c9f3d2f76c0b599d733e8b5</a>
3178<blockquote>
3179<p>
3180 jbig2dec: Reorder test for huffman decoding vs arithmetic integer decoding.<br>
3181<br>
3182jbig2dec/jbig2_symbol_dict.c<br>
3183<p>
3184</blockquote>
3185<hr>
3186<p><strong>2018-04-25 02:27:59 +0800
3187</strong>
3188<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3189<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fdf1504cb5dfbe77b0458ccad025fc992df77ad8">fdf1504cb5dfbe77b0458ccad025fc992df77ad8</a>
3190<blockquote>
3191<p>
3192 jbig2dec: Move text region decoder parameters initialization.<br>
3193<br>
3194 Previously the text region decoder parameters were only initialized<br>
3195 once a text region was about to be decoded. Now they are initialized<br>
3196 at the beginning of the decoding of the symbol dictionary. This<br>
3197 prepares for sharing of the IAID, IARDX and IARDY arithmetic<br>
3198 integer decoder contexts as well as the SBHUFFRDX, SBHUFFRDY and<br>
3199 SBHUFFRSIZE huffman tables between the text region decoder and the<br>
3200 symbol dictionary parser itself.<br>
3201<br>
3202jbig2dec/jbig2_symbol_dict.c<br>
3203<p>
3204</blockquote>
3205<hr>
3206<p><strong>2018-04-25 02:16:29 +0800
3207</strong>
3208<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3209<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e32e214b5de77ca1b658e46ae8d7cc6cabfb9d62">e32e214b5de77ca1b658e46ae8d7cc6cabfb9d62</a>
3210<blockquote>
3211<p>
3212 jbig2dec: Simplify cleanup when parsing symbol dictionary.<br>
3213<br>
3214 In the process move all cleanup, including any intermediate<br>
3215 images to the cleanup section towards the end of the symbol<br>
3216 decoding function.<br>
3217<br>
3218jbig2dec/jbig2_symbol_dict.c<br>
3219<p>
3220</blockquote>
3221<hr>
3222<p><strong>2018-04-25 02:11:00 +0800
3223</strong>
3224<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3225<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=94a5d891cb5cf495b4d2bb8460b293b39e1603ce">94a5d891cb5cf495b4d2bb8460b293b39e1603ce</a>
3226<blockquote>
3227<p>
3228 jbig2dec: Initialize huffman table for size of symbols refinement data.<br>
3229<br>
3230 Previously this was uninitialized, possibly leading to dereferencing<br>
3231 an uninitialized table pointer.<br>
3232<br>
3233jbig2dec/jbig2_symbol_dict.c<br>
3234<p>
3235</blockquote>
3236<hr>
3237<p><strong>2018-04-25 01:57:52 +0800
3238</strong>
3239<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3240<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a27e623cac13c67926c42222589ff87f76f369dc">a27e623cac13c67926c42222589ff87f76f369dc</a>
3241<blockquote>
3242<p>
3243 jbig2dec: Let symbol refinement Y offset use its own huffman table.<br>
3244<br>
3245 Previously both the symbol instances refinement X and Y offset reused<br>
3246 the same table SBHUFFRDX, but according to 6.4.11.3 and 6.4.11.4 in<br>
3247 the specification they ought to be using the independent SBHUFFRDX<br>
3248 and SBHUFFRDY tables. Let's make it so.<br>
3249<br>
3250jbig2dec/jbig2_symbol_dict.c<br>
3251<p>
3252</blockquote>
3253<hr>
3254<p><strong>2018-04-25 01:50:07 +0800
3255</strong>
3256<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3257<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=721338e0846bc0e50cf4528ba6b0d54b1a577db4">721338e0846bc0e50cf4528ba6b0d54b1a577db4</a>
3258<blockquote>
3259<p>
3260 jbig2dec: Remember to put all new symbols into ref/agg dictionary.<br>
3261<br>
3262 Previously the symbol dictionary propagated to the text region<br>
3263 decoder for a refinement/aggregate coded symbol did not contain<br>
3264 all necessary symbols. Only the symbols in the symbol dictionaries<br>
3265 referred to (SDINSYMS) by the currently parsed symbol dictionary<br>
3266 would be propagated into the text region decoder (SBSYMS).<br>
3267<br>
3268 Table 17 in the specification states that SBSYMS should be set<br>
3269 according to 6.5.8.2.4 which clearly states that SDINSYMS as well<br>
3270 as any symbols decoded up to that point (NSYMSDECODED symbols in<br>
3271 SDNEWSYMS) ought to be introduced into the dictionary that is<br>
3272 propagated to the text region decoder (SBSYMS). This is now done<br>
3273 by providing the text region decoder not just with a single symbol<br>
3274 dictionary, but both with SDINSYMS and SDNEWSYMS allowing the<br>
3275 decoder to refer to symbols from both.<br>
3276<br>
3277jbig2dec/jbig2_symbol_dict.c<br>
3278<p>
3279</blockquote>
3280<hr>
3281<p><strong>2018-04-24 22:32:16 +0800
3282</strong>
3283<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3284<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9eab580c634eb61d9340ebc40f4c40174ed226c5">9eab580c634eb61d9340ebc40f4c40174ed226c5</a>
3285<blockquote>
3286<p>
3287 jbig2dec: Paper over the fact that VS 2010 and earlier may not have SIZE_MAX.<br>
3288<br>
3289jbig2dec/config_win32.h<br>
3290<p>
3291</blockquote>
3292<hr>
3293<p><strong>2018-04-20 02:33:31 +0800
3294</strong>
3295<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3296<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0ee7f3b1c19f6d777eaf6bdf2b8ea8d241bf49d4">0ee7f3b1c19f6d777eaf6bdf2b8ea8d241bf49d4</a>
3297<blockquote>
3298<p>
3299 jbig2dec: Check for T.88 amendments 2/3 bitstreams.<br>
3300<br>
3301 T.88 Amendment 2 adds up to 12 adaptive template pixels in generic regions.<br>
3302 T.88 Amendment 3 adds support for generic/text regions to encode colors.<br>
3303 Neither amendment is implemented and no sample files have been found.<br>
3304 Return fatal errors for such bitstreams/files for the time being.<br>
3305<br>
3306jbig2dec/jbig2.c<br>
3307jbig2dec/jbig2_generic.c<br>
3308jbig2dec/jbig2_page.c<br>
3309jbig2dec/jbig2_segment.c<br>
3310jbig2dec/jbig2_text.c<br>
3311<p>
3312</blockquote>
3313<hr>
3314<p><strong>2018-04-24 13:39:07 +0800
3315</strong>
3316<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3317<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b200c6e476d00e760100b0b3e23f6e57f0794969">b200c6e476d00e760100b0b3e23f6e57f0794969</a>
3318<blockquote>
3319<p>
3320 jbig2dec: Handle under-/overflow in arithmetic integer decoder.<br>
3321<br>
3322jbig2dec/jbig2_arith_int.c<br>
3323<p>
3324</blockquote>
3325<hr>
3326<p><strong>2018-04-24 13:54:47 +0800
3327</strong>
3328<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3329<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d73eadc850bd8b4f3bd26a70d7916de9f5c824c8">d73eadc850bd8b4f3bd26a70d7916de9f5c824c8</a>
3330<blockquote>
3331<p>
3332 jbig2dec: Rename variables to closely follow the specification.<br>
3333<br>
3334jbig2dec/jbig2_refinement.c<br>
3335jbig2dec/jbig2_refinement.h<br>
3336jbig2dec/jbig2_symbol_dict.c<br>
3337jbig2dec/jbig2_text.c<br>
3338<p>
3339</blockquote>
3340<hr>
3341<p><strong>2018-04-24 04:01:13 +0800
3342</strong>
3343<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3344<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f135d8f51b7a3da455c6cd4ccd88c5f6ab7f930b">f135d8f51b7a3da455c6cd4ccd88c5f6ab7f930b</a>
3345<blockquote>
3346<p>
3347 jbig2dec: Implement support for resizing image width.<br>
3348<br>
3349jbig2dec/jbig2_image.c<br>
3350<p>
3351</blockquote>
3352<hr>
3353<p><strong>2018-04-24 03:48:35 +0800
3354</strong>
3355<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3356<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fe83cea1333445c0273e45003d6eeb172bc82e0e">fe83cea1333445c0273e45003d6eeb172bc82e0e</a>
3357<blockquote>
3358<p>
3359 jbig2dec: When extending image use default page color.<br>
3360<br>
3361jbig2dec/jbig2_image.c<br>
3362jbig2dec/jbig2_image.h<br>
3363jbig2dec/jbig2_page.c<br>
3364<p>
3365</blockquote>
3366<hr>
3367<p><strong>2018-04-24 03:40:06 +0800
3368</strong>
3369<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3370<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=95df4340d0d65c1f5f180d31a93e8806ddb345dd">95df4340d0d65c1f5f180d31a93e8806ddb345dd</a>
3371<blockquote>
3372<p>
3373 jbig2dec: Clarify lack of support for dependency bit.<br>
3374<br>
3375 The extension segment dependency bit only matters for<br>
3376 encoders. This is because it informs the encoder what<br>
3377 other segments a specific segment depends on. Since<br>
3378 jbig2dec doesn't do any alteration of segments this<br>
3379 need not be supported (or indeed even parsed).<br>
3380<br>
3381jbig2dec/jbig2_segment.c<br>
3382<p>
3383</blockquote>
3384<hr>
3385<p><strong>2018-04-24 23:57:18 +0800
3386</strong>
3387<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3388<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=edb5c4000cc7e38c1f9f5e93243ab1737e13aeee">edb5c4000cc7e38c1f9f5e93243ab1737e13aeee</a>
3389<blockquote>
3390<p>
3391 jbig2dec: Move arithmetic decoder test logging inside test.<br>
3392<br>
3393 Also take the opportunity to make the test stream static.<br>
3394<br>
3395jbig2dec/jbig2_arith.c<br>
3396<p>
3397</blockquote>
3398<hr>
3399<p><strong>2018-04-24 04:51:31 +0800
3400</strong>
3401<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3402<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3a2b2f13a26355a0ca7dc58d7c28276df3d7b786">3a2b2f13a26355a0ca7dc58d7c28276df3d7b786</a>
3403<blockquote>
3404<p>
3405 jbig2dec: Enable both huffman tests when running check.<br>
3406<br>
3407jbig2dec/jbig2_huffman.c<br>
3408<p>
3409</blockquote>
3410<hr>
3411<p><strong>2018-04-23 14:02:46 +0800
3412</strong>
3413<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3414<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=db1efdfb5f194079070bfd1ab50ae11e881de50d">db1efdfb5f194079070bfd1ab50ae11e881de50d</a>
3415<blockquote>
3416<p>
3417 jbig2dec: Handle get_next_word() returning error/less than a word.<br>
3418<br>
3419 This includes propagating the error handling to all callers.<br>
3420<br>
3421jbig2dec/jbig2_arith.c<br>
3422jbig2dec/jbig2_huffman.c<br>
3423jbig2dec/jbig2_huffman.h<br>
3424jbig2dec/jbig2_symbol_dict.c<br>
3425jbig2dec/jbig2_text.c<br>
3426<p>
3427</blockquote>
3428<hr>
3429<p><strong>2018-04-24 20:05:39 +0800
3430</strong>
3431<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3432<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=968c424a70471c086466568bee21097e89149663">968c424a70471c086466568bee21097e89149663</a>
3433<blockquote>
3434<p>
3435 jbig2dec: free/release functions must handle NULL argument.<br>
3436<br>
3437jbig2dec/jbig2.c<br>
3438jbig2dec/jbig2_halftone.c<br>
3439jbig2dec/jbig2_huffman.c<br>
3440jbig2dec/jbig2_image.c<br>
3441jbig2dec/jbig2_metadata.c<br>
3442jbig2dec/jbig2_page.c<br>
3443jbig2dec/jbig2_segment.c<br>
3444jbig2dec/jbig2_symbol_dict.c<br>
3445<p>
3446</blockquote>
3447<hr>
3448<p><strong>2018-04-11 00:02:39 +0800
3449</strong>
3450<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3451<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a21e4d7cf5b7928c490a2f804dfc01fc66069e35">a21e4d7cf5b7928c490a2f804dfc01fc66069e35</a>
3452<blockquote>
3453<p>
3454 jbig2dec: Implement pixel out of field test for refinement regions too.<br>
3455<br>
3456jbig2dec/jbig2_refinement.c<br>
3457<p>
3458</blockquote>
3459<hr>
3460<p><strong>2018-04-21 23:36:54 +0800
3461</strong>
3462<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3463<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=01ae24d85f67b3c1b11993f1644a71da643ecc9b">01ae24d85f67b3c1b11993f1644a71da643ecc9b</a>
3464<blockquote>
3465<p>
3466 jbig2dec: Differentiate error messages in generic region decoder.<br>
3467<br>
3468 This makes it easier to know from where the error message originated.<br>
3469<br>
3470jbig2dec/jbig2_generic.c<br>
3471<p>
3472</blockquote>
3473<hr>
3474<p><strong>2018-04-22 01:45:15 +0800
3475</strong>
3476<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3477<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f920a1839a66b844651b2ff5524944b0dd9484cf">f920a1839a66b844651b2ff5524944b0dd9484cf</a>
3478<blockquote>
3479<p>
3480 jbig2dec: Fix and use decoder for template 3 generic regions.<br>
3481<br>
3482 Previously an optimized implementation for template generic<br>
3483 regions was commented out, presumably because it was faulty,<br>
3484 but now once the implementation is fixed it may be used.<br>
3485<br>
3486 The PDF in bug 693617 has an object 25 that contains a JBIG2<br>
3487 bitstream that can use this fix optimized decoder. Without<br>
3488 the fix in the optimized decoder the rendered output image<br>
3489 is incorrect.<br>
3490<br>
3491jbig2dec/jbig2_generic.c<br>
3492<p>
3493</blockquote>
3494<hr>
3495<p><strong>2018-04-23 01:25:34 +0800
3496</strong>
3497<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3498<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e1b5e97f0950a47be4094028cf242a2b2861a07">8e1b5e97f0950a47be4094028cf242a2b2861a07</a>
3499<blockquote>
3500<p>
3501 jbig2dec: Handle non-nominal adaptive pixel locations in template 2.<br>
3502<br>
3503 Optimized generic region decoders can only handle nominal<br>
3504 adaptive pixel locations, while the unoptimized generic region<br>
3505 decoders can handle them being located at any location.<br>
3506<br>
3507 Previously the optimized decode was always used regardless of the<br>
3508 locations of the adaptive pixels, possibly causing decoding<br>
3509 issues. Now an unoptimized decoder is added for template 2 and is<br>
3510 being used whenever the adaptive pixel locations are at non-nominal<br>
3511 locations.<br>
3512<br>
3513jbig2dec/jbig2_generic.c<br>
3514<p>
3515</blockquote>
3516<hr>
3517<p><strong>2018-04-23 01:28:14 +0800
3518</strong>
3519<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3520<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c389757b311d9e01cf98cfb5d56c500929e28c43">c389757b311d9e01cf98cfb5d56c500929e28c43</a>
3521<blockquote>
3522<p>
3523 jbig2dec: Handle non-nominal adaptive pixel locations in template 1.<br>
3524<br>
3525 Optimized generic region decoders can only handle nominal<br>
3526 adaptive pixel locations, while the unoptimized generic region<br>
3527 decoders can handle them being located at any location.<br>
3528<br>
3529 Previously the optimized decode was always used regardless of the<br>
3530 locations of the adaptive pixels, possibly causing decoding<br>
3531 issues. Now an unoptimized decoder is added for template 1 and is<br>
3532 being used whenever the adaptive pixel locations are at non-nominal<br>
3533 locations.<br>
3534<br>
3535jbig2dec/jbig2_generic.c<br>
3536<p>
3537</blockquote>
3538<hr>
3539<p><strong>2018-04-09 22:25:34 +0800
3540</strong>
3541<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3542<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d522f9a9815dce16977f7a9e9715e861cab76a55">d522f9a9815dce16977f7a9e9715e861cab76a55</a>
3543<blockquote>
3544<p>
3545 jbig2dec: Fix incorrect adaptive pixel location check.<br>
3546<br>
3547 Previously for the adaptive pixel template 2 the check for the<br>
3548 location of the adaptive pixel was wrong. Because generic regions<br>
3549 with nominal locations are more common this lead to the<br>
3550 unoptimized decoder being used. Only a few images where the<br>
3551 adaptive pixel location happened to be at this wrong location<br>
3552 used the optimized decoder, and presumably were decoded<br>
3553 incorrectly. This incorrect location check therefore hid the bug<br>
3554 in the optimized generic region decoder concerning what pixels<br>
3555 are included at what location in the arithmetic integer context.<br>
3556<br>
3557 Now the adaptive pixel location check is corrected as well as the<br>
3558 bug in the optimized generic region decoder itself.<br>
3559<br>
3560jbig2dec/jbig2_generic.c<br>
3561<p>
3562</blockquote>
3563<hr>
3564<p><strong>2018-05-24 03:27:21 +0800
3565</strong>
3566<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3567<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=18a051f2f422f9d336e1d6a28f990068faaf2abc">18a051f2f422f9d336e1d6a28f990068faaf2abc</a>
3568<blockquote>
3569<p>
3570 jbig2dec: Differentiate between errors/OOB when decoding BMSIZE.<br>
3571<br>
3572 Previously the two very lumped together, causing a single error message.<br>
3573<br>
3574jbig2dec/jbig2_symbol_dict.c<br>
3575<p>
3576</blockquote>
3577<hr>
3578<p><strong>2018-04-24 13:39:46 +0800
3579</strong>
3580<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3581<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=851e3885386f992af8e73ba90c8b8fcf5a6cb69a">851e3885386f992af8e73ba90c8b8fcf5a6cb69a</a>
3582<blockquote>
3583<p>
3584 jbig2dec: Print errors when out of boundary values occur.<br>
3585<br>
3586 According to the specification in 6.4.5 when decoding text<br>
3587 regions, where OOB values in IDS indicate that the last symbol<br>
3588 in a strip has been decoded, or in 6.5.5 when decoding symbol<br>
3589 dictionaries, where OOB values in DW indicate that all the<br>
3590 symbols in a height class have been decoded. When decoding any<br>
3591 other symbols than IDS or DW, OOB values are not expected, so<br>
3592 report these as fatal errors.<br>
3593<br>
3594jbig2dec/jbig2_symbol_dict.c<br>
3595jbig2dec/jbig2_text.c<br>
3596<p>
3597</blockquote>
3598<hr>
3599<p><strong>2018-04-25 02:08:40 +0800
3600</strong>
3601<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3602<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6f4075cae5c70e5f766a79d011624326c4bf5185">6f4075cae5c70e5f766a79d011624326c4bf5185</a>
3603<blockquote>
3604<p>
3605 jbig2dec: Check if all arithmetic decoder contexts are initialized.<br>
3606<br>
3607 Previously the IADT and IARI contexts were never checked for having<br>
3608 been successfully initialized, possibly causing uninitialized data<br>
3609 issues later.<br>
3610<br>
3611jbig2dec/jbig2_symbol_dict.c<br>
3612<p>
3613</blockquote>
3614<hr>
3615<p><strong>2018-05-24 03:28:04 +0800
3616</strong>
3617<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3618<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7241bffe648d3f75cd03bbaa404fc927163e6215">7241bffe648d3f75cd03bbaa404fc927163e6215</a>
3619<blockquote>
3620<p>
3621 jbig2dec: Skip over undecoded pages when getting pages.<br>
3622<br>
3623jbig2dec/jbig2_page.c<br>
3624<p>
3625</blockquote>
3626<hr>
3627<p><strong>2018-05-24 03:23:25 +0800
3628</strong>
3629<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3630<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7b68d2964935c40fe8f58a9540c5765fb2f53f0f">7b68d2964935c40fe8f58a9540c5765fb2f53f0f</a>
3631<blockquote>
3632<p>
3633 jbig2dec: Detect NULL image pointer before trying to take reference.<br>
3634<br>
3635 Attempting to take a reference to NULL is a no-op anyway.<br>
3636<br>
3637jbig2dec/jbig2_refinement.c<br>
3638jbig2dec/jbig2_text.c<br>
3639<p>
3640</blockquote>
3641<hr>
3642<p><strong>2018-06-01 10:36:53 -0700
3643</strong>
3644<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3645<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f8f900369183f908fb8e8796154e2c7b57fbd202">f8f900369183f908fb8e8796154e2c7b57fbd202</a>
3646<blockquote>
3647<p>
3648 jbig2dec: Rename jbig2_image_clone() to jbig2_image_reference().<br>
3649<br>
3650 This more accurately explains what the function does, and<br>
3651 mirrors jbig2_image_release() quite well.<br>
3652<br>
3653jbig2dec/jbig2_image.c<br>
3654jbig2dec/jbig2_image.h<br>
3655jbig2dec/jbig2_page.c<br>
3656jbig2dec/jbig2_refinement.c<br>
3657jbig2dec/jbig2_symbol_dict.c<br>
3658jbig2dec/jbig2_text.c<br>
3659<p>
3660</blockquote>
3661<hr>
3662<p><strong>2018-05-24 03:24:33 +0800
3663</strong>
3664<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3665<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c3707893650d631dfcc4ca5a99b2eb28f7108fd9">c3707893650d631dfcc4ca5a99b2eb28f7108fd9</a>
3666<blockquote>
3667<p>
3668 jbig2dec: Refinement bitmaps without images should be treated as fatal errors.<br>
3669<br>
3670jbig2dec/jbig2_refinement.c<br>
3671<p>
3672</blockquote>
3673<hr>
3674<p><strong>2018-05-23 23:12:16 +0800
3675</strong>
3676<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3677<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dc80246ab0a08f3c946d43d930c772dedb8b7bf4">dc80246ab0a08f3c946d43d930c772dedb8b7bf4</a>
3678<blockquote>
3679<p>
3680 jbig2dec: Report warnings if called functions indicate errors.<br>
3681<br>
3682 The first error detected ought to be a fatal error, but when this<br>
3683 error condition is propagated to callers, they should indicate warnings.<br>
3684<br>
3685jbig2dec/jbig2.c<br>
3686jbig2dec/jbig2_generic.c<br>
3687jbig2dec/jbig2_halftone.c<br>
3688jbig2dec/jbig2_page.c<br>
3689jbig2dec/jbig2_refinement.c<br>
3690jbig2dec/jbig2_symbol_dict.c<br>
3691jbig2dec/jbig2_text.c<br>
3692<p>
3693</blockquote>
3694<hr>
3695<p><strong>2018-05-27 02:51:10 +0800
3696</strong>
3697<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3698<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=689fa69bfd6c423194e58f22835836870cb519b5">689fa69bfd6c423194e58f22835836870cb519b5</a>
3699<blockquote>
3700<p>
3701 jbig2dec: Unsupported intermediate generic region is now a fatal error.<br>
3702<br>
3703jbig2dec/jbig2_segment.c<br>
3704<p>
3705</blockquote>
3706<hr>
3707<p><strong>2018-05-27 02:50:32 +0800
3708</strong>
3709<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3710<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f394d8e7b5588bed1c2265136da0bcb2502507fb">f394d8e7b5588bed1c2265136da0bcb2502507fb</a>
3711<blockquote>
3712<p>
3713 jbig2dec: Halftone regions with skip enabled is now a fatal error.<br>
3714<br>
3715jbig2dec/jbig2_halftone.c<br>
3716<p>
3717</blockquote>
3718<hr>
3719<p><strong>2018-05-24 03:20:52 +0800
3720</strong>
3721<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3722<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=de4b96e07690cde1999554b1413d79f20d1e8523">de4b96e07690cde1999554b1413d79f20d1e8523</a>
3723<blockquote>
3724<p>
3725 jbig2dec: Detected errors should be fatal, not warnings.<br>
3726<br>
3727jbig2dec/jbig2_generic.c<br>
3728jbig2dec/jbig2_metadata.c<br>
3729<p>
3730</blockquote>
3731<hr>
3732<p><strong>2018-05-23 21:48:31 +0800
3733</strong>
3734<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3735<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d175962540cd0ff2b6dcec2a13bf61a17df93741">d175962540cd0ff2b6dcec2a13bf61a17df93741</a>
3736<blockquote>
3737<p>
3738 jbig2dec: Remember to free IAID context upon error.<br>
3739<br>
3740 Previously this might result in a memory leak.<br>
3741<br>
3742jbig2dec/jbig2_arith_iaid.c<br>
3743<p>
3744</blockquote>
3745<hr>
3746<p><strong>2018-05-24 00:52:15 +0800
3747</strong>
3748<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3749<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e32e5535ca5055e31417d022753eed67a30d482e">e32e5535ca5055e31417d022753eed67a30d482e</a>
3750<blockquote>
3751<p>
3752 jbig2dec: Free referred to symbol dictionary upon error.<br>
3753<br>
3754jbig2dec/jbig2_symbol_dict.c<br>
3755<p>
3756</blockquote>
3757<hr>
3758<p><strong>2018-05-24 03:26:43 +0800
3759</strong>
3760<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3761<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fc4940d6aabebd6516befefc0b51676ccc332a7f">fc4940d6aabebd6516befefc0b51676ccc332a7f</a>
3762<blockquote>
3763<p>
3764 jbig2dec: Pages without decoded images cannot be completed.<br>
3765<br>
3766jbig2dec/jbig2_page.c<br>
3767<p>
3768</blockquote>
3769<hr>
3770<p><strong>2018-05-24 00:51:20 +0800
3771</strong>
3772<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3773<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e4e1e6ac335eaccd92eff57308e173ac67a392f0">e4e1e6ac335eaccd92eff57308e173ac67a392f0</a>
3774<blockquote>
3775<p>
3776 jbig2dec: When a page fails to complete, handle as an error.<br>
3777<br>
3778 Previously this only caused a warning message but didn't fail,<br>
3779 but failing to complete a page means the parsing is somehow broken,<br>
3780 and so it ought to be best to treat it as a fatal error.<br>
3781<br>
3782jbig2dec/jbig2dec.c<br>
3783<p>
3784</blockquote>
3785<hr>
3786<p><strong>2018-05-24 00:33:18 +0800
3787</strong>
3788<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3789<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3da06c6284e3370f31382299eddf7c76f11960cd">3da06c6284e3370f31382299eddf7c76f11960cd</a>
3790<blockquote>
3791<p>
3792 jbig2dec: Releasing a page cannot not fail.<br>
3793<br>
3794 It can only fail if you supply a random page pointer.<br>
3795 Don't do that it would be a programming error.<br>
3796<br>
3797jbig2dec/jbig2.h<br>
3798jbig2dec/jbig2_page.c<br>
3799<p>
3800</blockquote>
3801<hr>
3802<p><strong>2018-05-23 23:21:27 +0800
3803</strong>
3804<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3805<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=451ee5588ec2616afc21ae9ccc61c2afb8144bf7">451ee5588ec2616afc21ae9ccc61c2afb8144bf7</a>
3806<blockquote>
3807<p>
3808 jbig2dec: Directly return jbig2_error(FATAL); they indicate errors.<br>
3809<br>
3810 Because jbig2_error(ctx, JBIG2_SEVERITY_FATAL, ...) returns -1,<br>
3811 it can be immediately returned or assigned as a return code.<br>
3812<br>
3813jbig2dec/jbig2_huffman.c<br>
3814jbig2dec/jbig2_metadata.c<br>
3815jbig2dec/jbig2_text.c<br>
3816<p>
3817</blockquote>
3818<hr>
3819<p><strong>2018-05-23 23:12:43 +0800
3820</strong>
3821<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3822<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1e751b882e18fee36a16488e7b46c0e1b571d605">1e751b882e18fee36a16488e7b46c0e1b571d605</a>
3823<blockquote>
3824<p>
3825 jbig2dec: Return jbig2_error(WARNING); they indicate errors.<br>
3826<br>
3827 Because jbig2_error(ctx, JBIG2_SEVERITY_WARNING, ...) now returns -1,<br>
3828 it can be immediately returned or assigned as a return code.<br>
3829<br>
3830jbig2dec/jbig2_generic.c<br>
3831jbig2dec/jbig2_halftone.c<br>
3832jbig2dec/jbig2_metadata.c<br>
3833jbig2dec/jbig2_mmr.c<br>
3834jbig2dec/jbig2_page.c<br>
3835jbig2dec/jbig2_symbol_dict.c<br>
3836jbig2dec/jbig2_text.c<br>
3837<p>
3838</blockquote>
3839<hr>
3840<p><strong>2018-05-24 01:24:32 +0800
3841</strong>
3842<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3843<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c159c4534b9b9af4998d6dcdee896fe2197fa542">c159c4534b9b9af4998d6dcdee896fe2197fa542</a>
3844<blockquote>
3845<p>
3846 jbig2dec: Convert debug messages in debug code to warnings.<br>
3847<br>
3848 This is because the debug code calls functions that write<br>
3849 PBM images or similar, these may fail and when this happens<br>
3850 the calling function ought to print a warning and fail itself.<br>
3851<br>
3852jbig2dec/jbig2_page.c<br>
3853jbig2dec/jbig2_refinement.c<br>
3854jbig2dec/jbig2_symbol_dict.c<br>
3855<p>
3856</blockquote>
3857<hr>
3858<p><strong>2018-05-23 00:22:41 +0800
3859</strong>
3860<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3861<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8b6f19d5f5e7af568c448421c24bbe200ea9c89">a8b6f19d5f5e7af568c448421c24bbe200ea9c89</a>
3862<blockquote>
3863<p>
3864 jbig2dec: Error callback should not modify jbig2_error() return code.<br>
3865<br>
3866 If a function detects an error it should call<br>
3867 jbig2_error(ctx, JBIG2_SEVERITY_FATAL, ...) and return -1. The caller<br>
3868 of this function may then detect the return code indicating error<br>
3869 and call jbig2_error(ctx, JBIG2_SEVERITY_WARNING, ...). Previously<br>
3870 this latter call to jbig2_error() would not return -1, but it is good<br>
3871 form for the calling function to fail and return -1 to the next caller.<br>
3872 Therefore the error callback no longer has the option to override the<br>
3873 return code from jbig2_error(), instead jbig2_error() always returns -1.<br>
3874<br>
3875base/sjbig2.c<br>
3876jbig2dec/jbig2.c<br>
3877jbig2dec/jbig2.h<br>
3878jbig2dec/jbig2dec.c<br>
3879<p>
3880</blockquote>
3881<hr>
3882<p><strong>2018-05-23 02:00:49 +0800
3883</strong>
3884<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3885<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2c743c193e1812795c9c23a8c6cc9d69d2a47eb5">2c743c193e1812795c9c23a8c6cc9d69d2a47eb5</a>
3886<blockquote>
3887<p>
3888 jbig2dec: Only return jbig2_error() for fatal errors/warnings.<br>
3889<br>
3890 Only calls to jbig2_error() using fatal errors or warnings may<br>
3891 return, no calls to jbig2_error() using informational or debug<br>
3892 messages may return. This is preparation for jbig2_error() to<br>
3893 always return -1 for errors/warnings.<br>
3894<br>
3895jbig2dec/jbig2_refinement.c<br>
3896jbig2dec/jbig2_segment.c<br>
3897<p>
3898</blockquote>
3899<hr>
3900<p><strong>2018-04-06 23:43:51 +0800
3901</strong>
3902<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3903<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=be59a40717ec60a5a054ccf88f7064c90788aa78">be59a40717ec60a5a054ccf88f7064c90788aa78</a>
3904<blockquote>
3905<p>
3906 jbig2dec: Add support to process embedded JBIG2 bitstreams.<br>
3907<br>
3908 This type of stream is present in PDF files which is a good source<br>
3909 of test streams for jbig2dec.<br>
3910<br>
3911jbig2dec/jbig2dec.c<br>
3912<p>
3913</blockquote>
3914<hr>
3915<p><strong>2018-04-24 04:19:31 +0800
3916</strong>
3917<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3918<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d7f529ac50d61a1fe07eb1a667322234402e9894">d7f529ac50d61a1fe07eb1a667322234402e9894</a>
3919<blockquote>
3920<p>
3921 jbig2dec: Remove check for bitmap coding context use.<br>
3922<br>
3923 The removed check used bitmask 0x80 to check for the flag<br>
3924 &quot;bitmap coding context used&quot; among the symbol dictionary flags.<br>
3925 The correct bitmask is 0x100, which was already checked for<br>
3926 later in the code, rendering this incorrect check unnecessary.<br>
3927<br>
3928jbig2dec/jbig2_symbol_dict.c<br>
3929<p>
3930</blockquote>
3931<hr>
3932<p><strong>2018-04-22 16:11:32 +0800
3933</strong>
3934<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3935<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=22fbf1bb62b49316452c7556399618399c463039">22fbf1bb62b49316452c7556399618399c463039</a>
3936<blockquote>
3937<p>
3938 jbig2dec: Return error code from get_next_word().<br>
3939<br>
3940 Previously Jbig2WordStream's get_next_word() callback<br>
3941 sometimes returned error codes. This contradicted the<br>
3942 declaration of the callback. However indicating errors<br>
3943 and the number of bytes returned upon successful calls<br>
3944 is a good idea. The declaration and all implementations<br>
3945 of the callback have been adjusted accordingly.<br>
3946<br>
3947 This means that jbig2dec now compiles without warnings.<br>
3948<br>
3949jbig2dec/jbig2.c<br>
3950jbig2dec/jbig2_arith.c<br>
3951jbig2dec/jbig2_huffman.c<br>
3952jbig2dec/jbig2_priv.h<br>
3953<p>
3954</blockquote>
3955<hr>
3956<p><strong>2018-04-25 05:01:41 +0800
3957</strong>
3958<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3959<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ef05820d514fd6a27d1b7690df16b63f8b20cf26">ef05820d514fd6a27d1b7690df16b63f8b20cf26</a>
3960<blockquote>
3961<p>
3962 jbig2dec: Indicate success when using arithmetic decoder.<br>
3963<br>
3964 Commit 2b2dcf4ccf401ed210f03c858b304994749fd2b3 accidentally<br>
3965 forgot to set the out parameter to indicate success when the<br>
3966 call was indeed successful.<br>
3967<br>
3968jbig2dec/jbig2_arith.c<br>
3969<p>
3970</blockquote>
3971<hr>
3972<p><strong>2018-05-23 20:05:20 +0800
3973</strong>
3974<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3975<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=359a15e1c8b460268ff80fb8e8a5da121fcbafc3">359a15e1c8b460268ff80fb8e8a5da121fcbafc3</a>
3976<blockquote>
3977<p>
3978 jbig2dec: Avoid NULL-check before jbig2_free()/jbig2_image_release().<br>
3979<br>
3980jbig2dec/jbig2_halftone.c<br>
3981jbig2dec/jbig2_huffman.c<br>
3982jbig2dec/jbig2_segment.c<br>
3983jbig2dec/jbig2_symbol_dict.c<br>
3984<p>
3985</blockquote>
3986<hr>
3987<p><strong>2018-05-23 00:04:55 +0800
3988</strong>
3989<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
3990<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b9f15473bdd8f48b9336b67d15dc08a6f78f750b">b9f15473bdd8f48b9336b67d15dc08a6f78f750b</a>
3991<blockquote>
3992<p>
3993 jbig2dec: Move declarations from jbig2_priv.h to their respective headers.<br>
3994<br>
3995 Due to this some .c-files now need new includes.<br>
3996<br>
3997jbig2dec/jbig2.c<br>
3998jbig2dec/jbig2.h<br>
3999jbig2dec/jbig2_generic.c<br>
4000jbig2dec/jbig2_generic.h<br>
4001jbig2dec/jbig2_halftone.c<br>
4002jbig2dec/jbig2_halftone.h<br>
4003jbig2dec/jbig2_huffman.c<br>
4004jbig2dec/jbig2_image.h<br>
4005jbig2dec/jbig2_metadata.c<br>
4006jbig2dec/jbig2_page.c<br>
4007jbig2dec/jbig2_priv.h<br>
4008jbig2dec/jbig2_segment.c<br>
4009jbig2dec/jbig2_symbol_dict.c<br>
4010jbig2dec/jbig2_text.c<br>
4011jbig2dec/jbig2_text.h<br>
4012<p>
4013</blockquote>
4014<hr>
4015<p><strong>2018-05-26 19:12:28 +0800
4016</strong>
4017<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4018<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6d6efdc340e0cac31cda1bbb654bcbfcda92b47">c6d6efdc340e0cac31cda1bbb654bcbfcda92b47</a>
4019<blockquote>
4020<p>
4021 jbig2dec: Create jbig2_segment.h with segment declarations.<br>
4022<br>
4023jbig2dec/jbig2.c<br>
4024jbig2dec/jbig2.h<br>
4025jbig2dec/jbig2_generic.c<br>
4026jbig2dec/jbig2_halftone.c<br>
4027jbig2dec/jbig2_huffman.c<br>
4028jbig2dec/jbig2_metadata.c<br>
4029jbig2dec/jbig2_page.c<br>
4030jbig2dec/jbig2_priv.h<br>
4031jbig2dec/jbig2_refinement.c<br>
4032jbig2dec/jbig2_segment.c<br>
4033jbig2dec/jbig2_segment.h<br>
4034jbig2dec/jbig2_symbol_dict.c<br>
4035jbig2dec/jbig2_text.c<br>
4036<p>
4037</blockquote>
4038<hr>
4039<p><strong>2018-05-26 15:00:00 +0800
4040</strong>
4041<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4042<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=624bc3cc86c95bc6215d02d6bf39ff694e2c2a9d">624bc3cc86c95bc6215d02d6bf39ff694e2c2a9d</a>
4043<blockquote>
4044<p>
4045 jbig2dec: Create jbig2_refinement.h with refinement declarations.<br>
4046<br>
4047jbig2dec/jbig2_generic.h<br>
4048jbig2dec/jbig2_priv.h<br>
4049jbig2dec/jbig2_refinement.c<br>
4050jbig2dec/jbig2_refinement.h<br>
4051jbig2dec/jbig2_segment.c<br>
4052jbig2dec/jbig2_symbol_dict.c<br>
4053jbig2dec/jbig2_text.c<br>
4054<p>
4055</blockquote>
4056<hr>
4057<p><strong>2018-05-26 14:51:42 +0800
4058</strong>
4059<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4060<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f4288807d659f72734d41dd8b7d434b1e15dfc2">8f4288807d659f72734d41dd8b7d434b1e15dfc2</a>
4061<blockquote>
4062<p>
4063 jbig2dec: Create jbig2_page.h with page declarations.<br>
4064<br>
4065jbig2dec/jbig2.c<br>
4066jbig2dec/jbig2_generic.c<br>
4067jbig2dec/jbig2_halftone.c<br>
4068jbig2dec/jbig2_page.c<br>
4069jbig2dec/jbig2_page.h<br>
4070jbig2dec/jbig2_priv.h<br>
4071jbig2dec/jbig2_refinement.c<br>
4072jbig2dec/jbig2_segment.c<br>
4073jbig2dec/jbig2_text.c<br>
4074<p>
4075</blockquote>
4076<hr>
4077<p><strong>2018-05-26 15:12:54 +0800
4078</strong>
4079<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4080<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=55925ee6220fe371b1fe34fdc27cfd4dad8847b2">55925ee6220fe371b1fe34fdc27cfd4dad8847b2</a>
4081<blockquote>
4082<p>
4083 jbig2dec: Create jbig2_image_rw.h with image reading/writing declarations.<br>
4084<br>
4085jbig2dec/jbig2_image.h<br>
4086jbig2dec/jbig2_image_pbm.c<br>
4087jbig2dec/jbig2_image_rw.h<br>
4088jbig2dec/jbig2dec.c<br>
4089jbig2dec/pbm2png.c<br>
4090<p>
4091</blockquote>
4092<hr>
4093<p><strong>2018-05-26 15:01:37 +0800
4094</strong>
4095<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4096<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f7d2387f73488a24db04b22884d1e2c7bb83a857">f7d2387f73488a24db04b22884d1e2c7bb83a857</a>
4097<blockquote>
4098<p>
4099 jbig2dec: Remove non-existing function from header.<br>
4100<br>
4101jbig2dec/jbig2_priv.h<br>
4102<p>
4103</blockquote>
4104<hr>
4105<p><strong>2018-05-24 23:54:54 +0800
4106</strong>
4107<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4108<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cbb2072c14305de22f2334acf44a080933f26e21">cbb2072c14305de22f2334acf44a080933f26e21</a>
4109<blockquote>
4110<p>
4111 jbig2dec: Add include guards to all headers.<br>
4112<br>
4113jbig2dec/jbig2_arith.h<br>
4114jbig2dec/jbig2_arith_iaid.h<br>
4115jbig2dec/jbig2_arith_int.h<br>
4116jbig2dec/jbig2_generic.h<br>
4117jbig2dec/jbig2_huffman.h<br>
4118jbig2dec/jbig2_hufftab.h<br>
4119jbig2dec/jbig2_mmr.h<br>
4120jbig2dec/jbig2_priv.h<br>
4121jbig2dec/jbig2_symbol_dict.h<br>
4122jbig2dec/jbig2_text.h<br>
4123<p>
4124</blockquote>
4125<hr>
4126<p><strong>2018-05-24 03:18:04 +0800
4127</strong>
4128<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4129<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6cc76f397ff5af382e4e49914d1b42df3e0a78e4">6cc76f397ff5af382e4e49914d1b42df3e0a78e4</a>
4130<blockquote>
4131<p>
4132 jbig2dec: Rephrase error messages.<br>
4133<br>
4134jbig2dec/jbig2.c<br>
4135jbig2dec/jbig2_arith_int.c<br>
4136jbig2dec/jbig2_generic.c<br>
4137jbig2dec/jbig2_halftone.c<br>
4138jbig2dec/jbig2_huffman.c<br>
4139jbig2dec/jbig2_image.c<br>
4140jbig2dec/jbig2_image_png.c<br>
4141jbig2dec/jbig2_mmr.c<br>
4142jbig2dec/jbig2_page.c<br>
4143jbig2dec/jbig2_refinement.c<br>
4144jbig2dec/jbig2_segment.c<br>
4145jbig2dec/jbig2_symbol_dict.c<br>
4146jbig2dec/jbig2_text.c<br>
4147<p>
4148</blockquote>
4149<hr>
4150<p><strong>2018-05-24 02:05:36 +0800
4151</strong>
4152<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4153<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=344a90c91dc03e9ae80500303e67594f175374e3">344a90c91dc03e9ae80500303e67594f175374e3</a>
4154<blockquote>
4155<p>
4156 jbig2dec: Remove unnecessary scoping.<br>
4157<br>
4158jbig2dec/jbig2_refinement.c<br>
4159<p>
4160</blockquote>
4161<hr>
4162<p><strong>2018-04-25 00:50:12 +0800
4163</strong>
4164<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4165<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=120732b27011a1651ebfcf50536cac953c7b4c9b">120732b27011a1651ebfcf50536cac953c7b4c9b</a>
4166<blockquote>
4167<p>
4168 jbig2dec: Remove many unnecessary parentheses.<br>
4169<br>
4170jbig2dec/jbig2_page.c<br>
4171jbig2dec/jbig2_symbol_dict.c<br>
4172jbig2dec/jbig2_text.c<br>
4173<p>
4174</blockquote>
4175<hr>
4176<p><strong>2018-04-22 23:08:49 +0800
4177</strong>
4178<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4179<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b3d2e786ace758422cdeb22c1cc688bb52087ddf">b3d2e786ace758422cdeb22c1cc688bb52087ddf</a>
4180<blockquote>
4181<p>
4182 jbig2dec: Remove unnecessary comments, whitespace and unused code.<br>
4183<br>
4184jbig2dec/jbig2.c<br>
4185jbig2dec/jbig2_generic.c<br>
4186jbig2dec/jbig2_halftone.c<br>
4187jbig2dec/jbig2_huffman.c<br>
4188jbig2dec/jbig2_image.c<br>
4189jbig2dec/jbig2_page.c<br>
4190jbig2dec/jbig2_refinement.c<br>
4191jbig2dec/jbig2_segment.c<br>
4192jbig2dec/jbig2_symbol_dict.c<br>
4193jbig2dec/jbig2_text.c<br>
4194jbig2dec/jbig2dec.c<br>
4195<p>
4196</blockquote>
4197<hr>
4198<p><strong>2018-05-08 22:35:11 +0800
4199</strong>
4200<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4201<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=def343c44322ebdf609d0113884385d944dc361a">def343c44322ebdf609d0113884385d944dc361a</a>
4202<blockquote>
4203<p>
4204 jbig2dec: Fix typos in error messages and comments.<br>
4205<br>
4206jbig2dec/jbig2_halftone.c<br>
4207jbig2dec/jbig2_huffman.c<br>
4208jbig2dec/jbig2_metadata.c<br>
4209jbig2dec/jbig2_page.c<br>
4210jbig2dec/jbig2_symbol_dict.c<br>
4211jbig2dec/jbig2dec.1<br>
4212<p>
4213</blockquote>
4214<hr>
4215<p><strong>2018-05-26 15:46:16 +0800
4216</strong>
4217<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
4218<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a4ebc6d3cd3e2fcab8b3e9b7bcb7364c14f09d8d">a4ebc6d3cd3e2fcab8b3e9b7bcb7364c14f09d8d</a>
4219<blockquote>
4220<p>
4221 jbig2dec: Reindent sources in the same way as before.<br>
4222<br>
4223 Accept some whitespace changes as done by the commands<br>
4224 from commit d3d767d9b91ae7d82c261fbdfd735f3042161032.<br>
4225<br>
4226jbig2dec/jbig2.c<br>
4227jbig2dec/jbig2_arith.h<br>
4228jbig2dec/jbig2_halftone.c<br>
4229jbig2dec/jbig2_image.c<br>
4230jbig2dec/jbig2_metadata.c<br>
4231jbig2dec/jbig2_mmr.c<br>
4232jbig2dec/jbig2_page.c<br>
4233jbig2dec/jbig2_priv.h<br>
4234jbig2dec/jbig2_symbol_dict.c<br>
4235jbig2dec/jbig2dec.c<br>
4236<p>
4237</blockquote>
4238<hr>
4239<p><strong>2018-07-12 16:35:12 +0100
4240</strong>
4241<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4242<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bc6af8da1adc9b4939e3acbfc4194a143412af3c">bc6af8da1adc9b4939e3acbfc4194a143412af3c</a>
4243<blockquote>
4244<p>
4245 Fix an error in the type 3 stitching function monotonic detection<br>
4246<br>
4247 Bug #699528 &quot;A rare edge condition can cause a function to incorrectly signal a rangecheck error&quot;<br>
4248<br>
4249 This is rather difficult to describe. The problem occurs when we try to<br>
4250 check for monotonicity of a stitching function between two data points<br>
4251 of the parametric variable.<br>
4252<br>
4253 We actually calculate a series of points between the two values and<br>
4254 check to see that they all increase (or decrease). However, a stitching<br>
4255 function can contain multiple functions, and so we break the range of<br>
4256 values into groups at the limits of each function and check each<br>
4257 group of values.<br>
4258<br>
4259 If the lower value of the parameteric variable is 'close' to the upper<br>
4260 bound of the current function, we decide to 'punt' it up to the next<br>
4261 function, presumably to avoid the overhead of a miniscule break. That is<br>
4262 we simply don't bother calculating tiny amounts at the end of a function<br>
4263 we just do the next function.<br>
4264<br>
4265 However, if the upper range of the parametric variable happened also<br>
4266 to lie close to (but less than) the upper bound of the function, then<br>
4267 when we used it to evaluate the next function in the array, it would lie<br>
4268 below the bottom bound of that function, resulting in a rangecheck error.<br>
4269<br>
4270 This commit applies two fixes; firstly, if the upper and lower values<br>
4271 of the parametric variable are the same then this is a point, and there<br>
4272 is no point in checking it, so just jump straight out.<br>
4273<br>
4274 Secondly, the upper value is now promoted to the lower bound of the<br>
4275 current function if it is less than that. This prevents us trying to<br>
4276 use an out of bound value, in case we should somehow get both an upper<br>
4277 *and* a lower bound which lie within the 'noise' threshold.<br>
4278<br>
4279 Because the range of 'noise' is so small (the bounds values of the<br>
4280 function divided by 1 million) there is no practical likelihood of<br>
4281 us missing a function which is not monotonic between those data<br>
4282 points.<br>
4283<br>
4284base/gsfunc3.c<br>
4285<p>
4286</blockquote>
4287<hr>
4288<p><strong>2015-03-19 11:33:51 +0000
4289</strong>
4290<br>Tim Waugh &lt;twaugh@redhat.com&gt;<br>
4291<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=00c14a25c0f0d5e5e65d2d489045e566ccf436df">00c14a25c0f0d5e5e65d2d489045e566ccf436df</a>
4292<blockquote>
4293<p>
4294 bug #695876: check that page margins don't overlap in cups driver.<br>
4295<br>
4296cups/gdevcups.c<br>
4297<p>
4298</blockquote>
4299<hr>
4300<p><strong>2018-07-10 09:51:37 +0100
4301</strong>
4302<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4303<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=87cfc860ea49a4a39c1198b419a019ed598416f0">87cfc860ea49a4a39c1198b419a019ed598416f0</a>
4304<blockquote>
4305<p>
4306 PDF interpreter improve handling of PageLabels as pdfmark<br>
4307<br>
4308 Patch supplied by Leon Bottou, see Bug #696568. This improves the way<br>
4309 the code handles the number tree when converting it to pdfmark<br>
4310 operations.<br>
4311<br>
4312 I don't have any reasonable way to test this, as it relies on using a<br>
4313 device which implements pdfmark, but doesn't implement WantsPageLabels<br>
4314 (to avoid getting the number tree passed).<br>
4315<br>
4316Resource/Init/pdf_base.ps<br>
4317Resource/Init/pdf_main.ps<br>
4318<p>
4319</blockquote>
4320<hr>
4321<p><strong>2018-07-10 08:50:11 +0100
4322</strong>
4323<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4324<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ac9f8412e8c35edd7c0bbbbcd1c7195a56bc15d8">ac9f8412e8c35edd7c0bbbbcd1c7195a56bc15d8</a>
4325<blockquote>
4326<p>
4327 PDF interpreter - fix new PageLabels processing for non-pdfwrite case<br>
4328<br>
4329 The commit to treat PageLabels as pdfmark operations instead of using<br>
4330 our internal code had a logical error when *not* using pdfwrite.<br>
4331<br>
4332 Committed verbatim as there's no simple way to test this case.<br>
4333<br>
4334Resource/Init/pdf_main.ps<br>
4335<p>
4336</blockquote>
4337<hr>
4338<p><strong>2018-07-09 09:24:27 -0700
4339</strong>
4340<br>Nancy Durgin &lt;nancy.durgin@artifex.com&gt;<br>
4341<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d45ebe705de7b7618ad0d0d20fc31a960c8d9ba2">d45ebe705de7b7618ad0d0d20fc31a960c8d9ba2</a>
4342<blockquote>
4343<p>
4344 Bug 690339 - use free/alloc instead of resize when change frame buffer size<br>
4345<br>
4346 In gdev_prn_allocate(), when size of frame buffer changed, we used to call<br>
4347 call gs_resize_object(). Now we call gs_free_object() followed by<br>
4348 gs_alloc_bytes().<br>
4349<br>
4350 Two advantages -- avoids copying the old frame buffer to the new one<br>
4351 (which was pointless) and now the old buffer and new buffer don't need<br>
4352 to coexist, which could help on a low memory system.<br>
4353<br>
4354base/gdevprn.c<br>
4355<p>
4356</blockquote>
4357<hr>
4358<p><strong>2018-07-09 16:49:38 +0100
4359</strong>
4360<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4361<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9d168db605fba44e6238d53d8c29f5997760d2ca">9d168db605fba44e6238d53d8c29f5997760d2ca</a>
4362<blockquote>
4363<p>
4364 device subclassing of patterns, use the correct memory structure<br>
4365<br>
4366 Spotted by Chris while looking at a customer problem, the customer's<br>
4367 code allocs a new pattern accumulator using the device's memory, but it<br>
4368 should really be using the current VM state of the interpreter.<br>
4369<br>
4370 The reason it didn't was because that information wasn't available at<br>
4371 the point where the allocation is made. This commit adds the current<br>
4372 interpreter VM mode to the 'param' structure, which enables us to pass<br>
4373 it to th device, and have the device use it properly.<br>
4374<br>
4375base/gxdevsop.h<br>
4376psi/zpcolor.c<br>
4377<p>
4378</blockquote>
4379<hr>
4380<p><strong>2018-07-09 14:16:31 +0100
4381</strong>
4382<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4383<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4f02acd487721451256d3348760cd3c9333e7635">4f02acd487721451256d3348760cd3c9333e7635</a>
4384<blockquote>
4385<p>
4386 pdfwrite - allow PageLabels to be (optionally) transmitted as pdfmarks<br>
4387<br>
4388 Bug #696568 &quot;Treatment of page labels&quot;<br>
4389<br>
4390 Patch supplied by Leon Bottou, the creator and maintainer of the djvu<br>
4391 device for Ghostscript, very slightly modified.<br>
4392<br>
4393 The djvu device wants the PageLabels from existing PDF files sent to<br>
4394 the device as pdfmarks, exactly as they would be from PostScript. The<br>
4395 problem with this from the pdfwrite point of view is that this would<br>
4396 result in us unpicking the number tree to create pdfmark operations, and<br>
4397 then at the pdfwrite end rebuilding a number tree to emit. Not rebuilding<br>
4398 the tree would result in larger output.<br>
4399<br>
4400 This patch checks that the device implements pdfmark, and if it does<br>
4401 checks whether WantsPageLabels is set in the device. If it is then we<br>
4402 assume its pdfwrite (or a similar device prepared to accept the number<br>
4403 tree). If it is not set then we walk the tree and create a new pdfmark<br>
4404 for each page in the tree range.<br>
4405<br>
4406 I'm unable to test this properly, because it relies on a device which<br>
4407 does implement pdfmark, but doesn't want PageLabels. Rudimentary<br>
4408 testing seemed to work as expected, its possible that more complex<br>
4409 examples might require some more work.<br>
4410<br>
4411Resource/Init/pdf_main.ps<br>
4412<p>
4413</blockquote>
4414<hr>
4415<p><strong>2018-07-06 09:58:06 +0100
4416</strong>
4417<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4418<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=42cee04f173ccacb6aafc8243dd6c2ef12cdde54">42cee04f173ccacb6aafc8243dd6c2ef12cdde54</a>
4419<blockquote>
4420<p>
4421 Forgot to include the changed doc file in last commit<br>
4422<br>
4423doc/Use.htm<br>
4424<p>
4425</blockquote>
4426<hr>
4427<p><strong>2018-07-06 09:53:45 +0100
4428</strong>
4429<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4430<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cc826ca86485321cbc5fc111f7dad7ee39e69a17">cc826ca86485321cbc5fc111f7dad7ee39e69a17</a>
4431<blockquote>
4432<p>
4433 Update PageList processing in the FirstPage/LastPage device<br>
4434<br>
4435 The intention of the PageList was that pages would be specified in<br>
4436 ascending order, but the documentation didn't actually say that<br>
4437 explicitly, so update the documentation to make it absolutely clear.<br>
4438<br>
4439 In addition, by specifying a lower page number at the end, it was<br>
4440 possible to cause a buffer overrun, so prevent that here and flag an<br>
4441 error to the user so they know.<br>
4442<br>
4443base/gdevflp.c<br>
4444<p>
4445</blockquote>
4446<hr>
4447<p><strong>2018-07-05 18:04:28 +0100
4448</strong>
4449<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
4450<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=18e4b59efeca56ec2ca716559a7b9e0639561428">18e4b59efeca56ec2ca716559a7b9e0639561428</a>
4451<blockquote>
4452<p>
4453 Bug 699379: Fix infinite loop with filenames starting with #.<br>
4454<br>
4455 The argument handling routines treat lines starting with #<br>
4456 as being comments. Unfortunately, the logic for this was failing<br>
4457 to recognise EOF as stopping the search for the end of a line.<br>
4458<br>
4459 Doubly unfortunatately, it was extending this courtesy, intended<br>
4460 for lines within @files to command line arguments too. We take<br>
4461 steps to avoid that too.<br>
4462<br>
4463base/gsargs.c<br>
4464<p>
4465</blockquote>
4466<hr>
4467<p><strong>2018-07-05 11:22:41 +0100
4468</strong>
4469<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
4470<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f390123f8e34ec149fe1a3366ebb872368a57d7f">f390123f8e34ec149fe1a3366ebb872368a57d7f</a>
4471<blockquote>
4472<p>
4473 Bug 698928: Rework arg_next.<br>
4474<br>
4475 When I worked on arg_next before, I think I had the wrong idea of<br>
4476 what it was doing.<br>
4477<br>
4478 The idea of arg_next (I thought) was that we'd call it, and get back<br>
4479 a pointer to a decoded version of the next argument. Sadly, this<br>
4480 wasn't true - it would leave us with an *encoded* version of the<br>
4481 argument. Now, for most things this didn't matter, for for encodings<br>
4482 like UTF16LE, it certainly did.<br>
4483<br>
4484 So, largely revert the previous misguided commit to this code, and<br>
4485 update arg_next so that it really does return a &quot;decoded&quot; (i.e. always<br>
4486 utf-8 encoded) buffer.<br>
4487<br>
4488 This fixes Bug 698928 where I had an underflow read in a buffer.<br>
4489<br>
4490base/gsargs.c<br>
4491base/gsargs.h<br>
4492<p>
4493</blockquote>
4494<hr>
4495<p><strong>2018-07-05 16:38:01 +0100
4496</strong>
4497<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4498<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=62e67ecc475d3648f32d7d8c4459bbabd740ea2b">62e67ecc475d3648f32d7d8c4459bbabd740ea2b</a>
4499<blockquote>
4500<p>
4501 Fix a device subclassing problem with colour mapping procedures<br>
4502<br>
4503 Bug #699520 &quot;Seg fault with customer device utilising device subclassing&quot;<br>
4504<br>
4505 When we retrieve colour mapping methods, we need to use the first<br>
4506 subclassing device in the chain which does not have a 'default' for<br>
4507 the colour mapping methods. This is so that the monochrome palette<br>
4508 device in PCL works properly.<br>
4509<br>
4510 In contrast, if none of the subclassing devices overrides the colour<br>
4511 mapping then we want to use the first non-subclassing device's<br>
4512 methods and, importantly, that device as well.<br>
4513<br>
4514base/gxdevcli.h<br>
4515<p>
4516</blockquote>
4517<hr>
4518<p><strong>2018-07-03 13:44:28 +0100
4519</strong>
4520<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4521<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2f8082aa9777a7274c463c6375c2f7d01c299251">2f8082aa9777a7274c463c6375c2f7d01c299251</a>
4522<blockquote>
4523<p>
4524 Increase limit on UniqueIDs for fonts<br>
4525<br>
4526 Bug #699513 &quot;CFF font UniqueID greater then 2^24 - 1 causes error&quot;<br>
4527<br>
4528 The PDF file contains a font with a UniqueID of 0x7fffff which exceeds<br>
4529 the PostScript definition of a font UniqueID (0 -&gt; 2^24 - 1).<br>
4530<br>
4531 Experimentation shows that no PostScript interpreter that I have access<br>
4532 to (other than GS) implements this limit. However, to keep the change<br>
4533 conservative, I'm chosen to raise the limit to 2^32-1 to match the CFF<br>
4534 specification, rather than eliminate it altogether.<br>
4535<br>
4536psi/idparam.c<br>
4537<p>
4538</blockquote>
4539<hr>
4540<p><strong>2018-07-03 08:55:43 +0100
4541</strong>
4542<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
4543<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e44dd7a9f112ea5334a4e189ec64f7a16139597">3e44dd7a9f112ea5334a4e189ec64f7a16139597</a>
4544<blockquote>
4545<p>
4546 Remove some obsolete sections from the docs.<br>
4547<br>
4548 DOS and OS/2 install sections in install.htm<br>
4549<br>
4550doc/Install.htm<br>
4551<p>
4552</blockquote>
4553<hr>
4554<p><strong>2018-06-30 16:10:48 +0100
4555</strong>
4556<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4557<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dc20112ef13ebdfc6e1ad20ac9ef5462e9145682">dc20112ef13ebdfc6e1ad20ac9ef5462e9145682</a>
4558<blockquote>
4559<p>
4560 Fix a compiler warning<br>
4561<br>
4562devices/vector/gdevpdfp.c<br>
4563<p>
4564</blockquote>
4565<hr>
4566<p><strong>2018-06-30 14:29:43 +0100
4567</strong>
4568<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4569<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=aba212c73d6f10fe891786a938bb461636563dba">aba212c73d6f10fe891786a938bb461636563dba</a>
4570<blockquote>
4571<p>
4572 pdfwrite - when changing ProcessColorModel, don't just change the name<br>
4573<br>
4574 Bug 699490 &quot;Broken PDF/X-3 generated&quot;<br>
4575<br>
4576 The reason that an empty file was generated was due to a mismatch<br>
4577 between the underlying device process color model and the ICC profile<br>
4578 attached to the device. The profile was a CMYK profile, while the<br>
4579 device was set to have 3 components.<br>
4580<br>
4581 This is due to the fact that setting the ProcessColorModel separately<br>
4582 from the ColorConversionStrategy was not actually changing the model,<br>
4583 it just changed the name.<br>
4584<br>
4585 This should, of course, have generated an error and an earlier commit<br>
4586 had already addressed that. In this commit, we call the routine which<br>
4587 actually switches the colour model, and we also count down the ICC<br>
4588 structure attached to the device, and set it to 0. This forces a reload<br>
4589 of the ICC profile. That isn't needed for this particular bug but it<br>
4590 is needed when OutputICCProfile is not set, because we will otherwise<br>
4591 try to use the profile for the prior colour model, which will be<br>
4592 incorrect and leaed to errors.<br>
4593<br>
4594devices/vector/gdevpdfp.c<br>
4595<p>
4596</blockquote>
4597<hr>
4598<p><strong>2018-06-29 14:13:39 -0700
4599</strong>
4600<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
4601<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8d415abe6f1e0e3a7e895511e20d99eebad48ada">8d415abe6f1e0e3a7e895511e20d99eebad48ada</a>
4602<blockquote>
4603<p>
4604 Fix rendering issue on tiffscaled devices<br>
4605<br>
4606 The tiffscaled contone devices have to be able to change their color model<br>
4607 to allow a more flexible use of the post render ICC profile with the output<br>
4608 intent. Prior to this commit, certain profile combinations would result in<br>
4609 mis-rendered results.<br>
4610<br>
4611 With this fix, if we are wanting to render to a CMYK intermediate<br>
4612 output intent but we want the output to be in sRGB then we need to use<br>
4613 -sDEVICE=tiffscaled24 -dUsePDFX3Profile -sOutputICCProfile=default_cmyk.icc<br>
4614 -sPostRenderProfile=srgb.icc . This should then render to a temporary<br>
4615 buffer the is in the OutputIntent color space and then be converted to<br>
4616 sRGB. This should look like the result we get when we go out to the<br>
4617 tiffscaled32 device. This is in contrast to the command line<br>
4618 sDEVICE=tiffscaled24 -dUsePDFX3Profile -sPostRenderProfile=srgb.icc which would<br>
4619 end up using the output intent as a proofing profile. The results may be similar<br>
4620 but not exact as overprint and spot colors would not appear correctly due to the<br>
4621 additive color model during rendering.<br>
4622<br>
4623base/gsicc.c<br>
4624base/gsicc.h<br>
4625base/lib.mak<br>
4626devices/devs.mak<br>
4627devices/gdevtsep.c<br>
4628<p>
4629</blockquote>
4630<hr>
4631<p><strong>2018-06-28 16:44:41 +0100
4632</strong>
4633<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4634<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=da3810ce626a1c5dca856a7bac757bf254761f69">da3810ce626a1c5dca856a7bac757bf254761f69</a>
4635<blockquote>
4636<p>
4637 pdfwrite - create GC desscriptors for JPEG Passthrough stream<br>
4638<br>
4639 Bug #699427 &quot; Shrinking PDF is causing SIGSEGV&quot;<br>
4640<br>
4641 Its not absolutely clear that this is the same problem, but I'm<br>
4642 reasonably confident. When passing JPEG data through untouched, we<br>
4643 copied the stream pointer for the uncompressed data into the device<br>
4644 structure (because the image enumerator isn't available at that time)<br>
4645 but if the stream should be relocated after the copy is taken, then the<br>
4646 old stream might not be valid any more.<br>
4647<br>
4648 This commit adds a GC descriptor for the copied stream pointer to the<br>
4649 PDF device structure. For me this solves the problem, but the nature<br>
4650 of these kinds of problems means that *any* change which affects memory<br>
4651 layout will affect the execution, so I'm not 100% certain this is the<br>
4652 problem.<br>
4653<br>
4654devices/vector/gdevpdf.c<br>
4655devices/vector/gdevpdfx.h<br>
4656<p>
4657</blockquote>
4658<hr>
4659<p><strong>2018-06-26 14:52:22 -0700
4660</strong>
4661<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
4662<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=250b5e83e923bed9b6d48bf3965f3b38af52286d">250b5e83e923bed9b6d48bf3965f3b38af52286d</a>
4663<blockquote>
4664<p>
4665 Fix errors introduced in previous commit<br>
4666<br>
4667 The commit f2cf68297e3d63cb927db3c98d317f7ee68e7898<br>
4668 resulted in errors with the separation type devices.<br>
4669 With these devices, we can simply check if the color<br>
4670 model matches the ICC profile since these devices<br>
4671 change their number of components. Will likely need<br>
4672 to do some testing with these device and different<br>
4673 profiles to see what breaks when and make sure we<br>
4674 exit gracefully.<br>
4675<br>
4676base/gsicc_manage.c<br>
4677devices/devs.mak<br>
4678devices/gdevcmykog.c<br>
4679devices/gdevgprf.c<br>
4680devices/gdevpsd.c<br>
4681<p>
4682</blockquote>
4683<hr>
4684<p><strong>2018-06-27 13:22:41 +0100
4685</strong>
4686<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
4687<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e4a7fc24c051241e4dbd14760a218290769d78a6">e4a7fc24c051241e4dbd14760a218290769d78a6</a>
4688<blockquote>
4689<p>
4690 Fix a typo in a link<br>
4691<br>
4692doc/API.htm<br>
4693doc/C-style.htm<br>
4694doc/Commprod.htm<br>
4695doc/DLL.htm<br>
4696doc/Deprecated.htm<br>
4697doc/Develop.htm<br>
4698doc/Devices.htm<br>
4699doc/Drivers.htm<br>
4700doc/Fonts.htm<br>
4701doc/History9.htm<br>
4702doc/Install.htm<br>
4703doc/Language.htm<br>
4704doc/Lib.htm<br>
4705doc/Make.htm<br>
4706doc/News.htm<br>
4707doc/Ps-style.htm<br>
4708doc/Ps2epsi.htm<br>
4709doc/Psfiles.htm<br>
4710doc/Readme.htm<br>
4711doc/Release.htm<br>
4712doc/SavedPages.htm<br>
4713doc/Source.htm<br>
4714doc/Unix-lpr.htm<br>
4715doc/Use.htm<br>
4716doc/VectorDevices.htm<br>
4717doc/WhatIsGS.htm<br>
4718doc/sample_downscale_device.htm<br>
4719doc/subclass.htm<br>
4720doc/thirdparty.htm<br>
4721<p>
4722</blockquote>
4723<hr>
4724<p><strong>2018-06-25 09:44:34 +0100
4725</strong>
4726<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
4727<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6a4202691c4317a698fa23c5309ad8974fe2b003">6a4202691c4317a698fa23c5309ad8974fe2b003</a>
4728<blockquote>
4729<p>
4730 Bug 699454: 'improve' pdfwrite guesstimate of glyph bbox<br>
4731<br>
4732 When estimating the bounding box of a glyph, we were basically only using the<br>
4733 FontBBox - which is often bogus (as it is in this case).<br>
4734<br>
4735 We'll now, additionally, use the advance width of the glyph in that estimate.<br>
4736<br>
4737 This could possibly result in glyphs being included whose marking operations<br>
4738 are outside the current clip, but whose advance width intersects with the<br>
4739 current clip. But that would be preferable to (as was happening) a glyph inside<br>
4740 the clip being dropped.<br>
4741<br>
4742 (Using the &quot;real&quot; glyph bbox would require executing the complete charstring,<br>
4743 which, obviously, has performance implications)<br>
4744<br>
4745devices/vector/gdevpdte.c<br>
4746<p>
4747</blockquote>
4748<hr>
4749<p><strong>2018-06-22 11:48:58 -0700
4750</strong>
4751<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
4752<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ae241f271ae2eafc69ca44a0b8b70af17705c0e">9ae241f271ae2eafc69ca44a0b8b70af17705c0e</a>
4753<blockquote>
4754<p>
4755 Fix crash introduced by commit to make lcms thread-safe<br>
4756<br>
4757 Using a proof profile or even using -dUsePDFX3Profile with<br>
4758 a device color model that was different than the output<br>
4759 intent caused a crash after commit<br>
4760 9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370<br>
4761<br>
4762 Problem was that the intermediate device link was not<br>
4763 getting created.<br>
4764<br>
4765base/gsicc_lcms2mt.c<br>
4766<p>
4767</blockquote>
4768<hr>
4769<p><strong>2018-06-22 10:35:48 -0700
4770</strong>
4771<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
4772<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f2cf68297e3d63cb927db3c98d317f7ee68e7898">f2cf68297e3d63cb927db3c98d317f7ee68e7898</a>
4773<blockquote>
4774<p>
4775 Bug 699381 Add error checking for device icc profiles<br>
4776<br>
4777 Make sure that the various types of profiles that can be set work with<br>
4778 the device color model and with each other. Only allow the use of<br>
4779 the post render ICC profile when the device supports it.<br>
4780<br>
4781base/gdevdflt.c<br>
4782base/gsdparam.c<br>
4783base/gsicc_manage.c<br>
4784base/gxdevsop.h<br>
4785base/lib.mak<br>
4786devices/devs.mak<br>
4787devices/gdevtsep.c<br>
4788<p>
4789</blockquote>
4790<hr>
4791<p><strong>2018-06-21 11:56:17 -0700
4792</strong>
4793<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
4794<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6b981f05c5dafe5d03e8827cb3b5c1cd879c0644">6b981f05c5dafe5d03e8827cb3b5c1cd879c0644</a>
4795<blockquote>
4796<p>
4797 Fix crash when using PostRenderProfile<br>
4798<br>
4799 Crash was introduced by commit to make lcms thread-safe<br>
4800 9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370<br>
4801<br>
4802base/gsicc_cache.c<br>
4803<p>
4804</blockquote>
4805<hr>
4806<p><strong>2018-06-19 11:28:31 +0100
4807</strong>
4808<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
4809<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=da399f89d08f66d8608e83ecf2cd5c33ec45b866">da399f89d08f66d8608e83ecf2cd5c33ec45b866</a>
4810<blockquote>
4811<p>
4812 Don't overwrite filename in the event of an error.<br>
4813<br>
4814 When we 'wrap' a file to allow thread safe file access for multithreaded clist<br>
4815 operation, we replace the original file name with a special 'encoded' file<br>
4816 name - we shouldn't do the replacement if the underlying file fails to open<br>
4817 since it means the error message shows the encoded file name, rather than the<br>
4818 name of the 'real' file.<br>
4819<br>
4820base/gxclfile.c<br>
4821<p>
4822</blockquote>
4823<hr>
4824<p><strong>2018-06-14 12:47:21 -0700
4825</strong>
4826<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
4827<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f92376925f99cd418ce94ab738935eb88013175f">f92376925f99cd418ce94ab738935eb88013175f</a>
4828<blockquote>
4829<p>
4830 Add aarch64:Linux case to tiff config.guess<br>
4831<br>
4832 Needed for configure on 64-bit Linux on ARM (seen with SUSE 64-bit linux<br>
4833 on the Raspberry Pi).<br>
4834<br>
4835tiff/config/config.guess<br>
4836<p>
4837</blockquote>
4838<hr>
4839<p><strong>2018-06-14 12:42:49 -0700
4840</strong>
4841<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
4842<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=255fe6272797351f83613e6ca079a903bdabb136">255fe6272797351f83613e6ca079a903bdabb136</a>
4843<blockquote>
4844<p>
4845 Fix typo in lib.mak. Missing sfilter2 in psfilters.dev<br>
4846<br>
4847 Both entries were $(GLOBJ)sfilter1.$(OBJ) which resulted in s_A85E_template<br>
4848 undefined in the link.<br>
4849<br>
4850base/lib.mak<br>
4851<p>
4852</blockquote>
4853<hr>
4854<p><strong>2018-06-14 13:57:30 +0100
4855</strong>
4856<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4857<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fbf2eefa62b8dd4eb1b96aa77b7d4cf6719af5fe">fbf2eefa62b8dd4eb1b96aa77b7d4cf6719af5fe</a>
4858<blockquote>
4859<p>
4860 fix lib.mak for Windows builds<br>
4861<br>
4862 Commit ca18b9663b10798a2bd800173df3bfbca4a87650 had an extra $(GLOBJ)<br>
4863 macro in the build line for psfilters.dev. On Linux this doesn't seem<br>
4864 to be a problem, but nmake (Windows build in Visual Studio) throws<br>
4865 an error.<br>
4866<br>
4867 Just remove the extraneous macro.<br>
4868<br>
4869base/lib.mak<br>
4870<p>
4871</blockquote>
4872<hr>
4873<p><strong>2018-06-13 16:27:32 +0100
4874</strong>
4875<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
4876<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ca18b9663b10798a2bd800173df3bfbca4a87650">ca18b9663b10798a2bd800173df3bfbca4a87650</a>
4877<blockquote>
4878<p>
4879 Move the PS Level 1 filters into 'base/'<br>
4880<br>
4881 Oddly, Level 2 filters were already in 'base/', but the Level 1 filters were<br>
4882 still (partially) in 'psi/' (but at least one was partially in base/).<br>
4883<br>
4884 This not only moves the code, but puts both Level 1 and 2 filters into a<br>
4885 'feature' .dev (called psfilters.dev) - on the basis we don't really support<br>
4886 building as a Level 1 only interpreter any more.<br>
4887<br>
4888 It is still up to the interpreter makefile(s) to include the dependency on<br>
4889 psfilter.dev to get these built in.<br>
4890<br>
4891 This is tidier than before, but primarily done so the SubFileDecode filter<br>
4892 is available for use by the in-development C based PDF interpreter.<br>
4893<br>
4894base/lib.mak<br>
4895base/sfilter1.c<br>
4896psi/int.mak<br>
4897<p>
4898</blockquote>
4899<hr>
4900<p><strong>2018-06-12 10:08:09 +0100
4901</strong>
4902<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4903<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e0b4f52ee1904ff3f1cf72d86163321b2f9d6357">e0b4f52ee1904ff3f1cf72d86163321b2f9d6357</a>
4904<blockquote>
4905<p>
4906 Fix PageList when the last page in the file is not included in the list<br>
4907<br>
4908 It was possible to run off the end of the array of pages if the last<br>
4909 page was not included in the list of pages to be printed.<br>
4910<br>
4911 Also, the trailing '-' syntax (from page 'n' to the end of file) was<br>
4912 off by one printing the initial page.<br>
4913<br>
4914base/gdevflp.c<br>
4915base/gdevflp.h<br>
4916<p>
4917</blockquote>
4918<hr>
4919<p><strong>2018-06-11 11:31:05 +0100
4920</strong>
4921<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4922<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bc0b0ff9bd8dbdd91a142b46a0e5f5168c13306d">bc0b0ff9bd8dbdd91a142b46a0e5f5168c13306d</a>
4923<blockquote>
4924<p>
4925 Better fix for bug #699404<br>
4926<br>
4927 Bug #699404 &quot;Failure with psdcmyk -dGraphicsAlphaBits=4 -dFirstPage=1 -dLastPage=1&quot;<br>
4928<br>
4929 The commit 3347a19f6fd89fc1b7d9644ff6c4703897501f7e did fix this problem<br>
4930 but it left a more serious underlying problem. The devices in the chain<br>
4931 weren't being updated to note that the standard subclassing devcies had<br>
4932 been installed.<br>
4933<br>
4934 This could lead to them being installed multiple times, and also to<br>
4935 taking the wrong code path and failing to update the device methods<br>
4936 when required.<br>
4937<br>
4938 This commit unwinds the previous one in gdevprn.c and applies a better<br>
4939 fix in gdevkrnlsclass.c<br>
4940<br>
4941base/gdevkrnlsclass.c<br>
4942base/gdevprn.c<br>
4943<p>
4944</blockquote>
4945<hr>
4946<p><strong>2018-06-08 14:05:24 +0100
4947</strong>
4948<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4949<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a219c745f5fd3bcf38da40f64c5b7cd053721a16">a219c745f5fd3bcf38da40f64c5b7cd053721a16</a>
4950<blockquote>
4951<p>
4952 Documentation update - PageList<br>
4953<br>
4954 Update use.htm to make it clear that using PageList will override any<br>
4955 values for FirstPage and LastPage.<br>
4956<br>
4957doc/Use.htm<br>
4958<p>
4959</blockquote>
4960<hr>
4961<p><strong>2018-06-07 16:16:08 -0600
4962</strong>
4963<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
4964<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=493066fceed538d3c499221aea8e085fba86c827">493066fceed538d3c499221aea8e085fba86c827</a>
4965<blockquote>
4966<p>
4967 Add PCL symbol sets: PC-865 Norway and PC-860 Portugal.<br>
4968<br>
4969pcl/pl/plsymbol.c<br>
4970<p>
4971</blockquote>
4972<hr>
4973<p><strong>2018-06-06 17:25:00 +0100
4974</strong>
4975<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
4976<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3347a19f6fd89fc1b7d9644ff6c4703897501f7e">3347a19f6fd89fc1b7d9644ff6c4703897501f7e</a>
4977<blockquote>
4978<p>
4979 Move installation of standard subclassing devices<br>
4980<br>
4981 Bug #699404 &quot;Failure with psdcmyk -dGraphicsAlphaBits=4 -dFirstPage=1 -dLastPage=1&quot;<br>
4982<br>
4983 The installation of the devices in gdev_prn_open() was slightly too<br>
4984 early, the procs can still (quite reasonably because this is part of<br>
4985 the device installation) be altered by gdev_prn_allocate_memory().<br>
4986<br>
4987 If we had already subclassed the device, then the procs of the<br>
4988 subclassing device (ie firstPage/LastPage) would be altered rather than<br>
4989 the real target device's procs. This led to the wrong graphics library<br>
4990 call, which produced an error.<br>
4991<br>
4992 Moving the subclassing later in the installation solves the problem.<br>
4993<br>
4994base/gdevprn.c<br>
4995<p>
4996</blockquote>
4997<hr>
4998<p><strong>2018-06-05 10:16:26 -0600
4999</strong>
5000<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
5001<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bfbd2a02cd39c799d5d5f2d9850fb0fd06e57b7a">bfbd2a02cd39c799d5d5f2d9850fb0fd06e57b7a</a>
5002<blockquote>
5003<p>
5004 Fix #699390 - text position wrong.<br>
5005<br>
5006 The PCL current position (CAP) can be in two states: floating or<br>
5007 fixed. Floating tracks the origin with margin and orientation changes<br>
5008 fixed does not. The CAP is floating until we have printable data or a<br>
5009 command that affects the cursor position is received. We were<br>
5010 mistakenly resetting the the CAP from fixed to float for orientation<br>
5011 changes resulting in incorrect text position.<br>
5012<br>
5013 Norbert Janssen provided the analysis and code change for this fix.<br>
5014<br>
5015pcl/pcl/pcpage.c<br>
5016<p>
5017</blockquote>
5018<hr>
5019<p><strong>2018-06-01 17:40:09 +0100
5020</strong>
5021<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5022<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e997c6836d243ab37fe3a5f0d57974af95eb5eac">e997c6836d243ab37fe3a5f0d57974af95eb5eac</a>
5023<blockquote>
5024<p>
5025 pdfwrite - drop UTF16-BE DOCINFO strings when creating PDF/A-1<br>
5026<br>
5027 Bug #699392 &quot; XMP metadata missing when trying to create PDF/A &quot;<br>
5028<br>
5029 Its not obvious, but it appears to be impossible to embed UTF-16BE<br>
5030 strings in XMP metadata and have them be validated against the same<br>
5031 string in the Info dictionary, because of the specified method for<br>
5032 comparing such strings.<br>
5033<br>
5034 PDF/A-2 states that the document information dictionary should be<br>
5035 ignored, in contrast to the PDF/A-1 specification which says the<br>
5036 XMP and Info dictionary information must be consistent. So this<br>
5037 problem can't arise there.<br>
5038<br>
5039 This commit detects the use of any UTF-16BE string in a DOCINFO<br>
5040 pdfmark and use the usual PDFACompatibilityPolicy to decide whether to<br>
5041 abort PDF/A-1 production, drop the string or raise an error.<br>
5042<br>
5043devices/vector/gdevpdfm.c<br>
5044<p>
5045</blockquote>
5046<hr>
5047<p><strong>2018-05-30 15:59:32 +0100
5048</strong>
5049<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5050<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=71de6d0f9c2a48d6e4a69287b2123bf9efd6df88">71de6d0f9c2a48d6e4a69287b2123bf9efd6df88</a>
5051<blockquote>
5052<p>
5053 txtwrite - Increment character index in text enumerator<br>
5054<br>
5055 Bug #699391 &quot;segfault in txtwrite_process_plain_text()&quot;<br>
5056<br>
5057 We need to increment the text enumerator character index no matter what<br>
5058 kind of operation this is, we had omitted it in the<br>
5059 TEXT_FROM_SINGLE_GLYPH case.<br>
5060<br>
5061devices/vector/gdevtxtw.c<br>
5062<p>
5063</blockquote>
5064<hr>
5065<p><strong>2018-05-28 17:39:55 +0100
5066</strong>
5067<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
5068<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7a91a08d9c78b5e37b0d434ffaafa30aa1d680ad">7a91a08d9c78b5e37b0d434ffaafa30aa1d680ad</a>
5069<blockquote>
5070<p>
5071 Bug 699382: Fix UTF-8 encoding screwup.<br>
5072<br>
5073 Also fix utf8_to_wchar making wchar buffers longer than required.<br>
5074<br>
5075base/gp_wutf8.c<br>
5076base/gsargs.c<br>
5077<p>
5078</blockquote>
5079<hr>
5080<p><strong>2018-05-24 16:37:15 +0100
5081</strong>
5082<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
5083<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fa7a350708d393bad28dffff22da4f96ba037001">fa7a350708d393bad28dffff22da4f96ba037001</a>
5084<blockquote>
5085<p>
5086 Ghostscript documentation pages revised to new look and feel<br>
5087<br>
5088doc/API.htm<br>
5089doc/AUTHORS<br>
5090doc/C-style.htm<br>
5091doc/Changes.htm<br>
5092doc/Commprod.htm<br>
5093doc/DLL.htm<br>
5094doc/Deprecated.htm<br>
5095doc/Details.htm<br>
5096doc/Details8.htm<br>
5097doc/Details9.htm<br>
5098doc/Develop.htm<br>
5099doc/Devices.htm<br>
5100doc/Drivers.htm<br>
5101doc/Fonts.htm<br>
5102doc/Helpers.htm<br>
5103doc/Hershey.htm<br>
5104doc/History1.htm<br>
5105doc/History2.htm<br>
5106doc/History3.htm<br>
5107doc/History4.htm<br>
5108doc/History5.htm<br>
5109doc/History6.htm<br>
5110doc/History7.htm<br>
5111doc/History8.htm<br>
5112doc/History9.htm<br>
5113doc/Install.htm<br>
5114doc/Issues.htm<br>
5115doc/Language.htm<br>
5116doc/Lib.htm<br>
5117doc/Make.htm<br>
5118doc/News.htm<br>
5119doc/Projects.htm<br>
5120doc/Ps-style.htm<br>
5121doc/Ps2epsi.htm<br>
5122doc/Psfiles.htm<br>
5123doc/Readme.htm<br>
5124doc/Release.htm<br>
5125doc/SavedPages.htm<br>
5126doc/Source.htm<br>
5127doc/Unix-lpr.htm<br>
5128doc/Use.htm<br>
5129doc/VectorDevices.htm<br>
5130doc/WhatIsGS.htm<br>
5131doc/gs-style.css<br>
5132doc/gs.css<br>
5133doc/images/.DS_Store<br>
5134doc/images/Artifex_logo.png<br>
5135doc/images/favicon.png<br>
5136doc/images/ghostscript_logo.png<br>
5137doc/images/hamburger-light.png<br>
5138doc/images/x-light.png<br>
5139doc/index.js<br>
5140doc/sample_downscale_device.htm<br>
5141doc/style.css<br>
5142doc/subclass.htm<br>
5143doc/thirdparty.htm<br>
5144<p>
5145</blockquote>
5146<hr>
5147<p><strong>2018-05-24 09:21:17 +0100
5148</strong>
5149<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5150<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1eab394d3715ac37eca4ee3d4b139520166f37f4">1eab394d3715ac37eca4ee3d4b139520166f37f4</a>
5151<blockquote>
5152<p>
5153 Improve FirstPage/LastPage image data handling<br>
5154<br>
5155 commit e92f7cbadec35ced4e38d2be9bf13fe4f362aa59 had the right idea but<br>
5156 erroneous implementation. We can't simply cast the image enumerator,<br>
5157 because we didn't allocate the enumerator that way.<br>
5158<br>
5159 Instead, add the expected height and tracking variable to the individual<br>
5160 enumerator.<br>
5161<br>
5162 Implement for object filtering device as well.<br>
5163<br>
5164base/gdevflp.c<br>
5165base/gdevoflt.c<br>
5166<p>
5167</blockquote>
5168<hr>
5169<p><strong>2018-05-23 15:57:16 +0100
5170</strong>
5171<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5172<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59dce27871a39a9f161aaaf0e852dbd05ba009fe">59dce27871a39a9f161aaaf0e852dbd05ba009fe</a>
5173<blockquote>
5174<p>
5175 PDF interpreter - fix illegal CIDSystemInfo dictionaries<br>
5176<br>
5177 Bug #699294 &quot; Ghostscript giving errors for attached pdfs and generating blank tiffs&quot;<br>
5178<br>
5179 The supplied example file has several CIDFonts embedded which have<br>
5180 illegal CIDSystemInfo dictionaries; they are missing the required<br>
5181 Registry and Ordering entries.<br>
5182<br>
5183 A long time ago we discarded the CIDSystemInfo from the CIDFont and<br>
5184 created a dummy one, which is why the reporter thinks this 'used to<br>
5185 work'. It didn't. Discarding the information caused problems with the<br>
5186 pdfwrite output.<br>
5187<br>
5188 In this case we simply manufacture the missing data. Its wrong, but it<br>
5189 allows the file to proceed to completion. Naturally we emit a warning<br>
5190 so that users know their file is garbage.<br>
5191<br>
5192Resource/Init/pdf_font.ps<br>
5193<p>
5194</blockquote>
5195<hr>
5196<p><strong>2018-05-23 09:14:07 +0100
5197</strong>
5198<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5199<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e92f7cbadec35ced4e38d2be9bf13fe4f362aa59">e92f7cbadec35ced4e38d2be9bf13fe4f362aa59</a>
5200<blockquote>
5201<p>
5202 First/Last page - Fix image data handling with proc data source<br>
5203<br>
5204 Bug #699215 &quot;Subclassing device leads to infinite(?) loop&quot;<br>
5205<br>
5206 When processing images, its acceptable for the subclassed device to<br>
5207 return 0 (need more data) in response to image_plane_data, if the<br>
5208 source is a file, because the file will reach EOF and the code will<br>
5209 properly terminate.<br>
5210<br>
5211 For procedural (or string) data sources this isn't true. The code needs<br>
5212 to keep track of the number of rows of image data received, and return<br>
5213 1 (completed) when we have received enough data.<br>
5214<br>
5215 Fixed the object filtering device at the same time.<br>
5216<br>
5217base/gdevflp.c<br>
5218base/gdevoflt.c<br>
5219<p>
5220</blockquote>
5221<hr>
5222<p><strong>2018-05-22 14:47:54 +0100
5223</strong>
5224<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5225<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b61071c9411c3f6aa0dd594da2c5a20ff4ecd914">b61071c9411c3f6aa0dd594da2c5a20ff4ecd914</a>
5226<blockquote>
5227<p>
5228 Replace EOI marker in JPEG passthrough<br>
5229<br>
5230 Bug #699216 &quot; JPEG passthrough appears to truncate JPEGs in some cases&quot;<br>
5231<br>
5232 The IJG JPEG implementation consumes the EOI marker before the JPEG<br>
5233 passthrough code gets to see it (in general). Most PDF consumers don't<br>
5234 care, but some seem to, so when we terminate the DCT decompression<br>
5235 send the EOI marker to the passthrough code.<br>
5236<br>
5237base/sdctd.c<br>
5238<p>
5239</blockquote>
5240<hr>
5241<p><strong>2018-05-22 14:04:31 +0100
5242</strong>
5243<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5244<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a288cb8678517c578b336b3d26e5c4115906624">4a288cb8678517c578b336b3d26e5c4115906624</a>
5245<blockquote>
5246<p>
5247 Fix conversion from PDF time to XMP time for pdfwrite<br>
5248<br>
5249 Bug #699182 &quot; Invalid XMP metadata and possibly invalid memory access for dates without timezone in pdfmark&quot;<br>
5250<br>
5251 Two different problems; in the first case a '&gt;' should be '&gt;=' so that<br>
5252 we properly identify an empty string.<br>
5253<br>
5254 Then when converting the string, there was a different off-by-one error<br>
5255 in the buffer index. Also corrected a comment while passing.<br>
5256<br>
5257devices/vector/gdevpdfe.c<br>
5258<p>
5259</blockquote>
5260<hr>
5261<p><strong>2018-05-22 10:51:46 +0100
5262</strong>
5263<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
5264<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=16ad4cc70918da40f62a919e11187dfb72f4ff63">16ad4cc70918da40f62a919e11187dfb72f4ff63</a>
5265<blockquote>
5266<p>
5267 Prevent use of CID 0 in a PDF/A output file.<br>
5268<br>
5269 Bug #699375 &quot;PDF/A 1b / 2b Validation fails after conversion with Ghostscript on some files&quot;<br>
5270<br>
5271 The input file(s) use CID 0 (which is defined as the /.notdef glyph)<br>
5272 which is illegal in PDF/A files.<br>
5273<br>
5274 'Fixing' this would require us to alter the CID, change the CMap and<br>
5275 the ToUnicode CMap, and runs the obvious risk of the CID we use as a<br>
5276 replacement being used later in the document. We could avoid this by<br>
5277 scanning for 'holes' in the CMap, but even that potentially leaves us<br>
5278 with a problem if there are no empty entries in the CMap.<br>
5279<br>
5280 Since we can't guarantee fixing the problem, a partial fix would be a<br>
5281 great deal of coding, would almost certainly introduce a bug tail and<br>
5282 still wouldn't guarantee a compliant result, don't try. Instead if we<br>
5283 encounter this condition abort PDF/A output, or throw an error if the<br>
5284 PDFACompatibilityPolicy is set that way.<br>
5285<br>
5286devices/vector/gdevpdtc.c<br>
5287<p>
5288</blockquote>
5289<hr>
5290<p><strong>2018-05-17 14:30:40 +0100
5291</strong>
5292<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
5293<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=48e4565e967eae091b97a9037e77016d8d99f3ce">48e4565e967eae091b97a9037e77016d8d99f3ce</a>
5294<blockquote>
5295<p>
5296 Bug 699329: add display device to default Unix build.<br>
5297<br>
5298 Previously it was only included in the .so build (it doesn't really make sense<br>
5299 in a monolithic exe build). But since we now have a &quot;supported&quot; static library<br>
5300 build, it makes sense to include it.<br>
5301<br>
5302configure.ac<br>
5303<p>
5304</blockquote>
5305<hr>
5306<p><strong>2018-05-17 07:35:02 +0100
5307</strong>
5308<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
5309<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=891ea7d2813edaa3c7c874a4053afdda128e8a10">891ea7d2813edaa3c7c874a4053afdda128e8a10</a>
5310<blockquote>
5311<p>
5312 Fix for small glyph distortion<br>
5313<br>
5314 Glyphs with very few pixels (i.e. lower case &quot;i&quot; in 9pt text rendered at 72dpi)<br>
5315 we being distorted due to the specific rules applied by Freetype's dropout<br>
5316 compensation. This isn't a full solution but resolves the change in behaviour<br>
5317 between 2.7.x and 2.9.x (the change was due to different rounding being<br>
5318 applied).<br>
5319<br>
5320 This fix is from upstream:<br>
5321 http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f1458d2e44d8<br>
5322<br>
5323 So should be in future Freetype releases, and not need re-applied here.<br>
5324<br>
5325freetype/src/base/ftobjs.c<br>
5326<p>
5327</blockquote>
5328<hr>
5329<p><strong>2018-04-03 15:49:48 +0100
5330</strong>
5331<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
5332<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9cb169b6b260f650aac2c3c7ed7af0f345ee0707">9cb169b6b260f650aac2c3c7ed7af0f345ee0707</a>
5333<blockquote>
5334<p>
5335 Work around a behaviour change in freetype &gt; 2.8<br>
5336<br>
5337 Freetype will throw an error when we try to retrieve the glyph if the x/y<br>
5338 advance values are too big to fit in a 16.16 fixed point value.<br>
5339<br>
5340 Since we have no need of those values, set them to zero, and avoid the error.<br>
5341<br>
5342 Bring freetype up to 2.9.1<br>
5343<br>
5344 Plus the gs makefile changes to support the new version.<br>
5345<br>
5346 Reapply &quot;Work around a change in the zlib API for 1.2.11&quot;<br>
5347<br>
5348 for Freetype<br>
5349 commit: 08482c582115a1396d0fd9186011008f889a61c5<br>
5350<br>
5351base/fapi_ft.c<br>
5352base/freetype.mak<br>
5353freetype/CMakeLists.txt<br>
5354freetype/ChangeLog<br>
5355freetype/ChangeLog.20<br>
5356freetype/ChangeLog.21<br>
5357freetype/ChangeLog.22<br>
5358freetype/ChangeLog.23<br>
5359freetype/ChangeLog.24<br>
5360freetype/ChangeLog.25<br>
5361freetype/ChangeLog.26<br>
5362freetype/ChangeLog.27<br>
5363freetype/ChangeLog.28<br>
5364freetype/Jamfile<br>
5365freetype/Jamrules<br>
5366freetype/Makefile<br>
5367freetype/README<br>
5368freetype/README.git<br>
5369freetype/autogen.sh<br>
5370freetype/builds/amiga/README<br>
5371freetype/builds/amiga/include/config/ftconfig.h<br>
5372freetype/builds/amiga/include/config/ftmodule.h<br>
5373freetype/builds/amiga/makefile<br>
5374freetype/builds/amiga/makefile.os4<br>
5375freetype/builds/amiga/smakefile<br>
5376freetype/builds/amiga/src/base/ftdebug.c<br>
5377freetype/builds/amiga/src/base/ftsystem.c<br>
5378freetype/builds/ansi/ansi-def.mk<br>
5379freetype/builds/ansi/ansi.mk<br>
5380freetype/builds/beos/beos-def.mk<br>
5381freetype/builds/beos/beos.mk<br>
5382freetype/builds/beos/detect.mk<br>
5383freetype/builds/cmake/FindHarfBuzz.cmake<br>
5384freetype/builds/cmake/iOS.cmake<br>
5385freetype/builds/cmake/testbuild.sh<br>
5386freetype/builds/compiler/ansi-cc.mk<br>
5387freetype/builds/compiler/bcc-dev.mk<br>
5388freetype/builds/compiler/bcc.mk<br>
5389freetype/builds/compiler/emx.mk<br>
5390freetype/builds/compiler/gcc-dev.mk<br>
5391freetype/builds/compiler/gcc.mk<br>
5392freetype/builds/compiler/intelc.mk<br>
5393freetype/builds/compiler/unix-lcc.mk<br>
5394freetype/builds/compiler/visualage.mk<br>
5395freetype/builds/compiler/visualc.mk<br>
5396freetype/builds/compiler/watcom.mk<br>
5397freetype/builds/compiler/win-lcc.mk<br>
5398freetype/builds/detect.mk<br>
5399freetype/builds/dos/detect.mk<br>
5400freetype/builds/dos/dos-def.mk<br>
5401freetype/builds/dos/dos-emx.mk<br>
5402freetype/builds/dos/dos-gcc.mk<br>
5403freetype/builds/dos/dos-wat.mk<br>
5404freetype/builds/exports.mk<br>
5405freetype/builds/freetype.mk<br>
5406freetype/builds/link_dos.mk<br>
5407freetype/builds/link_std.mk<br>
5408freetype/builds/mac/FreeType.m68k_cfm.make.txt<br>
5409freetype/builds/mac/FreeType.m68k_far.make.txt<br>
5410freetype/builds/mac/FreeType.ppc_carbon.make.txt<br>
5411freetype/builds/mac/FreeType.ppc_classic.make.txt<br>
5412freetype/builds/mac/ftmac.c<br>
5413freetype/builds/modules.mk<br>
5414freetype/builds/newline<br>
5415freetype/builds/os2/detect.mk<br>
5416freetype/builds/os2/os2-def.mk<br>
5417freetype/builds/os2/os2-dev.mk<br>
5418freetype/builds/os2/os2-gcc.mk<br>
5419freetype/builds/symbian/bld.inf<br>
5420freetype/builds/symbian/freetype.mmp<br>
5421freetype/builds/toplevel.mk<br>
5422freetype/builds/unix/aclocal.m4<br>
5423freetype/builds/unix/config.guess<br>
5424freetype/builds/unix/config.sub<br>
5425freetype/builds/unix/configure<br>
5426freetype/builds/unix/configure.ac<br>
5427freetype/builds/unix/configure.raw<br>
5428freetype/builds/unix/detect.mk<br>
5429freetype/builds/unix/freetype-config.in<br>
5430freetype/builds/unix/freetype2.in<br>
5431freetype/builds/unix/freetype2.m4<br>
5432freetype/builds/unix/ft-munmap.m4<br>
5433freetype/builds/unix/ftconfig.in<br>
5434freetype/builds/unix/ftsystem.c<br>
5435freetype/builds/unix/install.mk<br>
5436freetype/builds/unix/pkg.m4<br>
5437freetype/builds/unix/unix-cc.in<br>
5438freetype/builds/unix/unix-def.in<br>
5439freetype/builds/unix/unix-dev.mk<br>
5440freetype/builds/unix/unix-lcc.mk<br>
5441freetype/builds/unix/unix.mk<br>
5442freetype/builds/unix/unixddef.mk<br>
5443freetype/builds/vms/ftconfig.h<br>
5444freetype/builds/vms/ftsystem.c<br>
5445freetype/builds/wince/ftdebug.c<br>
5446freetype/builds/wince/vc2005-ce/freetype.vcproj<br>
5447freetype/builds/wince/vc2005-ce/index.html<br>
5448freetype/builds/wince/vc2008-ce/freetype.vcproj<br>
5449freetype/builds/wince/vc2008-ce/index.html<br>
5450freetype/builds/windows/detect.mk<br>
5451freetype/builds/windows/ftdebug.c<br>
5452freetype/builds/windows/vc2005/freetype.vcproj<br>
5453freetype/builds/windows/vc2005/index.html<br>
5454freetype/builds/windows/vc2008/freetype.vcproj<br>
5455freetype/builds/windows/vc2008/index.html<br>
5456freetype/builds/windows/vc2010/freetype.sln<br>
5457freetype/builds/windows/vc2010/freetype.vcxproj<br>
5458freetype/builds/windows/vc2010/freetype.vcxproj.filters<br>
5459freetype/builds/windows/vc2010/index.html<br>
5460freetype/builds/windows/visualc/freetype.dsp<br>
5461freetype/builds/windows/visualc/freetype.vcproj<br>
5462freetype/builds/windows/visualc/index.html<br>
5463freetype/builds/windows/visualce/freetype.dsp<br>
5464freetype/builds/windows/visualce/freetype.vcproj<br>
5465freetype/builds/windows/visualce/index.html<br>
5466freetype/builds/windows/w32-bcc.mk<br>
5467freetype/builds/windows/w32-bccd.mk<br>
5468freetype/builds/windows/w32-dev.mk<br>
5469freetype/builds/windows/w32-gcc.mk<br>
5470freetype/builds/windows/w32-icc.mk<br>
5471freetype/builds/windows/w32-intl.mk<br>
5472freetype/builds/windows/w32-lcc.mk<br>
5473freetype/builds/windows/w32-mingw32.mk<br>
5474freetype/builds/windows/w32-vcc.mk<br>
5475freetype/builds/windows/w32-wat.mk<br>
5476freetype/builds/windows/win32-def.mk<br>
5477freetype/configure<br>
5478freetype/devel/ft2build.h<br>
5479freetype/devel/ftoption.h<br>
5480freetype/docs/CHANGES<br>
5481freetype/docs/CUSTOMIZE<br>
5482freetype/docs/DEBUG<br>
5483freetype/docs/FTL.TXT<br>
5484freetype/docs/INSTALL<br>
5485freetype/docs/INSTALL.ANY<br>
5486freetype/docs/INSTALL.CROSS<br>
5487freetype/docs/INSTALL.GNU<br>
5488freetype/docs/INSTALL.MAC<br>
5489freetype/docs/INSTALL.UNIX<br>
5490freetype/docs/INSTALL.VMS<br>
5491freetype/docs/MAKEPP<br>
5492freetype/docs/TODO<br>
5493freetype/docs/VERSIONS.TXT<br>
5494freetype/docs/formats.txt<br>
5495freetype/docs/freetype-config.1<br>
5496freetype/docs/raster.txt<br>
5497freetype/docs/reference/ft2-auto_hinter.html<br>
5498freetype/docs/reference/ft2-base_interface.html<br>
5499freetype/docs/reference/ft2-basic_types.html<br>
5500freetype/docs/reference/ft2-bdf_fonts.html<br>
5501freetype/docs/reference/ft2-bitmap_handling.html<br>
5502freetype/docs/reference/ft2-bzip2.html<br>
5503freetype/docs/reference/ft2-cache_subsystem.html<br>
5504freetype/docs/reference/ft2-cff_driver.html<br>
5505freetype/docs/reference/ft2-cid_fonts.html<br>
5506freetype/docs/reference/ft2-computations.html<br>
5507freetype/docs/reference/ft2-error_code_values.html<br>
5508freetype/docs/reference/ft2-error_enumerations.html<br>
5509freetype/docs/reference/ft2-font_formats.html<br>
5510freetype/docs/reference/ft2-gasp_table.html<br>
5511freetype/docs/reference/ft2-glyph_management.html<br>
5512freetype/docs/reference/ft2-glyph_stroker.html<br>
5513freetype/docs/reference/ft2-glyph_variants.html<br>
5514freetype/docs/reference/ft2-gx_validation.html<br>
5515freetype/docs/reference/ft2-gzip.html<br>
5516freetype/docs/reference/ft2-header_file_macros.html<br>
5517freetype/docs/reference/ft2-header_inclusion.html<br>
5518freetype/docs/reference/ft2-incremental.html<br>
5519freetype/docs/reference/ft2-index.html<br>
5520freetype/docs/reference/ft2-lcd_filtering.html<br>
5521freetype/docs/reference/ft2-list_processing.html<br>
5522freetype/docs/reference/ft2-lzw.html<br>
5523freetype/docs/reference/ft2-mac_specific.html<br>
5524freetype/docs/reference/ft2-module_management.html<br>
5525freetype/docs/reference/ft2-multiple_masters.html<br>
5526freetype/docs/reference/ft2-ot_validation.html<br>
5527freetype/docs/reference/ft2-outline_processing.html<br>
5528freetype/docs/reference/ft2-parameter_tags.html<br>
5529freetype/docs/reference/ft2-pcf_driver.html<br>
5530freetype/docs/reference/ft2-pfr_fonts.html<br>
5531freetype/docs/reference/ft2-properties.html<br>
5532freetype/docs/reference/ft2-quick_advance.html<br>
5533freetype/docs/reference/ft2-raster.html<br>
5534freetype/docs/reference/ft2-sfnt_names.html<br>
5535freetype/docs/reference/ft2-sizes_management.html<br>
5536freetype/docs/reference/ft2-system_interface.html<br>
5537freetype/docs/reference/ft2-t1_cid_driver.html<br>
5538freetype/docs/reference/ft2-toc.html<br>
5539freetype/docs/reference/ft2-truetype_engine.html<br>
5540freetype/docs/reference/ft2-truetype_tables.html<br>
5541freetype/docs/reference/ft2-tt_driver.html<br>
5542freetype/docs/reference/ft2-type1_tables.html<br>
5543freetype/docs/reference/ft2-user_allocation.html<br>
5544freetype/docs/reference/ft2-version.html<br>
5545freetype/docs/reference/ft2-winfnt_fonts.html<br>
5546freetype/docs/release<br>
5547freetype/include/freetype/config/ftconfig.h<br>
5548freetype/include/freetype/config/ftheader.h<br>
5549freetype/include/freetype/config/ftoption.h<br>
5550freetype/include/freetype/config/ftstdlib.h<br>
5551freetype/include/freetype/freetype.h<br>
5552freetype/include/freetype/ftadvanc.h<br>
5553freetype/include/freetype/ftautoh.h<br>
5554freetype/include/freetype/ftbbox.h<br>
5555freetype/include/freetype/ftbdf.h<br>
5556freetype/include/freetype/ftbitmap.h<br>
5557freetype/include/freetype/ftbzip2.h<br>
5558freetype/include/freetype/ftcache.h<br>
5559freetype/include/freetype/ftcffdrv.h<br>
5560freetype/include/freetype/ftchapters.h<br>
5561freetype/include/freetype/ftcid.h<br>
5562freetype/include/freetype/ftdriver.h<br>
5563freetype/include/freetype/fterrdef.h<br>
5564freetype/include/freetype/fterrors.h<br>
5565freetype/include/freetype/ftfntfmt.h<br>
5566freetype/include/freetype/ftgasp.h<br>
5567freetype/include/freetype/ftglyph.h<br>
5568freetype/include/freetype/ftgxval.h<br>
5569freetype/include/freetype/ftgzip.h<br>
5570freetype/include/freetype/ftimage.h<br>
5571freetype/include/freetype/ftincrem.h<br>
5572freetype/include/freetype/ftlcdfil.h<br>
5573freetype/include/freetype/ftlist.h<br>
5574freetype/include/freetype/ftlzw.h<br>
5575freetype/include/freetype/ftmac.h<br>
5576freetype/include/freetype/ftmm.h<br>
5577freetype/include/freetype/ftmodapi.h<br>
5578freetype/include/freetype/ftmoderr.h<br>
5579freetype/include/freetype/ftotval.h<br>
5580freetype/include/freetype/ftoutln.h<br>
5581freetype/include/freetype/ftparams.h<br>
5582freetype/include/freetype/ftpfr.h<br>
5583freetype/include/freetype/ftrender.h<br>
5584freetype/include/freetype/ftsizes.h<br>
5585freetype/include/freetype/ftsnames.h<br>
5586freetype/include/freetype/ftstroke.h<br>
5587freetype/include/freetype/ftsynth.h<br>
5588freetype/include/freetype/ftsystem.h<br>
5589freetype/include/freetype/fttrigon.h<br>
5590freetype/include/freetype/ftttdrv.h<br>
5591freetype/include/freetype/fttypes.h<br>
5592freetype/include/freetype/ftwinfnt.h<br>
5593freetype/include/freetype/internal/autohint.h<br>
5594freetype/include/freetype/internal/cffotypes.h<br>
5595freetype/include/freetype/internal/cfftypes.h<br>
5596freetype/include/freetype/internal/ftcalc.h<br>
5597freetype/include/freetype/internal/ftdebug.h<br>
5598freetype/include/freetype/internal/ftdrv.h<br>
5599freetype/include/freetype/internal/ftgloadr.h<br>
5600freetype/include/freetype/internal/ftmemory.h<br>
5601freetype/include/freetype/internal/ftobjs.h<br>
5602freetype/include/freetype/internal/ftpic.h<br>
5603freetype/include/freetype/internal/ftpsprop.h<br>
5604freetype/include/freetype/internal/ftrfork.h<br>
5605freetype/include/freetype/internal/ftserv.h<br>
5606freetype/include/freetype/internal/ftstream.h<br>
5607freetype/include/freetype/internal/fttrace.h<br>
5608freetype/include/freetype/internal/ftvalid.h<br>
5609freetype/include/freetype/internal/internal.h<br>
5610freetype/include/freetype/internal/psaux.h<br>
5611freetype/include/freetype/internal/pshints.h<br>
5612freetype/include/freetype/internal/services/svbdf.h<br>
5613freetype/include/freetype/internal/services/svcfftl.h<br>
5614freetype/include/freetype/internal/services/svcid.h<br>
5615freetype/include/freetype/internal/services/svfntfmt.h<br>
5616freetype/include/freetype/internal/services/svgldict.h<br>
5617freetype/include/freetype/internal/services/svgxval.h<br>
5618freetype/include/freetype/internal/services/svkern.h<br>
5619freetype/include/freetype/internal/services/svmetric.h<br>
5620freetype/include/freetype/internal/services/svmm.h<br>
5621freetype/include/freetype/internal/services/svotval.h<br>
5622freetype/include/freetype/internal/services/svpfr.h<br>
5623freetype/include/freetype/internal/services/svpostnm.h<br>
5624freetype/include/freetype/internal/services/svprop.h<br>
5625freetype/include/freetype/internal/services/svpscmap.h<br>
5626freetype/include/freetype/internal/services/svpsinfo.h<br>
5627freetype/include/freetype/internal/services/svsfnt.h<br>
5628freetype/include/freetype/internal/services/svttcmap.h<br>
5629freetype/include/freetype/internal/services/svtteng.h<br>
5630freetype/include/freetype/internal/services/svttglyf.h<br>
5631freetype/include/freetype/internal/services/svwinfnt.h<br>
5632freetype/include/freetype/internal/sfnt.h<br>
5633freetype/include/freetype/internal/t1types.h<br>
5634freetype/include/freetype/internal/tttypes.h<br>
5635freetype/include/freetype/t1tables.h<br>
5636freetype/include/freetype/ttnameid.h<br>
5637freetype/include/freetype/tttables.h<br>
5638freetype/include/freetype/tttags.h<br>
5639freetype/include/freetype/ttunpat.h<br>
5640freetype/include/ft2build.h<br>
5641freetype/modules.cfg<br>
5642freetype/src/Jamfile<br>
5643freetype/src/autofit/Jamfile<br>
5644freetype/src/autofit/afangles.c<br>
5645freetype/src/autofit/afblue.c<br>
5646freetype/src/autofit/afblue.cin<br>
5647freetype/src/autofit/afblue.dat<br>
5648freetype/src/autofit/afblue.h<br>
5649freetype/src/autofit/afblue.hin<br>
5650freetype/src/autofit/afcjk.c<br>
5651freetype/src/autofit/afcjk.h<br>
5652freetype/src/autofit/afcover.h<br>
5653freetype/src/autofit/afdummy.c<br>
5654freetype/src/autofit/afdummy.h<br>
5655freetype/src/autofit/aferrors.h<br>
5656freetype/src/autofit/afglobal.c<br>
5657freetype/src/autofit/afglobal.h<br>
5658freetype/src/autofit/afhints.c<br>
5659freetype/src/autofit/afhints.h<br>
5660freetype/src/autofit/afindic.c<br>
5661freetype/src/autofit/afindic.h<br>
5662freetype/src/autofit/aflatin.c<br>
5663freetype/src/autofit/aflatin.h<br>
5664freetype/src/autofit/aflatin2.c<br>
5665freetype/src/autofit/aflatin2.h<br>
5666freetype/src/autofit/afloader.c<br>
5667freetype/src/autofit/afloader.h<br>
5668freetype/src/autofit/afmodule.c<br>
5669freetype/src/autofit/afmodule.h<br>
5670freetype/src/autofit/afpic.c<br>
5671freetype/src/autofit/afpic.h<br>
5672freetype/src/autofit/afranges.c<br>
5673freetype/src/autofit/afranges.h<br>
5674freetype/src/autofit/afscript.h<br>
5675freetype/src/autofit/afshaper.c<br>
5676freetype/src/autofit/afshaper.h<br>
5677freetype/src/autofit/afstyles.h<br>
5678freetype/src/autofit/aftypes.h<br>
5679freetype/src/autofit/afwarp.c<br>
5680freetype/src/autofit/afwarp.h<br>
5681freetype/src/autofit/afwrtsys.h<br>
5682freetype/src/autofit/autofit.c<br>
5683freetype/src/autofit/module.mk<br>
5684freetype/src/autofit/rules.mk<br>
5685freetype/src/base/Jamfile<br>
5686freetype/src/base/basepic.c<br>
5687freetype/src/base/basepic.h<br>
5688freetype/src/base/ftadvanc.c<br>
5689freetype/src/base/ftapi.c<br>
5690freetype/src/base/ftbase.c<br>
5691freetype/src/base/ftbase.h<br>
5692freetype/src/base/ftbbox.c<br>
5693freetype/src/base/ftbdf.c<br>
5694freetype/src/base/ftbitmap.c<br>
5695freetype/src/base/ftcalc.c<br>
5696freetype/src/base/ftcid.c<br>
5697freetype/src/base/ftdbgmem.c<br>
5698freetype/src/base/ftdebug.c<br>
5699freetype/src/base/ftfntfmt.c<br>
5700freetype/src/base/ftfstype.c<br>
5701freetype/src/base/ftgasp.c<br>
5702freetype/src/base/ftgloadr.c<br>
5703freetype/src/base/ftglyph.c<br>
5704freetype/src/base/ftgxval.c<br>
5705freetype/src/base/ftinit.c<br>
5706freetype/src/base/ftlcdfil.c<br>
5707freetype/src/base/ftmac.c<br>
5708freetype/src/base/ftmm.c<br>
5709freetype/src/base/ftobjs.c<br>
5710freetype/src/base/ftotval.c<br>
5711freetype/src/base/ftoutln.c<br>
5712freetype/src/base/ftpatent.c<br>
5713freetype/src/base/ftpfr.c<br>
5714freetype/src/base/ftpic.c<br>
5715freetype/src/base/ftpsprop.c<br>
5716freetype/src/base/ftrfork.c<br>
5717freetype/src/base/ftsnames.c<br>
5718freetype/src/base/ftstream.c<br>
5719freetype/src/base/ftstroke.c<br>
5720freetype/src/base/ftsynth.c<br>
5721freetype/src/base/ftsystem.c<br>
5722freetype/src/base/fttrigon.c<br>
5723freetype/src/base/fttype1.c<br>
5724freetype/src/base/ftutil.c<br>
5725freetype/src/base/ftver.rc<br>
5726freetype/src/base/ftwinfnt.c<br>
5727freetype/src/base/rules.mk<br>
5728freetype/src/bdf/Jamfile<br>
5729freetype/src/bdf/README<br>
5730freetype/src/bdf/bdf.c<br>
5731freetype/src/bdf/bdfdrivr.c<br>
5732freetype/src/bdf/bdflib.c<br>
5733freetype/src/bzip2/Jamfile<br>
5734freetype/src/bzip2/ftbzip2.c<br>
5735freetype/src/bzip2/rules.mk<br>
5736freetype/src/cache/Jamfile<br>
5737freetype/src/cache/ftcache.c<br>
5738freetype/src/cache/ftcbasic.c<br>
5739freetype/src/cache/ftccache.c<br>
5740freetype/src/cache/ftccache.h<br>
5741freetype/src/cache/ftccback.h<br>
5742freetype/src/cache/ftccmap.c<br>
5743freetype/src/cache/ftcerror.h<br>
5744freetype/src/cache/ftcglyph.c<br>
5745freetype/src/cache/ftcglyph.h<br>
5746freetype/src/cache/ftcimage.c<br>
5747freetype/src/cache/ftcimage.h<br>
5748freetype/src/cache/ftcmanag.c<br>
5749freetype/src/cache/ftcmanag.h<br>
5750freetype/src/cache/ftcmru.c<br>
5751freetype/src/cache/ftcmru.h<br>
5752freetype/src/cache/ftcsbits.c<br>
5753freetype/src/cache/ftcsbits.h<br>
5754freetype/src/cache/rules.mk<br>
5755freetype/src/cff/Jamfile<br>
5756freetype/src/cff/cf2intrp.c<br>
5757freetype/src/cff/cff.c<br>
5758freetype/src/cff/cffcmap.c<br>
5759freetype/src/cff/cffcmap.h<br>
5760freetype/src/cff/cffdrivr.c<br>
5761freetype/src/cff/cffdrivr.h<br>
5762freetype/src/cff/cfferrs.h<br>
5763freetype/src/cff/cffgload.c<br>
5764freetype/src/cff/cffgload.h<br>
5765freetype/src/cff/cffload.c<br>
5766freetype/src/cff/cffload.h<br>
5767freetype/src/cff/cffobjs.c<br>
5768freetype/src/cff/cffobjs.h<br>
5769freetype/src/cff/cffparse.c<br>
5770freetype/src/cff/cffparse.h<br>
5771freetype/src/cff/cffpic.c<br>
5772freetype/src/cff/cffpic.h<br>
5773freetype/src/cff/cfftoken.h<br>
5774freetype/src/cff/module.mk<br>
5775freetype/src/cff/rules.mk<br>
5776freetype/src/cid/Jamfile<br>
5777freetype/src/cid/ciderrs.h<br>
5778freetype/src/cid/cidgload.c<br>
5779freetype/src/cid/cidgload.h<br>
5780freetype/src/cid/cidload.c<br>
5781freetype/src/cid/cidload.h<br>
5782freetype/src/cid/cidobjs.c<br>
5783freetype/src/cid/cidobjs.h<br>
5784freetype/src/cid/cidparse.c<br>
5785freetype/src/cid/cidparse.h<br>
5786freetype/src/cid/cidriver.c<br>
5787freetype/src/cid/cidriver.h<br>
5788freetype/src/cid/cidtoken.h<br>
5789freetype/src/cid/module.mk<br>
5790freetype/src/cid/rules.mk<br>
5791freetype/src/cid/type1cid.c<br>
5792freetype/src/gxvalid/Jamfile<br>
5793freetype/src/gxvalid/README<br>
5794freetype/src/gxvalid/gxvalid.c<br>
5795freetype/src/gxvalid/gxvalid.h<br>
5796freetype/src/gxvalid/gxvbsln.c<br>
5797freetype/src/gxvalid/gxvcommn.c<br>
5798freetype/src/gxvalid/gxvcommn.h<br>
5799freetype/src/gxvalid/gxverror.h<br>
5800freetype/src/gxvalid/gxvfeat.c<br>
5801freetype/src/gxvalid/gxvfeat.h<br>
5802freetype/src/gxvalid/gxvfgen.c<br>
5803freetype/src/gxvalid/gxvjust.c<br>
5804freetype/src/gxvalid/gxvkern.c<br>
5805freetype/src/gxvalid/gxvlcar.c<br>
5806freetype/src/gxvalid/gxvmod.c<br>
5807freetype/src/gxvalid/gxvmod.h<br>
5808freetype/src/gxvalid/gxvmort.c<br>
5809freetype/src/gxvalid/gxvmort.h<br>
5810freetype/src/gxvalid/gxvmort0.c<br>
5811freetype/src/gxvalid/gxvmort1.c<br>
5812freetype/src/gxvalid/gxvmort2.c<br>
5813freetype/src/gxvalid/gxvmort4.c<br>
5814freetype/src/gxvalid/gxvmort5.c<br>
5815freetype/src/gxvalid/gxvmorx.c<br>
5816freetype/src/gxvalid/gxvmorx.h<br>
5817freetype/src/gxvalid/gxvmorx0.c<br>
5818freetype/src/gxvalid/gxvmorx1.c<br>
5819freetype/src/gxvalid/gxvmorx2.c<br>
5820freetype/src/gxvalid/gxvmorx4.c<br>
5821freetype/src/gxvalid/gxvmorx5.c<br>
5822freetype/src/gxvalid/gxvopbd.c<br>
5823freetype/src/gxvalid/gxvprop.c<br>
5824freetype/src/gxvalid/gxvtrak.c<br>
5825freetype/src/gxvalid/module.mk<br>
5826freetype/src/gxvalid/rules.mk<br>
5827freetype/src/gzip/Jamfile<br>
5828freetype/src/gzip/ftgzip.c<br>
5829freetype/src/gzip/ftzconf.h<br>
5830freetype/src/gzip/rules.mk<br>
5831freetype/src/gzip/zlib.h<br>
5832freetype/src/lzw/Jamfile<br>
5833freetype/src/lzw/ftlzw.c<br>
5834freetype/src/lzw/ftzopen.c<br>
5835freetype/src/lzw/ftzopen.h<br>
5836freetype/src/lzw/rules.mk<br>
5837freetype/src/otvalid/Jamfile<br>
5838freetype/src/otvalid/module.mk<br>
5839freetype/src/otvalid/otvalid.c<br>
5840freetype/src/otvalid/otvalid.h<br>
5841freetype/src/otvalid/otvbase.c<br>
5842freetype/src/otvalid/otvcommn.c<br>
5843freetype/src/otvalid/otvcommn.h<br>
5844freetype/src/otvalid/otverror.h<br>
5845freetype/src/otvalid/otvgdef.c<br>
5846freetype/src/otvalid/otvgpos.c<br>
5847freetype/src/otvalid/otvgpos.h<br>
5848freetype/src/otvalid/otvgsub.c<br>
5849freetype/src/otvalid/otvjstf.c<br>
5850freetype/src/otvalid/otvmath.c<br>
5851freetype/src/otvalid/otvmod.c<br>
5852freetype/src/otvalid/otvmod.h<br>
5853freetype/src/otvalid/rules.mk<br>
5854freetype/src/pcf/Jamfile<br>
5855freetype/src/pcf/README<br>
5856freetype/src/pcf/pcf.c<br>
5857freetype/src/pcf/pcf.h<br>
5858freetype/src/pcf/pcfdrivr.c<br>
5859freetype/src/pcf/pcfread.c<br>
5860freetype/src/pfr/Jamfile<br>
5861freetype/src/pfr/module.mk<br>
5862freetype/src/pfr/pfr.c<br>
5863freetype/src/pfr/pfrcmap.c<br>
5864freetype/src/pfr/pfrcmap.h<br>
5865freetype/src/pfr/pfrdrivr.c<br>
5866freetype/src/pfr/pfrdrivr.h<br>
5867freetype/src/pfr/pfrerror.h<br>
5868freetype/src/pfr/pfrgload.c<br>
5869freetype/src/pfr/pfrgload.h<br>
5870freetype/src/pfr/pfrload.c<br>
5871freetype/src/pfr/pfrload.h<br>
5872freetype/src/pfr/pfrobjs.c<br>
5873freetype/src/pfr/pfrobjs.h<br>
5874freetype/src/pfr/pfrsbit.c<br>
5875freetype/src/pfr/pfrsbit.h<br>
5876freetype/src/pfr/pfrtypes.h<br>
5877freetype/src/pfr/rules.mk<br>
5878freetype/src/psaux/Jamfile<br>
5879freetype/src/psaux/afmparse.c<br>
5880freetype/src/psaux/afmparse.h<br>
5881freetype/src/psaux/cffdecode.c<br>
5882freetype/src/psaux/cffdecode.h<br>
5883freetype/src/psaux/module.mk<br>
5884freetype/src/psaux/psarrst.c<br>
5885freetype/src/psaux/psarrst.h<br>
5886freetype/src/psaux/psaux.c<br>
5887freetype/src/psaux/psauxerr.h<br>
5888freetype/src/psaux/psauxmod.c<br>
5889freetype/src/psaux/psauxmod.h<br>
5890freetype/src/psaux/psblues.c<br>
5891freetype/src/psaux/psblues.h<br>
5892freetype/src/psaux/psconv.c<br>
5893freetype/src/psaux/psconv.h<br>
5894freetype/src/psaux/pserror.c<br>
5895freetype/src/psaux/pserror.h<br>
5896freetype/src/psaux/psfixed.h<br>
5897freetype/src/psaux/psfont.c<br>
5898freetype/src/psaux/psfont.h<br>
5899freetype/src/psaux/psft.c<br>
5900freetype/src/psaux/psft.h<br>
5901freetype/src/psaux/psglue.h<br>
5902freetype/src/psaux/pshints.c<br>
5903freetype/src/psaux/pshints.h<br>
5904freetype/src/psaux/psintrp.c<br>
5905freetype/src/psaux/psintrp.h<br>
5906freetype/src/psaux/psobjs.c<br>
5907freetype/src/psaux/psobjs.h<br>
5908freetype/src/psaux/psread.c<br>
5909freetype/src/psaux/psread.h<br>
5910freetype/src/psaux/psstack.c<br>
5911freetype/src/psaux/psstack.h<br>
5912freetype/src/psaux/pstypes.h<br>
5913freetype/src/psaux/rules.mk<br>
5914freetype/src/psaux/t1cmap.c<br>
5915freetype/src/psaux/t1cmap.h<br>
5916freetype/src/psaux/t1decode.c<br>
5917freetype/src/psaux/t1decode.h<br>
5918freetype/src/pshinter/Jamfile<br>
5919freetype/src/pshinter/module.mk<br>
5920freetype/src/pshinter/pshalgo.c<br>
5921freetype/src/pshinter/pshalgo.h<br>
5922freetype/src/pshinter/pshglob.c<br>
5923freetype/src/pshinter/pshglob.h<br>
5924freetype/src/pshinter/pshinter.c<br>
5925freetype/src/pshinter/pshmod.c<br>
5926freetype/src/pshinter/pshmod.h<br>
5927freetype/src/pshinter/pshnterr.h<br>
5928freetype/src/pshinter/pshpic.c<br>
5929freetype/src/pshinter/pshpic.h<br>
5930freetype/src/pshinter/pshrec.c<br>
5931freetype/src/pshinter/pshrec.h<br>
5932freetype/src/pshinter/rules.mk<br>
5933freetype/src/psnames/Jamfile<br>
5934freetype/src/psnames/module.mk<br>
5935freetype/src/psnames/psmodule.c<br>
5936freetype/src/psnames/psmodule.h<br>
5937freetype/src/psnames/psnamerr.h<br>
5938freetype/src/psnames/psnames.c<br>
5939freetype/src/psnames/pspic.c<br>
5940freetype/src/psnames/pspic.h<br>
5941freetype/src/psnames/pstables.h<br>
5942freetype/src/psnames/rules.mk<br>
5943freetype/src/raster/Jamfile<br>
5944freetype/src/raster/ftmisc.h<br>
5945freetype/src/raster/ftraster.c<br>
5946freetype/src/raster/ftraster.h<br>
5947freetype/src/raster/ftrend1.c<br>
5948freetype/src/raster/ftrend1.h<br>
5949freetype/src/raster/module.mk<br>
5950freetype/src/raster/raster.c<br>
5951freetype/src/raster/rasterrs.h<br>
5952freetype/src/raster/rastpic.c<br>
5953freetype/src/raster/rastpic.h<br>
5954freetype/src/raster/rules.mk<br>
5955freetype/src/sfnt/Jamfile<br>
5956freetype/src/sfnt/module.mk<br>
5957freetype/src/sfnt/pngshim.c<br>
5958freetype/src/sfnt/pngshim.h<br>
5959freetype/src/sfnt/rules.mk<br>
5960freetype/src/sfnt/sfdriver.c<br>
5961freetype/src/sfnt/sfdriver.h<br>
5962freetype/src/sfnt/sferrors.h<br>
5963freetype/src/sfnt/sfnt.c<br>
5964freetype/src/sfnt/sfntpic.c<br>
5965freetype/src/sfnt/sfntpic.h<br>
5966freetype/src/sfnt/sfobjs.c<br>
5967freetype/src/sfnt/sfobjs.h<br>
5968freetype/src/sfnt/ttbdf.c<br>
5969freetype/src/sfnt/ttbdf.h<br>
5970freetype/src/sfnt/ttcmap.c<br>
5971freetype/src/sfnt/ttcmap.h<br>
5972freetype/src/sfnt/ttcmapc.h<br>
5973freetype/src/sfnt/ttkern.c<br>
5974freetype/src/sfnt/ttkern.h<br>
5975freetype/src/sfnt/ttload.c<br>
5976freetype/src/sfnt/ttload.h<br>
5977freetype/src/sfnt/ttmtx.c<br>
5978freetype/src/sfnt/ttmtx.h<br>
5979freetype/src/sfnt/ttpost.c<br>
5980freetype/src/sfnt/ttpost.h<br>
5981freetype/src/sfnt/ttsbit.c<br>
5982freetype/src/sfnt/ttsbit.h<br>
5983freetype/src/smooth/Jamfile<br>
5984freetype/src/smooth/ftgrays.c<br>
5985freetype/src/smooth/ftgrays.h<br>
5986freetype/src/smooth/ftsmerrs.h<br>
5987freetype/src/smooth/ftsmooth.c<br>
5988freetype/src/smooth/ftsmooth.h<br>
5989freetype/src/smooth/ftspic.c<br>
5990freetype/src/smooth/ftspic.h<br>
5991freetype/src/smooth/module.mk<br>
5992freetype/src/smooth/rules.mk<br>
5993freetype/src/smooth/smooth.c<br>
5994freetype/src/tools/afblue.pl<br>
5995freetype/src/tools/apinames.c<br>
5996freetype/src/tools/docmaker/content.py<br>
5997freetype/src/tools/docmaker/docbeauty.py<br>
5998freetype/src/tools/docmaker/docmaker.py<br>
5999freetype/src/tools/docmaker/formatter.py<br>
6000freetype/src/tools/docmaker/sources.py<br>
6001freetype/src/tools/docmaker/tohtml.py<br>
6002freetype/src/tools/docmaker/utils.py<br>
6003freetype/src/tools/ftfuzzer/README<br>
6004freetype/src/tools/ftfuzzer/ftfuzzer.cc<br>
6005freetype/src/tools/ftfuzzer/ftmutator.cc<br>
6006freetype/src/tools/ftfuzzer/rasterfuzzer.cc<br>
6007freetype/src/tools/ftfuzzer/runinput.cc<br>
6008freetype/src/tools/ftrandom/ftrandom.c<br>
6009freetype/src/tools/glnames.py<br>
6010freetype/src/tools/update-copyright-year<br>
6011freetype/src/truetype/Jamfile<br>
6012freetype/src/truetype/module.mk<br>
6013freetype/src/truetype/rules.mk<br>
6014freetype/src/truetype/truetype.c<br>
6015freetype/src/truetype/ttdriver.c<br>
6016freetype/src/truetype/ttdriver.h<br>
6017freetype/src/truetype/tterrors.h<br>
6018freetype/src/truetype/ttgload.c<br>
6019freetype/src/truetype/ttgload.h<br>
6020freetype/src/truetype/ttgxvar.c<br>
6021freetype/src/truetype/ttgxvar.h<br>
6022freetype/src/truetype/ttinterp.c<br>
6023freetype/src/truetype/ttinterp.h<br>
6024freetype/src/truetype/ttobjs.c<br>
6025freetype/src/truetype/ttobjs.h<br>
6026freetype/src/truetype/ttpic.c<br>
6027freetype/src/truetype/ttpic.h<br>
6028freetype/src/truetype/ttpload.c<br>
6029freetype/src/truetype/ttpload.h<br>
6030freetype/src/truetype/ttsubpix.c<br>
6031freetype/src/truetype/ttsubpix.h<br>
6032freetype/src/type1/Jamfile<br>
6033freetype/src/type1/module.mk<br>
6034freetype/src/type1/rules.mk<br>
6035freetype/src/type1/t1afm.c<br>
6036freetype/src/type1/t1afm.h<br>
6037freetype/src/type1/t1driver.c<br>
6038freetype/src/type1/t1driver.h<br>
6039freetype/src/type1/t1errors.h<br>
6040freetype/src/type1/t1gload.c<br>
6041freetype/src/type1/t1gload.h<br>
6042freetype/src/type1/t1load.c<br>
6043freetype/src/type1/t1load.h<br>
6044freetype/src/type1/t1objs.c<br>
6045freetype/src/type1/t1objs.h<br>
6046freetype/src/type1/t1parse.c<br>
6047freetype/src/type1/t1parse.h<br>
6048freetype/src/type1/t1tokens.h<br>
6049freetype/src/type1/type1.c<br>
6050freetype/src/type42/Jamfile<br>
6051freetype/src/type42/module.mk<br>
6052freetype/src/type42/rules.mk<br>
6053freetype/src/type42/t42drivr.c<br>
6054freetype/src/type42/t42drivr.h<br>
6055freetype/src/type42/t42error.h<br>
6056freetype/src/type42/t42objs.c<br>
6057freetype/src/type42/t42objs.h<br>
6058freetype/src/type42/t42parse.c<br>
6059freetype/src/type42/t42parse.h<br>
6060freetype/src/type42/t42types.h<br>
6061freetype/src/type42/type42.c<br>
6062freetype/src/winfonts/Jamfile<br>
6063freetype/src/winfonts/fnterrs.h<br>
6064freetype/src/winfonts/module.mk<br>
6065freetype/src/winfonts/rules.mk<br>
6066freetype/src/winfonts/winfnt.c<br>
6067freetype/src/winfonts/winfnt.h<br>
6068freetype/vms_make.com<br>
6069<p>
6070</blockquote>
6071<hr>
6072<p><strong>2018-05-16 22:25:06 -0700
6073</strong>
6074<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6075<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ddace435eb99ea1c8a517f4ec94307cfe0743bce">ddace435eb99ea1c8a517f4ec94307cfe0743bce</a>
6076<blockquote>
6077<p>
6078 Fixup msvclib.mak that had seriously bit-rotted.<br>
6079<br>
6080 Mainly pulling macro definition in from msvc.mak and add missing FEATURE_DEVS<br>
6081 and change the default device to ppmraw (more useful than ljet2).<br>
6082<br>
6083base/msvclib.mak<br>
6084<p>
6085</blockquote>
6086<hr>
6087<p><strong>2018-05-16 22:22:46 -0700
6088</strong>
6089<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6090<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eab096dcf3d528c4a533ab1fb0616179dd0ee4e6">eab096dcf3d528c4a533ab1fb0616179dd0ee4e6</a>
6091<blockquote>
6092<p>
6093 Add missing dependency for sicclib (md5 is needed for icc cache hash)<br>
6094<br>
6095base/lib.mak<br>
6096<p>
6097</blockquote>
6098<hr>
6099<p><strong>2018-05-16 13:35:26 -0700
6100</strong>
6101<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6102<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cee69d4f50ff9a860040b8afdeb2cdb65a7252d8">cee69d4f50ff9a860040b8afdeb2cdb65a7252d8</a>
6103<blockquote>
6104<p>
6105 Rename &quot;rand&quot; function to &quot;gs_rand&quot; to avoid name clash on Windows<br>
6106<br>
6107 Apparently (at least with VS 2015) stdlib.h contains a declaration for<br>
6108 &quot;rand&quot; that clashes with the local version.<br>
6109<br>
6110base/gslib.c<br>
6111<p>
6112</blockquote>
6113<hr>
6114<p><strong>2018-05-14 22:33:26 -0700
6115</strong>
6116<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6117<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fc42e417956d4bf3b3b2d7138c550e04f62c3159">fc42e417956d4bf3b3b2d7138c550e04f62c3159</a>
6118<blockquote>
6119<p>
6120 Fix some InterpolateControl issues.<br>
6121<br>
6122 Some devices (such as clist) rely on image-&gt;Interpolate to determine how<br>
6123 to handle the image. Rather than checking dev-&gt;interpolate control there,<br>
6124 and look for other devices that may also need it, do the force in the<br>
6125 gs_image_begin_typed. Also, fix gs_pdf14_device_copy_params to copy the<br>
6126 interpolate_control.<br>
6127<br>
6128base/gdevp14.c<br>
6129base/gsimage.c<br>
6130<p>
6131</blockquote>
6132<hr>
6133<p><strong>2018-05-15 21:36:30 +0100
6134</strong>
6135<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6136<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f90f090c0a5c3e5744d3ec6f0430fbe1a86ac44c">f90f090c0a5c3e5744d3ec6f0430fbe1a86ac44c</a>
6137<blockquote>
6138<p>
6139 Bug 697545 : Prevent SEGV in freetype if running out of memory.<br>
6140<br>
6141 Prevent SEGV when trying to use buffer after memory failure. This patch has<br>
6142 been accepted by the freetype team as commit e0015f7612cf07ff80561475321ce1f98c7c2b88<br>
6143<br>
6144 Error created using :-<br>
6145 MEMENTO_FAILAT=17104 ./membin/gpcl6 -sDEVICE=pbmraw -dMaxBitmap=2000 -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0051<br>
6146<br>
6147freetype/src/autofit/afcjk.c<br>
6148freetype/src/autofit/aflatin.c<br>
6149freetype/src/autofit/afshaper.c<br>
6150<p>
6151</blockquote>
6152<hr>
6153<p><strong>2018-05-09 11:31:38 -0700
6154</strong>
6155<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6156<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=43f429a2508e72d36a3b27671c8d7e43f1bbc591">43f429a2508e72d36a3b27671c8d7e43f1bbc591</a>
6157<blockquote>
6158<p>
6159 Increase the data_size for pattern-clist to 128k (from 32K).<br>
6160<br>
6161 The tile cache is kept in the clist buffer, and there are a few files that<br>
6162 trip over the limit of the number of hash slots with the small data_size,<br>
6163 particularly comparefiles/Bug689851.pdf at 72 dpi. With this file, the clist<br>
6164 size is reduced by about 65%. Other than the pattern-clist, the tile cache<br>
6165 seems to work adequately without needing to delete tiles.<br>
6166<br>
6167 Also this means that more data can be accumulated for image_data before<br>
6168 needing to flush the buffer to the memory_clist storage, which should<br>
6169 improve performance a bit (but pattern-clist is never going to be fast).<br>
6170<br>
6171base/gxpcmap.c<br>
6172<p>
6173</blockquote>
6174<hr>
6175<p><strong>2018-04-26 20:11:31 +0100
6176</strong>
6177<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6178<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9df005ac54c94dc986c3ed94b24d5ecdfe03582b">9df005ac54c94dc986c3ed94b24d5ecdfe03582b</a>
6179<blockquote>
6180<p>
6181 Fix problem with transparency and ROPs.<br>
6182<br>
6183 A comment from 1998 in gdevrop.c indicates that<br>
6184 if we are given a LOP that says &quot;S is transparent&quot;, and<br>
6185 S isn't used, then we should ignore that flag. (Similarly<br>
6186 for T). Tests seem to indicate that this is indeed true<br>
6187 (See page 12 of C425.bin for an example).<br>
6188<br>
6189 Unfortunately, when we start 'folding' LOPs down onto simpler<br>
6190 ones, we can start with a LOP where S (or T) matters, and<br>
6191 end up with one where it looks like it doesn't. As such we<br>
6192 introduce another flag so we can avoid trying to remove<br>
6193 the S/T transparency flags after we have started to fold the<br>
6194 rop down.<br>
6195<br>
6196 We use this in mem_gray8_rgb24_strip_copy_rop, and rop_get_run_op<br>
6197 to ensure we don't throw away transparency by mistake.<br>
6198<br>
6199 For example, in mem_gray8_rgb24_strip_copy_rop when called with<br>
6200 lop=0x2fc, with S as a bitmap where both colors are the same, the<br>
6201 current code spots that S is always 1, and rewrites the rop to be<br>
6202 0xff. This in turn leads to T not being required, so it is ignored,<br>
6203 despite the fact that T should still be consulted for transparency.<br>
6204<br>
6205 (Check that page 12 of C425.bin is still OK!)<br>
6206<br>
6207base/gdevmr8n.c<br>
6208base/gsroprun.c<br>
6209base/gsropt.h<br>
6210<p>
6211</blockquote>
6212<hr>
6213<p><strong>2018-05-10 13:58:34 -0600
6214</strong>
6215<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
6216<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=30aa9aee30bc0324359df1f931efb75c5a2c5dd7">30aa9aee30bc0324359df1f931efb75c5a2c5dd7</a>
6217<blockquote>
6218<p>
6219 Only add the source to the ROP if it isn't already specified.<br>
6220<br>
6221 The previous code unconditionally added the source to the ROP, so any<br>
6222 ROP which contained ~S was changed to S. With the extra logic, the<br>
6223 expression to determine the lop actual paramater was getting<br>
6224 unreadable so it has been split up.<br>
6225<br>
6226base/gxdcolor.c<br>
6227<p>
6228</blockquote>
6229<hr>
6230<p><strong>2018-05-09 17:34:43 +0100
6231</strong>
6232<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6233<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8e31bcbf7214568b09a00683a19f7c4e847618f6">8e31bcbf7214568b09a00683a19f7c4e847618f6</a>
6234<blockquote>
6235<p>
6236 Tweak previous fix to rounding in image code.<br>
6237<br>
6238 Back in September 2016, commit bffe2011e1 went in, entitled &quot;Fix bug<br>
6239 69707. SMask subpixel offset must match image offset.&quot;<br>
6240<br>
6241 In this, an adjustment was applied to the dda to attempt to make it<br>
6242 match the rounding used in the mono case.<br>
6243<br>
6244 This adjustment was made *after* the position of the first edge was<br>
6245 made, rather than after it, resulting in a slight difference to the<br>
6246 size of the first pixel of a run.<br>
6247<br>
6248 This error was spotted when comparing the output of an experimental<br>
6249 optimisation to use memcpy for 1:1 runs of data.<br>
6250<br>
6251base/gxicolor.c<br>
6252<p>
6253</blockquote>
6254<hr>
6255<p><strong>2018-05-08 12:37:07 +0100
6256</strong>
6257<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6258<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f302fbc59b974a167a7a0023ac6f9e89ed27d243">f302fbc59b974a167a7a0023ac6f9e89ed27d243</a>
6259<blockquote>
6260<p>
6261 Honor the single object clump flag when allocating strings<br>
6262<br>
6263 When checking whether a given clump was a candidate to allocate a string,<br>
6264 the code was not checking the flag that marks the clump as being for a<br>
6265 single object. That could lead to the clump being freed (with it's original,<br>
6266 single object content, along with the string) when the string(s) were still<br>
6267 in use.<br>
6268<br>
6269 This is better than resetting the flag since single object clumps are such<br>
6270 for a reason (they implement immovable memory), and we *never* want<br>
6271 immovable memory to become movable<br>
6272<br>
6273base/gsalloc.c<br>
6274<p>
6275</blockquote>
6276<hr>
6277<p><strong>2018-05-05 20:23:13 +0100
6278</strong>
6279<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6280<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e1652d0b73989b77a914f6a0de58ec6f53fc8e01">e1652d0b73989b77a914f6a0de58ec6f53fc8e01</a>
6281<blockquote>
6282<p>
6283 Bug 697545 : Prevent SEGV after gs_stroke.<br>
6284<br>
6285 Prevent SEGV if memory allocation fails.<br>
6286<br>
6287 Error created using :-<br>
6288 MEMENTO_FAILAT=9971 ./membin/gpcl6 -sDEVICE=pbmraw -dMaxBitmap=2000 -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0010<br>
6289<br>
6290base/gspaint.c<br>
6291<p>
6292</blockquote>
6293<hr>
6294<p><strong>2018-05-05 22:49:20 +0100
6295</strong>
6296<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6297<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=93d78c6299905fe0a192840015f71820772be95c">93d78c6299905fe0a192840015f71820772be95c</a>
6298<blockquote>
6299<p>
6300 Bug 697545 : Fix memory leak in gx_image_enum_begin.<br>
6301<br>
6302 Fix memory leak due to buffer not being freed on error.<br>
6303<br>
6304 Error created using :-<br>
6305 MEMENTO_FAILAT=10035 ./membin/gpcl6 -sDEVICE=pbmraw -dMaxBitmap=2000 -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0010<br>
6306<br>
6307base/gxipixel.c<br>
6308<p>
6309</blockquote>
6310<hr>
6311<p><strong>2018-05-05 21:28:41 +0100
6312</strong>
6313<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6314<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2b2fef0e97c148795af8c4c08b261f2807f1ba52">2b2fef0e97c148795af8c4c08b261f2807f1ba52</a>
6315<blockquote>
6316<p>
6317 Bug 697545 : Prevent SEGV after fill_with_rule.<br>
6318<br>
6319 Prevent SEGV if memory allocation fails.<br>
6320<br>
6321 Error created using :-<br>
6322 MEMENTO_FAILAT=9999 ./membin/gpcl6 -sDEVICE=pbmraw -dMaxBitmap=2000 -o /dev/null ./tests_private/pcl/pcl5cfts/fts.0010<br>
6323<br>
6324base/gspaint.c<br>
6325<p>
6326</blockquote>
6327<hr>
6328<p><strong>2018-05-04 19:31:59 +0100
6329</strong>
6330<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6331<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9e8ef6c2f2086adbf784ddbe71fe2799afc4002b">9e8ef6c2f2086adbf784ddbe71fe2799afc4002b</a>
6332<blockquote>
6333<p>
6334 Fix image skip logic (again).<br>
6335<br>
6336 The device to be used is not penum-&gt;dev, that'd be far too sensible!<br>
6337<br>
6338 Pass in the actual device to be used.<br>
6339<br>
6340base/gxidata.c<br>
6341base/gximage.h<br>
6342<p>
6343</blockquote>
6344<hr>
6345<p><strong>2018-05-03 22:31:31 +0100
6346</strong>
6347<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6348<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7fa6e4a640857f6cfb1d520e65376c0304594980">7fa6e4a640857f6cfb1d520e65376c0304594980</a>
6349<blockquote>
6350<p>
6351 Bug 697545 : Fix memory leak in gx_gstate_dev_ht_install.<br>
6352<br>
6353 Fix memory leak due to cache not being freed on error.<br>
6354<br>
6355 Error created using :-<br>
6356 MEMENTO_FAILAT=10111 ./membin/gpcl6 -sDEVICE=pbmraw -dMaxBitmap=2000 -o /dev/null ./pcl/examples/owl.pcl<br>
6357<br>
6358base/gsht.c<br>
6359<p>
6360</blockquote>
6361<hr>
6362<p><strong>2018-05-03 12:00:11 -0700
6363</strong>
6364<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6365<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9df84425aab2009f6335d57b5c19da2ac49294c4">9df84425aab2009f6335d57b5c19da2ac49294c4</a>
6366<blockquote>
6367<p>
6368 Clean up some left over RECT_RECOVER code, delete band_code from state<br>
6369<br>
6370base/gxcldev.h<br>
6371base/gxclimag.c<br>
6372base/gxclrect.c<br>
6373<p>
6374</blockquote>
6375<hr>
6376<p><strong>2018-05-02 08:34:52 -0700
6377</strong>
6378<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6379<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fe6b6679bced0f6f9b617e72278c538da8386b5c">fe6b6679bced0f6f9b617e72278c538da8386b5c</a>
6380<blockquote>
6381<p>
6382 Remove unused clist command definitions, document unused code values.<br>
6383<br>
6384 In preparation for upcoming clist changes for tiles, do some clean up of<br>
6385 the definitions and document unused command codes. Note that there are<br>
6386 still commands with flag bits where there are unused bits when certain<br>
6387 flags are set, e.g. copy_mono_planes, low 3 bits unused if copy_use_tile<br>
6388 is set, but using these code combinations would need changes in the<br>
6389 clist_playback_band reader.<br>
6390<br>
6391base/gxcldev.h<br>
6392base/gxclimag.c<br>
6393base/gxclpath.h<br>
6394base/gxclrast.c<br>
6395<p>
6396</blockquote>
6397<hr>
6398<p><strong>2018-05-03 18:49:03 +0100
6399</strong>
6400<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6401<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a080da17f4d060b4e23d85b35989df92bb4bf76c">a080da17f4d060b4e23d85b35989df92bb4bf76c</a>
6402<blockquote>
6403<p>
6404 Remove outdated comment.<br>
6405<br>
6406base/gxicolor.c<br>
6407<p>
6408</blockquote>
6409<hr>
6410<p><strong>2018-05-03 11:51:22 +0100
6411</strong>
6412<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6413<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=23de52cfaf6e263dde824bd7be0b8d9d1d2cd053">23de52cfaf6e263dde824bd7be0b8d9d1d2cd053</a>
6414<blockquote>
6415<p>
6416 Fix quirk in image enumerator creation routines.<br>
6417<br>
6418 When we start an image, the image code runs through the handlers<br>
6419 for different types of image until it finds one that can handle<br>
6420 the required type.<br>
6421<br>
6422 These handlers are queried with the current device in as penum-&gt;dev.<br>
6423<br>
6424 The image code then sets up any clip or rop device on top of this<br>
6425 device.<br>
6426<br>
6427 If the handlers were to call device functions, they would be in<br>
6428 the somewhat odd position of calling a different device in the setup<br>
6429 phase than they would be calling in the processing phase. This<br>
6430 upsets a forthcoming commit.<br>
6431<br>
6432 The fix is to ensure that any clip and rop devices are setup BEFORE<br>
6433 the image handlers are called.<br>
6434<br>
6435base/gxipixel.c<br>
6436<p>
6437</blockquote>
6438<hr>
6439<p><strong>2018-04-29 10:28:48 +0100
6440</strong>
6441<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6442<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7b4ad6025f0576e2adb971230a9a2dfb62335a13">7b4ad6025f0576e2adb971230a9a2dfb62335a13</a>
6443<blockquote>
6444<p>
6445 Update doc/thirdparty.htm<br>
6446<br>
6447doc/thirdparty.htm<br>
6448<p>
6449</blockquote>
6450<hr>
6451<p><strong>2018-04-25 14:22:03 +0100
6452</strong>
6453<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6454<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f7bfa8db8f1407f70253667d832f3b219b434559">f7bfa8db8f1407f70253667d832f3b219b434559</a>
6455<blockquote>
6456<p>
6457 Fix source + texture both data in mem_gray8_rgb24_strip_copy_rop.<br>
6458<br>
6459 Using rop rather than lop means transparency was broken in the<br>
6460 (unusual) source + texture both being data based case.<br>
6461<br>
6462 Also, we were failing to update the source pointer, causing odd<br>
6463 repeats in output.<br>
6464<br>
6465base/gdevmr8n.c<br>
6466<p>
6467</blockquote>
6468<hr>
6469<p><strong>2018-04-27 07:52:52 -0600
6470</strong>
6471<br>Henry Stiles &lt;henry.stiles@artifex.com&gt;<br>
6472<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2fd21f767d9b4065fd4f3ef1319ad6dbee8a2ffd">2fd21f767d9b4065fd4f3ef1319ad6dbee8a2ffd</a>
6473<blockquote>
6474<p>
6475 Change ownership of jbig2 to Sebastian.<br>
6476<br>
6477doc/who_owns_what.txt<br>
6478<p>
6479</blockquote>
6480<hr>
6481<p><strong>2018-04-27 11:27:44 +0100
6482</strong>
6483<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
6484<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5ff675bcb1ce0a1349a81c4c2dbfde20769616fa">5ff675bcb1ce0a1349a81c4c2dbfde20769616fa</a>
6485<blockquote>
6486<p>
6487 pdf_info.ps - report if a PDF file uses XFA forms<br>
6488<br>
6489toolbin/pdf_info.ps<br>
6490<p>
6491</blockquote>
6492<hr>
6493<p><strong>2018-04-26 19:01:44 +0100
6494</strong>
6495<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6496<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=133d0c54ba05f887f67c441ceda59f49cf563902">133d0c54ba05f887f67c441ceda59f49cf563902</a>
6497<blockquote>
6498<p>
6499 Bug 697545 : Fix memory leak in clist_open.<br>
6500<br>
6501 Fix memory leak due to cache not being freed on error.<br>
6502<br>
6503 Error created using :-<br>
6504 MEMENTO_FAILAT=1835 ./membin/gpcl6 -sDEVICE=pbmraw -sDEVICE=pbmraw -o /dev/null ./pcl/examples/owl.pcl<br>
6505<br>
6506base/gxclist.c<br>
6507<p>
6508</blockquote>
6509<hr>
6510<p><strong>2018-04-25 09:55:51 -0700
6511</strong>
6512<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6513<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4609498d02a91f954636124d5f5699794ffac48a">4609498d02a91f954636124d5f5699794ffac48a</a>
6514<blockquote>
6515<p>
6516 Fix bug 697671: Banding/Page mode mismatch<br>
6517<br>
6518 The simplified case had a character (copy_mono) followed by a rect<br>
6519 fill.<br>
6520<br>
6521 The copy_mono for the character sets the rect.height clamped to the<br>
6522 &quot;cropping_max&quot; (dev-&gt;height) for the band in the writer, but it doesn't<br>
6523 actually write the height to the clist for that band. Then the reader<br>
6524 was using the entire bitmap height, but that went past the end of the<br>
6525 device, so the next time the state.rect.height was used in the reader,<br>
6526 it was wrong.<br>
6527<br>
6528base/gxclrast.c<br>
6529<p>
6530</blockquote>
6531<hr>
6532<p><strong>2018-04-25 20:26:43 +0100
6533</strong>
6534<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6535<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bf9c9faf78caacc7e90faf04b50611153a64d014">bf9c9faf78caacc7e90faf04b50611153a64d014</a>
6536<blockquote>
6537<p>
6538 Update clusterpush.pl to allow for larger files.<br>
6539<br>
6540toolbin/localcluster/clusterpush.pl<br>
6541<p>
6542</blockquote>
6543<hr>
6544<p><strong>2018-04-24 16:00:31 +0100
6545</strong>
6546<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6547<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8197eaf98c552991a0b7f8068ff3fcce56c07803">8197eaf98c552991a0b7f8068ff3fcce56c07803</a>
6548<blockquote>
6549<p>
6550 Bug 699201: Fix alignment of rendering bands memory<br>
6551<br>
6552 The bottom section of the &quot;raster buffer&quot;, when rendering through the page<br>
6553 clist, is reserved as a cache (tile cache, to be specific). Hence to bottom<br>
6554 address of the memory we actually render into starts immediately after the<br>
6555 cache.<br>
6556<br>
6557 No account was taken when setting up that cache size of the alignment expected<br>
6558 by the rendering code.<br>
6559<br>
6560 We'll now ensure that the the cache ends, and the raster band memory starts<br>
6561 on an appropriately aligned address.<br>
6562<br>
6563base/gxclist.c<br>
6564<p>
6565</blockquote>
6566<hr>
6567<p><strong>2018-04-24 15:22:15 +0100
6568</strong>
6569<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6570<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=610862e06b739430a2994dc4a0c399fa21900521">610862e06b739430a2994dc4a0c399fa21900521</a>
6571<blockquote>
6572<p>
6573 Tweak MSVC Profile build settings.<br>
6574<br>
6575 While attempting to debug an unrelated issue, I found a note on<br>
6576 an MSVC forum from an MS developer suggesting that we should use<br>
6577 /Profile rather than /PROFILE or /profile as the flags. They<br>
6578 *should* do the same thing, but the suggestion is that there<br>
6579 might be a bug in the MS linker.<br>
6580<br>
6581 Committing this here as it certainly doesn't hurt, and might save<br>
6582 someone hours in future.<br>
6583<br>
6584psi/msvc.mak<br>
6585<p>
6586</blockquote>
6587<hr>
6588<p><strong>2018-04-24 11:57:28 +0100
6589</strong>
6590<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6591<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0be413a3f3a24c3d55062273cd37e8fcac7c0c4f">0be413a3f3a24c3d55062273cd37e8fcac7c0c4f</a>
6592<blockquote>
6593<p>
6594 Fix mem_gray8_rgb24_strip_copy_rop.<br>
6595<br>
6596 A couple of cases in this routine were failing to increment<br>
6597 the destination pointer after writing. I guess this shows<br>
6598 that a couple of cases are rarely used for partial scanlines.<br>
6599<br>
6600base/gdevmr8n.c<br>
6601<p>
6602</blockquote>
6603<hr>
6604<p><strong>2018-04-20 23:50:59 +0100
6605</strong>
6606<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6607<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c56b2c2d72ef86f3e45882dd5b35a772ce79e8f9">c56b2c2d72ef86f3e45882dd5b35a772ce79e8f9</a>
6608<blockquote>
6609<p>
6610 Avoid 'const' warning.<br>
6611<br>
6612base/gxi12bit.c<br>
6613<p>
6614</blockquote>
6615<hr>
6616<p><strong>2018-04-20 14:45:52 +0100
6617</strong>
6618<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6619<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7657398e7574f4a54eb35ea757a7c3037fe7c0e5">7657398e7574f4a54eb35ea757a7c3037fe7c0e5</a>
6620<blockquote>
6621<p>
6622 Further simplification to image_render_icc_... functions.<br>
6623<br>
6624 Avoid needless alternations in the middle of the loop in<br>
6625 exchange for a single function call.<br>
6626<br>
6627base/gxcmap.c<br>
6628base/gxcmap.h<br>
6629base/gxi12bit.c<br>
6630base/gxicolor.c<br>
6631<p>
6632</blockquote>
6633<hr>
6634<p><strong>2018-04-20 18:10:12 +0100
6635</strong>
6636<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6637<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4a2f6848f38c60eb39a5467c951cfdc06c334a19">4a2f6848f38c60eb39a5467c951cfdc06c334a19</a>
6638<blockquote>
6639<p>
6640 Apply same simplification/optimisations to image_render_icc16<br>
6641<br>
6642 Apply the same changes to image_render_icc16 as we did just a few<br>
6643 commits ago.<br>
6644<br>
6645base/gxi12bit.c<br>
6646<p>
6647</blockquote>
6648<hr>
6649<p><strong>2018-04-19 19:13:50 +0100
6650</strong>
6651<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6652<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7b539b765dcc960d257bffbcfef8a496120887a8">7b539b765dcc960d257bffbcfef8a496120887a8</a>
6653<blockquote>
6654<p>
6655 Bug 697545 : Prevent SEGV in c_param_add.<br>
6656<br>
6657 Prevent SEGV if pkey memory allocation fails.<br>
6658<br>
6659 Error created using :-<br>
6660 MEMENTO_FAILAT=1823 ./membin/gpcl6 -sDEVICE=pbmraw -r300 -dMaxBitmap=2000 -o /dev/null ./pcl/examples/owl.pcl<br>
6661<br>
6662base/gscparam.c<br>
6663<p>
6664</blockquote>
6665<hr>
6666<p><strong>2018-04-16 20:34:46 +0100
6667</strong>
6668<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6669<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=28c25a7aa12ab36996e12850dfc8e0935c0e4437">28c25a7aa12ab36996e12850dfc8e0935c0e4437</a>
6670<blockquote>
6671<p>
6672 Bug 697545 : Prevent SEGV in pcfont_do_reset.<br>
6673<br>
6674 Prevent SEGV if memory allocation fails.<br>
6675<br>
6676 Error created using :-<br>
6677 MEMENTO_FAILAT=1908 ./membin/gpcl6 -sDEVICE=pbmraw -r300 -o /dev/null ./pcl/examples/owl.pcl<br>
6678<br>
6679pcl/pcl/pcfont.c<br>
6680<p>
6681</blockquote>
6682<hr>
6683<p><strong>2018-04-19 17:42:06 +0100
6684</strong>
6685<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6686<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b35f89d9bef02a02c55a377c6797afcbbe78664d">b35f89d9bef02a02c55a377c6797afcbbe78664d</a>
6687<blockquote>
6688<p>
6689 Simplify some image_render code routines.<br>
6690<br>
6691 Primarily these cut down on needlessly duplicated code.<br>
6692<br>
6693 The skew case should actually benefit in speed, because we don't<br>
6694 pointlessly redo the color mapping for every pixel.<br>
6695<br>
6696base/gxicolor.c<br>
6697<p>
6698</blockquote>
6699<hr>
6700<p><strong>2018-04-17 21:38:31 +0100
6701</strong>
6702<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
6703<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2c25f3c8582749cc9641d12ca4eb51adefa6d04d">2c25f3c8582749cc9641d12ca4eb51adefa6d04d</a>
6704<blockquote>
6705<p>
6706 Bug 697545 : Fix memory leak in rc_unshare_struct.<br>
6707<br>
6708 Rearrange order of macro so that the memory is freed even if the call to<br>
6709 rc_alloc_struct_1 fails.<br>
6710<br>
6711 Error created using :-<br>
6712 MEMENTO_FAILAT=10044 ./membin/gpcl6 -sDEVICE=pbmraw -r300 -o /dev/null ./pcl/examples/owl.pcl<br>
6713<br>
6714base/gsrefct.h<br>
6715<p>
6716</blockquote>
6717<hr>
6718<p><strong>2018-04-19 13:41:33 +0100
6719</strong>
6720<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6721<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f37f0e4f6325ea8f58194d81a8a6e3321e6660e">8f37f0e4f6325ea8f58194d81a8a6e3321e6660e</a>
6722<blockquote>
6723<p>
6724 Remove some experimental code that was ifdef'ed out<br>
6725<br>
6726base/gxfapi.c<br>
6727<p>
6728</blockquote>
6729<hr>
6730<p><strong>2018-04-19 13:38:30 +0100
6731</strong>
6732<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6733<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8e91f7046645ac7334516735d06ae5109127892">e8e91f7046645ac7334516735d06ae5109127892</a>
6734<blockquote>
6735<p>
6736 Ensure uncached glyphs have the &quot;text&quot; tag set.<br>
6737<br>
6738 Glyphs bitmaps being drawn from FAPI, bypassing the glyph cache, were not<br>
6739 causing the device's tag to be set to text.<br>
6740<br>
6741base/gxfapi.c<br>
6742<p>
6743</blockquote>
6744<hr>
6745<p><strong>2018-04-18 13:54:13 +0100
6746</strong>
6747<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6748<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8f912519ee1d7407126479fefc2210bc69f9e11a">8f912519ee1d7407126479fefc2210bc69f9e11a</a>
6749<blockquote>
6750<p>
6751 Fix compiler warning with debug build<br>
6752<br>
6753 In a debug build, to facilitate logging/debugging, the rc_ajust() macro<br>
6754 calls a function to trace the reference count changes. The client name (cname)<br>
6755 parameter should be declared const to avoid a compiler warning.<br>
6756<br>
6757base/gsmemory.c<br>
6758base/gsrefct.h<br>
6759<p>
6760</blockquote>
6761<hr>
6762<p><strong>2018-04-18 10:11:50 +0100
6763</strong>
6764<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6765<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b8c65eab50076cfd56f0301ec764b30df9d86ae3">b8c65eab50076cfd56f0301ec764b30df9d86ae3</a>
6766<blockquote>
6767<p>
6768 Bug 699214: Add and use a &quot;no cache&quot; flag for glyphs<br>
6769<br>
6770 Previously, to avoid using a cached glyph, the PXL code went around the<br>
6771 graphics library API to set a flag in the show enumerator that really should<br>
6772 only be touched internally.<br>
6773<br>
6774 This adds the capability to the enumerator for the client to request that no<br>
6775 cached glyphs be used for the current block of text, and changes the PXL code<br>
6776 to used it.<br>
6777<br>
6778base/gstext.h<br>
6779base/gxchar.c<br>
6780pcl/pxl/pxfont.c<br>
6781<p>
6782</blockquote>
6783<hr>
6784<p><strong>2018-04-18 09:07:27 +0100
6785</strong>
6786<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6787<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fd22032d14134f32a42897c9db6a796340a912de">fd22032d14134f32a42897c9db6a796340a912de</a>
6788<blockquote>
6789<p>
6790 Bug 699214 (related): make text and show enums the same<br>
6791<br>
6792 This is the first part of removing the text enumerator altogether.<br>
6793<br>
6794base/gxchar.h<br>
6795base/gxtext.h<br>
6796base/lib.mak<br>
6797devices/vector/gdevpdtt.h<br>
6798devices/vector/gdevtxtw.c<br>
6799<p>
6800</blockquote>
6801<hr>
6802<p><strong>2018-04-18 15:47:20 +0100
6803</strong>
6804<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
6805<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49dcf2a599434f2cb9e0847a75ad61270d30e68a">49dcf2a599434f2cb9e0847a75ad61270d30e68a</a>
6806<blockquote>
6807<p>
6808 Documentation - document two missing parameters<br>
6809<br>
6810 These got missed from the documentation when they were implemented.<br>
6811<br>
6812doc/VectorDevices.htm<br>
6813<p>
6814</blockquote>
6815<hr>
6816<p><strong>2018-04-18 15:46:32 +0100
6817</strong>
6818<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
6819<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=39b1e54b2968620723bf32e96764c88797714879">39b1e54b2968620723bf32e96764c88797714879</a>
6820<blockquote>
6821<p>
6822 pdfwrite - Guard against trying to output an infinite number<br>
6823<br>
6824 Bug #699255 &quot; Buffer overflow on pprintg1 due to mishandle postscript file data to pdf&quot;<br>
6825<br>
6826 The file uses an enormous parameter to xyxhow, causing an overflow in<br>
6827 the calculation of text positioning (value &gt; 1e39).<br>
6828<br>
6829 Since this is basically a nonsense value, and PostScript only supports<br>
6830 real values up to 1e38, this patch follows the same approach as for<br>
6831 a degenerate CTM, and treats it as 0.<br>
6832<br>
6833 Adobe Acrobat Distiller throws a limitcheck error, so we could do that<br>
6834 instead if this approach proves to be a problem.<br>
6835<br>
6836devices/vector/gdevpdts.c<br>
6837<p>
6838</blockquote>
6839<hr>
6840<p><strong>2018-04-17 16:09:40 +0100
6841</strong>
6842<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6843<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb4c58a0e097e39547dde3d46893ce1b05d19539">fb4c58a0e097e39547dde3d46893ce1b05d19539</a>
6844<blockquote>
6845<p>
6846 Remove redundant references to Xfonts.htm<br>
6847<br>
6848base/unixinst.mak<br>
6849doc/Drivers.htm<br>
6850doc/Readme.htm<br>
6851doc/Use.htm<br>
6852<p>
6853</blockquote>
6854<hr>
6855<p><strong>2018-03-30 14:38:28 +0100
6856</strong>
6857<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6858<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59c722d075cb70fc076c2d41b30f16e0e54a4704">59c722d075cb70fc076c2d41b30f16e0e54a4704</a>
6859<blockquote>
6860<p>
6861 Bug 699160: rejig the .so &quot;loaders&quot; builds.<br>
6862<br>
6863 The two simple .so &quot;loaders&quot; (gsx and gsc) were built as a single step, source<br>
6864 to exe, process. Because of that LDFLAGS wasn't used.<br>
6865<br>
6866 We'll now separate the compile and link stages, meaning we can properly use<br>
6867 CFLAGS and LDFLAGS. It also means we can have more control of the order in<br>
6868 which the -L lib search paths are applied.<br>
6869<br>
6870 Properly pass on debug options, and extend these changes to the PCL/XPS/PDL<br>
6871 .so/exe targets.<br>
6872<br>
6873Makefile.in<br>
6874base/unix-dll.mak<br>
6875base/unixlink.mak<br>
6876configure.ac<br>
6877<p>
6878</blockquote>
6879<hr>
6880<p><strong>2018-04-15 12:49:40 -0700
6881</strong>
6882<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6883<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=769ffb76e7cfd5eeff32251d122399f4b729477b">769ffb76e7cfd5eeff32251d122399f4b729477b</a>
6884<blockquote>
6885<p>
6886 Fix warning on exit with ref_count &gt; 0 due to pclxl image handling.<br>
6887<br>
6888 The pclxl_begin_image gets a link profile, but did not release the<br>
6889 link in pclxl_image_end_image causing the ref_count to be wrong.<br>
6890<br>
6891devices/vector/gdevpx.c<br>
6892<p>
6893</blockquote>
6894<hr>
6895<p><strong>2018-04-15 12:48:20 -0700
6896</strong>
6897<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
6898<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e88d8e90de569adedb614a2a7e3dda38063f4d02">e88d8e90de569adedb614a2a7e3dda38063f4d02</a>
6899<blockquote>
6900<p>
6901 Add ref_count debug to icc link cache.<br>
6902<br>
6903base/gsicc_cache.c<br>
6904<p>
6905</blockquote>
6906<hr>
6907<p><strong>2018-04-11 19:37:07 +0100
6908</strong>
6909<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6910<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=dfbf92a35d2be0aaa35bdb301c0647deec55b054">dfbf92a35d2be0aaa35bdb301c0647deec55b054</a>
6911<blockquote>
6912<p>
6913 Attempt to fix vertical shifts seen in halftoning.<br>
6914<br>
6915 Differences are evident between old (slow, non SSE based) and new<br>
6916 (fast, C/SSE based) halftoning. This is not because of the SSE,<br>
6917 but rather because of different calculations in the C that prepares<br>
6918 the screen for the fast SSE based thresholding, specifically, I<br>
6919 believe, to the calculation of the y offset into the texture tile.<br>
6920<br>
6921 This commit changes the texture tile y offset calculation in the<br>
6922 'fast' code to involve screen_phase.y, in the hopes that this<br>
6923 will better match the 'old' version.<br>
6924<br>
6925 With this fix in, we see just a few PS/PDF diffs, but lots of PCL<br>
6926 diffs (as I guess you'd expect, as PCL makes much more use of this<br>
6927 kind of stuff). I've checked a random selection of them, and in all<br>
6928 cases the new page mode renderings with the &quot;fast&quot; code match the<br>
6929 page mode renderings given by the &quot;old&quot; code.<br>
6930<br>
6931 There are instances where the clist rendering no longer matches the<br>
6932 page mode rendering, but in the tests I've done the clist old code<br>
6933 does match the clist fast code. So we are consistent at least. I<br>
6934 suspect that there is something up with the way the y_phase is<br>
6935 transmitted across the clist, and have opened bug 699209 to<br>
6936 track that.<br>
6937<br>
6938base/gxht_thresh.c<br>
6939<p>
6940</blockquote>
6941<hr>
6942<p><strong>2018-04-11 20:28:23 +0100
6943</strong>
6944<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
6945<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b9e0722267e8770c01914da28f924cffcae1c0b8">b9e0722267e8770c01914da28f924cffcae1c0b8</a>
6946<blockquote>
6947<p>
6948 Fix stray debugging code that was breaking windows builds.<br>
6949<br>
6950base/write_t1.c<br>
6951<p>
6952</blockquote>
6953<hr>
6954<p><strong>2018-04-10 16:01:44 +0100
6955</strong>
6956<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6957<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1da9cf6dd87287b952826e8606a26f97b474c556">1da9cf6dd87287b952826e8606a26f97b474c556</a>
6958<blockquote>
6959<p>
6960 Multiple master font cached glyphs<br>
6961<br>
6962 In the event that the WeightVector is changed (via setweightvector) on an<br>
6963 already defined font object, we had no way to invalidate the glyph cache<br>
6964 entries already created for that font, with the previous WeightVector.<br>
6965<br>
6966 Given that MM fonts generally substitute for an entire use of a &quot;real&quot; font,<br>
6967 and changing &quot;mid stream&quot; is rare (and almost entirely restricted to test<br>
6968 files), this uses the sledgehammer approach of purging the existing glyphs<br>
6969 from the cache.<br>
6970<br>
6971 In real world use, this is going to have less effect on performance than adding<br>
6972 a conditional check on a variable length array of floating point numbers is<br>
6973 likely to have.<br>
6974<br>
6975psi/int.mak<br>
6976psi/zchar1.c<br>
6977<p>
6978</blockquote>
6979<hr>
6980<p><strong>2018-01-30 09:31:04 +0000
6981</strong>
6982<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
6983<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36e7d38af2a11b5e4d7117ddd0ebf7326fad7c72">36e7d38af2a11b5e4d7117ddd0ebf7326fad7c72</a>
6984<blockquote>
6985<p>
6986 Bug 698767: Improve handling of multiple master fonts<br>
6987<br>
6988 The FAPI API didn't really handle the possibility that multiple master fonts<br>
6989 could change (via setweightvector) without a call to definefont/setfont etc.<br>
6990<br>
6991 We now allow two ways for FAPI to handle this: if the scaler in force allows it,<br>
6992 we'll set the new weight vector, and carry on as before.<br>
6993<br>
6994 If the scaler does *not* allow us to change the weight vector &quot;on the fly&quot;,<br>
6995 we'll destroy the scaler's font object and related data, and recreate it with<br>
6996 the new weight vector in the font dictionary.<br>
6997<br>
6998base/fapi_ft.c<br>
6999base/fapibstm.c<br>
7000base/fapiufst.c<br>
7001base/gsalloc.c<br>
7002base/gxfapi.c<br>
7003base/gxfapi.h<br>
7004base/write_t1.c<br>
7005psi/zfapi.c<br>
7006<p>
7007</blockquote>
7008<hr>
7009<p><strong>2018-04-08 20:34:43 +0800
7010</strong>
7011<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7012<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=890e637bf7a1d8a5e3438c2aab4e0eef33d795f1">890e637bf7a1d8a5e3438c2aab4e0eef33d795f1</a>
7013<blockquote>
7014<p>
7015 jbig2dec: Detect data shortage.<br>
7016<br>
7017jbig2dec/jbig2_page.c<br>
7018jbig2dec/jbig2_segment.c<br>
7019jbig2dec/jbig2_text.c<br>
7020<p>
7021</blockquote>
7022<hr>
7023<p><strong>2018-04-08 20:33:33 +0800
7024</strong>
7025<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7026<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=44ff6900ac97d53101c8585880acb9a73631cefe">44ff6900ac97d53101c8585880acb9a73631cefe</a>
7027<blockquote>
7028<p>
7029 jbig2dec: Remember to free halftone GB_stats in case of error.<br>
7030<br>
7031jbig2dec/jbig2_halftone.c<br>
7032<p>
7033</blockquote>
7034<hr>
7035<p><strong>2018-04-08 20:32:59 +0800
7036</strong>
7037<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7038<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9efdbd90790f87ab9f56a4cd39b703a23c9d3172">9efdbd90790f87ab9f56a4cd39b703a23c9d3172</a>
7039<blockquote>
7040<p>
7041 jbig2dec: Make error messages distinguishable.<br>
7042<br>
7043jbig2dec/jbig2_symbol_dict.c<br>
7044<p>
7045</blockquote>
7046<hr>
7047<p><strong>2018-04-08 14:58:23 +0800
7048</strong>
7049<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7050<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1fca43f52caa90926169fe1fe845837749bab233">1fca43f52caa90926169fe1fe845837749bab233</a>
7051<blockquote>
7052<p>
7053 jbig2dec: Plug leak of image upon error decoding text region.<br>
7054<br>
7055jbig2dec/jbig2_symbol_dict.c<br>
7056<p>
7057</blockquote>
7058<hr>
7059<p><strong>2018-04-06 00:41:01 +0800
7060</strong>
7061<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7062<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2b2dcf4ccf401ed210f03c858b304994749fd2b3">2b2dcf4ccf401ed210f03c858b304994749fd2b3</a>
7063<blockquote>
7064<p>
7065 jbig2dec: Improve error handling.<br>
7066<br>
7067 Some functions detected errors but would not return these<br>
7068 to the caller. These functions may now indicate errors:<br>
7069<br>
7070 jbig2_arith_decode(), jbig2_image_resize()<br>
7071<br>
7072 Errors detected by following functions were not always<br>
7073 handled, but they are now handled properly:<br>
7074<br>
7075 jbig2_arith_decode(), jbig2_arith_iaid_decode()<br>
7076 jbig2_arith_int_ctx_new(), jbig2_build_huffman_table()<br>
7077 jbig2_complete_page(), jbig2_image_compose()<br>
7078 jbig2_decode_refinement_region(), jbig2_ctx_new()<br>
7079 jbig2_image_resize(), jbig2_image_write_pbm()<br>
7080 jbig2_image_write_pbm_file(), jbig2_image_write_png()<br>
7081 jbig2_image_write_png_file(), jbig2_metadata_add()<br>
7082 jbig2_page_add_result(), jbig2_renew()<br>
7083 jbig2_strndup()<br>
7084<br>
7085 Some functions detected errors but did not fail early enough:<br>
7086<br>
7087 jbig2_decode_pattern_dict(), jbig2_decode_halftone_region()<br>
7088<br>
7089 jbig2_decode_mmr_line() detected errors but did not produce<br>
7090 suitable error messages. This has been rectified.<br>
7091<br>
7092 Finally, if a subfunction indicates an error by returning an<br>
7093 error code, the calling function will report a warning and<br>
7094 return, indicating failure.<br>
7095<br>
7096jbig2dec/jbig2.c<br>
7097jbig2dec/jbig2_arith.c<br>
7098jbig2dec/jbig2_arith.h<br>
7099jbig2dec/jbig2_arith_iaid.c<br>
7100jbig2dec/jbig2_arith_iaid.h<br>
7101jbig2dec/jbig2_arith_int.c<br>
7102jbig2dec/jbig2_arith_int.h<br>
7103jbig2dec/jbig2_generic.c<br>
7104jbig2dec/jbig2_halftone.c<br>
7105jbig2dec/jbig2_image.c<br>
7106jbig2dec/jbig2_image_pbm.c<br>
7107jbig2dec/jbig2_image_png.c<br>
7108jbig2dec/jbig2_metadata.c<br>
7109jbig2dec/jbig2_mmr.c<br>
7110jbig2dec/jbig2_page.c<br>
7111jbig2dec/jbig2_refinement.c<br>
7112jbig2dec/jbig2_segment.c<br>
7113jbig2dec/jbig2_symbol_dict.c<br>
7114jbig2dec/jbig2_text.c<br>
7115jbig2dec/jbig2dec.c<br>
7116jbig2dec/pbm2png.c<br>
7117<p>
7118</blockquote>
7119<hr>
7120<p><strong>2018-04-06 00:44:10 +0800
7121</strong>
7122<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7123<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7ede8fc2b5e8498619d1e32b6b7fbbf9f926a055">7ede8fc2b5e8498619d1e32b6b7fbbf9f926a055</a>
7124<blockquote>
7125<p>
7126 jbig2dec: Remove unused return value for setting pixel.<br>
7127<br>
7128jbig2dec/jbig2_image.c<br>
7129jbig2dec/jbig2_image.h<br>
7130<p>
7131</blockquote>
7132<hr>
7133<p><strong>2018-04-09 21:30:07 +0800
7134</strong>
7135<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7136<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2afeb8384e4db612df56d5f02162767647893a7d">2afeb8384e4db612df56d5f02162767647893a7d</a>
7137<blockquote>
7138<p>
7139 jbig2dec: Remove end of line characters to jbig2_error() messages.<br>
7140<br>
7141jbig2dec/jbig2_image.c<br>
7142jbig2dec/jbig2_symbol_dict.c<br>
7143<p>
7144</blockquote>
7145<hr>
7146<p><strong>2018-04-07 00:12:15 +0800
7147</strong>
7148<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7149<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d38507b3d62d9d0710b1c5122af5db9730167082">d38507b3d62d9d0710b1c5122af5db9730167082</a>
7150<blockquote>
7151<p>
7152 jbig2dec: Fix some cosmetic typos in code/headers/tests.<br>
7153<br>
7154jbig2dec/jbig2.h<br>
7155jbig2dec/jbig2_halftone.c<br>
7156jbig2dec/jbig2_huffman.c<br>
7157jbig2dec/jbig2_image_png.c<br>
7158jbig2dec/jbig2_metadata.c<br>
7159jbig2dec/jbig2_page.c<br>
7160jbig2dec/jbig2_priv.h<br>
7161jbig2dec/jbig2_segment.c<br>
7162jbig2dec/jbig2_text.c<br>
7163jbig2dec/jbig2dec.c<br>
7164jbig2dec/memento.c<br>
7165jbig2dec/test_jbig2dec.py<br>
7166<p>
7167</blockquote>
7168<hr>
7169<p><strong>2018-03-26 21:57:33 +0800
7170</strong>
7171<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
7172<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c0f89bd215d700339429da4375a4eaf89445f872">c0f89bd215d700339429da4375a4eaf89445f872</a>
7173<blockquote>
7174<p>
7175 jbig2dec: Remove unnecessary whitespace.<br>
7176<br>
7177jbig2dec/jbig2.c<br>
7178jbig2dec/jbig2_arith.c<br>
7179jbig2dec/jbig2_generic.c<br>
7180jbig2dec/jbig2_huffman.c<br>
7181jbig2dec/jbig2_symbol_dict.c<br>
7182jbig2dec/jbig2_text.c<br>
7183jbig2dec/test_jbig2dec.py<br>
7184<p>
7185</blockquote>
7186<hr>
7187<p><strong>2018-04-09 11:49:52 +0200
7188</strong>
7189<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
7190<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=47f3be9b6676ed09e844362b267daae2a1b04a4d">47f3be9b6676ed09e844362b267daae2a1b04a4d</a>
7191<blockquote>
7192<p>
7193 jbig2dec: Make sure to include stdint.h in the generated config_types.h<br>
7194<br>
7195 The previous commit accidentally broke the autoconf build.<br>
7196<br>
7197jbig2dec/autogen.sh<br>
7198<p>
7199</blockquote>
7200<hr>
7201<p><strong>2018-04-06 12:44:38 +0100
7202</strong>
7203<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
7204<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bda3b5087d136c7839ded79594ac70e9712228e5">bda3b5087d136c7839ded79594ac70e9712228e5</a>
7205<blockquote>
7206<p>
7207 Fix Memento locking problem.<br>
7208<br>
7209 When calling Memento_event, it would lock, and then call<br>
7210 Memento_checkAllMemory which would lock again. This is fine<br>
7211 on windows, as locks are recursive, but not on Linux.<br>
7212<br>
7213base/memento.c<br>
7214<p>
7215</blockquote>
7216<hr>
7217<p><strong>2018-04-04 22:36:24 +0100
7218</strong>
7219<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
7220<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cbbe08d116ae91e0cc0ffa91eb71ec364b4d44a3">cbbe08d116ae91e0cc0ffa91eb71ec364b4d44a3</a>
7221<blockquote>
7222<p>
7223 Bug 697545 : Fix memory leak in gx_pattern_load.<br>
7224<br>
7225 Fix memory leak due to pattern cache data being allocated but not used.<br>
7226<br>
7227 Error created using :-<br>
7228 MEMENTO_FAILAT=10103 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br>
7229<br>
7230base/gxpcmap.c<br>
7231<p>
7232</blockquote>
7233<hr>
7234<p><strong>2018-04-04 18:40:01 +0100
7235</strong>
7236<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
7237<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cbc44b82c2c63ef48c994fb2eced4350e41159aa">cbc44b82c2c63ef48c994fb2eced4350e41159aa</a>
7238<blockquote>
7239<p>
7240 Bug 697545 : Fix memory leak in show_proceed.<br>
7241<br>
7242 Fix memory leak due to gsave/grestore mismatch.<br>
7243<br>
7244 Error created using :-<br>
7245 MEMENTO_FAILAT=10946 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br>
7246<br>
7247base/gxchar.c<br>
7248<p>
7249</blockquote>
7250<hr>
7251<p><strong>2018-04-05 16:28:01 +0100
7252</strong>
7253<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
7254<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=4372854939842240c7edb58dd0fa285a0c2f15b1">4372854939842240c7edb58dd0fa285a0c2f15b1</a>
7255<blockquote>
7256<p>
7257 Another attempt at fixing the 'skip' logic for halftoned images.<br>
7258<br>
7259 When rendering images, if the dda is not shared between the<br>
7260 halftoner and gs, gs cannot just skip lines that it knows should<br>
7261 be clipped, lest the halftoner get confused about it.<br>
7262<br>
7263 The previous attempt to solve this used a separate 'skip_render'<br>
7264 routine, but the decision as to whether to call this or not was<br>
7265 itself dependent on the values of the dda. When scaling down<br>
7266 scanlines can be completely skipped. In the cases where the dda<br>
7267 in gs doesn't match the one in the halftoner exactly we could<br>
7268 get dropouts.<br>
7269<br>
7270 So, a new attempt. Here we introduce a new function call that<br>
7271 checks with the halftoner whether the next scanline will be<br>
7272 required or not. If it is, gs unpacks the data and passes it in.<br>
7273 If not, the data can just be skipped.<br>
7274<br>
7275base/gxidata.c<br>
7276base/gximage.h<br>
7277base/gxipixel.c<br>
7278<p>
7279</blockquote>
7280<hr>
7281<p><strong>2018-04-04 18:38:02 +0100
7282</strong>
7283<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
7284<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5886c28f2a7376ad3818dadeb9cc3c6989f7702a">5886c28f2a7376ad3818dadeb9cc3c6989f7702a</a>
7285<blockquote>
7286<p>
7287 Bug 697545 : Fix memory leak in pcl_start_raster.<br>
7288<br>
7289 Fix memory leak after memory allocation failure.<br>
7290<br>
7291 Error created using :-<br>
7292 MEMENTO_FAILAT=11602 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br>
7293<br>
7294pcl/pcl/rtraster.c<br>
7295<p>
7296</blockquote>
7297<hr>
7298<p><strong>2018-04-05 14:12:25 +0100
7299</strong>
7300<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7301<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ef02a883952ecc225792896a1eabac93e19f143">9ef02a883952ecc225792896a1eabac93e19f143</a>
7302<blockquote>
7303<p>
7304 Bug 699158: Tidy up a validation check<br>
7305<br>
7306 Use a cleaner check to ensure UFST only gets passed Microtype fonts (from .fco<br>
7307 font collections).<br>
7308<br>
7309 Not sure what I was thinking when I wrote the original check, but it was clearly<br>
7310 a bad code day!<br>
7311<br>
7312base/fapiufst.c<br>
7313<p>
7314</blockquote>
7315<hr>
7316<p><strong>2018-04-05 14:10:54 +0100
7317</strong>
7318<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7319<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=410d5f9372db241713f0e9730ec18edfa117f687">410d5f9372db241713f0e9730ec18edfa117f687</a>
7320<blockquote>
7321<p>
7322 Fix some link typos in Develop.html<br>
7323<br>
7324doc/Develop.htm<br>
7325<p>
7326</blockquote>
7327<hr>
7328<p><strong>2018-04-04 17:30:17 +0100
7329</strong>
7330<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
7331<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bc9e133f81e02e90e9fc9a82853d0aea18cdb905">bc9e133f81e02e90e9fc9a82853d0aea18cdb905</a>
7332<blockquote>
7333<p>
7334 Fix new logic for skipping clipped image lines.<br>
7335<br>
7336 In refactoring the previous commit so that it didn't cause<br>
7337 diffs, I broke it so that it gave no advantage.<br>
7338<br>
7339 This version should give no diffs, AND give a speed increase<br>
7340 by avoiding unpacking elided lines.<br>
7341<br>
7342base/gxidata.c<br>
7343<p>
7344</blockquote>
7345<hr>
7346<p><strong>2018-04-03 17:47:03 +0100
7347</strong>
7348<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
7349<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41e94a745cdbed112efc0e72d76645e8500a0791">41e94a745cdbed112efc0e72d76645e8500a0791</a>
7350<blockquote>
7351<p>
7352 Tweak logic for skipping clipped image lines.<br>
7353<br>
7354 As gs runs through image data, it unpacks each line into<br>
7355 a buffer, then checks whether that buffer is trivially<br>
7356 outside the clipping region. If it is, then it doesn't<br>
7357 bother to call the line renderer.<br>
7358<br>
7359 This has 2 implications. Firstly, we unpack the line data<br>
7360 even if it is to be skipped. Secondly, for line renderers<br>
7361 that rely on counting the number of lines they have been<br>
7362 passed (rather than on consulting the position of the dda)<br>
7363 to know where they are, this can cause problems.<br>
7364<br>
7365 Accordingly, this commit rejigs the code a bit. As well<br>
7366 as a function pointer within penum that points to the<br>
7367 rendering routine, we have a new function pointer that<br>
7368 points to an optional &quot;skip_render&quot; routine.<br>
7369<br>
7370 We also rejig the code so that we only unpack the data if<br>
7371 we know it is going to be used.<br>
7372<br>
7373base/gxidata.c<br>
7374base/gximage.h<br>
7375base/gxipixel.c<br>
7376<p>
7377</blockquote>
7378<hr>
7379<p><strong>2018-04-02 12:43:21 +0100
7380</strong>
7381<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
7382<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2870842d23f13413f3492f206cd12bb4144fc80d">2870842d23f13413f3492f206cd12bb4144fc80d</a>
7383<blockquote>
7384<p>
7385 Whitespace fix.<br>
7386<br>
7387base/gxicolor.c<br>
7388<p>
7389</blockquote>
7390<hr>
7391<p><strong>2018-04-02 12:44:36 +0100
7392</strong>
7393<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
7394<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8afca3fad1acbfd34b2a2910d04a5447c2e4555b">8afca3fad1acbfd34b2a2910d04a5447c2e4555b</a>
7395<blockquote>
7396<p>
7397 Downgrade gen_ordered solutions to VS2005.<br>
7398<br>
7399 From VS2008. VS2008 can still read the new (old!) ones.<br>
7400<br>
7401toolbin/halftone/gen_ordered/gen_ordered.sln<br>
7402toolbin/halftone/gen_ordered/gen_ordered.vcproj<br>
7403<p>
7404</blockquote>
7405<hr>
7406<p><strong>2018-04-03 00:13:16 +0100
7407</strong>
7408<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
7409<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7891eda84b33aef5ee7540b3b3d04477e3602a3d">7891eda84b33aef5ee7540b3b3d04477e3602a3d</a>
7410<blockquote>
7411<p>
7412 Prevent SEGV in memento squeeze builds.<br>
7413<br>
7414 Remove leftover variables from commit 9ff6b34e461fcbd4e.<br>
7415 Added conditional compilation to prevent SEGV from thread code.<br>
7416<br>
7417base/gsicc_cache.c<br>
7418base/gsicc_manage.c<br>
7419<p>
7420</blockquote>
7421<hr>
7422<p><strong>2018-03-29 20:15:29 +0100
7423</strong>
7424<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
7425<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f0e234d660dbeb774f39392f0e45e333fd9308a3">f0e234d660dbeb774f39392f0e45e333fd9308a3</a>
7426<blockquote>
7427<p>
7428 Bug 697545 : Update set_cache_device to prevent memory leaks.<br>
7429<br>
7430 Added a matching grestore for the gsave on all error paths.<br>
7431<br>
7432base/gxchar.c<br>
7433<p>
7434</blockquote>
7435<hr>
7436<p><strong>2018-03-30 09:21:28 +0100
7437</strong>
7438<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7439<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bd2ce49067793d8b57c6a1b4831e16f952183f6b">bd2ce49067793d8b57c6a1b4831e16f952183f6b</a>
7440<blockquote>
7441<p>
7442 Address warnings and deprecated API calls.<br>
7443<br>
7444 A number of gtk/gdk/cairo API calls have been deprecated since GTK+ 3.0 was<br>
7445 introduced, and using them triggers warnings - this replaces them with the<br>
7446 currently recommended APIs.<br>
7447<br>
7448 Also fix a couple of regular compiler warnings, and a gsapi related warning.<br>
7449<br>
7450psi/dxmain.c<br>
7451<p>
7452</blockquote>
7453<hr>
7454<p><strong>2018-03-29 14:04:10 -0700
7455</strong>
7456<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
7457<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=25785cd67484e6ebf3625f7d2adedac076e80de2">25785cd67484e6ebf3625f7d2adedac076e80de2</a>
7458<blockquote>
7459<p>
7460 Do not create a new cache for the ICC links with each page in clist mode<br>
7461<br>
7462 Right now the code currently creates a new ICC cache with every page.<br>
7463 This commit maintains the cache and only destroys it when we gdev_prn_tear_down<br>
7464<br>
7465base/gxclist.c<br>
7466base/gxclread.c<br>
7467<p>
7468</blockquote>
7469<hr>
7470<p><strong>2018-03-27 20:13:18 +0100
7471</strong>
7472<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
7473<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=344db7fb39f457201f243b2775e3d63cf8406010">344db7fb39f457201f243b2775e3d63cf8406010</a>
7474<blockquote>
7475<p>
7476 Bug 697545 : Update functions to return error codes.<br>
7477<br>
7478 Prevent numerous SEGV points by ensuring error codes are returned and<br>
7479 handled appropriately.<br>
7480<br>
7481base/gsdps1.c<br>
7482base/gxchar.c<br>
7483base/gxifast.c<br>
7484base/gximage4.c<br>
7485pcl/pcl/pctext.c<br>
7486<p>
7487</blockquote>
7488<hr>
7489<p><strong>2018-03-29 10:14:22 -0700
7490</strong>
7491<br>Robin Watts &lt;Robin.Watts@artifex.com&gt;<br>
7492<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0f6ec1c44bb38175344be16d747b8feee35ae35f">0f6ec1c44bb38175344be16d747b8feee35ae35f</a>
7493<blockquote>
7494<p>
7495 Memento: Fix typo in Mutex init.<br>
7496<br>
7497 Thanks to Shelly for pointing this out.<br>
7498<br>
7499base/memento.c<br>
7500<p>
7501</blockquote>
7502<hr>
7503<p><strong>2018-03-28 14:57:56 +0100
7504</strong>
7505<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7506<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a31ccd111b6ff21a1e49806c1e6e0861a9e45446">a31ccd111b6ff21a1e49806c1e6e0861a9e45446</a>
7507<blockquote>
7508<p>
7509 Update OpenJPEG to 2.3.0<br>
7510<br>
7511 Incorporates changes from:<br>
7512 1) Add predefined openjpeg headers.<br>
7513 71242c9a04bb76b8b17fc489d62a91d04c1ad60c<br>
7514<br>
7515 2) Import patches from Sumatra's tree.<br>
7516 8b89e4b5750069172522ecf85e69d094b5e567e7<br>
7517<br>
7518 3) Avoid getenv call in openjpeg<br>
7519 202a0318a7b3a397fcd5d015dcad4293474f464c<br>
7520<br>
7521base/openjpeg.mak<br>
7522openjpeg/CHANGELOG.md<br>
7523openjpeg/NEWS.md<br>
7524openjpeg/README.md<br>
7525openjpeg/appveyor.yml<br>
7526openjpeg/doc/CMakeLists.txt<br>
7527openjpeg/doc/Doxyfile.dox.cmake.in<br>
7528openjpeg/doc/jpip_architect.png<br>
7529openjpeg/doc/jpip_protocol.png<br>
7530openjpeg/doc/mainpage.dox.in<br>
7531openjpeg/doc/man/man1/opj_compress.1<br>
7532openjpeg/doc/man/man1/opj_decompress.1<br>
7533openjpeg/doc/man/man1/opj_dump.1<br>
7534openjpeg/doc/man/man3/libopenjp2.3<br>
7535openjpeg/doc/openjpip.dox.in<br>
7536openjpeg/src/bin/CMakeLists.txt<br>
7537openjpeg/src/bin/common/CMakeLists.txt<br>
7538openjpeg/src/bin/common/color.c<br>
7539openjpeg/src/bin/common/color.h<br>
7540openjpeg/src/bin/common/format_defs.h<br>
7541openjpeg/src/bin/common/opj_apps_config.h.cmake.in<br>
7542openjpeg/src/bin/common/opj_getopt.c<br>
7543openjpeg/src/bin/common/opj_getopt.h<br>
7544openjpeg/src/bin/common/opj_string.h<br>
7545openjpeg/src/bin/jp2/CMakeLists.txt<br>
7546openjpeg/src/bin/jp2/convert.c<br>
7547openjpeg/src/bin/jp2/convert.h<br>
7548openjpeg/src/bin/jp2/convertbmp.c<br>
7549openjpeg/src/bin/jp2/convertpng.c<br>
7550openjpeg/src/bin/jp2/converttif.c<br>
7551openjpeg/src/bin/jp2/index.c<br>
7552openjpeg/src/bin/jp2/index.h<br>
7553openjpeg/src/bin/jp2/opj_compress.c<br>
7554openjpeg/src/bin/jp2/opj_decompress.c<br>
7555openjpeg/src/bin/jp2/opj_dump.c<br>
7556openjpeg/src/bin/jp2/windirent.h<br>
7557openjpeg/src/bin/jp3d/CMakeLists.txt<br>
7558openjpeg/src/bin/jp3d/convert.c<br>
7559openjpeg/src/bin/jp3d/convert.h<br>
7560openjpeg/src/bin/jp3d/getopt.c<br>
7561openjpeg/src/bin/jp3d/getopt.h<br>
7562openjpeg/src/bin/jp3d/opj_jp3d_compress.c<br>
7563openjpeg/src/bin/jp3d/opj_jp3d_decompress.c<br>
7564openjpeg/src/bin/jp3d/tcltk/LPI_JP3D_VM.tcl<br>
7565openjpeg/src/bin/jp3d/tcltk/README<br>
7566openjpeg/src/bin/jp3d/tcltk/Thumbs.db<br>
7567openjpeg/src/bin/jp3d/tcltk/decoder.tcl<br>
7568openjpeg/src/bin/jp3d/tcltk/encoder.tcl<br>
7569openjpeg/src/bin/jp3d/tcltk/logoLPI.gif<br>
7570openjpeg/src/bin/jp3d/windirent.h<br>
7571openjpeg/src/bin/jpip/CMakeLists.txt<br>
7572openjpeg/src/bin/jpip/README<br>
7573openjpeg/src/bin/jpip/opj_dec_server.c<br>
7574openjpeg/src/bin/jpip/opj_jpip_addxml.c<br>
7575openjpeg/src/bin/jpip/opj_jpip_test.c<br>
7576openjpeg/src/bin/jpip/opj_jpip_transcode.c<br>
7577openjpeg/src/bin/jpip/opj_server.c<br>
7578openjpeg/src/bin/jpip/opj_viewer/dist/manifest.txt<br>
7579openjpeg/src/bin/jpip/opj_viewer/src/ImageManager.java<br>
7580openjpeg/src/bin/jpip/opj_viewer/src/ImageViewer.java<br>
7581openjpeg/src/bin/jpip/opj_viewer/src/ImageWindow.java<br>
7582openjpeg/src/bin/jpip/opj_viewer/src/ImgdecClient.java<br>
7583openjpeg/src/bin/jpip/opj_viewer/src/JPIPHttpClient.java<br>
7584openjpeg/src/bin/jpip/opj_viewer/src/MML.java<br>
7585openjpeg/src/bin/jpip/opj_viewer/src/PnmImage.java<br>
7586openjpeg/src/bin/jpip/opj_viewer/src/RegimViewer.java<br>
7587openjpeg/src/bin/jpip/opj_viewer/src/ResizeListener.java<br>
7588openjpeg/src/bin/jpip/opj_viewer_xerces/dist/manifest.txt.in<br>
7589openjpeg/src/bin/jpip/opj_viewer_xerces/src/ImageViewer.java<br>
7590openjpeg/src/bin/jpip/opj_viewer_xerces/src/ImageWindow.java<br>
7591openjpeg/src/bin/jpip/opj_viewer_xerces/src/JP2XMLparser.java<br>
7592openjpeg/src/bin/jpip/opj_viewer_xerces/src/OptionPanel.java<br>
7593openjpeg/src/bin/jpwl/CMakeLists.txt<br>
7594openjpeg/src/bin/jpwl/convert.c<br>
7595openjpeg/src/bin/jpwl/convert.h<br>
7596openjpeg/src/bin/jpwl/index.c<br>
7597openjpeg/src/bin/jpwl/index.h<br>
7598openjpeg/src/bin/jpwl/opj_jpwl_compress.c<br>
7599openjpeg/src/bin/jpwl/opj_jpwl_decompress.c<br>
7600openjpeg/src/bin/jpwl/windirent.h<br>
7601openjpeg/src/bin/mj2/CMakeLists.txt<br>
7602openjpeg/src/bin/mj2/meta_out.c<br>
7603openjpeg/src/bin/mj2/meta_out.h<br>
7604openjpeg/src/bin/mj2/mj2_to_metadata.c<br>
7605openjpeg/src/bin/mj2/mj2_to_metadata.dtd<br>
7606openjpeg/src/bin/mj2/mj2_to_metadata.h<br>
7607openjpeg/src/bin/mj2/mj2_to_metadata.sln<br>
7608openjpeg/src/bin/mj2/mj2_to_metadata.vcproj<br>
7609openjpeg/src/bin/mj2/mj2_to_metadata_Notes.doc<br>
7610openjpeg/src/bin/mj2/opj_mj2_compress.c<br>
7611openjpeg/src/bin/mj2/opj_mj2_decompress.c<br>
7612openjpeg/src/bin/mj2/opj_mj2_extract.c<br>
7613openjpeg/src/bin/mj2/opj_mj2_wrap.c<br>
7614openjpeg/src/bin/mj2/readme.txt<br>
7615openjpeg/src/bin/wx/CMakeLists.txt<br>
7616openjpeg/src/bin/wx/OPJViewer/CMakeLists.txt<br>
7617openjpeg/src/bin/wx/OPJViewer/OPJViewer.iss<br>
7618openjpeg/src/bin/wx/OPJViewer/Readme.txt<br>
7619openjpeg/src/bin/wx/OPJViewer/about/about.htm<br>
7620openjpeg/src/bin/wx/OPJViewer/about/opj_logo.png<br>
7621openjpeg/src/bin/wx/OPJViewer/source/OPJAbout.cpp<br>
7622openjpeg/src/bin/wx/OPJViewer/source/OPJChild.ico<br>
7623openjpeg/src/bin/wx/OPJViewer/source/OPJChild16.xpm<br>
7624openjpeg/src/bin/wx/OPJViewer/source/OPJDialogs.cpp<br>
7625openjpeg/src/bin/wx/OPJViewer/source/OPJThreads.cpp<br>
7626openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.cpp<br>
7627openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.h<br>
7628openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.ico<br>
7629openjpeg/src/bin/wx/OPJViewer/source/OPJViewer.rc<br>
7630openjpeg/src/bin/wx/OPJViewer/source/OPJViewer16.xpm<br>
7631openjpeg/src/bin/wx/OPJViewer/source/about_htm.h<br>
7632openjpeg/src/bin/wx/OPJViewer/source/build.h<br>
7633openjpeg/src/bin/wx/OPJViewer/source/icon1.xpm<br>
7634openjpeg/src/bin/wx/OPJViewer/source/icon2.xpm<br>
7635openjpeg/src/bin/wx/OPJViewer/source/icon3.xpm<br>
7636openjpeg/src/bin/wx/OPJViewer/source/icon4.xpm<br>
7637openjpeg/src/bin/wx/OPJViewer/source/icon5.xpm<br>
7638openjpeg/src/bin/wx/OPJViewer/source/imagjpeg2000.cpp<br>
7639openjpeg/src/bin/wx/OPJViewer/source/imagjpeg2000.h<br>
7640openjpeg/src/bin/wx/OPJViewer/source/imagmxf.cpp<br>
7641openjpeg/src/bin/wx/OPJViewer/source/imagmxf.h<br>
7642openjpeg/src/bin/wx/OPJViewer/source/license.txt<br>
7643openjpeg/src/bin/wx/OPJViewer/source/opj_logo.xpm<br>
7644openjpeg/src/bin/wx/OPJViewer/source/readmeafter.txt<br>
7645openjpeg/src/bin/wx/OPJViewer/source/readmebefore.txt<br>
7646openjpeg/src/bin/wx/OPJViewer/source/wxj2kparser.cpp<br>
7647openjpeg/src/bin/wx/OPJViewer/source/wxjp2parser.cpp<br>
7648openjpeg/src/lib/openjp2/CMakeLists.txt<br>
7649openjpeg/src/lib/openjp2/bench_dwt.c<br>
7650openjpeg/src/lib/openjp2/dwt.c<br>
7651openjpeg/src/lib/openjp2/dwt.h<br>
7652openjpeg/src/lib/openjp2/image.c<br>
7653openjpeg/src/lib/openjp2/j2k.c<br>
7654openjpeg/src/lib/openjp2/j2k.h<br>
7655openjpeg/src/lib/openjp2/jp2.c<br>
7656openjpeg/src/lib/openjp2/jp2.h<br>
7657openjpeg/src/lib/openjp2/mct.c<br>
7658openjpeg/src/lib/openjp2/mct.h<br>
7659openjpeg/src/lib/openjp2/mqc.c<br>
7660openjpeg/src/lib/openjp2/mqc.h<br>
7661openjpeg/src/lib/openjp2/mqc_inl.h<br>
7662openjpeg/src/lib/openjp2/openjpeg.c<br>
7663openjpeg/src/lib/openjp2/openjpeg.h<br>
7664openjpeg/src/lib/openjp2/opj_codec.h<br>
7665openjpeg/src/lib/openjp2/opj_config.h<br>
7666openjpeg/src/lib/openjp2/opj_config_private.h<br>
7667openjpeg/src/lib/openjp2/opj_includes.h<br>
7668openjpeg/src/lib/openjp2/opj_intmath.h<br>
7669openjpeg/src/lib/openjp2/sparse_array.c<br>
7670openjpeg/src/lib/openjp2/sparse_array.h<br>
7671openjpeg/src/lib/openjp2/t1.c<br>
7672openjpeg/src/lib/openjp2/t1.h<br>
7673openjpeg/src/lib/openjp2/t2.c<br>
7674openjpeg/src/lib/openjp2/t2.h<br>
7675openjpeg/src/lib/openjp2/tcd.c<br>
7676openjpeg/src/lib/openjp2/tcd.h<br>
7677openjpeg/src/lib/openjp2/test_sparse_array.c<br>
7678openjpeg/src/lib/openjp2/thread.c<br>
7679<p>
7680</blockquote>
7681<hr>
7682<p><strong>2018-03-27 16:26:13 +0100
7683</strong>
7684<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7685<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=25971c91d6433b0249d3b721b75ef704afe0a09c">25971c91d6433b0249d3b721b75ef704afe0a09c</a>
7686<blockquote>
7687<p>
7688 Update libjpeg to 9c<br>
7689<br>
7690 Plus re-applying:<br>
7691 Bug 697186: Workaround JPEG lib bug.<br>
7692 8dcec8cc076a0cf8350ca7a6ec1d3136812e2a24<br>
7693<br>
7694 Bug 697186: Tweak to previous JPEG fix.<br>
7695 dc62c90930512f4b571f68c9110022b234cbd411<br>
7696<br>
7697jpeg/Makefile.am<br>
7698jpeg/Makefile.in<br>
7699jpeg/README<br>
7700jpeg/aclocal.m4<br>
7701jpeg/ar-lib<br>
7702jpeg/cderror.h<br>
7703jpeg/change.log<br>
7704jpeg/cjpeg.1<br>
7705jpeg/compile<br>
7706jpeg/config.guess<br>
7707jpeg/config.sub<br>
7708jpeg/configure<br>
7709jpeg/configure.ac<br>
7710jpeg/depcomp<br>
7711jpeg/djpeg.1<br>
7712jpeg/djpeg.c<br>
7713jpeg/filelist.txt<br>
7714jpeg/install-sh<br>
7715jpeg/install.txt<br>
7716jpeg/jcinit.c<br>
7717jpeg/jcmaster.c<br>
7718jpeg/jconfig.vc<br>
7719jpeg/jcsample.c<br>
7720jpeg/jctrans.c<br>
7721jpeg/jdarith.c<br>
7722jpeg/jdatadst.c<br>
7723jpeg/jdatasrc.c<br>
7724jpeg/jdcolor.c<br>
7725jpeg/jdct.h<br>
7726jpeg/jdhuff.c<br>
7727jpeg/jdmainct.c<br>
7728jpeg/jdmaster.c<br>
7729jpeg/jdmerge.c<br>
7730jpeg/jdsample.c<br>
7731jpeg/jerror.c<br>
7732jpeg/jfdctflt.c<br>
7733jpeg/jfdctfst.c<br>
7734jpeg/jfdctint.c<br>
7735jpeg/jidctflt.c<br>
7736jpeg/jidctfst.c<br>
7737jpeg/jidctint.c<br>
7738jpeg/jinclude.h<br>
7739jpeg/jpegint.h<br>
7740jpeg/jpeglib.h<br>
7741jpeg/jpegtran.1<br>
7742jpeg/jversion.h<br>
7743jpeg/libjpeg.pc.in<br>
7744jpeg/ltmain.sh<br>
7745jpeg/makeasln.v15<br>
7746jpeg/makecfil.v15<br>
7747jpeg/makecvcx.v15<br>
7748jpeg/makedfil.v15<br>
7749jpeg/makedvcx.v15<br>
7750jpeg/makefile.ansi<br>
7751jpeg/makefile.b32<br>
7752jpeg/makefile.bcc<br>
7753jpeg/makefile.dj<br>
7754jpeg/makefile.manx<br>
7755jpeg/makefile.mc6<br>
7756jpeg/makefile.mms<br>
7757jpeg/makefile.sas<br>
7758jpeg/makefile.unix<br>
7759jpeg/makefile.vc<br>
7760jpeg/makefile.vs<br>
7761jpeg/makefile.wat<br>
7762jpeg/makejfil.v15<br>
7763jpeg/makejsln.v15<br>
7764jpeg/makejvcx.v15<br>
7765jpeg/makerfil.v15<br>
7766jpeg/makervcx.v15<br>
7767jpeg/maketfil.v15<br>
7768jpeg/maketvcx.v15<br>
7769jpeg/makewfil.v15<br>
7770jpeg/makewvcx.v15<br>
7771jpeg/missing<br>
7772jpeg/rdbmp.c<br>
7773jpeg/rdppm.c<br>
7774jpeg/rdswitch.c<br>
7775jpeg/rdtarga.c<br>
7776jpeg/transupp.c<br>
7777jpeg/usage.txt<br>
7778jpeg/wrbmp.c<br>
7779jpeg/wrgif.c<br>
7780jpeg/wrjpgcom.c<br>
7781jpeg/wrppm.c<br>
7782jpeg/wrrle.c<br>
7783jpeg/wrtarga.c<br>
7784<p>
7785</blockquote>
7786<hr>
7787<p><strong>2018-03-27 16:16:49 +0100
7788</strong>
7789<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7790<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d8a919d4b45097a527f6f39d509b920d285d709b">d8a919d4b45097a527f6f39d509b920d285d709b</a>
7791<blockquote>
7792<p>
7793 Update expat to 2.2.5<br>
7794<br>
7795 With a couple of tweaks to base/expat.mak to make it work.<br>
7796<br>
7797base/expat.mak<br>
7798expat/AUTHORS<br>
7799expat/CMake.README<br>
7800expat/CMakeLists.txt<br>
7801expat/COPYING<br>
7802expat/Changes<br>
7803expat/ConfigureChecks.cmake<br>
7804expat/MANIFEST<br>
7805expat/Makefile.am<br>
7806expat/Makefile.in<br>
7807expat/README<br>
7808expat/README.md<br>
7809expat/aclocal.m4<br>
7810expat/amiga/Makefile<br>
7811expat/amiga/README.txt<br>
7812expat/amiga/expat.xml<br>
7813expat/amiga/expat_68k.c<br>
7814expat/amiga/expat_68k.h<br>
7815expat/amiga/expat_68k_handler_stubs.c<br>
7816expat/amiga/expat_base.h<br>
7817expat/amiga/expat_lib.c<br>
7818expat/amiga/expat_vectors.c<br>
7819expat/amiga/include/inline4/expat.h<br>
7820expat/amiga/include/interfaces/expat.h<br>
7821expat/amiga/include/libraries/expat.h<br>
7822expat/amiga/include/proto/expat.h<br>
7823expat/amiga/launch.c<br>
7824expat/bcb5/README.txt<br>
7825expat/bcb5/all_projects.bpg<br>
7826expat/bcb5/elements.bpf<br>
7827expat/bcb5/elements.bpr<br>
7828expat/bcb5/elements.mak<br>
7829expat/bcb5/expat.bpf<br>
7830expat/bcb5/expat.bpr<br>
7831expat/bcb5/expat.mak<br>
7832expat/bcb5/expat_static.bpf<br>
7833expat/bcb5/expat_static.bpr<br>
7834expat/bcb5/expat_static.mak<br>
7835expat/bcb5/expatw.bpf<br>
7836expat/bcb5/expatw.bpr<br>
7837expat/bcb5/expatw.mak<br>
7838expat/bcb5/expatw_static.bpf<br>
7839expat/bcb5/expatw_static.bpr<br>
7840expat/bcb5/expatw_static.mak<br>
7841expat/bcb5/libexpat_mtd.def<br>
7842expat/bcb5/libexpatw_mtd.def<br>
7843expat/bcb5/makefile.mak<br>
7844expat/bcb5/outline.bpf<br>
7845expat/bcb5/outline.bpr<br>
7846expat/bcb5/outline.mak<br>
7847expat/bcb5/setup.bat<br>
7848expat/bcb5/xmlwf.bpf<br>
7849expat/bcb5/xmlwf.bpr<br>
7850expat/bcb5/xmlwf.mak<br>
7851expat/configure<br>
7852expat/configure.ac<br>
7853expat/conftools/compile<br>
7854expat/conftools/config.guess<br>
7855expat/conftools/config.sub<br>
7856expat/conftools/depcomp<br>
7857expat/conftools/get-version.sh<br>
7858expat/conftools/install-sh<br>
7859expat/conftools/missing<br>
7860expat/conftools/mkinstalldirs<br>
7861expat/conftools/test-driver<br>
7862expat/doc/Makefile.am<br>
7863expat/doc/Makefile.in<br>
7864expat/doc/reference.html<br>
7865expat/doc/xmlwf.1<br>
7866expat/doc/xmlwf.xml<br>
7867expat/examples/Makefile.am<br>
7868expat/examples/Makefile.in<br>
7869expat/examples/elements.c<br>
7870expat/examples/elements.dsp<br>
7871expat/examples/elements.vcxproj<br>
7872expat/examples/elements.vcxproj.filters<br>
7873expat/examples/outline.c<br>
7874expat/examples/outline.dsp<br>
7875expat/examples/outline.vcxproj<br>
7876expat/examples/outline.vcxproj.filters<br>
7877expat/expat.dsw<br>
7878expat/expat.sln<br>
7879expat/expat_config.h<br>
7880expat/expat_config.h.cmake<br>
7881expat/expat_config.h.in<br>
7882expat/lib/Makefile.MPW<br>
7883expat/lib/Makefile.am<br>
7884expat/lib/Makefile.in<br>
7885expat/lib/amigaconfig.h<br>
7886expat/lib/ascii.h<br>
7887expat/lib/asciitab.h<br>
7888expat/lib/expat.dsp<br>
7889expat/lib/expat.h<br>
7890expat/lib/expat.vcxproj<br>
7891expat/lib/expat.vcxproj.filters<br>
7892expat/lib/expat_external.h<br>
7893expat/lib/expat_static.dsp<br>
7894expat/lib/expat_static.vcxproj<br>
7895expat/lib/expat_static.vcxproj.filters<br>
7896expat/lib/expatw.dsp<br>
7897expat/lib/expatw.vcxproj<br>
7898expat/lib/expatw.vcxproj.filters<br>
7899expat/lib/expatw_static.dsp<br>
7900expat/lib/expatw_static.vcxproj<br>
7901expat/lib/expatw_static.vcxproj.filters<br>
7902expat/lib/iasciitab.h<br>
7903expat/lib/internal.h<br>
7904expat/lib/latin1tab.h<br>
7905expat/lib/libexpat.def<br>
7906expat/lib/libexpatw.def<br>
7907expat/lib/loadlibrary.c<br>
7908expat/lib/macconfig.h<br>
7909expat/lib/nametab.h<br>
7910expat/lib/siphash.h<br>
7911expat/lib/utf8tab.h<br>
7912expat/lib/winconfig.h<br>
7913expat/lib/xmlparse.c<br>
7914expat/lib/xmlrole.c<br>
7915expat/lib/xmlrole.h<br>
7916expat/lib/xmltok.c<br>
7917expat/lib/xmltok.h<br>
7918expat/lib/xmltok_impl.c<br>
7919expat/lib/xmltok_impl.h<br>
7920expat/lib/xmltok_ns.c<br>
7921expat/m4/libtool.m4<br>
7922expat/run.sh.in<br>
7923expat/test-driver-wrapper.sh<br>
7924expat/tests/Makefile.am<br>
7925expat/tests/Makefile.in<br>
7926expat/tests/benchmark/Makefile.am<br>
7927expat/tests/benchmark/Makefile.in<br>
7928expat/tests/benchmark/benchmark.c<br>
7929expat/tests/benchmark/benchmark.dsp<br>
7930expat/tests/benchmark/benchmark.dsw<br>
7931expat/tests/benchmark/benchmark.sln<br>
7932expat/tests/benchmark/benchmark.vcxproj<br>
7933expat/tests/chardata.c<br>
7934expat/tests/chardata.h<br>
7935expat/tests/memcheck.c<br>
7936expat/tests/memcheck.h<br>
7937expat/tests/minicheck.c<br>
7938expat/tests/minicheck.h<br>
7939expat/tests/runtests.c<br>
7940expat/tests/runtests.sln<br>
7941expat/tests/runtests.vcxproj<br>
7942expat/tests/runtests.vcxproj.filters<br>
7943expat/tests/runtestspp.cpp<br>
7944expat/tests/structdata.c<br>
7945expat/tests/structdata.h<br>
7946expat/tests/udiffer.py<br>
7947expat/tests/xmltest.log.expected<br>
7948expat/tests/xmltest.sh<br>
7949expat/vms/README.vms<br>
7950expat/vms/descrip.mms<br>
7951expat/vms/expat_config.h<br>
7952expat/win32/MANIFEST.txt<br>
7953expat/win32/README.txt<br>
7954expat/win32/expat.iss<br>
7955expat/xmlwf/Makefile.am<br>
7956expat/xmlwf/Makefile.in<br>
7957expat/xmlwf/codepage.c<br>
7958expat/xmlwf/codepage.h<br>
7959expat/xmlwf/ct.c<br>
7960expat/xmlwf/filemap.h<br>
7961expat/xmlwf/readfilemap.c<br>
7962expat/xmlwf/unixfilemap.c<br>
7963expat/xmlwf/win32filemap.c<br>
7964expat/xmlwf/xmlfile.c<br>
7965expat/xmlwf/xmlfile.h<br>
7966expat/xmlwf/xmlmime.c<br>
7967expat/xmlwf/xmlmime.h<br>
7968expat/xmlwf/xmltchar.h<br>
7969expat/xmlwf/xmlurl.h<br>
7970expat/xmlwf/xmlwf.c<br>
7971expat/xmlwf/xmlwf.dsp<br>
7972expat/xmlwf/xmlwf.vcxproj<br>
7973expat/xmlwf/xmlwf.vcxproj.filters<br>
7974expat/xmlwf/xmlwin32url.cxx<br>
7975<p>
7976</blockquote>
7977<hr>
7978<p><strong>2018-03-27 14:08:47 +0100
7979</strong>
7980<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
7981<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=003c4211a019eb5c4719860f353777e177553490">003c4211a019eb5c4719860f353777e177553490</a>
7982<blockquote>
7983<p>
7984 Update libtiff to 4.0.9<br>
7985<br>
7986 Add in portability changes to tiffiop.h<br>
7987<br>
7988 Portability tiffiop.h<br>
7989<br>
7990 Remove globals from tif_pixarlog.c<br>
7991<br>
7992 Tweaks to support libtiff 4.0.9<br>
7993<br>
7994base/gstiffio.c<br>
7995configure.ac<br>
7996tiff/CMakeLists.txt<br>
7997tiff/ChangeLog<br>
7998tiff/HOWTO-RELEASE<br>
7999tiff/RELEASE-DATE<br>
8000tiff/VERSION<br>
8001tiff/config/ltmain.sh<br>
8002tiff/configure<br>
8003tiff/configure.ac<br>
8004tiff/html/Makefile.am<br>
8005tiff/html/Makefile.in<br>
8006tiff/html/index.html<br>
8007tiff/html/man/CMakeLists.txt<br>
8008tiff/html/man/Makefile.am<br>
8009tiff/html/man/Makefile.in<br>
8010tiff/html/man/rgb2ycbcr.1.html<br>
8011tiff/html/man/thumbnail.1.html<br>
8012tiff/html/v4.0.7.html<br>
8013tiff/html/v4.0.8.html<br>
8014tiff/html/v4.0.9.html<br>
8015tiff/libtiff/libtiff.def<br>
8016tiff/libtiff/tif_aux.c<br>
8017tiff/libtiff/tif_color.c<br>
8018tiff/libtiff/tif_dir.c<br>
8019tiff/libtiff/tif_dir.h<br>
8020tiff/libtiff/tif_dirinfo.c<br>
8021tiff/libtiff/tif_dirread.c<br>
8022tiff/libtiff/tif_dirwrite.c<br>
8023tiff/libtiff/tif_error.c<br>
8024tiff/libtiff/tif_fax3.c<br>
8025tiff/libtiff/tif_fax3.h<br>
8026tiff/libtiff/tif_getimage.c<br>
8027tiff/libtiff/tif_jbig.c<br>
8028tiff/libtiff/tif_jpeg.c<br>
8029tiff/libtiff/tif_jpeg_12.c<br>
8030tiff/libtiff/tif_luv.c<br>
8031tiff/libtiff/tif_lzw.c<br>
8032tiff/libtiff/tif_ojpeg.c<br>
8033tiff/libtiff/tif_open.c<br>
8034tiff/libtiff/tif_packbits.c<br>
8035tiff/libtiff/tif_pixarlog.c<br>
8036tiff/libtiff/tif_predict.c<br>
8037tiff/libtiff/tif_print.c<br>
8038tiff/libtiff/tif_read.c<br>
8039tiff/libtiff/tif_strip.c<br>
8040tiff/libtiff/tif_swab.c<br>
8041tiff/libtiff/tif_unix.c<br>
8042tiff/libtiff/tif_warning.c<br>
8043tiff/libtiff/tif_win32.c<br>
8044tiff/libtiff/tif_write.c<br>
8045tiff/libtiff/tif_zip.c<br>
8046tiff/libtiff/tiffio.h<br>
8047tiff/libtiff/tiffiop.h<br>
8048tiff/libtiff/tiffvers.h<br>
8049tiff/m4/libtool.m4<br>
8050tiff/man/CMakeLists.txt<br>
8051tiff/man/Makefile.am<br>
8052tiff/man/Makefile.in<br>
8053tiff/man/TIFFGetField.3tiff<br>
8054tiff/man/TIFFSetDirectory.3tiff<br>
8055tiff/man/TIFFSetField.3tiff<br>
8056tiff/man/rgb2ycbcr.1<br>
8057tiff/man/thumbnail.1<br>
8058tiff/nmake.opt<br>
8059tiff/test/CMakeLists.txt<br>
8060tiff/test/Makefile.am<br>
8061tiff/test/Makefile.in<br>
8062tiff/test/TiffTestCommon.cmake<br>
8063tiff/test/common.sh<br>
8064tiff/test/images/quad-lzw-compat.tiff<br>
8065tiff/test/tiff2bw-palette-1c-8b.sh<br>
8066tiff/test/tiff2bw-quad-lzw-compat.sh<br>
8067tiff/test/tiff2bw-rgb-3c-8b.sh<br>
8068tiff/test/tiffcp-lzw-compat.sh<br>
8069tiff/tools/fax2tiff.c<br>
8070tiff/tools/raw2tiff.c<br>
8071tiff/tools/tiff2bw.c<br>
8072tiff/tools/tiff2pdf.c<br>
8073tiff/tools/tiff2ps.c<br>
8074tiff/tools/tiffcp.c<br>
8075tiff/tools/tiffcrop.c<br>
8076tiff/tools/tiffinfo.c<br>
8077tiff/tools/tiffset.c<br>
8078<p>
8079</blockquote>
8080<hr>
8081<p><strong>2018-03-26 16:12:39 +0100
8082</strong>
8083<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8084<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bc817a3afdb932eadac17155834f89efd1c96da4">bc817a3afdb932eadac17155834f89efd1c96da4</a>
8085<blockquote>
8086<p>
8087 Bring libpng up to 1.6.34<br>
8088<br>
8089base/png.mak<br>
8090libpng/ANNOUNCE<br>
8091libpng/CHANGES<br>
8092libpng/CMakeLists.txt<br>
8093libpng/INSTALL<br>
8094libpng/LICENSE<br>
8095libpng/Makefile.am<br>
8096libpng/Makefile.in<br>
8097libpng/README<br>
8098libpng/TODO<br>
8099libpng/arm/filter_neon.S<br>
8100libpng/config.h.in<br>
8101libpng/configure<br>
8102libpng/configure.ac<br>
8103libpng/contrib/arm-neon/android-ndk.c<br>
8104libpng/contrib/arm-neon/linux.c<br>
8105libpng/contrib/examples/pngtopng.c<br>
8106libpng/contrib/gregbook/README<br>
8107libpng/contrib/gregbook/readpng.c<br>
8108libpng/contrib/gregbook/readpng2.c<br>
8109libpng/contrib/gregbook/readppm.c<br>
8110libpng/contrib/gregbook/rpng-win.c<br>
8111libpng/contrib/gregbook/rpng-x.c<br>
8112libpng/contrib/gregbook/rpng2-win.c<br>
8113libpng/contrib/gregbook/rpng2-x.c<br>
8114libpng/contrib/gregbook/wpng.c<br>
8115libpng/contrib/gregbook/writepng.c<br>
8116libpng/contrib/intel/INSTALL<br>
8117libpng/contrib/intel/intel_sse.patch<br>
8118libpng/contrib/libtests/pngstest.c<br>
8119libpng/contrib/libtests/pngunknown.c<br>
8120libpng/contrib/libtests/pngvalid.c<br>
8121libpng/contrib/oss-fuzz/Dockerfile<br>
8122libpng/contrib/oss-fuzz/README.txt<br>
8123libpng/contrib/oss-fuzz/build.sh<br>
8124libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc<br>
8125libpng/contrib/oss-fuzz/libpng_read_fuzzer.options<br>
8126libpng/contrib/oss-fuzz/newcc<br>
8127libpng/contrib/oss-fuzz/png.dict<br>
8128libpng/contrib/pngminus/png2pnm.c<br>
8129libpng/contrib/pngminus/pnm2png.c<br>
8130libpng/contrib/powerpc-vsx/README<br>
8131libpng/contrib/powerpc-vsx/linux.c<br>
8132libpng/contrib/powerpc-vsx/linux_aux.c<br>
8133libpng/contrib/testpngs/crashers/bad_iCCP.png<br>
8134libpng/contrib/testpngs/crashers/badadler.png<br>
8135libpng/contrib/testpngs/crashers/badcrc.png<br>
8136libpng/contrib/testpngs/crashers/empty_ancillary_chunks.png<br>
8137libpng/contrib/testpngs/crashers/huge_IDAT.png<br>
8138libpng/contrib/testpngs/crashers/huge_bKGD_chunk.png<br>
8139libpng/contrib/testpngs/crashers/huge_cHRM_chunk.png<br>
8140libpng/contrib/testpngs/crashers/huge_eXIf_chunk.png<br>
8141libpng/contrib/testpngs/crashers/huge_gAMA_chunk.png<br>
8142libpng/contrib/testpngs/crashers/huge_hIST_chunk.png<br>
8143libpng/contrib/testpngs/crashers/huge_iCCP_chunk.png<br>
8144libpng/contrib/testpngs/crashers/huge_iTXt_chunk.png<br>
8145libpng/contrib/testpngs/crashers/huge_juNK_unsafe_to_copy.png<br>
8146libpng/contrib/testpngs/crashers/huge_juNk_safe_to_copy.png<br>
8147libpng/contrib/testpngs/crashers/huge_pCAL_chunk.png<br>
8148libpng/contrib/testpngs/crashers/huge_pHYs_chunk.png<br>
8149libpng/contrib/testpngs/crashers/huge_sCAL_chunk.png<br>
8150libpng/contrib/testpngs/crashers/huge_sPLT_chunk.png<br>
8151libpng/contrib/testpngs/crashers/huge_sRGB_chunk.png<br>
8152libpng/contrib/testpngs/crashers/huge_sTER_chunk.png<br>
8153libpng/contrib/testpngs/crashers/huge_tEXt_chunk.png<br>
8154libpng/contrib/testpngs/crashers/huge_tIME_chunk.png<br>
8155libpng/contrib/testpngs/crashers/huge_zTXt_chunk.png<br>
8156libpng/contrib/testpngs/gray-1-1.8-tRNS.png<br>
8157libpng/contrib/testpngs/gray-1-1.8.png<br>
8158libpng/contrib/testpngs/gray-1-linear-tRNS.png<br>
8159libpng/contrib/testpngs/gray-1-linear.png<br>
8160libpng/contrib/testpngs/gray-1-sRGB-tRNS.png<br>
8161libpng/contrib/testpngs/gray-1-sRGB.png<br>
8162libpng/contrib/testpngs/gray-1-tRNS.png<br>
8163libpng/contrib/testpngs/gray-1.png<br>
8164libpng/contrib/testpngs/gray-16-1.8-tRNS.png<br>
8165libpng/contrib/testpngs/gray-16-1.8.png<br>
8166libpng/contrib/testpngs/gray-16-linear-tRNS.png<br>
8167libpng/contrib/testpngs/gray-16-linear.png<br>
8168libpng/contrib/testpngs/gray-16-sRGB-tRNS.png<br>
8169libpng/contrib/testpngs/gray-16-sRGB.png<br>
8170libpng/contrib/testpngs/gray-16-tRNS.png<br>
8171libpng/contrib/testpngs/gray-16.png<br>
8172libpng/contrib/testpngs/gray-2-1.8-tRNS.png<br>
8173libpng/contrib/testpngs/gray-2-1.8.png<br>
8174libpng/contrib/testpngs/gray-2-linear-tRNS.png<br>
8175libpng/contrib/testpngs/gray-2-linear.png<br>
8176libpng/contrib/testpngs/gray-2-sRGB-tRNS.png<br>
8177libpng/contrib/testpngs/gray-2-sRGB.png<br>
8178libpng/contrib/testpngs/gray-2-tRNS.png<br>
8179libpng/contrib/testpngs/gray-2.png<br>
8180libpng/contrib/testpngs/gray-4-1.8-tRNS.png<br>
8181libpng/contrib/testpngs/gray-4-1.8.png<br>
8182libpng/contrib/testpngs/gray-4-linear-tRNS.png<br>
8183libpng/contrib/testpngs/gray-4-linear.png<br>
8184libpng/contrib/testpngs/gray-4-sRGB-tRNS.png<br>
8185libpng/contrib/testpngs/gray-4-sRGB.png<br>
8186libpng/contrib/testpngs/gray-4-tRNS.png<br>
8187libpng/contrib/testpngs/gray-4.png<br>
8188libpng/contrib/testpngs/gray-8-1.8-tRNS.png<br>
8189libpng/contrib/testpngs/gray-8-1.8.png<br>
8190libpng/contrib/testpngs/gray-8-linear-tRNS.png<br>
8191libpng/contrib/testpngs/gray-8-linear.png<br>
8192libpng/contrib/testpngs/gray-8-sRGB-tRNS.png<br>
8193libpng/contrib/testpngs/gray-8-sRGB.png<br>
8194libpng/contrib/testpngs/gray-8-tRNS.png<br>
8195libpng/contrib/testpngs/gray-8.png<br>
8196libpng/contrib/testpngs/gray-alpha-16-1.8.png<br>
8197libpng/contrib/testpngs/gray-alpha-16-linear.png<br>
8198libpng/contrib/testpngs/gray-alpha-16-sRGB.png<br>
8199libpng/contrib/testpngs/gray-alpha-16.png<br>
8200libpng/contrib/testpngs/gray-alpha-8-1.8.png<br>
8201libpng/contrib/testpngs/gray-alpha-8-linear.png<br>
8202libpng/contrib/testpngs/gray-alpha-8-sRGB.png<br>
8203libpng/contrib/testpngs/gray-alpha-8.png<br>
8204libpng/contrib/testpngs/makepngs.sh<br>
8205libpng/contrib/testpngs/palette-1-1.8-tRNS.png<br>
8206libpng/contrib/testpngs/palette-1-1.8.png<br>
8207libpng/contrib/testpngs/palette-1-linear-tRNS.png<br>
8208libpng/contrib/testpngs/palette-1-linear.png<br>
8209libpng/contrib/testpngs/palette-1-sRGB-tRNS.png<br>
8210libpng/contrib/testpngs/palette-1-sRGB.png<br>
8211libpng/contrib/testpngs/palette-1-tRNS.png<br>
8212libpng/contrib/testpngs/palette-1.png<br>
8213libpng/contrib/testpngs/palette-2-1.8-tRNS.png<br>
8214libpng/contrib/testpngs/palette-2-1.8.png<br>
8215libpng/contrib/testpngs/palette-2-linear-tRNS.png<br>
8216libpng/contrib/testpngs/palette-2-linear.png<br>
8217libpng/contrib/testpngs/palette-2-sRGB-tRNS.png<br>
8218libpng/contrib/testpngs/palette-2-sRGB.png<br>
8219libpng/contrib/testpngs/palette-2-tRNS.png<br>
8220libpng/contrib/testpngs/palette-2.png<br>
8221libpng/contrib/testpngs/palette-4-1.8-tRNS.png<br>
8222libpng/contrib/testpngs/palette-4-1.8.png<br>
8223libpng/contrib/testpngs/palette-4-linear-tRNS.png<br>
8224libpng/contrib/testpngs/palette-4-linear.png<br>
8225libpng/contrib/testpngs/palette-4-sRGB-tRNS.png<br>
8226libpng/contrib/testpngs/palette-4-sRGB.png<br>
8227libpng/contrib/testpngs/palette-4-tRNS.png<br>
8228libpng/contrib/testpngs/palette-4.png<br>
8229libpng/contrib/testpngs/palette-8-1.8-tRNS.png<br>
8230libpng/contrib/testpngs/palette-8-1.8.png<br>
8231libpng/contrib/testpngs/palette-8-linear-tRNS.png<br>
8232libpng/contrib/testpngs/palette-8-linear.png<br>
8233libpng/contrib/testpngs/palette-8-sRGB-tRNS.png<br>
8234libpng/contrib/testpngs/palette-8-sRGB.png<br>
8235libpng/contrib/testpngs/palette-8-tRNS.png<br>
8236libpng/contrib/testpngs/palette-8.png<br>
8237libpng/contrib/testpngs/rgb-16-1.8-tRNS.png<br>
8238libpng/contrib/testpngs/rgb-16-1.8.png<br>
8239libpng/contrib/testpngs/rgb-16-linear-tRNS.png<br>
8240libpng/contrib/testpngs/rgb-16-linear.png<br>
8241libpng/contrib/testpngs/rgb-16-sRGB-tRNS.png<br>
8242libpng/contrib/testpngs/rgb-16-sRGB.png<br>
8243libpng/contrib/testpngs/rgb-16-tRNS.png<br>
8244libpng/contrib/testpngs/rgb-16.png<br>
8245libpng/contrib/testpngs/rgb-8-1.8-tRNS.png<br>
8246libpng/contrib/testpngs/rgb-8-1.8.png<br>
8247libpng/contrib/testpngs/rgb-8-linear-tRNS.png<br>
8248libpng/contrib/testpngs/rgb-8-linear.png<br>
8249libpng/contrib/testpngs/rgb-8-sRGB-tRNS.png<br>
8250libpng/contrib/testpngs/rgb-8-sRGB.png<br>
8251libpng/contrib/testpngs/rgb-8-tRNS.png<br>
8252libpng/contrib/testpngs/rgb-8.png<br>
8253libpng/contrib/testpngs/rgb-alpha-16-1.8.png<br>
8254libpng/contrib/testpngs/rgb-alpha-16-linear.png<br>
8255libpng/contrib/testpngs/rgb-alpha-16-sRGB.png<br>
8256libpng/contrib/testpngs/rgb-alpha-16.png<br>
8257libpng/contrib/testpngs/rgb-alpha-8-1.8.png<br>
8258libpng/contrib/testpngs/rgb-alpha-8-linear.png<br>
8259libpng/contrib/testpngs/rgb-alpha-8-sRGB.png<br>
8260libpng/contrib/testpngs/rgb-alpha-8.png<br>
8261libpng/contrib/tools/genpng.c<br>
8262libpng/contrib/tools/pngfix.c<br>
8263libpng/contrib/tools/sRGB.h<br>
8264libpng/contrib/visupng/PngFile.c<br>
8265libpng/contrib/visupng/VisualPng.c<br>
8266libpng/example.c<br>
8267libpng/intel/filter_sse2_intrinsics.c<br>
8268libpng/intel/intel_init.c<br>
8269libpng/libpng-manual.txt<br>
8270libpng/libpng.3<br>
8271libpng/libpng.pc.in<br>
8272libpng/libpngpf.3<br>
8273libpng/ltmain.sh<br>
8274libpng/mips/filter_msa_intrinsics.c<br>
8275libpng/mips/mips_init.c<br>
8276libpng/png.5<br>
8277libpng/png.c<br>
8278libpng/png.h<br>
8279libpng/pngconf.h<br>
8280libpng/pngerror.c<br>
8281libpng/pngget.c<br>
8282libpng/pnginfo.h<br>
8283libpng/pngpread.c<br>
8284libpng/pngpriv.h<br>
8285libpng/pngread.c<br>
8286libpng/pngrtran.c<br>
8287libpng/pngrutil.c<br>
8288libpng/pngset.c<br>
8289libpng/pngstruct.h<br>
8290libpng/pngtest.c<br>
8291libpng/pngtest.png<br>
8292libpng/pngtrans.c<br>
8293libpng/pngwrite.c<br>
8294libpng/pngwutil.c<br>
8295libpng/powerpc/filter_vsx_intrinsics.c<br>
8296libpng/powerpc/powerpc_init.c<br>
8297libpng/projects/owatcom/pngconfig.mak<br>
8298libpng/projects/vstudio/README.txt<br>
8299libpng/projects/vstudio/zlib.props<br>
8300libpng/scripts/README.txt<br>
8301libpng/scripts/def.c<br>
8302libpng/scripts/libpng-config-head.in<br>
8303libpng/scripts/libpng.pc.in<br>
8304libpng/scripts/makefile.cegcc<br>
8305libpng/scripts/makefile.linux<br>
8306libpng/scripts/makefile.linux-opt<br>
8307libpng/scripts/makefile.msys<br>
8308libpng/scripts/makefile.ne12bsd<br>
8309libpng/scripts/makefile.netbsd<br>
8310libpng/scripts/makefile.openbsd<br>
8311libpng/scripts/makefile.solaris-x86<br>
8312libpng/scripts/pnglibconf.dfa<br>
8313libpng/scripts/pnglibconf.h.prebuilt<br>
8314libpng/scripts/symbols.def<br>
8315libpng/tests/pngimage-full<br>
8316libpng/tests/pngimage-quick<br>
8317libpng/tests/pngstest<br>
8318libpng/tests/pngstest-1.8<br>
8319libpng/tests/pngstest-1.8-alpha<br>
8320libpng/tests/pngstest-linear<br>
8321libpng/tests/pngstest-linear-alpha<br>
8322libpng/tests/pngstest-none<br>
8323libpng/tests/pngstest-none-alpha<br>
8324libpng/tests/pngstest-sRGB<br>
8325libpng/tests/pngstest-sRGB-alpha<br>
8326libpng/tests/pngtest<br>
8327libpng/tests/pngtest-badpngs<br>
8328libpng/tests/pngunknown-IDAT<br>
8329libpng/tests/pngunknown-discard<br>
8330libpng/tests/pngunknown-if-safe<br>
8331libpng/tests/pngunknown-sAPI<br>
8332libpng/tests/pngunknown-sTER<br>
8333libpng/tests/pngunknown-save<br>
8334libpng/tests/pngunknown-vpAg<br>
8335libpng/tests/pngvalid-gamma-16-to-8<br>
8336libpng/tests/pngvalid-gamma-alpha-mode<br>
8337libpng/tests/pngvalid-gamma-background<br>
8338libpng/tests/pngvalid-gamma-expand16-alpha-mode<br>
8339libpng/tests/pngvalid-gamma-expand16-background<br>
8340libpng/tests/pngvalid-gamma-expand16-transform<br>
8341libpng/tests/pngvalid-gamma-sbit<br>
8342libpng/tests/pngvalid-gamma-threshold<br>
8343libpng/tests/pngvalid-gamma-transform<br>
8344libpng/tests/pngvalid-progressive-interlace-standard<br>
8345libpng/tests/pngvalid-progressive-size<br>
8346libpng/tests/pngvalid-progressive-standard<br>
8347libpng/tests/pngvalid-standard<br>
8348libpng/tests/pngvalid-transform<br>
8349<p>
8350</blockquote>
8351<hr>
8352<p><strong>2018-03-27 13:47:02 +0100
8353</strong>
8354<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8355<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0a4ef8b01c2ea146b9dce7b80f21f6cd65420099">0a4ef8b01c2ea146b9dce7b80f21f6cd65420099</a>
8356<blockquote>
8357<p>
8358 Remove symlink from docs install.<br>
8359<br>
8360 For 9.23 we moved the default installation path for the documentation to better<br>
8361 fit with &quot;modern&quot; Linux/Unix directory layouts. To minimize upheaval, we<br>
8362 included a symlink to the &quot;old&quot;style path.<br>
8363<br>
8364 Remove that now, as it was only a temporary thing.<br>
8365<br>
8366base/unixinst.mak<br>
8367<p>
8368</blockquote>
8369<hr>
8370<p><strong>2018-03-27 10:43:29 +0100
8371</strong>
8372<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8373<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3de8ff9bc31edb60370e7275a7c35b557737cd84">3de8ff9bc31edb60370e7275a7c35b557737cd84</a>
8374<blockquote>
8375<p>
8376 Improve the configure check for &quot;restrict&quot; keyword<br>
8377<br>
8378configure.ac<br>
8379<p>
8380</blockquote>
8381<hr>
8382<p><strong>2018-03-29 12:41:37 +0200
8383</strong>
8384<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
8385<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5249489366cfac73e83e529bae06a08ad6703980">5249489366cfac73e83e529bae06a08ad6703980</a>
8386<blockquote>
8387<p>
8388 Clean up the stdint configuration mess.<br>
8389<br>
8390 Don't require HAVE_STDINT_H to be defined to assume the sane default of<br>
8391 including the C standard stdint.h header file.<br>
8392<br>
8393 Use the configuration defines to include non-standard header files.<br>
8394<br>
8395 VS 2012 and newer have stdint.h, so use it.<br>
8396<br>
8397jbig2dec/config_win32.h<br>
8398jbig2dec/os_types.h<br>
8399<p>
8400</blockquote>
8401<hr>
8402<p><strong>2018-03-29 12:59:58 +0200
8403</strong>
8404<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
8405<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0cb8374113ae2770464b6ac7462f11f0cc9677ea">0cb8374113ae2770464b6ac7462f11f0cc9677ea</a>
8406<blockquote>
8407<p>
8408 Fix undeclared function warning.<br>
8409<br>
8410jbig2dec/jbig2_image_png.c<br>
8411<p>
8412</blockquote>
8413<hr>
8414<p><strong>2018-03-29 12:56:07 +0200
8415</strong>
8416<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
8417<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a8430e881971485fa4a824a3488f79b7ab0abfeb">a8430e881971485fa4a824a3488f79b7ab0abfeb</a>
8418<blockquote>
8419<p>
8420 Fix signed/unsigned comparison warnings.<br>
8421<br>
8422jbig2dec/Makefile.unix<br>
8423jbig2dec/jbig2_huffman.c<br>
8424jbig2dec/jbig2_image_png.c<br>
8425jbig2dec/jbig2_mmr.c<br>
8426<p>
8427</blockquote>
8428<hr>
8429<p><strong>2017-05-19 12:49:15 +0200
8430</strong>
8431<br>Tor Andersson &lt;tor.andersson@artifex.com&gt;<br>
8432<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=15f72a0b272e751ce7147bb0d8179eac68da52b0">15f72a0b272e751ce7147bb0d8179eac68da52b0</a>
8433<blockquote>
8434<p>
8435 xps: Remove needless NULL terminator when parsing abbreviated geometry.<br>
8436<br>
8437xps/xpspath.c<br>
8438<p>
8439</blockquote>
8440<hr>
8441<p><strong>2018-03-27 21:21:38 -0700
8442</strong>
8443<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
8444<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59d82e831e62bdf2e44331d10c88dd7837429dad">59d82e831e62bdf2e44331d10c88dd7837429dad</a>
8445<blockquote>
8446<p>
8447 Rename lcms2art to lcms2mt, Remove cmsChangeBuffersFormat<br>
8448<br>
8449 Since cmsChangeBuffersFormat is NOT threadsafe, we want it to remove it<br>
8450 so that it would not be part of this package which is inteded for multi-<br>
8451 threaded used. The internal use in CreateNamedColorDevicelink was replaced<br>
8452 with the appropriate code from the removed function, but that does not<br>
8453 cause a thread safety issue since the link returned is new and not shared<br>
8454 when the buffer formatters are changed.<br>
8455<br>
8456 Note: All internal references to lcms2art are replaced with lcms2mt<br>
8457<br>
8458Makefile.in<br>
8459base/gsicc_lcms2mt.c<br>
8460base/lcms2mt.mak<br>
8461base/lib.mak<br>
8462base/msvclib.mak<br>
8463base/openvms.mak<br>
8464base/ugcclib.mak<br>
8465base/unix-gcc.mak<br>
8466base/unixansi.mak<br>
8467base/winlib.mak<br>
8468configure.ac<br>
8469lcms2art/include/Makefile.am<br>
8470lcms2mt/.travis.yml<br>
8471lcms2mt/AUTHORS<br>
8472lcms2mt/COPYING<br>
8473lcms2mt/ChangeLog<br>
8474lcms2mt/INSTALL<br>
8475lcms2mt/Lib/BC/BC.txt<br>
8476lcms2mt/Lib/MS/MS.TXT<br>
8477lcms2mt/Makefile.am<br>
8478lcms2mt/Makefile.in<br>
8479lcms2mt/Projects/.gitignore<br>
8480lcms2mt/Projects/BorlandC_5.5/lcms2.rc<br>
8481lcms2mt/Projects/BorlandC_5.5/lcmsdll.lk<br>
8482lcms2mt/Projects/BorlandC_5.5/lcmsdll.lst<br>
8483lcms2mt/Projects/BorlandC_5.5/mklcmsdll.bat<br>
8484lcms2mt/Projects/VC2010/jpegicc/jpegicc.vcxproj<br>
8485lcms2mt/Projects/VC2010/jpegicc/jpegicc.vcxproj.filters<br>
8486lcms2mt/Projects/VC2010/linkicc/linkicc.vcxproj<br>
8487lcms2mt/Projects/VC2010/linkicc/linkicc.vcxproj.filters<br>
8488lcms2mt/Projects/VC2010/psicc/psicc.vcxproj<br>
8489lcms2mt/Projects/VC2010/psicc/psicc.vcxproj.filters<br>
8490lcms2mt/Projects/VC2010/resource.h<br>
8491lcms2mt/Projects/VC2010/testbed/testbed.vcxproj<br>
8492lcms2mt/Projects/VC2010/testbed/testbed.vcxproj.filters<br>
8493lcms2mt/Projects/VC2010/tiffdiff/tiffdiff.vcxproj<br>
8494lcms2mt/Projects/VC2010/tiffdiff/tiffdiff.vcxproj.filters<br>
8495lcms2mt/Projects/VC2010/tifficc/tifficc.vcxproj<br>
8496lcms2mt/Projects/VC2010/tifficc/tifficc.vcxproj.filters<br>
8497lcms2mt/Projects/VC2010/transicc/transicc.vcxproj<br>
8498lcms2mt/Projects/VC2010/transicc/transicc.vcxproj.filters<br>
8499lcms2mt/Projects/VC2012/jpegicc/jpegicc.vcxproj<br>
8500lcms2mt/Projects/VC2012/jpegicc/jpegicc.vcxproj.filters<br>
8501lcms2mt/Projects/VC2012/lcms2mt.rc<br>
8502lcms2mt/Projects/VC2012/lcms2mt.sln<br>
8503lcms2mt/Projects/VC2012/lcms2mt_DLL/lcms2mt_DLL.vcxproj<br>
8504lcms2mt/Projects/VC2012/lcms2mt_DLL/lcms2mt_DLL.vcxproj.filters<br>
8505lcms2mt/Projects/VC2012/lcms2mt_static/lcms2mt_static.vcxproj<br>
8506lcms2mt/Projects/VC2012/lcms2mt_static/lcms2mt_static.vcxproj.filters<br>
8507lcms2mt/Projects/VC2012/linkicc/linkicc.vcxproj<br>
8508lcms2mt/Projects/VC2012/linkicc/linkicc.vcxproj.filters<br>
8509lcms2mt/Projects/VC2012/psicc/psicc.vcxproj<br>
8510lcms2mt/Projects/VC2012/psicc/psicc.vcxproj.filters<br>
8511lcms2mt/Projects/VC2012/resource.h<br>
8512lcms2mt/Projects/VC2012/testbed/testbed.vcxproj<br>
8513lcms2mt/Projects/VC2012/testbed/testbed.vcxproj.filters<br>
8514lcms2mt/Projects/VC2012/tiffdiff/tiffdiff.vcxproj<br>
8515lcms2mt/Projects/VC2012/tiffdiff/tiffdiff.vcxproj.filters<br>
8516lcms2mt/Projects/VC2012/tifficc/tifficc.vcxproj<br>
8517lcms2mt/Projects/VC2012/tifficc/tifficc.vcxproj.filters<br>
8518lcms2mt/Projects/VC2012/transicc/transicc.vcxproj<br>
8519lcms2mt/Projects/VC2012/transicc/transicc.vcxproj.filters<br>
8520lcms2mt/Projects/VC2013/jpegicc/jpegicc.vcxproj<br>
8521lcms2mt/Projects/VC2013/jpegicc/jpegicc.vcxproj.filters<br>
8522lcms2mt/Projects/VC2013/lcms2mt.rc<br>
8523lcms2mt/Projects/VC2013/lcms2mt.sln<br>
8524lcms2mt/Projects/VC2013/lcms2mt_DLL/lcms2mt_DLL.vcxproj<br>
8525lcms2mt/Projects/VC2013/lcms2mt_DLL/lcms2mt_DLL.vcxproj.filters<br>
8526lcms2mt/Projects/VC2013/lcms2mt_static/lcms2mt_static.vcxproj<br>
8527lcms2mt/Projects/VC2013/lcms2mt_static/lcms2mt_static.vcxproj.filters<br>
8528lcms2mt/Projects/VC2013/linkicc/linkicc.vcxproj<br>
8529lcms2mt/Projects/VC2013/linkicc/linkicc.vcxproj.filters<br>
8530lcms2mt/Projects/VC2013/psicc/psicc.vcxproj<br>
8531lcms2mt/Projects/VC2013/psicc/psicc.vcxproj.filters<br>
8532lcms2mt/Projects/VC2013/resource.h<br>
8533lcms2mt/Projects/VC2013/testbed/testbed.vcxproj<br>
8534lcms2mt/Projects/VC2013/testbed/testbed.vcxproj.filters<br>
8535lcms2mt/Projects/VC2013/tiffdiff/tiffdiff.vcxproj<br>
8536lcms2mt/Projects/VC2013/tiffdiff/tiffdiff.vcxproj.filters<br>
8537lcms2mt/Projects/VC2013/tifficc/tifficc.vcxproj<br>
8538lcms2mt/Projects/VC2013/tifficc/tifficc.vcxproj.filters<br>
8539lcms2mt/Projects/VC2013/transicc/transicc.vcxproj<br>
8540lcms2mt/Projects/VC2013/transicc/transicc.vcxproj.filters<br>
8541lcms2mt/Projects/VC2015/jpegicc/jpegicc.vcxproj<br>
8542lcms2mt/Projects/VC2015/jpegicc/jpegicc.vcxproj.filters<br>
8543lcms2mt/Projects/VC2015/lcms2mt.rc<br>
8544lcms2mt/Projects/VC2015/lcms2mt.sln<br>
8545lcms2mt/Projects/VC2015/lcms2mt_DLL/lcms2mt_DLL.vcxproj<br>
8546lcms2mt/Projects/VC2015/lcms2mt_DLL/lcms2mt_DLL.vcxproj.filters<br>
8547lcms2mt/Projects/VC2015/lcms2mt_static/lcms2mt_static.vcxproj<br>
8548lcms2mt/Projects/VC2015/lcms2mt_static/lcms2mt_static.vcxproj.filters<br>
8549lcms2mt/Projects/VC2015/linkicc/linkicc.vcxproj<br>
8550lcms2mt/Projects/VC2015/linkicc/linkicc.vcxproj.filters<br>
8551lcms2mt/Projects/VC2015/psicc/psicc.vcxproj<br>
8552lcms2mt/Projects/VC2015/psicc/psicc.vcxproj.filters<br>
8553lcms2mt/Projects/VC2015/resource.h<br>
8554lcms2mt/Projects/VC2015/testbed/testbed.vcxproj<br>
8555lcms2mt/Projects/VC2015/testbed/testbed.vcxproj.filters<br>
8556lcms2mt/Projects/VC2015/tiffdiff/tiffdiff.vcxproj<br>
8557lcms2mt/Projects/VC2015/tiffdiff/tiffdiff.vcxproj.filters<br>
8558lcms2mt/Projects/VC2015/tifficc/tifficc.vcxproj<br>
8559lcms2mt/Projects/VC2015/tifficc/tifficc.vcxproj.filters<br>
8560lcms2mt/Projects/VC2015/transicc/transicc.vcxproj<br>
8561lcms2mt/Projects/VC2015/transicc/transicc.vcxproj.filters<br>
8562lcms2mt/Projects/VC2017/jpegicc/jpegicc.vcxproj<br>
8563lcms2mt/Projects/VC2017/jpegicc/jpegicc.vcxproj.filters<br>
8564lcms2mt/Projects/VC2017/lcms2mt.rc<br>
8565lcms2mt/Projects/VC2017/lcms2mt.sln<br>
8566lcms2mt/Projects/VC2017/lcms2mt_DLL/lcms2mt_DLL.vcxproj<br>
8567lcms2mt/Projects/VC2017/lcms2mt_DLL/lcms2mt_DLL.vcxproj.filters<br>
8568lcms2mt/Projects/VC2017/lcms2mt_static/lcms2mt_static.vcxproj<br>
8569lcms2mt/Projects/VC2017/lcms2mt_static/lcms2mt_static.vcxproj.filters<br>
8570lcms2mt/Projects/VC2017/linkicc/linkicc.vcxproj<br>
8571lcms2mt/Projects/VC2017/linkicc/linkicc.vcxproj.filters<br>
8572lcms2mt/Projects/VC2017/psicc/psicc.vcxproj<br>
8573lcms2mt/Projects/VC2017/psicc/psicc.vcxproj.filters<br>
8574lcms2mt/Projects/VC2017/resource.h<br>
8575lcms2mt/Projects/VC2017/testbed/testbed.vcxproj<br>
8576lcms2mt/Projects/VC2017/testbed/testbed.vcxproj.filters<br>
8577lcms2mt/Projects/VC2017/tiffdiff/tiffdiff.vcxproj<br>
8578lcms2mt/Projects/VC2017/tiffdiff/tiffdiff.vcxproj.filters<br>
8579lcms2mt/Projects/VC2017/tifficc/tifficc.vcxproj<br>
8580lcms2mt/Projects/VC2017/tifficc/tifficc.vcxproj.filters<br>
8581lcms2mt/Projects/VC2017/transicc/transicc.vcxproj<br>
8582lcms2mt/Projects/VC2017/transicc/transicc.vcxproj.filters<br>
8583lcms2mt/Projects/cppcheck/lcms2.cppcheck<br>
8584lcms2mt/Projects/mac/LittleCMS/._Info.plist<br>
8585lcms2mt/Projects/mac/LittleCMS/._LittleCMS.xcodeproj<br>
8586lcms2mt/Projects/mac/LittleCMS/English.lproj/InfoPlist.strings<br>
8587lcms2mt/Projects/mac/LittleCMS/Info.plist<br>
8588lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.mode1v3<br>
8589lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/mariama.pbxuser<br>
8590lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.pbxproj<br>
8591lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/contents.xcworkspacedata<br>
8592lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/UserInterfaceState.xcuserstate<br>
8593lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/WorkspaceSettings.xcsettings<br>
8594lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist<br>
8595lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/LittleCMS.xcscheme<br>
8596lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/testbed.xcscheme<br>
8597lcms2mt/Projects/mac/LittleCMS/LittleCMS.xcodeproj/xcuserdata/User.xcuserdatad/xcschemes/xcschememanagement.plist<br>
8598lcms2mt/Projects/mac/LittleCMS/LittleCMS_Prefix.pch<br>
8599lcms2mt/Projects/mac/LittleCMS/TestBed-Info.plist<br>
8600lcms2mt/README.1ST<br>
8601lcms2mt/aclocal.m4<br>
8602lcms2mt/autogen.sh<br>
8603lcms2mt/compile<br>
8604lcms2mt/config.guess<br>
8605lcms2mt/config.sub<br>
8606lcms2mt/configure<br>
8607lcms2mt/configure.ac<br>
8608lcms2mt/depcomp<br>
8609lcms2mt/doc/LittleCMS2.9 API.pdf<br>
8610lcms2mt/doc/LittleCMS2.9 Plugin API.pdf<br>
8611lcms2mt/doc/LittleCMS2.9 tutorial.pdf<br>
8612lcms2mt/doc/WhyThisFork.txt<br>
8613lcms2mt/doc/src.zip<br>
8614lcms2mt/include/Makefile.am<br>
8615lcms2mt/include/Makefile.in<br>
8616lcms2mt/include/lcms2mt.h<br>
8617lcms2mt/include/lcms2mt_plugin.h<br>
8618lcms2mt/install-sh<br>
8619lcms2mt/lcms2mt.pc.in<br>
8620lcms2mt/ltmain.sh<br>
8621lcms2mt/m4/acx_pthread.m4<br>
8622lcms2mt/m4/ax_append_compile_flags.m4<br>
8623lcms2mt/m4/ax_append_flag.m4<br>
8624lcms2mt/m4/ax_check_compile_flag.m4<br>
8625lcms2mt/m4/ax_gcc_func_attribute.m4<br>
8626lcms2mt/m4/ax_require_defined.m4<br>
8627lcms2mt/m4/libtool.m4<br>
8628lcms2mt/m4/ltoptions.m4<br>
8629lcms2mt/m4/ltsugar.m4<br>
8630lcms2mt/m4/ltversion.m4<br>
8631lcms2mt/m4/lt~obsolete.m4<br>
8632lcms2mt/missing<br>
8633lcms2mt/src/Makefile.am<br>
8634lcms2mt/src/Makefile.in<br>
8635lcms2mt/src/cmsalpha.c<br>
8636lcms2mt/src/cmscam02.c<br>
8637lcms2mt/src/cmscgats.c<br>
8638lcms2mt/src/cmscnvrt.c<br>
8639lcms2mt/src/cmserr.c<br>
8640lcms2mt/src/cmsgamma.c<br>
8641lcms2mt/src/cmsgmt.c<br>
8642lcms2mt/src/cmshalf.c<br>
8643lcms2mt/src/cmsintrp.c<br>
8644lcms2mt/src/cmsio0.c<br>
8645lcms2mt/src/cmsio1.c<br>
8646lcms2mt/src/cmslut.c<br>
8647lcms2mt/src/cmsmd5.c<br>
8648lcms2mt/src/cmsmtrx.c<br>
8649lcms2mt/src/cmsnamed.c<br>
8650lcms2mt/src/cmsopt.c<br>
8651lcms2mt/src/cmspack.c<br>
8652lcms2mt/src/cmspcs.c<br>
8653lcms2mt/src/cmsplugin.c<br>
8654lcms2mt/src/cmsps2.c<br>
8655lcms2mt/src/cmssamp.c<br>
8656lcms2mt/src/cmssm.c<br>
8657lcms2mt/src/cmstypes.c<br>
8658lcms2mt/src/cmsvirt.c<br>
8659lcms2mt/src/cmswtpnt.c<br>
8660lcms2mt/src/cmsxform.c<br>
8661lcms2mt/src/extra_xform.h<br>
8662lcms2mt/src/lcms2_internal.h<br>
8663lcms2mt/src/lcms2mt.def<br>
8664lcms2mt/testbed/Makefile.am<br>
8665lcms2mt/testbed/Makefile.in<br>
8666lcms2mt/testbed/bad.icc<br>
8667lcms2mt/testbed/bad_mpe.icc<br>
8668lcms2mt/testbed/crayons.icc<br>
8669lcms2mt/testbed/ibm-t61.icc<br>
8670lcms2mt/testbed/new.icc<br>
8671lcms2mt/testbed/test1.icc<br>
8672lcms2mt/testbed/test2.icc<br>
8673lcms2mt/testbed/test3.icc<br>
8674lcms2mt/testbed/test4.icc<br>
8675lcms2mt/testbed/test5.icc<br>
8676lcms2mt/testbed/testcms2.c<br>
8677lcms2mt/testbed/testcms2.h<br>
8678lcms2mt/testbed/testplugin.c<br>
8679lcms2mt/testbed/testthread.cpp<br>
8680lcms2mt/testbed/toosmall.icc<br>
8681lcms2mt/testbed/zoo_icc.c<br>
8682lcms2mt/utils/common/utils.h<br>
8683lcms2mt/utils/common/vprf.c<br>
8684lcms2mt/utils/common/xgetopt.c<br>
8685lcms2mt/utils/delphi/delphidemo.dpr<br>
8686lcms2mt/utils/delphi/delphidemo.dproj<br>
8687lcms2mt/utils/delphi/delphidemo.res<br>
8688lcms2mt/utils/delphi/demo1.dfm<br>
8689lcms2mt/utils/delphi/demo1.pas<br>
8690lcms2mt/utils/delphi/lcms2dll.pas<br>
8691lcms2mt/utils/jpgicc/LICENSE_iccjpeg<br>
8692lcms2mt/utils/jpgicc/Makefile.am<br>
8693lcms2mt/utils/jpgicc/Makefile.in<br>
8694lcms2mt/utils/jpgicc/iccjpeg.c<br>
8695lcms2mt/utils/jpgicc/iccjpeg.h<br>
8696lcms2mt/utils/jpgicc/jpgicc.1<br>
8697lcms2mt/utils/jpgicc/jpgicc.c<br>
8698lcms2mt/utils/linkicc/Makefile.am<br>
8699lcms2mt/utils/linkicc/Makefile.in<br>
8700lcms2mt/utils/linkicc/linkicc.1<br>
8701lcms2mt/utils/linkicc/linkicc.c<br>
8702lcms2mt/utils/matlab/icctrans.c<br>
8703lcms2mt/utils/matlab/lcms_rsp<br>
8704lcms2mt/utils/psicc/Makefile.am<br>
8705lcms2mt/utils/psicc/Makefile.in<br>
8706lcms2mt/utils/psicc/psicc.1<br>
8707lcms2mt/utils/psicc/psicc.c<br>
8708lcms2mt/utils/samples/Makefile.am<br>
8709lcms2mt/utils/samples/Makefile.in<br>
8710lcms2mt/utils/samples/itufax.c<br>
8711lcms2mt/utils/samples/mkcmy.c<br>
8712lcms2mt/utils/samples/mkgrayer.c<br>
8713lcms2mt/utils/samples/mktiff8.c<br>
8714lcms2mt/utils/samples/roundtrip.c<br>
8715lcms2mt/utils/samples/vericc.c<br>
8716lcms2mt/utils/samples/wtpt.1<br>
8717lcms2mt/utils/samples/wtpt.c<br>
8718lcms2mt/utils/tificc/Makefile.am<br>
8719lcms2mt/utils/tificc/Makefile.in<br>
8720lcms2mt/utils/tificc/tifdiff.c<br>
8721lcms2mt/utils/tificc/tificc.1<br>
8722lcms2mt/utils/tificc/tificc.c<br>
8723lcms2mt/utils/transicc/Makefile.am<br>
8724lcms2mt/utils/transicc/Makefile.in<br>
8725lcms2mt/utils/transicc/transicc.1<br>
8726lcms2mt/utils/transicc/transicc.c<br>
8727psi/msvc.mak<br>
8728psi/os2.mak<br>
8729windows/ghostscript.vcproj<br>
8730windows/ghostscript_rt.vcxproj<br>
8731<p>
8732</blockquote>
8733<hr>
8734<p><strong>2018-02-16 13:51:04 -0800
8735</strong>
8736<br>Ray Johnston &lt;ray.johnston@artifex.com&gt;<br>
8737<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370">9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370</a>
8738<blockquote>
8739<p>
8740 Make ICC profile management thread safe.<br>
8741<br>
8742 The change to ref_count of profiles needs to be protected by a lock if<br>
8743 the profile ref_count could be changed by another thread. Also when<br>
8744 decrementing the ref_count to 0, we cannot free the lock until after<br>
8745 the profile has been unlocked.<br>
8746<br>
8747 New routine gsicc_adjust_profile_rc replaces old (not threadsafe) function<br>
8748 gsicc_profile_reference.<br>
8749<br>
8750 Also add tracing &quot;cname&quot; to the RC_ADJUST_ macro to aid in debugging<br>
8751 with -Z^ debug flag.<br>
8752<br>
8753 Testing had revealed race conditions which are now fixed (eliminate use<br>
8754 of semaphores).<br>
8755<br>
8756 This also changes the gsicc_lcms2art.c interface functions to keep a<br>
8757 list of transforms configured to have differing buffer formats that<br>
8758 include alpha, planar IN/OUT, big_endian IN/OUT, bytes_per_component<br>
8759 IN/OUT which are cloned as needed by threads.<br>
8760<br>
8761 Change gscms_is_threadsafe to return &quot;true&quot; in gsicc_lcms2art.c<br>
8762<br>
8763 TBD: If a link fails to build a thread may hang waiting for the link<br>
8764 profile to become valid if it was not the thread that was building it.<br>
8765 Not a new condition, but exposed when gscms_is_threadsafe returns true.<br>
8766<br>
8767 TBD: Fix error handling / clean-up when links fail to build. Also not<br>
8768 new, but is needed to prevent leaks, and possibly hang conditions.<br>
8769<br>
8770base/gdevp14.c<br>
8771base/gscdevn.c<br>
8772base/gscie.c<br>
8773base/gscms.h<br>
8774base/gscscie.c<br>
8775base/gscspace.c<br>
8776base/gsicc.c<br>
8777base/gsicc_cache.c<br>
8778base/gsicc_lcms2art.c<br>
8779base/gsicc_manage.c<br>
8780base/gsicc_manage.h<br>
8781base/gsicc_monitorcm.c<br>
8782base/gsicc_nocm.c<br>
8783base/gsicc_replacecm.c<br>
8784base/gsmemory.c<br>
8785base/gsrefct.h<br>
8786base/gstrans.c<br>
8787base/gxclist.c<br>
8788base/gxclrast.c<br>
8789base/gxcmap.c<br>
8790base/gxipixel.c<br>
8791base/lib.mak<br>
8792lcms2art/include/lcms2art.h<br>
8793lcms2art/src/cmsxform.c<br>
8794lcms2art/src/lcms2art.def<br>
8795xps/xpscolor.c<br>
8796xps/xpsimage.c<br>
8797xps/xpstile.c<br>
8798<p>
8799</blockquote>
8800<hr>
8801<p><strong>2018-03-28 15:24:32 +0100
8802</strong>
8803<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
8804<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=33701ac07115cb2f634a40ab73a5c127ca870ad8">33701ac07115cb2f634a40ab73a5c127ca870ad8</a>
8805<blockquote>
8806<p>
8807 Correctly set the 'encoding' to none when we apply UTF-8<br>
8808<br>
8809 Bug 699156 &quot; Cyrillic file names&quot;<br>
8810<br>
8811 On Windows GhostXPS, GhostPCL and the windowed executable (gswinxx.exe)<br>
8812 were not setting the 'encoding' or were setting it to an incorrect<br>
8813 'local' encoding.<br>
8814<br>
8815 This led to us incorrectly decoding UTF-8 encoded arguments, in<br>
8816 particular the input filename, which caused ioerrors to result.<br>
8817<br>
8818pcl/pl/plmain.c<br>
8819psi/dwmain.c<br>
8820<p>
8821</blockquote>
8822<hr>
8823<p><strong>2018-03-26 20:55:39 +0100
8824</strong>
8825<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8826<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b24a4bd9bab156443c4667d4266e3deb43f933f7">b24a4bd9bab156443c4667d4266e3deb43f933f7</a>
8827<blockquote>
8828<p>
8829 Bug 699141(redux): use &quot;restrict&quot; on compatible compilers<br>
8830<br>
8831 The definition of gs_restrict was missing for C99 compilers.<br>
8832<br>
8833 Even with compilers that claim C99 compatibility, we honor the configure check<br>
8834 for restrict.<br>
8835<br>
8836base/stdpre.h<br>
8837<p>
8838</blockquote>
8839<hr>
8840<p><strong>2018-03-26 14:56:37 +0100
8841</strong>
8842<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8843<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=12d2e6e44c4ed919bd38f2a13314f4942decd610">12d2e6e44c4ed919bd38f2a13314f4942decd610</a>
8844<blockquote>
8845<p>
8846 Bug 699154: Fix conditional parenthesis in gstype42.c<br>
8847<br>
8848base/gstype42.c<br>
8849<p>
8850</blockquote>
8851<hr>
8852<p><strong>2018-03-26 14:35:09 +0100
8853</strong>
8854<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8855<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8ec5c5ded5fc19cabd95dad385b22a506e59acaf">8ec5c5ded5fc19cabd95dad385b22a506e59acaf</a>
8856<blockquote>
8857<p>
8858 zfapi.c: another case of is_glyph_index set wrongly<br>
8859<br>
8860 This is related to freetype now a) automatically selecting a Unicode cmap for<br>
8861 every font, if one is available, and b) automatically generating a Unicode cmap<br>
8862 for every font when one is not available.<br>
8863<br>
8864 Logic that we had pushed down to the FAPI/FT interface layer, we now need to<br>
8865 apply earlier.<br>
8866<br>
8867psi/zfapi.c<br>
8868<p>
8869</blockquote>
8870<hr>
8871<p><strong>2018-03-26 09:21:53 +0100
8872</strong>
8873<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8874<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6e4ac5e7f1e8ea1835a99f12a7a4e34ebd85261e">6e4ac5e7f1e8ea1835a99f12a7a4e34ebd85261e</a>
8875<blockquote>
8876<p>
8877 Bug 699141: add configure test for __restrict in compiler<br>
8878<br>
8879 It seems that some older compilers that claim to support __restrict really don't<br>
8880 and compilation fails, so check for that in configure.<br>
8881<br>
8882base/stdpre.h<br>
8883configure.ac<br>
8884<p>
8885</blockquote>
8886<hr>
8887<p><strong>2018-03-16 14:49:28 +0000
8888</strong>
8889<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8890<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=145c288cc0b1038b14334b92d40b37d27fd732b5">145c288cc0b1038b14334b92d40b37d27fd732b5</a>
8891<blockquote>
8892<p>
8893 Disable or fix some (benign) compiler warnings for libtiff<br>
8894<br>
8895base/gsjconf.h<br>
8896configure.ac<br>
8897psi/msvc.mak<br>
8898<p>
8899</blockquote>
8900<hr>
8901<p><strong>2018-03-20 14:58:01 +0000
8902</strong>
8903<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8904<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e3ef00ae7bd46ac4c45bf67cbb03a2342e850dca">e3ef00ae7bd46ac4c45bf67cbb03a2342e850dca</a>
8905<blockquote>
8906<p>
8907 Fix PACIFY_VALGRIND build<br>
8908<br>
8909 VALGRIND_HG_DISABLE_CHECKING() doesn't exist in all valgrind versions.<br>
8910<br>
8911pcl/pl/plmain.c<br>
8912<p>
8913</blockquote>
8914<hr>
8915<p><strong>2018-03-16 14:50:22 +0000
8916</strong>
8917<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8918<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fde9abbaf12c0a861dd47792e02752d6b9e6b011">fde9abbaf12c0a861dd47792e02752d6b9e6b011</a>
8919<blockquote>
8920<p>
8921 Fix a couple of unitialized variable warnings<br>
8922<br>
8923base/gdevdrop.c<br>
8924psi/zfont2.c<br>
8925<p>
8926</blockquote>
8927<hr>
8928<p><strong>2018-03-16 14:16:38 +0000
8929</strong>
8930<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8931<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99deae37f3cf32feac6eefabf17bf34a436c82ab">99deae37f3cf32feac6eefabf17bf34a436c82ab</a>
8932<blockquote>
8933<p>
8934 Fix a &quot;defined but not used&quot; warning<br>
8935<br>
8936pcl/pcl/rtraster.c<br>
8937<p>
8938</blockquote>
8939<hr>
8940<p><strong>2018-03-16 14:12:16 +0000
8941</strong>
8942<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8943<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=781c6a90b501a7cfcf1cdd337344444e6b388ef6">781c6a90b501a7cfcf1cdd337344444e6b388ef6</a>
8944<blockquote>
8945<p>
8946 Address some compiler warnings adding casts<br>
8947<br>
8948devices/gdevxalt.c<br>
8949<p>
8950</blockquote>
8951<hr>
8952<p><strong>2018-03-16 14:11:42 +0000
8953</strong>
8954<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8955<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9a3176cae5c0cd4fea05d2369289ec41d44cf842">9a3176cae5c0cd4fea05d2369289ec41d44cf842</a>
8956<blockquote>
8957<p>
8958 Fix a couple of unused variable warnings<br>
8959<br>
8960devices/gdevdsp.c<br>
8961<p>
8962</blockquote>
8963<hr>
8964<p><strong>2018-03-16 14:11:04 +0000
8965</strong>
8966<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8967<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=465b77b4b9187e99aabad1e436d5c588fa565f97">465b77b4b9187e99aabad1e436d5c588fa565f97</a>
8968<blockquote>
8969<p>
8970 Squash some unitialized variable warnings<br>
8971<br>
8972contrib/lips4/gdevl4v.c<br>
8973<p>
8974</blockquote>
8975<hr>
8976<p><strong>2018-03-16 10:19:43 +0000
8977</strong>
8978<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8979<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb770edd1c4dd9bf6c561f15564e4b8e10cc54b9">eb770edd1c4dd9bf6c561f15564e4b8e10cc54b9</a>
8980<blockquote>
8981<p>
8982 Squash compiler warning in ijs code.<br>
8983<br>
8984ijs/ijs_exec_unix.c<br>
8985<p>
8986</blockquote>
8987<hr>
8988<p><strong>2018-03-16 10:16:49 +0000
8989</strong>
8990<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
8991<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=54e6bb1a12448aca3c48cd062946f564d3a9a4d1">54e6bb1a12448aca3c48cd062946f564d3a9a4d1</a>
8992<blockquote>
8993<p>
8994 Address some compiler warnings in openjpeg<br>
8995<br>
8996configure.ac<br>
8997openjpeg/src/lib/openjp2/j2k.c<br>
8998psi/msvc.mak<br>
8999<p>
9000</blockquote>
9001<hr>
9002<p><strong>2018-03-16 09:57:02 +0000
9003</strong>
9004<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9005<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d411d72de4d41e0ad436c50d89088dc13e3b3f42">d411d72de4d41e0ad436c50d89088dc13e3b3f42</a>
9006<blockquote>
9007<p>
9008 Shared library compiler warnings: lcms2, openjpeg<br>
9009<br>
9010 When linking against the system lcms2 and openjpeg there were compiler<br>
9011 warnings (we don't see building &quot;normally&quot;).<br>
9012<br>
9013base/gsicc_lcms2.c<br>
9014base/sjpx_openjpeg.c<br>
9015<p>
9016</blockquote>
9017<hr>
9018<p><strong>2018-03-16 09:06:33 +0000
9019</strong>
9020<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9021<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ee08b05dd809984df8c686231b8c8f215f5815f9">ee08b05dd809984df8c686231b8c8f215f5815f9</a>
9022<blockquote>
9023<p>
9024 Squash compiler warning in debug code<br>
9025<br>
9026base/siscale.c<br>
9027<p>
9028</blockquote>
9029<hr>
9030<p><strong>2018-03-16 09:03:55 +0000
9031</strong>
9032<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9033<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=601e3663d23ddb49af248d539d9c90d9fcec8163">601e3663d23ddb49af248d539d9c90d9fcec8163</a>
9034<blockquote>
9035<p>
9036 For now, conditionally compile out unused structures<br>
9037<br>
9038 Solves compiler warnings.<br>
9039<br>
9040base/gdevp14.c<br>
9041<p>
9042</blockquote>
9043<hr>
9044<p><strong>2018-03-26 15:16:19 +0100
9045</strong>
9046<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9047<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f13d74f60441f7f35691fd4de90476057b8535a4">f13d74f60441f7f35691fd4de90476057b8535a4</a>
9048<blockquote>
9049<p>
9050 Bug #699153 - fix cppcheck warning<br>
9051<br>
9052 Also fix two tab whitespaces, convert to spaces.<br>
9053<br>
9054base/gsdevice.c<br>
9055<p>
9056</blockquote>
9057<hr>
9058<p><strong>2018-03-26 02:10:10 +0800
9059</strong>
9060<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9061<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41d6119463a5f013ecbe5d55d2eb707a47fdd294">41d6119463a5f013ecbe5d55d2eb707a47fdd294</a>
9062<blockquote>
9063<p>
9064 Fix 699142: Adaptive pixels can not be pixel to be predicted.<br>
9065<br>
9066 The fix for 699127 didn't account for the adaptive pixel location<br>
9067 being that of the pixel to be predicted. This is of course invalid,<br>
9068 and this is now recitified.<br>
9069<br>
9070jbig2dec/jbig2_generic.c<br>
9071<p>
9072</blockquote>
9073<hr>
9074<p><strong>2018-03-26 09:59:27 +0100
9075</strong>
9076<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9077<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=af2cf274d086e9140b388b7b1d92ab7753108491">af2cf274d086e9140b388b7b1d92ab7753108491</a>
9078<blockquote>
9079<p>
9080 Coverity ID 26634 - add some return code checks<br>
9081<br>
9082base/gsstate.c<br>
9083<p>
9084</blockquote>
9085<hr>
9086<p><strong>2018-03-23 08:45:39 +0000
9087</strong>
9088<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9089<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1a3fdb0a05b50a5ddff2d5d566979708ff350ffa">1a3fdb0a05b50a5ddff2d5d566979708ff350ffa</a>
9090<blockquote>
9091<p>
9092 Add another missing file to the documentation install list<br>
9093<br>
9094 I'd missed off the example device source file.<br>
9095<br>
9096base/unixinst.mak<br>
9097<p>
9098</blockquote>
9099<hr>
9100<p><strong>2018-03-07 09:59:55 +0000
9101</strong>
9102<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9103<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59b5259ffa6155c3c9341a268310e3879e96d441">59b5259ffa6155c3c9341a268310e3879e96d441</a>
9104<blockquote>
9105<p>
9106 Bring master up to date with 9.23 release branch<br>
9107<br>
9108 (gs923)<br>
9109<br>
9110base/version.mak<br>
9111doc/API.htm<br>
9112doc/C-style.htm<br>
9113doc/Commprod.htm<br>
9114doc/DLL.htm<br>
9115doc/Deprecated.htm<br>
9116doc/Details8.htm<br>
9117doc/Details9.htm<br>
9118doc/Develop.htm<br>
9119doc/Devices.htm<br>
9120doc/Drivers.htm<br>
9121doc/Fonts.htm<br>
9122doc/Helpers.htm<br>
9123doc/History1.htm<br>
9124doc/History2.htm<br>
9125doc/History3.htm<br>
9126doc/History4.htm<br>
9127doc/History5.htm<br>
9128doc/History6.htm<br>
9129doc/History7.htm<br>
9130doc/History8.htm<br>
9131doc/History9.htm<br>
9132doc/Install.htm<br>
9133doc/Issues.htm<br>
9134doc/Language.htm<br>
9135doc/Lib.htm<br>
9136doc/Make.htm<br>
9137doc/News.htm<br>
9138doc/Projects.htm<br>
9139doc/Ps-style.htm<br>
9140doc/Ps2epsi.htm<br>
9141doc/Psfiles.htm<br>
9142doc/Readme.htm<br>
9143doc/Release.htm<br>
9144doc/SavedPages.htm<br>
9145doc/Source.htm<br>
9146doc/Unix-lpr.htm<br>
9147doc/Use.htm<br>
9148doc/VectorDevices.htm<br>
9149doc/WhatIsGS.htm<br>
9150doc/gs-vms.hlp<br>
9151doc/sample_downscale_device.htm<br>
9152doc/thirdparty.htm<br>
9153man/dvipdf.1<br>
9154man/gs.1<br>
9155man/gslp.1<br>
9156man/gsnd.1<br>
9157man/pdf2dsc.1<br>
9158man/pdf2ps.1<br>
9159man/pf2afm.1<br>
9160man/pfbtopfa.1<br>
9161man/printafm.1<br>
9162man/ps2ascii.1<br>
9163man/ps2epsi.1<br>
9164man/ps2pdf.1<br>
9165man/ps2pdfwr.1<br>
9166man/ps2ps.1<br>
9167<p>
9168</blockquote>
9169<hr>
9170<p><strong>2018-03-22 11:30:03 +0000
9171</strong>
9172<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9173<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=57d33404ce0fab68a909fff501c0b8e2912b9956">57d33404ce0fab68a909fff501c0b8e2912b9956</a>
9174<blockquote>
9175<p>
9176 Check __STDC_VERSION__ is defined before using it<br>
9177<br>
9178 Not all compilers (and versions) have __STDC_VERSION__<br>
9179<br>
9180base/stdpre.h<br>
9181<p>
9182</blockquote>
9183<hr>
9184<p><strong>2018-03-22 11:16:09 +0000
9185</strong>
9186<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9187<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=829c4c55f8b0d77ead0c3daf3ab4164c6b7d8365">829c4c55f8b0d77ead0c3daf3ab4164c6b7d8365</a>
9188<blockquote>
9189<p>
9190 Fix FAPI's CharString dictionary accessing<br>
9191<br>
9192 Because dictionaries are (generally) made up of sparse arrays (one each for<br>
9193 keys and values), it's not generally safe to simply access indices into those<br>
9194 arrays - which the FAPI code was doing.<br>
9195<br>
9196 Normally, for that type of access, we'd use the dictionary content enumerator<br>
9197 function but, in this case, the FAPI API does not enforce iterating through<br>
9198 the dictionary contents, but allows for &quot;random&quot; accessing the contents.<br>
9199<br>
9200 However, the requirement to handle broken or invalid CharStrings also means we<br>
9201 neatly handle empty slots in the sparse arrays.<br>
9202<br>
9203 So, the only change required here is to use the maximum size of the dictionary<br>
9204 object, rather than the &quot;size&quot; to know how many indices to check.<br>
9205<br>
9206 As an additional safety check, however, also add checks for the key/value<br>
9207 types, and treat an invalid type as an empty slot.<br>
9208<br>
9209psi/zfapi.c<br>
9210<p>
9211</blockquote>
9212<hr>
9213<p><strong>2018-03-22 11:21:13 +0000
9214</strong>
9215<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9216<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8ac0975771838c7d8c17f5f2f7223607eb976788">8ac0975771838c7d8c17f5f2f7223607eb976788</a>
9217<blockquote>
9218<p>
9219 PS interpreter - fix parsing of NChannel Colorants dictionary<br>
9220<br>
9221 The code was previously using dict_index_entry to retrieve entries<br>
9222 from the Colorants dictionary, but it did not account for the function<br>
9223 returning gs_error_undefined when a slot in the dictionary was present<br>
9224 but unused. Since dictionaries are sparse arrays, this is possible.<br>
9225<br>
9226 This commit reworks the code to use dict_first() and dict_next() to<br>
9227 retrieve elements from the dictionary, and starts at the maximum entry<br>
9228 and works down, instead of the previous code which started at 0 and<br>
9229 worked up.<br>
9230<br>
9231psi/zcolor.c<br>
9232<p>
9233</blockquote>
9234<hr>
9235<p><strong>2018-03-20 21:42:39 +0000
9236</strong>
9237<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
9238<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e54754db42c2640c10a73b18779213d16dbd10d0">e54754db42c2640c10a73b18779213d16dbd10d0</a>
9239<blockquote>
9240<p>
9241 Bug 697545 : Update functions to return error codes.<br>
9242<br>
9243 Prevent numerous SEGV points by ensuring error codes are returned and<br>
9244 handled appropriately<br>
9245<br>
9246base/gsptype1.c<br>
9247base/gximage1.c<br>
9248base/gxipixel.c<br>
9249base/gxpcmap.c<br>
9250<p>
9251</blockquote>
9252<hr>
9253<p><strong>2018-03-21 02:43:52 +0800
9254</strong>
9255<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9256<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=94d46eea5dada844ac4d9767dfb7a384a408e111">94d46eea5dada844ac4d9767dfb7a384a408e111</a>
9257<blockquote>
9258<p>
9259 Fix 698839: Remove testcase that cannot be found from testrunner.<br>
9260<br>
9261jbig2dec/test_jbig2dec.py<br>
9262<p>
9263</blockquote>
9264<hr>
9265<p><strong>2018-03-21 02:38:15 +0800
9266</strong>
9267<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9268<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=222403964eb437c0b60404fcc11bb879744d263e">222403964eb437c0b60404fcc11bb879744d263e</a>
9269<blockquote>
9270<p>
9271 Fix 698839: Add hash for testcases that fail to decode anything.<br>
9272<br>
9273 The testrunner stated that the expected hash for 042_13.jb2 and<br>
9274 042_14.jb2 was that of a successfully decoded image. Historically<br>
9275 these two images have caused jbig2dec to segfault, but nowadays<br>
9276 they correctly cause FATAL ERRORs. When FATAL ERRORs are<br>
9277 encountered as hash covering 0 bytes of image data is computed,<br>
9278 so the testrunner now expects this hash instead. Therefore the<br>
9279 check now run successfully.<br>
9280<br>
9281jbig2dec/test_jbig2dec.py<br>
9282<p>
9283</blockquote>
9284<hr>
9285<p><strong>2018-03-21 02:30:12 +0800
9286</strong>
9287<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9288<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=430fcce8516a3c38f03e8f81d4d8b3e87a5aff28">430fcce8516a3c38f03e8f81d4d8b3e87a5aff28</a>
9289<blockquote>
9290<p>
9291 Fix 698839: Have the testsuite runner return the result.<br>
9292<br>
9293 Previously the return value was None regardless of test succeeded<br>
9294 or failed. This meant that the test_jbig2dec.py script had an<br>
9295 exit code of 1 not matter the outcome. Now it is 0 upon success<br>
9296 and 1 upon error, as expected by the make check infrastructure.<br>
9297<br>
9298jbig2dec/test_jbig2dec.py<br>
9299<p>
9300</blockquote>
9301<hr>
9302<p><strong>2018-03-21 00:44:00 +0800
9303</strong>
9304<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9305<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3431972e91c51403cf4223f1d5c28b666ea84c6e">3431972e91c51403cf4223f1d5c28b666ea84c6e</a>
9306<blockquote>
9307<p>
9308 Fix 698839: Set correct checksum for amb_{1,2}.jb2 in test suite.<br>
9309<br>
9310jbig2dec/test_jbig2dec.py<br>
9311<p>
9312</blockquote>
9313<hr>
9314<p><strong>2018-03-20 13:16:40 +0000
9315</strong>
9316<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9317<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d8d4a64468252f5b632891fa9c8fdf98930fae15">d8d4a64468252f5b632891fa9c8fdf98930fae15</a>
9318<blockquote>
9319<p>
9320 Add missing files to doc install target<br>
9321<br>
9322 These files:<br>
9323<br>
9324 VectorDevices.htm<br>
9325 sample_downscale_device.htm<br>
9326 SavedPages.htm<br>
9327 subclass.htm<br>
9328<br>
9329 were missing from the documentation installation target<br>
9330<br>
9331base/unixinst.mak<br>
9332<p>
9333</blockquote>
9334<hr>
9335<p><strong>2018-03-20 14:13:00 +0000
9336</strong>
9337<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9338<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=18ec3899047e26109548cb601f0bf830a86d9abe">18ec3899047e26109548cb601f0bf830a86d9abe</a>
9339<blockquote>
9340<p>
9341 Coverty ID 94548 - check return value<br>
9342<br>
9343psi/zupath.c<br>
9344<p>
9345</blockquote>
9346<hr>
9347<p><strong>2018-03-20 13:36:31 +0000
9348</strong>
9349<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9350<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9f78155bc0f5050359ea6dfbfb5166e4f72a9cf">a9f78155bc0f5050359ea6dfbfb5166e4f72a9cf</a>
9351<blockquote>
9352<p>
9353 Coverity ID 26487 - remove duplicate branch<br>
9354<br>
9355devices/gdevpdfimg.c<br>
9356<p>
9357</blockquote>
9358<hr>
9359<p><strong>2018-03-20 12:10:15 +0000
9360</strong>
9361<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9362<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=46b6212e1688ba5d49923908d3be3f9329dd705b">46b6212e1688ba5d49923908d3be3f9329dd705b</a>
9363<blockquote>
9364<p>
9365 PDF interpreter - remove /.gs.pdfobj# entries from pdfmarks<br>
9366<br>
9367 Since we increased the places where we use /.gs.pfgobj# to track the<br>
9368 PDF object number, we have been emitting PDF files from pdfwrite<br>
9369 which contain dictionaries with illegal PDF names.<br>
9370<br>
9371 The '#' in PDF naming is used to escape unprintable characters (eg<br>
9372 space), it must be followed by 2 hex digits, ours isn't.<br>
9373<br>
9374 Trying to fix this in the pdfmark processing proved problematic, so<br>
9375 instead, remove it at the PostScritp level.<br>
9376<br>
9377Resource/Init/pdf_draw.ps<br>
9378Resource/Init/pdf_main.ps<br>
9379<p>
9380</blockquote>
9381<hr>
9382<p><strong>2018-03-20 02:28:20 +0800
9383</strong>
9384<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9385<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8cf6ddf78db5fc4a453df1a1a9d3ea120ba47609">8cf6ddf78db5fc4a453df1a1a9d3ea120ba47609</a>
9386<blockquote>
9387<p>
9388 Fix 698840: Fix typo in exit code in command-line tool.<br>
9389<br>
9390 This was introduced in 301726dd5c9c60c1e54eb0965c1d45b36350ce2e.<br>
9391<br>
9392 Thanks to Max Rees for reporting.<br>
9393<br>
9394jbig2dec/jbig2dec.c<br>
9395<p>
9396</blockquote>
9397<hr>
9398<p><strong>2018-03-18 14:09:16 +0800
9399</strong>
9400<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9401<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=71bf7cb0c4aa3d2bb06deac2df675af44b3e4c3b">71bf7cb0c4aa3d2bb06deac2df675af44b3e4c3b</a>
9402<blockquote>
9403<p>
9404 Fix 699127: JBIG2 adaptive pixels restricted to field.<br>
9405<br>
9406 When decoding generic regions the adaptive pixels must be<br>
9407 restricted to a field, previously this was not validated,<br>
9408 leading to out of buffer accesses.<br>
9409<br>
9410 This is now validated and may generate a fatal error.<br>
9411<br>
9412jbig2dec/jbig2_generic.c<br>
9413<p>
9414</blockquote>
9415<hr>
9416<p><strong>2018-03-19 13:47:36 +0000
9417</strong>
9418<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9419<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=bb2ea8ca0482cb0bb5632c30e9184e3d19fdc8d2">bb2ea8ca0482cb0bb5632c30e9184e3d19fdc8d2</a>
9420<blockquote>
9421<p>
9422 pdfwrite - ensure correct ICC profile version being written out<br>
9423<br>
9424 Bug #699104 &quot;Identify ICC profiles unsuitable for embedding in output PDF and fall back to device space&quot;<br>
9425<br>
9426 Previously we did not check the minor version number of ICC profiles<br>
9427 when writing an ICCBased colour space. Since PDF versions below 1.7<br>
9428 support either 4.0.0 0r 4.1.0, this could mean that we wrote a version<br>
9429 of profile that was too great for teh PDF version.<br>
9430<br>
9431 Following on from Michael's commit f732ea3a999f73afa46c2cc4ca28b067f671d29c<br>
9432 we can now determine the minor version number of profiles, and we now<br>
9433 use that to decide whether to use the profile as it is, or drop back to<br>
9434 a version 2 profile.<br>
9435<br>
9436 Since falling back to a version 2 profile can cause subtle changes in<br>
9437 colour, we now make the default CompatibilityLevel for PDF output 1.7.<br>
9438 Some PDFSETTINGS convert all colours to device spaces and these have<br>
9439 not been altered (not required). We could have defaulted to PDF 2.0<br>
9440 output, but the code is rather new, and also prevents certain constructs<br>
9441 (eg TransferFunction in the graphics state).<br>
9442<br>
9443Resource/Init/gs_pdfwr.ps<br>
9444devices/vector/gdevpdf.c<br>
9445devices/vector/gdevpdfk.c<br>
9446doc/VectorDevices.htm<br>
9447<p>
9448</blockquote>
9449<hr>
9450<p><strong>2018-03-19 11:13:13 +0000
9451</strong>
9452<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9453<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5fe0dbb5de65ca92a0ba8ff4a96447e30e4366e8">5fe0dbb5de65ca92a0ba8ff4a96447e30e4366e8</a>
9454<blockquote>
9455<p>
9456 pdfwrite - remove special case for GS_UNDEFINED ICC profile colour space<br>
9457<br>
9458 Since commit f732ea3a999f73afa46c2cc4ca28b067f671d29c the cs_data<br>
9459 member of ICC profiles generated internally is correctly set. So we no<br>
9460 longer need to special-case ICC profiles where the cs_data member is<br>
9461 GS_UNDEFINED.<br>
9462<br>
9463devices/vector/gdevpdfk.c<br>
9464<p>
9465</blockquote>
9466<hr>
9467<p><strong>2018-03-19 10:29:38 +0000
9468</strong>
9469<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9470<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=8078194fd8abe7c9c3088573b9e69a4a967b6ee0">8078194fd8abe7c9c3088573b9e69a4a967b6ee0</a>
9471<blockquote>
9472<p>
9473 Bug 699122 - valgrind regression<br>
9474<br>
9475 Somewhat to my surprise, calling gs_setcolorspace does not set the<br>
9476 device colour, and leaves 'ccolor_valid' in an undefined state.<br>
9477<br>
9478 Call gs_set_dev_color() to explicitly set the device colour after we<br>
9479 reset the device space to gray in gs_initgraphics()<br>
9480<br>
9481base/gsstate.c<br>
9482<p>
9483</blockquote>
9484<hr>
9485<p><strong>2018-03-16 13:27:45 +0000
9486</strong>
9487<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9488<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9b9acd5a8e074bbb47107f6add7b8afb1fe43270">9b9acd5a8e074bbb47107f6add7b8afb1fe43270</a>
9489<blockquote>
9490<p>
9491 Fix ommission from revised documentation install path<br>
9492<br>
9493base/unixinst.mak<br>
9494<p>
9495</blockquote>
9496<hr>
9497<p><strong>2018-03-18 12:33:22 -0700
9498</strong>
9499<br>Michael Vrhel &lt;michael.vrhel@artifex.com&gt;<br>
9500<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f732ea3a999f73afa46c2cc4ca28b067f671d29c">f732ea3a999f73afa46c2cc4ca28b067f671d29c</a>
9501<blockquote>
9502<p>
9503 Bug 699104 make sure data_cs is populated when creating profiles<br>
9504<br>
9505 Also, added a method to return the major and minor version numbers<br>
9506 for use in pdf write.<br>
9507<br>
9508base/gsciemap.c<br>
9509base/gsicc_manage.c<br>
9510base/gsicc_manage.h<br>
9511<p>
9512</blockquote>
9513<hr>
9514<p><strong>2018-03-15 19:14:15 +0000
9515</strong>
9516<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9517<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=269663402c5210dd1a15131a045526e3cd6de479">269663402c5210dd1a15131a045526e3cd6de479</a>
9518<blockquote>
9519<p>
9520 pdfimage devices - fix up some minor problems<br>
9521<br>
9522 Bug #699119 &quot; pdfimage24 creates bad PDF&quot;<br>
9523<br>
9524 When I removed some extraneous stuff from the output (to simplify it) I<br>
9525 forgot to update the pdfimage devices properly, leading to them trying<br>
9526 to write xref entries for missing data.<br>
9527<br>
9528 In addition, there was a problem writing the Length object of the image<br>
9529 streams.<br>
9530<br>
9531 Ghostscript complained about both of these but rendered the content<br>
9532 correctly, other consumers didn't complain.<br>
9533<br>
9534devices/gdevpdfimg.c<br>
9535<p>
9536</blockquote>
9537<hr>
9538<p><strong>2018-03-15 11:04:40 +0000
9539</strong>
9540<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9541<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=124b37fc65fe665d8b4a6133142784c4edb3b3bf">124b37fc65fe665d8b4a6133142784c4edb3b3bf</a>
9542<blockquote>
9543<p>
9544 lcms2art: byteReverse needs a ContextID<br>
9545<br>
9546 on big endian platforms - fix that.<br>
9547<br>
9548 Reported against 9.23 RC1<br>
9549<br>
9550lcms2art/src/cmsmd5.c<br>
9551<p>
9552</blockquote>
9553<hr>
9554<p><strong>2018-01-29 15:32:52 +0000
9555</strong>
9556<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9557<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e0f461a8a634036bbff938492190c72fcef684ac">e0f461a8a634036bbff938492190c72fcef684ac</a>
9558<blockquote>
9559<p>
9560 Tweak indent of comment.<br>
9561<br>
9562base/gsicc_lcms2art.c<br>
9563<p>
9564</blockquote>
9565<hr>
9566<p><strong>2018-03-14 19:49:29 +0000
9567</strong>
9568<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9569<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=40263f15745f9cf9477acc35708bf61a2de46a6b">40263f15745f9cf9477acc35708bf61a2de46a6b</a>
9570<blockquote>
9571<p>
9572 Simplify image enumerator rectangle logic for scalers.<br>
9573<br>
9574 We store the image size as a rectangle in the image enumerator.<br>
9575 For the purposes of scaling, we also store the rectangle that<br>
9576 needs to be rendered. We expand this slightly to allow for<br>
9577 the support requirements of the scaler, thus giving a rectangle<br>
9578 that is really what we need to decode.<br>
9579<br>
9580 In order to correctly setup the scaler we then need to try to<br>
9581 guess how much expansion was done. My previous attempts at<br>
9582 this guesswork failed.<br>
9583<br>
9584 A simpler solution would appear to be to just save both the<br>
9585 render and decode rectangles stored separately. This simplifies<br>
9586 the logic.<br>
9587<br>
9588base/gximage.h<br>
9589base/gxipixel.c<br>
9590base/gxiscale.c<br>
9591base/sisparam.h<br>
9592<p>
9593</blockquote>
9594<hr>
9595<p><strong>2018-03-12 18:53:45 +0000
9596</strong>
9597<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9598<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=088cae9953f3a692201915c91bc87260add91fc6">088cae9953f3a692201915c91bc87260add91fc6</a>
9599<blockquote>
9600<p>
9601 lcms2art: Split transforms in two.<br>
9602<br>
9603 Each cmsTransform now has a 'core' part and a part that can<br>
9604 be 'cloned' to change the buffer formats.<br>
9605<br>
9606 The plan is to drop cmsChangeBuffersFormat and use this instead<br>
9607 to make sure we truly are thread safe.<br>
9608<br>
9609lcms2art/include/lcms2art.h<br>
9610lcms2art/src/cmsalpha.c<br>
9611lcms2art/src/cmsnamed.c<br>
9612lcms2art/src/cmsplugin.c<br>
9613lcms2art/src/cmsps2.c<br>
9614lcms2art/src/cmsvirt.c<br>
9615lcms2art/src/cmsxform.c<br>
9616lcms2art/src/extra_xform.h<br>
9617lcms2art/src/lcms2_internal.h<br>
9618<p>
9619</blockquote>
9620<hr>
9621<p><strong>2018-03-12 18:53:17 +0000
9622</strong>
9623<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9624<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=85569e3bd463ff2b67c195dd84ed770d2f86eb8f">85569e3bd463ff2b67c195dd84ed770d2f86eb8f</a>
9625<blockquote>
9626<p>
9627 Update VS project for lcms2 -&gt; lcms2art change.<br>
9628<br>
9629windows/ghostscript.vcproj<br>
9630<p>
9631</blockquote>
9632<hr>
9633<p><strong>2018-03-14 19:38:01 +0000
9634</strong>
9635<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9636<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ad292af74cbb8e823cf2829d29a35661caf1c49c">ad292af74cbb8e823cf2829d29a35661caf1c49c</a>
9637<blockquote>
9638<p>
9639 Fix typo in Memento_breakpointLocked.<br>
9640<br>
9641base/memento.c<br>
9642<p>
9643</blockquote>
9644<hr>
9645<p><strong>2018-03-14 16:41:03 +0000
9646</strong>
9647<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9648<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=34e279b84a6271c37a5a51ccefaccd2362845e73">34e279b84a6271c37a5a51ccefaccd2362845e73</a>
9649<blockquote>
9650<p>
9651 Revert &quot;Tweak bitmap interpolater patch size.&quot;<br>
9652<br>
9653 This reverts commit 38e0c643e62087c089c59c9ad44fc468dd09cd37.<br>
9654<br>
9655 This was shown to cause problems with:<br>
9656<br>
9657 tests_private/pdf/PDFIA1.7_SUBSET/IA3Z3225.pdf.pdf.psdcmyk.300.1<br>
9658<br>
9659 (or tests_private/pdf/PDFIA1.7_SUBSET/IA3Z3225.pdf, page 2, tweaked<br>
9660 to rotate by 270).<br>
9661<br>
9662 Reverting for now so I can try to find a less hacky (and hence<br>
9663 less error prone) way of working.<br>
9664<br>
9665base/gxiscale.c<br>
9666base/sisparam.h<br>
9667<p>
9668</blockquote>
9669<hr>
9670<p><strong>2018-03-01 15:04:48 +0800
9671</strong>
9672<br>Sebastian Rasmussen &lt;sebras@gmail.com&gt;<br>
9673<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36ab38b53695ae4b212507c45ec07f117ff26e2d">36ab38b53695ae4b212507c45ec07f117ff26e2d</a>
9674<blockquote>
9675<p>
9676 Fix 699083: Avoid leak in symbol dictionary parsing upon error.<br>
9677<br>
9678jbig2dec/jbig2_symbol_dict.c<br>
9679<p>
9680</blockquote>
9681<hr>
9682<p><strong>2018-03-13 12:20:33 +0000
9683</strong>
9684<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9685<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=151aa07a734101182b1861c3113c2539d2d8a485">151aa07a734101182b1861c3113c2539d2d8a485</a>
9686<blockquote>
9687<p>
9688 pdfwrite - correct a function name<br>
9689<br>
9690 stupid typo in function name, its been annoying me for years.<br>
9691<br>
9692devices/vector/gdevpdtt.c<br>
9693<p>
9694</blockquote>
9695<hr>
9696<p><strong>2018-03-13 10:37:08 +0000
9697</strong>
9698<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9699<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cb018b64dea61f2d6146652dce349d3fadab1709">cb018b64dea61f2d6146652dce349d3fadab1709</a>
9700<blockquote>
9701<p>
9702 Squash a benign compiler warning<br>
9703<br>
9704devices/vector/gdevpdtt.c<br>
9705<p>
9706</blockquote>
9707<hr>
9708<p><strong>2018-03-13 10:36:45 +0000
9709</strong>
9710<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9711<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=9ad220db0c06b9a22bd757f92edaaf624b701b1b">9ad220db0c06b9a22bd757f92edaaf624b701b1b</a>
9712<blockquote>
9713<p>
9714 pdfwrite - don't write device spaces for masks representing glyphs<br>
9715<br>
9716 This came up while looking into ICC profile embedding. If we are<br>
9717 processing a mask bitmap which represents a glyph (eg when creating a<br>
9718 type 3 font for a font which cannot be embedded directly in a PDF) we<br>
9719 do not want to write a device colour.<br>
9720<br>
9721 We probably *never* want to write a device colour in here, but I'm not<br>
9722 certain of that, I am certain that the high level colour will already<br>
9723 have been set if we are processing text though. So in this commit, limit<br>
9724 the change so that we don't write device colours for glyphs.<br>
9725<br>
9726devices/vector/gdevpdfb.c<br>
9727<p>
9728</blockquote>
9729<hr>
9730<p><strong>2018-03-13 10:33:52 +0000
9731</strong>
9732<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9733<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f06d2b00d005012379d4a2f6f47aab99b7b13b5c">f06d2b00d005012379d4a2f6f47aab99b7b13b5c</a>
9734<blockquote>
9735<p>
9736 pdfwrite - reject inappropriate ICC profiles<br>
9737<br>
9738 PDF files cannot include the full possible range of ICC profiles, if<br>
9739 we encounter one of these (eg from an XPS file) then refuse to embed it<br>
9740 and instead return gs_error_rangecheck, so that the calling code will<br>
9741 fall back to a device space representation.<br>
9742<br>
9743 NOTE we currently permit GS_UNDEFINED as a valid data_cs which we really<br>
9744 shouldn't but the current code, when converting a CIEBasedDEF or<br>
9745 CIEBasedDEFG (possibly other CIE spaces) to ICC creates a profile<br>
9746 where data_cs is GS_UNDEFINED (which is 0, so probably not actually<br>
9747 filled in).<br>
9748<br>
9749devices/vector/gdevpdfk.c<br>
9750<p>
9751</blockquote>
9752<hr>
9753<p><strong>2018-03-06 12:22:23 +0000
9754</strong>
9755<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9756<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d6bdb65a51e154402a173182e8d1beccba610ea0">d6bdb65a51e154402a173182e8d1beccba610ea0</a>
9757<blockquote>
9758<p>
9759 Memento: Add Mutex to protect Memento operations.<br>
9760<br>
9761 Solves problems that Ray was seeing while debugging the multithreaded<br>
9762 integration of our modified LCMS2.<br>
9763<br>
9764base/memento.c<br>
9765<p>
9766</blockquote>
9767<hr>
9768<p><strong>2018-03-12 14:22:44 +0000
9769</strong>
9770<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
9771<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6596a021cbe1cd716eaf50e3dd06de646e05572">c6596a021cbe1cd716eaf50e3dd06de646e05572</a>
9772<blockquote>
9773<p>
9774 pdfwrite - avoid use of /.notdef when converting PCL fonts to type 3<br>
9775<br>
9776 Bug #699102 &quot;using -sDEVICE=pdfwrite option generate an incorrect code 128 barcode&quot;<br>
9777<br>
9778 This is actually an Acrobat bug, every other viewer I've tested works as<br>
9779 expected, Acrobat does not.<br>
9780<br>
9781 The problem appears to be related to defining a /.notdef glyph and<br>
9782 encoding it at a position other than 0 in the Encoding. If we do that,<br>
9783 and use the encoded /.notdef glyph, Acrobat quietly replaces it with the<br>
9784 glyph encoded at position 0 in the Encoding of the font.<br>
9785<br>
9786 Because of the way that PCL fonts work, when we are converting PCL<br>
9787 fonts to type 3 PDF fonts, the character (PCL) 0x1D gets assigned the<br>
9788 glyph name /.notdef. The actual Encoding of the glyph is at position<br>
9789 0x1D however, which causes Acrobat to substitute the glyph at Encoding<br>
9790 position 0.<br>
9791<br>
9792 This is obviously wrong. However, since its Acrobat, here we add yet<br>
9793 another heuristic to avoid defining glyphs with the name /.notdef when<br>
9794 creating type 3 PDF fonts from PCL fonts.<br>
9795<br>
9796 No differences expected<br>
9797<br>
9798devices/vector/gdevpdtt.c<br>
9799<p>
9800</blockquote>
9801<hr>
9802<p><strong>2018-03-07 18:31:23 +0000
9803</strong>
9804<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
9805<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3b3d8f74dc026c4f1af5022a1527d41d21511401">3b3d8f74dc026c4f1af5022a1527d41d21511401</a>
9806<blockquote>
9807<p>
9808 Bug 697545 : Prevent SEGV from gs_make_pattern_common.<br>
9809<br>
9810 Prevent SEGV if memory allocation fails and returns an empty path.<br>
9811<br>
9812 Error created using :-<br>
9813 MEMENTO_FAILAT=9104 ./membin/gpcl6 -sDEVICE=ppmraw -o /dev/null ./pcl/examples/owl.pcl<br>
9814<br>
9815base/gspcolor.c<br>
9816<p>
9817</blockquote>
9818<hr>
9819<p><strong>2018-03-08 13:21:54 +0000
9820</strong>
9821<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
9822<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d68b62d7567f20f0f269d096b899bd2409967980">d68b62d7567f20f0f269d096b899bd2409967980</a>
9823<blockquote>
9824<p>
9825 Avoid total image dropout in interplated rescales.<br>
9826<br>
9827 Tests show that the following command causes images to disappear:<br>
9828<br>
9829 gxps -o out.ppm -sDEVICE=ppmraw -72 tests_private/xps/xpsfts-a4/fts_27xx.xps<br>
9830<br>
9831 This is because we scale a 1600 wide image down to 27 pixels across.<br>
9832 As such the weights for each individual pixel round to zero, and we<br>
9833 get nothing displayed.<br>
9834<br>
9835 Adjust for this by still calculating weights as doubles, and carrying<br>
9836 the error across the line. This keeps the total sum of the differences<br>
9837 correct.<br>
9838<br>
9839base/siscale.c<br>
9840<p>
9841</blockquote>
9842<hr>
9843<p><strong>2018-03-06 21:57:06 +0000
9844</strong>
9845<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
9846<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=676dfb338d296aa86630662714fce5f058e31b8f">676dfb338d296aa86630662714fce5f058e31b8f</a>
9847<blockquote>
9848<p>
9849 Bug 697545 : Update functions to return error codes.<br>
9850<br>
9851 Prevent numerous SEGV points by ensuring error codes are returned and<br>
9852 handled appropriately<br>
9853<br>
9854pcl/pxl/pxsessio.c<br>
9855<p>
9856</blockquote>
9857<hr>
9858<p><strong>2018-03-06 20:33:02 +0000
9859</strong>
9860<br>Shailesh Mistry &lt;shailesh.mistry@hotmail.co.uk&gt;<br>
9861<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2926860ca8ce519dadf23e44a9b4828da70090c4">2926860ca8ce519dadf23e44a9b4828da70090c4</a>
9862<blockquote>
9863<p>
9864 Bug 697545 : Update functions to return error codes.<br>
9865<br>
9866 Each parameter handling function has been updated to ensure error codes<br>
9867 are returned and handled appropriately and gs_c_param_list_release is<br>
9868 always called on exit.<br>
9869<br>
9870pcl/pcl/pcommand.c<br>
9871<p>
9872</blockquote>
9873<hr>
9874<p><strong>2018-03-07 12:16:51 +0000
9875</strong>
9876<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9877<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=cfada4acb65861b4361ad80dbb53f61c5dc94c96">cfada4acb65861b4361ad80dbb53f61c5dc94c96</a>
9878<blockquote>
9879<p>
9880 Bump version - prep for release<br>
9881<br>
9882Resource/Init/gs_init.ps<br>
9883base/version.mak<br>
9884<p>
9885</blockquote>
9886<hr>
9887<p><strong>2018-03-21 08:44:23 +0000
9888</strong>
9889<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9890<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a03872ea339d60055fa09dc451ebf37442f467fb">a03872ea339d60055fa09dc451ebf37442f467fb</a>
9891<blockquote>
9892<p>
9893 Final changelog for 9.23 release<br>
9894<br>
9895doc/History9.htm<br>
9896<p>
9897</blockquote>
9898<hr>
9899<p><strong>2018-03-21 08:41:35 +0000
9900</strong>
9901<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9902<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eb210aecab59f338ef9b8af4523edb3c8bc35092">eb210aecab59f338ef9b8af4523edb3c8bc35092</a>
9903<blockquote>
9904<p>
9905 Dates, changelog and product string for release<br>
9906<br>
9907base/gscdef.c<br>
9908base/version.mak<br>
9909doc/API.htm<br>
9910doc/C-style.htm<br>
9911doc/Commprod.htm<br>
9912doc/DLL.htm<br>
9913doc/Deprecated.htm<br>
9914doc/Details8.htm<br>
9915doc/Details9.htm<br>
9916doc/Develop.htm<br>
9917doc/Devices.htm<br>
9918doc/Drivers.htm<br>
9919doc/Fonts.htm<br>
9920doc/Helpers.htm<br>
9921doc/History1.htm<br>
9922doc/History2.htm<br>
9923doc/History3.htm<br>
9924doc/History4.htm<br>
9925doc/History5.htm<br>
9926doc/History6.htm<br>
9927doc/History7.htm<br>
9928doc/History8.htm<br>
9929doc/History9.htm<br>
9930doc/Install.htm<br>
9931doc/Issues.htm<br>
9932doc/Language.htm<br>
9933doc/Lib.htm<br>
9934doc/Make.htm<br>
9935doc/News.htm<br>
9936doc/Projects.htm<br>
9937doc/Ps-style.htm<br>
9938doc/Ps2epsi.htm<br>
9939doc/Psfiles.htm<br>
9940doc/Readme.htm<br>
9941doc/Release.htm<br>
9942doc/SavedPages.htm<br>
9943doc/Source.htm<br>
9944doc/Unix-lpr.htm<br>
9945doc/Use.htm<br>
9946doc/VectorDevices.htm<br>
9947doc/WhatIsGS.htm<br>
9948doc/gs-vms.hlp<br>
9949doc/sample_downscale_device.htm<br>
9950doc/thirdparty.htm<br>
9951man/dvipdf.1<br>
9952man/gs.1<br>
9953man/gslp.1<br>
9954man/gsnd.1<br>
9955man/pdf2dsc.1<br>
9956man/pdf2ps.1<br>
9957man/pf2afm.1<br>
9958man/pfbtopfa.1<br>
9959man/printafm.1<br>
9960man/ps2ascii.1<br>
9961man/ps2epsi.1<br>
9962man/ps2pdf.1<br>
9963man/ps2pdfwr.1<br>
9964man/ps2ps.1<br>
9965<p>
9966</blockquote>
9967<hr>
9968<p><strong>2018-03-20 13:16:40 +0000
9969</strong>
9970<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9971<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41c92643ce1325893d0f491a49fb2edad1684d17">41c92643ce1325893d0f491a49fb2edad1684d17</a>
9972<blockquote>
9973<p>
9974 Add missing files to doc install target<br>
9975<br>
9976 These files:<br>
9977<br>
9978 VectorDevices.htm<br>
9979 sample_downscale_device.htm<br>
9980 SavedPages.htm<br>
9981 subclass.htm<br>
9982<br>
9983 were missing from the documentation installation target<br>
9984<br>
9985base/unixinst.mak<br>
9986<p>
9987</blockquote>
9988<hr>
9989<p><strong>2018-03-16 13:27:45 +0000
9990</strong>
9991<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
9992<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=6ca20f5735e9cde19eee6577059cd9d844e94525">6ca20f5735e9cde19eee6577059cd9d844e94525</a>
9993<blockquote>
9994<p>
9995 Fix ommission from revised documentation install path<br>
9996<br>
9997base/unixinst.mak<br>
9998<p>
9999</blockquote>
10000<hr>
10001<p><strong>2018-03-15 19:14:15 +0000
10002</strong>
10003<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
10004<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=713d80d0dde40a5d1d1f402e8347997896b9a8f7">713d80d0dde40a5d1d1f402e8347997896b9a8f7</a>
10005<blockquote>
10006<p>
10007 pdfimage devices - fix up some minor problems<br>
10008<br>
10009 Bug #699119 &quot; pdfimage24 creates bad PDF&quot;<br>
10010<br>
10011 When I removed some extraneous stuff from the output (to simplify it) I<br>
10012 forgot to update the pdfimage devices properly, leading to them trying<br>
10013 to write xref entries for missing data.<br>
10014<br>
10015 In addition, there was a problem writing the Length object of the image<br>
10016 streams.<br>
10017<br>
10018 Ghostscript complained about both of these but rendered the content<br>
10019 correctly, other consumers didn't complain.<br>
10020<br>
10021devices/gdevpdfimg.c<br>
10022<p>
10023</blockquote>
10024<hr>
10025<p><strong>2018-03-15 11:04:40 +0000
10026</strong>
10027<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10028<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7f822afbb52a6b37fc4766f840e714d9f491da81">7f822afbb52a6b37fc4766f840e714d9f491da81</a>
10029<blockquote>
10030<p>
10031 lcms2art: byteReverse needs a ContextID<br>
10032<br>
10033 on big endian platforms - fix that.<br>
10034<br>
10035 Reported against 9.23 RC1<br>
10036<br>
10037lcms2art/src/cmsmd5.c<br>
10038<p>
10039</blockquote>
10040<hr>
10041<p><strong>2018-03-15 07:50:41 +0000
10042</strong>
10043<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10044<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=36bc37e414b695b1fa39c7e99be9d83f8628e889">36bc37e414b695b1fa39c7e99be9d83f8628e889</a>
10045<blockquote>
10046<p>
10047 Changelog and product string for 9.23 rc3<br>
10048<br>
10049base/gscdef.c<br>
10050doc/History9.htm<br>
10051<p>
10052</blockquote>
10053<hr>
10054<p><strong>2018-03-14 16:41:03 +0000
10055</strong>
10056<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
10057<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e31e3879532fd23ca2658aea26bf4cadd665687f">e31e3879532fd23ca2658aea26bf4cadd665687f</a>
10058<blockquote>
10059<p>
10060 Revert &quot;Tweak bitmap interpolater patch size.&quot;<br>
10061<br>
10062 This reverts commit 38e0c643e62087c089c59c9ad44fc468dd09cd37.<br>
10063<br>
10064 This was shown to cause problems with:<br>
10065<br>
10066 tests_private/pdf/PDFIA1.7_SUBSET/IA3Z3225.pdf.pdf.psdcmyk.300.1<br>
10067<br>
10068 (or tests_private/pdf/PDFIA1.7_SUBSET/IA3Z3225.pdf, page 2, tweaked<br>
10069 to rotate by 270).<br>
10070<br>
10071 Reverting for now so I can try to find a less hacky (and hence<br>
10072 less error prone) way of working.<br>
10073<br>
10074base/gxiscale.c<br>
10075base/sisparam.h<br>
10076<p>
10077</blockquote>
10078<hr>
10079<p><strong>2018-03-14 07:47:37 +0000
10080</strong>
10081<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10082<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=56888d7a2e8b9cade1fc9535b67bd9841e2aca6e">56888d7a2e8b9cade1fc9535b67bd9841e2aca6e</a>
10083<blockquote>
10084<p>
10085 Update changelog for 9.23 rc2<br>
10086<br>
10087doc/History9.htm<br>
10088<p>
10089</blockquote>
10090<hr>
10091<p><strong>2018-03-14 07:45:29 +0000
10092</strong>
10093<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10094<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f7acb2502eadeff35dc791b52400d1a301059927">f7acb2502eadeff35dc791b52400d1a301059927</a>
10095<blockquote>
10096<p>
10097 Dates etc for 9.23 rc2<br>
10098<br>
10099base/version.mak<br>
10100doc/API.htm<br>
10101doc/C-style.htm<br>
10102doc/Commprod.htm<br>
10103doc/DLL.htm<br>
10104doc/Deprecated.htm<br>
10105doc/Details8.htm<br>
10106doc/Details9.htm<br>
10107doc/Develop.htm<br>
10108doc/Devices.htm<br>
10109doc/Drivers.htm<br>
10110doc/Fonts.htm<br>
10111doc/Helpers.htm<br>
10112doc/History1.htm<br>
10113doc/History2.htm<br>
10114doc/History3.htm<br>
10115doc/History4.htm<br>
10116doc/History5.htm<br>
10117doc/History6.htm<br>
10118doc/History7.htm<br>
10119doc/History8.htm<br>
10120doc/History9.htm<br>
10121doc/Install.htm<br>
10122doc/Issues.htm<br>
10123doc/Language.htm<br>
10124doc/Lib.htm<br>
10125doc/Make.htm<br>
10126doc/News.htm<br>
10127doc/Projects.htm<br>
10128doc/Ps-style.htm<br>
10129doc/Ps2epsi.htm<br>
10130doc/Psfiles.htm<br>
10131doc/Readme.htm<br>
10132doc/Release.htm<br>
10133doc/SavedPages.htm<br>
10134doc/Source.htm<br>
10135doc/Unix-lpr.htm<br>
10136doc/Use.htm<br>
10137doc/VectorDevices.htm<br>
10138doc/WhatIsGS.htm<br>
10139doc/gs-vms.hlp<br>
10140doc/sample_downscale_device.htm<br>
10141doc/thirdparty.htm<br>
10142man/dvipdf.1<br>
10143man/gs.1<br>
10144man/gslp.1<br>
10145man/gsnd.1<br>
10146man/pdf2dsc.1<br>
10147man/pdf2ps.1<br>
10148man/pf2afm.1<br>
10149man/pfbtopfa.1<br>
10150man/printafm.1<br>
10151man/ps2ascii.1<br>
10152man/ps2epsi.1<br>
10153man/ps2pdf.1<br>
10154man/ps2pdfwr.1<br>
10155man/ps2ps.1<br>
10156<p>
10157</blockquote>
10158<hr>
10159<p><strong>2018-03-13 10:37:08 +0000
10160</strong>
10161<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
10162<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7c9a54209a2758769102361a456353e7e5993821">7c9a54209a2758769102361a456353e7e5993821</a>
10163<blockquote>
10164<p>
10165 Squash a benign compiler warning<br>
10166<br>
10167devices/vector/gdevpdtt.c<br>
10168<p>
10169</blockquote>
10170<hr>
10171<p><strong>2018-03-13 10:33:52 +0000
10172</strong>
10173<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
10174<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=353c6caa4b8dea6baae337b30217139e996e9b94">353c6caa4b8dea6baae337b30217139e996e9b94</a>
10175<blockquote>
10176<p>
10177 pdfwrite - reject inappropriate ICC profiles<br>
10178<br>
10179 PDF files cannot include the full possible range of ICC profiles, if<br>
10180 we encounter one of these (eg from an XPS file) then refuse to embed it<br>
10181 and instead return gs_error_rangecheck, so that the calling code will<br>
10182 fall back to a device space representation.<br>
10183<br>
10184 NOTE we currently permit GS_UNDEFINED as a valid data_cs which we really<br>
10185 shouldn't but the current code, when converting a CIEBasedDEF or<br>
10186 CIEBasedDEFG (possibly other CIE spaces) to ICC creates a profile<br>
10187 where data_cs is GS_UNDEFINED (which is 0, so probably not actually<br>
10188 filled in).<br>
10189<br>
10190devices/vector/gdevpdfk.c<br>
10191<p>
10192</blockquote>
10193<hr>
10194<p><strong>2018-03-12 14:22:44 +0000
10195</strong>
10196<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
10197<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=23f66c8eec91e8efcbc600d987cf8bde7e3dce4b">23f66c8eec91e8efcbc600d987cf8bde7e3dce4b</a>
10198<blockquote>
10199<p>
10200 pdfwrite - avoid use of /.notdef when converting PCL fonts to type 3<br>
10201<br>
10202 Bug #699102 &quot;using -sDEVICE=pdfwrite option generate an incorrect code 128 barcode&quot;<br>
10203<br>
10204 This is actually an Acrobat bug, every other viewer I've tested works as<br>
10205 expected, Acrobat does not.<br>
10206<br>
10207 The problem appears to be related to defining a /.notdef glyph and<br>
10208 encoding it at a position other than 0 in the Encoding. If we do that,<br>
10209 and use the encoded /.notdef glyph, Acrobat quietly replaces it with the<br>
10210 glyph encoded at position 0 in the Encoding of the font.<br>
10211<br>
10212 Because of the way that PCL fonts work, when we are converting PCL<br>
10213 fonts to type 3 PDF fonts, the character (PCL) 0x1D gets assigned the<br>
10214 glyph name /.notdef. The actual Encoding of the glyph is at position<br>
10215 0x1D however, which causes Acrobat to substitute the glyph at Encoding<br>
10216 position 0.<br>
10217<br>
10218 This is obviously wrong. However, since its Acrobat, here we add yet<br>
10219 another heuristic to avoid defining glyphs with the name /.notdef when<br>
10220 creating type 3 PDF fonts from PCL fonts.<br>
10221<br>
10222 No differences expected<br>
10223<br>
10224devices/vector/gdevpdtt.c<br>
10225<p>
10226</blockquote>
10227<hr>
10228<p><strong>2018-03-08 13:21:54 +0000
10229</strong>
10230<br>Robin Watts &lt;robin.watts@artifex.com&gt;<br>
10231<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=1567dba0b505a0bb816e7b2e34f3915165a7d5b3">1567dba0b505a0bb816e7b2e34f3915165a7d5b3</a>
10232<blockquote>
10233<p>
10234 Avoid total image dropout in interplated rescales.<br>
10235<br>
10236 Tests show that the following command causes images to disappear:<br>
10237<br>
10238 gxps -o out.ppm -sDEVICE=ppmraw -72 tests_private/xps/xpsfts-a4/fts_27xx.xps<br>
10239<br>
10240 This is because we scale a 1600 wide image down to 27 pixels across.<br>
10241 As such the weights for each individual pixel round to zero, and we<br>
10242 get nothing displayed.<br>
10243<br>
10244 Adjust for this by still calculating weights as doubles, and carrying<br>
10245 the error across the line. This keeps the total sum of the differences<br>
10246 correct.<br>
10247<br>
10248base/siscale.c<br>
10249<p>
10250</blockquote>
10251<hr>
10252<p><strong>2018-03-07 14:40:21 +0000
10253</strong>
10254<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10255<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=7a6acdfce9344574638c2553f605d86f801f7393">7a6acdfce9344574638c2553f605d86f801f7393</a>
10256<blockquote>
10257<p>
10258 News and Changelog for 9.23 rc1<br>
10259<br>
10260doc/History9.htm<br>
10261doc/News.htm<br>
10262<p>
10263</blockquote>
10264<hr>
10265<p><strong>2018-03-07 12:19:48 +0000
10266</strong>
10267<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10268<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=c6285cdd7ae7b1c97ffcf0c824234659b03d6d6a">c6285cdd7ae7b1c97ffcf0c824234659b03d6d6a</a>
10269<blockquote>
10270<p>
10271 Dates and versions for 9.23 rc1<br>
10272<br>
10273doc/API.htm<br>
10274doc/C-style.htm<br>
10275doc/Commprod.htm<br>
10276doc/DLL.htm<br>
10277doc/Deprecated.htm<br>
10278doc/Details8.htm<br>
10279doc/Details9.htm<br>
10280doc/Develop.htm<br>
10281doc/Devices.htm<br>
10282doc/Drivers.htm<br>
10283doc/Fonts.htm<br>
10284doc/Helpers.htm<br>
10285doc/History1.htm<br>
10286doc/History2.htm<br>
10287doc/History3.htm<br>
10288doc/History4.htm<br>
10289doc/History5.htm<br>
10290doc/History6.htm<br>
10291doc/History7.htm<br>
10292doc/History8.htm<br>
10293doc/History9.htm<br>
10294doc/Install.htm<br>
10295doc/Issues.htm<br>
10296doc/Language.htm<br>
10297doc/Lib.htm<br>
10298doc/Make.htm<br>
10299doc/News.htm<br>
10300doc/Projects.htm<br>
10301doc/Ps-style.htm<br>
10302doc/Ps2epsi.htm<br>
10303doc/Psfiles.htm<br>
10304doc/Readme.htm<br>
10305doc/Release.htm<br>
10306doc/SavedPages.htm<br>
10307doc/Source.htm<br>
10308doc/Unix-lpr.htm<br>
10309doc/Use.htm<br>
10310doc/VectorDevices.htm<br>
10311doc/WhatIsGS.htm<br>
10312doc/gs-vms.hlp<br>
10313doc/sample_downscale_device.htm<br>
10314doc/thirdparty.htm<br>
10315man/dvipdf.1<br>
10316man/gs.1<br>
10317man/gslp.1<br>
10318man/gsnd.1<br>
10319man/pdf2dsc.1<br>
10320man/pdf2ps.1<br>
10321man/pf2afm.1<br>
10322man/pfbtopfa.1<br>
10323man/printafm.1<br>
10324man/ps2ascii.1<br>
10325man/ps2epsi.1<br>
10326man/ps2pdf.1<br>
10327man/ps2pdfwr.1<br>
10328man/ps2ps.1<br>
10329<p>
10330</blockquote>
10331<hr>
10332<p><strong>2018-03-07 09:59:55 +0000
10333</strong>
10334<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
10335<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=0df45c3d11246d773110d5b1a563d7462f3acac1">0df45c3d11246d773110d5b1a563d7462f3acac1</a>
10336<blockquote>
10337<p>
10338 Revision date and product for release candidate<br>
10339<br>
10340base/gscdef.c<br>
10341base/version.mak<br>
10342<p>
10343</blockquote>
10344<hr>
10345<hr size=20>
10346<h3><a name="9.23_changelog"></a>Changelog</h3>
183<p><strong>2018-03-21 08:41:35 +0000 10347<p><strong>2018-03-21 08:41:35 +0000
184</strong> 10348</strong>
185<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br> 10349<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
@@ -178571,7 +188735,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
178571Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 188735Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
178572 188736
178573<p> 188737<p>
178574<small>Ghostscript version 9.23, 21 March 2018 188738<small>Ghostscript version 9.24, 3 September 2018
178575 188739
178576<!-- [3.0 end visible trailer] ============================================= --> 188740<!-- [3.0 end visible trailer] ============================================= -->
178577 188741
diff --git a/doc/Install.htm b/doc/Install.htm
index 827b17392..320d08fbc 100644
--- a/doc/Install.htm
+++ b/doc/Install.htm
@@ -441,7 +441,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
441Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 441Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
442 442
443<p> 443<p>
444<small>Ghostscript version 9.23, 21 March 2018 444<small>Ghostscript version 9.24, 3 September 2018
445 445
446<!-- [3.0 end visible trailer] ============================================= --> 446<!-- [3.0 end visible trailer] ============================================= -->
447 447
diff --git a/doc/Language.htm b/doc/Language.htm
index 6c7e3eee0..42ad48caf 100644
--- a/doc/Language.htm
+++ b/doc/Language.htm
@@ -1906,7 +1906,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
1906Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 1906Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
1907 1907
1908<p> 1908<p>
1909<small>Ghostscript version 9.23, 21 March 2018 1909<small>Ghostscript version 9.24, 3 September 2018
1910 1910
1911<!-- [3.0 end visible trailer] ============================================= --> 1911<!-- [3.0 end visible trailer] ============================================= -->
1912 1912
diff --git a/doc/Lib.htm b/doc/Lib.htm
index 938386273..dfd54884d 100644
--- a/doc/Lib.htm
+++ b/doc/Lib.htm
@@ -1048,7 +1048,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
1048Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 1048Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
1049 1049
1050<p> 1050<p>
1051<small>Ghostscript version 9.23, 21 March 2018 1051<small>Ghostscript version 9.24, 3 September 2018
1052 1052
1053<!-- [3.0 end visible trailer] ============================================= --> 1053<!-- [3.0 end visible trailer] ============================================= -->
1054 1054
diff --git a/doc/Make.htm b/doc/Make.htm
index b328e4772..ec294351c 100644
--- a/doc/Make.htm
+++ b/doc/Make.htm
@@ -1511,7 +1511,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
1511Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 1511Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
1512 1512
1513<p> 1513<p>
1514<small>Ghostscript version 9.23, 21 March 2018 1514<small>Ghostscript version 9.24, 3 September 2018
1515 1515
1516<!-- [3.0 end visible trailer] ============================================= --> 1516<!-- [3.0 end visible trailer] ============================================= -->
1517 1517
diff --git a/doc/News.htm b/doc/News.htm
index 0c7b94e62..87f6839ec 100644
--- a/doc/News.htm
+++ b/doc/News.htm
@@ -97,29 +97,20 @@ overview</a>.
97 97
98<!-- [2.0 begin contents] ================================================== --> 98<!-- [2.0 begin contents] ================================================== -->
99 99
100<h2><a name="Version9.23"></a>Version 9.23 (2018-03-21)</h2> 100<h2><a name="Version9.24"></a>Version 9.24 (2018-09-03)</h2>
101
102<p>This is the seventeenth full release in the stable 9.x series.
103 101
104<p> Highlights in this release include: 102<p> Highlights in this release include:
105<ul> 103<ul>
106<li> 104<li>
107<p>Ghostscript now has a family of 'pdfimage' devices (pdfimage8, pdfimage24 and pdfimage32) 105<p>Security issues have been the primary focus of this release, including solving
108which produce rendered output wrapped up as an image in a PDF. Additionally, there is a 'pclm' 106several (well publicised) real and potential exploits.
109device which produces PCLm format output. 107<br>
110</li> 108<p> <big><u><b>PLEASE NOTE:</b> We <b>strongly</b> urge users to upgrade to this latest
111<li> 109release to avoid these issues.</u></big>
112<p>There is now a ColorAccuracy parameter allowing the user to decide between speed or accuracy
113in ICC color transforms.
114</li>
115<li>
116<p>JPEG Passthrough: devices which support it can now receive the 'raw' JPEG stream from the
117interpreter. The main use of this is the pdfwrite/ps2write family of devices that can now
118take JPEG streams from the input file(s) and write them unchanged to the output (thus avoiding
119additional quantization effects).
120</li> 110</li>
121<li> 111<li>
122<p>PDF transparency performance improvements 112<p>As well as Ghostscript itself, jbig2dec has had a significant amount of work improving
113its robustness in the face of out specification files.
123</li> 114</li>
124<li> 115<li>
125<p>IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and 116<p>IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and
@@ -129,25 +120,19 @@ will maintain compatibility between Ghostscript and LCMS2 for a time, but not in
129Our fork will be available as its own package separately from Ghostscript (and MuPDF). 120Our fork will be available as its own package separately from Ghostscript (and MuPDF).
130</li> 121</li>
131<li> 122<li>
132<p>We have continued the focus on code hygiene in this release cleaning up security issues,
133ignored return values, and compiler warnings.
134</li>
135<li>
136<p>The usual round of bug fixes, compatibility changes, and incremental improvements. 123<p>The usual round of bug fixes, compatibility changes, and incremental improvements.
137</li> 124</li>
138</ul> 125</ul>
139<p>For a list of open issues, or to report problems, 126<p>For a list of open issues, or to report problems,
140please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>. 127please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>.
141 128
142<h3><a name="9.23_Incompatible_changes"></a>Incompatible changes</h3> 129<h3><a name="9.24_Incompatible_changes"></a>Incompatible changes</h3>
143<ul> 130<ul>
144<li> 131<li>
145<p> 132<p>None
146The planned device API tidy has, unfortunately, been indefinitely postponed, until
147appropriate resources are available.
148</li> 133</li>
149</ul> 134</ul>
150<h3><a name="9.22_changelog"></a>Changelog</h3> 135<h3><a name="9.24_changelog"></a>Changelog</h3>
151 136
152<p>See the <a href="History9.htm">history file</a> for complete log 137<p>See the <a href="History9.htm">history file</a> for complete log
153of changes. 138of changes.
@@ -172,7 +157,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
172Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 157Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
173 158
174<p> 159<p>
175<small>Ghostscript version 9.23, 21 March 2018 160<small>Ghostscript version 9.24, 3 September 2018
176 161
177<!-- [3.0 end visible trailer] ============================================= --> 162<!-- [3.0 end visible trailer] ============================================= -->
178 163
diff --git a/doc/Ps-style.htm b/doc/Ps-style.htm
index 24a52e2b8..411c342e1 100644
--- a/doc/Ps-style.htm
+++ b/doc/Ps-style.htm
@@ -550,7 +550,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
550Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 550Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
551 551
552<p> 552<p>
553<small>Ghostscript version 9.23, 21 March 2018 553<small>Ghostscript version 9.24, 3 September 2018
554 554
555<!-- [3.0 end visible trailer] ============================================= --> 555<!-- [3.0 end visible trailer] ============================================= -->
556 556
diff --git a/doc/Ps2epsi.htm b/doc/Ps2epsi.htm
index e5a2cf8e6..26bf3adf7 100644
--- a/doc/Ps2epsi.htm
+++ b/doc/Ps2epsi.htm
@@ -230,7 +230,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
230Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 230Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
231 231
232<p> 232<p>
233<small>Ghostscript version 9.23, 21 March 2018 233<small>Ghostscript version 9.24, 3 September 2018
234 234
235<!-- [3.0 end visible trailer] ============================================= --> 235<!-- [3.0 end visible trailer] ============================================= -->
236 236
diff --git a/doc/Psfiles.htm b/doc/Psfiles.htm
index 6fe7db81a..6199b2897 100644
--- a/doc/Psfiles.htm
+++ b/doc/Psfiles.htm
@@ -901,7 +901,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
901Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 901Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
902 902
903<p> 903<p>
904<small>Ghostscript version 9.23, 21 March 2018 904<small>Ghostscript version 9.24, 3 September 2018
905 905
906<!-- [3.0 end visible trailer] ============================================= --> 906<!-- [3.0 end visible trailer] ============================================= -->
907 907
diff --git a/doc/Readme.htm b/doc/Readme.htm
index 498a8578d..50e57a27e 100644
--- a/doc/Readme.htm
+++ b/doc/Readme.htm
@@ -573,7 +573,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
573Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 573Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
574 574
575<p> 575<p>
576<small>Ghostscript version 9.23, 21 March 2018 576<small>Ghostscript version 9.24, 3 September 2018
577 577
578<!-- [3.0 end visible trailer] ============================================= --> 578<!-- [3.0 end visible trailer] ============================================= -->
579 579
diff --git a/doc/Release.htm b/doc/Release.htm
index 21ad7d6ac..4ffca414e 100644
--- a/doc/Release.htm
+++ b/doc/Release.htm
@@ -846,7 +846,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
846Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 846Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
847 847
848<p> 848<p>
849<small>Ghostscript version 9.23, 21 March 2018 849<small>Ghostscript version 9.24, 3 September 2018
850 850
851<!-- [3.0 end visible trailer] ============================================= --> 851<!-- [3.0 end visible trailer] ============================================= -->
852 852
diff --git a/doc/SavedPages.htm b/doc/SavedPages.htm
index 59a36dc3b..52441d72d 100644
--- a/doc/SavedPages.htm
+++ b/doc/SavedPages.htm
@@ -317,7 +317,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
317Novato, CA 94945, U.S.A., +1(415)492-9861. 317Novato, CA 94945, U.S.A., +1(415)492-9861.
318 318
319<p> 319<p>
320<small>Ghostscript version 9.23, 21 March 2018 320<small>Ghostscript version 9.24, 3 September 2018
321 321
322<!-- [3.0 end visible trailer] ============================================= --> 322<!-- [3.0 end visible trailer] ============================================= -->
323 323
diff --git a/doc/Source.htm b/doc/Source.htm
index 97eaf697e..2d73f07fb 100644
--- a/doc/Source.htm
+++ b/doc/Source.htm
@@ -471,7 +471,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
471Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 471Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
472 472
473<p> 473<p>
474<small>Ghostscript version 9.23, 21 March 2018 474<small>Ghostscript version 9.24, 3 September 2018
475 475
476<!-- [3.0 end visible trailer] ============================================= --> 476<!-- [3.0 end visible trailer] ============================================= -->
477 477
diff --git a/doc/Unix-lpr.htm b/doc/Unix-lpr.htm
index dc176e5a6..a73d2aad2 100644
--- a/doc/Unix-lpr.htm
+++ b/doc/Unix-lpr.htm
@@ -305,7 +305,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
305Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 305Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
306 306
307<p> 307<p>
308<small>Ghostscript version 9.23, 21 March 2018 308<small>Ghostscript version 9.24, 3 September 2018
309 309
310<!-- [3.0 end visible trailer] ============================================= --> 310<!-- [3.0 end visible trailer] ============================================= -->
311 311
diff --git a/doc/Use.htm b/doc/Use.htm
index a73adffdf..67c22ba5e 100644
--- a/doc/Use.htm
+++ b/doc/Use.htm
@@ -5093,7 +5093,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
5093Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 5093Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
5094 5094
5095<p> 5095<p>
5096<small>Ghostscript version 9.23, 21 March 2018 5096<small>Ghostscript version 9.24, 3 September 2018
5097 5097
5098<!-- [3.0 end visible trailer] ============================================= --> 5098<!-- [3.0 end visible trailer] ============================================= -->
5099 5099
diff --git a/doc/VectorDevices.htm b/doc/VectorDevices.htm
index e6bdd3f87..2616e22c7 100644
--- a/doc/VectorDevices.htm
+++ b/doc/VectorDevices.htm
@@ -1396,7 +1396,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
1396Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 1396Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
1397 1397
1398<p> 1398<p>
1399<small>Ghostscript version 9.23, 21 March 2018 1399<small>Ghostscript version 9.24, 3 September 2018
1400 1400
1401<!-- [3.0 end visible trailer] ============================================= --> 1401<!-- [3.0 end visible trailer] ============================================= -->
1402 1402
diff --git a/doc/WhatIsGS.htm b/doc/WhatIsGS.htm
index e86191a4e..1e4e047b6 100644
--- a/doc/WhatIsGS.htm
+++ b/doc/WhatIsGS.htm
@@ -190,7 +190,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
190Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 190Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
191 191
192<p> 192<p>
193<small>Ghostscript version 9.23, 21 March 2018 193<small>Ghostscript version 9.24, 3 September 2018
194 194
195<!-- [3.0 end visible trailer] ============================================= --> 195<!-- [3.0 end visible trailer] ============================================= -->
196 196
diff --git a/doc/gs-vms.hlp b/doc/gs-vms.hlp
index f71dd0c38..bebdd858a 100644
--- a/doc/gs-vms.hlp
+++ b/doc/gs-vms.hlp
@@ -1,6 +1,6 @@
11 gs 11 gs
2 gs - GPL Ghostscript interpreter/previewer 2 gs - GPL Ghostscript interpreter/previewer
3! Ghostscript version 9.23, 21 March 2018 3! Ghostscript version 9.24, 3 September 2018
4 Usage: 4 Usage:
5 $ gs [options] [file ...] 5 $ gs [options] [file ...]
6 6
diff --git a/doc/sample_downscale_device.htm b/doc/sample_downscale_device.htm
index be62c9630..2e8a6a9fa 100644
--- a/doc/sample_downscale_device.htm
+++ b/doc/sample_downscale_device.htm
@@ -264,7 +264,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
264Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 264Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
265 265
266<p> 266<p>
267<small>Ghostscript version 9.23, 21 March 2018 267<small>Ghostscript version 9.24, 3 September 2018
268 268
269<!-- [3.0 end visible trailer] ============================================= --> 269<!-- [3.0 end visible trailer] ============================================= -->
270<!--FINISH EDITING HERE--> 270<!--FINISH EDITING HERE-->
diff --git a/doc/subclass.htm b/doc/subclass.htm
index a6913a85e..b1149564d 100644
--- a/doc/subclass.htm
+++ b/doc/subclass.htm
@@ -813,7 +813,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
813Novato, CA 94945, U.S.A., +1(415)492-9861. 813Novato, CA 94945, U.S.A., +1(415)492-9861.
814 814
815<p> 815<p>
816<small>Ghostscript version 9.23, 21 March 2018 816<small>Ghostscript version 9.24, 3 September 2018
817 817
818<!-- [3.0 end visible trailer] ============================================= --> 818<!-- [3.0 end visible trailer] ============================================= -->
819 819
diff --git a/doc/thirdparty.htm b/doc/thirdparty.htm
index 17dcbed06..53fb1acbe 100644
--- a/doc/thirdparty.htm
+++ b/doc/thirdparty.htm
@@ -269,7 +269,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
269Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. 269Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
270 270
271<p> 271<p>
272<small>Ghostscript version 9.23, 21 March 2018 272<small>Ghostscript version 9.24, 3 September 2018
273 273
274<!-- [3.0 end visible trailer] ============================================= --> 274<!-- [3.0 end visible trailer] ============================================= -->
275 275
diff --git a/man/dvipdf.1 b/man/dvipdf.1
index e2539427b..55445081b 100644
--- a/man/dvipdf.1
+++ b/man/dvipdf.1
@@ -1,4 +1,4 @@
1.TH DVIPDF 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH DVIPDF 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3dvipdf \- Convert TeX DVI file to PDF using ghostscript and dvips 3dvipdf \- Convert TeX DVI file to PDF using ghostscript and dvips
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -21,7 +21,7 @@ and any options from the command-line.
21.SH SEE ALSO 21.SH SEE ALSO
22gs(1), dvips(1) 22gs(1), dvips(1)
23.SH VERSION 23.SH VERSION
24This document was last revised for Ghostscript version 9.23. 24This document was last revised for Ghostscript version 9.24.
25.SH AUTHOR 25.SH AUTHOR
26Artifex Software, Inc. are the 26Artifex Software, Inc. are the
27primary maintainers of Ghostscript. 27primary maintainers of Ghostscript.
diff --git a/man/gs.1 b/man/gs.1
index d9a624ce0..ae598a5e6 100644
--- a/man/gs.1
+++ b/man/gs.1
@@ -1,4 +1,4 @@
1.TH GS 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH GS 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3gs \- Ghostscript (PostScript and PDF language interpreter and previewer) 3gs \- Ghostscript (PostScript and PDF language interpreter and previewer)
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -442,7 +442,7 @@ The various Ghostscript document files (above), especially \fBUse.htm\fR.
442See http://bugs.ghostscript.com/ and the Usenet news group 442See http://bugs.ghostscript.com/ and the Usenet news group
443comp.lang.postscript. 443comp.lang.postscript.
444.SH VERSION 444.SH VERSION
445This document was last revised for Ghostscript version 9.23. 445This document was last revised for Ghostscript version 9.24.
446.SH AUTHOR 446.SH AUTHOR
447Artifex Software, Inc. are the primary maintainers 447Artifex Software, Inc. are the primary maintainers
448of Ghostscript. 448of Ghostscript.
diff --git a/man/gslp.1 b/man/gslp.1
index 1b3425af3..c943cde79 100644
--- a/man/gslp.1
+++ b/man/gslp.1
@@ -1,4 +1,4 @@
1.TH GSLP 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH GSLP 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3gslp \- Format and print text using ghostscript 3gslp \- Format and print text using ghostscript
4.br 4.br
@@ -92,7 +92,7 @@ Also, the string %# in a heading or footing is replaced with the page #.
92.SH SEE ALSO 92.SH SEE ALSO
93gs(1) 93gs(1)
94.SH VERSION 94.SH VERSION
95This document was last revised for Ghostscript version 9.23. 95This document was last revised for Ghostscript version 9.24.
96.SH AUTHOR 96.SH AUTHOR
97Artifex Software, Inc. are the 97Artifex Software, Inc. are the
98primary maintainers of Ghostscript. 98primary maintainers of Ghostscript.
diff --git a/man/gsnd.1 b/man/gsnd.1
index 88ca4276e..9f54348a8 100644
--- a/man/gsnd.1
+++ b/man/gsnd.1
@@ -1,4 +1,4 @@
1.TH GSND 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH GSND 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3gsnd \- Run ghostscript (PostScript and PDF engine) without display 3gsnd \- Run ghostscript (PostScript and PDF engine) without display
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -12,7 +12,7 @@ flag, followed by any other arguments from the command-line.
12.SH SEE ALSO 12.SH SEE ALSO
13gs(1) 13gs(1)
14.SH VERSION 14.SH VERSION
15This document was last revised for Ghostscript version 9.23. 15This document was last revised for Ghostscript version 9.24.
16.SH AUTHOR 16.SH AUTHOR
17Artifex Software, Inc. are the 17Artifex Software, Inc. are the
18primary maintainers of Ghostscript. 18primary maintainers of Ghostscript.
diff --git a/man/pdf2dsc.1 b/man/pdf2dsc.1
index b37bd6a93..4668fea24 100644
--- a/man/pdf2dsc.1
+++ b/man/pdf2dsc.1
@@ -1,4 +1,4 @@
1.TH PDF2DSC 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- 1.TH PDF2DSC 1 "3 September 2018" 9.24 "Ghostscript Tools" \" -*- nroff -*-
2.SH NAME 2.SH NAME
3pdf2dsc \- generate a PostScript page list of a PDF document 3pdf2dsc \- generate a PostScript page list of a PDF document
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -28,6 +28,6 @@ Ghostscript since release 3.53.
28.SH SEE ALSO 28.SH SEE ALSO
29gs(1), ghostview(1) 29gs(1), ghostview(1)
30.SH VERSION 30.SH VERSION
31This document was last revised for Ghostscript version 9.23. 31This document was last revised for Ghostscript version 9.24.
32.SH AUTHOR 32.SH AUTHOR
33Yves Arrouye <yves.arrouye@usa.net> and Russell Lang gsview at ghostgum.com.au 33Yves Arrouye <yves.arrouye@usa.net> and Russell Lang gsview at ghostgum.com.au
diff --git a/man/pdf2ps.1 b/man/pdf2ps.1
index 2adb278d4..f11deb810 100644
--- a/man/pdf2ps.1
+++ b/man/pdf2ps.1
@@ -1,4 +1,4 @@
1.TH PDF2PS 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- 1.TH PDF2PS 1 "3 September 2018" 9.24 "Ghostscript Tools" \" -*- nroff -*-
2.SH NAME 2.SH NAME
3pdf2ps \- Ghostscript PDF to PostScript translator 3pdf2ps \- Ghostscript PDF to PostScript translator
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -14,7 +14,7 @@ LanguageLevel 3 in the output.
14Run "\fBgs -h\fR" to find the location of Ghostscript documentation on your 14Run "\fBgs -h\fR" to find the location of Ghostscript documentation on your
15system, from which you can get more details. 15system, from which you can get more details.
16.SH VERSION 16.SH VERSION
17This document was last revised for Ghostscript version 9.23. 17This document was last revised for Ghostscript version 9.24.
18.SH AUTHOR 18.SH AUTHOR
19Artifex Software, Inc. are the 19Artifex Software, Inc. are the
20primary maintainers of Ghostscript. 20primary maintainers of Ghostscript.
diff --git a/man/pf2afm.1 b/man/pf2afm.1
index 03b83c901..76af69ac7 100644
--- a/man/pf2afm.1
+++ b/man/pf2afm.1
@@ -1,4 +1,4 @@
1.TH PF2AFM 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH PF2AFM 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3pf2afm \- Make an AFM file from Postscript (PFB/PFA/PFM) font files using ghostscript 3pf2afm \- Make an AFM file from Postscript (PFB/PFA/PFM) font files using ghostscript
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -15,7 +15,7 @@ gs(1)
15.br 15.br
16pf2afm.ps in the Ghostscript lib directory. 16pf2afm.ps in the Ghostscript lib directory.
17.SH VERSION 17.SH VERSION
18This document was last revised for Ghostscript version 9.23. 18This document was last revised for Ghostscript version 9.24.
19.SH AUTHOR 19.SH AUTHOR
20Artifex Software, Inc. are the 20Artifex Software, Inc. are the
21primary maintainers of Ghostscript. 21primary maintainers of Ghostscript.
diff --git a/man/pfbtopfa.1 b/man/pfbtopfa.1
index 6121d7309..c7f6f611c 100644
--- a/man/pfbtopfa.1
+++ b/man/pfbtopfa.1
@@ -1,4 +1,4 @@
1.TH PFBTOPFA 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH PFBTOPFA 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3pfbtopfa \- Convert Postscript .pfb fonts to .pfa format using ghostscript 3pfbtopfa \- Convert Postscript .pfb fonts to .pfa format using ghostscript
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -10,7 +10,7 @@ to convert a .pfb file into a .pfa file.
10.SH SEE ALSO 10.SH SEE ALSO
11gs(1) 11gs(1)
12.SH VERSION 12.SH VERSION
13This document was last revised for Ghostscript version 9.23. 13This document was last revised for Ghostscript version 9.24.
14.SH AUTHOR 14.SH AUTHOR
15Artifex Software, Inc. are the 15Artifex Software, Inc. are the
16primary maintainers of Ghostscript. 16primary maintainers of Ghostscript.
diff --git a/man/printafm.1 b/man/printafm.1
index d4dbd3533..553f81705 100644
--- a/man/printafm.1
+++ b/man/printafm.1
@@ -1,4 +1,4 @@
1.TH PRINTAFM 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH PRINTAFM 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3printafm \- Print the metrics from a Postscript font in AFM format using ghostscript 3printafm \- Print the metrics from a Postscript font in AFM format using ghostscript
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -11,7 +11,7 @@ Output goes to stdout.
11.SH SEE ALSO 11.SH SEE ALSO
12gs(1) 12gs(1)
13.SH VERSION 13.SH VERSION
14This document was last revised for Ghostscript version 9.23. 14This document was last revised for Ghostscript version 9.24.
15.SH AUTHOR 15.SH AUTHOR
16Artifex Software, Inc. are the 16Artifex Software, Inc. are the
17primary maintainers of Ghostscript. 17primary maintainers of Ghostscript.
diff --git a/man/ps2ascii.1 b/man/ps2ascii.1
index a781f4bd5..ce3daa5e5 100644
--- a/man/ps2ascii.1
+++ b/man/ps2ascii.1
@@ -1,4 +1,4 @@
1.TH PS2ASCII 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- 1.TH PS2ASCII 1 "3 September 2018" 9.24 "Ghostscript Tools" \" -*- nroff -*-
2.SH NAME 2.SH NAME
3ps2ascii \- Ghostscript translator from PostScript or PDF to ASCII 3ps2ascii \- Ghostscript translator from PostScript or PDF to ASCII
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -22,7 +22,7 @@ system, from which you can get more details.
22.SH SEE ALSO 22.SH SEE ALSO
23pstotext(1), http://www.research.digital.com/SRC/virtualpaper/pstotext.html 23pstotext(1), http://www.research.digital.com/SRC/virtualpaper/pstotext.html
24.SH VERSION 24.SH VERSION
25This document was last revised for Ghostscript version 9.23. 25This document was last revised for Ghostscript version 9.24.
26.SH AUTHOR 26.SH AUTHOR
27Artifex Software, Inc. are the 27Artifex Software, Inc. are the
28primary maintainers of Ghostscript. 28primary maintainers of Ghostscript.
diff --git a/man/ps2epsi.1 b/man/ps2epsi.1
index acce59478..647cc12c6 100644
--- a/man/ps2epsi.1
+++ b/man/ps2epsi.1
@@ -1,4 +1,4 @@
1.TH PS2EPSI 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- 1.TH PS2EPSI 1 "3 September 2018" 9.24 "Ghostscript Tools" \" -*- nroff -*-
2.SH NAME 2.SH NAME
3ps2epsi \- generate conforming Encapsulated PostScript 3ps2epsi \- generate conforming Encapsulated PostScript
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -59,7 +59,7 @@ ps2epsi.ps>the Ghostscript program which does the work
59.SH SEE ALSO 59.SH SEE ALSO
60gs (1) 60gs (1)
61.SH VERSION 61.SH VERSION
62This document was last revised for Ghostscript version 9.23. 62This document was last revised for Ghostscript version 9.24.
63However, the content may be obsolete, or inconsistent with ps2epsi.txt. 63However, the content may be obsolete, or inconsistent with ps2epsi.txt.
64.SH AUTHOR 64.SH AUTHOR
65George Cameron 65George Cameron
diff --git a/man/ps2pdf.1 b/man/ps2pdf.1
index 1eba72ee6..2ff791c14 100644
--- a/man/ps2pdf.1
+++ b/man/ps2pdf.1
@@ -1,4 +1,4 @@
1.TH PS2PDF 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH PS2PDF 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3ps2pdf \- Convert PostScript to PDF using ghostscript 3ps2pdf \- Convert PostScript to PDF using ghostscript
4.br 4.br
@@ -89,7 +89,7 @@ Ps2pdf.htm in the Ghostscript documentation
89See http://bugs.ghostscript.com/ and the Usenet news group 89See http://bugs.ghostscript.com/ and the Usenet news group
90comp.lang.postscript. 90comp.lang.postscript.
91.SH VERSION 91.SH VERSION
92This document was last revised for Ghostscript version 9.23. 92This document was last revised for Ghostscript version 9.24.
93.SH AUTHOR 93.SH AUTHOR
94Artifex Software, Inc. are the 94Artifex Software, Inc. are the
95primary maintainers of Ghostscript. 95primary maintainers of Ghostscript.
diff --git a/man/ps2pdfwr.1 b/man/ps2pdfwr.1
index f36e858b7..cca9cd4a7 100644
--- a/man/ps2pdfwr.1
+++ b/man/ps2pdfwr.1
@@ -1,4 +1,4 @@
1.TH PS2PDFWR 1 "21 March 2018" 9.23 Ghostscript \" -*- nroff -*- 1.TH PS2PDFWR 1 "3 September 2018" 9.24 Ghostscript \" -*- nroff -*-
2.SH NAME 2.SH NAME
3ps2pdfwr \- Convert PostScript to PDF without specifying CompatibilityLevel, using ghostscript 3ps2pdfwr \- Convert PostScript to PDF without specifying CompatibilityLevel, using ghostscript
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -23,7 +23,7 @@ scripts all invoke this one with the addition of the respective compatibility le
23.SH SEE ALSO 23.SH SEE ALSO
24gs(1), ps2pdf(1) 24gs(1), ps2pdf(1)
25.SH VERSION 25.SH VERSION
26This document was last revised for Ghostscript version 9.23. 26This document was last revised for Ghostscript version 9.24.
27.SH AUTHOR 27.SH AUTHOR
28Artifex Software, Inc. are the 28Artifex Software, Inc. are the
29primary maintainers of Ghostscript. 29primary maintainers of Ghostscript.
diff --git a/man/ps2ps.1 b/man/ps2ps.1
index bb655946c..89040b5f5 100644
--- a/man/ps2ps.1
+++ b/man/ps2ps.1
@@ -1,4 +1,4 @@
1.TH PS2PS 1 "21 March 2018" 9.23 "Ghostscript Tools" \" -*- nroff -*- 1.TH PS2PS 1 "3 September 2018" 9.24 "Ghostscript Tools" \" -*- nroff -*-
2.SH NAME 2.SH NAME
3ps2ps, eps2eps \- Ghostscript PostScript "distiller" 3ps2ps, eps2eps \- Ghostscript PostScript "distiller"
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -22,7 +22,7 @@ system, from which you can get more details.
22.SH SEE ALSO 22.SH SEE ALSO
23ps2pdf(1), ps2ascii(1), ps2epsi(1) 23ps2pdf(1), ps2ascii(1), ps2epsi(1)
24.SH VERSION 24.SH VERSION
25This document was last revised for Ghostscript version 9.23. 25This document was last revised for Ghostscript version 9.24.
26.SH AUTHOR 26.SH AUTHOR
27Artifex Software, Inc. are the 27Artifex Software, Inc. are the
28primary maintainers of Ghostscript. 28primary maintainers of Ghostscript.