xref: /plan9/sys/src/cmd/gs/doc/History6.htm (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<title>History of Ghostscript versions 6.n</title>
5<!-- $Id: History6.htm,v 1.56 2005/10/20 19:46:23 ray Exp $ -->
6<!--
7	WARNING: do not use Pete Kaiser's emacs function "gs-toc" alone to
8	re-create the table of contents here, because it will replace the
9	hand-edited TOC subheads with a separate subhead for each H2 in
10	the body of the file.  Or if you do, first look at the original
11	TOC to see how to edit it for visual conciseness.
12-->
13<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
14</head>
15
16<body>
17<!-- [1.0 begin visible header] ============================================ -->
18
19<!-- [1.1 begin headline] ================================================== -->
20
21<table width="100%" border="0">
22<tr><th align="center" bgcolor="#CCCC00"><font size=6>History of Ghostscript versions 6.n</font>
23</table>
24
25<!-- [1.1 end headline] ==================================================== -->
26
27<!-- [1.2 begin table of contents] ========================================= -->
28
29<h2>Table of contents</h2>
30
31<blockquote><ul>
32<li><a href="#Version6.64">Version 6.64 (2001-04-07)</a>
33<ul>
34<li><a href="#6.64_Incompatible_changes">Incompatible changes</a>,
35    <a href="#6.64-Documentation">Documentation</a>,
36    <a href="#6.64-Procedures">Procedures</a>,
37    <a href="#6.64-Utilities">Utilities</a>,
38    <a href="#6.64-Drivers">Drivers</a>,
39    <a href="#6.64-PDF_writer">PDF writer</a>,
40    <a href="#6.64-PDF_Interpreter">PDF Interpreter</a>,
41    <a href="#6.64-Interpreter">Interpreter</a>,
42    <a href="#6.64-Streams">Streams</a>,
43    <a href="#6.64-Library">Library</a>,
44    <a href="#6.64-Other">Other</a>
45</ul>
46<li><a href="#Version6.63">Version 6.63 (2001-03-31)</a>
47<ul>
48<li><a href="#6.63_Incompatible_changes">Incompatible changes</a>,
49    <a href="#6.63-Documentation">Documentation</a>,
50    <a href="#6.63-Procedures">Procedures</a>,
51    <a href="#6.63-Utilities">Utilities</a>,
52    <a href="#6.63-Drivers">Drivers</a>,
53    <a href="#6.63-PDF_writer">PDF writer</a>,
54    <a href="#6.63-PDF_Interpreter">PDF Interpreter</a>,
55    <a href="#6.63-Interpreter">Interpreter</a>,
56    <a href="#6.63-Streams">Streams</a>,
57    <a href="#6.63-Library">Library</a>
58</ul>
59<li><a href="#Version6.62">Version 6.62 (2001-03-19)</a>
60<ul>
61<li><a href="#6.62-Documentation">Documentation</a>,
62    <a href="#6.62-Procedures">Procedures</a>,
63    <a href="#6.62-Utilities">Utilities</a>,
64    <a href="#6.62-Drivers">Drivers</a>,
65    <a href="#6.62-PDF_writer">PDF writer</a>,
66    <a href="#6.62-PDF_Interpreter">PDF Interpreter</a>,
67    <a href="#6.62-Interpreter">Interpreter</a>,
68    <a href="#6.62-Streams">Streams</a>,
69    <a href="#6.62-Library">Library</a>,
70    <a href="#6.62-Other">Other</a>
71</ul>
72<li><a href="#Version6.61">Version 6.61 (2001-02-21)</a>
73<ul>
74<li><a href="#6.61-Documentation">Documentation</a>,
75    <a href="#6.61-Procedures">Procedures</a>,
76    <a href="#6.61-Utilities">Utilities</a>,
77    <a href="#6.61-Drivers">Drivers</a>,
78    <a href="#6.61-PDF_writer">PDF writer</a>,
79    <a href="#6.61-PDF_Interpreter">PDF Interpreter</a>,
80    <a href="#6.61-Interpreter">Interpreter</a>,
81    <a href="#6.61-Streams">Streams</a>,
82    <a href="#6.61-Library">Library</a>,
83    <a href="#6.61-Other">Other</a>
84</ul>
85<li><a href="#Version6.60">Version 6.60 (2000-12-31)</a>
86<ul>
87<li><a href="#6.60_Incompatible_changes">Incompatible changes</a>,
88    <a href="#6.60-Documentation">Documentation</a>,
89    <a href="#6.60-Procedures">Procedures</a>,
90    <a href="#6.60-Utilities">Utilities</a>,
91    <a href="#6.60-Drivers">Drivers</a>,
92    <a href="#6.60-PDF_writer">PDF writer</a>,
93    <a href="#6.60-PDF_Interpreter">PDF Interpreter</a>,
94    <a href="#6.60-Interpreter">Interpreter</a>,
95    <a href="#6.60-Streams">Streams</a>,
96    <a href="#6.60-Library">Library</a>,
97    <a href="#6.60-Other">Other</a>
98</ul>
99<li><a href="#Version6.30">Version 6.30 (2000-10-03)</a>
100<ul>
101<li><a href="#6.30_Incompatible_changes">Incompatible changes</a>,
102    <a href="#6.30 Documentation">Documentation</a>,
103    <a href="#6.30 Procedures">Procedures</a>,
104    <a href="#6.30 Utilities">Utilities</a>,
105    <a href="#6.30 Drivers">Drivers</a>,
106    <a href="#6.30 PDF writer">PDF writer</a>,
107    <a href="#6.30 Interpreter (PDF)">Interpreter (PDF)</a>,
108    <a href="#6.30 Interpreter">Interpreter</a>,
109    <a href="#6.30 Streams">Streams</a>,
110    <a href="#6.30 Library">Library</a>,
111    <a href="#6.30 ???Other???">???Other???</a>
112</ul>
113<li><a href="#Version6.23">Version 6.23 (2000-08-07)</a>
114<ul>
115<li><a href="#6.23_Incompatible_changes">Incompatible changes</a>,
116    <a href="#6.23 Documentation">Documentation</a>,
117    <a href="#6.23 Procedures">Procedures</a>,
118    <a href="#6.23 Utilities">Utilities</a>,
119    <a href="#6.23 Drivers">Drivers</a>,
120    <a href="#6.23 PDF writer">PDF writer</a>,
121    <a href="#6.23 Interpreter (PDF)">Interpreter (PDF)</a>,
122    <a href="#6.23 Interpreter">Interpreter</a>,
123    <a href="#6.23 Library">Library</a>
124</ul>
125<li><a href="#Version6.22">Version 6.22 (2000-07-05)</a>
126<ul>
127<li><a href="#6.22_Incompatible_changes">Incompatible changes</a>,
128    <a href="#6.22 Documentation">Documentation</a>,
129    <a href="#6.22 Procedures">Procedures</a>,
130    <a href="#6.22 Utilities">Utilities</a>,
131    <a href="#6.22 Drivers">Drivers</a>,
132    <a href="#6.22 PDF writer">PDF writer</a>,
133    <a href="#6.22 Interpreter (PDF)">Interpreter (PDF)</a>,
134    <a href="#6.22 Interpreter">Interpreter</a>,
135    <a href="#6.22 Streams">Streams</a>,
136    <a href="#6.22 Library">Library</a>
137</ul>
138<li><a href="#Version6.21">Version 6.21 (2000-04-28)</a>
139<ul>
140<li><a href="#6.21_Incompatible_changes">Incompatible changes</a>,
141    <a href="#6.21 Documentation">Documentation</a>,
142    <a href="#6.21 Procedures">Procedures</a>,
143    <a href="#6.21 Utilities">Utilities</a>,
144    <a href="#6.21 Drivers">Drivers</a>,
145    <a href="#6.21 PDF writer">PDF writer</a>,
146    <a href="#6.21 Interpreter (PDF)">Interpreter (PDF)</a>,
147    <a href="#6.21 Interpreter">Interpreter</a>,
148    <a href="#6.21 Streams">Streams</a>,
149    <a href="#6.21 Library">Library</a>
150</ul>
151<li><a href="#Version6.20">Version 6.20 (2000-04-06)</a>
152<ul>
153<li><a href="#6.20_Incompatible_changes">Incompatible changes</a>,
154    <a href="#6.20 Documentation">Documentation</a>,
155    <a href="#6.20 Procedures">Procedures</a>,
156    <a href="#6.20 Utilities">Utilities</a>,
157    <a href="#6.20 Drivers">Drivers</a>,
158    <a href="#6.20 PDF writer">PDF writer</a>,
159    <a href="#6.20 Interpreter (PDF)">Interpreter (PDF)</a>,
160    <a href="#6.20 Interpreter">Interpreter</a>,
161    <a href="#6.20 Streams">Streams</a>,
162    <a href="#6.20 Library">Library</a>
163</ul>
164<li>(Versions 6.02 - 6.19 deliberately omitted.)
165<li><a href="#Version6.01">Version 6.01 (2000-03-17)</a>
166<ul>
167<li><a href="#6.01_Incompatible_changes">Incompatible changes</a>,
168    <a href="#6.01 Documentation">Documentation</a>,
169    <a href="#6.01 Procedures">Procedures</a>,
170    <a href="#6.01 Utilities">Utilities</a>,
171    <a href="#6.01 Drivers">Drivers</a>,
172    <a href="#6.01 PDF writer">PDF writer</a>,
173    <a href="#6.01 Interpreter (PDF)">Interpreter (PDF)</a>,
174    <a href="#6.01 Interpreter">Interpreter</a>,
175    <a href="#6.01 Streams">Streams</a>,
176    <a href="#6.01 Library">Library</a>
177</ul>
178<li><a href="#Version6.0">Version 6.0 (2000-02-03)</a>
179<ul>
180<li><a href="#6.0_Documentation">Documentation</a>,
181    <a href="#6.0_Procedures">Procedures</a>,
182    <a href="#6.0_Utilities">Utilities</a>,
183    <a href="#6.0_Drivers">Drivers</a>,
184    <a href="#6.0_Platforms">Platforms</a>,
185    <a href="#6.0_Fonts">Fonts</a>,
186    <a href="#6.0_PDF_writer">PDF writer</a>,
187    <a href="#6.0_Interpreter_PDF">Interpreter (PDF)</a>,
188    <a href="#6.0_Interpreter">Interpreter</a>,
189    <a href="#6.0_Streams">Streams</a>,
190    <a href="#6.0_Library">Library</a>
191</ul>
192</ul></blockquote>
193
194<!-- [1.2 end table of contents] =========================================== -->
195
196<!-- [1.3 begin hint] ====================================================== -->
197
198<p>
199This document is a record of changes in Ghostscript releases numbered 6.n.
200For earlier versions, see the the history documents:
201
202<blockquote>
203<a href="History5.htm">History of Ghostscript versions 5.n</a><br>
204<a href="History4.htm">History of Ghostscript versions 4.n</a><br>
205<a href="History3.htm">History of Ghostscript versions 3.n</a><br>
206<a href="History2.htm">History of Ghostscript versions 2.n</a><br>
207<a href="History1.htm">History of Ghostscript versions 1.n</a>
208</blockquote>
209
210<p>For other information, see the <a href="Readme.htm">Ghostscript
211overview</a>.
212
213<!-- [1.3 end hint] ======================================================== -->
214
215<hr>
216
217<!-- [1.0 end visible header] ============================================== -->
218
219<!-- [2.0 begin contents] ================================================== -->
220
221<p>
222Within each release, news appears in the following order: Incompatible
223changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts,
224PDF writer (included under Drivers through fileset 5.88), Interpreter,
225Streams (included under Interpreter through release 2.9.9), Library.
226Changes marked with a * were made available as patches to a previous
227release.
228
229<hr>
230
231<h1><a name="Version6.64"></a>Version 6.64 (2001-04-07)</h1>
232
233<p>
234This is probably the last beta release before 7.0. Most of the patches
235since last time are bug and portability fixes.
236
237<p>
238All problems registered on SourceForge numbered 414104 or lower are
239closed, except for the following: 209350, 215256, 219798, 221582,
240222534, 222727, 224056, 224863, 226477, 226584, 227684, 227709,
241228180, 228641, 230694, 231390, 404255, 404482, 405342, 406285,
242406689, 406696, 406979, 407342, 409887, 410371, 411753, 413114,
243413669, 413747, 414022, 414104.
244
245<h3><a name="6.64_Incompatible_changes"></a>Incompatible changes</h3>
246
247<pre>
248(Library)
249	- The gs_logical_operation_t type now has a bit indicating
250PDF 1.4 transparency.
251(Build process)
252	- The default directories for XLIBDIR and XINCLUDE now point
253to /usr/X11R6.
254
255
256<h2><a name="6.64-Documentation"></a>Documentation</h2><pre>
257
2581. Removing the article "Minor Bugs. kshow doesn't restore currentfont after
259running proc." due to fixed. 2. Adding article "Buffering in input filters"
260to "Differences from Adobe Implementation". (doc/Issues.htm [1.6]:
2612001/04/03 15:53:01 igorm)
262
263Updates Glenn Ramsey's email address in the Epson 300 documentation.
264(doc/Devices.htm [1.24]: 2001/04/04 04:25:00 raph)
265
266Adds request for code-review submissions to identify intended branches.
267(doc/Maintain.htm [1.14]: 2001/04/04 07:22:48 raph)
268
269Move SourceForge bug #226943 to the "Other implementation" section of this
270document. The %ram% device has never been a user or customer issue, but it
271might be handy to have. (doc/Projects.htm [1.27]: 2001/04/04 16:36:36 rayjj)
272
273Updates to documentation. Location of main ftp site is now
274ftp://mirror.cs.wisc.edu/pub/mirrors/ghost. Correct some links to the
275www.cs.wisc.edu web site. Remove the statement that the Inprise compiler is
276used for Windows distribution archives. (doc/Bug-info.htm [1.14],
277doc/Fonts.htm [1.16], doc/Install.htm [1.20], doc/Make.htm [1.26],
278doc/New-user.htm [1.23], doc/Release.htm [1.32], doc/Tester.htm [1.10]:
2792001/04/05 08:49:57 ghostgum)
280
281Adds issues from SourceForge bug numbers: 232334, 233403, 406643. Also adds
282missing bug ID for #228808. (doc/Issues.htm [1.7]: 2001/04/05 14:44:39
283rayjj)
284
285Various documenation fixups. Removes pointer to external pdf_sec.ps now that
286the full implementation is in our distribution. Adds note on the
287class="offset" attribute to the html style guidelines. (doc/API.htm [1.5],
288doc/Bug-form.htm [1.18], doc/Htmstyle.htm [1.13], doc/New-user.htm [1.24],
289doc/Psfiles.htm [1.17], doc/Readme.htm [1.25]: 2001/04/06 11:27:00 giles)
290
291Uses better test for avoiding crash on "gs -h". Also updates API document.
292Thanks to Russell Lang. (doc/API.htm [1.6]: 2001/04/07 00:08:08 raph)
293
294adds a last few doc fixups before the 6.64 beta release.
295(doc/Bug-info.htm [1.15], doc/C-style.htm [1.15], doc/Htmstyle.htm [1.14]:
2962001/04/07 00:15:02 giles)
297
298Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.
299(doc/Devices.htm [1.25]: 2001/04/07 00:33:29 raph)
300
301Corrections to interpreter API documentation. If "gs -h" executed,
302gsapi_exit() must be called next. Assign copyright to artofcode LLC.
303(doc/API.htm [1.7]: 2001/04/07 01:17:50 ghostgum)
304
305Updates version number and date in preparation for 6.64 release. Updates
306Develop.htm to accurately list source files. (doc/API.htm [1.8],
307doc/Bug-form.htm [1.19], doc/Bug-info.htm [1.16], doc/C-style.htm [1.16],
308doc/Commprod.htm [1.12], doc/Copying.htm [1.10], doc/Current.htm [1.10],
309doc/DLL.htm [1.12], doc/Develop.htm [1.36], doc/Devices.htm [1.26],
310doc/Drivers.htm [1.18], doc/Fonts.htm [1.17], doc/Helpers.htm [1.14],
311doc/History1.htm [1.10], doc/History2.htm [1.10], doc/History3.htm [1.10],
312doc/History4.htm [1.10], doc/History5.htm [1.12], doc/History6.htm [1.25],
313doc/Htmstyle.htm [1.15], doc/Install.htm [1.21], doc/Issues.htm [1.8],
314doc/Language.htm [1.29], doc/Lib.htm [1.10], doc/Maintain.htm [1.15],
315doc/Make.htm [1.27], doc/New-user.htm [1.25], doc/News.htm [1.83],
316doc/Projects.htm [1.28], doc/Ps-style.htm [1.10], doc/Ps2epsi.htm [1.11],
317doc/Ps2pdf.htm [1.28], doc/Psfiles.htm [1.18], doc/README [1.9],
318doc/Readme.htm [1.26], doc/Release.htm [1.33], doc/Source.htm [1.10],
319doc/Tester.htm [1.11], doc/Unix-lpr.htm [1.10], doc/Use.htm [1.26],
320doc/Xfonts.htm [1.10], doc/gs-vms.hlp [1.9], man/dvipdf.1 [1.7],
321man/font2c.1 [1.7], man/gs.1 [1.7], man/gslp.1 [1.7], man/gsnd.1 [1.7],
322man/pdf2dsc.1 [1.7], man/pdf2ps.1 [1.9], man/pdfopt.1 [1.7],
323man/pf2afm.1 [1.7], man/pfbtopfa.1 [1.8], man/printafm.1 [1.7],
324man/ps2ascii.1 [1.7], man/ps2epsi.1 [1.7], man/ps2pdf.1 [1.11],
325man/ps2pdfwr.1 [1.8], man/ps2ps.1 [1.14], man/wftopfa.1 [1.7]: 2001/04/07
32607:55:24 raph)
327
328Trivial doc patch. (doc/Develop.htm [1.37]: 2001/04/07 07:58:50 raph)
329
330Documentation fixups for broken internal links. (doc/Devices.htm [1.27],
331doc/Maintain.htm [1.16], doc/Make.htm [1.28], doc/Release.htm [1.34]:
3322001/04/07 08:18:53 giles)
333
334</pre><h2><a name="6.64-Procedures"></a>Procedures</h2><pre>
335
336Fixes problems:
337	- Speed up shading type 1. (lib.mak [1.47]: 2001/04/05 08:32:28
338igorm)
339
340Adds target to OS/2 makefile to build distribution zip archive. Disables
341multiple image windows for OS/2 because we can't tell when subsequent
342windows are closed. To allow multiple windows we would need to rewrite
343gspmdrv.c. (os2.mak [1.14]: 2001/04/01 10:13:24 ghostgum)
344
345Remove the bmpa*** devices from the default build. These are example devices
346to demonstrate async rendering but do not have any advantages to users over
347the bmp*** devices, and their inclusion requires thread support which is not
348available on all systems. Resolves SourceForge bug #213799.
349(unix-gcc.mak [1.15], unixansi.mak [1.11], unixtrad.mak [1.11]: 2001/04/03
35020:04:46 rayjj)
351
352updates to support libpng v1.0.9. (all-arch.mak [1.7], bcwin32.mak [1.9],
353dvx-gcc.mak [1.9], libpng.mak [1.5], msvc32.mak [1.14], msvclib.mak [1.11],
354openvms.mak [1.10], os2.mak [1.15], ugcclib.mak [1.10], unix-gcc.mak [1.16],
355unixansi.mak [1.12], unixtrad.mak [1.12], watc.mak [1.11],
356watclib.mak [1.11], watcw32.mak [1.10]: 2001/04/04 07:51:15 giles)
357
358updates to support libpng v1.0.10. OS/2 makefile fixup for v1.0.9 and above
359from Russell Lang. (all-arch.mak [1.8], bcwin32.mak [1.10],
360dvx-gcc.mak [1.10], libpng.mak [1.6], msvc32.mak [1.15], msvclib.mak [1.12],
361openvms.mak [1.11], os2.mak [1.16], ugcclib.mak [1.11], unix-gcc.mak [1.17],
362unixansi.mak [1.13], unixtrad.mak [1.13], watc.mak [1.12],
363watclib.mak [1.12], watcw32.mak [1.11]: 2001/04/06 07:27:22 giles)
364
365Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.
366(contrib.mak [1.23]: 2001/04/07 00:33:29 raph)
367
368Changes default XLIBDIR and XINCLUDE to /usr/X11R6, which is far more likely
369than the previous values. (contrib.mak [1.24], ugcclib.mak [1.12],
370unix-gcc.mak [1.18], unixtrad.mak [1.14]: 2001/04/07 06:50:27 raph)
371
372Updates version number and date in preparation for 6.64 release. Updates
373Develop.htm to accurately list source files. (version.mak [1.32]: 2001/04/07
37407:55:25 raph)
375
376</pre><h2><a name="6.64-Utilities"></a>Utilities</h2><pre>
377
378Fixes problems:
379	- -dDELAYSAFER flag added; append operator fixed in Windows and OS/2
380scripts; literal newlines removed from sed script. Bugs #223896, #230699
381(lib/ps2epsi [1.5], lib/ps2epsi.bat [1.4], lib/ps2epsi.cmd [1.2],
382lib/ps2epsi.ps [1.5]: 2001/04/04 04:45:42 alexcher)
383	- The fileposition operator cannot be used on some data sources. Use
384.fileposition (if on Ghostscript) and make some other changes to make this
385portable to other PostScript interpreters. SourceForge bug #223005.
386(lib/image-qa.ps [1.3]: 2001/04/04 04:54:53 rayjj)
387	- Previous fix had OutputFile set to a debug value. Restoring it to
388NUL (lib/ps2epsi.bat [1.5]: 2001/04/04 05:19:33 alexcher)
389	- Adds whitespace to sed command in ps2epsi, needed on RH Linux 6.2.
390(lib/ps2epsi [1.6]: 2001/04/04 21:05:00 raph)
391
392</pre><h2><a name="6.64-Drivers"></a>Drivers</h2><pre>
393
394Fixes problems:
395	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
396gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure
397is allocated with a descriptor. sdct.h : defines descriptors for JPEG
398structures. sjpegc.c : implements the linked list of JPEG core blocks
399sjpegd.c sjpege.c : corrects the initialization order of (de)compress
400struct's gsstruct.h : yet another macro for a structure with 1 string and 1
401ptr (gdevjpeg.c [1.3], gdevpsdu.c [1.10]: 2001/04/04 19:20:27 alexcher)
402
403Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.
404(gdevhpij.c [1.1], gdevhpij.h [1.1]: 2001/04/07 00:33:29 raph)
405
406</pre><h2><a name="6.64-PDF_writer"></a>PDF writer</h2><pre>
407
408Fixes problems:
409	- Emits W or W* after path construction operators when outputting
410clip paths in the pdfwrite driver, to be correct with respect to the PDF
411spec. (gdevpdfd.c [1.14]: 2001/04/07 07:12:52 raph)
412
413</pre><h2><a name="6.64-PDF_Interpreter"></a>PDF Interpreter</h2><pre>
414
415Fixes problems:
416	- The search area for %%EOF at the end of PDF file is increased to
4174K to cover a file generated by Distiller 3.02b for AIX 4.1.1 Customer #580
418(lib/pdf_main.ps [1.31]: 2001/04/07 01:34:23 alexcher)
419	- A comment is corrected to match the source.
420(lib/pdf_main.ps [1.32]: 2001/04/07 01:47:00 alexcher)
421
422PDF 1.4 improvements: Fixes garbage collection of device filter stack.
423Forces idempotent path drawing in transparency mode. Corrects handling of
424Group at toplevel page. (lib/pdf_draw.ps [1.29], lib/pdf_main.ps [1.30]:
4252001/04/06 22:23:44 raph)
426
427</pre><h2><a name="6.64-Interpreter"></a>Interpreter</h2><pre>
428
429Fixes problems:
430	- Windows poll function now returns a code to interrupt Ghostscript
431if the text window is closing. Don't show message box on exit if user closed
432the text window. (dwmain.c [1.4], dwtext.c [1.3]: 2001/04/03 11:12:58
433ghostgum)
434	- equality operation between a pointer and enum constant (with 0
435value) is a syntax error on CodeWarrior. Replacing the enum with NULL. From
436Bernd Heller (zdscpars.c [1.10]: 2001/04/04 05:25:32 alexcher)
437	- Register /All and /None in the name table on look-up. Otherwise an
438attempt to set the separation color space fails with /undefined
439(zcssepr.c [1.7]: 2001/04/04 16:09:15 alexcher)
440	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
441gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure
442is allocated with a descriptor. sdct.h : defines descriptors for JPEG
443structures. sjpegc.c : implements the linked list of JPEG core blocks
444sjpegd.c sjpege.c : corrects the initialization order of (de)compress
445struct's gsstruct.h : yet another macro for a structure with 1 string and 1
446ptr (zfdctd.c [1.4], zfdcte.c [1.4]: 2001/04/04 19:20:27 alexcher)
447	- Set default size of MAX_ESTACK to 5000. This is the minimal fix
448recommended by L. Peter Deutsch in the followup to SourceForge bug #224095.
449This should be fixed later to handle automatic stack expansion. The
450approaches are defined by Peter as #2 and #3. Interim resolution to
451SorceForge bug #224095. (interp.c [1.8]: 2001/04/06 06:42:45 rayjj)
452	- Apparently Japanese Windows uses WM_USER+1 internally and
453conflicts with gswin32c messages starting from WM_USER+1. So gswin32c
454messages are moved to WM_USER+101 range. Fix from Akira Kakuto
455(dwmainc.c [1.4]: 2001/04/06 08:36:02 ghostgum)
456	- Do not put Windows stdin into binary mode if it is the console
457because this returns CR and LF each time the Enter key is pressed. This
458caused Ghostscript to not pause at following showpage prompts.
459(dwmainc.c [1.5]: 2001/04/06 08:43:29 ghostgum)
460	- Genoa FTS 035-07.ps got a SEGV error caused by data being
461allocated in non-GC memory, but pointer enumumeration giving these pointers
462to the GC for tracing. Since these objects didn't have GC type headers bad
463things happened. Also change one of the allocations in sjpegc.c to immovable
464that was not -- this change was not needed to prevent the crash.
465(zfdctd.c [1.5]: 2001/04/07 00:33:22 rayjj)
466	- Compressed fonts are now recognized as narrow during font
467substitution. Customer #580 (lib/gs_fonts.ps [1.11]: 2001/04/07 01:07:01
468alexcher)
469	- two small issues with compilation under xlc on IBM AIX RS6000, a
470name conflict with structures names (u)int64, and trailing commas in enum
471declarations. Patch from Dan Coby. Sourceforge bug #414328.
472(dscparse.h [1.4]: 2001/04/07 07:28:33 giles)
473
474Adds target to OS/2 makefile to build distribution zip archive. Disables
475multiple image windows for OS/2 because we can't tell when subsequent
476windows are closed. To allow multiple windows we would need to rewrite
477gspmdrv.c. (dpmain.c [1.3]: 2001/04/01 10:13:24 ghostgum)
478
479updates to support libpng v1.0.10. OS/2 makefile fixup for v1.0.9 and above
480from Russell Lang. (imain.c [1.11]: 2001/04/06 07:27:22 giles)
481
482Removed unecessary include of Macintosh QDOffscreen.h header (iapi.h [1.2]:
4832001/04/06 22:57:46 bdheller)
484
485Uses better test for avoiding crash on "gs -h". Also updates API document.
486Thanks to Russell Lang. (imain.c [1.12]: 2001/04/07 00:08:08 raph)
487
488Updates version number and date in preparation for 6.64 release. Updates
489Develop.htm to accurately list source files. (lib/gs_init.ps [1.33]:
4902001/04/07 07:55:25 raph)
491
492Removes \r\n line ends inadvertently added. (dscparse.h [1.5]: 2001/04/07
49308:07:17 raph)
494
495</pre><h2><a name="6.64-Streams"></a>Streams</h2><pre>
496
497Fixes problems:
498	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
499gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure
500is allocated with a descriptor. sdct.h : defines descriptors for JPEG
501structures. sjpegc.c : implements the linked list of JPEG core blocks
502sjpegd.c sjpege.c : corrects the initialization order of (de)compress
503struct's gsstruct.h : yet another macro for a structure with 1 string and 1
504ptr (sdct.h [1.3], sdeparam.c [1.3], sjpegc.c [1.3], sjpegd.c [1.3],
505sjpege.c [1.3]: 2001/04/04 19:20:27 alexcher)
506	- Genoa FTS 035-07.ps got a SEGV error caused by data being
507allocated in non-GC memory, but pointer enumumeration giving these pointers
508to the GC for tracing. Since these objects didn't have GC type headers bad
509things happened. Also change one of the allocations in sjpegc.c to immovable
510that was not -- this change was not needed to prevent the crash.
511(sjpegc.c [1.4]: 2001/04/07 00:33:22 rayjj)
512
513</pre><h2><a name="6.64-Library"></a>Library</h2><pre>
514
515Fixes problems:
516	- Register /All and /None in the name table on look-up. Otherwise an
517attempt to set the separation color space fails with /undefined
518(gscsepr.c [1.8]: 2001/04/04 16:09:15 alexcher)
519	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
520gsstruct.h : yet another macro for a structure with 1 string and 1 ptr
521(gsstruct.h [1.8]: 2001/04/04 18:45:08 alexcher)
522	- Speed up shading type 1. (gsshade.c [1.4], gxshade1.c [1.9]:
5232001/04/05 08:32:28 igorm)
524	- Some compilers complain that: "Argument of type "stream *" is
525incompatible with parameter of type "FILE *". Thanks to Nelson Beebe for
526finding this (on SGI). (gs_stdio.h [1.2]: 2001/04/06 03:19:07 rayjj)
527	- Fixes crashes in Type 4 function evaluator when stack is empty.
528(gsfunc4.c [1.5]: 2001/04/06 22:22:38 raph)
529
530Adds a lop_pdf14 field to logical operators, which is used to force non-
531idempotent drawing of paths. (gsropt.h [1.4]: 2001/04/05 23:21:15 raph)
532
533PDF 1.4 improvements: Fixes garbage collection of device filter stack.
534Forces idempotent path drawing in transparency mode. Corrects handling of
535Group at toplevel page. (gdevp14.c [1.2], gsstate.c [1.11]: 2001/04/06
53622:23:44 raph)
537
538</pre><h2><a name="6.64-Other"></a>Other</h2><pre>
539
540Fixes problems:
541	- two small issues with compilation under xlc on IBM AIX RS6000, a
542name conflict with structures names (u)int64, and trailing commas in enum
543declarations. Patch from Dan Coby. Sourceforge bug #414328.
544(icclib/icc.c [1.2], icclib/icc.h [1.2]: 2001/04/07 07:28:33 giles)
545
546Removes \r\n line ends inadvertently added. (icclib/icc.c [1.3],
547icclib/icc.h [1.3]: 2001/04/07 08:07:16 raph)
548
549<hr>
550
551<h1><a name="Version6.63"></a>Version 6.63 (2001-03-31)</h1>
552
553<p>
554This is the second beta release for the upcoming 7.0 release. This
555fileset contains a number of stability improvements for the new
556display device, integration of PDF 1.4 rendering with all devices, and
557the usual round of bug fixes.
558
559<p>
560All problems registered on SourceForge numbered 411753 or lower are
561closed, except for the following: 201955, 202735, 206652, 209350,
562213799, 215256, 219798, 220967, 221582, 222534, 222727, 223005,
563223754, 223896, 223992, 224056, 224095, 224863, 226477, 226584,
564226943, 227090, 227684, 227709, 228180, 228641, 230694, 230699,
565231390, 232334, 233403, 404255, 404482, 405313, 406285, 406643,
566406689, 406696, 406979, 407342, 409887, 410371, 410722, 411753.
567
568<h3><a name="6.63_Incompatible_changes"></a>Incompatible changes</h3>
569
570<pre>
571(Library)
572	- The gs_text_enum_common structure has a new imaging_dev field
573which is used by the bbox device to intercept low-level drawing
574operations when drawing text.
575	- There is a new pdf14 device filter used for rendering PDF 1.4
576documents.
577
578
579<h2><a name="6.63-Documentation"></a>Documentation</h2><pre>
580
581Moves the following SourceForge bugs to the Issues.htm documentation:
582201955, 220967, 223992. (doc/Issues.htm [1.2]: 2001/03/20 07:36:30 rayjj)
583
584Added 2 issues related to JPEG in PDF, Bug 226391 (doc/Issues.htm [1.3]:
5852001/03/20 16:41:28 alexcher)
586
587Adds %printer% device to Windows to allow a printer to be specified as
588-sOutputFile="%printer%Printer Name". This replaces the use of
589"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
590\\spool\, the new %printer% device does not write a large temporary file.
591(doc/Install.htm [1.17]: 2001/03/26 11:28:20 ghostgum)
592
593Change the search order for the Ghostscript Windows DLL to try the
594executable directory before the location specified in the GS_DLL environment
595variable. (doc/Install.htm [1.18]: 2001/03/27 09:35:22 ghostgum)
596
597Some attributes of Catalog object are lost during PDF to PDF conversion
598(doc/Issues.htm [1.4]: 2001/03/27 21:03:18 alexcher)
599
600Increments version number after 6.62 release. (doc/News.htm [1.81]:
6012001/03/28 21:27:15 raph)
602
603Updates dates in preparation for 6.63 beta release. News updated.
604(doc/API.htm [1.4], doc/Bug-form.htm [1.17], doc/Bug-info.htm [1.13],
605doc/C-style.htm [1.14], doc/Commprod.htm [1.11], doc/Copying.htm [1.9],
606doc/Current.htm [1.9], doc/DLL.htm [1.11], doc/Develop.htm [1.35],
607doc/Devices.htm [1.23], doc/Drivers.htm [1.17], doc/Fonts.htm [1.15],
608doc/Helpers.htm [1.13], doc/History1.htm [1.9], doc/History2.htm [1.9],
609doc/History3.htm [1.9], doc/History4.htm [1.9], doc/History5.htm [1.11],
610doc/History6.htm [1.23], doc/Htmstyle.htm [1.12], doc/Install.htm [1.19],
611doc/Issues.htm [1.5], doc/Language.htm [1.28], doc/Lib.htm [1.9],
612doc/Maintain.htm [1.13], doc/Make.htm [1.25], doc/New-user.htm [1.22],
613doc/News.htm [1.82], doc/Projects.htm [1.26], doc/Ps-style.htm [1.9],
614doc/Ps2epsi.htm [1.10], doc/Ps2pdf.htm [1.27], doc/Psfiles.htm [1.16],
615doc/README [1.8], doc/Readme.htm [1.24], doc/Release.htm [1.31],
616doc/Source.htm [1.9], doc/Tester.htm [1.9], doc/Unix-lpr.htm [1.9],
617doc/Use.htm [1.25], doc/Xfonts.htm [1.9], doc/gs-vms.hlp [1.8],
618man/dvipdf.1 [1.6], man/font2c.1 [1.6], man/gs.1 [1.6], man/gslp.1 [1.6],
619man/gsnd.1 [1.6], man/pdf2dsc.1 [1.6], man/pdf2ps.1 [1.8],
620man/pdfopt.1 [1.6], man/pf2afm.1 [1.6], man/pfbtopfa.1 [1.7],
621man/printafm.1 [1.6], man/ps2ascii.1 [1.6], man/ps2epsi.1 [1.6],
622man/ps2pdf.1 [1.10], man/ps2pdfwr.1 [1.7], man/ps2ps.1 [1.13],
623man/wftopfa.1 [1.6]: 2001/04/01 01:10:54 raph)
624
625</pre><h2><a name="6.63-Procedures"></a>Procedures</h2><pre>
626
627Adds %printer% device to Windows to allow a printer to be specified as
628-sOutputFile="%printer%Printer Name". This replaces the use of
629"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
630\\spool\, the new %printer% device does not write a large temporary file.
631(winlib.mak [1.9]: 2001/03/26 11:28:20 ghostgum)
632
633Adds Windows %printer% device to MS Visual C++ build. (msvc32.mak [1.13]:
6342001/03/26 12:00:07 ghostgum)
635
636Adds icclib subdirectory to tarballs. (toolbin/makeset.tcl [1.7]: 2001/03/28
63721:24:00 raph)
638
639Increments version number after 6.62 release. (version.mak [1.30]:
6402001/03/28 21:27:15 raph)
641
642Applies PDF 1.4 rendering with all devices. Previously, only pnga device
643contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
644model is detected in the source file, it installs the pdf 1.4 rendering
645device as a device filter. (lib.mak [1.46]: 2001/04/01 00:30:41 raph)
646
647Updates dates in preparation for 6.63 beta release. News updated.
648(version.mak [1.31]: 2001/04/01 01:10:55 raph)
649
650</pre><h2><a name="6.63-Utilities"></a>Utilities</h2><pre>
651
652Fixes problems:
653	- closefile added for procedure based stdio to prevent disabled
654stream from appearing valid. (ziodevsc.c [1.2]: 2001/03/27 09:37:10
655ghostgum)
656	- Avoid rangecheck error when character code exceeds 255. Support
657zero-size bitmap used by some fonts for space character.
658(lib/bdftops.ps [1.3]: 2001/03/27 20:53:36 alexcher)
659	- BATCH parameter is added to all bdftops* scripts
660(lib/bdftops [1.2], lib/bdftops.bat [1.3], lib/bdftops.cmd [1.2]: 2001/03/27
66121:15:55 alexcher)
662	- Corrects memory allocation of command line arguments in the
663programs which load the Ghostscript interpreter DLL / shared object.
664(dxmain.c [1.2]: 2001/03/31 10:09:47 ghostgum)
665
666Adds %printer% device to Windows to allow a printer to be specified as
667-sOutputFile="%printer%Printer Name". This replaces the use of
668"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
669\\spool\, the new %printer% device does not write a large temporary file.
670(gp_msprn.c [1.1]: 2001/03/26 11:28:20 ghostgum)
671
672</pre><h2><a name="6.63-Drivers"></a>Drivers</h2><pre>
673
674Fixes problems:
675	- AutoFilter.* options now select lossless compression for the image
676smaller than 64 pixels in any dimension. Bug # 226391 from a free user.
677(gdevpsdi.c [1.14]: 2001/03/24 04:17:07 alexcher)
678	- In the display device, allow NULL as a valid value for
679DisplayHandle. Correct the code which requires the device to be closed
680before changing the DisplayHandle and DisplayFormat parameters. SourceForge
681bug # 411101. (gdevdsp.c [1.2]: 2001/03/28 08:46:15 ghostgum)
682	- mdev-&gt;memory member was set to 0 causing gx_device_enum_ptr()
683not enumerate mdev. This led to freeing of mdev by GC and memory exceptions
684during de-allocation of the display device. (gdevdsp.c [1.3]: 2001/03/28
68521:50:56 alexcher)
686	- Correct memory allocation problems in the display device. Return
687correct pointers from display_enum_ptrs so that the memory device and bitmap
688are not moved or prematurely freed. Adds a finalize procedure. Change the
689memory device to not forward to the display device. Mark the memory device
690as retained so it gets freed at the correct time. (gdevdsp.c [1.4],
691gdevdsp2.h [1.2]: 2001/03/29 07:26:57 ghostgum)
692	- Prevents the buffered mode of the x11 device from missing updates
693from the bitmap buffer to the X display. Fix for Artifex customer #1130
694(gdevx.c [1.8]: 2001/03/30 18:22:28 rayjj)
695
696Adds Tumble parameter to mswinpr2 device for specifying the duplex
697arrangement. Adds QueryUser to the parameters returned by
698win_pr2_get_params, so that it works from the command line.
699(gdevwpr2.c [1.8]: 2001/03/26 09:44:08 ghostgum)
700
701Adds %printer% device to Windows to allow a printer to be specified as
702-sOutputFile="%printer%Printer Name". This replaces the use of
703"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
704\\spool\, the new %printer% device does not write a large temporary file.
705(gdevwpr2.c [1.9]: 2001/03/26 11:28:20 ghostgum)
706
707Applies PDF 1.4 rendering with all devices. Previously, only pnga device
708contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
709model is detected in the source file, it installs the pdf 1.4 rendering
710device as a device filter. (gdevp14.h [1.1]: 2001/04/01 00:30:41 raph)
711
712Change: The Ghostscript 'pwrite' function name conflicted with the standard
713pwrite function defined in unistd.h on several systems. To avoid confusion
714with the standard function change the name to stream_write. Also change
715'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
716#410772. Fix by Ray Johnston. (gdevps.c [1.16], gdevpsdu.c [1.9],
717gdevpsu.c [1.4]: 2001/04/01 00:35:26 raph)
718
719</pre><h2><a name="6.63-PDF_writer"></a>PDF writer</h2><pre>
720
721Fixes problems:
722	- coordinate range is reduced to +/- 16383 to satisfy actual AR4
723restrictions. When CTM was scaled to reduce the range, line width in stroke
724and CTM in fill were wrong. Bug # 409105 from raf_mellen at
725users.sourceforge.net (gdevpdfd.c [1.12]: 2001/03/21 04:25:48 alexcher)
726	- ARTICLE pdfmark generated invalid bead object if /Page key was
727left out. Bug # 227651 from mbentley at users.sourceforge.net
728(gdevpdfm.c [1.10]: 2001/03/21 05:10:31 alexcher)
729	- initial values of fill and stroke color didn't change when
730ProcessColorModel changed. An attempt to set white color in CMYK mode was
731ignored because it was considered equal to the default color. Bug #410441
732from a free user. (gdevpdf.c [1.30]: 2001/03/22 15:12:48 alexcher)
733	- pdf_reset_graphics() didn't set correct default color (black) in
734/DeviceCMYK color model. An attempt to set white color was ignored because
735it was considered equal to the default color causing white objects rendered
736black. Bug #410441 from a free user. (gdevpdfg.c [1.11]: 2001/03/23 22:04:19
737alexcher)
738	- Maximum depth of an outline tree increased from 8 to 32. Bug
739#410595 from a free user. (gdevpdfx.h [1.29]: 2001/03/23 22:18:28 alexcher)
740
741Change: The Ghostscript 'pwrite' function name conflicted with the standard
742pwrite function defined in unistd.h on several systems. To avoid confusion
743with the standard function change the name to stream_write. Also change
744'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
745#410772. Fix by Ray Johnston. (gdevpdf.c [1.31], gdevpdfb.c [1.4],
746gdevpdfc.c [1.15], gdevpdfd.c [1.13], gdevpdfe.c [1.9], gdevpdfg.c [1.12],
747gdevpdfj.c [1.6], gdevpdfm.c [1.11], gdevpdfo.c [1.7], gdevpdfs.c [1.3],
748gdevpdft.c [1.32], gdevpdfu.c [1.15], gdevpdfw.c [1.10]: 2001/04/01 00:35:26
749raph)
750
751</pre><h2><a name="6.63-PDF_Interpreter"></a>PDF Interpreter</h2><pre>
752
753Fixes problems:
754	- OmniForm generates PDF files with endobj missing in some objects.
755Adobe Acrobat Reader ignores this. Generally speaking, Ghostscript does not
756attempt to accept files that grossly fail to obey the Adobe specification
757and are produced by software other than a very few extremely widespread
758applications. However work-around for this case is easy and unlikely to
759break anything. SourceForge bug #406694. (lib/pdf_base.ps [1.14]: 2001/03/20
76005:04:59 alexcher)
761	- URI action was not converted to corresponding pdfmark and lost
762during PDF to PDF conversion. Bug #409245, patch Leon Bottou with some
763changes. (lib/pdf_main.ps [1.28]: 2001/03/24 23:59:23 alexcher)
764
765Implementation of security hooks for PDF reader by Geoffrey Keating is
766merged into the main GS code base. (lib/pdf_sec.ps [1.3]: 2001/03/25
76702:03:44 alexcher)
768
769Applies PDF 1.4 rendering with all devices. Previously, only pnga device
770contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
771model is detected in the source file, it installs the pdf 1.4 rendering
772device as a device filter. (lib/pdf_main.ps [1.29]: 2001/04/01 00:30:41
773raph)
774
775</pre><h2><a name="6.63-Interpreter"></a>Interpreter</h2><pre>
776
777Fixes problems:
778	- flush procedure based stdout and stderr on exit. (imain.c [1.8]:
7792001/03/27 09:38:39 ghostgum)
780	- Fix for CIDFontType 0 : 1. Erroneous glyphs are drawn by cshow
781(with -dNOCACHE); 2. Glyphs written in horizontal direction instead vertical
782(with anti-aliasing); 3. Erroneous glyphs and awkward metrics (with
783anti-aliasing and -dNOCACHE); Patches 1 &amp; 3 from Hideyuki Suzuki
784(hideyuki), improved by igorm. SourceForge bug #222683. (zchar1.c [1.7]:
7852001/03/27 09:56:39 igorm)
786	- Changes to introduce the min_left stream state variable set this
787to 1 for procedure streams, which caused 1 character to be retained in the
788stream buffer which was not passed to the client. This broke the DLL
789interface where procedure callouts were used to get the string from the
790callback. Procedure streams have no need for EOD lookahead (to force
791closure) so the correct min_left value is 0. SourceForge bug #404331.
792(zfproc.c [1.9]: 2001/03/29 04:09:40 rayjj)
793	- After recognizing a number the scanner wrongly interpreted it as a
794name, if the number ends at the end of input buffer. Change from Raph.
795SourceForge bug #224205. (iscannum.c [1.3]: 2001/03/29 13:27:59 igorm)
796	- Correct the Windows virtual key code passed from the image window
797to the console. (dwimg.c [1.2]: 2001/03/31 10:07:48 ghostgum)
798	- Put Windows console stdout and stderr in binary mode. Ignore the
799initial callout for stdout and stderr as the procedure stream acquires a
800buffer. (dwmainc.c [1.2], imain.c [1.9]: 2001/03/31 10:08:43 ghostgum)
801	- Corrects memory allocation of command line arguments in the
802programs which load the Ghostscript interpreter DLL / shared object.
803(dpmain.c [1.2], dwmain.c [1.2], dwmainc.c [1.3]: 2001/03/31 10:09:47
804ghostgum)
805	- When gswin32 text window is closed, exit the interpreter on next
806access to stdin and then destroy the text window. (dwmain.c [1.3],
807dwtext.c [1.2], imain.c [1.10]: 2001/03/31 10:11:55 ghostgum)
808
809Change the search order for the Ghostscript Windows DLL to try the
810executable directory before the location specified in the GS_DLL environment
811variable. (dwdll.c [1.2]: 2001/03/27 09:35:22 ghostgum)
812
813Update mail address from bug-gs@aladdin.com to bug-gs@ghostscript.com.
814(imainarg.c [1.10]: 2001/03/28 18:30:35 rayjj)
815
816Increments version number after 6.62 release. (lib/gs_init.ps [1.32]:
8172001/03/28 21:27:15 raph)
818
819Applies PDF 1.4 rendering with all devices. Previously, only pnga device
820contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
821model is detected in the source file, it installs the pdf 1.4 rendering
822device as a device filter. (zdfilter.c [1.2]: 2001/04/01 00:30:41 raph)
823
824Change: The Ghostscript 'pwrite' function name conflicted with the standard
825pwrite function defined in unistd.h on several systems. To avoid confusion
826with the standard function change the name to stream_write. Also change
827'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
828#410772. Fix by Ray Johnston. (zfcmap.c [1.9]: 2001/04/01 00:35:26 raph)
829
830</pre><h2><a name="6.63-Streams"></a>Streams</h2><pre>
831
832Fixes problems:
833	- Changes to introduce the min_left stream state variable set this
834to 1 for procedure streams, which caused 1 character to be retained in the
835stream buffer which was not passed to the client. This broke the DLL
836interface where procedure callouts were used to get the string from the
837callback. Procedure streams have no need for EOD lookahead (to force
838closure) so the correct min_left value is 0. SourceForge bug #404331.
839(stream.c [1.11], stream.h [1.8]: 2001/03/29 04:09:40 rayjj)
840
841Change: The Ghostscript 'pwrite' function name conflicted with the standard
842pwrite function defined in unistd.h on several systems. To avoid confusion
843with the standard function change the name to stream_write. Also change
844'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
845#410772. Fix by Ray Johnston. (spprint.c [1.3], spprint.h [1.3],
846spsdf.c [1.5]: 2001/04/01 00:35:26 raph)
847
848</pre><h2><a name="6.63-Library"></a>Library</h2><pre>
849
850Fixes problems:
851	- The old code can mis-identify ShadingType 1 function as constant
852due to testing it at insufficient set of points. Replacing it with slower
853accurate code. SourceForge bug #228714. (gxshade.c [1.6], gxshade.h [1.4],
854gxshade1.c [1.8]: 2001/03/25 10:18:50 igorm)
855	- Fix for CIDFontType 0 : 1. Erroneous glyphs are drawn by cshow
856(with -dNOCACHE); 2. Glyphs written in horizontal direction instead vertical
857(with anti-aliasing); 3. Erroneous glyphs and awkward metrics (with
858anti-aliasing and -dNOCACHE); Patches 1 &amp; 3 from Hideyuki Suzuki
859(hideyuki), improved by igorm. SourceForge bug #222683. (gxchar.c [1.4]:
8602001/03/27 09:56:39 igorm)
861	- Adds imaging_dev field to text enumeration, so that bbox device
862can intercept low level drawing operations caused by implementation of
863forwarded high level text operations. (gdevbbox.c [1.4], gstext.c [1.6],
864gxccache.c [1.4], gxtext.h [1.7]: 2001/04/01 00:33:36 raph)
865
866Applies PDF 1.4 rendering with all devices. Previously, only pnga device
867contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
868model is detected in the source file, it installs the pdf 1.4 rendering
869device as a device filter. (gdevp14.c [1.1], gsdfilt.c [1.2],
870gsdfilt.h [1.2]: 2001/04/01 00:30:41 raph)
871
872Change: The Ghostscript 'pwrite' function name conflicted with the standard
873pwrite function defined in unistd.h on several systems. To avoid confusion
874with the standard function change the name to stream_write. Also change
875'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
876#410772. Fix by Ray Johnston. (gdevpsf1.c [1.9], gdevpsfm.c [1.5],
877gdevpsft.c [1.7], gsfunc4.c [1.4]: 2001/04/01 00:35:26 raph)
878
879<hr>
880
881<h1><a name="Version6.62"></a>Version 6.62 (2001-03-19)</h1>
882
883<p>
884This is the first beta release for the upcoming 7.0 release. This fileset
885adds ICC profile support using Graeme Gill's icclib, and the new DLL
886interface from Russell Lang.
887
888<p>
889All problems registered on SourceForge numbered 409245 or lower are
890closed, except for the following: 201955, 202735, 206652, 209350,
891213799, 215256, 219677, 219798, 220967, 221582, 222534, 222683,
892222727, 223005, 223091, 223754, 223896, 223992, 224056, 224095,
893224134, 224205, 224863, 226364, 226391, 226462, 226477, 226584,
894226943, 227090, 227190, 227276, 227382, 227651, 227684, 227709,
895228180, 228354, 228423, 228641, 228714, 228788, 228808, 229439,
896230694, 230699, 231390, 232334, 232696, 233403, 404255, 404255,
897404482, 404933, 405313, 406285, 406643, 406689, 406694, 406696,
898406699, 406979, 407342, 409105, 409133, 409244, 409245. Note that,
899since the 6.61 release, SourceForge has renumbered all bugs in the
9001xxxxx range by adding 100000 (thus, they are now 2xxxxxx).
901
902
903<h2><a name="6.62-Documentation"></a>Documentation</h2><pre>
904
905Increments version number to 6.62 as part of 6.61 release process.
906(doc/News.htm [1.77]: 2001/02/24 01:56:01 raph)
907
908Adds Epson Stylus Color 300 support to uniprint, also some code cleanups.
909Thanks to Glenn Ramsey and Gunther Hess for the patch.
910(doc/Devices.htm [1.20]: 2001/03/03 00:45:01 raph)
911
912Added documentation for Ghostscript interpreter API as used by Windows and
913OS/2 DLL and Linux shared object. (doc/API.htm [1.1], doc/DLL.htm [1.8],
914doc/Readme.htm [1.20]: 2001/03/13 07:12:06 ghostgum)
915
916Documentation changes in preparation for 6.62 beta release.
917(doc/API.htm [1.2], doc/Bug-form.htm [1.15], doc/Bug-info.htm [1.11],
918doc/C-style.htm [1.12], doc/Commprod.htm [1.9], doc/Copying.htm [1.7],
919doc/Current.htm [1.7], doc/DLL.htm [1.9], doc/Develop.htm [1.33],
920doc/Devices.htm [1.21], doc/Drivers.htm [1.15], doc/Fonts.htm [1.13],
921doc/Helpers.htm [1.10], doc/History1.htm [1.7], doc/History2.htm [1.7],
922doc/History3.htm [1.7], doc/History4.htm [1.7], doc/History5.htm [1.9],
923doc/History6.htm [1.19], doc/Htmstyle.htm [1.10], doc/Install.htm [1.15],
924doc/Language.htm [1.26], doc/Lib.htm [1.7], doc/Maintain.htm [1.11],
925doc/Make.htm [1.23], doc/New-user.htm [1.20], doc/News.htm [1.78],
926doc/Projects.htm [1.24], doc/Ps-style.htm [1.7], doc/Ps2epsi.htm [1.8],
927doc/Ps2pdf.htm [1.25], doc/Psfiles.htm [1.14], doc/README [1.6],
928doc/Readme.htm [1.21], doc/Release.htm [1.29], doc/Source.htm [1.7],
929doc/Tester.htm [1.7], doc/Unix-lpr.htm [1.7], doc/Use.htm [1.23],
930doc/Xfonts.htm [1.7], doc/gs-vms.hlp [1.6], man/dvipdf.1 [1.4],
931man/font2c.1 [1.4], man/gs.1 [1.4], man/gslp.1 [1.4], man/gsnd.1 [1.4],
932man/pdf2dsc.1 [1.4], man/pdf2ps.1 [1.6], man/pdfopt.1 [1.4],
933man/pf2afm.1 [1.4], man/pfbtopfa.1 [1.5], man/printafm.1 [1.4],
934man/ps2ascii.1 [1.4], man/ps2epsi.1 [1.4], man/ps2pdf.1 [1.8],
935man/ps2pdfwr.1 [1.5], man/ps2ps.1 [1.11], man/wftopfa.1 [1.4]: 2001/03/17
93601:26:48 raph)
937
938Updates Changes and History6 files from cvs commit logs, in preparation for
9396.62 beta release. (doc/Changes.htm [1.22], doc/History6.htm [1.20]:
9402001/03/17 01:30:16 raph)
941
942There was a spelling error in Juan Manuel Acosta's name. His entry is also
943moved to "major contributers" section. (doc/Helpers.htm [1.11]: 2001/03/19
94416:46:05 alexcher)
945
946Updates date for 6.62 release to 2001-03-19. (doc/API.htm [1.3],
947doc/Bug-form.htm [1.16], doc/Bug-info.htm [1.12], doc/C-style.htm [1.13],
948doc/Commprod.htm [1.10], doc/Copying.htm [1.8], doc/Current.htm [1.8],
949doc/DLL.htm [1.10], doc/Develop.htm [1.34], doc/Devices.htm [1.22],
950doc/Drivers.htm [1.16], doc/Fonts.htm [1.14], doc/Helpers.htm [1.12],
951doc/History1.htm [1.8], doc/History2.htm [1.8], doc/History3.htm [1.8],
952doc/History4.htm [1.8], doc/History5.htm [1.10], doc/History6.htm [1.21],
953doc/Htmstyle.htm [1.11], doc/Install.htm [1.16], doc/Language.htm [1.27],
954doc/Lib.htm [1.8], doc/Maintain.htm [1.12], doc/Make.htm [1.24],
955doc/New-user.htm [1.21], doc/News.htm [1.79], doc/Projects.htm [1.25],
956doc/Ps-style.htm [1.8], doc/Ps2epsi.htm [1.9], doc/Ps2pdf.htm [1.26],
957doc/Psfiles.htm [1.15], doc/README [1.7], doc/Readme.htm [1.22],
958doc/Release.htm [1.30], doc/Source.htm [1.8], doc/Tester.htm [1.8],
959doc/Unix-lpr.htm [1.8], doc/Use.htm [1.24], doc/Xfonts.htm [1.8],
960doc/gs-vms.hlp [1.7], man/dvipdf.1 [1.5], man/font2c.1 [1.5],
961man/gs.1 [1.5], man/gslp.1 [1.5], man/gsnd.1 [1.5], man/pdf2dsc.1 [1.5],
962man/pdf2ps.1 [1.7], man/pdfopt.1 [1.5], man/pf2afm.1 [1.5],
963man/pfbtopfa.1 [1.6], man/printafm.1 [1.5], man/ps2ascii.1 [1.5],
964man/ps2epsi.1 [1.5], man/ps2pdf.1 [1.9], man/ps2pdfwr.1 [1.6],
965man/ps2ps.1 [1.12], man/wftopfa.1 [1.5]: 2001/03/19 17:26:17 raph)
966
967Inital version of this file that will be used to capture notes about minor
968bugs or compatibility that are identified when action will not be undertaken
969immediately. (doc/Issues.htm [1.1]: 2001/03/19 19:27:04 rayjj)
970
971</pre><h2><a name="6.62-Procedures"></a>Procedures</h2><pre>
972
973Fixes problems:
974	- Minor changes to fix compilation on VMS, thanks to Jacob
975=JoukJansen for the patch. (devs.mak [1.42]: 2001/03/01 22:16:02 raph)
976	- Corrects whitespace for new entries in devs.mak for VMS build.
977Thanks to Jouk Jansen. (devs.mak [1.44]: 2001/03/13 20:01:35 raph)
978	- Fixes SourceForge bug #219677. Adds debug and debugclean targets
979to MSVC++ makefile that build in the debugobj and debugbin directories.
980Fixes BEGINFILES and BEGINFILES2 so that 'make clean' removes all files.
981(msvc32.mak [1.10], winlib.mak [1.7]: 2001/03/16 22:53:18 ghostgum)
982	- /None and /All separations are now supported. SourceForge bug
983#228354. (lib.mak [1.45]: 2001/03/18 19:15:50 igorm)
984	- Adds lib directory to MS-Windows distribution archive. Change
985copyright message in MS-Windows setup program to artofcode LLC. Thanks to
986Russell Lang for the patch. (winint.mak [1.7]: 2001/03/19 17:12:45 raph)
987
988Increments version number to 6.62 as part of 6.61 release process.
989(version.mak [1.27]: 2001/02/24 01:56:01 raph)
990
991Provide alternate %stdin/out/err implementation using procedure based
992streams and callouts. Previous stdio implementation with
993STDIO_IMPLEMENTATION= New callout stdio implementation with
994STDIO_IMPLEMENTATION=c Bug fix to zflush and zpeekstring. New stdio stream
995code is in ziodevsc.c which will be in next commit. (bcwin32.mak [1.5],
996dvx-gcc.mak [1.6], gs.mak [1.3], int.mak [1.43], msvc32.mak [1.7],
997msvclib.mak [1.7], openvms.mak [1.7], os2.mak [1.10], ugcclib.mak [1.7],
998unix-gcc.mak [1.10], unixansi.mak [1.8], unixtrad.mak [1.8], watc.mak [1.7],
999watclib.mak [1.7], watcw32.mak [1.6]: 2001/03/12 04:05:19 ghostgum)
1000
1001Adds device filter pipeline, which will be used by PDF 1.4 and other
1002enhanced imaging operations. (int.mak [1.44], lib.mak [1.43]: 2001/03/13
100300:41:10 raph)
1004
1005Implement new Ghostscript interpreter API for DLL or shared object.
1006Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
1007API. For unix, build using "make so". Added loader programs for Ghostscript
1008interpreter library for Linux (dxmain.c), Windows (dw*.c) and OS/2
1009(dpmain.c). Add new "display" device for use with the new API. Linux
1010dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
1011the "x11" device. (devs.mak [1.43], gsdll2.def [1.2], gsdll32.def [1.2],
1012int.mak [1.45], msvc32.mak [1.8], os2.mak [1.11], unix-dll.mak [1.1],
1013unix-gcc.mak [1.11], winint.mak [1.6], winlib.mak [1.6]: 2001/03/13 07:09:28
1014ghostgum)
1015
1016When building the Linux shared object, separate directories soobj and sobin
1017are used to prevent 'make' from mixing the object files and building a
1018corrupt executable. Added 'API.htm' to the installed documentation files.
1019(unix-dll.mak [1.2], unix-gcc.mak [1.12], unixinst.mak [1.18]: 2001/03/15
102009:11:28 ghostgum)
1021
1022Change AFPL Ghostscript path on Windows and OS/2 platforms from c:/aladdin
1023to c:/gs. (bcwin32.mak [1.6], msvc32.mak [1.9], msvclib.mak [1.8],
1024watc.mak [1.8], watclib.mak [1.8], watcw32.mak [1.7]: 2001/03/16 22:19:16
1025ghostgum)
1026
1027Integrates ICC profile input support from Jan Stoeckenius. Also includes
1028slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1029Gill. (bcwin32.mak [1.7], devs.mak [1.45], dvx-gcc.mak [1.7], gs.mak [1.4],
1030icclib.mak [1.1], int.mak [1.46], lib.mak [1.44], msvc32.mak [1.11],
1031msvclib.mak [1.9], openvms.mak [1.8], os2.mak [1.12], ugcclib.mak [1.8],
1032unix-gcc.mak [1.13], unixansi.mak [1.9], unixtrad.mak [1.9],
1033version.mak [1.28], watc.mak [1.9], watclib.mak [1.9], watcw32.mak [1.8],
1034wctail.mak [1.3], winlib.mak [1.8]: 2001/03/17 01:15:42 raph)
1035
1036Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
1037makefile changes to match. Adds missing COPYRIGHT and other documentation to
1038icclib. Thanks to L. Peter Deutsch for pointing out the need.
1039(bcwin32.mak [1.8], dvx-gcc.mak [1.8], msvc32.mak [1.12],
1040msvclib.mak [1.10], openvms.mak [1.9], os2.mak [1.13], ugcclib.mak [1.9],
1041unix-gcc.mak [1.14], unixansi.mak [1.10], unixtrad.mak [1.10],
1042watc.mak [1.10], watclib.mak [1.10], watcw32.mak [1.9]: 2001/03/19 17:11:15
1043raph)
1044
1045Updates date for 6.62 release to 2001-03-19. (version.mak [1.29]: 2001/03/19
104617:26:18 raph)
1047
1048</pre><h2><a name="6.62-Utilities"></a>Utilities</h2><pre>
1049
1050Replace many references to exit() with returns. (gp_dvx.c [1.3],
1051gp_os2.c [1.7], gp_unix.c [1.4]: 2001/03/12 03:50:02 ghostgum)
1052
1053Cleanup of MS-Windows and OS/2 code. Remove old 16-bit MS-Windows code.
1054Remove references to stdout/err, replacing with eprintf(). Remove global
1055variables. Disable mswindll and os2dll devices if a callback function is not
1056provided. (gp_mswin.c [1.4], gp_os2.c [1.8]: 2001/03/12 03:56:13 ghostgum)
1057
1058stdio implementation using callouts. Missing file from last commit.
1059(ziodevsc.c [1.1]: 2001/03/12 04:11:28 ghostgum)
1060
1061Implement new Ghostscript interpreter API for DLL or shared object.
1062Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
1063API. For unix, build using "make so". Added loader programs for Ghostscript
1064interpreter library for Linux (dxmain.c), Windows (dw*.c) and OS/2
1065(dpmain.c). Add new "display" device for use with the new API. Linux
1066dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
1067the "x11" device. (dxmain.c [1.1], gp_msdll.c [1.1], gp_mswin.c [1.5],
1068gp_os2.c [1.9], gsdll.c [1.4]: 2001/03/13 07:09:28 ghostgum)
1069
1070Integrates ICC profile input support from Jan Stoeckenius. Also includes
1071slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1072Gill. (icc.c [1.1]: 2001/03/17 01:15:42 raph)
1073
1074Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
1075makefile changes to match. Adds missing COPYRIGHT and other documentation to
1076icclib. Thanks to L. Peter Deutsch for pointing out the need. (icc.c [1.2]:
10772001/03/19 17:11:15 raph)
1078
1079</pre><h2><a name="6.62-Drivers"></a>Drivers</h2><pre>
1080
1081Fixes problems:
1082	- to achieve page independence, every page must in the general case
1083set page parameters. To preserve duplexing the page cannot set page
1084parameters. New code checks the current page size and sets it only if it is
1085necessary. Bug #404376 reported by bannis at users.sourceforge.net
1086(gdevpsu.c [1.3]: 2001/03/03 03:27:03 alexcher)
1087
1088Adds Epson Stylus Color 300 support to uniprint, also some code cleanups.
1089Thanks to Glenn Ramsey and Gunther Hess for the patch. (gdevupd.c [1.4],
1090lib/stc300.upp [1.1], lib/stc300bl.upp [1.1], lib/stc300bm.upp [1.1]:
10912001/03/03 00:45:01 raph)
1092
1093Cleanup of MS-Windows and OS/2 code. Remove old 16-bit MS-Windows code.
1094Remove references to stdout/err, replacing with eprintf(). Remove global
1095variables. Disable mswindll and os2dll devices if a callback function is not
1096provided. (gdevmswn.c [1.3], gdevpm.c [1.3], gdevwdib.c [1.3],
1097gdevwpr2.c [1.6], gdevwprn.c [1.3]: 2001/03/12 03:56:13 ghostgum)
1098
1099Redirect all user messages from stdout and stderr to outwrite() and
1100errwrite(). This is needed to allow stdout/err to be redirected to the
1101caller for DLL / shared object builds. (gdev4693.c [1.2], gdevcdj.c [1.5],
1102gdevhl7x.c [1.4], gdevifno.c [1.2], gdevimgn.c [1.3], gdevos2p.c [1.4],
1103gdevsppr.c [1.3], gdevsunr.c [1.3], gdevupd.c [1.5], gdevwddb.c [1.3],
1104gdevwpr2.c [1.7]: 2001/03/13 06:51:39 ghostgum)
1105
1106Implement new Ghostscript interpreter API for DLL or shared object.
1107Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
1108API. For unix, build using "make so". Added loader programs for Ghostscript
1109interpreter library for Linux (dxmain.c), Windows (dw*.c) and OS/2
1110(dpmain.c). Add new "display" device for use with the new API. Linux
1111dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
1112the "x11" device. (gdevdsp.c [1.1], gdevdsp.h [1.1], gdevdsp2.h [1.1],
1113gdevmswn.c [1.4], gdevpm.c [1.4]: 2001/03/13 07:09:28 ghostgum)
1114
1115Adds typed image rendering to pnga (prototype PDF 1.4) device.
1116(gdevpnga.c [1.3]: 2001/03/17 00:16:53 raph)
1117
1118Integrates ICC profile input support from Jan Stoeckenius. Also includes
1119slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1120Gill. (gdevpx.c [1.6]: 2001/03/17 01:15:42 raph)
1121
1122</pre><h2><a name="6.62-PDF_writer"></a>PDF writer</h2><pre>
1123
1124Fixes problems:
1125	- properly include unistd_.h in files that call unlink()
1126(gdevpdf.c [1.29]: 2001/03/16 22:12:34 giles)
1127
1128Redirect all user messages from stdout and stderr to outwrite() and
1129errwrite(). This is needed to allow stdout/err to be redirected to the
1130caller for DLL / shared object builds. (gdevpdfm.c [1.9]: 2001/03/13
113106:51:39 ghostgum)
1132
1133Integrates ICC profile input support from Jan Stoeckenius. Also includes
1134slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1135Gill. (gdevpdfc.c [1.14]: 2001/03/17 01:15:42 raph)
1136
1137</pre><h2><a name="6.62-PDF_Interpreter"></a>PDF Interpreter</h2><pre>
1138
1139Fixes problems:
1140	- When the stream is located in an external file (i.e. the stream
1141dictionary contains an /F entry) GS fails with "typecheck in .knownget"
1142because of a minor bug in stack handling in pdf_base.ps. Bug #229425, the
1143fix from Andreas Bolsch &lt;meromorphic at users.sourceforge.net&gt;
1144(lib/pdf_base.ps [1.13]: 2001/03/04 16:59:19 alexcher)
1145	- GS can override image interpolation using INTERPOLATE or
1146NOINTERPOLATE flags. These flags had no effect on PDF because the PDF
1147interpreter is bound earlier than image operator is redefined. New version
1148takes image and imagemask values from systemdict at run time.
1149(lib/pdf_draw.ps [1.27]: 2001/03/11 05:15:26 alexcher)
1150
1151Integrates ICC profile input support from Jan Stoeckenius. Also includes
1152slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1153Gill. (lib/pdf_draw.ps [1.28], lib/pdf_ops.ps [1.16]: 2001/03/17 01:15:41
1154raph)
1155
1156</pre><h2><a name="6.62-Interpreter"></a>Interpreter</h2><pre>
1157
1158Fixes problems:
1159	- Allocate filter in local VM when currentglobal is false. Prevents
1160a problem with some QuarkXpress ProcSets that turn off vmreclaim and expect
1161save/restore to free memory which only works on local VM. Fix for problem
1162reported by Artifex customer #150, file "japan.ps". (zfilter.c [1.5]:
11632001/02/28 00:39:26 rayjj)
1164	- Speed-up JPEG decompression by increasing file buffer to 2K. This
1165avoids installation of an intermediate buffering filter that resulted in a
1166byte-by-byte filling of the buffer to the JPEG code. When the buffer was not
1167full enough a recoverable error would result in a round trip for the next
1168byte. Fixes SourcForge bug #405342 for Artifex customer #350.
1169(zfile.c [1.7]: 2001/03/02 03:06:50 alexcher)
1170	- Removes Category dictionary from dictionary stack during the
1171execution of the /Font resourceforall procedure, needed for proper access
1172from the procedure to underlying dictionary. Fixes SourceForge bug #224973.
1173(lib/gs_cidcm.ps [1.2]: 2001/03/03 15:09:12 igorm)
1174	- GS didn't accept packed array as data source in image with
1175multiple data sources. From internal bug report. (zimage2.c [1.4]:
11762001/03/12 22:53:22 alexcher)
1177	- ztype9mapcid now allocates string in global memory space to match
1178allocation of contents. Thanks to Masatake YAMATO for the patch.
1179(zfcid0.c [1.6]: 2001/03/13 19:57:06 raph)
1180	- Define to DefaultGray, DefaultRGB, DefaultCMYK color spaces to
1181allow UseCIEColor to work. SourceForge bugs #216461, #219676.
1182(lib/gs_ll3.ps [1.8]: 2001/03/14 12:00:37 igorm)
1183	- /None and /All separations are now supported. SourceForge bug
1184#228354. (zcssepr.c [1.6]: 2001/03/18 19:17:50 igorm)
1185
1186Increments version number to 6.62 as part of 6.61 release process.
1187(lib/gs_init.ps [1.30]: 2001/02/24 01:56:01 raph)
1188
1189Replace many references to exit() with returns. (errors.h [1.3], gs.c [1.3],
1190igcref.c [1.3], imain.c [1.4], imainarg.c [1.7], imainarg.h [1.3],
1191zcontext.c [1.7]: 2001/03/12 03:50:02 ghostgum)
1192
1193Provide alternate %stdin/out/err implementation using procedure based
1194streams and callouts. Previous stdio implementation with
1195STDIO_IMPLEMENTATION= New callout stdio implementation with
1196STDIO_IMPLEMENTATION=c Bug fix to zflush and zpeekstring. New stdio stream
1197code is in ziodevsc.c which will be in next commit. (errors.h [1.4],
1198files.h [1.3], imain.c [1.5], iminst.h [1.3], interp.c [1.7], zfile.c [1.8],
1199zfileio.c [1.10], zfproc.c [1.8], ziodev.c [1.4]: 2001/03/12 04:05:19
1200ghostgum)
1201
1202This fix corrects a problem with VM usage in the DSC parser. Previously the
1203dictionary dsc_dict was allocated in global VM but the DSC parser would try
1204to insert items while in local VM mode. This fix forces the DSC parser into
1205global VM mode. (lib/gs_dscp.ps [1.4]: 2001/03/12 22:41:22 dancoby)
1206
1207Adds device filter pipeline, which will be used by PDF 1.4 and other
1208enhanced imaging operations. (zdfilter.c [1.1]: 2001/03/13 00:41:10 raph)
1209
1210Redirect all user messages from stdout and stderr to outwrite() and
1211errwrite(). This is needed to allow stdout/err to be redirected to the
1212caller for DLL / shared object builds. (gs.c [1.4], idebug.c [1.3],
1213igc.c [1.3], imain.c [1.6], imainarg.c [1.8]: 2001/03/13 06:51:39 ghostgum)
1214
1215Implement new Ghostscript interpreter API for DLL or shared object.
1216Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
1217API. For unix, build using "make so". Added loader programs for Ghostscript
1218interpreter library for Linux (dxmain.c), Windows (dw*.c) and OS/2
1219(dpmain.c). Add new "display" device for use with the new API. Linux
1220dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
1221the "x11" device. (dpmain.c [1.1], dpmainc.c [1.3], dwdll.c [1.1],
1222dwdll.cpp [1.3], dwdll.h [1.3], dwimg.c [1.1], dwimg.cpp [1.4],
1223dwimg.h [1.3], dwmain.c [1.1], dwmain.cpp [1.3], dwmain.h [1.3],
1224dwmainc.c [1.1], dwmainc.cpp [1.4], dwnodll.c [1.1], dwnodll.cpp [1.3],
1225dwtext.c [1.1], dwtext.cpp [1.3], dwtext.h [1.3], files.h [1.4], gs.c [1.5],
1226iapi.c [1.1], iapi.h [1.1], iconf.c [1.3], idisp.c [1.1], idisp.h [1.1],
1227imain.c [1.7], imainarg.c [1.9], iminst.h [1.4], main.h [1.3]: 2001/03/13
122807:09:28 ghostgum)
1229
1230Interpolation overriding is modified to support - colorimage; old version
1231did nothing - ImageType 3 dictionaries; old version did nothing - local data
1232source in global mode; old version failed (lib/gs_init.ps [1.31]: 2001/03/13
123322:50:03 alexcher)
1234
1235Integrates ICC profile input support from Jan Stoeckenius. Also includes
1236slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1237Gill. (icie.h [1.3], lib/gs_icc.ps [1.1], zcie.c [1.5], zicc.c [1.1]:
12382001/03/17 01:15:41 raph)
1239
1240</pre><h2><a name="6.62-Streams"></a>Streams</h2><pre>
1241
1242Fixes problems:
1243	- eexecDecode filter returned EOF immediately if the input stream
1244was shorter than 9 characters. New code may misidentify short streams but
1245old code always failed. (seexec.c [1.4]: 2001/02/23 03:00:13 alexcher)
1246
1247Replace many references to exit() with returns. (stdpre.h [1.3]: 2001/03/12
124803:50:02 ghostgum)
1249
1250Redirect all user messages from stdout and stderr to outwrite() and
1251errwrite(). This is needed to allow stdout/err to be redirected to the
1252caller for DLL / shared object builds. (std.h [1.4]: 2001/03/13 06:51:39
1253ghostgum)
1254
1255Integrates ICC profile input support from Jan Stoeckenius. Also includes
1256slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1257Gill. (stream.c [1.10]: 2001/03/17 01:15:42 raph)
1258
1259Minor patch to header files so that unlink() prototype doesn't conflict when
1260const is disabled through #define. (stdio_.h [1.4]: 2001/03/17 01:18:34
1261raph)
1262
1263</pre><h2><a name="6.62-Library"></a>Library</h2><pre>
1264
1265Fixes problems:
1266	- Minor changes to fix compilation on VMS, thanks to Jacob
1267=JoukJansen for the patch. (gstrans.c [1.13]: 2001/03/01 22:16:02 raph)
1268	- gp_file_name_sizeof is increased to 260 bytes, == MAX_PATH on MS
1269Windows. The platform-specific fix is too difficult because some platforms
1270may have very long or unlimited file names. Bug #231514 submitted by
1271anonymous user. (gp.h [1.6]: 2001/03/03 04:38:19 alexcher)
1272	- When objects were resized or trimmed, the objects o_size was not
1273being updated if the rounded_size didn't change. This could lead to
1274alignment issues on some systems (causing a crash). Problem reported by
1275Artifex customer #460. (gsalloc.c [1.9]: 2001/03/12 00:04:28 rayjj)
1276	- Some device color components were missed while serializing
1277halftone to clist, causing segment fault during playback. Changes use proper
1278number of device color components to be written to clist and read from it.
1279SourceForge bug #211449. (gxclpath.c [1.9], gxclrast.c [1.9]: 2001/03/13
128008:38:03 igorm)
1281	- kshow now restores currentfont if changed while running proc.
1282Fixes SourceForge bug #221715. (gxchar.c [1.3]: 2001/03/14 13:03:49 igorm)
1283	- properly include unistd_.h in files that call unlink()
1284(gsiodev.c [1.5], gxclfile.c [1.3]: 2001/03/16 22:12:34 giles)
1285	- /None and /All separations are now supported. SourceForge bug
1286#228354. (gscsepr.c [1.7]: 2001/03/18 19:17:50 igorm)
1287
1288Replace many references to exit() with returns. (gsargs.c [1.3],
1289gsargs.h [1.4], gsexit.h [1.3], gxalloc.h [1.6]: 2001/03/12 03:50:02
1290ghostgum)
1291
1292Adds device filter pipeline, which will be used by PDF 1.4 and other
1293enhanced imaging operations. (gsdfilt.c [1.1], gsdfilt.h [1.1],
1294gsstate.c [1.10], gzstate.h [1.5]: 2001/03/13 00:41:10 raph)
1295
1296Redirect all user messages from stdout and stderr to outwrite() and
1297errwrite(). This is needed to allow stdout/err to be redirected to the
1298caller for DLL / shared object builds. (gp_unifs.c [1.4], gsargs.c [1.4],
1299gsinit.c [1.3], gsio.h [1.5], gslib.c [1.4], gsmisc.c [1.10],
1300gxclutil.c [1.4]: 2001/03/13 06:51:39 ghostgum)
1301
1302Implement new Ghostscript interpreter API for DLL or shared object.
1303Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
1304API. For unix, build using "make so". Added loader programs for Ghostscript
1305interpreter library for Linux (dxmain.c), Windows (dw*.c) and OS/2
1306(dpmain.c). Add new "display" device for use with the new API. Linux
1307dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
1308the "x11" device. (gsexit.h [1.4]: 2001/03/13 07:09:29 ghostgum)
1309
1310Integrates ICC profile input support from Jan Stoeckenius. Also includes
1311slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1312Gill. (gs_stdio.h [1.1], gscdef.c [1.12], gscie.c [1.4], gscie.h [1.3],
1313gsciemap.c [1.5], gscolor.c [1.5], gscolor1.c [1.4], gscscie.c [1.4],
1314gscspace.h [1.6], gscssub.c [1.3], gsicc.c [1.1], gsicc.h [1.1],
1315gxcie.h [1.3], gxshade.c [1.5], icc.h [1.1]: 2001/03/17 01:15:42 raph)
1316
1317Minor patch to header files so that unlink() prototype doesn't conflict when
1318const is disabled through #define. (unistd_.h [1.2]: 2001/03/17 01:18:34
1319raph)
1320
1321Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
1322makefile changes to match. Adds missing COPYRIGHT and other documentation to
1323icclib. Thanks to L. Peter Deutsch for pointing out the need. (icc.h [1.2]:
13242001/03/19 17:11:15 raph)
1325
1326</pre><h2><a name="6.62-Other"></a>Other</h2><pre>
1327
1328Cleanup of MS-Windows and OS/2 code. Remove old 16-bit MS-Windows code.
1329Remove references to stdout/err, replacing with eprintf(). Remove global
1330variables. Disable mswindll and os2dll devices if a callback function is not
1331provided. (gp_mswin.h [1.3]: 2001/03/12 03:56:13 ghostgum)
1332
1333Implement new Ghostscript interpreter API for DLL or shared object.
1334Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
1335API. For unix, build using "make so". Added loader programs for Ghostscript
1336interpreter library for Linux (dxmain.c), Windows (dw*.c) and OS/2
1337(dpmain.c). Add new "display" device for use with the new API. Linux
1338dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
1339the "x11" device. (gp_mswin.h [1.4], gsdll.h [1.3], gsdllwin.h [1.3]:
13402001/03/13 07:09:28 ghostgum)
1341
1342Integrates ICC profile input support from Jan Stoeckenius. Also includes
1343slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
1344Gill. (icc9809.h [1.1]: 2001/03/17 01:15:42 raph)
1345
1346Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
1347makefile changes to match. Adds missing COPYRIGHT and other documentation to
1348icclib. Thanks to L. Peter Deutsch for pointing out the need.
1349(icc9809.h [1.2], icclib/COPYRIGHT [1.1], icclib/NOTES [1.1],
1350icclib/README [1.1], icclib/icc.c [1.1], icclib/icc.h [1.1],
1351icclib/icc9809.h [1.1]: 2001/03/19 17:11:14 raph)
1352
1353<hr>
1354
1355<h1><a name="Version6.61"></a>Version 6.61 (2001-02-21)</h1>
1356
1357<p>
1358The primary updates in this fileset are in the PDF 1.4 transparency and
1359blending code (available for testing with the pnga driver). The usual
1360bug fixes are also present.
1361
1362<p>
1363All problems registered on SourceForge numbered 133403 or lower are
1364closed, except for the following: 101814, 101955, 102735, 106652,
1365109350, 111449, 113116, 113799, 114084, 115256, 116461, 119676,
1366119677, 119798, 120967, 121582, 121715, 122534, 122683, 122727,
1367123005, 123091, 123754, 123896, 123992, 124056, 124095, 124134,
1368124205, 124863, 124973, 126364, 126391, 126462, 126477, 126584,
1369126943, 127090, 127190, 127244, 127276, 127382, 127651, 127684,
1370127709, 127802, 128180, 128354, 128423, 128641, 128714, 128808,
1371129425, 129439, 130694, 130699, 131001, 131390, 131514, 132334,
1372132696, 133403.
1373
1374
1375<h2><a name="6.61-Documentation"></a>Documentation</h2><pre>
1376
1377Fixes problems:
1378	- Ps-style.htm was missing from the index/blurbs in Readme.htm Adds
1379a note about documentation to the "Adding and Removing Files" section, and
1380moves that section to Maintain.htm from Release.htm. Closes sourceforge bug
1381#126771 (doc/Maintain.htm [1.9], doc/Readme.htm [1.18],
1382doc/Release.htm [1.27]: 2001/02/09 01:59:35 giles)
1383
1384Brings prototypes for fill_path, stroke_path, and fill_trapezoid in sync
1385with code. New description for fill_trapezoid, as the parameters changed
1386considerably. (doc/Drivers.htm [1.13]: 2001/01/04 19:08:25 raph)
1387
1388Adds a link to Adobe's Technote #5407 regarding transparency.
1389(doc/Language.htm [1.24]: 2001/01/07 18:21:55 giles)
1390
1391Updates png and zlib urls to the new canonical domain. Patch from Tobias
1392Burnus. (doc/Devices.htm [1.18], doc/Make.htm [1.20],
1393doc/New-user.htm [1.18]: 2001/01/07 18:36:35 giles)
1394
1395Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
1396process. (doc/News.htm [1.75]: 2001/02/03 01:23:03 raph)
1397
1398Added DOPDFMARKS to allow pdfmark to be called for annotations, links and
1399cropboxes for PDF files on any device. Fixes SourceForge bug # 127062.
1400(doc/Use.htm [1.21]: 2001/02/09 23:38:12 ghostgum)
1401
1402Added addition comments about how to build GS on am IBM RS6000 under AIX
1403version 4.3.3 using the IBM C compiler (xlc) version 5.
1404(doc/Make.htm [1.21]: 2001/02/20 06:09:31 dancoby)
1405
1406Updates dates and version numbers in preparation for 6.61 release.
1407(doc/Bug-form.htm [1.14], doc/Bug-info.htm [1.10], doc/C-style.htm [1.11],
1408doc/Commprod.htm [1.8], doc/Copying.htm [1.6], doc/Current.htm [1.6],
1409doc/DLL.htm [1.7], doc/Develop.htm [1.32], doc/Devices.htm [1.19],
1410doc/Drivers.htm [1.14], doc/Fonts.htm [1.12], doc/Helpers.htm [1.9],
1411doc/History1.htm [1.6], doc/History2.htm [1.6], doc/History3.htm [1.6],
1412doc/History4.htm [1.6], doc/History5.htm [1.8], doc/History6.htm [1.17],
1413doc/Htmstyle.htm [1.9], doc/Install.htm [1.14], doc/Language.htm [1.25],
1414doc/Lib.htm [1.6], doc/Maintain.htm [1.10], doc/Make.htm [1.22],
1415doc/New-user.htm [1.19], doc/News.htm [1.76], doc/PUBLIC [1.4],
1416doc/Projects.htm [1.23], doc/Ps-style.htm [1.6], doc/Ps2epsi.htm [1.7],
1417doc/Ps2pdf.htm [1.24], doc/Psfiles.htm [1.13], doc/README [1.5],
1418doc/Readme.htm [1.19], doc/Release.htm [1.28], doc/Source.htm [1.6],
1419doc/Tester.htm [1.6], doc/Unix-lpr.htm [1.6], doc/Use.htm [1.22],
1420doc/Xfonts.htm [1.6], doc/gs-vms.hlp [1.5], man/dvipdf.1 [1.3],
1421man/font2c.1 [1.3], man/gs.1 [1.3], man/gslp.1 [1.3], man/gsnd.1 [1.3],
1422man/pdf2dsc.1 [1.3], man/pdf2ps.1 [1.5], man/pdfopt.1 [1.3],
1423man/pf2afm.1 [1.3], man/pfbtopfa.1 [1.4], man/printafm.1 [1.3],
1424man/ps2ascii.1 [1.3], man/ps2epsi.1 [1.3], man/ps2pdf.1 [1.7],
1425man/ps2pdfwr.1 [1.4], man/ps2ps.1 [1.10], man/wftopfa.1 [1.3]: 2001/02/22
142607:30:37 raph)
1427
1428</pre><h2><a name="6.61-Procedures"></a>Procedures</h2><pre>
1429
1430Updates png and zlib urls to the new canonical domain. Patch from Tobias
1431Burnus. (libpng.mak [1.4], zlib.mak [1.3]: 2001/01/07 18:36:35 giles)
1432
1433First cut of the PDF 1.4 transparency and blending operations.
1434(contrib.mak [1.21], lib.mak [1.42]: 2001/01/14 00:25:27 raph)
1435
1436Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
1437process. (version.mak [1.25]: 2001/02/03 01:23:03 raph)
1438
1439Continuing development of PDF 1.4 transparency and blending. This round of
1440commits implements groups, including non-isolated and knockout variants.
1441Also, moves the build rule for the pnga device from contrib to devs.
1442(contrib.mak [1.22], devs.mak [1.41]: 2001/02/22 07:27:10 raph)
1443
1444Updates dates and version numbers in preparation for 6.61 release.
1445(version.mak [1.26]: 2001/02/22 07:30:39 raph)
1446
1447</pre><h2><a name="6.61-Utilities"></a>Utilities</h2><pre>
1448
1449Fixes problems:
1450	- Temporary _.at file was not deleted. (lib/pdf2ps.bat [1.4]:
14512001/02/03 16:12:29 alexcher)
1452	- Added -dSAFER (lib/pdf2ps.cmd [1.2]: 2001/02/03 18:31:12 alexcher)
1453	- Defines prototypes for fputs only for (broken) Sun platforms, to
1454avoid type mismatches when compiling with -Dconst=. Fixes SourceForge bug
1455133358. (echogs.c [1.3]: 2001/02/22 03:59:39 raph)
1456
1457branches: 1.1.2; file vdtrace.c was initially added on branch HINTER.
1458(vdtrace.c [1.1]: 2001/01/12 06:19:36 igorm)
1459
1460branches: 1.1.2; file _type1.c was initially added on branch HINTER.
1461(_type1.c [1.1]: 2001/02/02 20:27:09 igorm)
1462
1463Converted to SAFER mode. (lib/pf2afm [1.2], lib/pf2afm.bat [1.2],
1464lib/pf2afm.cmd [1.2], lib/pf2afm.ps [1.3]: 2001/02/03 21:31:40 alexcher)
1465
1466</pre><h2><a name="6.61-Drivers"></a>Drivers</h2><pre>
1467
1468Fixes problems:
1469	- Changes tiff12nc to output correct number of bytes for odd widths.
1470(gdevtfnx.c [1.5]: 2001/02/03 18:50:01 raph)
1471	- Added down cast from gx_device_printer to gx_device_fax The fix is
1472suggested by the user. (gdevdfax.c [1.4]: 2001/02/12 21:02:51 alexcher)
1473	- pswrite ProcSet is reordered to eliminate forward references and
1474please a simplistic parser used by one of GS customers. (gdevps.c [1.15]:
14752001/02/21 05:52:07 alexcher)
1476
1477First cut of the PDF 1.4 transparency and blending operations.
1478(gdevpnga.c [1.1]: 2001/01/14 00:25:27 raph)
1479
1480Continuing development of PDF 1.4 transparency and blending. This round of
1481commits implements groups, including non-isolated and knockout variants.
1482Also, moves the build rule for the pnga device from contrib to devs.
1483(gdevpnga.c [1.2]: 2001/02/22 07:27:10 raph)
1484
1485</pre><h2><a name="6.61-PDF_writer"></a>PDF writer</h2><pre>
1486
1487Fixes problems:
1488	- in pdfwrite mode kshow called its procedure in infinite loop
1489bacause the character indes was not updated. Unexpected number of calls to
1490the procedure often caused various errors such as /stackunderfloe.
1491(gdevpdfs.c [1.2]: 2001/02/06 21:42:38 alexcher)
1492	- imagemask used the color of previous object if the object had
1493smaller clipping path than imagemask. Deferred grestore and setcolor were
1494transposed. (gdevpdfi.c [1.21]: 2001/02/07 03:49:27 alexcher)
1495
1496</pre><h2><a name="6.61-PDF_Interpreter"></a>PDF Interpreter</h2><pre>
1497
1498Fixes problems:
1499	- skip all bytes after the end of the stream in the inline image
1500until EOL or EI is found. Some buggy PDF files require this. Fix: In PDF 1.3
1501/Matrix key in XObject is optional. Add unitary matrix to the form
1502dictionary if XObject has none. (lib/pdf_draw.ps [1.25]: 2001/02/02 22:08:33
1503alexcher)
1504
1505Added DOPDFMARKS to allow pdfmark to be called for annotations, links and
1506cropboxes for PDF files on any device. Fixes SourceForge bug # 127062.
1507(lib/pdf_main.ps [1.27]: 2001/02/09 23:38:12 ghostgum)
1508
1509Continuing development of PDF 1.4 transparency and blending. This round of
1510commits implements groups, including non-isolated and knockout variants.
1511Also, moves the build rule for the pnga device from contrib to devs.
1512(lib/pdf_draw.ps [1.26]: 2001/02/22 07:27:10 raph)
1513
1514</pre><h2><a name="6.61-Interpreter"></a>Interpreter</h2><pre>
1515
1516Fixes problems:
1517	- cvs operator did't report rangecheck when source operand is a name
1518or string and it's longer than the destination string. Bug # 130975
1519(iutil.c [1.3]: 2001/02/05 20:43:40 alexcher)
1520	- memmove() was used without portability header file memory_.h
1521(ztrans.c [1.13]: 2001/02/13 19:45:38 alexcher)
1522	- New TransformPQR implements a relative colorimetric intent by
1523scaling the XYZ values relative to the white and black points. Bug #129771
1524(lib/gs_lev2.ps [1.7]: 2001/02/21 04:23:44 alexcher)
1525
1526branches: 1.1.2; file dwtrace.h was initially added on branch HINTER.
1527(dwtrace.h [1.1]: 2001/01/12 06:18:35 igorm)
1528
1529branches: 1.1.2; file dwtrace.cpp was initially added on branch HINTER.
1530(dwtrace.cpp [1.1]: 2001/01/12 06:22:06 igorm)
1531
1532Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
1533process. (lib/gs_init.ps [1.29]: 2001/02/03 01:23:03 raph)
1534
1535</pre><h2><a name="6.61-Streams"></a>Streams</h2><pre>
1536
1537Minor patches for clean VMS compile. Thanks to Jacob (=Jouk) Jansen.
1538(stdio_.h [1.3]: 2001/02/02 07:52:26 raph)
1539
1540</pre><h2><a name="6.61-Library"></a>Library</h2><pre>
1541
1542Fixes problems:
1543	- egcc - 2.91.66 generates incorrect code for dda_step_add(dxx4,
1544dxx4); Using the intermediate variable now to wark around the problem. This
1545bug corrupted memory block headers and caused random crashes.
1546(gxifast.c [1.3]: 2001/01/25 21:36:17 alexcher)
1547
1548Changes gx_image_cached_char so that it now images to the device in the text
1549enumeration, rather than the current device. This change gives more
1550flexibility for implementations of begin_text to interpose a device of their
1551own for actual imaging. (gxccache.c [1.3]: 2001/01/04 19:39:24 raph)
1552
1553Updates documentation in gxdevcli.h on creating device instances.
1554(gxdevcli.h [1.4]: 2001/01/14 00:24:30 raph)
1555
1556First cut of the PDF 1.4 transparency and blending operations.
1557(gxblend.c [1.1], gxblend.h [1.1]: 2001/01/14 00:25:27 raph)
1558
1559Minor patches for clean VMS compile. Thanks to Jacob (=Jouk) Jansen.
1560(gsnogc.c [1.6], gxblend.c [1.2]: 2001/02/02 07:52:25 raph)
1561
1562Continuing development of PDF 1.4 transparency and blending. This round of
1563commits implements groups, including non-isolated and knockout variants.
1564Also, moves the build rule for the pnga device from contrib to devs.
1565(gstrans.c [1.12], gxdevcli.h [1.5]: 2001/02/22 07:27:10 raph)
1566
1567</pre><h2><a name="6.61-Other"></a>Other</h2><pre>
1568
1569branches: 1.1.2; file _type1.h was initially added on branch HINTER.
1570(_type1.h [1.1]: 2001/01/12 06:22:23 igorm)
1571
1572branches: 1.1.2; file vdtrace.h was initially added on branch HINTER.
1573(vdtrace.h [1.1]: 2001/02/02 20:27:09 igorm)
1574
1575<hr>
1576
1577<h1><a name="Version6.60"></a>Version 6.60 (2000-12-31)</h1>
1578
1579<p>
1580This long-overdue fileset includes major new developer documentation, major
1581improvements in the PDF writer (for embedded fonts and for DSC comments),
1582and lots of bug fixes.  Unfortunately, for unknown reasons, the release
1583"smoke test" loops forever on the file data/ps/screen.ps -- but only when
1584compiled in 'production' mode, not in 'debug' mode.  We suspect a gcc bug,
1585but don't have the time to track it down before the end of the millennium.
1586
1587<p>
1588All problems registered on SourceForge numbered 127190 or lower are closed,
1589except for the following: 101814, 101955, 102735, 105289, 106652, 109350,
1590111449, 113116, 113799, 114084, 115256, 116461, 117260, 119676, 119677,
1591119798, 120967, 121582, 121715, 122426, 122532, 122534, 122683, 122727,
1592123005, 123091, 123702, 123754, 123867, 123896, 123992, 124042, 124056,
1593124095, 124134, 124205, 124863, 124973, 126364, 126391, 126462, 126477,
1594126506, 126584, 126771, 126943, 127062, 127090, 127190.
1595
1596<h3><a name="6.60_Incompatible_changes"></a>Incompatible changes</h3>
1597
1598<pre>
1599(Interpreter)
1600	- With WMode = 1, CID-keyed fonts with no Metrics2 now use default
1601metrics computed from FontBBox rather than the horizontal metrics.
1602(PDF interpreter)
1603	- The interpreter now skips to the next EOL after reading the data
1604following the ID operator.
1605	- The incorrectly named ViewerOrientation DSC comment is now
1606corrected to ViewingOrientation.
1607(Streams)
1608	- All decoding filters that recognize an EOD in the source data
1609must now have an init procedure that sets state->min_left = 1.
1610(Library)
1611	- The glyph_data, subr_data, and seac_data procedures in a Type 1
1612font (gs_type1_data_procs), and the glyph_data procedure passed to
1613psf_{check,get}_outline_glyphs, must now return 1 iff the outline string was
1614newly allocated and should be freed by the caller, like the get_outline
1615procedure of Type 42 fonts (gs_type42_data).
1616	- The ip_state structure is renamed ip_state_t, and has a new
1617member, free_char_string.
1618	- The incorrectly named ViewerOrientation DSC comment is now
1619corrected to ViewingOrientation, and the viewer_orientation members of
1620the DSC parsing structure are corrected to viewing_orientation.
1621
1622
1623
1624<h2><a name="6.60-Documentation"></a>Documentation</h2><pre>
1625
1626Fixes problems:
1627	- An isolated ampersand needed to be converted to the HTML form.
1628(doc/Bug-form.htm [1.12]: 2000/11/04 17:53:57 lpd)
1629	- cvs2hist was generating invalid anchor names and not escaping
1630special charaters. also enable '-r' commandline option, and pass '-b' if
1631it's not specified for default branch logs only. Changes.htm now passes the
1632validator. Minor url cleanup in Release.htm (doc/Changes.htm [1.19],
1633doc/Release.htm [1.23]: 2000/11/10 01:52:35 giles)
1634	- Removes obsolete documentation reference to -DUsePrinterImages and
1635clarifies the entry for the replacing -DPrinted. Fixes sourceforge bug #
1636121907. (doc/Use.htm [1.16]: 2000/11/20 20:34:23 giles)
1637	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
1638freed, except by garbage collection (which doesn't reclaim chunks with only
1639a small amount of surviving data). In practice, this probably only affects
1640the PDF writer. (doc/News.htm [1.71]: 2000/11/23 23:34:23 lpd)
1641	- The pswrite device couldn't write to pipes. The fix involved
1642expanding the API for opening device OutputFiles so that the individual
1643driver could specify whether it required, requested, or did not want a
1644positionable file. Fixes SourceForge bug # 122223. (doc/Use.htm [1.17]:
16452000/11/29 02:25:13 lpd)
1646	- The default ps2pdf "distiller parameters" weren't documented
1647correctly; the parameter values for the other PDFSETTINGS (screen, printer,
1648prepress) weren't documented at all; the xxxImageDownsampleThreshold
1649parameters were incorrectly documented as xxxDownsampleThreshold.
1650(doc/Ps2pdf.htm [1.22]: 2000/12/19 17:55:55 lpd)
1651	- The documentation of the -dSAFER command line switch was
1652inaccurate. (doc/Use.htm [1.18]: 2000/12/23 01:33:06 lpd)
1653	- documentation for gs_cidcm.ps and gs_dscp.ps was missing.
1654(doc/Psfiles.htm [1.11]: 2000/12/29 02:17:12 lpd)
1655
1656Adds developer documentation on the color mapping pipeline.
1657(doc/Develop.htm [1.16]: 2000/11/03 04:53:00 lpd)
1658
1659switch to Tobias Burnus' stylesheet for the B-D html documentation, along
1660with some minor cleanups (doc/Bug-form.htm [1.10], doc/Bug-info.htm [1.8],
1661doc/C-style.htm [1.6], doc/Commprod.htm [1.4], doc/Copying.htm [1.4],
1662doc/Current.htm [1.4], doc/DLL.htm [1.4], doc/Develop.htm [1.17],
1663doc/Devices.htm [1.14], doc/Drivers.htm [1.10], doc/gs.css [1.1]: 2000/11/03
166406:42:42 giles)
1665
1666update remaining file links in Develop.htm to &lt;dl&gt; format, plus
1667additional cleanup (doc/Commprod.htm [1.5], doc/DLL.htm [1.5],
1668doc/Develop.htm [1.18], doc/Devices.htm [1.15], doc/Drivers.htm [1.11]:
16692000/11/03 20:15:55 giles)
1670
1671Lists all the monochrome TIFF drivers individually, rather than as a class.
1672(doc/Devices.htm [1.16]: 2000/11/03 23:33:18 lpd)
1673
1674Switches the rest of the human-maintained html documentation to the new
1675stylesheet. We now pass validator.w3.org for HTML 4.01 with the exception of
1676an error I couldn't figure out in Bug-form.htm. (doc/Bug-form.htm [1.11],
1677doc/Fonts.htm [1.9], doc/Helpers.htm [1.7], doc/Hershey.htm [1.3],
1678doc/Htmstyle.htm [1.7], doc/Humor.htm [1.2], doc/Install.htm [1.10],
1679doc/Language.htm [1.21], doc/Lib.htm [1.4], doc/Maintain.htm [1.7],
1680doc/Make.htm [1.17], doc/New-user.htm [1.15], doc/Projects.htm [1.20],
1681doc/Ps-style.htm [1.4], doc/Ps2epsi.htm [1.5], doc/Ps2pdf.htm [1.19],
1682doc/Psfiles.htm [1.10], doc/Public.htm [1.4], doc/Readme.htm [1.15],
1683doc/Release.htm [1.22], doc/Source.htm [1.4], doc/Tester.htm [1.4],
1684doc/Unix-lpr.htm [1.4], doc/Use.htm [1.15], doc/Xfonts.htm [1.4],
1685doc/index.html [1.2]: 2000/11/04 05:00:00 giles)
1686
1687updated News.htm to use gs.css (doc/News.htm [1.70]: 2000/11/04 21:59:35
1688giles)
1689
1690Adds documentation on Ghostscript's object-oriented coding conventions, and
1691more documentation on error generation. (doc/C-style.htm [1.7],
1692doc/Develop.htm [1.19]: 2000/11/07 07:34:57 lpd)
1693
1694Expands the description of the color mapping process.
1695(doc/Develop.htm [1.20]: 2000/11/09 05:41:46 lpd)
1696
1697updates history files 1-4 (historical) to valid html4 and the new stylesheet
1698(doc/History1.htm [1.4], doc/History2.htm [1.4], doc/History3.htm [1.4],
1699doc/History4.htm [1.4]: 2000/11/28 22:55:34 giles)
1700
1701updates the version 5.x history file to the conforming html4
1702(doc/History5.htm [1.6]: 2000/12/01 00:47:08 giles)
1703
1704Adds documentation on creating a release directory on the Wisconsin server,
1705including checking the version numbers of the third-party libraries.
1706(doc/Release.htm [1.24]: 2000/12/05 21:16:25 lpd)
1707
1708Updates documentation to reflect recent improvements in text and DSC comment
1709handling. (doc/Ps2pdf.htm [1.20]: 2000/12/09 08:01:56 lpd)
1710
1711Documents the change from ViewerOrientation to ViewingOrientation in the DSC
1712parser. (doc/News.htm [1.72]: 2000/12/09 19:53:48 lpd)
1713
1714Makes the PDF writer extract orientation and bounding box information from
1715DSC comments, if present. The orientation is used to set Rotate if
1716AutoRotatePages is not selected; the bounding box is not yet used for
1717anything. (doc/Ps2pdf.htm [1.21]: 2000/12/09 19:54:55 lpd)
1718
1719adds a brief blurb for Develop.htm (doc/Readme.htm [1.16]: 2000/12/11
172019:39:36 giles)
1721
1722In the developer documentation, breaks down several long file lists into
1723shorter, more focused ones. (doc/Develop.htm [1.21]: 2000/12/12 19:52:49
1724lpd)
1725
1726Adds some additional documentation on halftones. (doc/Develop.htm [1.22]:
17272000/12/15 01:46:57 lpd)
1728
1729Adds additional documentation on makefile conventions, and improves a few
1730other areas. (doc/Develop.htm [1.23]: 2000/12/18 06:45:23 lpd)
1731
1732Adds more documentation on makefiles, .dev files, and related topics.
1733(doc/Develop.htm [1.24]: 2000/12/20 05:09:31 lpd)
1734
1735Adds more developer documentation on the PostScript interpreter; divides up
1736some lists of files to provide more helpful detail. (doc/Develop.htm [1.25]:
17372000/12/20 20:15:41 lpd)
1738
1739Documents the preferred line breaking and indentation format for assignment
1740statements, including chain assignments. (doc/C-style.htm [1.8]: 2000/12/22
174116:58:55 lpd)
1742
1743Makes some minor corrections and improvements to the developer
1744documentation. (doc/Develop.htm [1.26]: 2000/12/28 05:57:18 lpd)
1745
1746Adds substantial new material on coding conventions for structures, classes,
1747and subclasses. (doc/C-style.htm [1.9]: 2000/12/28 07:12:38 lpd)
1748
1749Documents about 15 additional non-standard operators (the ones most likely
1750to be used in future code). (doc/Develop.htm [1.27],
1751doc/Language.htm [1.22]: 2000/12/28 18:29:49 lpd)
1752
1753Documents the need to run hrefcov as part of the release process; also fixes
1754some minor inaccuracies. (doc/Release.htm [1.25]: 2000/12/29 02:12:08 lpd)
1755
1756Adds more files to the developer "roadmap" documentation.
1757(doc/Develop.htm [1.28]: 2000/12/29 02:18:47 lpd)
1758
1759Adds the Fontmaps and the contributed drivers to the developer documentation
1760"roadmap", which is now complete. (doc/Develop.htm [1.29]: 2000/12/29
176102:33:40 lpd)
1762
1763Adds some developer documentation on design principles.
1764(doc/Develop.htm [1.30]: 2000/12/30 22:07:37 lpd)
1765
1766Removes or updates no longer appropriate references to Aladdin Enterprises.
1767(doc/Commprod.htm [1.6], doc/Fonts.htm [1.10], doc/Install.htm [1.11],
1768doc/Make.htm [1.18], doc/New-user.htm [1.16], doc/Projects.htm [1.21],
1769doc/Use.htm [1.19]: 2000/12/31 21:43:59 lpd)
1770
1771Updates documentation for the Windows uninstall program to reflect the name
1772change from Aladdin Ghostscript to AFPL Ghostscript.
1773(doc/Install.htm [1.12]: 2000/12/31 22:26:08 lpd)
1774
1775Updates repository for 6.60 release. (doc/Bug-form.htm [1.13],
1776doc/Bug-info.htm [1.9], doc/C-style.htm [1.10], doc/Commprod.htm [1.7],
1777doc/Copying.htm [1.5], doc/Current.htm [1.5], doc/DLL.htm [1.6],
1778doc/Develop.htm [1.31], doc/Devices.htm [1.17], doc/Drivers.htm [1.12],
1779doc/Fonts.htm [1.11], doc/Helpers.htm [1.8], doc/History1.htm [1.5],
1780doc/History2.htm [1.5], doc/History3.htm [1.5], doc/History4.htm [1.5],
1781doc/History5.htm [1.7], doc/History6.htm [1.15], doc/Htmstyle.htm [1.8],
1782doc/Install.htm [1.13], doc/Language.htm [1.23], doc/Lib.htm [1.5],
1783doc/Maintain.htm [1.8], doc/Make.htm [1.19], doc/New-user.htm [1.17],
1784doc/News.htm [1.73], doc/Projects.htm [1.22], doc/Ps-style.htm [1.5],
1785doc/Ps2epsi.htm [1.6], doc/Ps2pdf.htm [1.23], doc/Psfiles.htm [1.12],
1786doc/Readme.htm [1.17], doc/Release.htm [1.26], doc/Source.htm [1.5],
1787doc/Tester.htm [1.5], doc/Unix-lpr.htm [1.5], doc/Use.htm [1.20],
1788doc/Xfonts.htm [1.5], doc/gs-vms.hlp [1.4], man/dvipdf.1 [1.2],
1789man/eps2eps.1 [1.3], man/font2c.1 [1.2], man/gs.1 [1.2], man/gslp.1 [1.2],
1790man/gsnd.1 [1.2], man/pdf2dsc.1 [1.2], man/pdf2ps.1 [1.4],
1791man/pdfopt.1 [1.2], man/pf2afm.1 [1.2], man/pfbtopfa.1 [1.3],
1792man/printafm.1 [1.2], man/ps2ascii.1 [1.2], man/ps2epsi.1 [1.2],
1793man/ps2pdf.1 [1.6], man/ps2pdfwr.1 [1.3], man/ps2ps.1 [1.9],
1794man/wftopfa.1 [1.2]: 2001/01/01 00:24:05 lpd)
1795
1796</pre><h2><a name="6.60-Procedures"></a>Procedures</h2><pre>
1797
1798Fixes problems:
1799	- cvs2hist was generating invalid anchor names and not escaping
1800special charaters. also enable '-r' commandline option, and pass '-b' if
1801it's not specified for default branch logs only. Changes.htm now passes the
1802validator. Minor url cleanup in Release.htm (toolbin/cvs2hist.py [1.4]:
18032000/11/10 01:52:35 giles)
1804	- The OS/2 platform code would no longer compile, because the stdio
1805files are no longer available. (fix from rjl) (os2.mak [1.9]: 2000/12/05
180601:16:26 lpd)
1807	- Embedded font subsets always used similar sequences of prefixes,
1808making it likely that combining multiple PDF files would lead to clashes;
1809the code now generates truly random prefixes, using an external source of
1810random data. (devs.mak [1.39]: 2000/12/10 00:12:23 lpd)
1811	- Fixes a couple of dependency lists that had gotten out of sync.
1812(devs.mak [1.40]: 2000/12/10 00:17:51 lpd)
1813	- Seek was broken and PDF interpreter failed when
1814FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
1815is extended to support MSVC &amp;&amp; Win32. close_.h is replaced by more
1816general unistd_.h (lib.mak [1.40]: 2000/12/19 03:35:40 alexcher)
1817	- In the previous fix unistd__h was misspelt as unistd_h .
1818(lib.mak [1.41]: 2000/12/19 05:35:53 alexcher)
1819	- The recent change for localized man pages didn't update 2 of the 3
1820top-level Unix makefiles. (unixansi.mak [1.7], unixtrad.mak [1.7]:
18212000/12/23 16:29:53 lpd)
1822	- The list of doc files to be installed had gotten out of date
1823(Develop.htm, Maintain.htm, and Ps-style.htm were missing).
1824(unixinst.mak [1.16]: 2000/12/23 16:30:36 lpd)
1825	- unixinst.mak was checked in with the previous fix only partly
1826done. (unixinst.mak [1.17]: 2000/12/23 16:34:12 lpd)
1827
1828Collect some stray configuration related externs into iconf.h
1829(int.mak [1.40]: 2000/11/04 06:12:02 rayjj)
1830
1831Adds DSC parsing capability to the PostScript interpreter, with an optional
1832'feature' to use the DSC Orientation comments to compensate for sloppy
1833PostScript producers that don't emit an appropriate setpagedevice command.
1834(int.mak [1.41]: 2000/11/05 18:33:53 lpd)
1835
1836Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
1837actually process any of the comments. NOTE: Part of this code was
1838accidentally included in the recent fix for local/global VM problems in the
1839PostScript code for using the DSC parser. (devs.mak [1.36]: 2000/11/07
184018:54:26 lpd)
1841
1842Reorganizes some text-writing code in anticipation of adding CIDFont and
1843CMap support. (devs.mak [1.37]: 2000/11/17 22:11:44 lpd)
1844
1845Avoids exporting empty LD_RUN_PATH environment variable to the link process.
1846This was causing binaries to search the current directory for libraries,
1847which was a security hole. Fixes SourceForge bug 122532. (ugcclib.mak [1.6],
1848unixlink.mak [1.3]: 2000/11/28 00:14:48 raph)
1849
1850Updates the date and version checker for compatibility with the newest
1851documentation standards; also makes it check the makefile values of JVERSION
1852and PVERSION against the currently installed third-party source code.
1853(toolbin/pre [1.9]: 2000/12/05 21:14:14 lpd)
1854
1855Extensively revises and updates the pdfwrite text handling code to support
1856processing and embedding of all types of fonts (except for Type 3 and
1857CIDFontType 1, which are defined by PostScript procedures), and all variants
1858of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
1859all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
1860standard and non-standard CMaps are supported. (devs.mak [1.38],
1861int.mak [1.42], lib.mak [1.38]: 2000/12/08 23:35:37 lpd)
1862
1863removes a spurious import of the cgi module (toolbin/cvs2hist.py [1.5]:
18642000/12/11 19:40:23 giles)
1865
1866Splits off the code for downsampling an oversampled character bitmap into a
1867separate file. (lib.mak [1.39]: 2000/12/14 00:14:52 lpd)
1868
1869Adds a '-t' option to enable text output rather than html, replacing the old
1870behavior, which was to return text unless a version string was passed with
1871'-v'. The version string is now set to 'CVS' if no explicit version is
1872passed, and this is used in the named anchors within the html output.
1873(toolbin/cvs2hist.py [1.6]: 2000/12/23 09:38:10 giles)
1874
1875Adds support for localized manpages to the make 'install' target. On unix
1876the makefile will now intall any files with the $MAN1EXT extension it finds
1877under locale subdirs of the man directory that are listed in the MAN_LCDIRS
1878variable. The $man1dir is correspondingly removed from unix-gcc.mak. Also
1879adds separate targets: install-doc install-man install-examples
1880install-libdata (unix-gcc.mak [1.9], unixinst.mak [1.15]: 2000/12/23
188110:10:37 giles)
1882
1883Improves the set of files checked by hrefcov +lib.
1884(toolbin/hrefcov.tcl [1.5]: 2000/12/29 02:16:13 lpd)
1885
1886Adds a script for batch-converting PostScript files to PDF, intended to be
1887useful for testing. (toolbin/many2pdf.tcl [1.1]: 2000/12/31 22:28:09 lpd)
1888
1889Updates repository for 6.60 release. (toolbin/pre [1.10],
1890version.mak [1.24]: 2001/01/01 00:24:06 lpd)
1891
1892</pre><h2><a name="6.60-Utilities"></a>Utilities</h2><pre>
1893
1894Fixes problems:
1895	- pdfopt.ps used the "unresolved?" procedure from pdf_base.ps, which
1896has been replaced by the slightly different "resolved?" procedure.
1897(lib/pdfopt.ps [1.4]: 2000/12/01 04:15:52 lpd)
1898	- The OS/2 platform code would no longer compile, because the stdio
1899files are no longer available. (fix from rjl) (gp_os2.c [1.5]: 2000/12/05
190001:16:26 lpd)
1901	- File flush method uses file member in stream. On Windows and OS/2
1902it is NULL for %stdout or %stderr. So the standard flush method is
1903installed. (gp_msio.c [1.3], gp_os2.c [1.6]: 2000/12/19 03:44:24 alexcher)
1904	- /NullEncode filter no longer supports fileposition. Replacing
1905fileposition with .fileposition (lib/impath.ps [1.3]: 2000/12/28 17:06:07
1906alexcher)
1907	- _.at file was not deleted in BAT file; SAFER option added to CMD
1908file. (lib/eps2eps.bat [1.4], lib/eps2eps.cmd [1.2]: 2000/12/30 18:45:37
1909alexcher)
1910
1911Improves documentation of cid2code.ps by adding a complete usage example.
1912(lib/cid2code.ps [1.3]: 2000/11/30 18:22:11 lpd)
1913
1914Adds extensive documentation to genconf.c; also brings it into line with
1915current Ghostscript coding standards. (genconf.c [1.4]: 2000/12/20 04:20:34
1916lpd)
1917
1918Safe mode implemented using DELAYSAFER flag. (lib/pdf2dsc [1.3],
1919lib/pdf2dsc.bat [1.1], lib/pdf2dsc.ps [1.3]: 2000/12/29 05:03:49 alexcher)
1920
1921</pre><h2><a name="6.60-Drivers"></a>Drivers</h2><pre>
1922
1923Fixes problems:
1924	- In PDF output, color values of 1.0 were usually written as 0.999.
1925(bug introduced in version 6.22) (gdevpsdu.c [1.8]: 2000/11/12 07:13:26 lpd)
1926	- The pswrite device couldn't write to pipes. The fix involved
1927expanding the API for opening device OutputFiles so that the individual
1928driver could specify whether it required, requested, or did not want a
1929positionable file. Fixes SourceForge bug # 122223. (gdevps.c [1.13],
1930gdevpx.c [1.5]: 2000/11/29 02:25:13 lpd)
1931	- Invalid (uninitialized) StripByteCount was being left in file for
1932the tiff12nc and tiff24nc devices. Needed to call gdev_tiff_end_strip().
1933(gdevtfnx.c [1.4]: 2000/12/15 06:09:27 rayjj)
1934	- Fixes bug introduced in gdevxini.c revision 1.5. Don't overwrite
1935the pixmap handle provided in the GHOSTVIEW environment variable.
1936(gdevxini.c [1.10]: 2000/12/15 10:18:47 ghostgum)
1937	- The pswrite device produced an extra page if the transfer function
1938didn't map "1 setgray" to device white. (gdevps.c [1.14]: 2000/12/21
193903:58:54 lpd)
1940
1941</pre><h2><a name="6.60-PDF_writer"></a>PDF writer</h2><pre>
1942
1943Fixes problems:
1944	- kshow caused the PDF writer to revert to bitmapped fonts. Fixes
1945SourceForge bug # 104118. (gdevpdft.c [1.21]: 2000/11/06 04:17:14 lpd)
1946	- The PDF writer didn't handle stroked fonts correctly (they were
1947filled instead of stroked). (gdevpdf.c [1.23], gdevpdfd.c [1.11],
1948gdevpdft.c [1.22], gdevpdfx.h [1.23]: 2000/11/12 06:52:08 lpd)
1949	- When mixing filled and stroked fonts, the color wasn't set
1950correctly. (gdevpdft.c [1.23]: 2000/11/12 07:14:30 lpd)
1951	- The PDF writer incorrectly assumed that in PDF 1.3, the standard
1952Latin character set was the PostScript 3 extended set (it's actually the old
1953PostScript Level 2 set). (gdevpdft.c [1.28]: 2000/11/20 18:13:55 lpd)
1954	- Embedded CIDFontType 2 fonts had an incorrect BoundingBox.
1955(gdevpdff.c [1.14]: 2000/12/09 06:53:25 lpd)
1956	- Embedded font subsets always used similar sequences of prefixes,
1957making it likely that combining multiple PDF files would lead to clashes;
1958the code now generates truly random prefixes, using an external source of
1959random data. (gdevpdf.c [1.26], gdevpdfe.c [1.8], gdevpdff.c [1.15],
1960gdevpdff.h [1.9], gdevpdfx.h [1.27]: 2000/12/10 00:12:23 lpd)
1961	- Non-embedded Multiple Master instances weren't identified as such
1962(font Subtype = /MMType1). (gdevpdfw.c [1.7]: 2000/12/11 08:52:01 lpd)
1963	- pdfwrite would crash if a bitmap character was larger than 10Kb
1964(compressed). The fix simply raises the limit to 1 Mb. (gdevpdft.c [1.30]:
19652000/12/13 01:33:37 lpd)
1966	- When processing DSC comments, some constant strings weren't copied
1967to the heap, possibly causing memory access errors. (gdevpdfp.c [1.16]:
19682000/12/16 07:02:35 lpd)
1969	- If the same standard (base 14) font was loaded more than once
1970(because of save/restore), the PDF file could contain fonts that had
1971suffixed names (e.g., Helvetica~2) but with data missing as though they were
1972standard fonts, upsetting Acrobat Reader. Fixes SourceForge bug # 101905.
1973THIS FIX IS IN A VERY FRAGILE AREA AND MAY INTRODUCE NEW PROBLEMS.
1974(gdevpdff.c [1.16]: 2000/12/16 08:00:53 lpd)
1975	- The previous fix for copying DSC comment keys to the heap was
1976unnecessarily complex. (gdevpdfp.c [1.17]: 2000/12/16 19:28:51 lpd)
1977	- Resource usage wasn't tracked separately for Form XObjects (BP/EP
1978pdfmarks), producing non-compliant files that caused errors from Acrobat.
1979Fixes SourceForge bug # 102146. (gdevpdf.c [1.28], gdevpdff.c [1.17],
1980gdevpdff.h [1.10], gdevpdfm.c [1.8], gdevpdfo.c [1.6], gdevpdfo.h [1.6],
1981gdevpdft.c [1.31], gdevpdfu.c [1.14], gdevpdfw.c [1.8], gdevpdfx.h [1.28]:
19822000/12/16 19:36:32 lpd)
1983	- Strict type correctness is required on VMS system. Contributed by
1984Jouk Jansen joukj@hrem.stm.tudelft.nl (gdevpdfw.c [1.9]: 2000/12/18 21:58:03
1985alexcher)
1986
1987Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
1988actually process any of the comments. NOTE: Part of this code was
1989accidentally included in the recent fix for local/global VM problems in the
1990PostScript code for using the DSC parser. (gdevpdfp.c [1.13]: 2000/11/07
199118:54:26 lpd)
1992
1993Changes the internal indication of whether to allow font subsetting from a
1994Boolean to OK, YES, NO. (Unfortunately, I no longer remember why this change
1995is needed.) (gdevpdfe.c [1.6], gdevpdff.c [1.10], gdevpdff.h [1.5],
1996gdevpdft.c [1.24]: 2000/11/14 06:57:21 lpd)
1997
1998When writing PDF output, adds the ability to convert text in Type 0 fonts to
1999text in the descendant leaf fonts. This completes the handling of text
2000output except for CID-keyed fonts. (gdevpdft.c [1.25]: 2000/11/14 16:47:09
2001lpd)
2002
2003Reorganizes some text-writing code in anticipation of adding CIDFont and
2004CMap support. (gdevpdff.c [1.11], gdevpdff.h [1.6], gdevpdft.c [1.26]:
20052000/11/17 22:11:44 lpd)
2006
2007Makes glyphshow no longer revert to bitmapped fonts. Also adds a CIDFont
2008pseudo-resource, in anticipation of adding CID-keyed font support.
2009(gdevpdff.c [1.12], gdevpdff.h [1.7], gdevpdft.c [1.27], gdevpdfx.h [1.24]:
20102000/11/20 08:31:20 lpd)
2011
2012Extensively revises and updates the pdfwrite text handling code to support
2013processing and embedding of all types of fonts (except for Type 3 and
2014CIDFontType 1, which are defined by PostScript procedures), and all variants
2015of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
2016all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
2017standard and non-standard CMaps are supported. (gdevpdf.c [1.24],
2018gdevpdfe.c [1.7], gdevpdff.c [1.13], gdevpdff.h [1.8], gdevpdfs.c [1.1],
2019gdevpdft.c [1.29], gdevpdfu.c [1.13], gdevpdfw.c [1.6], gdevpdfx.h [1.25]:
20202000/12/08 23:35:38 lpd)
2021
2022If ParseDSCCommentsForDocInfo is set to true, copies information from DSC
2023comments Creator, CreationDate, For, and Title into the output's Info
2024dictionary. (gdevpdfp.c [1.14]: 2000/12/09 07:49:22 lpd)
2025
2026Makes the PDF writer extract orientation and bounding box information from
2027DSC comments, if present. The orientation is used to set Rotate if
2028AutoRotatePages is not selected; the bounding box is not yet used for
2029anything. (gdevpdf.c [1.25], gdevpdfp.c [1.15], gdevpdfx.h [1.26]:
20302000/12/09 19:54:54 lpd)
2031
2032Slightly changes the initialization of the random offset for font subset
2033prefixes, to work better with low-resolution clocks such as those typical on
2034PCs. (gdevpdf.c [1.27]: 2000/12/16 19:31:10 lpd)
2035
2036</pre><h2><a name="6.60-PDF_Interpreter"></a>PDF Interpreter</h2><pre>
2037
2038Fixes problems:
2039	- Type 0 fonts with a non-standard (embedded) CMap didn't work at
2040all. (lib/pdf_font.ps [1.15]: 2000/12/02 20:41:52 lpd)
2041	- The PDF interpreter ignored the CIDToGIDMap entry in (embedded)
2042CIDFontType 2 fonts, producing incorrect output if the map wasn't /Identity.
2043(lib/pdf_font.ps [1.16]: 2000/12/07 23:41:10 lpd)
2044	- GS didn't dereference indirect objects in Widths array.
2045(lib/pdf_font.ps [1.17]: 2000/12/17 19:06:19 alexcher)
2046	- Fixes a slight oversight in the true/false/null improvement for
2047the PDF interpreter. (lib/pdf_base.ps [1.12]: 2000/12/26 04:10:12 lpd)
2048	- When a non-TrueType font was substituted for a TrueType font, the
2049Encoding in the font descriptor was ignored. This hack was intended to fix
2050SF bug # 104702, an invalid PDF file, but it broke another case. Removal of
2051the hack makes GS render both cases similar to AR 4.
2052(lib/pdf_font.ps [1.18]: 2000/12/26 04:29:30 alexcher)
2053	- The PDF interpreter didn't rotate the CropBox for landscape pages,
2054producing incorrect output if the input of ps2pdf was a landscape PDF file.
2055(lib/pdf_main.ps [1.26]: 2000/12/31 01:07:18 lpd)
2056
2057Improves font substitution by taking the "Narrow" property into account.
2058Fixes SourceForge bug 116460. Fix due to Leon Bottou.
2059(lib/pdf_font.ps [1.13]: 2000/11/05 17:36:28 raph)
2060
2061Wraps the showpagecontents call in gsave/grestore, so that the graphics
2062state for drawing annotations is pristine. Fixes Sourceforge bug 123310.
2063(lib/pdf_main.ps [1.23]: 2000/11/25 22:00:21 raph)
2064
2065The published PDF specification says the Encoding name "must be" one of the
20663 predefined Encodings, implying that an error should occur if it isn't.
2067However, Acrobat Reader simply ignores unknown names, and since there are
2068some buggy applications that rely on this, we do the same.
2069(lib/pdf_font.ps [1.14]: 2000/11/28 18:55:24 alexcher)
2070
2071The PDF specification says that the 'xref' must be on a line by itself. The
2072code formerly used readline and linene to check this. However, Acrobat
2073Reader only requires the line to begin with 'xref', and there are enough
2074applications producing non-compliant PDF files that we have to do this too.
2075(lib/pdf_main.ps [1.24]: 2000/12/18 03:41:35 alexcher)
2076
2077AI8 writes bogus encoding array [0 1 0 0 0 0 0 0] AR doesn't care. So we
2078have to straighten it up here. (lib/pdf_draw.ps [1.24]: 2000/12/20 19:02:24
2079alexcher)
2080
2081Makes the PDF interpreter handle true, false, and null specially, rather
2082than by dictionary lookup, so that the PostScript interpreter can still
2083process these names using the special fast case for names defined only in
2084systemdict. (lib/pdf_base.ps [1.11], lib/pdf_main.ps [1.25]: 2000/12/26
208504:08:44 lpd)
2086
2087</pre><h2><a name="6.60-Interpreter"></a>Interpreter</h2><pre>
2088
2089Fixes problems:
2090	- The recently updated code for activating the DSC comment parser
2091had several local/global VM problems, causing invalidaccess errors.
2092(lib/gs_dps2.ps [1.3], lib/gs_init.ps [1.27], lib/gs_pdfwr.ps [1.7]:
20932000/11/07 18:51:24 lpd)
2094	- There was still a bug in the code for passing DSC comments to the
2095PDF writer, causing typecheck errors. (lib/gs_pdfwr.ps [1.8]: 2000/11/07
209619:27:14 lpd)
2097	- If the procedure of a FunctionType 4 Function was syntactically
2098valid but exceeded the maximum stack depth, an attempt was made to free a
2099string as an object, causing memory corruption. (zfunc4.c [1.6]: 2000/11/11
210017:34:06 lpd)
2101	- Disk-based TrueType fonts caused a memory leak. (Currently, there
2102are no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
2103fonts, should be made disk-based.) (zfcid1.c [1.4]: 2000/11/22 08:32:07 lpd)
2104	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
2105freed, except by garbage collection (which doesn't reclaim chunks with only
2106a small amount of surviving data). In practice, this probably only affects
2107the PDF writer. (zfcid0.c [1.5]: 2000/11/23 23:34:22 lpd)
2108	- Single-byte notdef ranges in CMaps incorrectly incremented the CID
2109number, rather than assigning the same CID to all characters in the range.
2110(lib/gs_cmap.ps [1.9]: 2000/11/29 06:58:36 lpd)
2111	- In dictionaries, an int lookup key sometimes didn't match a real
2112stored key, and vice versa. Fixes SourceForge bug # 123678. (idict.c [1.3]:
21132000/11/30 07:13:08 lpd)
2114	- Further tweaking of the logic to clear end_status flags in a
2115pipeline in the continuation of a procedure write, making it more aggressive
2116than the previous fix, but less aggressive than the original code. This is a
2117revised fix for Sourceforge bug 119777. (zfproc.c [1.7]: 2000/12/02 19:58:45
2118raph)
2119	- 'gstate' was allowed in global VM even if the current graphics
2120state included references to structures in local VM (which is, in fact,
2121normally the case) and the save level was non-zero: this could create a
2122dangling pointer after the 'restore'. This "fix" is a workaround that simply
2123prohibits doing this, but a correct fix would copy any such structures.
2124(zdps1.c [1.3]: 2000/12/02 20:39:37 lpd)
2125	- The first call of check_psc_function in gs_build_function_4 didn't
2126initialize size to 0, causing the computed value of size to be garbage,
2127possibly leading to a VMerror or memory corruption. (zfunc4.c [1.7]:
21282000/12/03 16:56:31 alexcher)
2129	- The font_info procedure for PostScript fonts other than Type 1
2130didn't return information from the FontInfo dictionary (Copyright,
2131FamilyName, FullName, Notice), causing this information to be omitted when
2132embedding the font in a PDF file. (ifont.h [1.6], zbfont.c [1.7],
2133zfont.c [1.3], zfont1.c [1.9]: 2000/12/03 23:35:30 lpd)
2134	- The %%ViewingOrientation: DSC comment was misspelled
2135%%ViewerOrientation:. This also corrects the CDSC_VIEWINGORIENTATION enum
2136value (formerly CDSC_VIEWERORIENTATION, and the viewing_orientation members
2137of the CDSCPAGE structure and the CDSC structure (formerly
2138viewer_orientation). (dscparse.c [1.3], dscparse.h [1.3], zdscpars.c [1.8]:
21392000/12/09 18:28:23 lpd)
2140	- Unitialized member of CDSCPAGE caused random crashes.
2141(dscparse.c [1.4]: 2000/12/13 07:18:46 alexcher)
2142	- systemdict was being created too small for LanguageLevel 3
2143systems. (It expanded properly, but left a sandbar.) (iinit.c [1.3]:
21442000/12/26 04:25:54 lpd)
2145	- Expanding a permanent dictionary (systemdict or userdict)
2146destroyed the single-definition bookkeeping for names defined in that
2147dictionary, slowing down subsequent interpretation. (idict.c [1.4]:
21482000/12/26 06:09:58 lpd)
2149	- Fix to dscparse.c for parsing DOS EPS files. Code now looks for
2150%!PS-Adobe- at the start of the PostScript section, not at the start of the
2151DOS EPS header. (dscparse.c [1.5]: 2000/12/28 01:45:01 ghostgum)
2152
2153Collect some stray configuration related externs into iconf.h
2154(imain.c [1.3], imainarg.c [1.5]: 2000/11/04 06:12:02 rayjj)
2155
2156branches: 1.1.2; Collect some stray configuration related externs into
2157iconf.h (iconf.h [1.1]: 2000/11/04 06:12:02 rayjj)
2158
2159Add COMPILE_INITS information line to -h help output. (imainarg.c [1.6]:
21602000/11/04 06:13:42 rayjj)
2161
2162Adds DSC parsing capability to the PostScript interpreter, with an optional
2163'feature' to use the DSC Orientation comments to compensate for sloppy
2164PostScript producers that don't emit an appropriate setpagedevice command.
2165(lib/gs_dscp.ps [1.1], zdscpars.c [1.1]: 2000/11/05 18:33:52 lpd)
2166
2167branches: 1.1.2; Adds DSC parsing capability to the PostScript interpreter,
2168with an optional 'feature' to use the DSC Orientation comments to compensate
2169for sloppy PostScript producers that don't emit an appropriate setpagedevice
2170command. (dscparse.c [1.1], dscparse.h [1.1]: 2000/11/05 18:33:53 lpd)
2171
2172Polishes the DSC parser interface: improves comments and formatting, and
2173fixes a couple of very minor glitches. (zdscpars.c [1.2]: 2000/11/06
217407:34:21 lpd)
2175
2176branches: 1.3.2; ... and fixes an overlooked const discrepancy.
2177(zdscpars.c [1.3]: 2000/11/06 07:35:51 lpd)
2178
2179branches: 1.2.2; Fix: The recently updated code for activating the DSC
2180comment parser had several local/global VM problems, causing invalidaccess
2181errors. (lib/gs_dscp.ps [1.2]: 2000/11/07 18:51:25 lpd)
2182
2183Return code variables (code and comment_code) in zparse_dsc_comments(). need
2184to be signed. (zdscpars.c [1.4]: 2000/11/08 00:54:48 dancoby)
2185
2186Rewrites .parse_dsc_comment to use the parameter list machinery, removing a
2187little functionally duplicated code; changes two incorrect uints to ints
2188(fix from dan@artifex.com); adds additional comment types (BoundingBox,
2189PageBoundingBox, BeginDefaults, EndDefaults) to the interface.
2190(zdscpars.c [1.5]: 2000/11/08 07:07:32 lpd)
2191
2192DSC parser changes: adds %%ViewerOrientation to DSC parser; doesn't flag an
2193error if %%Pages is absent but one %%Page is found; frees memory if
2194initialization fails; recognizes general whitespace in some places where
2195only spaces were recognized before. (changes from gsview@ghostgum.com.au)
2196(dscparse.c [1.2], dscparse.h [1.2]: 2000/11/13 05:44:58 lpd)
2197
2198Adds DSC comment tracing to ps2pdf, if -dDEBUG is specified on the command
2199line. (lib/gs_pdfwr.ps [1.9]: 2000/11/13 17:03:51 lpd)
2200
2201Adds %%EndDefaults, %%For:, and %%ViewerOrientation: to the set of DSC
2202comments handled by the .parse_dsc_comments operator. (zdscpars.c [1.6]:
22032000/11/13 17:06:18 lpd)
2204
2205Slightly simplifies the code for creating the internal representation of
2206CMaps. (lib/gs_cmap.ps [1.8]: 2000/11/16 00:32:00 lpd)
2207
2208Changes .buildshading to always apply a ReusableStreamDecode filter to file
2209and stream DataSources, so that multiple passes over the stream work. This
2210patch closes SourceForge bug 121810. (lib/gs_ll3.ps [1.7]: 2000/11/16
221100:37:32 raph)
2212
2213Makes single-byte CMap ranges convert into a single range in the internal
2214representation, rather than (largest - smallest + 1) separate single-element
2215ranges. (lib/gs_cmap.ps [1.10]: 2000/11/29 07:10:27 lpd)
2216
2217Adds documentation for the procedures declared in ifont.h. (ifont.h [1.5]:
22182000/12/03 23:14:28 lpd)
2219
2220Extensively revises and updates the pdfwrite text handling code to support
2221processing and embedding of all types of fonts (except for Type 3 and
2222CIDFontType 1, which are defined by PostScript procedures), and all variants
2223of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
2224all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
2225standard and non-standard CMaps are supported. (lib/gs_cidfn.ps [1.18]:
22262000/12/08 23:35:38 lpd)
2227
2228Makes the default value of ParseDSCCommentsForDocInfo true rather than
2229false. (lib/gs_pdfwr.ps [1.10]: 2000/12/09 08:00:52 lpd)
2230
2231Changes the parsing of the DSC Orientation comments to return -1 .. 3 rather
2232than 0 or 1. (lib/gs_dscp.ps [1.3], zdscpars.c [1.7]: 2000/12/09 17:52:29
2233lpd)
2234
2235Changes .parse_dsc_comments to distinguish (document default)
2236ViewingOrientation from PageViewingOrientation, as for [Page]Orientation.
2237(zdscpars.c [1.9]: 2000/12/09 19:52:49 lpd)
2238
2239Updates the comments with a new proposal for speeding up name lookup in the
2240interpreter. (dstack.h [1.3]: 2000/12/26 01:20:58 lpd)
2241
2242The old code caused gswin crash when console window closes.
2243(dwimg.cpp [1.3]: 2000/12/26 13:41:40 igorm)
2244
2245New flag DELAYSAFER added to defer activation of safety checks. SAFER=false
2246=&gt; no safety checks SAFER=true, DELAYSAFER=false =&gt; safety checks
2247always SAFER=true, DELAYSAFER=true =&gt; safety checks after .setsafe
2248(lib/gs_init.ps [1.28]: 2000/12/29 04:13:56 alexcher)
2249
2250</pre><h2><a name="6.60-Streams"></a>Streams</h2><pre>
2251
2252Fixes problems:
2253	- Seek was broken and PDF interpreter failed when
2254FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
2255is extended to support MSVC &amp;&amp; Win32. close_.h is replaced by more
2256general unistd_.h (sfxfd.c [1.6]: 2000/12/19 03:35:40 alexcher)
2257
2258</pre><h2><a name="6.60-Library"></a>Library</h2><pre>
2259
2260Fixes problems:
2261	- Several places in the band list code didn't call s_init_state to
2262initialize locally allocated stream states: this is now required (see the
2263"Incompatible changes" section above). We suspect there are a few more
2264places that will need this fix. (gxclbits.c [1.3], gxcldev.h [1.4],
2265gxclread.c [1.3], gxclutil.c [1.3]: 2000/11/05 00:34:24 lpd)
2266	- Fixes infinite loops when writing large bitmaps into clist. Now,
2267cmd_put_bits never requests an allocation in the clist buffer larger than
2268cbuf_size. (gxclbits.c [1.4]: 2000/11/05 18:44:57 raph)
2269	- Works around an Acrobat Reader 4 bug that causes AR4 to draw a
2270single pixel, rather than nothing, when filling a subpath consisting only of
2271a moveto. (gdevvec.c [1.8]: 2000/11/07 16:42:28 lpd)
2272	- The PDF writer didn't handle stroked fonts correctly (they were
2273filled instead of stroked). (gdevvec.c [1.9], gdevvec.h [1.5]: 2000/11/12
227406:52:08 lpd)
2275	- The pdfwrite and pswrite drivers could emit a lineto or rlineto
2276without a moveto at the beginning of the path. (bug introduced very
2277recently, by a workaround for an Acrobat Reader bug) (gdevvec.c [1.10]:
22782000/11/14 07:41:08 lpd)
2279	- Attempting to write a CFF Type 2 font larger than 32K but smaller
2280than 64K caused a rangecheck. (gdevpsf2.c [1.8]: 2000/11/19 17:48:08 lpd)
2281	- Computing the default width or the fixed width for a CIDFont or
2282TrueType font could do a huge amount of unnecessary work. (Probably only
2283affects the PDF writer.) (gsfont.c [1.3]: 2000/11/20 21:09:09 lpd)
2284	- The Type 1 to Type 2 CharString converter (currently used only by
2285the PDF writer) often didn't detect invalid CharStrings as input.
2286(gdevpsfx.c [1.6]: 2000/11/21 02:33:55 lpd)
2287	- The code for writing a CIDFontType0 CFF font mistook Type 2
2288CharStrings for Type 1, and tried to convert them to Type 2. (This currently
2289affects only the PDF writer.) (gdevpsf2.c [1.9]: 2000/11/21 02:35:59 lpd)
2290	- Disk-based TrueType fonts caused a memory leak. (Currently, there
2291are no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
2292fonts, should be made disk-based.) (gdevpsft.c [1.5], gstype42.c [1.10]:
22932000/11/22 08:32:07 lpd)
2294	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
2295freed, except by garbage collection (which doesn't reclaim chunks with only
2296a small amount of surviving data). In practice, this probably only affects
2297the PDF writer. (gsfcid.c [1.5], gstype1.c [1.6], gstype2.c [1.9],
2298gxfont1.h [1.5], gxtype1.c [1.8], gxtype1.h [1.5]: 2000/11/23 23:34:22 lpd)
2299	- The pswrite device couldn't write to pipes. The fix involved
2300expanding the API for opening device OutputFiles so that the individual
2301driver could specify whether it required, requested, or did not want a
2302positionable file. Fixes SourceForge bug # 122223. (gdevpipe.c [1.4],
2303gdevvec.c [1.11], gdevvec.h [1.6], gsdevice.c [1.8]: 2000/11/29 02:25:13
2304lpd)
2305	- The change for freeing transient CharStrings introduced two bugs,
2306possibly causing the code to free data twice, or to free data that should be
2307retained. (gdevpsfx.c [1.8]: 2000/11/30 05:58:19 lpd)
2308	- Allocates graphics state path in stable memory. This prevents
2309paths in Type 3 fonts allocated inside a save ... setcachedevice ... restore
2310sequence from being prematurely freed. Fixes SourceForge bug 101549.
2311(gspath1.c [1.3], gsstate.c [1.6]: 2000/12/04 21:13:55 raph)
2312	- An inadvertent change caused the graphics state not to be freed on
2313grestore. This fix, due to lpd, restores the freeing statement.
2314(gsstate.c [1.7]: 2000/12/05 09:24:57 raph)
2315	- The pointers to the substituted color spaces in the graphics state
2316weren't included in the structure descriptor, causing memory access errors
2317if UseCIEColor was used. (gsstate.c [1.8]: 2000/12/11 04:06:22 alexcher)
2318	- In TrueType fonts, glyph outlines starting with an off-curve point
2319didn't render correctly, replacing the curve with a pair of straight lines.
2320(gstype42.c [1.11]: 2000/12/12 22:27:56 alexcher)
2321	- Strict type correctness is required on VMS system. Contributed by
2322Jouk Jansen joukj@hrem.stm.tudelft.nl (gdevpsf2.c [1.12], gsfcmap.c [1.13]:
23232000/12/18 21:58:03 alexcher)
2324	- Seek was broken and PDF interpreter failed when
2325FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
2326is extended to support MSVC &amp;&amp; Win32. close_.h is replaced by more
2327general unistd_.h (gpmisc.c [1.9]: 2000/12/19 03:35:40 alexcher)
2328	- Fixes a subtle logic bug in the scan line path filling code, which
2329unfortunately involved rewriting the code from scratch. The new code is also
2330somewhat subtle, and may contain new bugs: DON'T TRUST IT YET. Fixes
2331SourceForge bug # 117066. (gxfill.c [1.7]: 2000/12/23 06:02:39 lpd)
2332	- Embedded Type 1 fonts omitted StdVW. (Acrobat Reader requires
2333this, even though the Type 1 specification says it is optional.)
2334(gdevpsf1.c [1.8]: 2000/12/29 01:18:55 lpd)
2335
2336Adds developer documentation on the color mapping pipeline. (gxfrac.h [1.3]:
23372000/11/03 04:53:00 lpd)
2338
2339Improves the documentation of the minimum responsibilities of the 'process'
2340procedure in a text enumerator. (gxtext.h [1.6]: 2000/11/06 00:44:37 lpd)
2341
2342Adds a param_string_from_transient_string macro, to parallel
2343param_string_from_string for non-permanent C strings. (gsparam.h [1.8]:
23442000/11/08 06:56:50 lpd)
2345
2346Adds a macro for declaring suffix subclasses with 5 added pointers (in
2347addition to the existing 1, 2, 3, 4, and 6). (gsstruct.h [1.6]: 2000/11/21
234816:46:55 lpd)
2349
2350Adds a procedure for testing whether a glyph is a "notdef" in a font,
2351necessary for fixing a memory consumption problem when accessing type 0
2352CIDFonts. (gsfont.c [1.4], gxfont.h [1.3]: 2000/11/23 23:23:40 lpd)
2353
2354Speeds up the slow case of fixed_mult_quo by nearly a factor of 2, by using
2355a tiny bit of numerical analysis. (gsmisc.c [1.9], gxfixed.h [1.3]:
23562000/11/24 06:53:23 lpd)
2357
2358Improves the performance of embedded font writing by freeing strings when no
2359longer needed, and by removing redundant computation. (Currently relevant
2360only to the PDF writer.) (gdevpsf1.c [1.7], gdevpsf2.c [1.10],
2361gdevpsfu.c [1.5], gdevpsfx.c [1.7]: 2000/11/24 07:10:41 lpd)
2362
2363Adds a procedure for creating an Identity CMap, needed by the PDF writer.
2364(gsfcmap.c [1.11], gxfcmap.h [1.6]: 2000/11/26 04:08:41 lpd)
2365
2366Implements the stopgap measure of increasing fill_adjust for Coons patch
2367shading, to cover the dropouts caused by incorrect triangulation of the mesh
2368surface. See SourceForge Bug 119588 for a more thorough analysis.
2369(gsptype2.c [1.4], gxshade4.c [1.4]: 2000/11/29 01:31:30 raph)
2370
2371Adds an internal unique ID to CMap structures (gs_cmap_t), for use as a
2372cache or comparison key. (gsfcmap.c [1.12], gxfcmap.h [1.7]: 2000/11/29
237305:50:03 lpd)
2374
2375The old code did not comply ISO/IEC C language standard and compiled wrongly
2376to Mac, causing halftone problem on Mac. (gshtscr.c [1.5]: 2000/11/29
237714:41:34 igorm)
2378
2379Adds macros for suffix subclass structures with 7 or 8 additional pointers
2380(1-6 and 9 existed already). (gsstruct.h [1.7]: 2000/12/04 01:11:53 lpd)
2381
2382Extensively revises and updates the pdfwrite text handling code to support
2383processing and embedding of all types of fonts (except for Type 3 and
2384CIDFontType 1, which are defined by PostScript procedures), and all variants
2385of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
2386all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
2387standard and non-standard CMaps are supported. (gdevpsf.h [1.9],
2388gdevpsf2.c [1.11], gdevpsfm.c [1.4], gdevpsft.c [1.6], gdevpsfu.c [1.6]:
23892000/12/08 23:35:38 lpd)
2390
2391Moves definitions of gs_state_do_ptrs and gs_state_num_ptrs from gsstate.c
2392to gzstate.h since they depend on the contents of struct gs_state_s defined
2393there. (gsstate.c [1.9], gzstate.h [1.4]: 2000/12/11 12:52:16 alexcher)
2394
2395Splits off the code for downsampling an oversampled character bitmap into a
2396separate file. (gsbitcom.c [1.1], gsbitops.c [1.3]: 2000/12/14 00:14:52 lpd)
2397
2398branches: 1.1.2; Fix: Seek was broken and PDF interpreter failed when
2399FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
2400is extended to support MSVC &amp;&amp; Win32. close_.h is replaced by more
2401general unistd_.h (unistd_.h [1.1]: 2000/12/19 03:35:40 alexcher)
2402
2403Brings gxfill.c up to date with current coding standards (except for adding
2404_t to the names of locally defined structure types); also puts #ifdef
2405FILL_TRAPEZOIDS around a little more code that tests 'if (fill_trapezoids)'.
2406(gxfill.c [1.6]: 2000/12/21 16:10:36 lpd)
2407
2408Updates repository for 6.60 release. (gscdef.c [1.11]: 2001/01/01 00:24:06
2409lpd)
2410
2411</pre><h2><a name="6.60-Other"></a>Other</h2><pre>
2412
2413Fixes problems:
2414	- Seek was broken and PDF interpreter failed when
2415FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
2416is extended to support MSVC &amp;&amp; Win32. close_.h is replaced by more
2417general unistd_.h (close_.h [1.3]: 2000/12/19 03:35:40 alexcher)
2418
2419<hr>
2420
2421<h1><a name="Version6.30"></a>Version 6.30 (2000-10-03)</h1>
2422
2423<p>
2424This fileset consists of xxx.
2425
2426<p>
2427All problems registered on SourceForge numbered 110922 or lower are closed,
2428except for the following: 101549, 101814, 101905, 101955, 102146, 102735,
2429104118, 105289, 105558, 106340, 106652, 109350, 110445, 110898, 110922.
2430
2431<p>
2432The following projects are in a partially completed state:
2433
2434<ul>
2435
2436<li>CID-keyed fonts in the PDF writer (gdevpdf[eftw].c) -- barely started.
2437
2438</ul>
2439
2440<pre>
2441
2442<h2><a name="6.24_Incompatible_changes"></a>Incompatible changes</h2>
2443
2444(Procedures)
2445	- The -Zv and -ZV switches now trace alpha/transparency features.
2446	- The program name is now AFPL Ghostscript rather than Aladdin
2447Ghostscript.
2448	- The default Windows installation directory is now c:\gs rather
2449than c:\Aladdin.
2450(Utilities)
2451	- lib/pdfeof.ps is deleted; its functionality is included in the
2452standard code.
2453(Drivers)
2454	- The X driver now implements sync_output using XSync(False) rather
2455than XFlush().
2456(Library)
2457	- gdev_vector_dopath now never returns 1.
2458	- Color space types now have a new, required, "equal" procedure.
2459
2460
2461<h2><a name="6.30 Documentation"></a>Documentation</h2><pre>
2462
2463Fixes problems:
2464	- the "User parameters" section was incorrectly titled "Device
2465parameters". (doc/Language.htm [1.11]: 2000/08/17 17:00:42 lpd)
2466
2467Initializes files for the 6.24 fileset. (doc/News.htm [1.57]: 2000/08/09
246816:54:01 lpd)
2469
2470Adds Alex Cherepanov to the roster of helpers. (doc/Helpers.htm [1.2]:
24712000/08/09 16:54:39 lpd)
2472
2473Documents the -dDEVICE{WIDTH,HEIGHT}POINTS= switches. (doc/Use.htm [1.10]:
24742000/08/17 01:31:52 lpd)
2475
2476Notes the change in the return value of gdev_vector_dopath.
2477(doc/News.htm [1.58]: 2000/08/20 00:20:42 lpd)
2478
2479Changes text to make it clear that Yves Arrouye no longer maintains the BJC
2480drivers that he wrote. (doc/Devices.htm [1.11]: 2000/08/21 14:38:27 lpd)
2481
2482Puts the logic for detecting garbage after %%EOF (and some similar invalid
2483constructs) back into the main code, making it produce a message on stderr.
2484(doc/Psfiles.htm [1.6]: 2000/08/23 02:22:39 lpd)
2485
2486Documents the deletion of lib/pdfeof.ps. (doc/News.htm [1.59]: 2000/08/23
248702:23:54 lpd)
2488
2489Starts to implement the PDF 1.4 transparency features. All API and operator
2490additions are now implemented (at least as stubs) and documented, as is
2491bookkeeping for the new scalar graphics state members (but not for the soft
2492masks or the transparency group stack). (doc/Language.htm [1.12]: 2000/08/23
249321:46:31 lpd)
2494
2495Adds a project to avoid DCT-decoding followed by DCT-encoding images when
2496writing PDF files. (doc/Projects.htm [1.16]: 2000/08/24 03:43:12 lpd)
2497
2498Adds a new equality-testing virtual procedure for color spaces.
2499(doc/News.htm [1.60]: 2000/08/24 05:42:30 lpd)
2500
2501Brings the (still mostly stubbed) transparency code to a more
2502self-consistent state. (doc/Language.htm [1.13]: 2000/08/30 01:34:40 lpd)
2503
2504Completes the parsing of .{begin,end}transparency{group,mask}, except for
2505the TransferFunction for masks. The specification is still subject to
2506change. (doc/Language.htm [1.14]: 2000/08/30 15:03:36 lpd)
2507
2508Divides the list of documents according to whether the document is for
2509users, for developers, or both. (doc/Readme.htm [1.11]: 2000/08/30 21:24:00
2510lpd)
2511
2512Adds more documentation for the transparency rendering stack.
2513(doc/Language.htm [1.15]: 2000/08/31 03:34:41 lpd)
2514
2515Adds a requirement to only use ANSI standard C library facilities.
2516(doc/C-style.htm [1.2]: 2000/09/08 04:53:14 lpd)
2517
2518Changes the -Zv switch to trace alpha/transparency-related features.
2519(doc/News.htm [1.61], doc/Use.htm [1.11]: 2000/09/10 05:23:10 lpd)
2520
2521Implements another chunk of the PDF 1.4 transparency features, fixing some
2522bugs in the previous code. (doc/Language.htm [1.16]: 2000/09/10 05:26:27
2523lpd)
2524
2525Documents the addition of (limited) PDF 1.4 output capabilities.
2526(doc/Ps2pdf.htm [1.16]: 2000/09/11 02:08:58 lpd)
2527
2528Moves the Matte entry of soft mask images from the main structure to the
2529mask structures, and changes Matted to has_Matte. (doc/Language.htm [1.17]:
25302000/09/11 04:08:13 lpd)
2531
2532Documents division of bug-gs mailbox into bug-gs, bug-gs-dev, and
2533bug-gs-beta. (doc/Bug-form.htm [1.7], doc/Bug-info.htm [1.5]: 2000/09/15
253423:44:21 lpd)
2535
2536Adds a paragraph explaining why and how the AFPL is not an Open Source /
2537Free Software license. (doc/PUBLIC [1.2], doc/Public.htm [1.2]: 2000/09/18
253822:26:32 lpd)
2539
2540Updates the license notices to reflect the name change from Aladdin
2541Ghostscript to AFPL Ghostscript; also updates many internal references from
2542Aladdin Ghostscript to AFPL Ghostscript, and from Aladdin Enterprises to
2543artofcode LLC. (doc/Bug-form.htm [1.8], doc/Bug-info.htm [1.6],
2544doc/C-style.htm [1.3], doc/Changes.htm [1.17], doc/Commprod.htm [1.2],
2545doc/Copying.htm [1.2], doc/Current.htm [1.2], doc/DLL.htm [1.2],
2546doc/Devices.htm [1.12], doc/Drivers.htm [1.7], doc/Fonts.htm [1.7],
2547doc/Helpers.htm [1.3], doc/History1.htm [1.2], doc/History2.htm [1.2],
2548doc/History3.htm [1.2], doc/History4.htm [1.2], doc/History5.htm [1.4],
2549doc/History6.htm [1.12], doc/Htmstyle.htm [1.5], doc/Install.htm [1.6],
2550doc/Language.htm [1.18], doc/Lib.htm [1.2], doc/Maintain.htm [1.3],
2551doc/Make.htm [1.14], doc/New-user.htm [1.11], doc/News.htm [1.62],
2552doc/PUBLIC [1.3], doc/Projects.htm [1.17], doc/Ps2epsi.htm [1.3],
2553doc/Ps2pdf.htm [1.17], doc/Psfiles.htm [1.7], doc/Public.htm [1.3],
2554doc/Readme.htm [1.12], doc/Release.htm [1.18], doc/Source.htm [1.2],
2555doc/Tester.htm [1.2], doc/Unix-lpr.htm [1.2], doc/Use.htm [1.12],
2556doc/Xfonts.htm [1.2], doc/gs-vms.hlp [1.2]: 2000/09/19 21:37:50 lpd)
2557
2558Updates README from Readme.htm. (doc/README [1.3]: 2000/09/19 23:39:31 lpd)
2559
2560Changes the default Windows installation directory from c:\Aladdin to c:\gs.
2561(doc/Install.htm [1.7], doc/News.htm [1.63]: 2000/09/22 05:32:17 lpd)
2562
2563Replaces the OpenVMS installation instructions with an improved set
2564contributed by a user. (doc/Helpers.htm [1.4], doc/Install.htm [1.8]:
25652000/09/22 20:33:19 lpd)
2566
2567Adds a project for fixing PDF files that have gotten mangled by EOL
2568conversion. (doc/Projects.htm [1.18]: 2000/09/25 14:40:37 lpd)
2569
2570Adds a reference to PreScript, another free text extraction program based on
2571Ghostscript. (doc/New-user.htm [1.12]: 2000/09/26 01:04:40 lpd)
2572
2573Documentation changes in preparation for 6.30 release. Replaced some contact
2574information, updated version numbers. (doc/Bug-form.htm [1.9],
2575doc/Bug-info.htm [1.7], doc/Commprod.htm [1.3], doc/Copying.htm [1.3],
2576doc/Current.htm [1.3], doc/DLL.htm [1.3], doc/Devices.htm [1.13],
2577doc/Drivers.htm [1.8], doc/Fonts.htm [1.8], doc/Helpers.htm [1.5],
2578doc/History1.htm [1.3], doc/History2.htm [1.3], doc/History3.htm [1.3],
2579doc/History4.htm [1.3], doc/History5.htm [1.5], doc/History6.htm [1.13],
2580doc/Htmstyle.htm [1.6], doc/Install.htm [1.9], doc/Language.htm [1.19],
2581doc/Lib.htm [1.3], doc/Maintain.htm [1.4], doc/Make.htm [1.15],
2582doc/New-user.htm [1.13], doc/News.htm [1.64], doc/Projects.htm [1.19],
2583doc/Ps2epsi.htm [1.4], doc/Ps2pdf.htm [1.18], doc/Psfiles.htm [1.8],
2584doc/README [1.4], doc/Readme.htm [1.13], doc/Release.htm [1.19],
2585doc/Source.htm [1.3], doc/Tester.htm [1.3], doc/Unix-lpr.htm [1.3],
2586doc/Use.htm [1.13], doc/Xfonts.htm [1.3], doc/gs-vms.hlp [1.3]: 2000/10/04
258704:33:27 raph)
2588
2589Bring version numbers and dates up to date. Small bug fix in toolbin/pre to
2590make it able to handle months with leading zeros. (doc/C-style.htm [1.4],
2591doc/Helpers.htm [1.6], man/ps2ps.1 [1.7]: 2000/10/04 05:18:54 raph)
2592
2593</pre><h2><a name="6.30 Procedures"></a>Procedures</h2><pre>
2594
2595Fixes problems:
2596	- The PostScript image writing drivers (psmono/gray/rgb) didn't set
2597the page size in the output, and didn't produce DSC-compliant output.
2598(devs.mak [1.31]: 2000/08/09 06:55:45 lpd)
2599	- The FlateEncode and zlibEncode filters didn't implement the
2600"Effort" parameter. (fix from Alex Cherepanov) (int.mak [1.28]: 2000/08/09
260116:55:24 lpd)
2602	- Because "-" as an OutputFile now references the %stdout IODevice,
2603it no longer worked in configurations without a PostScript interpreter.
2604Fixing this required factoring out the stdin/out/err IODevices and providing
2605an implementation that didn't reference the PostScript interpreter.
2606(int.mak [1.32], lib.mak [1.34], ugcclib.mak [1.3]: 2000/09/07 06:14:45 lpd)
2607	- Configurations including PDF but not PostScript didn't include all
2608the PostScript LL3 features needed to interpret PDF 1.3 et seq.
2609(int.mak [1.33]: 2000/09/07 06:35:06 lpd)
2610	- Cleans up some missing and incorrect dependencies.
2611(devs.mak [1.33], int.mak [1.34], lib.mak [1.35]: 2000/09/11 04:43:09 lpd)
2612	- The definition of PSRCDIR was inconsistent with the definition of
2613PVERSION. (openvms.mak [1.5]: 2000/09/22 04:05:40 lpd)
2614	- The pgnm and pnm drivers didn't properly detect the presence of
2615gray shades or color in images, sometimes causing gray or color information
2616to be lost in the output. (fix contributed by a user) (devs.mak [1.35]:
26172000/09/23 04:52:56 lpd)
2618
2619Initializes files for the 6.24 fileset. (version.mak [1.19]: 2000/08/09
262016:54:02 lpd)
2621
2622Adds a mention of the Color LaserJet 4500 as a color PCL XL printer.
2623(devs.mak [1.32]: 2000/08/17 20:43:50 lpd)
2624
2625Changes text to make it clear that Yves Arrouye no longer maintains the BJC
2626drivers that he wrote. (contrib.mak [1.19]: 2000/08/21 14:38:28 lpd)
2627
2628Puts the logic for detecting garbage after %%EOF (and some similar invalid
2629constructs) back into the main code, making it produce a message on stderr.
2630(unixinst.mak [1.12]: 2000/08/23 02:22:39 lpd)
2631
2632Starts to implement the PDF 1.4 transparency features. All API and operator
2633additions are now implemented (at least as stubs) and documented, as is
2634bookkeeping for the new scalar graphics state members (but not for the soft
2635masks or the transparency group stack). (int.mak [1.29], lib.mak [1.30]:
26362000/08/23 21:46:31 lpd)
2637
2638Adds a new equality-testing virtual procedure for color spaces.
2639(lib.mak [1.31]: 2000/08/24 05:42:30 lpd)
2640
2641Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.
2642and banding don't do the right thing yet. (int.mak [1.30],
2643version.mak [1.20]: 2000/08/25 01:46:48 lpd)
2644
2645Brings the (still mostly stubbed) transparency code to a more
2646self-consistent state. (lib.mak [1.32]: 2000/08/30 01:34:40 lpd)
2647
2648Finishes the code for parsing ImageType 103 (soft-mask) images.
2649(int.mak [1.31], lib.mak [1.33]: 2000/08/30 04:30:05 lpd)
2650
2651*** empty log message *** (int.mak [1.35]: 2000/09/14 19:46:05 alexcher)
2652
2653Undoes uncommented and in some cases inappropriate changes. (int.mak [1.36]:
26542000/09/18 06:28:58 lpd)
2655
2656Updates license notices to reference the AFPL (like the rest of Ghostscript)
2657rather than simply saying "All rights reserved". (toolbin/3way.tcl [1.2],
2658toolbin/cvs2hist.py [1.2], toolbin/errlist.tcl [1.2],
2659toolbin/gsindent [1.2], toolbin/gsmake.tcl [1.4], toolbin/headers.tcl [1.2],
2660toolbin/leaks.tcl [1.2], toolbin/makegnu.tcl [1.2],
2661toolbin/makeset.tcl [1.4], toolbin/pre [1.6], toolbin/precheck.tcl [1.2],
2662toolbin/suite.tcl [1.2], toolbin/tmake.tcl [1.2]: 2000/09/19 17:30:25 lpd)
2663
2664Updates the license notices to reflect the name change from Aladdin
2665Ghostscript to AFPL Ghostscript, and changes internal references in various
2666scripts. (toolbin/3way.tcl [1.3], toolbin/cvs2hist.py [1.3],
2667toolbin/errlist.tcl [1.3], toolbin/gsindent [1.3], toolbin/gsmake.tcl [1.5],
2668toolbin/headers.tcl [1.3], toolbin/leaks.tcl [1.3],
2669toolbin/makegnu.tcl [1.3], toolbin/makeset.tcl [1.5], toolbin/pre [1.7],
2670toolbin/precheck.tcl [1.3], toolbin/suite.tcl [1.3],
2671toolbin/tmake.tcl [1.3]: 2000/09/19 18:10:51 lpd)
2672
2673Updates the license notices to reflect the name change from Aladdin
2674Ghostscript to AFPL Ghostscript, as well as some internal references to the
2675program name. (all-arch.mak [1.5], bcwin32.mak [1.3], cfonts.mak [1.2],
2676contrib.mak [1.20], devs.mak [1.34], dvx-gcc.mak [1.4], dvx-head.mak [1.2],
2677dvx-tail.mak [1.3], dwmain.rc [1.2], dwsetup.def [1.2], dwsetup.rc [1.2],
2678dwuninst.def [1.2], dwuninst.rc [1.3]: 2000/09/19 19:00:08 lpd)
2679
2680Updates the license notices to reflect the name change from Aladdin
2681Ghostscript to AFPL Ghostscript, as well as some internal references to the
2682program name. (gs.mak [1.2], gs16spl.rc [1.2], gsdll2.rc [1.2],
2683gsdll32.rc [1.2]: 2000/09/19 19:00:25 lpd)
2684
2685Updates the license notices to reflect the name change from Aladdin
2686Ghostscript to AFPL Ghostscript, as well as some internal references to the
2687program name. (gsos2.rc [1.2], gspmdrv.rc [1.2]: 2000/09/19 19:00:30 lpd)
2688
2689Updates the license notices to reflect the name change from Aladdin
2690Ghostscript to AFPL Ghostscript, as well as some internal references to the
2691program name. (gswin.rc [1.2]: 2000/09/19 19:00:33 lpd)
2692
2693Updates the license notices to reflect the name change from Aladdin
2694Ghostscript to AFPL Ghostscript, as well as some internal references to the
2695program name. (int.mak [1.37], jpeg.mak [1.3], lib.mak [1.36],
2696libpng.mak [1.2], msvc32.mak [1.5], msvccmd.mak [1.5], msvclib.mak [1.5],
2697msvctail.mak [1.4], openvms.mak [1.4], openvms.mmk [1.5], os2.mak [1.7],
2698pcwin.mak [1.2]: 2000/09/19 19:00:45 lpd)
2699
2700Updates the license notices to reflect the name change from Aladdin
2701Ghostscript to AFPL Ghostscript, as well as some internal references to the
2702program name. (ugcclib.mak [1.4], unix-aux.mak [1.3], unix-end.mak [1.2],
2703unix-gcc.mak [1.7], unixansi.mak [1.5], unixhead.mak [1.2],
2704unixinst.mak [1.13], unixlink.mak [1.2], unixtrad.mak [1.5],
2705version.mak [1.21], watc.mak [1.5], watclib.mak [1.5], watcw32.mak [1.4],
2706wccommon.mak [1.3], wctail.mak [1.2], winint.mak [1.5], winlib.mak [1.4],
2707winplat.mak [1.2], wmin.mak [1.2], zlib.mak [1.2]: 2000/09/19 19:00:52 lpd)
2708
2709Add commands to make the target GLGENDIR and BINDIR directories so that a
2710clean build works automatically. (msvctail.mak [1.5]: 2000/09/21 15:14:37
2711rayjj)
2712
2713Changes the default Windows installation directory from c:\Aladdin to c:\gs.
2714(dwsetup.rc [1.3]: 2000/09/22 05:32:17 lpd)
2715
2716Changes the default Windows Start Menu Folder from "Aladdin" to
2717"Ghostscript". (dwsetup.rc [1.4]: 2000/09/22 05:35:02 lpd)
2718
2719Updates the makefiles from libpng version 1.0.5 to 1.0.8.
2720(all-arch.mak [1.6], bcwin32.mak [1.4], dvx-gcc.mak [1.5], libpng.mak [1.3],
2721msvc32.mak [1.6], msvclib.mak [1.6], openvms.mak [1.6], openvms.mmk [1.6],
2722os2.mak [1.8], ugcclib.mak [1.5], unix-gcc.mak [1.8], unixansi.mak [1.6],
2723unixtrad.mak [1.6], watc.mak [1.6], watclib.mak [1.6], watcw32.mak [1.5]:
27242000/09/25 15:06:28 lpd)
2725
2726Documentation changes in preparation for 6.30 release. Replaced some contact
2727information, updated version numbers. (version.mak [1.22]: 2000/10/04
272804:33:29 raph)
2729
2730Bring version numbers and dates up to date. Small bug fix in toolbin/pre to
2731make it able to handle months with leading zeros. (toolbin/pre [1.8]:
27322000/10/04 05:18:54 raph)
2733
2734</pre><h2><a name="6.30 Utilities"></a>Utilities</h2><pre>
2735
2736Fixes problems:
2737	- ps2pdf13.cmd set the output PDF version to 1.2 rather than 1.3.
2738(lib/ps2pdf13.cmd [1.2]: 2000/09/10 19:32:44 lpd)
2739	- The OpenVMS Fontmap had gotten badly out of date; specifically, it
2740didn't reference the URW++ fonts distributed with Ghostscript.
2741(lib/Fontmap.VMS [1.2]: 2000/09/22 03:30:21 lpd)
2742
2743Puts the logic for detecting garbage after %%EOF (and some similar invalid
2744constructs) back into the main code, making it produce a message on stderr.
2745(lib/pdfeof.ps [1.2]: 2000/08/23 02:22:39 lpd)
2746
2747Adds script / batch / command files for producing PDF 1.4 output.
2748(lib/ps2pdf14 [1.1], lib/ps2pdf14.bat [1.1], lib/ps2pdf14.cmd [1.1]:
27492000/09/10 19:33:47 lpd)
2750
2751Updates the license notices to reflect the name change from Aladdin
2752Ghostscript to AFPL Ghostscript, and changes a few other internal
2753references. (lib/Fontmap.ATB [1.2], lib/Fontmap.ATM [1.2],
2754lib/Fontmap.GS [1.2], lib/Fontmap.OS2 [1.2], lib/Fontmap.SGI [1.2],
2755lib/Fontmap.Sol [1.2], lib/Fontmap.Ult [1.2], lib/addxchar.ps [1.2],
2756lib/afmdiff.awk [1.2], lib/align.ps [1.2], lib/bdftops.ps [1.2],
2757lib/caption.ps [1.2], lib/cbjc600.ppd [1.2], lib/cbjc800.ppd [1.2],
2758lib/cid2code.ps [1.2], lib/docie.ps [1.2], lib/errpage.ps [1.2],
2759lib/font2c.ps [1.2], lib/font2pcl.ps [1.2], lib/gslp.ps [1.2],
2760lib/gsnup.ps [1.2], lib/image-qa.ps [1.2], lib/impath.ps [1.2],
2761lib/jispaper.ps [1.2], lib/lines.ps [1.2], lib/markhint.ps [1.2],
2762lib/markpath.ps [1.2], lib/packfile.ps [1.2], lib/pcharstr.ps [1.2],
2763lib/pdf2dsc.ps [1.2], lib/pdfopt.ps [1.3], lib/pdfwrite.ps [1.3],
2764lib/pfbtopfa.ps [1.2], lib/ppath.ps [1.2], lib/ps2ai.ps [1.2],
2765lib/ps2ascii.ps [1.2], lib/ps2epsi [1.4], lib/ps2epsi.ps [1.4],
2766lib/showchar.ps [1.2], lib/stcinfo.ps [1.2], lib/stcolor.ps [1.2],
2767lib/stocht.ps [1.3], lib/traceimg.ps [1.2], lib/traceop.ps [1.2],
2768lib/type1enc.ps [1.2], lib/type1ops.ps [1.2], lib/uninfo.ps [1.2],
2769lib/unprot.ps [1.2], lib/viewcmyk.ps [1.2], lib/viewgif.ps [1.2],
2770lib/viewmiff.ps [1.2], lib/viewpbm.ps [1.2], lib/viewpcx.ps [1.2],
2771lib/viewps2a.ps [1.2], lib/wftopfa.ps [1.2], lib/winmaps.ps [1.2],
2772lib/wrfont.ps [1.2], lib/zeroline.ps [1.2]: 2000/09/19 18:29:11 lpd)
2773
2774Updates the license notices to reflect the name change from Aladdin
2775Ghostscript to AFPL Ghostscript, as well as some internal references to the
2776program name. (bench.c [1.3], echogs.c [1.2]: 2000/09/19 19:00:08 lpd)
2777
2778Updates the license notices to reflect the name change from Aladdin
2779Ghostscript to AFPL Ghostscript, as well as some internal references to the
2780program name. (genarch.c [1.2], genconf.c [1.3], gendev.c [1.2],
2781genht.c [1.2], geninit.c [1.3], gp_dvx.c [1.2], gp_iwatc.c [1.4],
2782gp_mktmp.c [1.2], gp_mshdl.c [1.2], gp_msio.c [1.2], gp_mslib.c [1.2],
2783gp_mswin.c [1.3], gp_ntfs.c [1.4], gp_os2.c [1.4], gp_os9.c [1.3],
2784gp_sysv.c [1.2], gp_unix.c [1.3], gp_vms.c [1.4], gp_wgetv.c [1.3],
2785gp_win32.c [1.2], gp_wsync.c [1.2], gs16spl.c [1.2]: 2000/09/19 19:00:23
2786lpd)
2787
2788Updates the license notices to reflect the name change from Aladdin
2789Ghostscript to AFPL Ghostscript, as well as some internal references to the
2790program name. (gsdll.c [1.3], gserver.c [1.2]: 2000/09/19 19:00:27 lpd)
2791
2792Updates the license notices to reflect the name change from Aladdin
2793Ghostscript to AFPL Ghostscript, as well as some internal references to the
2794program name. (gspmdrv.c [1.2]: 2000/09/19 19:00:31 lpd)
2795
2796Updates the license notices to reflect the name change from Aladdin
2797Ghostscript to AFPL Ghostscript, as well as some internal references to the
2798program name. (scfdgen.c [1.2]: 2000/09/19 19:00:48 lpd)
2799
2800Updates the license notices to reflect the name change from Aladdin
2801Ghostscript to AFPL Ghostscript, as well as some internal references to the
2802program name. (zdosio.c [1.2]: 2000/09/19 19:00:53 lpd)
2803
2804When GSC environment variable is not set, gssetgs.bat fails to set it, which
2805makes ps2pdf.bat and several other scripts fail on Windows NT 4.0 with the
2806following misleading error message: "_.at" This file doesn't have a program
2807associated with it ... This change fixes the problem.
2808(lib/gssetgs.bat [1.2]: 2000/10/01 15:25:37 alexcher)
2809
2810</pre><h2><a name="6.30 Drivers"></a>Drivers</h2><pre>
2811
2812Fixes problems:
2813	- The PostScript image writing drivers (psmono/gray/rgb) didn't set
2814the page size in the output, and didn't produce DSC-compliant output.
2815(gdevps.c [1.11], gdevpsci.c [1.2], gdevpsim.c [1.3], gdevpsu.c [1.1],
2816gdevpsu.h [1.1]: 2000/08/09 06:55:45 lpd)
2817	- the user-contributed cfax driver didn't correctly handle page
2818widths other than the standard fax widths, and didn't write the required
2819end-of-document marker. (gdevcfax.c [1.2]: 2000/08/17 04:43:25 lpd)
2820	- Setting parameters for the PS/PDF writer reset any unspecified
2821*Dict parameter dictionaries to the empty dictionary, rather than leaving
2822them alone. (gdevpsdp.c [1.6]: 2000/08/18 03:18:59 lpd)
2823	- BJC printers with different X and Y resolution produced incorrect
2824output. Also removes the comment asking users to report problems to Yves
2825Arrouye, since he no longer maintains this code. (gdevcdj.c [1.3]:
28262000/08/21 14:43:17 lpd)
2827	- The emulation of XPutImage (Ghostscript*useXPutImage: 0) was
2828broken. (gdevx.c [1.6]: 2000/08/21 17:23:26 lpd)
2829	- Dictionary-valued device parameters for high-level devices could
2830be freed while the device still referred to them. (gdevpsdp.c [1.7]:
28312000/08/31 15:55:46 lpd)
2832	- Cleans up some missing and incorrect dependencies.
2833(gdevsco.c [1.2]: 2000/09/11 04:43:09 lpd)
2834	- Works around a gcc code generation bug that sometimes caused gray
2835colors to be written out as RGB in PDF files. (Minor performance issue
2836only.) (gdevpsdu.c [1.6]: 2000/09/11 21:12:12 lpd)
2837	- The pgnm and pnm drivers didn't properly detect the presence of
2838gray shades or color in images, sometimes causing gray or color information
2839to be lost in the output. (fix contributed by a user) (gdevpbm.c [1.3]:
28402000/09/23 04:52:57 lpd)
2841
2842In the X Windows driver, changes XFlush() to XSync(False) so that updates
2843will actually complete before the command prompt appears. (gdevx.c [1.5],
2844gdevxini.c [1.8]: 2000/08/19 03:31:44 lpd)
2845
2846Updates the license notices to reflect the name change from Aladdin
2847Ghostscript to AFPL Ghostscript, as well as some internal references to the
2848program name. (gdev3852.c [1.2], gdev3b1.c [1.2], gdev4081.c [1.2],
2849gdev8510.c [1.2], gdev8bcm.c [1.2], gdev8bcm.h [1.2], gdevadmp.c [1.2],
2850gdevatx.c [1.6], gdevbit.c [1.2], gdevbj10.c [1.3], gdevbjc.h [1.2],
2851gdevbjcl.c [1.2], gdevbjcl.h [1.2], gdevbmp.c [1.3], gdevbmp.h [1.2],
2852gdevbmpa.c [1.3], gdevbmpc.c [1.2], gdevccr.c [1.2], gdevcdj.c [1.4],
2853gdevcfax.c [1.3], gdevcgm.c [1.2], gdevcgml.c [1.2], gdevcgml.h [1.2],
2854gdevcgmx.h [1.2], gdevcif.c [1.2], gdevclj.c [1.2], gdevcljc.c [1.2],
2855gdevcp50.c [1.2], gdevcslw.c [1.2], gdevdcrd.c [1.2], gdevdcrd.h [1.2],
2856gdevdfax.c [1.3], gdevdjet.c [1.6], gdevdjtc.c [1.2], gdevdljm.c [1.4],
2857gdevdljm.h [1.4], gdevdm24.c [1.2], gdevegaa.asm [1.2], gdevepsc.c [1.2],
2858gdevepsn.c [1.2], gdevescp.c [1.2], gdevevga.c [1.2], gdevfax.c [1.2],
2859gdevfax.h [1.2], gdevherc.c [1.2], gdevhl7x.c [1.3], gdevimgn.c [1.2],
2860gdevjpeg.c [1.2], gdevl256.c [1.3], gdevl31s.c [1.2], gdevlbp8.c [1.2],
2861gdevlj56.c [1.2], gdevlp8k.c [1.2], gdevlxm.c [1.2], gdevmeds.c [1.2]:
28622000/09/19 19:00:11 lpd)
2863
2864Updates the license notices to reflect the name change from Aladdin
2865Ghostscript to AFPL Ghostscript, as well as some internal references to the
2866program name. (gdevmeds.h [1.2], gdevmgr.c [1.2], gdevmgr.h [1.2],
2867gdevmiff.c [1.2], gdevmswn.c [1.2], gdevmswn.h [1.2], gdevmsxf.c [1.2],
2868gdevn533.c [1.2], gdevo182.c [1.2], gdevokii.c [1.2], gdevos2p.c [1.3],
2869gdevp2up.c [1.2], gdevpbm.c [1.2], gdevpccm.c [1.2], gdevpccm.h [1.3],
2870gdevpcfb.c [1.2], gdevpcfb.h [1.2], gdevpcl.c [1.4]: 2000/09/19 19:00:14
2871lpd)
2872
2873Updates the license notices to reflect the name change from Aladdin
2874Ghostscript to AFPL Ghostscript, as well as some internal references to the
2875program name. (gdevpcl.h [1.4], gdevpcx.c [1.2], gdevpe.c [1.2]: 2000/09/19
287619:00:17 lpd)
2877
2878Updates the license notices to reflect the name change from Aladdin
2879Ghostscript to AFPL Ghostscript, as well as some internal references to the
2880program name. (gdevphex.c [1.2], gdevpjet.c [1.2], gdevpm.c [1.2],
2881gdevpm.h [1.2], gdevpng.c [1.3], gdevps.c [1.12], gdevpsdf.h [1.8],
2882gdevpsdi.c [1.12], gdevpsdp.c [1.8], gdevpsds.c [1.4], gdevpsds.h [1.4],
2883gdevpsdu.c [1.7], gdevpsim.c [1.4], gdevpsu.c [1.2], gdevpsu.h [1.2],
2884gdevpx.c [1.4], gdevpxat.h [1.3], gdevpxen.h [1.3], gdevpxop.h [1.2],
2885gdevpxut.c [1.2], gdevpxut.h [1.2], gdevs3ga.c [1.2], gdevsco.c [1.3],
2886gdevsj48.c [1.2], gdevsnfb.c [1.2], gdevsppr.c [1.2], gdevstc.c [1.2],
2887gdevstc.h [1.2], gdevstc1.c [1.2], gdevstc2.c [1.2], gdevstc3.c [1.2],
2888gdevstc4.c [1.2], gdevsun.c [1.2]: 2000/09/19 19:00:20 lpd)
2889
2890Updates the license notices to reflect the name change from Aladdin
2891Ghostscript to AFPL Ghostscript, as well as some internal references to the
2892program name. (gdevsunr.c [1.2], gdevsvga.c [1.2], gdevsvga.h [1.2],
2893gdevtfax.c [1.4], gdevtfax.h [1.4], gdevtfnx.c [1.3], gdevtifs.c [1.3],
2894gdevtifs.h [1.3], gdevtknk.c [1.2], gdevupd.c [1.3], gdevvglb.c [1.3],
2895gdevwddb.c [1.2], gdevwdib.c [1.2], gdevwpr2.c [1.5], gdevwprn.c [1.2],
2896gdevx.c [1.7], gdevx.h [1.4], gdevxalt.c [1.2], gdevxcmp.c [1.2],
2897gdevxcmp.h [1.2], gdevxini.c [1.9], gdevxres.c [1.3], gdevxxf.c [1.5]:
28982000/09/19 19:00:23 lpd)
2899
2900Updates the license notices to reflect the name change from Aladdin
2901Ghostscript to AFPL Ghostscript, as well as some internal references to the
2902program name. (png_.h [1.2]: 2000/09/19 19:00:47 lpd)
2903
2904Updates the license notices to reflect the name change from Aladdin
2905Ghostscript to AFPL Ghostscript, as well as some internal references to the
2906program name. (x_.h [1.2]: 2000/09/19 19:00:52 lpd)
2907
2908</pre><h2><a name="6.30 PDF writer"></a>PDF writer</h2><pre>
2909
2910Fixes problems:
2911	- The SrcPg entry in ANN pdfmarks was (effectively) ignored. (bug
2912introduced between 5.50 and 6.01.) (gdevpdfm.c [1.5]: 2000/08/31 18:49:59
2913lpd)
2914	- When CompatibilityLevel < 1.4, transparency was ignored rather
2915than being rendered explicitly. (gdevpdfg.c [1.9]: 2000/09/11 21:13:49 lpd)
2916
2917Works around the bug in Acrobat Reader (all versions) that apparently treats
2918stroked fonts as filled fonts, ignoring the PaintType. (gdevpdft.c [1.15]:
29192000/08/31 03:23:26 lpd)
2920
2921Adds the ability to write some PDF 1.4 constructs: graphics state parameters
2922AIS, BM, ca/CA, and TK, and images with soft masks (except for Matte).
2923(gdevpdfg.c [1.8], gdevpdfg.h [1.8], gdevpdfi.c [1.18]: 2000/09/11 02:14:09
2924lpd)
2925
2926Adds the ability to write PDF 1.4 soft-masked images. (gdevpdfi.c [1.19],
2927gdevpdfo.c [1.4], gdevpdfo.h [1.4], gdevpdfv.c [1.2]: 2000/09/11 04:10:42
2928lpd)
2929
2930Replaces "Distiller" with our program name in the Info Producer string.
2931(gdevpdf.c [1.20], gdevpdfm.c [1.6], gdevpdfu.c [1.11], gdevpdfx.h [1.21]:
29322000/09/12 02:03:35 lpd)
2933
2934Updates the license notices to reflect the name change from Aladdin
2935Ghostscript to AFPL Ghostscript, as well as some internal references to the
2936program name. (gdevpdf.c [1.21], gdevpdfb.c [1.2], gdevpdfc.c [1.12],
2937gdevpdfd.c [1.10], gdevpdfe.c [1.4], gdevpdff.c [1.8], gdevpdff.h [1.4],
2938gdevpdfg.c [1.10], gdevpdfg.h [1.9], gdevpdfi.c [1.20], gdevpdfj.c [1.5],
2939gdevpdfm.c [1.7], gdevpdfo.c [1.5], gdevpdfo.h [1.5], gdevpdfp.c [1.10],
2940gdevpdfr.c [1.4], gdevpdft.c [1.16], gdevpdfu.c [1.12], gdevpdfv.c [1.3],
2941gdevpdfw.c [1.5], gdevpdfx.h [1.22]: 2000/09/19 19:00:17 lpd)
2942
2943</pre><h2><a name="6.30 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre>
2944
2945Fixes problems:
2946	- PDF files with embedded CID fonts with FontName != BaseFont
2947(prohibited by the PDF specification, but produced by some Adobe software)
2948caused an error. (lib/pdf_font.ps [1.11], lib/pdf_ops.ps [1.8]: 2000/08/08
294922:29:12 lpd)
2950	- Setting the color (fill or stroke) sometimes overwrote the color
2951associated with an outer gsave level. (lib/pdf_ops.ps [1.9]: 2000/08/24
295201:55:37 lpd)
2953	- The PDF text rendering modes that included clipping (modes 4-7)
2954didn't work. The fix is a bit of a hack, but it's much closer to being
2955right. (lib/pdf_ops.ps [1.12]: 2000/08/31 02:05:55 lpd)
2956	- The new code for detecting whether a page used any transparency
2957features could cause an error. (lib/pdf_main.ps [1.14]: 2000/09/10 18:48:26
2958lpd)
2959	- Filters with indirect object parameters caused an error. (Fix from
2960Artifex.) (lib/pdf_base.ps [1.9]: 2000/09/14 00:38:05 lpd)
2961	- The page dictionary was left on the operand stack while the page
2962was being rendered, causing the sc[n]/SC[N] operators to give an error if
2963the color consisted of only a single value. (bug introduced after 6.23)
2964(lib/pdf_main.ps [1.18]: 2000/09/18 06:38:38 lpd)
2965
2966Puts the logic for detecting garbage after %%EOF (and some similar invalid
2967constructs) back into the main code, making it produce a message on stderr.
2968(lib/pdf_main.ps [1.11]: 2000/08/23 02:22:39 lpd)
2969
2970Implements the op, OP, and OPM (overprint control) elements of ExtGStates.
2971(lib/pdf_draw.ps [1.17], lib/pdf_ops.ps [1.10]: 2000/08/24 02:26:52 lpd)
2972
2973Implements the new PDF 1.4 scalar graphics state parameters (ca, CA, SMask,
2974AIS, BM, TK). The implementation of SMask is a stub.
2975(lib/pdf_draw.ps [1.18], lib/pdf_ops.ps [1.11]: 2000/08/24 03:04:29 lpd)
2976
2977If a PDF file is invalid but repairable, prints out the Producer as part of
2978the warning message. (lib/pdf_main.ps [1.12]: 2000/08/24 04:18:40 lpd)
2979
2980Adds most of the code needed to support PDF 1.4 transparency groups and soft
2981masks in the graphics state. (lib/pdf_draw.ps [1.19], lib/pdf_ops.ps [1.13]:
29822000/09/08 04:54:10 lpd)
2983
2984Implements another chunk of the PDF 1.4 transparency features, fixing some
2985bugs in the previous code. (lib/pdf_draw.ps [1.20], lib/pdf_main.ps [1.13],
2986lib/pdf_ops.ps [1.14]: 2000/09/10 05:26:27 lpd)
2987
2988Moves the Matte entry of soft mask images from the main structure to the
2989mask structures, and changes Matted to has_Matte. (lib/pdf_draw.ps [1.21]:
29902000/09/11 04:08:13 lpd)
2991
2992Renders pages that use any transparency features as transparency groups.
2993(lib/pdf_main.ps [1.15]: 2000/09/12 20:36:23 lpd)
2994
2995*** empty log message *** (lib/pdf_main.ps [1.16]: 2000/09/15 03:51:54
2996alexcher)
2997
2998Undoes uncommented and in some cases inappropriate changes.
2999(lib/pdf_main.ps [1.17]: 2000/09/18 06:28:58 lpd)
3000
3001Updates the license notices to reflect the name change from Aladdin
3002Ghostscript to AFPL Ghostscript, and changes a few other internal
3003references. (lib/pdf_base.ps [1.10], lib/pdf_draw.ps [1.22],
3004lib/pdf_font.ps [1.12], lib/pdf_main.ps [1.19], lib/pdf_ops.ps [1.15],
3005lib/pdf_sec.ps [1.2]: 2000/09/19 18:29:11 lpd)
3006
3007</pre><h2><a name="6.30 Interpreter"></a>Interpreter</h2><pre>
3008
3009Fixes problems:
3010	- The FlateEncode and zlibEncode filters didn't implement the
3011"Effort" parameter. (fix from Alex Cherepanov) (zfzlib.c [1.2]: 2000/08/09
301216:55:25 lpd)
3013	- The *ACSImageDict parameter dictionaries weren't being set for the
3014/default configuration; the *ACSImageDict parameters were never recognized,
3015because their names were spelled incorrectly as *ACSDict. (Two separate
3016bugs.) (lib/gs_pdfwr.ps [1.5]: 2000/08/18 03:20:12 lpd)
3017	- When given an array of the wrong size, a number of operators
3018produced a limitcheck error rather than a rangecheck. (idparam.c [1.2],
3019idparam.h [1.2], zcie.c [1.3], zfont1.c [1.7], zfunc.c [1.5],
3020zfunc0.c [1.2], zimage2.c [1.2], zimage3.c [1.2], zpcolor.c [1.2],
3021zshade.c [1.3]: 2000/08/23 01:45:08 lpd)
3022	- The stub implementations of .{set,current}{opacity,shape}mask
3023didn't {pop the argument}{push null}. (ztrans.c [1.2]: 2000/08/24 03:03:18
3024lpd)
3025	- The BeOS C compiler objected to some int/bool mismatches.
3026(icontext.c [1.5]: 2000/08/31 03:51:29 lpd)
3027	- If changing LanguageLevels caused a dictionary to grow, memory
3028could be corrupted. (zmisc2.c [1.2]: 2000/08/31 14:43:58 lpd)
3029	- Because "-" as an OutputFile now references the %stdout IODevice,
3030it no longer worked in configurations without a PostScript interpreter.
3031Fixing this required factoring out the stdin/out/err IODevices and providing
3032an implementation that didn't reference the PostScript interpreter.
3033(ziodev.c [1.2], ziodevs.c [1.1]: 2000/09/07 06:14:45 lpd)
3034	- .LocalDefaults was stored in a local array in the (global)
3035ColorSpace category dictionary, causing memory anomalies with multiple
3036contexts. (lib/gs_ll3.ps [1.6], lib/gs_res.ps [1.13]: 2000/09/20 07:15:11
3037lpd)
3038	- A missing cast caused the picky OpenVMS compiler to complain.
3039(zdevcal.c [1.3]: 2000/09/22 04:18:17 lpd)
3040	- Attempting to show an undefined character code in a TrueType font
3041with no .notdef entry caused an error. (lib/gs_ttf.ps [1.8]: 2000/09/23
304218:47:06 lpd)
3043
3044Initializes files for the 6.24 fileset. (lib/gs_init.ps [1.21]: 2000/08/09
304516:54:02 lpd)
3046
3047Adds the PDF "overprint mode" to the graphics state. THE ACTUAL
3048FUNCTIONALITY IS NOT IMPLEMENTED YET. (zcssepr.c [1.4]: 2000/08/23 17:54:16
3049lpd)
3050
3051Starts to implement the PDF 1.4 transparency features. All API and operator
3052additions are now implemented (at least as stubs) and documented, as is
3053bookkeeping for the new scalar graphics state members (but not for the soft
3054masks or the transparency group stack). (ztrans.c [1.1]: 2000/08/23 21:46:31
3055lpd)
3056
3057Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.
3058and banding don't do the right thing yet. (igstate.h [1.2], ztrans.c [1.3]:
30592000/08/25 01:46:48 lpd)
3060
3061Implements some minor improvements to the freelist algorithms that can
3062produce nearly a factor of 2 speedup in some allocation-intensive
3063situations. (isave.c [1.2]: 2000/08/26 03:21:34 lpd)
3064
3065Brings the (still mostly stubbed) transparency code to a more
3066self-consistent state. (ztrans.c [1.4]: 2000/08/30 01:34:40 lpd)
3067
3068Finishes the code for parsing ImageType 103 (soft-mask) images.
3069(ztrans.c [1.5]: 2000/08/30 04:30:06 lpd)
3070
3071Completes the parsing of .{begin,end}transparency{group,mask}, except for
3072the TransferFunction for masks. The specification is still subject to
3073change. (ztrans.c [1.6]: 2000/08/30 15:03:36 lpd)
3074
3075*Really* finishes the transparency rendering stack operators (the previous
3076version didn't even compile), except for TransferFunction. (ztrans.c [1.7]:
30772000/08/30 21:11:55 lpd)
3078
3079Implements another chunk of the PDF 1.4 transparency features, fixing some
3080bugs in the previous code. (lib/gs_ll3.ps [1.4], ztrans.c [1.8]: 2000/09/10
308105:26:27 lpd)
3082
3083Checks that the TransferFunction of a soft mask is 1-in, 1-out; sets Matted
3084correctly in the soft mask parameters passed to the graphics library.
3085(ztrans.c [1.9]: 2000/09/11 02:10:28 lpd)
3086
3087Moves the Matte entry of soft mask images from the main structure to the
3088mask structures, and changes Matted to has_Matte. (ztrans.c [1.10]:
30892000/09/11 04:08:13 lpd)
3090
3091Upgrades the proposed driver interface transparency extension from comments
3092to macros, changing the name 'discard_transparency_level' to
3093'discard_transparency_layer'. (ztrans.c [1.11]: 2000/09/11 20:13:31 lpd)
3094
3095*** empty log message *** (lib/gs_init.ps [1.22], zmatrix.c [1.2]:
30962000/09/14 19:46:05 alexcher)
3097
3098Undoes uncommented and in some cases inappropriate changes.
3099(lib/gs_init.ps [1.23], zmatrix.c [1.3]: 2000/09/18 06:28:58 lpd)
3100
3101Updates the license notice to reflect the name change from Aladdin
3102Ghostscript to AFPL Ghostscript. (examples/waterfal.ps [1.2]: 2000/09/19
310318:03:40 lpd)
3104
3105Updates the license notices to reflect the name change from Aladdin
3106Ghostscript to AFPL Ghostscript, and changes a few other internal
3107references. (lib/gs_agl.ps [1.2], lib/gs_btokn.ps [1.3],
3108lib/gs_ccfnt.ps [1.4], lib/gs_ce_e.ps [1.2], lib/gs_cff.ps [1.7],
3109lib/gs_cidfn.ps [1.17], lib/gs_cmap.ps [1.6], lib/gs_cmdl.ps [1.2],
3110lib/gs_css_e.ps [1.2], lib/gs_dbt_e.ps [1.2], lib/gs_diskf.ps [1.2],
3111lib/gs_dpnxt.ps [1.2], lib/gs_dps.ps [1.4], lib/gs_dps1.ps [1.2],
3112lib/gs_dps2.ps [1.2], lib/gs_epsf.ps [1.2], lib/gs_fform.ps [1.2],
3113lib/gs_fonts.ps [1.9], lib/gs_frsd.ps [1.4], lib/gs_il1_e.ps [1.2],
3114lib/gs_il2_e.ps [1.2], lib/gs_init.ps [1.24], lib/gs_kanji.ps [1.2],
3115lib/gs_ksb_e.ps [1.2], lib/gs_l2img.ps [1.2], lib/gs_lev2.ps [1.6],
3116lib/gs_lgo_e.ps [1.3], lib/gs_lgx_e.ps [1.2], lib/gs_ll3.ps [1.5],
3117lib/gs_mex_e.ps [1.2], lib/gs_mgl_e.ps [1.3], lib/gs_mro_e.ps [1.2],
3118lib/gs_pdf_e.ps [1.2], lib/gs_pdfwr.ps [1.6], lib/gs_pfile.ps [1.2],
3119lib/gs_rdlin.ps [1.2], lib/gs_res.ps [1.12], lib/gs_setpd.ps [1.5],
3120lib/gs_statd.ps [1.4], lib/gs_std_e.ps [1.2], lib/gs_sym_e.ps [1.2],
3121lib/gs_trap.ps [1.3], lib/gs_ttf.ps [1.7], lib/gs_typ32.ps [1.2],
3122lib/gs_typ42.ps [1.2], lib/gs_type1.ps [1.4], lib/gs_wan_e.ps [1.2],
3123lib/gs_wl1_e.ps [1.2], lib/gs_wl2_e.ps [1.2], lib/gs_wl5_e.ps [1.2]:
31242000/09/19 18:29:11 lpd)
3125
3126Updates the license notices to reflect the name change from Aladdin
3127Ghostscript to AFPL Ghostscript, as well as some internal references to the
3128program name. (bfont.h [1.3], btoken.h [1.4], ccfont.h [1.2],
3129dpmainc.c [1.2], dstack.h [1.2], dwdll.cpp [1.2], dwdll.h [1.2],
3130dwimg.cpp [1.2], dwimg.h [1.2], dwinst.cpp [1.2], dwinst.h [1.2],
3131dwmain.cpp [1.2], dwmain.h [1.2], dwmainc.cpp [1.3], dwnodll.cpp [1.2],
3132dwsetup.cpp [1.3], dwsetup.h [1.2], dwtext.cpp [1.2], dwtext.h [1.2],
3133dwuninst.cpp [1.2], dwuninst.h [1.2], errors.h [1.2], estack.h [1.2],
3134files.h [1.2]: 2000/09/19 19:00:09 lpd)
3135
3136Updates the license notices to reflect the name change from Aladdin
3137Ghostscript to AFPL Ghostscript, as well as some internal references to the
3138program name. (ghost.h [1.2], gs.c [1.2]: 2000/09/19 19:00:23 lpd)
3139
3140Updates the license notices to reflect the name change from Aladdin
3141Ghostscript to AFPL Ghostscript, as well as some internal references to the
3142program name. (ialloc.c [1.2], ialloc.h [1.2], iastate.h [1.2],
3143iastruct.h [1.2], ibnum.c [1.2], ibnum.h [1.2], iccfont.c [1.2],
3144iccinit0.c [1.2], icfontab.c [1.2], ichar.h [1.3], ichar1.h [1.3],
3145icharout.h [1.2], icid.h [1.2], icie.h [1.2], icolor.h [1.2], iconf.c [1.2],
3146icontext.c [1.6], icontext.h [1.2], icremap.h [1.2], icsmap.h [1.2],
3147icstate.h [1.4], iddict.h [1.2], iddstack.h [1.2], idebug.c [1.2],
3148idebug.h [1.2], idict.c [1.2], idict.h [1.2], idictdef.h [1.2],
3149idosave.h [1.2], idparam.c [1.3], idparam.h [1.3], idsdata.h [1.2],
3150idstack.c [1.2], idstack.h [1.2], iesdata.h [1.2], iestack.h [1.2],
3151ifcid.h [1.2], ifilter.h [1.3], ifilter2.h [1.2], ifont.h [1.4],
3152ifont1.h [1.3], ifont2.h [1.2], ifont42.h [1.3], ifrpred.h [1.2],
3153ifunc.h [1.3], ifwpred.h [1.2], igc.c [1.2]: 2000/09/19 19:00:41 lpd)
3154
3155Updates the license notices to reflect the name change from Aladdin
3156Ghostscript to AFPL Ghostscript, as well as some internal references to the
3157program name. (igc.h [1.2], igcref.c [1.2], igcstr.c [1.3], igcstr.h [1.2],
3158igstate.h [1.3], iht.h [1.2], iimage.h [1.2], iimage2.h [1.2],
3159iinit.c [1.2], iinit.h [1.2], ilevel.h [1.2], ilocate.c [1.3],
3160imain.c [1.2], imain.h [1.2], imainarg.c [1.4], imainarg.h [1.2],
3161imemory.h [1.2], iminst.h [1.2], iname.c [1.3], iname.h [1.2],
3162inamedef.h [1.2], inameidx.h [1.2], inames.h [1.2], inamestr.h [1.2],
3163inobtokn.c [1.2], inouparm.c [1.2], interp.c [1.6], interp.h [1.2],
3164iosdata.h [1.2], iostack.h [1.2], ipacked.h [1.2], iparam.c [1.5],
3165iparam.h [1.2], iparray.h [1.2], ipcolor.h [1.2], ireclaim.c [1.2],
3166iref.h [1.3], isave.c [1.3], isave.h [1.2], iscan.c [1.5], iscan.h [1.4],
3167iscanbin.c [1.5], iscanbin.h [1.2], iscannum.c [1.2], iscannum.h [1.2],
3168isdata.h [1.2], isstate.h [1.2], istack.c [1.2], istack.h [1.2],
3169istkparm.h [1.2], istream.h [1.2], istruct.h [1.2], itoken.h [1.2],
3170iutil.c [1.2], iutil.h [1.2], iutil2.c [1.2], iutil2.h [1.2],
3171ivmem2.h [1.2]: 2000/09/19 19:00:44 lpd)
3172
3173Updates the license notices to reflect the name change from Aladdin
3174Ghostscript to AFPL Ghostscript, as well as some internal references to the
3175program name. (ivmspace.h [1.2], main.h [1.2], oparc.h [1.2],
3176opcheck.h [1.2], opdef.h [1.2], oper.h [1.2], opextern.h [1.2],
3177ostack.h [1.2], sbhc.c [1.2], sbhc.h [1.2], sbwbs.c [1.2], sbwbs.h [1.2],
3178sfilter1.c [1.5]: 2000/09/19 19:00:47 lpd)
3179
3180Updates the license notices to reflect the name change from Aladdin
3181Ghostscript to AFPL Ghostscript, as well as some internal references to the
3182program name. (shcgen.c [1.2], shcgen.h [1.2], smtf.c [1.2], smtf.h [1.2],
3183store.h [1.2], zarith.c [1.4], zarray.c [1.2], zbfont.c [1.6],
3184zbseq.c [1.4], zcfont.c [1.2], zchar.c [1.3], zchar1.c [1.5],
3185zchar2.c [1.2], zchar32.c [1.2], zchar42.c [1.2], zcharout.c [1.2],
3186zcharx.c [1.3], zcid.c [1.3], zcie.c [1.4], zcolor.c [1.4]: 2000/09/19
318719:00:50 lpd)
3188
3189Updates the license notices to reflect the name change from Aladdin
3190Ghostscript to AFPL Ghostscript, as well as some internal references to the
3191program name. (zcolor1.c [1.3], zcolor2.c [1.3], zcontext.c [1.6],
3192zcontrol.c [1.3], zcrd.c [1.2], zcsdevn.c [1.3], zcsindex.c [1.3],
3193zcspixel.c [1.2], zcssepr.c [1.5], zdevcal.c [1.2], zdevice.c [1.3],
3194zdevice2.c [1.3], zdict.c [1.3], zdouble.c [1.2], zdpnext.c [1.2],
3195zdps.c [1.4], zdps1.c [1.2], zfbcp.c [1.3], zfcid.c [1.10], zfcid0.c [1.4],
3196zfcid1.c [1.2], zfcmap.c [1.8], zfdctd.c [1.3], zfdcte.c [1.3],
3197zfdecode.c [1.3], zfile.c [1.5], zfileio.c [1.9], zfilter.c [1.4],
3198zfilter2.c [1.3], zfilterx.c [1.2], zfmd5.c [1.2], zfont.c [1.2],
3199zfont0.c [1.3], zfont1.c [1.8], zfont2.c [1.3], zfont32.c [1.2],
3200zfont42.c [1.5], zfproc.c [1.4], zfrsd.c [1.4], zfunc.c [1.6],
3201zfunc0.c [1.3], zfunc3.c [1.2], zfunc4.c [1.5], zfzlib.c [1.3],
3202zgeneric.c [1.3], zgstate.c [1.2], zhsb.c [1.2], zht.c [1.2], zht1.c [1.2],
3203zht2.c [1.2], zimage.c [1.5], zimage2.c [1.3], zimage3.c [1.3],
3204ziodev.c [1.3], ziodev2.c [1.3], ziodevs.c [1.2], zmath.c [1.3],
3205zmatrix.c [1.4], zmedia2.c [1.2], zmisc.c [1.2], zmisc1.c [1.3],
3206zmisc2.c [1.3], zmisc3.c [1.2], zpacked.c [1.2], zpaint.c [1.2],
3207zpath.c [1.2], zpath1.c [1.2], zpcolor.c [1.3], zrelbit.c [1.2],
3208zrop.c [1.2], zshade.c [1.4], zstack.c [1.2], zstring.c [1.2],
3209zsysvm.c [1.2], ztoken.c [1.6], ztrans.c [1.12], ztrap.c [1.2],
3210ztype.c [1.3], zupath.c [1.2], zusparam.c [1.3], zvmem.c [1.2],
3211zvmem2.c [1.2]: 2000/09/19 19:00:53 lpd)
3212
3213Change to avoid multiply defined rect_param when NOPRIVATE is used. This
3214module uses 4 element X/Y/width/Height, not a gs_rect so xywh_param is a
3215better name. (zdpnext.c [1.3]: 2000/09/21 15:12:01 rayjj)
3216
3217Changes the default Windows installation directory from c:\Aladdin to c:\gs.
3218(dwsetup.cpp [1.4]: 2000/09/22 05:32:17 lpd)
3219
3220Changes the default Windows Start Menu Folder from "Aladdin" to
3221"Ghostscript". (dwsetup.cpp [1.5]: 2000/09/22 05:35:02 lpd)
3222
3223Documentation changes in preparation for 6.30 release. Replaced some contact
3224information, updated version numbers. (lib/gs_init.ps [1.25]: 2000/10/04
322504:33:29 raph)
3226
3227</pre><h2><a name="6.30 Streams"></a>Streams</h2><pre>
3228
3229Fixes problems:
3230	- s_add_filter used min_out_size rather than min_in_size for the
3231minimum buffer size, which could cause an endless loop when writing to the
3232filter. (This only affected filters allocated by C code, not by the
3233PostScript filter operator.) (stream.c [1.7], stream.h [1.6]: 2000/08/16
323401:26:22 lpd)
3235
3236Updates the license notices to reflect the name change from Aladdin
3237Ghostscript to AFPL Ghostscript, as well as some internal references to the
3238program name. (sa85d.c [1.2], sa85d.h [1.2], sa85x.h [1.3], sbcp.c [1.3],
3239sbcp.h [1.2], sbtx.h [1.2], scanchar.h [1.2], scantab.c [1.2], scf.h [1.2],
3240scfd.c [1.2], scfe.c [1.2], scfetab.c [1.2], scfparam.c [1.2], scfx.h [1.2],
3241scommon.h [1.2], sdcparam.c [1.2], sdcparam.h [1.2], sdct.h [1.2],
3242sdctc.c [1.2], sdctd.c [1.2], sdcte.c [1.2], sddparam.c [1.2],
3243sdeparam.c [1.2], seexec.c [1.3], sfilter.h [1.6], sfilter2.c [1.3],
3244sfxboth.c [1.2], sfxfd.c [1.5]: 2000/09/19 19:00:47 lpd)
3245
3246Updates the license notices to reflect the name change from Aladdin
3247Ghostscript to AFPL Ghostscript, as well as some internal references to the
3248program name. (sfxstdio.c [1.4], shc.c [1.2], shc.h [1.2], siinterp.c [1.2],
3249siinterp.h [1.2], siscale.c [1.4], siscale.h [1.2], sisparam.h [1.2],
3250sjpeg.h [1.2], sjpegc.c [1.2], sjpegd.c [1.2], sjpege.c [1.2],
3251slzwc.c [1.2], slzwce.c [1.2], slzwd.c [1.2], slzwx.h [1.2], smd5.c [1.3],
3252smd5.h [1.2], spdiff.c [1.3], spdiffx.h [1.2], spngp.c [1.2],
3253spngpx.h [1.2], spprint.c [1.2], spprint.h [1.2], spsdf.c [1.4],
3254spsdf.h [1.2], srdline.h [1.2], srld.c [1.2], srle.c [1.2], srlx.h [1.2],
3255sstring.c [1.2], sstring.h [1.2], stat_.h [1.5], std.h [1.3],
3256stdio_.h [1.2], stdpre.h [1.2], stream.c [1.8], stream.h [1.7],
3257strimpl.h [1.2], string_.h [1.2], szlibc.c [1.2], szlibd.c [1.2],
3258szlibe.c [1.2], szlibx.h [1.2], szlibxx.h [1.2]: 2000/09/19 19:00:50 lpd)
3259
3260</pre><h2><a name="6.30 Library"></a>Library</h2><pre>
3261
3262Fixes problems:
3263	- Parameter lists didn't have proper GC descriptors; garbage
3264collection could mangle keys and collection values in non-transient
3265parameter lists (such as distiller parameters). (gscparam.c [1.5]:
32662000/08/19 03:01:30 lpd)
3267	- gdev_vector_dopath could return 1, which value was then propagated
3268to callers that interpreted it differently. (gdevvec.c [1.5],
3269gdevvec.h [1.3]: 2000/08/20 00:21:42 lpd)
3270	- An AIX compiler could get confused if the last elements of a
3271structure were individual bytes. (gzpath.h [1.2]: 2000/08/24 19:43:48 lpd)
3272	- If the OutputFile of a high-level device was ever set, any
3273subsequent execution of setpagedevice would cause a rangecheck in
3274.installpagedevice. (gdevvec.c [1.6]: 2000/08/31 02:04:50 lpd)
3275	- Type 2 CharStrings didn't insert an explicit closepath at the end
3276of each subpath. (This matters for charpath followed by stroke.)
3277(gstype2.c [1.5]: 2000/08/31 02:16:45 lpd)
3278	- Type 2 fonts should insert an explicit closepath only if the
3279font's PaintType != 1. (gstype2.c [1.6]: 2000/08/31 03:21:45 lpd)
3280	- The BeOS C compiler objected to some int/bool mismatches.
3281(gp.h [1.4], gxfill.c [1.4], gxtext.h [1.2]: 2000/08/31 03:51:29 lpd)
3282	- Because "-" as an OutputFile now references the %stdout IODevice,
3283it no longer worked in configurations without a PostScript interpreter.
3284Fixing this required factoring out the stdin/out/err IODevices and providing
3285an implementation that didn't reference the PostScript interpreter.
3286(gsiodevs.c [1.1], gslib.c [1.2]: 2000/09/07 06:14:45 lpd)
3287	- Fixes a type error caused by a change in the TransferFunction
3288member of gs_transparency_mask_params_t. (gstrans.c [1.7]: 2000/09/10
328918:20:09 lpd)
3290	- Several places in the code for ImageType 3x (soft-masked) images
3291didn't correctly handle the case where only one of the two masks was
3292supplied (which is always the case for PDF). (gximag3x.c [1.4]: 2000/09/11
329302:12:19 lpd)
3294	- The -Zv tracing messages for gs_begin_transparency_{group,mask}
3295were incorrect. (gstrans.c [1.10]: 2000/09/12 20:35:05 lpd)
3296	- Printing the program name and version didn't use fprintf, so it
3297didn't work properly with the stdout redirection on Windows. (fix from
3298Artifex) (gsmisc.c [1.7]: 2000/09/18 06:22:35 lpd)
3299	- Undefined characters in CID-keyed (FMapType 9) composite fonts
3300caused an infinite loop, because the parsing index was never advanced past
3301the character. (gsfcmap.c [1.7]: 2000/09/21 02:44:44 lpd)
3302	- CID-keyed (FMapType 9) composite fonts didn't return the correct
3303parsed character code, possibly causing widthshow or cshow to produce
3304incorrect output. (gsfcmap.c [1.8], gsfcmap.h [1.4]: 2000/09/21 03:02:03
3305lpd)
3306	- Works around ANSI C's unreasonable new aliasing restrictions.
3307(gsnogc.c [1.5]: 2000/09/22 04:17:52 lpd)
3308	- The 'head' table in embedded TrueType fonts had a length of 56; it
3309should have a length of 54 and be followed by 2 padding bytes.
3310(gdevpsft.c [1.4]: 2000/09/26 06:42:05 lpd)
3311
3312Initializes files for the 6.24 fileset. (gscdef.c [1.7]: 2000/08/09 16:54:02
3313lpd)
3314
3315Adds the PDF "overprint mode" to the graphics state. THE ACTUAL
3316FUNCTIONALITY IS NOT IMPLEMENTED YET. (gscsepr.c [1.4], gscsepr.h [1.3],
3317gsstate.c [1.2], gxclpath.c [1.3], gxclpath.h [1.2], gxclrast.c [1.4],
3318gxistate.h [1.2]: 2000/08/23 17:54:14 lpd)
3319
3320Starts to implement the PDF 1.4 transparency features. All API and operator
3321additions are now implemented (at least as stubs) and documented, as is
3322bookkeeping for the new scalar graphics state members (but not for the soft
3323masks or the transparency group stack). (gsistate.c [1.2], gsstate.c [1.3],
3324gstparam.h [1.1], gstrans.c [1.1], gstrans.h [1.1], gxclpath.c [1.4],
3325gxclpath.h [1.3], gxclrast.c [1.5], gxistate.h [1.3], gzstate.h [1.2]:
33262000/08/23 21:46:31 lpd)
3327
3328Adds a new equality-testing virtual procedure for color spaces.
3329(gscdevn.c [1.4], gscolor2.c [1.5], gscpixel.c [1.2], gscscie.c [1.2],
3330gscsepr.c [1.5], gscspace.c [1.3], gscspace.h [1.3], gspcolor.c [1.3],
3331gxcspace.h [1.3]: 2000/08/24 05:42:30 lpd)
3332
3333Changes the band list representation of mask images to allow
3334BitsPerComponent > 1 (for soft masks). (gximage1.c [1.2]: 2000/08/24
333517:58:18 lpd)
3336
3337Adds Matte and has_Matte members to ImageType 1 images. These are only used
3338with the new transparency features. (gsiparam.h [1.2], gximage1.c [1.3]:
33392000/08/24 19:20:12 lpd)
3340
3341Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.
3342and banding don't do the right thing yet. (gstparam.h [1.2],
3343gstrans.c [1.2], gstrans.h [1.2], gxcldev.h [1.2], gxclpath.c [1.5],
3344gxclpath.h [1.4]: 2000/08/25 01:46:48 lpd)
3345
3346Changes remove_range_from_freelist to only scan relevant freelists, rather
3347than all of them. On some files, the speedup is dramatic. (gsalloc.c [1.6]:
33482000/08/26 01:18:33 lpd)
3349
3350Completes an edit that accidentally left the repository in an inconsistent
3351state. (gxclpath.c [1.6], gxclrast.c [1.6]: 2000/08/26 03:19:56 lpd)
3352
3353Implements some minor improvements to the freelist algorithms that can
3354produce nearly a factor of 2 speedup in some allocation-intensive
3355situations. (gsalloc.c [1.7], gxalloc.h [1.4]: 2000/08/26 03:21:34 lpd)
3356
3357Brings the (still mostly stubbed) transparency code to a more
3358self-consistent state. (gsipar3x.h [1.1], gsiparam.h [1.3],
3359gsstruct.h [1.4], gstparam.h [1.3], gstrans.c [1.3], gstrans.h [1.3],
3360gxclpath.c [1.7], gxclpath.h [1.5], gxclrast.c [1.7], gximag3x.c [1.1],
3361gximag3x.h [1.1], gximage1.c [1.4], gxistate.h [1.4]: 2000/08/30 01:34:40
3362lpd)
3363
3364Finishes the code for parsing ImageType 103 (soft-mask) images.
3365(gximag3x.c [1.2]: 2000/08/30 04:29:56 lpd)
3366
3367Completes the parsing of .{begin,end}transparency{group,mask}, except for
3368the TransferFunction for masks. The specification is still subject to
3369change. (gstparam.h [1.4], gstrans.c [1.4], gstrans.h [1.4]: 2000/08/30
337015:03:36 lpd)
3371
3372Adds documentation on proposed driver interface additions for managing the
3373transparency rendering stack. (gstrans.c [1.5]: 2000/08/31 20:22:47 lpd)
3374
3375Adds color space type names for tracing/debugging. (gscspace.h [1.4]:
33762000/09/10 05:21:44 lpd)
3377
3378Changes the -Zv switch to trace alpha/transparency-related features.
3379(gdevabuf.c [1.2]: 2000/09/10 05:23:10 lpd)
3380
3381Implements another chunk of the PDF 1.4 transparency features, fixing some
3382bugs in the previous code. (gstparam.h [1.5], gstrans.c [1.6],
3383gximag3x.c [1.3]: 2000/09/10 05:26:27 lpd)
3384
3385Moves the Matte entry of soft mask images from the main structure to the
3386mask structures, and changes Matted to has_Matte. (gsipar3x.h [1.2],
3387gximag3x.c [1.5], gximag3x.h [1.2]: 2000/09/11 04:08:13 lpd)
3388
3389Adds a default implementation of soft-masked images that simply ignores the
3390mask. (gximag3x.c [1.6]: 2000/09/11 04:38:01 lpd)
3391
3392Upgrades the proposed driver interface transparency extension from comments
3393to macros, changing the name 'discard_transparency_level' to
3394'discard_transparency_layer'. (gstrans.c [1.8], gstrans.h [1.5]: 2000/09/11
339520:13:31 lpd)
3396
3397Finishes the (dummy) implementation of the transparency layer stack in the
3398graphics library. (gsistate.c [1.3], gsstate.c [1.4], gstparam.h [1.6],
3399gstrans.c [1.9], gxistate.h [1.5]: 2000/09/11 22:20:05 lpd)
3400
3401Makes the default string matching parameters public. (gsutil.c [1.3],
3402gsutil.h [1.2]: 2000/09/12 02:02:52 lpd)
3403
3404*** empty log message *** (gsmisc.c [1.6]: 2000/09/15 03:01:51 alexcher)
3405
3406Updates the license notices to reflect the name change from Aladdin
3407Ghostscript to AFPL Ghostscript, as well as some internal references to the
3408program name. (close_.h [1.2], ctype_.h [1.2], dirent_.h [1.2],
3409dos_.h [1.2], errno_.h [1.2], fcntl_.h [1.3], gconf.c [1.2], gconf.h [1.2],
3410gdebug.h [1.2], gdevabuf.c [1.3], gdevalph.c [1.2], gdevbbox.c [1.3],
3411gdevbbox.h [1.2]: 2000/09/19 19:00:09 lpd)
3412
3413Updates the license notices to reflect the name change from Aladdin
3414Ghostscript to AFPL Ghostscript, as well as some internal references to the
3415program name. (gdevcmap.c [1.2], gdevcmap.h [1.2], gdevdbit.c [1.2],
3416gdevddrw.c [1.2], gdevdflt.c [1.3], gdevdgbr.c [1.2], gdevdrop.c [1.3],
3417gdevemap.c [1.2], gdevhit.c [1.2], gdevht.c [1.3], gdevht.h [1.2],
3418gdevm1.c [1.2], gdevm16.c [1.2], gdevm2.c [1.2], gdevm24.c [1.2],
3419gdevm32.c [1.2], gdevm4.c [1.2], gdevm8.c [1.2], gdevmem.c [1.2],
3420gdevmem.h [1.3], gdevmpla.c [1.2], gdevmpla.h [1.2], gdevmr1.c [1.2],
3421gdevmr2n.c [1.2], gdevmr8n.c [1.2], gdevmrop.h [1.3], gdevmrun.c [1.2],
3422gdevmrun.h [1.2], gdevnfwd.c [1.3]: 2000/09/19 19:00:12 lpd)
3423
3424Updates the license notices to reflect the name change from Aladdin
3425Ghostscript to AFPL Ghostscript, as well as some internal references to the
3426program name. (gdevpipe.c [1.3], gdevplnx.c [1.2], gdevplnx.h [1.2],
3427gdevppla.c [1.2], gdevppla.h [1.2], gdevprn.c [1.5], gdevprn.h [1.6],
3428gdevprna.c [1.2], gdevprna.h [1.2], gdevpsf.h [1.7], gdevpsf1.c [1.5],
3429gdevpsf2.c [1.7], gdevpsfm.c [1.3], gdevpsft.c [1.3], gdevpsfu.c [1.4],
3430gdevpsfx.c [1.5], gdevrops.c [1.3]: 2000/09/19 19:00:20 lpd)
3431
3432Updates the license notices to reflect the name change from Aladdin
3433Ghostscript to AFPL Ghostscript, as well as some internal references to the
3434program name. (gdevtrac.c [1.2], gdevvec.c [1.7], gdevvec.h [1.4],
3435gp.h [1.5], gp_dosfe.c [1.2], gp_dosfs.c [1.2], gp_getnv.c [1.2],
3436gp_msdos.c [1.2], gp_nsync.c [1.2], gp_psync.c [1.2], gp_strdl.c [1.2],
3437gp_unifn.c [1.2], gp_unifs.c [1.3], gpcheck.h [1.2], gpgetenv.h [1.2],
3438gpmisc.c [1.7], gpmisc.h [1.2], gpsync.h [1.2], gsalloc.c [1.8],
3439gsalloc.h [1.2], gsalpha.c [1.2], gsalpha.h [1.2], gsalphac.c [1.2],
3440gsalphac.h [1.2], gsargs.c [1.2], gsargs.h [1.3], gsbitmap.h [1.2],
3441gsbitops.c [1.2], gsbitops.h [1.2], gsbittab.c [1.2], gsbittab.h [1.2]:
34422000/09/19 19:00:23 lpd)
3443
3444Updates the license notices to reflect the name change from Aladdin
3445Ghostscript to AFPL Ghostscript, as well as some internal references to the
3446program name. (gsccode.h [1.4], gsccolor.h [1.2], gscdef.c [1.8],
3447gscdefs.h [1.2], gscdevn.c [1.5], gscdevn.h [1.3], gschar.c [1.3],
3448gschar.h [1.3], gschar0.c [1.2], gscie.c [1.3], gscie.h [1.2],
3449gsciemap.c [1.3], gscindex.h [1.2], gsclipsr.c [1.2], gsclipsr.h [1.2],
3450gscolor.c [1.4], gscolor.h [1.3], gscolor1.c [1.3], gscolor1.h [1.2],
3451gscolor2.c [1.6], gscolor2.h [1.3], gscolor3.c [1.4], gscolor3.h [1.2],
3452gscompt.h [1.2], gscoord.c [1.5], gscoord.h [1.2], gscparam.c [1.6],
3453gscpixel.c [1.3], gscpixel.h [1.2], gscpm.h [1.2], gscrd.c [1.2],
3454gscrd.h [1.2], gscrdp.c [1.2], gscrdp.h [1.2], gscrypt1.c [1.2],
3455gscrypt1.h [1.2], gscscie.c [1.3], gscsel.h [1.2], gscsepnm.h [1.2],
3456gscsepr.c [1.6], gscsepr.h [1.4], gscspace.c [1.4], gscspace.h [1.5],
3457gscssub.c [1.2], gscssub.h [1.2], gsdcolor.h [1.3], gsdevice.c [1.7],
3458gsdevice.h [1.3], gsdevmem.c [1.2], gsdparam.c [1.4], gsdpnext.h [1.2],
3459gsdps.c [1.2], gsdps.h [1.2], gsdps1.c [1.2], gsdsrc.c [1.2],
3460gsdsrc.h [1.3], gserror.h [1.2], gserrors.h [1.2], gsexit.h [1.2],
3461gsfcid.c [1.4], gsfcmap.c [1.6], gsfcmap.h [1.3], gsfemu.c [1.2],
3462gsflip.c [1.2], gsflip.h [1.2], gsfname.c [1.2], gsfname.h [1.2],
3463gsfont.c [1.2], gsfont.h [1.2], gsfont0.c [1.2], gsfunc.c [1.4],
3464gsfunc.h [1.4], gsfunc0.c [1.3], gsfunc0.h [1.2], gsfunc3.c [1.4],
3465gsfunc3.h [1.2], gsfunc4.c [1.3], gsfunc4.h [1.2], gsfuncv.c [1.2],
3466gsfuncv.h [1.2]: 2000/09/19 19:00:26 lpd)
3467
3468Updates the license notices to reflect the name change from Aladdin
3469Ghostscript to AFPL Ghostscript, as well as some internal references to the
3470program name. (gsgc.h [1.2], gshsb.c [1.2], gshsb.h [1.2], gsht.c [1.2],
3471gsht.h [1.2], gsht1.c [1.2], gsht1.h [1.2], gshtscr.c [1.3], gshtx.c [1.2],
3472gshtx.h [1.2], gsimage.c [1.3], gsimage.h [1.2], gsimpath.c [1.2],
3473gsinit.c [1.2], gsio.h [1.4], gsiodev.c [1.3], gsiodevs.c [1.2],
3474gsipar3x.h [1.3], gsiparam.h [1.4], gsiparm2.h [1.2], gsiparm3.h [1.4],
3475gsiparm4.h [1.2], gsistate.c [1.4], gsjconf.h [1.2], gslib.c [1.3],
3476gslib.h [1.2], gsline.c [1.2], gsline.h [1.2], gslparam.h [1.2],
3477gsmalloc.c [1.3], gsmalloc.h [1.2], gsmatrix.c [1.2], gsmatrix.h [1.2],
3478gsmdebug.h [1.2], gsmemlok.c [1.3], gsmemlok.h [1.2], gsmemory.c [1.2],
3479gsmemory.h [1.2], gsmemraw.h [1.2], gsmemret.c [1.2], gsmemret.h [1.2],
3480gsmisc.c [1.8], gsnogc.c [1.4], gsnogc.h [1.2], gsnorop.c [1.2],
3481gsnotify.c [1.2], gsnotify.h [1.2], gspaint.c [1.2], gspaint.h [1.2],
3482gsparam.c [1.4], gsparam.h [1.7], gsparam2.c [1.2], gsparams.c [1.2],
3483gsparams.h [1.2], gsparamx.c [1.3], gsparamx.h [1.3], gspath.c [1.2],
3484gspath.h [1.2], gspath1.c [1.2], gspath2.h [1.2], gspcolor.c [1.4],
3485gspcolor.h [1.2], gspenum.h [1.2], gsptype1.c [1.2], gsptype1.h [1.2]:
34862000/09/19 19:00:29 lpd)
3487
3488Updates the license notices to reflect the name change from Aladdin
3489Ghostscript to AFPL Ghostscript, as well as some internal references to the
3490program name. (gsptype2.c [1.3], gsptype2.h [1.2], gsrect.h [1.2],
3491gsrefct.h [1.2], gsrop.c [1.2], gsrop.h [1.2], gsropc.c [1.2],
3492gsropc.h [1.2], gsropt.h [1.3], gsroptab.c [1.2], gsshade.c [1.3],
3493gsshade.h [1.3], gsstate.c [1.5], gsstate.h [1.2], gsstruct.h [1.5],
3494gsstype.h [1.2], gstext.c [1.3], gstext.h [1.3], gstparam.h [1.7],
3495gstrans.c [1.11], gstrans.h [1.6], gstrap.c [1.3], gstrap.h [1.3],
3496gstype1.c [1.5], gstype1.h [1.2], gstype2.c [1.7], gstype42.c [1.7],
3497gstypes.h [1.2], gsuid.h [1.2], gsutil.c [1.4], gsutil.h [1.3],
3498gsxfont.h [1.2], gx.h [1.2], gxacpath.c [1.3], gxalloc.h [1.5],
3499gxalpha.h [1.2], gxarith.h [1.2], gxband.h [1.2], gxbcache.c [1.2],
3500gxbcache.h [1.2], gxbitfmt.h [1.2], gxbitmap.h [1.2], gxbitops.h [1.2],
3501gxccache.c [1.2], gxccman.c [1.2], gxcdevn.h [1.2], gxchar.c [1.2],
3502gxchar.h [1.2], gxchrout.c [1.2], gxchrout.h [1.2], gxcht.c [1.2],
3503gxcid.h [1.3], gxcie.h [1.2], gxcindex.h [1.2], gxclbits.c [1.2],
3504gxcldev.h [1.3], gxclfile.c [1.2], gxclimag.c [1.2], gxclio.h [1.2],
3505gxclip.c [1.3], gxclip.h [1.2], gxclip2.c [1.3], gxclip2.h [1.2],
3506gxclipm.c [1.3], gxclipm.h [1.2], gxclipsr.h [1.2], gxclist.c [1.3],
3507gxclist.h [1.2], gxcllzw.c [1.2], gxclmem.c [1.2], gxclmem.h [1.2]:
35082000/09/19 19:00:32 lpd)
3509
3510Updates the license notices to reflect the name change from Aladdin
3511Ghostscript to AFPL Ghostscript, as well as some internal references to the
3512program name. (gxclpage.c [1.2], gxclpage.h [1.2], gxclpath.c [1.8],
3513gxclpath.h [1.6], gxclrast.c [1.8], gxclread.c [1.2], gxclrect.c [1.2],
3514gxclutil.c [1.2], gxclzlib.c [1.2], gxcmap.c [1.3], gxcmap.h [1.2],
3515gxcolor2.h [1.4], gxcomp.h [1.2], gxcoord.h [1.2], gxcpath.c [1.3],
3516gxcpath.h [1.2], gxcspace.h [1.4], gxctable.c [1.3], gxctable.h [1.2],
3517gxcvalue.h [1.2], gxdcconv.c [1.3], gxdcconv.h [1.2], gxdcolor.c [1.3],
3518gxdcolor.h [1.3], gxdda.h [1.2], gxdevbuf.h [1.2], gxdevcli.h [1.3],
3519gxdevice.h [1.4], gxdevmem.h [1.2], gxdevrop.h [1.2], gxdht.h [1.4],
3520gxdhtres.h [1.2], gxdither.c [1.2], gxdither.h [1.2], gxfarith.h [1.3],
3521gxfcache.h [1.2], gxfcid.h [1.6], gxfcmap.h [1.5], gxfill.c [1.5],
3522gxfixed.h [1.2], gxfmap.h [1.3], gxfont.h [1.2], gxfont0.h [1.3],
3523gxfont1.h [1.4], gxfont42.h [1.4], gxfrac.h [1.2], gxftype.h [1.2],
3524gxfunc.h [1.3], gxgetbit.h [1.2], gxhint1.c [1.2], gxhint2.c [1.2],
3525gxhint3.c [1.2], gxht.c [1.2], gxht.h [1.2], gxhtbit.c [1.3],
3526gxhttile.h [1.2], gxhttype.h [1.2], gxi12bit.c [1.2], gxiclass.h [1.2],
3527gxicolor.c [1.2], gxidata.c [1.4], gxifast.c [1.2], gximag3x.c [1.7]:
35282000/09/19 19:00:35 lpd)
3529
3530Updates the license notices to reflect the name change from Aladdin
3531Ghostscript to AFPL Ghostscript, as well as some internal references to the
3532program name. (gximag3x.h [1.3], gximage.c [1.2], gximage.h [1.2],
3533gximage1.c [1.5], gximage2.c [1.2], gximage3.c [1.6], gximage3.h [1.4],
3534gximage4.c [1.3], gximono.c [1.2], gxino12b.c [1.2], gxiodev.h [1.2],
3535gxiparam.h [1.2], gxipixel.c [1.2], gxiscale.c [1.2], gxistate.h [1.6],
3536gxline.h [1.2], gxlum.h [1.2], gxmatrix.h [1.4], gxmclip.c [1.2],
3537gxmclip.h [1.2], gxobj.h [1.2], gxop1.h [1.2], gxp1fill.c [1.2],
3538gxp1impl.h [1.2], gxpageq.c [1.2], gxpageq.h [1.2], gxpaint.c [1.2],
3539gxpaint.h [1.2], gxpath.c [1.2], gxpath.h [1.2], gxpath2.c [1.2],
3540gxpcache.h [1.2], gxpcmap.c [1.3], gxpcolor.h [1.2], gxpcopy.c [1.3],
3541gxpdash.c [1.2], gxpflat.c [1.2], gxropc.h [1.2], gxrplane.h [1.2],
3542gxsample.c [1.2], gxsample.h [1.2], gxshade.c [1.4], gxshade.h [1.3],
3543gxshade1.c [1.5], gxshade4.c [1.3], gxshade4.h [1.2], gxshade6.c [1.3],
3544gxstate.h [1.2], gxstdio.h [1.2], gxstroke.c [1.2], gxsync.c [1.2],
3545gxsync.h [1.2], gxtext.h [1.3], gxtmap.h [1.2], gxttf.h [1.2],
3546gxtype1.c [1.6], gxtype1.h [1.4], gxxfont.h [1.2], gzacpath.h [1.2],
3547gzcpath.h [1.2], gzht.h [1.3], gzline.h [1.2], gzpath.h [1.3]: 2000/09/19
354819:00:38 lpd)
3549
3550Updates the license notices to reflect the name change from Aladdin
3551Ghostscript to AFPL Ghostscript, as well as some internal references to the
3552program name. (gzstate.h [1.3]: 2000/09/19 19:00:41 lpd)
3553
3554Updates the license notices to reflect the name change from Aladdin
3555Ghostscript to AFPL Ghostscript, as well as some internal references to the
3556program name. (jerror_.h [1.2], malloc_.h [1.2], math_.h [1.2],
3557memory_.h [1.2], pipe_.h [1.2]: 2000/09/19 19:00:47 lpd)
3558
3559Updates the license notices to reflect the name change from Aladdin
3560Ghostscript to AFPL Ghostscript, as well as some internal references to the
3561program name. (time_.h [1.2], vmsmath.h [1.2], windows_.h [1.2]: 2000/09/19
356219:00:51 lpd)
3563
3564Bring version numbers and dates up to date. Small bug fix in toolbin/pre to
3565make it able to handle months with leading zeros. (gscdef.c [1.9]:
35662000/10/04 05:18:54 raph)
3567
3568</pre><h2><a name="6.30 ???Other???"></a>???Other???</h2><pre>
3569
3570Updates the license notices to reflect the name change from Aladdin
3571Ghostscript to AFPL Ghostscript, as well as some internal references to the
3572program name. (gp_mswin.h [1.2]: 2000/09/19 19:00:24 lpd)
3573
3574Updates the license notices to reflect the name change from Aladdin
3575Ghostscript to AFPL Ghostscript, as well as some internal references to the
3576program name. (gsdll.h [1.2], gsdll32w.lnk [1.2], gsdllos2.h [1.2],
3577gsdllwin.h [1.2], gsjmorec.h [1.2]: 2000/09/19 19:00:27 lpd)
3578
3579Updates the license notices to reflect the name change from Aladdin
3580Ghostscript to AFPL Ghostscript, as well as some internal references to the
3581program name. (gspmdrv.h [1.2]: 2000/09/19 19:00:31 lpd)
3582
3583Updates the license notices to reflect the name change from Aladdin
3584Ghostscript to AFPL Ghostscript, as well as some internal references to the
3585program name. (iutilasm.asm [1.2]: 2000/09/19 19:00:46 lpd)
3586
3587<hr>
3588
3589<h1><a name="Version6.23"></a>Version 6.23 (2000-08-07)</h1>
3590
3591<p>
3592This fileset consists mostly of bug fixes.
3593
3594<p>
3595All problems registered on SourceForge numbered 110922 or lower are closed,
3596except for the following: 101549, 101814, 101905, 101955, 102146, 102735,
3597104118, 105289, 105558, 106340, 106652, 109350, 110445, 110898, 110922.
3598
3599<p>
3600The following projects are in a partially completed state in the PDF writer:
3601
3602<ul>
3603
3604<li>CID-keyed fonts (gdevpdf[eftw].c) -- barely started.
3605
3606</ul>
3607
3608<pre>
3609
3610<h2><a name="6.23_Incompatible_changes"></a>Incompatible changes</h2>
3611
3612(Drivers)
3613	- With high-level drivers ([e]pswrite, pdfwrite, pxl*, cgm*),
3614changing the OutputFile after writing one or more pages now causes an error.
3615(Interpreter)
3616	- By default, copydevice will only copy a device prototype.
3617	- Some internal references to contexts in zcontext.c are changed
3618from direct pointers to context indices.
3619	- Renames internal types to add a _t: ctx_list, ctx_status,
3620gs_context, gs_condition, gs_lock.
3621(Library)
3622	- By default, gs_copydevice[2] will only copy a device prototype.
3623
3624
3625<h2><a name="6.23 Documentation"></a>Documentation</h2><pre>
3626
3627Fixes problems:
3628	- Local GC in a multi-context system caused a crash. Also updates
3629all the internal type names in zcontext.c by adding a _t suffix if
3630necessary. (doc/News.htm [1.54]: 2000/07/10 23:56:55 lpd)
3631	- With some high-level drivers, changing the OutputFile after
3632opening the device could cause a crash. After the fix, doing this works
3633properly if no pages have actually been written out, but causes a rangecheck
3634error if any pages have been written. (This is required to maintain internal
3635consistency.) (doc/News.htm [1.55]: 2000/07/12 14:02:03 lpd)
3636	- The documented limit on the length of a file name was incorrect.
3637(doc/Language.htm [1.9]: 2000/08/03 06:45:25 lpd)
3638
3639Increments the version number, in preparation for the next fileset.
3640(doc/News.htm [1.52]: 2000/07/06 02:45:06 lpd)
3641
3642Adds a finish_copydevice device procedure, for cleaning up after copying the
3643bits of a device prototype or instance. For safety, the default
3644implementation only allows copying the prototype, not instances. This is a
3645NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
3646instance never worked reliably, so it should not have been used this way
3647before. (doc/Drivers.htm [1.4], doc/News.htm [1.53]: 2000/07/06 04:13:24
3648lpd)
3649
3650Updates the references to the Computer Modern Fontmap on CTAN.
3651(doc/Fonts.htm [1.5], doc/New-user.htm [1.8]: 2000/07/09 23:29:25 lpd)
3652
3653Updates a couple of release procedures. (doc/Release.htm [1.15]: 2000/07/10
365419:32:59 lpd)
3655
3656Adds documentation and a script for preparing GNU releases from Aladdin
3657releases. (doc/Release.htm [1.16]: 2000/07/17 17:10:57 lpd)
3658
3659Clarifies that device parameters set with -d or -s can be changed
3660subsequently. (doc/Use.htm [1.8]: 2000/07/17 20:13:03 lpd)
3661
3662Adds a project for making Ghostscript work as a Netscape browser plug-in.
3663(doc/Projects.htm [1.13]: 2000/07/19 22:50:18 lpd)
3664
3665Removes the SVG driver from the list of projects, since there is a group
3666close to completing one (referenced from the Ghostscript home page on the
3667Web). (doc/Projects.htm [1.14]: 2000/07/20 14:49:52 lpd)
3668
3669Directs users to the Ghostscript home page on the Web for information about
3670third-party drivers. (doc/New-user.htm [1.9]: 2000/07/20 14:50:34 lpd)
3671
3672Adds a partially implemented driver that just produces a trace of its
3673drawing calls. This driver also serves as a minimal example of how to
3674implement the high-level driver operations. (doc/Drivers.htm [1.5]:
36752000/07/29 04:00:00 lpd)
3676
3677Updates dates and version #s for the 6.23 fileset. (doc/Bug-info.htm [1.4],
3678doc/Changes.htm [1.15], doc/Drivers.htm [1.6], doc/Fonts.htm [1.6],
3679doc/History5.htm [1.3], doc/Htmstyle.htm [1.4], doc/Install.htm [1.5],
3680doc/Language.htm [1.10], doc/New-user.htm [1.10], doc/News.htm [1.56],
3681doc/Projects.htm [1.15], doc/Ps2pdf.htm [1.15], doc/Release.htm [1.17],
3682doc/Use.htm [1.9], man/ps2ps.1 [1.6]: 2000/08/07 17:48:09 lpd)
3683
3684</pre><h2><a name="6.23 Procedures"></a>Procedures</h2><pre>
3685
3686Fixes problems:
3687	- $(GLGEN)/md5.h wasn't deleted after compilation. (lib.mak [1.26]:
36882000/07/09 23:19:59 lpd)
3689	- TrueType font loading now requires the Adobe glyph list, but this
3690dependency was missing from the makefile. (int.mak [1.26]: 2000/07/19
369108:11:15 lpd)
3692	- During compilation, GLSRCDIR was searched before GLGENDIR. (We're
3693very surprised that this didn't cause detectable trouble before.)
3694(lib.mak [1.27]: 2000/07/19 14:32:00 lpd)
3695	- The dependency on gsparamx.$(OBJ) was incorrectly attached to
3696pdfwrite.dev rather than psdf.dev. (devs.mak [1.30]: 2000/08/03 17:42:52
3697lpd)
3698	- 'pre' didn't work with dates in August or September (Tcl doesn't
3699accept 08 and 09 as valid numbers). (toolbin/pre [1.5]: 2000/08/07 17:35:27
3700lpd)
3701
3702Increments the version number, in preparation for the next fileset.
3703(version.mak [1.17]: 2000/07/06 02:45:06 lpd)
3704
3705Adds some user-contributed comments about using the Canon BJ200 driver with
3706the BJ300. (contrib.mak [1.18]: 2000/07/11 15:33:19 lpd)
3707
3708Updates the (user-contributed) all-architecture build script to work around
3709a detail in the SGI IRIX C library header files. (all-arch.mak [1.4]:
37102000/07/15 19:23:45 lpd)
3711
3712Adds documentation and a script for preparing GNU releases from Aladdin
3713releases. (toolbin/makegnu.tcl [1.1]: 2000/07/17 17:10:57 lpd)
3714
3715Adds a partially implemented driver that just produces a trace of its
3716drawing calls. This driver also serves as a minimal example of how to
3717implement the high-level driver operations. (lib.mak [1.28]: 2000/07/29
371804:00:00 lpd)
3719
3720Changes 'gsmake' to report line number rather than character position for
3721errors and warnings. (toolbin/gsmake.tcl [1.3]: 2000/08/07 17:22:27 lpd)
3722
3723Updates dates and version #s for the 6.23 fileset. (version.mak [1.18]:
37242000/08/07 17:48:10 lpd)
3725
3726Adds some missing dependencies. (int.mak [1.27], lib.mak [1.29]: 2000/08/07
372717:52:22 lpd)
3728
3729</pre><h2><a name="6.23 Utilities"></a>Utilities</h2><pre>
3730
3731Fixes problems:
3732	- An invalid file name or pattern passed to filenameforall would
3733(incorrectly) return an empty string rather than not returning any file
3734names at all. (gp_vms.c [1.3]: 2000/07/09 21:09:51 lpd)
3735	- Some DOS/Windows script files didn't use 'call', so they would
3736terminate execution prematurely if called from another script file.
3737(lib/ps2pdf.bat [1.5], lib/ps2pdf12.bat [1.4], lib/ps2pdf13.bat [1.4],
3738lib/ps2pdfxx.bat [1.8]: 2000/07/24 15:12:21 lpd)
3739
3740</pre><h2><a name="6.23 Drivers"></a>Drivers</h2><pre>
3741
3742Implements finish_copydevice for X windows, to allow copying instances as
3743well as the prototype. (gdevx.c [1.4], gdevx.h [1.3], gdevxini.c [1.7]:
37442000/07/06 05:29:46 lpd)
3745
3746Adds some user-contributed comments about using the Canon BJ200 driver with
3747the BJ300. (gdevbj10.c [1.2]: 2000/07/11 15:33:19 lpd)
3748
3749</pre><h2><a name="6.23 PDF writer"></a>PDF writer</h2><pre>
3750
3751Fixes problems:
3752	- M_2PI was predefined on some systems. (gdevpdfg.c [1.6]:
37532000/07/09 23:11:31 lpd)
3754	- The word and character spacing values were not tracked correctly
3755when mixing text and graphics, sometimes producing horizontally misplaced
3756text. (gdevpdf.c [1.18], gdevpdfg.c [1.7], gdevpdfu.c [1.10],
3757gdevpdfx.h [1.19]: 2000/07/11 14:33:54 lpd)
3758	- 'show'ing an empty string could cause the next string to be
3759positioned incorrectly. (gdevpdft.c [1.14]: 2000/07/27 14:18:11 lpd)
3760
3761Updates font embedding code to handle CIDFontType 2 fonts. NOT TESTED.
3762(gdevpdfe.c [1.3]: 2000/07/27 04:18:13 lpd)
3763
3764Adds glyphs_used to FontDescriptors and pfd to std_fonts in the device
3765structure. WORK IN PROGRESS. (gdevpdf.c [1.19], gdevpdff.c [1.7],
3766gdevpdff.h [1.3], gdevpdfx.h [1.20]: 2000/07/27 04:19:24 lpd)
3767
3768</pre><h2><a name="6.23 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre>
3769
3770Fixes problems:
3771	- If a badly-constructed PDF file referenced one of the 12 base
3772alphabetic fonts explicitly as a TrueType font (e.g., /BaseFont
3773/TimesNewRoman /Subtype /TrueType) without embedding it, the substituted
3774Type 1 font had the wrong Encoding. (lib/pdf_font.ps [1.10]: 2000/07/10
377513:18:28 lpd)
3776	- Piped input beginning with a % caused an ioerror. (bug introduced
3777in 6.22) (lib/pdf_main.ps [1.10]: 2000/07/14 05:30:19 lpd)
3778	- As a result of some recent changes to fix other problems, setting
3779certain text state parameters (Tf, Ts, Tz) outside of text mode (BT/ET)
3780caused an error. (lib/pdf_ops.ps [1.6]: 2000/07/19 15:57:54 lpd)
3781	- Setting a singular text matrix (e.g., 0 0 0 0 <x> <y> Tm) caused
3782an error. (lib/pdf_ops.ps [1.7]: 2000/08/04 16:08:05 lpd)
3783
3784</pre><h2><a name="6.23 Interpreter"></a>Interpreter</h2><pre>
3785
3786Fixes problems:
3787	- Removes the '?' procedure, which was defined solely for the
3788convenience of users who don't read the documentation and which interfered
3789with the operation of some code produced by the Adobe PS5 Windows driver.
3790(lib/gs_init.ps [1.18]: 2000/07/09 22:34:30 lpd)
3791	- A constant 1 should have been 1L, causing a warning on systems
3792where sizeof(long) > sizeof(int). (zarith.c [1.3]: 2000/07/09 23:10:58 lpd)
3793	- The workaround for attempting to set a 4-element PageSize value in
3794a page device sometimes caused an error. (bug introduced in 6.21)
3795(lib/gs_setpd.ps [1.4]: 2000/07/10 12:48:54 lpd)
3796	- Redefining setcolorspace could cause an infinite recursion.
3797(lib/gs_lev2.ps [1.5]: 2000/07/10 13:35:24 lpd)
3798	- Local GC in a multi-context system caused a crash. Also updates
3799all the internal type names in zcontext.c by adding a _t suffix if
3800necessary. (zcontext.c [1.4]: 2000/07/10 23:56:55 lpd)
3801	- A garbage collection occurring within a save could cause a memory
3802access error. (bug introduced in 6.22) (zcontext.c [1.5]: 2000/07/14
380305:28:56 lpd)
3804	- Piped input beginning with a % caused an ioerror. (bug introduced
3805in 6.22) (zfileio.c [1.8]: 2000/07/14 05:30:19 lpd)
3806	- A garbage collection occurring while scanning a binary token
3807sequence could cause a syntaxerror or corrupted data. (iscan.c [1.3]:
38082000/07/18 15:39:02 lpd)
3809	- (correction) An interruption (including a callout for a
3810procedure-based stream), not a garbage collection, while scanning a binary
3811token sequence could cause a syntaxerror or corrupted data. (iscan.c [1.4]:
38122000/07/18 15:41:55 lpd)
3813	- When loading a TrueType font, invalid glyph numbers in the 'post'
3814table (which appear in some Adobe-created PDF files) caused an error instead
3815of being ignored; a test was backwards, causing some embedded TrueType fonts
3816in PDF files to produce a rangecheck error. (lib/gs_ttf.ps [1.6]: 2000/07/19
381708:12:41 lpd)
3818	- When NOPROMPT was set, no flush or flushpage occurred at the end
3819of a page. (fix from an anonymous user on SourceForge)
3820(lib/gs_init.ps [1.19]: 2000/07/20 01:40:50 lpd)
3821	- Type 1 or Type 2 fonts with invalid LanguageGroup values < 0
3822caused an error. (Such fonts are invalid, but some real fonts have garbage
3823LanguageGroup values, and Adobe software doesn't give an error.)
3824(zfont1.c [1.6]: 2000/07/24 18:08:38 lpd)
3825	- Errors while executing gs_init.ps and other PostScript
3826initialization files were sometimes ignored, leading to mysterious error
3827messages later. (imainarg.c [1.3]: 2000/08/03 06:43:17 lpd)
3828	- Showing text with a singular matrix (scaling matrix x CTM) could
3829leave extraneous values on the operand stack. (zchar1.c [1.4]: 2000/08/04
383016:09:30 lpd)
3831
3832Increments the version number, in preparation for the next fileset.
3833(lib/gs_init.ps [1.15]: 2000/07/06 02:45:06 lpd)
3834
3835Redefines [gs_]copydevice in terms of a new gs_copydevice2/.copydevice2,
3836which adds a Boolean keep_open argument that requests (but does not
3837guarantee) that a copy of an open device remain open.
3838(lib/gs_init.ps [1.16], zdevice.c [1.2]: 2000/07/06 03:26:13 lpd)
3839
3840Adds a finish_copydevice device procedure, for cleaning up after copying the
3841bits of a device prototype or instance. For safety, the default
3842implementation only allows copying the prototype, not instances. This is a
3843NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
3844instance never worked reliably, so it should not have been used this way
3845before. (lib/gs_init.ps [1.17]: 2000/07/06 04:13:24 lpd)
3846
3847Adds the ability to load CIDFont resources from CFF OpenType font files.
3848(lib/gs_cff.ps [1.6], lib/gs_cidfn.ps [1.16]: 2000/07/29 05:58:28 lpd)
3849
3850Ensures that errordict has at least one empty entry, for the sake of some
3851astonishingly bad PostScript code that tests for this and has a bug in the
3852case where it isn't true. (lib/gs_init.ps [1.20]: 2000/08/04 04:29:45 lpd)
3853
3854</pre><h2><a name="6.23 Library"></a>Library</h2><pre>
3855
3856Fixes problems:
3857	- Some coordinate computations for Type 1 fonts could lose far too
3858much precision if _fixed_shift was reduced. (gscoord.c [1.2],
3859gxmatrix.h [1.2]: 2000/07/11 09:25:46 lpd)
3860	- If the current color space was DeviceRGB, gs_currentgray returned
3861the wrong value. (bug introduced in 6.22) (gscolor.c [1.3]: 2000/07/11
386214:00:09 lpd)
3863	- With some high-level drivers, changing the OutputFile after
3864opening the device could cause a crash. After the fix, doing this works
3865properly if no pages have actually been written out, but causes a rangecheck
3866error if any pages have been written. (This is required to maintain internal
3867consistency.) (gdevvec.c [1.4]: 2000/07/12 14:02:04 lpd)
3868	- A file had accidentally acquired an incorrect license notice.
3869(gscoord.c [1.4]: 2000/07/13 02:02:09 lpd)
3870	- Type 2 fonts that used the 'hflex' operator could produce
3871distorted characters (e.g., slanted bottoms). (gstype2.c [1.4]: 2000/07/13
387202:09:21 lpd)
3873	- The use of macros within procedure argument lists confused
3874ansi2knr. (gximage3.c [1.5], gximage3.h [1.3]: 2000/07/19 14:30:45 lpd)
3875	- Freeing a locking allocator could cause infinite recursion.
3876(gsmemlok.c [1.2]: 2000/07/19 21:32:12 lpd)
3877	- "Accurate curves" was a no-op for certain cases of horizontal or
3878vertical tangents. (gxpcopy.c [1.2]: 2000/08/05 01:04:28 lpd)
3879
3880Increments the version number, in preparation for the next fileset.
3881(gscdef.c [1.5]: 2000/07/06 02:45:06 lpd)
3882
3883Redefines [gs_]copydevice in terms of a new gs_copydevice2/.copydevice2,
3884which adds a Boolean keep_open argument that requests (but does not
3885guarantee) that a copy of an open device remain open. (gsdevice.c [1.5],
3886gsdevice.h [1.2]: 2000/07/06 03:26:13 lpd)
3887
3888Adds a finish_copydevice device procedure, for cleaning up after copying the
3889bits of a device prototype or instance. For safety, the default
3890implementation only allows copying the prototype, not instances. This is a
3891NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
3892instance never worked reliably, so it should not have been used this way
3893before. (gdevbbox.c [1.2], gdevdflt.c [1.2], gdevht.c [1.2],
3894gdevmem.h [1.2], gdevnfwd.c [1.2], gdevprn.h [1.5], gdevrops.c [1.2],
3895gsdevice.c [1.6], gxacpath.c [1.2], gxclip.c [1.2], gxclip2.c [1.2],
3896gxclipm.c [1.2], gxclist.c [1.2], gxdevcli.h [1.2], gxdevice.h [1.3],
3897gxpcmap.c [1.2]: 2000/07/06 04:13:24 lpd)
3898
3899Adds a little more tracing output for images. (gxidata.c [1.3]: 2000/07/09
390021:04:25 lpd)
3901
3902Adds _simple_final structure type definition macros. (gsstruct.h [1.3]:
39032000/07/10 15:43:30 lpd)
3904
3905Removes a structure member no longer needed after a recent fix.
3906(gscoord.c [1.3], gxmatrix.h [1.3]: 2000/07/12 04:49:43 lpd)
3907
3908Adds the ability to write subsetted CIDFontType 2 (TrueType-based) fonts.
3909(gdevpsf.h [1.6], gdevpsft.c [1.2], gdevpsfu.c [1.3], gxfcid.h [1.5]:
39102000/07/21 01:09:16 lpd)
3911
3912Adds a partially implemented driver that just produces a trace of its
3913drawing calls. This driver also serves as a minimal example of how to
3914implement the high-level driver operations. (gdevtrac.c [1.1]: 2000/07/29
391504:00:00 lpd)
3916
3917Improves the smoothness of ShadingType 4 - 7 gradient fills.
3918(gxshade4.c [1.2], gxshade6.c [1.2]: 2000/08/03 20:47:48 lpd)
3919
3920Updates dates and version #s for the 6.23 fileset. (gscdef.c [1.6]:
39212000/08/07 17:48:10 lpd)
3922
3923<hr>
3924
3925<h1><a name="Version6.22"></a>Version 6.22 (2000-07-05)</h1>
3926
3927<p>
3928This fileset consists mostly of bug fixes.  It also further improves the PDF
3929writer, which now handles ImageType 3 images and PatternType 2 (shading)
3930patterns.
3931
3932<p>
3933All problems registered on SourceForge numbered 108819 or lower are closed,
3934except for the following: 101549, 101814, 101905, 101955, 102146, 102735,
3935104118, 105289, 105558, 106340, 106652, 108639.
3936
3937<p>
3938The following projects are in a partially completed state in the PDF writer:
3939
3940<ul>
3941
3942<li>CID-keyed fonts (gdevpdf[eftw].c) -- barely started.
3943
3944</ul>
3945
3946<pre>
3947
3948<h2><a name="6.22_Incompatible_changes"></a>Incompatible changes</h2>
3949
3950(Procedures)
3951	- Versions now have odd numbers during development, even numbers
3952when released.
3953	- The TMPDIR environment variable, if set, now takes precedence
3954over TEMP.
3955	- On MS-DOS, MS Windows, and OS/2 platforms, the batch files that
3956invoke Ghostscript now use a default name of gswin32 or gswin32c rather than
3957simply gs.
3958(Drivers)
3959	- The PCL drivers now select a given paper size if the requested
3960height is at least 0.1" greater than the height of the next smaller paper
3961size, rather than if the requested height is at least as large as that of
3962the given paper size.
3963(Interpreter)
3964	- user_names_p and system_names_p may now be NULL: clients must
3965check this.
3966	- scan_comment_proc and scan_dsc_proc are now deprecated, and will
3967disappear in the near future.
3968	- The values in psuserparams are now checking procedures rather
3969than parameter values.
3970	- Comments beginning with %! are treated as "DSC comments", like
3971comments beginning with %%.
3972(Library)
3973	- The macro for declaring the fill_rectangle procedure of a shading
3974is now upper-case.  The fill_rectangle procedure is now a member of a procs
3975structure; there is a new macro for calling it.
3976	- The parameter list and return value for gs_currentgray have
3977changed.  This is very unfortunate, but it was unavoidable.
3978
3979
3980<h2><a name="6.22 Documentation"></a>Documentation</h2><pre>
3981
3982Fixes problems:
3983	- The batch files for MS-DOS, MS Windows, and OS/2 referred to the
3984executable by the name 'gs'. They now use environment variables GS
3985(graphical) and GSC (console) for the executable names, defaulting to
3986gswin32 and gswin32c respectively. (doc/News.htm [1.45], doc/Use.htm [1.6]:
39872000/05/20 20:53:04 lpd)
3988	- The -dCompatibilityLevel= switch was incorrectly identified in one
3989place as -dCompatibility=. (doc/Ps2pdf.htm [1.11]: 2000/05/22 21:29:45 lpd)
3990	- [gs_]currentgray didn't return the correct value if the current
3991color space was a DeviceN space using the alternate space.
3992(doc/News.htm [1.49]: 2000/07/03 15:28:26 lpd)
3993	- Fixes a couple of typos. (doc/Release.htm [1.12]: 2000/07/04
399419:19:38 lpd)
3995	- The "smoke test" procedure for fileset releases didn't stress the
3996banding code nearly as hard as intended. (doc/Release.htm [1.13]: 2000/07/05
399704:50:13 lpd)
3998
3999Adds predefined pdfwrite settings similar to the three standard settings in
4000Adobe Acrobat Distiller 4, plus a "default" setting, with
4001-dPDFSETTINGS=/settingname. (doc/Ps2pdf.htm [1.10]: 2000/04/29 02:29:20 lpd)
4002
4003Increments the version number to 6.23. From now on, we use odd numbers
4004during development, even numbers for released filesets.
4005(doc/Changes.htm [1.12], doc/History6.htm [1.7], doc/News.htm [1.40],
4006doc/Release.htm [1.11]: 2000/04/29 16:49:43 lpd)
4007
4008Implements ImageType 3 images in the PDF writer. (doc/News.htm [1.41]:
40092000/04/30 06:21:58 lpd)
4010
4011Creates a procs structure for shadings, moving the fill_rectangle procedure
4012into it, in anticipation of adding a get_params procedure.
4013(doc/News.htm [1.42]: 2000/04/30 19:37:37 lpd)
4014
4015Implements PatternType 2 patterns and shfill in the PDF writer.
4016(doc/News.htm [1.43]: 2000/05/02 07:14:58 lpd)
4017
4018Adds a reference to Karel Kulhavy's pdf2html program.
4019(doc/New-user.htm [1.6]: 2000/05/04 21:16:44 lpd)
4020
4021Adds a small project to remove the limit on the length of the OutputFile
4022parameter for printer drivers. (doc/Projects.htm [1.9]: 2000/05/06 00:32:08
4023lpd)
4024
4025Documents the addition of TMPDIR for specifying the directory for temporary
4026files. (doc/News.htm [1.44], doc/Use.htm [1.5]: 2000/05/19 17:59:28 lpd)
4027
4028Adds (more) user-contributed uniprint parameter files for the Epson Stylus
4029Color 640. (doc/Devices.htm [1.8]: 2000/05/23 18:58:56 lpd)
4030
4031Adds implementation of the %font% IODevice to the list of projects.
4032(doc/Projects.htm [1.10]: 2000/05/24 23:30:15 lpd)
4033
4034Documents the change in the paper size selection for PCL drivers.
4035(doc/News.htm [1.46]: 2000/05/30 03:26:15 lpd)
4036
4037Adds glyph decaching notification to the list of projects.
4038(doc/Projects.htm [1.11]: 2000/05/30 05:54:23 lpd)
4039
4040Documents that user_names_p and system_names_p may now be NULL.
4041(doc/News.htm [1.47]: 2000/06/05 01:26:05 lpd)
4042
4043Adds the ability to write multi-strip monochrome TIFF files, controlled by a
4044new MaxStripSize parameter for the monochrome TIFF drivers.
4045(doc/Devices.htm [1.9]: 2000/06/05 05:41:55 lpd)
4046
4047Updates the open ICC color support project to reference Graeme Gill's icclib
4048package. (doc/Projects.htm [1.12]: 2000/06/08 02:55:37 lpd)
4049
4050Adds an umbrella document for maintenance procedures, initially describing
4051the procedure for uploading bug report test data to SourceForge.
4052(doc/Maintain.htm [1.1], doc/Readme.htm [1.8]: 2000/06/13 20:27:26 lpd)
4053
4054Updates documentation to reflect the use of the GSC environment variable to
4055set the name of the executable for ps2pdf. (doc/Ps2pdf.htm [1.12]:
40562000/06/21 17:10:41 lpd)
4057
4058Updates documentation on the ProcessColorModel and ColorConversionStrategy
4059parameters. (doc/Ps2pdf.htm [1.13]: 2000/06/21 18:06:07 lpd)
4060
4061Adds user parameters ProcessComment and ProcessDSCComment. If not null,
4062these procedures are called with the file and the comment line whenever the
4063scanner detects a comment (or non-DSC comment) or DSC comment. NOTE: the
4064interpreter is currently patched so that ProcessComment is never called.
4065(doc/Language.htm [1.4], doc/News.htm [1.48]: 2000/06/27 00:53:38 lpd)
4066
4067Adds a reference to a user-maintained Czech translation of the Ghostscript
4068'man' pages. (doc/Readme.htm [1.9]: 2000/06/27 14:03:29 lpd)
4069
4070Brings the language documentation (more) up to date.
4071(doc/Language.htm [1.5]: 2000/06/29 16:00:48 lpd)
4072
4073Improves the documentation of copydevice regarding where it allocates the
4074copy, and documents finddevice. (doc/Drivers.htm [1.2],
4075doc/Language.htm [1.6]: 2000/06/30 00:09:15 lpd)
4076
4077Adds a findprotodevice "operator", to find a device prototype by name.
4078(doc/Language.htm [1.7]: 2000/07/05 04:49:11 lpd)
4079
4080Changes the version numbering system back to sequential (not odd/even).
4081Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
4082(doc/History6.htm [1.8], doc/News.htm [1.50]: 2000/07/05 17:23:54 lpd)
4083
4084Updates documentation related to version numbering, reflecting the move back
4085to sequential numbering. (doc/Maintain.htm [1.2], doc/Release.htm [1.14]:
40862000/07/05 18:27:50 lpd)
4087
4088Updates documentation dates for making a fileset. (doc/Changes.htm [1.13],
4089doc/Devices.htm [1.10], doc/Drivers.htm [1.3], doc/History6.htm [1.9],
4090doc/Language.htm [1.8], doc/New-user.htm [1.7], doc/News.htm [1.51],
4091doc/Ps2pdf.htm [1.14], doc/Readme.htm [1.10], doc/Use.htm [1.7]: 2000/07/06
409200:01:39 lpd)
4093
4094</pre><h2><a name="6.22 Procedures"></a>Procedures</h2><pre>
4095
4096Fixes problems:
4097	- The rule for the recently-added gdevhl12 driver omitted the space
4098before the colon. (contrib.mak [1.12]: 2000/05/02 01:42:12 lpd)
4099	- Once again, corrects an incorrect dependency list.
4100(lib.mak [1.19]: 2000/05/02 07:14:11 lpd)
4101	- smd5.c didn't compile properly with "traditional C" compilers.
4102(lib.mak [1.20]: 2000/05/19 06:08:01 lpd)
4103	- Temporary files weren't created as private or exclusive.
4104(lib.mak [1.21], os2.mak [1.6], watc.mak [1.4], watclib.mak [1.4],
4105winlib.mak [1.3]: 2000/05/19 17:52:51 lpd)
4106	- The definitions of user names weren't properly associated with
4107local VM (they were stored in a static variable). (int.mak [1.22]:
41082000/05/26 02:27:58 lpd)
4109	- 'make install' on Unix systems didn't install pdfopt.ps and
4110pdfwrite.ps. (unixinst.mak [1.11]: 2000/05/30 23:07:34 lpd)
4111	- The dependency list for the new Epson Stylus Photo driver was
4112wrong, causing build problems if this driver was included.
4113(contrib.mak [1.13]: 2000/06/01 20:25:39 lpd)
4114	- The change to implement stripped TIFF files broke non-TIFF fax
4115output formats (faxg* drivers). Also factors plain-fax writing from TIFF
4116writing. (devs.mak [1.26]: 2000/06/06 06:37:37 lpd)
4117	- Corrects a typo introduced by recent changes. (msvctail.mak [1.3]:
41182000/06/07 06:36:54 lpd)
4119	- Rendering TrueType fonts didn't adjust the flatness to ensure
4120accurate results. (lib.mak [1.23]: 2000/06/20 15:46:53 lpd)
4121	- The makefile missed a dependency (CIDFontType 0 fonts require
4122FontType 2 fonts). (int.mak [1.23]: 2000/06/27 17:23:13 lpd)
4123	- The makefiles didn't include the requirement that gs_mro_e.ps be
4124loaded before gs_mgl_e.ps. (devs.mak [1.28], int.mak [1.24]: 2000/06/27
412517:36:42 lpd)
4126	- A dependency was missing. (lib.mak [1.24]: 2000/07/04 19:05:12
4127lpd)
4128	- Fixes a typo; reduces the number of false warnings for
4129documentation date mismatches. (toolbin/pre [1.4]: 2000/07/04 19:19:17 lpd)
4130	- Fixes a typo. (contrib.mak [1.16]: 2000/07/04 22:30:10 lpd)
4131	- Adds a missing dependency. (devs.mak [1.29]: 2000/07/04 22:30:33
4132lpd)
4133	- Adds a missing dependency. (contrib.mak [1.17]: 2000/07/06
413400:00:13 lpd)
4135
4136Increments the version number to 6.23. From now on, we use odd numbers
4137during development, even numbers for released filesets. (version.mak [1.15]:
41382000/04/29 16:49:43 lpd)
4139
4140Restructures the code for handling ImageType 3 images, for the benefit of
4141the PDF writer. (lib.mak [1.18]: 2000/04/30 03:08:15 lpd)
4142
4143Implements ImageType 3 images in the PDF writer. (devs.mak [1.23]:
41442000/04/30 06:21:58 lpd)
4145
4146Implements PatternType 2 patterns and shfill in the PDF writer.
4147(devs.mak [1.24]: 2000/05/02 07:14:58 lpd)
4148
4149Adds the first draft of a driver for the Practical Automation ATX-23, -24,
4150and -38 label/ticket printers, developed under contract. This has a dual
4151GPL/AFPL license. (devs.mak [1.25]: 2000/05/03 20:30:06 lpd)
4152
4153Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
4154flags for the `open' library call. (lib.mak [1.22]: 2000/05/31 20:34:43 lpd)
4155
4156Makes it possible to build on MSVC++ systems without specifying the paths
4157for the tools, headers, or libraries. See msvc{32,lib}.mak for details.
4158(msvc32.mak [1.4], msvccmd.mak [1.4], msvclib.mak [1.4], msvctail.mak [1.2],
4159winint.mak [1.4]: 2000/06/05 02:46:07 lpd)
4160
4161Adds a user-contributed driver for SFF (the file format for CAPI fax
4162devices). (contrib.mak [1.14]: 2000/06/06 06:38:31 lpd)
4163
4164Notes that the vgalib driver only suppotrs 16-color modes. (devs.mak [1.27]:
41652000/06/06 15:28:01 lpd)
4166
4167Removes an obsolete file. (toolbin/package.tcl [1.2]: 2000/06/06 18:05:32
4168lpd)
4169
4170Documents the fact that the IJG JPEG library header files must be available
4171when compiling, even if SHARE_JPEG=1. (dvx-gcc.mak [1.3], jpeg.mak [1.2],
4172unix-gcc.mak [1.6], unixansi.mak [1.4], unixtrad.mak [1.4]: 2000/06/07
417313:32:44 lpd)
4174
4175Finishes implementing the Process[DSC]Comment callout. (int.mak [1.25]:
41762000/06/28 20:17:00 lpd)
4177
4178Removes some third-party drivers with incompatible licenses.
4179(contrib.mak [1.15]: 2000/07/02 22:11:31 lpd)
4180
4181Finishes working around the fact that Microsoft C, in defiance of multiple
4182standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
4183anywhere else). (lib.mak [1.25]: 2000/07/05 00:48:21 lpd)
4184
4185Changes the version numbering system back to sequential (not odd/even).
4186Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
4187(version.mak [1.16]: 2000/07/05 17:23:54 lpd)
4188
4189</pre><h2><a name="6.22 Utilities"></a>Utilities</h2><pre>
4190
4191Fixes problems:
4192	- Fixes a couple of minor Windows NT compatibility problems in
4193script files. (lib/ps2pdf.bat [1.3], lib/ps2pdfxx.bat [1.5]: 2000/05/05
419403:21:03 lpd)
4195	- Temporary files weren't created as private or exclusive.
4196(gp_iwatc.c [1.3], gp_mswin.c [1.2], gp_os2.c [1.3]: 2000/05/19 17:52:51
4197lpd)
4198	- gsdll_init didn't propagate an error return from
4199gs_main_init_with_args, causing clients to think Ghostscript was initialized
4200properly when it wasn't. (gsdll.c [1.2]: 2000/05/20 14:39:42 lpd)
4201	- The batch files for MS-DOS, MS Windows, and OS/2 referred to the
4202executable by the name 'gs'. They now use environment variables GS
4203(graphical) and GSC (console) for the executable names, defaulting to
4204gswin32 and gswin32c respectively. (lib/bdftops.bat [1.2],
4205lib/eps2eps.bat [1.3], lib/font2c.bat [1.2], lib/gsbj.bat [1.2],
4206lib/gsdj.bat [1.2], lib/gsdj500.bat [1.2], lib/gslj.bat [1.2],
4207lib/gslp.bat [1.2], lib/gsnd.bat [1.2], lib/gsndt.bat [1.2],
4208lib/gssetgs.bat [1.1], lib/gst.bat [1.2], lib/gstt.bat [1.2],
4209lib/lpgs.bat [1.2], lib/lpr2.bat [1.2], lib/pdf2ps.bat [1.3],
4210lib/pdfopt.bat [1.2], lib/pftogsf.bat [1.2], lib/ps2ascii.bat [1.3],
4211lib/ps2epsi.bat [1.3], lib/ps2pdfxx.bat [1.7], lib/ps2ps.bat [1.3]:
42122000/05/20 20:53:05 lpd)
4213	- The ps2pdf.bat script didn't set the default PDF level, so it
4214normally produced PDF 1.3 rather than 1.2, which was contrary to the
4215documentation and different from the Unix ps2pdf script.
4216(lib/ps2pdf.bat [1.4]: 2000/06/08 02:33:09 lpd)
4217
4218Adds a user-contributed program for displaying the differences between two
4219AFM (font metric) files. This has a dual AFPL/GPL copyright.
4220(lib/afmdiff.awk [1.1]: 2000/04/29 20:51:41 lpd)
4221
4222Removes an out-of-date e-mail address. (lib/ps2pdfxx.bat [1.4]: 2000/05/04
422316:40:08 lpd)
4224
4225Adds -dSAFER to all the format conversion scripts in which the input is
4226executed as PostScript or PDF code. (lib/eps2eps [1.2],
4227lib/eps2eps.bat [1.2], lib/pdf2dsc [1.2], lib/pdf2ps [1.3],
4228lib/pdf2ps.bat [1.2], lib/ps2ascii [1.2], lib/ps2ascii.bat [1.2],
4229lib/ps2epsi [1.3], lib/ps2epsi.bat [1.2], lib/ps2pdfwr [1.5],
4230lib/ps2pdfxx.bat [1.6], lib/ps2ps [1.2], lib/ps2ps.bat [1.2]: 2000/05/19
423106:38:25 lpd)
4232
4233Adds -dSAFER to one more script. (lib/pdfopt [1.2]: 2000/05/30 05:28:22 lpd)
4234
4235Refactors some PDF-writing code for use in a PDF decompressor.
4236(lib/pdfwrite.ps [1.2]: 2000/06/27 17:06:32 lpd)
4237
4238Adds a number of (user-maintained) command files for OS/2.
4239(lib/bdftops.cmd [1.1], lib/eps2eps.cmd [1.1], lib/font2c.cmd [1.1],
4240lib/pdf2ps.cmd [1.1], lib/pf2afm.cmd [1.1], lib/ps2ascii.cmd [1.1],
4241lib/ps2epsi.cmd [1.1], lib/ps2pdf.cmd [1.1], lib/ps2pdf12.cmd [1.1],
4242lib/ps2pdf13.cmd [1.1], lib/ps2ps.cmd [1.1]: 2000/07/05 16:21:13 lpd)
4243
4244</pre><h2><a name="6.22 Drivers"></a>Drivers</h2><pre>
4245
4246Fixes problems:
4247	- The "compressed data" command encoding was wrong in one place in
4248the documentation, and the code used the incorrect encoding.
4249(gdevatx.c [1.2]: 2000/05/06 00:31:25 lpd)
4250	- If a file made no marks at all, ps2[e]ps produced bad output.
4251(gdevps.c [1.8]: 2000/05/07 15:38:27 lpd)
4252	- Returning an image compression parameter dictionary didn't close
4253an enumeration, failing to free a bookkeeping structure. (gdevpsdp.c [1.5]:
42542000/05/11 16:13:16 lpd)
4255	- The epswrite driver could produce output that used initclip, which
4256is not allowed in EPS files. (gdevps.c [1.9]: 2000/05/20 06:36:30 lpd)
4257	- The change to implement stripped TIFF files broke non-TIFF fax
4258output formats (faxg* drivers). Also factors plain-fax writing from TIFF
4259writing. (gdevfax.c [1.1], gdevfax.h [1.1], gdevtfax.c [1.3],
4260gdevtfax.h [1.3]: 2000/06/06 06:37:37 lpd)
4261	- In the X driver, resetting MaxBitmap didn't have the proper
4262effect, and could cause a crash. (This is probably only a partial fix.)
4263(gdevxini.c [1.4]: 2000/06/12 01:52:16 lpd)
4264	- Finishes fixing the handling of MaxBitmap in the X driver.
4265(gdevxini.c [1.5]: 2000/06/12 02:45:25 lpd)
4266	- In the ATX drivers, the word count for compressed scan lines was
4267written as 2 bytes rather than 1; the drivers wouldn't accept a page width
4268greater than 2400 pixels. (gdevatx.c [1.4]: 2000/06/12 04:39:48 lpd)
4269	- Works around a bug in the MSVC++ 5.0 compiler that treats (int <<
4270unsigned) as unsigned rather than int. (gdevcd8.c [1.2], gdevcdj.c [1.2],
4271gdevdj9.c [1.3]: 2000/06/20 14:21:34 lpd)
4272	- Uncolored Patterns used with a gray color produced incorrect PDF
4273output. (Bug introduced in 6.2x.) (gdevpsdu.c [1.5]: 2000/06/28 05:13:19
4274lpd)
4275	- Moves an assignment to eliminate a bogus warning from some picky
4276compilers about a variable supposedly clobbered by longjmp.
4277(gdevpng.c [1.2]: 2000/07/03 21:10:33 lpd)
4278	- Two values were computed and not used. (gdevpx.c [1.3]: 2000/07/03
427921:30:41 lpd)
4280	- [e]pswrite didn't guarantee a maximum line length of 255
4281characters, and didn't mark binary data with %%BeginData:/%%EndData.
4282(gdevps.c [1.10]: 2000/07/04 18:34:38 lpd)
4283	- Fixes references to undeclared functions. (gdevdfax.c [1.2],
4284gdevl256.c [1.2]: 2000/07/04 22:25:08 lpd)
4285	- X Windows platform fonts were broken when using multiple device
4286instances (windows). (gdevxxf.c [1.4]: 2000/07/05 18:20:41 lpd)
4287
4288Improves the test for whether compressing an image is worthwhile.
4289(gdevpsdi.c [1.11]: 2000/04/30 01:26:41 lpd)
4290
4291When printing color values derived from 8-bit fields, rounds the output to 3
4292decimal places for compactness with no loss of precision. (gdevpsdu.c [1.4]:
42932000/04/30 19:24:28 lpd)
4294
4295Adds the first draft of a driver for the Practical Automation ATX-23, -24,
4296and -38 label/ticket printers, developed under contract. This has a dual
4297GPL/AFPL license. (gdevatx.c [1.1]: 2000/05/03 20:30:06 lpd)
4298
4299Updates the ATX printer drivers to handle the unprintable margins.
4300(gdevatx.c [1.3]: 2000/05/19 05:48:30 lpd)
4301
4302Adds (more) user-contributed uniprint parameter files for the Epson Stylus
4303Color 640. (lib/st640ih.upp [1.1], lib/st640ihg.upp [1.1],
4304lib/st640p.upp [1.1], lib/st640pg.upp [1.1], lib/st640pl.upp [1.1],
4305lib/st640plg.upp [1.1]: 2000/05/23 18:58:56 lpd)
4306
4307Adds support for 11x17 paper in PCL printers; changes the paper size tests
4308so that paper size N+1 is selected if the requested height is at least 0.1"
4309greater than the height of paper size N. (gdevpcl.c [1.2], gdevpcl.h [1.2]:
43102000/05/30 03:24:17 lpd)
4311
4312Adds comments about H-P's inconsistent use of different names and size codes
4313for the 11x17 paper size. (gdevpcl.c [1.3], gdevpcl.h [1.3]: 2000/05/30
431420:45:45 lpd)
4315
4316Adds the ability to write multi-strip monochrome TIFF files, controlled by a
4317new MaxStripSize parameter for the monochrome TIFF drivers.
4318(gdevtfax.c [1.2], gdevtfax.h [1.2], gdevtfnx.c [1.2], gdevtifs.c [1.2],
4319gdevtifs.h [1.2]: 2000/06/05 05:41:55 lpd)
4320
4321Adds a user-contributed driver for SFF (the file format for CAPI fax
4322devices). (gdevcfax.c [1.1]: 2000/06/06 06:38:31 lpd)
4323
4324Notes that the vgalib driver only suppotrs 16-color modes.
4325(gdevvglb.c [1.2]: 2000/06/06 15:28:01 lpd)
4326
4327Adds some code contributed by Leon Bottou <leonb@research.att.com> that
4328makes the X driver prefer TrueColor visuals. We aren't sure of the
4329ramifications of this.... (gdevxini.c [1.6]: 2000/06/12 04:41:15 lpd)
4330
4331Updates the ATX driver(s) to enforce maximum page width and minimum page
4332length. (gdevatx.c [1.5]: 2000/06/22 14:55:53 lpd)
4333
4334Removes some third-party drivers with incompatible licenses.
4335(gdevcd8.c [1.3], gdevdj9.c [1.4], gdevhl12.c [1.2]: 2000/07/02 22:11:31
4336lpd)
4337
4338Per user request, changes the license on the basic monochrome
4339DeskJet/LaserJet drivers from AFPL to dual AFPL/GPL. (gdevdjet.c [1.5],
4340gdevdljm.c [1.3], gdevdljm.h [1.3]: 2000/07/05 17:36:14 lpd)
4341
4342</pre><h2><a name="6.22 PDF writer"></a>PDF writer</h2><pre>
4343
4344Fixes problems:
4345	- A "0 ||" was omitted, potentially causing some kinds of errors
4346that never happen in practice to be overlooked. (gdevpdfi.c [1.17]:
43472000/05/02 01:55:10 lpd)
4348	- Fixes minor syntactic incompatibilities with "traditional C"
4349compilers. (gdevpdfg.c [1.5]: 2000/05/11 16:14:51 lpd)
4350	- The PDF writer could still produce coordinates for paths that
4351exceeded Acrobat Reader's user-coordinate limit of +/- 32K.
4352(gdevpdfd.c [1.9]: 2000/05/23 21:05:00 lpd)
4353	- In PDF 1.2 output, several synthesized Type 3 fonts could have the
4354same name, producing errors and/or incorrect output. (bug introduced since
43556.01) (gdevpdf.c [1.17], gdevpdft.c [1.11], gdevpdfx.h [1.18]: 2000/05/24
435620:39:30 lpd)
4357	- The FontDescriptor flags for non-embedded alphabetic fonts with
4358non-Standard encodings incorrectly identified the font as a small-caps font.
4359(gdevpdff.c [1.6]: 2000/05/30 23:04:23 lpd)
4360	- Works around the fact that Acrobat Reader won't accept /MMType1
4361fonts, but will accept MM Type 1 instances if they're tagged as /Type1
4362rather than /MMType1. (gdevpdft.c [1.12], gdevpdfw.c [1.4]: 2000/06/12
436318:13:51 lpd)
4364	- Embedded Type 1 (but not Type 2 / 1C) fonts were written without
4365eexec encryption. We can't figure out how this happened, because the PDF
4366spec requires eexec encryption and the correct code was commented out; we
4367suppose this was a debugging or testing modification that got left in. (bug
4368introduced since 6.01) (gdevpdfe.c [1.2]: 2000/06/12 18:15:20 lpd)
4369	- Text in Type 3 synthesized fonts was often positioned incorrectly,
4370usually too far to the left. (bug introduced since 6.01) (gdevpdft.c [1.13]:
43712000/06/13 16:34:42 lpd)
4372	- Images that ended prematurely still (again?) weren't written
4373correctly. (gdevpdfj.c [1.4]: 2000/06/27 06:32:03 lpd)
4374
4375Implements ImageType 3 images in the PDF writer. (gdevpdfb.c [1.1],
4376gdevpdfg.h [1.6], gdevpdfi.c [1.16], gdevpdfj.c [1.3], gdevpdfx.h [1.16]:
43772000/04/30 06:21:58 lpd)
4378
4379Implements PatternType 2 patterns and shfill in the PDF writer.
4380(gdevpdfc.c [1.11], gdevpdfg.h [1.7], gdevpdfo.c [1.3], gdevpdfo.h [1.3],
4381gdevpdfv.c [1.1], gdevpdfx.h [1.17]: 2000/05/02 07:14:58 lpd)
4382
4383</pre><h2><a name="6.22 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre>
4384
4385Fixes problems:
4386	- PatternType 2 (shaded) Patterns caused errors.
4387(lib/pdf_draw.ps [1.14]: 2000/05/02 07:03:09 lpd)
4388	- -q (-dQUIET) didn't suppress all warnings from the PDF
4389interpreter. (lib/pdf_base.ps [1.8]: 2000/05/07 15:51:18 lpd)
4390	- FunctionType 3 functions with indirect /Bounds or /Encode entries
4391caused a typecheck error. (lib/pdf_draw.ps [1.15]: 2000/06/07 19:08:00 lpd)
4392	- If the TR element of an ExtGState was an array of Functions (for
4393setcolortransfer) rather a single Function (for settransfer), an error
4394occurred. (fix from Artifex) (lib/pdf_draw.ps [1.16]: 2000/06/12 00:40:45
4395lpd)
4396	- The code for keeping the Install procedure from getting more and
4397more deeply nested didn't actually work, and also caused pages with a
4398non-zero MediaBox offset to be translated incorrectly.
4399(lib/pdf_main.ps [1.8]: 2000/06/12 19:17:03 lpd)
4400	- PDF files with embedded TrueType fonts didn't map characters to
4401glyph indices correctly (i.e., using the same algorithm as Acrobat Reader).
4402(lib/pdf_font.ps [1.8]: 2000/06/21 02:15:01 lpd)
4403	- The built-in Identity CMaps had an incorrect entry count for
4404begincodespacerange and begincidrange; these CMaps, and all Type 0 fonts,
4405were constructed in a way that was incompatible with some old Adobe font
4406loading software. (lib/pdf_font.ps [1.9]: 2000/06/28 01:36:30 lpd)
4407	- If PDF interpretation was included in the build, the very first
4408line of a non-PDF file wouldn't be processed (if applicable) as a comment.
4409(lib/pdf_main.ps [1.9]: 2000/06/29 15:55:13 lpd)
4410
4411</pre><h2><a name="6.22 Interpreter"></a>Interpreter</h2><pre>
4412
4413Fixes problems:
4414	- localfork didn't properly initialize userdict in the new context.
4415(lib/gs_dps.ps [1.2]: 2000/05/01 07:20:37 lpd)
4416	- A null Pattern color caused an error. (zcolor2.c [1.2]: 2000/05/01
441715:15:06 lpd)
4418	- Fixes minor syntactic incompatibilities with "traditional C"
4419compilers. (zbfont.c [1.5], zfcid0.c [1.3]: 2000/05/11 16:14:51 lpd)
4420	- The 'monitor' operator was broken (probably had never been
4421tried!). (zcontext.c [1.2]: 2000/05/15 19:14:25 lpd)
4422	- -dSTRICT caused an error, /undefined in SIZES.
4423(lib/gs_statd.ps [1.3]: 2000/05/17 19:17:40 lpd)
4424	- CFF CID fonts in which the FDSelect array occurred before the
4425CharStrings caused an error. (lib/gs_cff.ps [1.5]: 2000/05/17 20:39:20 lpd)
4426	- dict_matrix3_param didn't work correctly on platforms where the
4427compiler aligned structures to a boundary larger than sizeof(float), causing
4428incorrect output or arithmetic exceptions for CIE color spaces.
4429(zcie.c [1.2]: 2000/05/18 19:02:25 lpd)
4430	- Flushing or closing a procedure-based output stream still wasn't
4431implemented correctly (it could cause an endless loop). (zfproc.c [1.3]:
44322000/05/19 19:35:01 lpd)
4433	- 'monitor' left its operand on the stack. (zcontext.c [1.3]:
44342000/05/22 21:15:23 lpd)
4435	- The definitions of user names weren't properly associated with
4436local VM (they were stored in a static variable). (btoken.h [1.2],
4437iref.h [1.2], iscanbin.c [1.3], zbseq.c [1.2], zdps.c [1.2]: 2000/05/26
443802:27:58 lpd)
4439	- Invoking an image operator with an empty string data source caused
4440an infinite loop. (zimage.c [1.4]: 2000/05/30 03:43:19 lpd)
4441	- The fix for associating the user name array with local VM didn't
4442create the user name table properly for new contexts with their own local
4443VM. The user name array is now created lazily. (btoken.h [1.3],
4444iscanbin.c [1.4], zbseq.c [1.3], zdps.c [1.3]: 2000/05/30 04:38:26 lpd)
4445	- As a result of the fix removing the incorrect same-local-VM check
4446in context_state_load, userparams wasn't updated properly when switching
4447contexts. (icontext.c [1.3]: 2000/05/30 20:40:17 lpd)
4448	- MAX_HALF_INTVAL was defined incorrectly, causing the mul operator
4449to run slower than necessary when multiplying two small integers.
4450(zarith.c [1.2]: 2000/06/04 17:00:29 lpd)
4451	- Shadings with an array of Functions caused a rangecheck or
4452typecheck error. (zshade.c [1.2]: 2000/06/04 18:26:17 lpd)
4453	- If the new value of a device parameter was an array with some
4454integers and some reals, and the first element was a real, a typecheck error
4455would occur. (iparam.c [1.4]: 2000/06/19 22:22:51 lpd)
4456	- PDF files with embedded TrueType fonts didn't map characters to
4457glyph indices correctly (i.e., using the same algorithm as Acrobat Reader).
4458(lib/gs_agl.ps [1.1], lib/gs_ttf.ps [1.5]: 2000/06/21 02:15:01 lpd)
4459	- The dictionary used to hold Encodings wasn't large enough.
4460(lib/gs_init.ps [1.10]: 2000/06/27 17:55:05 lpd)
4461	- The change in parameter type checking required for the new
4462Process[DSC]Comment user parameters broke type checking for system
4463parameters. (lib/gs_lev2.ps [1.4]: 2000/06/27 17:56:04 lpd)
4464	- Calling out to process a comment during scanning left an extra
4465element on the operand stack if the comment appeared within { }.
4466(ztoken.c [1.3]: 2000/06/28 00:47:05 lpd)
4467	- In some cases, two successive DSC comments produced a syntaxerror.
4468(ztoken.c [1.4]: 2000/06/28 05:14:17 lpd)
4469	- The code for registering compiled fonts was sensitive to its
4470position in the order of loading the initialization files (caused an error
4471if loaded too early). (lib/gs_ccfnt.ps [1.3]: 2000/06/29 23:31:14 lpd)
4472	- [gs_]currentgray didn't return the correct value if the current
4473color space was a DeviceN space using the alternate space. (zcolor.c [1.3],
4474zcolor1.c [1.2]: 2000/07/03 15:28:26 lpd)
4475
4476Adds predefined pdfwrite settings similar to the three standard settings in
4477Adobe Acrobat Distiller 4, plus a "default" setting, with
4478-dPDFSETTINGS=/settingname. (lib/gs_pdfwr.ps [1.4]: 2000/04/29 02:29:21 lpd)
4479
4480Increments the version number to 6.23. From now on, we use odd numbers
4481during development, even numbers for released filesets.
4482(lib/gs_init.ps [1.8]: 2000/04/29 16:49:43 lpd)
4483
4484Changes .buildfont1 to accept Type 1 fonts with LanguageGroup other than 0
4485or 1. This is contrary to the spec, but we've seen a few fonts with other
4486values. (zfont1.c [1.5]: 2000/05/06 08:19:37 lpd)
4487
4488Cleans up code and comments slightly. (lib/gs_dps.ps [1.3]: 2000/05/30
448920:35:56 lpd)
4490
4491Adds user parameters ProcessComment and ProcessDSCComment. If not null,
4492these procedures are called with the file and the comment line whenever the
4493scanner detects a comment (or non-DSC comment) or DSC comment. NOTE: the
4494interpreter is currently patched so that ProcessComment is never called.
4495(interp.c [1.4], iscan.c [1.2], iscan.h [1.2], lib/gs_init.ps [1.9],
4496lib/gs_lev2.ps [1.3], ztoken.c [1.2], ztype.c [1.2]: 2000/06/27 00:53:38
4497lpd)
4498
4499Finishes implementing the Process[DSC]Comment callout. (icontext.c [1.4],
4500icstate.h [1.3], interp.c [1.5], iscan.h [1.3], itoken.h [1.1],
4501lib/gs_init.ps [1.11], ztoken.c [1.5], zusparam.c [1.2]: 2000/06/28 20:17:00
4502lpd)
4503
4504Changes the name of the unread operator to .unread, retaining unread as a
4505synonym for backward compatibility. (lib/gs_init.ps [1.12], zfileio.c [1.7]:
45062000/06/29 15:58:24 lpd)
4507
4508Adds a findprotodevice "operator", to find a device prototype by name.
4509(lib/gs_init.ps [1.13]: 2000/07/05 04:49:11 lpd)
4510
4511Changes the version numbering system back to sequential (not odd/even).
4512Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
4513(lib/gs_init.ps [1.14]: 2000/07/05 17:23:54 lpd)
4514
4515</pre><h2><a name="6.22 Streams"></a>Streams</h2><pre>
4516
4517Fixes problems:
4518	- file_limit wasn't initialized properly in some cases.
4519(sfxfd.c [1.4], sfxstdio.c [1.3]: 2000/05/02 02:06:41 lpd)
4520	- smd5.c didn't compile properly with "traditional C" compilers.
4521(smd5.c [1.2]: 2000/05/19 06:08:01 lpd)
4522	- The workaround for Microsoft C's omission of O_APPEND et al caused
4523warnings or errors with other compilers. (stat_.h [1.3]: 2000/07/03 21:07:05
4524lpd)
4525
4526Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
4527flags for the `open' library call. (stat_.h [1.2]: 2000/05/31 20:34:43 lpd)
4528
4529Finishes working around the fact that Microsoft C, in defiance of multiple
4530standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
4531anywhere else). (stat_.h [1.4]: 2000/07/05 00:48:21 lpd)
4532
4533</pre><h2><a name="6.22 Library"></a>Library</h2><pre>
4534
4535Fixes problems:
4536	- A null Pattern color caused an error. (gspcolor.c [1.2]:
45372000/05/01 15:15:07 lpd)
4538	- A procedure name exceeded VMS's 31-character limit.
4539(gsparam.h [1.6]: 2000/05/02 01:47:50 lpd)
4540	- If the DataSource of a shading was a reusable stream, the stream
4541wasn't reset before rendering the shading. (gxshade.c [1.2]: 2000/05/02
454207:05:10 lpd)
4543	- shfill didn't go through the device fill_path procedure,
4544preventing it from being written out as a high-level PostScript or PDF
4545construct. (gscolor3.c [1.2]: 2000/05/02 07:06:23 lpd)
4546	- Once again, corrects an incorrect dependency list.
4547(gscolor3.c [1.3]: 2000/05/02 07:14:11 lpd)
4548	- The code for adding elements to small-string free lists was wrong,
4549possibly causing an endless loop. (gsnogc.c [1.3]: 2000/05/04 01:29:53 lpd)
4550	- Fixes minor syntactic incompatibilities with "traditional C"
4551compilers. (gsfunc4.c [1.2], gstype42.c [1.5]: 2000/05/11 16:14:51 lpd)
4552	- CIEBasedDEF[G] color spaces computed incorrect results or caused
4553invalid memory accesses, especially if DecodeDEF[G] is not the identity
4554function. (This bug had probably been there since these color spaces were
4555first implemented, unnoticed because DecodeDEF[G] is almost always the
4556identity.) (gscie.c [1.2], gsciemap.c [1.2], gxctable.c [1.2]: 2000/05/15
455719:58:38 lpd)
4558	- Temporary files weren't created as private or exclusive.
4559(close_.h [1.1], gp_unifs.c [1.2], gpmisc.c [1.1], gpmisc.h [1.1]:
45602000/05/19 17:52:51 lpd)
4561	- OutputFile values starting with a %d format string caused an
4562error. (bug introduced in 5.85) (gsdevice.c [1.4]: 2000/05/20 06:58:11 lpd)
4563	- In rare cases, an overflow could occur in the filling loop,
4564producing distorted output. (Fix from Artifex Software.) (gxfill.c [1.3]:
45652000/05/23 05:46:52 lpd)
4566	- When writing PDF or PostScript, stroked rectangles could sometimes
4567be omitted from the output. (gdevvec.c [1.3]: 2000/05/24 18:48:14 lpd)
4568	- In PDF output, the conversion of Type 1 to Type 2 CharStrings
4569didn't adjust the X offset of the accent for 'seac', causing accents to be
4570displaced to the right. (gdevpsfx.c [1.3]: 2000/05/24 23:20:43 lpd)
4571	- The definitions of user names weren't properly associated with
4572local VM (they were stored in a static variable). (gsalloc.c [1.3],
4573gxalloc.h [1.2]: 2000/05/26 02:27:58 lpd)
4574	- The change for local user names didn't update the structure
4575descriptor for gs_ref_memory_t. (gsalloc.c [1.4], gxalloc.h [1.3]:
45762000/05/26 02:33:38 lpd)
4577	- The fix for 'seac' when converting Type 1 to Type 2 CharStrings
4578wasn't quite complete. (gdevpsfx.c [1.4]: 2000/05/26 20:48:37 lpd)
4579	- If [eo]clip set a rectangular region, clippath would return the
4580rounded clipping box, not the correct clipping path. (gxcpath.c [1.2]:
45812000/05/31 22:20:04 lpd)
4582	- ShadingType 2 shadings could cause an invalid memory access.
4583(gsfunc3.c [1.3]: 2000/06/04 18:25:33 lpd)
4584	- Printer drivers that didn't implement print_page_copies didn't
4585print multiple copies of the same page on separate files if the OutputFile
4586name included %d, and some drivers (such as the TIFF drivers) produced
4587invalid output. (gdevprn.c [1.4]: 2000/06/05 02:04:26 lpd)
4588	- 32-bit sample values in shading data didn't work, because some
4589CPUs execute (1 << 32) as (1 << 0). (gxshade.c [1.3]: 2000/06/07 19:07:17
4590lpd)
4591	- Type 1 fonts without eexec encryption still included the 4 eexec
4592padding bytes. (bug probably introduced since 6.0) (gdevpsf1.c [1.4]:
45932000/06/12 17:38:48 lpd)
4594	- Axial shadings with a non-orthogonal CTM could fail to fill the
4595required region. (fix from Artifex) (gxshade1.c [1.4]: 2000/06/12 21:45:19
4596lpd)
4597	- When allocator debugging was enabled (-Z@), 'restore' didn't clear
4598vacated space in inner chunks. (gsalloc.c [1.5]: 2000/06/13 07:04:18 lpd)
4599	- the row buffers for images weren't allocated with a stable
4600allocator, possibly causing data corruption or invalid accesses if a
4601PostScript program invoked save/restore within the data-reading procedure
4602for an image. (gsimage.c [1.2]: 2000/06/13 07:05:21 lpd)
4603	- Rendering TrueType fonts didn't adjust the flatness to ensure
4604accurate results. (gstype42.c [1.6], gxchrout.c [1.1], gxchrout.h [1.1],
4605gxtype1.c [1.5]: 2000/06/20 15:46:53 lpd)
4606	- Calling get_params with a static (read-only) device prototype
4607could cause a memory access error. (gsdparam.c [1.3]: 2000/06/22 14:05:49
4608lpd)
4609	- [gs_]currentgray didn't return the correct value if the current
4610color space was a DeviceN space using the alternate space. (gscolor.c [1.2],
4611gscolor.h [1.2], gscolor1.c [1.2]: 2000/07/03 15:28:26 lpd)
4612	- Some picky compilers complained about "integer constant is
4613unsigned in ANSI C, signed with -traditional". (md5.c [1.2]: 2000/07/03
461421:55:18 lpd)
4615	- If TMPDIR wasn't defined, TEMP would be ignored. (bug introduced
4616in 6.23) (gpmisc.c [1.4]: 2000/07/04 19:54:00 lpd)
4617	- Watcom C requires the non-standard O_BINARY mode flag when opening
4618(with open) a file that will later be opened in binary mode with fdopen.
4619(gpmisc.c [1.6]: 2000/07/05 17:08:27 lpd)
4620
4621Restructures the code for handling ImageType 3 images, for the benefit of
4622the PDF writer. (gximage3.c [1.3], gximage3.h [1.1]: 2000/04/30 03:08:15
4623lpd)
4624
4625Implements ImageType 3 images in the PDF writer. (gximage3.c [1.4],
4626gximage3.h [1.2]: 2000/04/30 06:21:58 lpd)
4627
4628Creates a procs structure for shadings, moving the fill_rectangle procedure
4629into it, in anticipation of adding a get_params procedure. (gsshade.c [1.2],
4630gsshade.h [1.2], gxshade.h [1.2]: 2000/04/30 19:37:37 lpd)
4631
4632Implements PatternType 2 patterns and shfill in the PDF writer.
4633(gsptype2.c [1.2]: 2000/05/02 07:14:58 lpd)
4634
4635Changes gdev_prn_file_is_new from a macro to a procedure. (gdevprn.c [1.3],
4636gdevprn.h [1.4]: 2000/05/20 20:25:48 lpd)
4637
4638Works around the fact that Microsoft Visual C++ defines S_IREAD and S_IWRITE
4639but not their newer equivalents S_IRUSR and S_IWUSR. (gpmisc.c [1.2]:
46402000/05/24 18:49:54 lpd)
4641
4642Changes some assignments to work around over-zealous compiler warnings.
4643(gxtype1.c [1.4]: 2000/05/24 23:52:58 lpd)
4644
4645Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
4646flags for the `open' library call. (gpmisc.c [1.3]: 2000/05/31 20:34:43 lpd)
4647
4648Improves some comments in A_fill_stripe. (gxshade1.c [1.3]: 2000/06/04
464920:58:23 lpd)
4650
4651Finishes working around the fact that Microsoft C, in defiance of multiple
4652standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
4653anywhere else). (fcntl_.h [1.1], gpmisc.c [1.5]: 2000/07/05 00:48:21 lpd)
4654
4655Adds O_BINARY to the Microsoft compatibility fcntl.h patch. (fcntl_.h [1.2]:
46562000/07/05 17:21:43 lpd)
4657
4658Changes the version numbering system back to sequential (not odd/even).
4659Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
4660(gscdef.c [1.3]: 2000/07/05 17:23:54 lpd)
4661
4662Updates GS_PRODUCT for making a fileset. (gscdef.c [1.4]: 2000/07/06
466300:01:03 lpd)
4664
4665<hr>
4666
4667<h1><a name="Version6.21"></a>Version 6.21 (2000-04-28)</h1>
4668
4669<p>
4670This fileset includes more PDF writer enhancements: conversion of embedded
4671Type 1 fonts to Type 1C (smaller), handling of more color spaces for images,
4672ImageType 4 images, compression of mask images, support for (tiled) Pattern
4673colors, more graphics state distiller parameters, recording of graphics
4674state functions in the output.  It also greatly improves the space usage and
4675loading time for CMaps.
4676
4677<p>
4678All problems registered on SourceForge numbered 104890 or lower are closed,
4679except for the following: 101549, 101814, 101905, 101955, 102146, 102735,
4680103528, 104118, 104375.
4681
4682<p>
4683The following projects are in a partially completed state in the PDF writer:
4684
4685<ul>
4686
4687<li>CID-keyed fonts (gdevpdf[eftw].c) -- barely started.
4688
4689<li>ImageType 3 images (gdevpdf[ij].c) -- started.
4690
4691</ul>
4692
4693<pre>
4694
4695<h2><a name="6.21_Incompatible_changes"></a>Incompatible changes</h2>
4696
4697(Drivers)
4698	- The downsampling filters now require WidthIn and HeightIn,
4699replacing Columns.
4700	- The gp_ procedures for managing screen swapping between console
4701and graphics are removed.
4702	- Any driver that processes the pdfmark pseudo-parameter must now
4703also return null for the "value" of the pdfmark parameter when (and only
4704when) specifically requested.
4705(PDF writer)
4706	- The last argument of pdf_alloc_font has changed.
4707	- pdf_set_color is renamed pdf_set_pure_color.
4708	- When producing PDF 1.3 output, the base 14 fonts are now
4709candidates for embedding just like any other fonts.
4710(Interpreter)
4711	- The .fontproperties procedure in gs_fonts.ps now takes an
4712additional argument.
4713	- The interpreter must no longer reference stdin/out/err directly.
4714(Library)
4715	- The internal representation of CMaps is changed completely, and
4716has several new required members.
4717	- gs_cmap is renamed gs_cmap_t; gx_code_map is renamed
4718gx_code_map_t.
4719	- Clients creating CMaps must call gs_cmap_init to initialize them.
4720	- The library must no longer reference stdin/out/err directly.
4721
4722
4723<h2><a name="6.21 Documentation"></a>Documentation</h2><pre>
4724
4725Fixes problems:
4726	- The PDF writer could get an ioerror when downsampling images whose
4727size wasn't an exact multiple of the downsampling factor.
4728(doc/News.htm [1.31]: 2000/04/13 16:44:59 lpd)
4729	- When processing a PDF file, the font substitution heuristic based
4730on the FontName sometimes overrode the Flags information in the
4731FontDescriptor. (doc/News.htm [1.34]: 2000/04/20 06:36:02 lpd)
4732	- When pdfwrite was producing PDF 1.3 output, the base 14 fonts were
4733never embedded, rather than being handled like all other fonts.
4734(doc/News.htm [1.37]: 2000/04/20 23:49:40 lpd)
4735	- The URL for the Arphic free Chinese fonts had become incorrect.
4736(doc/Fonts.htm [1.3]: 2000/04/27 13:44:52 lpd)
4737	- Fixes a few typos, and adds GS_FONTPATH to the list of environment
4738variables to be unset for a pristine test run. (doc/Release.htm [1.10]:
47392000/04/28 22:08:41 lpd)
4740
4741Adds projects related to SVG and to pswrite image compression.
4742(doc/Projects.htm [1.4]: 2000/04/07 18:39:12 lpd)
4743
4744Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with
4745.ps. (doc/Ps2pdf.htm [1.7], man/ps2pdf.1 [1.5], man/ps2pdfwr.1 [1.2]:
47462000/04/07 19:28:14 lpd)
4747
4748Completely redesigns the representation of CMaps, to reduce space
4749requirements and make comparing them more reasonable, changing gs_cmap to
4750gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
4751PostScript code currently only handles a few well-behaved CMap structures.)
4752(doc/News.htm [1.27]: 2000/04/08 03:54:38 lpd)
4753
4754Documents the need to set SYNC=nosync on NextStep / OpenStep systems.
4755(doc/Make.htm [1.10]: 2000/04/10 04:45:37 lpd)
4756
4757Overhauls font embedding in the PDF writer: splits off the code into a new
4758file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
4759adds a little bit of code for future support of Type 0 and CID-keyed fonts.
4760(doc/News.htm [1.28]: 2000/04/10 07:48:37 lpd)
4761
4762Documents the fact that building on NeXTSTEP 3.3 systems requires removing
4763-Wmissing-declarations from GCFLAGS. (doc/Make.htm [1.11]: 2000/04/11
476414:06:54 lpd)
4765
4766Enhances pdf2ps to allow defaulting the output file name.
4767(man/pdf2ps.1 [1.2]: 2000/04/11 14:23:24 lpd)
4768
4769Factors out code for writing functions and for adding filter-related entries
4770to a stream dictionary; implements the DefaultRenderingIntent distiller
4771parameter. (doc/Ps2pdf.htm [1.8]: 2000/04/11 16:06:57 lpd)
4772
4773Implements additional distiller parameters: PreserveHalftoneInfo,
4774PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs.
4775Remove), UCRandBGInfo. Splits off graphics state management into separate
4776files. Implements the remaining graphics state parameters (halftone,
4777transfer function, black generation, undercolor removal, halftone phase,
4778smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******.
4779In anticipation of handling more general colors, renames pdf_set_color as
4780pdf_set_pure_color, and adds pdf_set_drawing_color. (doc/News.htm [1.29]:
47812000/04/11 18:31:32 lpd)
4782
4783Updates documentation to match recent changes in the pdfwrite driver.
4784(doc/Ps2pdf.htm [1.9]: 2000/04/11 22:56:17 lpd)
4785
4786Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa
4787dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'.
4788(man/pfbtopfa.1 [1.2]: 2000/04/12 17:41:41 lpd)
4789
4790In pdfwrite, rewrites the image writing code to use Cos objects rather than
4791direct printing, and splits off the creation of image dictionaries into a
4792new file; adds support for tiling with uncolored Patterns; implements
4793converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
4794same for ImageType 3. This code is "in progress" and likely to have problems
4795for a while. (doc/News.htm [1.30]: 2000/04/12 18:44:35 lpd)
4796
4797Implements pdfwrite compression for mask images, using the same parameters
4798as for monochrome images. (doc/News.htm [1.32]: 2000/04/13 18:40:23 lpd)
4799
4800Adds user-contributed uniprint parameter files for the Canon BJC-8200,
4801including an addition for the Red Hat printer data base.
4802(doc/Devices.htm [1.4]: 2000/04/14 03:59:57 lpd)
4803
4804Slightly updates the user-contributed documentation on the new BJC-8200
4805uniprint parameters. (doc/Devices.htm [1.5]: 2000/04/15 00:20:54 lpd)
4806
4807Completes code for reading and writing CMaps. (doc/News.htm [1.33]:
48082000/04/16 03:05:29 lpd)
4809
4810Clarifies some details of posting releases on SourceForge.
4811(doc/Release.htm [1.9]: 2000/04/17 22:59:24 lpd)
4812
4813Converts the ps2epsi documentation to HTML. (doc/Ps2epsi.htm [1.1],
4814doc/Readme.htm [1.6], doc/ps2epsi.txt [1.2]: 2000/04/18 17:59:13 lpd)
4815
4816Adds a couple of graphics library optimization projects.
4817(doc/Projects.htm [1.5]: 2000/04/19 04:05:11 lpd)
4818
4819Adds a project for creating an OutputDevice resource instance for each
4820device. (doc/Projects.htm [1.6]: 2000/04/19 21:37:47 lpd)
4821
4822Checks in the accumulated change log. (doc/Changes.htm [1.10]: 2000/04/20
482307:24:22 lpd)
4824
4825Removes the gp_ procedures for managing screen swapping between console and
4826graphics, which haven't been used for a long time and are no longer useful.
4827(doc/News.htm [1.35]: 2000/04/20 22:47:35 lpd)
4828
4829Removes all remaining direct references to stdin/out/err from the library,
4830interpreter, and non-contributed drivers; moves the ersatz definitions of
4831stdin/out/err to a new header file. (doc/News.htm [1.36]: 2000/04/20
483223:30:22 lpd)
4833
4834Reduces the startup time for displaying PDF files, by skipping the creation
4835of pdfmarks for annotations and outlines when the output device doesn't
4836process pdfmarks. (doc/News.htm [1.38]: 2000/04/21 16:58:28 lpd)
4837
4838Notes that even if SHARE_JPEG=1, the IJG library sources are required.
4839(doc/Make.htm [1.12]: 2000/04/27 07:39:05 lpd)
4840
4841Documents the new -dPrinted[=true/false] switch for PDF files.
4842(doc/Use.htm [1.3]: 2000/04/27 08:17:05 lpd)
4843
4844Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
4845No output is produced until the filter is closed. (doc/Language.htm [1.2]:
48462000/04/27 14:39:57 lpd)
4847
4848Updates the description of the project to produce higher-level PCL output.
4849(doc/Projects.htm [1.7]: 2000/04/28 10:42:02 lpd)
4850
4851Adds a sample file containing a wide variety of PDF annotations; updates
4852documentation for this and some other overlooked files.
4853(doc/Psfiles.htm [1.4]: 2000/04/28 10:51:02 lpd)
4854
4855Notes that the uniprint dnj750c.upp parameters are also good for the 450C.
4856(doc/Devices.htm [1.6]: 2000/04/28 14:27:02 lpd)
4857
4858Updates release dates. (man/pdf2ps.1 [1.3], man/ps2ps.1 [1.5]: 2000/04/28
485918:29:32 lpd)
4860
4861Updates version numbers and dates for the 6.21 fileset.
4862(doc/Bug-form.htm [1.6], doc/Devices.htm [1.7], doc/Fonts.htm [1.4],
4863doc/Language.htm [1.3], doc/Make.htm [1.13], doc/Projects.htm [1.8],
4864doc/Ps2epsi.htm [1.2], doc/Psfiles.htm [1.5], doc/Readme.htm [1.7],
4865doc/Use.htm [1.4]: 2000/04/28 22:06:25 lpd)
4866
4867Updates the news for the 6.21 fileset. (doc/News.htm [1.39]: 2000/04/28
486822:18:16 lpd)
4869
4870</pre><h2><a name="6.21 Procedures"></a>Procedures</h2><pre>
4871
4872Fixes problems:
4873	- Some makefile macros were used before being defined.
4874(devs.mak [1.9], lib.mak [1.9]: 2000/04/07 16:02:03 lpd)
4875	- `make install-data' didn't install lib/gs_frsd.ps or
4876lib/pdfopt.ps. (unixinst.mak [1.7]: 2000/04/07 19:17:48 lpd)
4877	- gsmake would get into a loop if the makefile was not a symbolic
4878link; `gsmake check' didn't accept a makefile name on the command line.
4879(toolbin/gsmake.tcl [1.2]: 2000/04/07 19:37:21 lpd)
4880	- `makemaster' referred to an undefined variable. (How could it ever
4881have worked?) (toolbin/makeset.tcl [1.3]: 2000/04/07 19:39:27 lpd)
4882	- A dependency wasn't updated when moving the gdevpsf* rules from
4883devs.mak to lib.mak. (lib.mak [1.10]: 2000/04/07 19:40:25 lpd)
4884	- The dependencies in the makefile weren't updated for the pdfwrite
4885font embedding overhaul. (devs.mak [1.11]: 2000/04/10 18:57:33 lpd)
4886	- Once again, the dependencies hadn't been updated. (int.mak [1.17]:
48872000/04/11 15:59:42 lpd)
4888	- Setting pdfwrite parameters for a DCTEncode filter could cause a
4889crash (memory fault). (devs.mak [1.16]: 2000/04/13 01:53:07 lpd)
4890	- `make install' didn't install all the documentation files.
4891(unixinst.mak [1.9]: 2000/04/14 04:06:13 lpd)
4892	- The Color LaserJet 5 drivers were incorrectly identified as
4893"supported" rather than "contributed". (contrib.mak [1.7], devs.mak [1.17]:
48942000/04/20 17:12:54 lpd)
4895	- PDF images with a bitmap Mask caused errors or produced incorrect
4896output. (int.mak [1.20]: 2000/04/24 00:59:04 lpd)
4897
4898Completely redesigns the representation of CMaps, to reduce space
4899requirements and make comparing them more reasonable, changing gs_cmap to
4900gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
4901PostScript code currently only handles a few well-behaved CMap structures.)
4902(int.mak [1.16]: 2000/04/08 03:54:38 lpd)
4903
4904Updates version #s to 6.21. (We should have done this earlier.)
4905(version.mak [1.12]: 2000/04/10 04:46:36 lpd)
4906
4907Overhauls font embedding in the PDF writer: splits off the code into a new
4908file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
4909adds a little bit of code for future support of Type 0 and CID-keyed fonts.
4910(devs.mak [1.10]: 2000/04/10 07:48:37 lpd)
4911
4912Adds Function-based tint_transform procedures for Separation and DeviceN
4913color spaces. (lib.mak [1.11]: 2000/04/10 19:02:19 lpd)
4914
4915Factors out code for writing functions and for adding filter-related entries
4916to a stream dictionary; implements the DefaultRenderingIntent distiller
4917parameter. (devs.mak [1.12]: 2000/04/11 16:06:57 lpd)
4918
4919Implements additional distiller parameters: PreserveHalftoneInfo,
4920PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs.
4921Remove), UCRandBGInfo. Splits off graphics state management into separate
4922files. Implements the remaining graphics state parameters (halftone,
4923transfer function, black generation, undercolor removal, halftone phase,
4924smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******.
4925In anticipation of handling more general colors, renames pdf_set_color as
4926pdf_set_pure_color, and adds pdf_set_drawing_color. (devs.mak [1.13]:
49272000/04/11 18:31:32 lpd)
4928
4929Splits off creation and writing of color spaces, and writing color values,
4930into a separate file. Adds support for (Function-based) Separation and
4931DeviceN color spaces, general Pattern color spaces, and procedure-based
4932Indexed color spaces. Adds some code to support Pattern colors, but stubs it
4933out because it depends on changes in the image writing code that haven't
4934been integrated yet. In fact, most of the new code isn't called yet, either.
4935(devs.mak [1.14]: 2000/04/11 19:10:13 lpd)
4936
4937In pdfwrite, rewrites the image writing code to use Cos objects rather than
4938direct printing, and splits off the creation of image dictionaries into a
4939new file; adds support for tiling with uncolored Patterns; implements
4940converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
4941same for ImageType 3. This code is "in progress" and likely to have problems
4942for a while. (devs.mak [1.15]: 2000/04/12 18:44:35 lpd)
4943
4944Adds user-contributed uniprint parameter files for the Canon BJC-8200,
4945including an addition for the Red Hat printer data base.
4946(unixinst.mak [1.8]: 2000/04/14 03:59:57 lpd)
4947
4948Adds code to write out CMaps, similar to the code for writing fonts, for
4949eventual embedding in PDF output. (int.mak [1.18], lib.mak [1.12]:
49502000/04/14 07:17:24 lpd)
4951
4952Completes code for reading and writing CMaps. (int.mak [1.19],
4953lib.mak [1.13]: 2000/04/16 03:05:29 lpd)
4954
4955Adds a user-contributed driver for the Epson Stylus (Color) Photo printers.
4956(contrib.mak [1.6]: 2000/04/18 06:34:26 lpd)
4957
4958Converts the ps2epsi documentation to HTML. (unixinst.mak [1.10]: 2000/04/18
495917:59:13 lpd)
4960
4961Checks in the accumulated change log. (version.mak [1.13]: 2000/04/20
496207:24:22 lpd)
4963
4964Converts the bmp* and bmpa* devices to -dev2, to make them const.
4965(devs.mak [1.18]: 2000/04/20 17:19:21 lpd)
4966
4967Removes the gp_ procedures for managing screen swapping between console and
4968graphics, which haven't been used for a long time and are no longer useful.
4969(dvx-tail.mak [1.2], lib.mak [1.14], openvms.mak [1.3], openvms.mmk [1.4],
4970os2.mak [1.5], unix-aux.mak [1.2], watc.mak [1.3], watclib.mak [1.3],
4971winlib.mak [1.2]: 2000/04/20 22:47:35 lpd)
4972
4973Removes all remaining direct references to stdin/out/err from the library,
4974interpreter, and non-contributed drivers; moves the ersatz definitions of
4975stdin/out/err to a new header file. (lib.mak [1.15], unix-gcc.mak [1.5]:
49762000/04/20 23:30:22 lpd)
4977
4978Adds compression for pdfwrite Patterns. (devs.mak [1.19]: 2000/04/24
497906:13:02 lpd)
4980
4981Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
4982No output is produced until the filter is closed. (devs.mak [1.20],
4983int.mak [1.21], lib.mak [1.16]: 2000/04/27 14:39:57 lpd)
4984
4985Adds a user-contributed driver for the H-P 970Cxi inkjet printer.
4986(contrib.mak [1.8]: 2000/04/27 14:55:56 lpd)
4987
4988Factors the H-P monochrome laser and inkjet drivers into a generic driver
4989and printer-specific clients. (devs.mak [1.21]: 2000/04/27 20:16:33 lpd)
4990
4991Adds a user-contributed driver for the Brother HL-1250 laser printer. This
4992has a dual AFPL/GPL license, and a non-Aladdin copyright.
4993(contrib.mak [1.9]: 2000/04/27 20:18:39 lpd)
4994
4995Once again, updates some dependency lists that had become inconsistent with
4996the code. (contrib.mak [1.10], devs.mak [1.22], lib.mak [1.17]: 2000/04/27
499721:36:19 lpd)
4998
4999Yet again, updates an out-of-date dependency list. (contrib.mak [1.11]:
50002000/04/28 18:28:42 lpd)
5001
5002Changes the check for documentation files having the correct embedded date.
5003(toolbin/pre [1.3]: 2000/04/28 18:29:14 lpd)
5004
5005Updates version numbers and dates for the 6.21 fileset. (version.mak [1.14]:
50062000/04/28 22:06:26 lpd)
5007
5008</pre><h2><a name="6.21 Utilities"></a>Utilities</h2><pre>
5009
5010Fixes problems:
5011	- The e-mail address for reporting problems was out of date.
5012(lib/ps2epsi.ps [1.2]: 2000/04/10 02:27:21 lpd)
5013	- If a font didn't have a FontName (which is the case for bitmap
5014fonts produced by recent versions of dvips), ps2epsi caused an error.
5015(lib/ps2epsi.ps [1.3]: 2000/04/11 16:32:51 lpd)
5016	- Backs out contributed changes of 2000-03-05 because of bugs.
5017(ansi2knr.c [1.3]: 2000/04/13 03:41:48 lpd)
5018	- ps2epsi removed all ^M characters in the input, possibly
5019corrupting binary data. (lib/ps2epsi [1.2]: 2000/04/27 01:44:04 lpd)
5020
5021Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with
5022.ps. (lib/ps2pdfwr [1.2], lib/ps2pdfxx.bat [1.2]: 2000/04/07 19:28:14 lpd)
5023
5024Enhances pdf2ps to allow defaulting the output file name. (lib/pdf2ps [1.2]:
50252000/04/11 14:23:24 lpd)
5026
5027Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa
5028dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'. (lib/pfbtopfa [1.2]:
50292000/04/12 17:41:41 lpd)
5030
5031Adds user-contributed uniprint parameter files for the Canon BJC-8200,
5032including an addition for the Red Hat printer data base. (lib/bj8.rpd [1.1]:
50332000/04/14 03:59:57 lpd)
5034
5035Increases the VMThreshold when converting PostScript to PDF, to reduce
5036garbage collection overhead. (lib/ps2pdfwr [1.3]: 2000/04/17 19:06:58 lpd)
5037
5038Moves the optimization prologue for ps2pdf from the command line to a
5039procedure, to avoid shell length limits. (lib/ps2pdfwr [1.4],
5040lib/ps2pdfxx.bat [1.3]: 2000/04/18 16:40:14 lpd)
5041
5042Removes the gp_ procedures for managing screen swapping between console and
5043graphics, which haven't been used for a long time and are no longer useful.
5044(bench.c [1.2], gp_dosfb.c [1.2], gp_iwatc.c [1.2], gp_nofb.c [1.2]:
50452000/04/20 22:47:35 lpd)
5046
5047Checks in a file overlooked in the elimination of the gp_ console
5048procedures. (gp_os2.c [1.2]: 2000/04/20 23:27:21 lpd)
5049
5050</pre><h2><a name="6.21 Drivers"></a>Drivers</h2><pre>
5051
5052Fixes problems:
5053	- The pdfwrite driver sometimes compressed images in an Indexed
5054color space with the DCTEncode filter, producing garbage. (gdevpsdi.c [1.4]:
50552000/04/12 19:25:56 lpd)
5056	- Setting pdfwrite parameters for a DCTEncode filter could cause a
5057crash (memory fault). (gdevpsdf.h [1.7], gdevpsdi.c [1.5], gdevpsdp.c [1.4],
5058gdevpsdu.c [1.2]: 2000/04/13 01:53:07 lpd)
5059	- Compressing with DCTEncode tried to add the compression filter
5060twice. (gdevpsdi.c [1.6]: 2000/04/13 04:52:38 lpd)
5061	- The PDF writer could get an ioerror when downsampling images whose
5062size wasn't an exact multiple of the downsampling factor. (gdevpsdi.c [1.7],
5063gdevpsds.c [1.2], gdevpsds.h [1.2]: 2000/04/13 16:44:59 lpd)
5064	- Downsampled mask images could cause a memory access error.
5065(gdevpsdi.c [1.9]: 2000/04/18 16:37:04 lpd)
5066	- PDF Patterns weren't written correctly if the ProcessColorModel
5067wasn't Device RGB. (gdevpsdu.c [1.3]: 2000/04/24 05:40:30 lpd)
5068	- The [e]pswrite driver produced incorrect output for color images
5069with multiple data sources. (gdevps.c [1.5]: 2000/04/25 19:35:07 lpd)
5070
5071Implements pdfwrite compression for mask images, using the same parameters
5072as for monochrome images. (gdevpsdi.c [1.8]: 2000/04/13 18:40:23 lpd)
5073
5074Adds user-contributed uniprint parameter files for the Canon BJC-8200,
5075including an addition for the Red Hat printer data base.
5076(lib/bj8gc12f.upp [1.1], lib/bj8hg12f.upp [1.1], lib/bj8oh06n.upp [1.1],
5077lib/bj8pa06n.upp [1.1], lib/bj8pp12f.upp [1.1], lib/bj8ts06n.upp [1.1]:
50782000/04/14 03:59:57 lpd)
5079
5080Adds a user-contributed driver for the Epson Stylus (Color) Photo printers.
5081(gdevphex.c [1.1]: 2000/04/18 06:34:26 lpd)
5082
5083Converts the bmp* and bmpa* devices to -dev2, to make them const.
5084(gdevbmp.c [1.2], gdevbmpa.c [1.2]: 2000/04/20 17:19:21 lpd)
5085
5086Documents the astounding fact that the Xt implementation actually writes
5087into the XtResource tables. (gdevxres.c [1.2]: 2000/04/20 19:59:28 lpd)
5088
5089Removes all remaining direct references to stdin/out/err from the library,
5090interpreter, and non-contributed drivers; moves the ersatz definitions of
5091stdin/out/err to a new header file. (gdevxxf.c [1.3]: 2000/04/20 23:30:22
5092lpd)
5093
5094When writing PDF output, reduces the size of compressed images in Indexed
5095color spaces by not using a Predictor for them. (gdevpsdi.c [1.10]:
50962000/04/21 06:46:08 lpd)
5097
5098Adds an internal filter for converting images to Indexed form if possible.
5099(gdevpsds.c [1.3], gdevpsds.h [1.3]: 2000/04/21 19:26:37 lpd)
5100
5101Cleans up code by replacing macros with procedures or variables.
5102(gdevps.c [1.6]: 2000/04/25 20:35:46 lpd)
5103
5104Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
5105vertical line segments going in the same direction. This makes a big
5106difference for PostScript files produced by certain applications.
5107(gdevps.c [1.7]: 2000/04/25 22:39:54 lpd)
5108
5109Adds a user-contributed driver for the H-P 970Cxi inkjet printer.
5110(gdevdj9.c [1.1]: 2000/04/27 14:55:56 lpd)
5111
5112Factors the H-P monochrome laser and inkjet drivers into a generic driver
5113and printer-specific clients. (gdevdjet.c [1.3], gdevdljm.c [1.1],
5114gdevdljm.h [1.1]: 2000/04/27 20:16:33 lpd)
5115
5116Adds a user-contributed driver for the Brother HL-1250 laser printer. This
5117has a dual AFPL/GPL license, and a non-Aladdin copyright. (gdevhl12.c [1.1]:
51182000/04/27 20:18:39 lpd)
5119
5120Once again, updates some dependency lists that had become inconsistent with
5121the code. (gdevdj9.c [1.2]: 2000/04/27 21:36:19 lpd)
5122
5123Makes the printers in gdevdjet.c that support setting the number of copies
5124use this feature when multiple copies are requested. (gdevdjet.c [1.4],
5125gdevdljm.c [1.2], gdevdljm.h [1.2]: 2000/04/28 13:37:47 lpd)
5126
5127</pre><h2><a name="6.21 PDF writer"></a>PDF writer</h2><pre>
5128
5129Fixes problems:
5130	- The Cos objects of resources not shared between pages weren't
5131freed at the end of each page. (gdevpdf.c [1.9]: 2000/04/10 04:17:56 lpd)
5132	- gdevpdfe.c was omitted from the check-in for the overhaul of
5133pdfwrite font embedding. (gdevpdfe.c [1.1]: 2000/04/10 16:01:29 lpd)
5134	- pdfwrite output could contain commands to set the line width to a
5135negative value, which PostScript allows but PDF doesn't. (gdevpdfd.c [1.6]:
51362000/04/12 19:51:14 lpd)
5137	- The changes for the new color handling code caused stroked
5138graphics not to output the line width. (new bug since 6.20)
5139(gdevpdfd.c [1.7]: 2000/04/13 03:47:21 lpd)
5140	- Pattern resources were written with incorrectly scaled XStep and
5141YStep, and without a Type entry. (gdevpdfc.c [1.3], gdevpdfi.c [1.10]:
51422000/04/13 04:12:33 lpd)
5143	- The PDF writer could get an ioerror when downsampling images whose
5144size wasn't an exact multiple of the downsampling factor.
5145(gdevpdfi.c [1.11]: 2000/04/13 16:44:59 lpd)
5146	- Bitmapped characters weren't written properly on the output file
5147(new bug since 6.20). (gdevpdfg.h [1.4], gdevpdfi.c [1.12],
5148gdevpdfj.c [1.2]: 2000/04/13 17:24:54 lpd)
5149	- gxdcolor.h was required for gxpcolor.h, but wasn't included.
5150(gdevpdfc.c [1.4]: 2000/04/18 17:42:55 lpd)
5151	- A table of constant strings wasn't declared as const.
5152(gdevpdfp.c [1.7]: 2000/04/20 17:37:31 lpd)
5153	- When pdfwrite was producing PDF 1.3 output, the base 14 fonts were
5154never embedded, rather than being handled like all other fonts.
5155(gdevpdff.c [1.4]: 2000/04/20 23:49:40 lpd)
5156	- Indexed color spaces used in in-line images were being written
5157incorrectly. Also optimizes Indexed images by converting RGB palettes to
5158Gray if all the entries are actually gray. (gdevpdfc.c [1.5]: 2000/04/21
515915:29:20 lpd)
5160	- The recent optimization for using the ' command in PDF output lost
5161track of the leading value between blocks of text, causing lines in later
5162blocks to overprint each other. (gdevpdfu.c [1.9]: 2000/04/21 22:29:05 lpd)
5163	- Backs out the change that allowed embedding of the base 14 fonts,
5164because it produces invalid output. (gdevpdff.c [1.5]: 2000/04/22 00:13:11
5165lpd)
5166	- Colored Patterns requiring masking weren't written properly.
5167(gdevpdfc.c [1.6]: 2000/04/24 00:09:37 lpd)
5168	- Patterns were written upside-down. (gdevpdfc.c [1.7]: 2000/04/24
516901:11:36 lpd)
5170	- PDF Patterns weren't written correctly if the ProcessColorModel
5171wasn't Device RGB. (gdevpdf.c [1.15], gdevpdfc.c [1.8], gdevpdfg.h [1.5],
5172gdevpdfi.c [1.13], gdevpdfx.h [1.15]: 2000/04/24 05:40:30 lpd)
5173	- The color space for images wasn't always written in the correct
5174form (an object reference for image XObjects, a resource name for in-line
5175images). (gdevpdfi.c [1.14]: 2000/04/28 12:07:37 lpd)
5176	- Patterns were sometimes written with a duplicate Type element.
5177(gdevpdfc.c [1.10]: 2000/04/28 12:23:54 lpd)
5178	- Patterns were sometimes written twice, with an empty definition
5179the second time. (gdevpdfi.c [1.15]: 2000/04/28 12:24:42 lpd)
5180
5181Overhauls font embedding in the PDF writer: splits off the code into a new
5182file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
5183adds a little bit of code for future support of Type 0 and CID-keyed fonts.
5184(gdevpdff.c [1.3], gdevpdff.h [1.2], gdevpdft.c [1.6], gdevpdfw.c [1.3]:
51852000/04/10 07:48:37 lpd)
5186
5187Factors out code for writing functions and for adding filter-related entries
5188to a stream dictionary; implements the DefaultRenderingIntent distiller
5189parameter. (gdevpdf.c [1.10], gdevpdfu.c [1.6], gdevpdfx.h [1.8]: 2000/04/11
519016:06:57 lpd)
5191
5192Adds ExtGState resources. These should be written and freed at the end of
5193each page, but they aren't yet. (gdevpdfx.h [1.9]: 2000/04/11 16:38:14 lpd)
5194
5195Implements additional distiller parameters: PreserveHalftoneInfo,
5196PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs.
5197Remove), UCRandBGInfo. Splits off graphics state management into separate
5198files. Implements the remaining graphics state parameters (halftone,
5199transfer function, black generation, undercolor removal, halftone phase,
5200smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******.
5201In anticipation of handling more general colors, renames pdf_set_color as
5202pdf_set_pure_color, and adds pdf_set_drawing_color. (gdevpdf.c [1.11],
5203gdevpdfd.c [1.4], gdevpdfg.c [1.1], gdevpdfg.h [1.1], gdevpdfi.c [1.8],
5204gdevpdft.c [1.7], gdevpdfu.c [1.7], gdevpdfx.h [1.10]: 2000/04/11 18:31:32
5205lpd)
5206
5207Splits off creation and writing of color spaces, and writing color values,
5208into a separate file. Adds support for (Function-based) Separation and
5209DeviceN color spaces, general Pattern color spaces, and procedure-based
5210Indexed color spaces. Adds some code to support Pattern colors, but stubs it
5211out because it depends on changes in the image writing code that haven't
5212been integrated yet. In fact, most of the new code isn't called yet, either.
5213(gdevpdf.c [1.12], gdevpdfc.c [1.1], gdevpdfd.c [1.5], gdevpdfg.c [1.2],
5214gdevpdfg.h [1.2], gdevpdft.c [1.8], gdevpdfx.h [1.11]: 2000/04/11 19:10:13
5215lpd)
5216
5217Integrates a couple of minor overlooked changes in the text-writing code.
5218(gdevpdf.c [1.13], gdevpdft.c [1.9], gdevpdfx.h [1.12]: 2000/04/11 19:20:56
5219lpd)
5220
5221In pdfwrite, rewrites the image writing code to use Cos objects rather than
5222direct printing, and splits off the creation of image dictionaries into a
5223new file; adds support for tiling with uncolored Patterns; implements
5224converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
5225same for ImageType 3. This code is "in progress" and likely to have problems
5226for a while. (gdevpdf.c [1.14], gdevpdfc.c [1.2], gdevpdfg.c [1.3],
5227gdevpdfg.h [1.3], gdevpdfi.c [1.9], gdevpdfj.c [1.1], gdevpdfx.h [1.13]:
52282000/04/12 18:44:35 lpd)
5229
5230Tweaks the PDF writer to use the ' command for positioning text when
5231possible (small optimization only). (gdevpdfg.c [1.4], gdevpdft.c [1.10],
5232gdevpdfu.c [1.8], gdevpdfx.h [1.14]: 2000/04/18 16:08:16 lpd)
5233
5234Reduces the startup time for displaying PDF files, by skipping the creation
5235of pdfmarks for annotations and outlines when the output device doesn't
5236process pdfmarks. (gdevpdfp.c [1.8]: 2000/04/21 16:58:28 lpd)
5237
5238Adds compression for pdfwrite Patterns. (gdevpdfc.c [1.9]: 2000/04/24
523906:13:02 lpd)
5240
5241Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
5242vertical line segments going in the same direction. This makes a big
5243difference for PostScript files produced by certain applications.
5244(gdevpdf.c [1.16], gdevpdfd.c [1.8]: 2000/04/25 22:39:54 lpd)
5245
5246Updates the list of remaining pdfwrite tasks. (gdevpdfp.c [1.9]: 2000/04/27
524721:36:52 lpd)
5248
5249</pre><h2><a name="6.21 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre>
5250
5251Fixes problems:
5252	- Embedded subset CFF fonts in PDF files were defined using the name
5253in the font data rather than the font name in the PDF resource object. (bug
5254#102901) (lib/pdf_ops.ps [1.5]: 2000/04/11 05:33:13 lpd)
5255	- When processing a PDF file, the font substitution heuristic based
5256on the FontName sometimes overrode the Flags information in the
5257FontDescriptor. (lib/pdf_font.ps [1.6]: 2000/04/20 06:36:02 lpd)
5258	- PDF images with a bitmap Mask caused errors or produced incorrect
5259output. (lib/pdf_draw.ps [1.10]: 2000/04/24 00:59:04 lpd)
5260	- Masked images weren't drawn properly, because the two data sources
5261could reference the same file. (lib/pdf_draw.ps [1.11]: 2000/04/24 05:39:45
5262lpd)
5263	- *Really* fixes the problem of data source aliasing for masked
5264images. (lib/pdf_draw.ps [1.12]: 2000/04/24 05:53:43 lpd)
5265	- If a font specified Subtype = /TrueType but the actual font used
5266was not a TrueType font, any Encoding in the Font object should be ignored.
5267(This is a hack required by the PDF specification.) (lib/pdf_font.ps [1.7]:
52682000/04/24 06:37:18 lpd)
5269	- Colored annotation borders caused an error; 0-width borders were
5270drawn even though they shouldn't be; Link and Stamp annotations weren't
5271drawn at all. Also adds a new -dPrinted[=true/false] switch to choose
5272whether to produce "screen" or "printer" output. (code from Artifex)
5273(lib/pdf_draw.ps [1.13], lib/pdf_main.ps [1.7]: 2000/04/27 08:16:40 lpd)
5274
5275Makes undefined XObject resources for the Do operator produce a warning
5276rather than an error, to parallel Acrobat Reader. (lib/pdf_draw.ps [1.9]:
52772000/04/16 07:48:23 lpd)
5278
5279Tweaks up the performance of the PDF interpreter loop slightly.
5280(lib/pdf_base.ps [1.7]: 2000/04/18 05:45:49 lpd)
5281
5282Reduces the startup time for displaying PDF files, by skipping the creation
5283of pdfmarks for annotations and outlines when the output device doesn't
5284process pdfmarks. (lib/pdf_main.ps [1.6]: 2000/04/21 16:58:28 lpd)
5285
5286</pre><h2><a name="6.21 Interpreter"></a>Interpreter</h2><pre>
5287
5288Fixes problems:
5289	- Fixes some signed/unsigned char * mismatches. (zfrsd.c [1.3]:
52902000/04/07 15:27:14 lpd)
5291	- Automatic loading of fonts from resource files didn't work
5292(usually caused an unmatchedmark or typecheck error).
5293(lib/gs_fonts.ps [1.5], lib/gs_res.ps [1.9]: 2000/04/08 03:45:41 lpd)
5294	- A -> should have been a . (only shows up on 64-bit systems).
5295(zfunc4.c [1.3]: 2000/04/09 20:04:00 lpd)
5296	- the most recent 'fixes' for loading font resources caused all
5297built-in fonts to be returned as null. (lib/gs_res.ps [1.10]: 2000/04/09
529822:51:01 lpd)
5299	- /Category defineresource didn't make the category definition
5300dictionary read-only. (lib/gs_res.ps [1.11]: 2000/04/10 18:29:04 lpd)
5301	- Attempting to build an invalid FunctionType 4 function could cause
5302a memory access error. (zfunc4.c [1.4]: 2000/04/10 19:38:53 lpd)
5303	- Embedded subset CFF fonts in PDF files were defined using the name
5304in the font data rather than the font name in the PDF resource object. (bug
5305#102901) (lib/gs_cff.ps [1.4]: 2000/04/11 05:33:13 lpd)
5306	- CMaps with more than one code space range weren't converted to the
5307internal form correctly; begincidchar and beginnotdefchar caused errors.
5308(lib/gs_cmap.ps [1.3], zfcmap.c [1.6]: 2000/04/14 07:53:10 lpd)
5309	- flushfile and closefile didn't properly flush streams whose final
5310target was a procedure, and closefile didn't actually close them. (This is a
5311very old bug.) (zfproc.c [1.2]: 2000/04/18 05:50:15 lpd)
5312	- CIDFontType 0 CIDFonts in which some FDArray element had no Subrs
5313caused an error. (lib/gs_cidfn.ps [1.14]: 2000/04/18 05:58:08 lpd)
5314	- Attempting to set a PageSize with 4 elements actually set the
5315PageSize (to the first 2 elements), rather than ignoring the attempt. (This
5316is just a patch to prevent some PageMaker files from being thrown off by the
53174-element PageSizes in Input Attributes.) (lib/gs_setpd.ps [1.2]: 2000/04/19
531806:01:19 lpd)
5319	- When choosing a substituted font, 'Serif' had priority over
5320'Sans', so unknown fonts with 'SansSerif' in their name would have a serif
5321font substituted. (lib/gs_fonts.ps [1.6]: 2000/04/19 13:48:48 lpd)
5322	- The fix to make setpagedevice ignore 4-element PageSizes in
5323InputAttributes was broken. (It's impossible that it could ever have worked,
5324despite the fact that we tested it.) (lib/gs_setpd.ps [1.3]: 2000/04/20
532506:24:39 lpd)
5326	- When processing a PDF file, the font substitution heuristic based
5327on the FontName sometimes overrode the Flags information in the
5328FontDescriptor. (lib/gs_fonts.ps [1.7]: 2000/04/20 06:36:02 lpd)
5329	- Showing a string in a Type 1 font with a singular combined matrix
5330(e.g., after 0 scalefont setfont) caused an error instead of doing nothing.
5331(zchar1.c [1.3]: 2000/04/22 00:34:46 lpd)
5332	- Images with multiple file DataSources where two or more of the
5333files were the same caused a crash. (zimage.c [1.3]: 2000/04/24 00:07:41
5334lpd)
5335	- .reusablestreamdecode wasn't defined for use in LanguageLevel 2.
5336(The ReusableStreamDecode filter itself was properly defined.)
5337(lib/gs_frsd.ps [1.3]: 2000/04/24 00:45:38 lpd)
5338	- Loading an unknown font gave a spurious "non-string font name"
5339message; unknown fonts with names containing style strings like Bold or
5340Italic caused an error. (bug introduced since 6.20) (lib/gs_fonts.ps [1.8]:
53412000/04/28 22:03:58 lpd)
5342
5343Adds a workaround for misnamed glyphs in some Microsoft TrueType font 'post'
5344tables. (lib/gs_mgl_e.ps [1.2], lib/gs_ttf.ps [1.4]: 2000/04/08 01:53:16
5345lpd)
5346
5347Completely redesigns the representation of CMaps, to reduce space
5348requirements and make comparing them more reasonable, changing gs_cmap to
5349gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
5350PostScript code currently only handles a few well-behaved CMap structures.)
5351(lib/gs_cmap.ps [1.2], zfcmap.c [1.4], zfont0.c [1.2]: 2000/04/08 03:54:38
5352lpd)
5353
5354Updates version #s to 6.21. (We should have done this earlier.)
5355(lib/gs_init.ps [1.7]: 2000/04/10 04:46:36 lpd)
5356
5357Makes Separation and DeviceN color spaces detect that their tint transform
5358procedure is a Function, and call it rather than using its cached values.
5359(zcsdevn.c [1.2], zcssepr.c [1.3]: 2000/04/10 19:39:44 lpd)
5360
5361Adds code to write out CMaps, similar to the code for writing fonts, for
5362eventual embedding in PDF output. (zfcmap.c [1.5]: 2000/04/14 07:17:24 lpd)
5363
5364Completes code for reading and writing CMaps. (lib/gs_cmap.ps [1.4],
5365zfcmap.c [1.7]: 2000/04/16 03:05:29 lpd)
5366
5367Works around a bug in the AdobePS5 Windows driver, which emits CMaps lacking
5368the required CMapName entry. (lib/gs_cidfn.ps [1.15], lib/gs_cmap.ps [1.5]:
53692000/04/18 07:18:42 lpd)
5370
5371Moves the optimization prologue for ps2pdf from the command line to a
5372procedure, to avoid shell length limits. (lib/gs_pdfwr.ps [1.3]: 2000/04/18
537316:40:14 lpd)
5374
5375Removes all remaining direct references to stdin/out/err from the library,
5376interpreter, and non-contributed drivers; moves the ersatz definitions of
5377stdin/out/err to a new header file. (imainarg.c [1.2]: 2000/04/20 23:30:22
5378lpd)
5379
5380Speeds up Type 1 font loading slightly by removing a conversion from binary
5381to hex and back again. (zmisc1.c [1.2]: 2000/04/22 16:03:18 lpd)
5382
5383Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
5384No output is produced until the filter is closed. (zfmd5.c [1.1]: 2000/04/27
538514:39:57 lpd)
5386
5387Adds a sample file containing a wide variety of PDF annotations; updates
5388documentation for this and some other overlooked files.
5389(examples/annots.pdf [1.1]: 2000/04/28 10:51:02 lpd)
5390
5391</pre><h2><a name="6.21 Streams"></a>Streams</h2><pre>
5392
5393Fixes problems:
5394	- FILE_IMPLEMENTATION=both was broken (by the introduction of
5395sread_subfile). (sfxfd.c [1.3]: 2000/04/10 02:41:48 lpd)
5396	- flushfile and closefile didn't properly flush streams whose final
5397target was a procedure, and closefile didn't actually close them. (This is a
5398very old bug.) (stream.c [1.6]: 2000/04/18 05:50:15 lpd)
5399	- The PixelDifference filters (Predictor = 2) weren't implemented
5400for Colors > 4 and BitsPerComponent != 8, and they dropped trailing bytes if
5401the length of the data wasn't an exact multiple of the pixel size.
5402(spdiff.c [1.2]: 2000/04/22 03:55:22 lpd)
5403
5404Enhances the ASCII85Encode filter to avoid %! at the beginning of a line of
5405output, in addition to avoiding %% which it did already. (sa85x.h [1.2],
5406sfilter2.c [1.2]: 2000/04/08 01:30:36 lpd)
5407
5408Removes all remaining direct references to stdin/out/err from the library,
5409interpreter, and non-contributed drivers; moves the ersatz definitions of
5410stdin/out/err to a new header file. (std.h [1.2]: 2000/04/20 23:30:22 lpd)
5411
5412Speeds up Type 1 font loading slightly by removing a conversion from binary
5413to hex and back again. (seexec.c [1.2], sfilter.h [1.5]: 2000/04/22 16:03:18
5414lpd)
5415
5416Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
5417No output is produced until the filter is closed. (smd5.c [1.1],
5418smd5.h [1.1]: 2000/04/27 14:39:57 lpd)
5419
5420</pre><h2><a name="6.21 Library"></a>Library</h2><pre>
5421
5422Fixes problems:
5423	- Fixes some signed/unsigned char * mismatches. (gdevpsf2.c [1.5]:
54242000/04/07 15:27:14 lpd)
5425	- Writing a Type 2 CFF with multiply-encoded glyphs produced an
5426incorrect Encoding. Also, when producing output for PDF 1.2 files, no longer
5427emits certain opcodes that cause an (unjustified) error in Acrobat Reader 3
5428for Linux. (gdevpsf.h [1.3], gdevpsf2.c [1.6]: 2000/04/10 07:42:31 lpd)
5429	- gsmisc.c didn't compile in DEBUG mode on systems with a
5430non-standard prototype for the sqrt function. (gsmisc.c [1.3]: 2000/04/10
543116:00:31 lpd)
5432	- One picky compiler complained about (1L << 31). (gsmisc.c [1.4]:
54332000/04/10 17:21:41 lpd)
5434	- putdeviceparams allowed a PageSize or .MediaSize value with the
5435wrong number of elements to take effect. (gsdparam.c [1.2]: 2000/04/19
543605:59:05 lpd)
5437	- The elimination of stdin/out/err also eliminated some #defines
5438that are needed for error printout. (gsio.h [1.3]: 2000/04/21 06:39:17 lpd)
5439	- The structure descriptor for ImageType 3 images was public rather
5440than private. (gsiparm3.h [1.3], gximage3.c [1.2]: 2000/04/22 07:02:18 lpd)
5441	- The "point matching" feature of TrueType composite glyphs wasn't
5442implemented, causing some composite (accented) characters to have their
5443accents misplaced. (gstype42.c [1.4]: 2000/04/25 07:22:50 lpd)
5444
5445Completely redesigns the representation of CMaps, to reduce space
5446requirements and make comparing them more reasonable, changing gs_cmap to
5447gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
5448PostScript code currently only handles a few well-behaved CMap structures.)
5449(gsfcmap.c [1.4], gsfcmap.h [1.2], gxfcmap.h [1.3], gxfont0.h [1.2]:
54502000/04/08 03:54:38 lpd)
5451
5452Adds Function-based tint_transform procedures for Separation and DeviceN
5453color spaces. (gscdevn.c [1.3], gscdevn.h [1.2], gscsepr.c [1.3],
5454gscsepr.h [1.2]: 2000/04/10 19:02:19 lpd)
5455
5456Adds code to write out CMaps, similar to the code for writing fonts, for
5457eventual embedding in PDF output. (gdevpsf.h [1.4], gdevpsfm.c [1.1]:
54582000/04/14 07:17:24 lpd)
5459
5460Completes code for reading and writing CMaps. (gdevpsf.h [1.5],
5461gdevpsfm.c [1.2], gsccode.h [1.3], gsfcid.c [1.3], gsfcmap.c [1.5],
5462gxcid.h [1.2], gxfcmap.h [1.4]: 2000/04/16 03:05:29 lpd)
5463
5464Removes the gp_ procedures for managing screen swapping between console and
5465graphics, which haven't been used for a long time and are no longer useful.
5466(gp.h [1.3]: 2000/04/20 22:47:35 lpd)
5467
5468Removes all remaining direct references to stdin/out/err from the library,
5469interpreter, and non-contributed drivers; moves the ersatz definitions of
5470stdin/out/err to a new header file. (gsdevice.c [1.3], gsio.h [1.2],
5471gsmisc.c [1.5], gxdevice.h [1.2]: 2000/04/20 23:30:22 lpd)
5472
5473Adds an essential new file overlooked in the removal of references to
5474stdin/out/err. (gxstdio.h [1.1]: 2000/04/20 23:50:20 lpd)
5475
5476Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
5477vertical line segments going in the same direction. This makes a big
5478difference for PostScript files produced by certain applications.
5479(gdevvec.c [1.2], gdevvec.h [1.2]: 2000/04/25 22:39:54 lpd)
5480
5481Adds template macros for printer devices that implement print_page_copies
5482rather than print_page. (gdevprn.c [1.2], gdevprn.h [1.3]: 2000/04/28
548313:36:16 lpd)
5484
5485<hr>
5486
5487<h1><a name="Version6.20"></a>Version 6.20 (2000-04-06)</h1>
5488
5489<p>
5490This fileset includes the first steps towards bringing the pdfwrite driver
5491closer to matching Acrobat Distiller 4.  Highlights:
5492
5493<ul>
5494
5495<li> Reimplementation of CIDFontType 0 support in C rather than PostScript;
5496
5497<li> Parsing (but not functional implementation) of nearly all the Acrobat
5498Distiller 4 parameters;
5499
5500<li> Implementation of AutoRotatePages and DCTEncode filtering in the PDF
5501writer;
5502
5503<li> A PDF linearizer ("optimizer").
5504
5505</ul>
5506
5507<p>
5508All problems registered on SourceForge numbered 103963 or lower are closed,
5509except for the following: 101549, 101814, 101829, 101905, 101955, 102046,
5510102047, 102132, 102146, 102735, 102901, 103016, 103528, 103963.
5511
5512<pre>
5513
5514<h2><a name="6.20_Incompatible_changes"></a>Incompatible changes</h2>
5515
5516(Procedures)
5517	- The default value of FPU_TYPE in all Windows and OS/2 makefiles
5518is now 387 rather than 0.
5519	- The process for reporting problems has changed significantly.
5520(PDF writer)
5521	- The Cos procedures no longer take the device as an argument,
5522except for object-creating procedures, which now take the device rather
5523than an allocator.
5524	- The is_object member of Cos values is replaced by value_type.
5525Clients must use COS_VALUE_IS_OBJECT() to test whether a value is an object
5526reference.
5527	- The Cos procedures that take C strings no longer copy the string.
5528	- The argument of cos_write_object is no longer const.
5529(Drivers)
5530	- The default BufferSpace for printer drivers is now 4 Mb.
5531	- Device halftone order implementations must now provide a new
5532bit_index procedure.
5533	- The image argument for psdf_setup_image_filters is changed from
5534gs_image_t to gs_pixel_image_t.
5535	- The font-related psdf_ procedures are renamed psf_.
5536(Streams)
5537	- The interface to the [T]BCP filters is now in a separate file,
5538sbcp.h.
5539(PDF interpreter)
5540	- The internal beginpage procedure is renamed dictbeginpage, and
5541now takes a dictionary argument.
5542(Interpreter)
5543	- The argument list for the internal build_gs_TrueType_font
5544procedure has changed.
5545	- The zcharstring_glyph_outline procedure is renamed
5546zchar1_glyph_outline.
5547	- The Instances dictionary of resources is renamed .Instances.
5548(Library)
5549	- ImageType 4 images now give an error if a MaskColor value is out
5550of the range of possible sample values.
5551	- The definition of gs_param_key_t, the key type returned by
5552parameter list enumeration, is changed.
5553	- Implementors of parameter lists must now call gs_param_list_init
5554to initialize the common members.
5555	- st_indexed_map is now private.  Clients allocating instances of
5556this structure must now call alloc_indexed_map.
5557	- Setting a transfer map as the identity mapping now requires
5558calling gx_set_identity_transfer.
5559	- gs_cid_system_info is renamed gs_cid_system_info_t.
5560	- The get_outline procedure of a Type 42 or Type 11 (CIDFontType 0)
5561font now returns 1 if the string was newly allocated and can be freed by the
5562client.
5563	- The procs member of gs_type1_data is now an in-line structure
5564rather than a pointer to a const structure.
5565
5566
5567<h2><a name="6.20 Documentation"></a>Documentation</h2><pre>
5568
5569Fixes problems:
5570	- If log2_transfer_map_size > 8, identity transfer functions
5571returned garbage. The fix requires that if a client wants to set a transfer
5572function to the identity mapping, it must call gx_set_identity_transfer
5573rather than simply setting the procedure to gs_identity_transfer.
5574(doc/News.htm [1.13]: 2000/03/19 17:14:47 lpd)
5575	- In PDF files, the page CropBox was not being used to clip the
5576output. (doc/News.htm [1.18]: 2000/03/21 23:08:32 lpd)
5577	- Fixes several problems in resourceforall and resource loading: the
5578operands of resourceforall were restored even in the case of an error in the
5579client's procedure; the name Instances had special meaning for some Adobe
5580code; resourceforall caused an invalidaccess error if an operand was in
5581local VM but the current VM was global; loading a resource from a file could
5582cause a typecheck error if the file left values on the operand stack.
5583(doc/News.htm [1.25]: 2000/04/04 22:26:02 lpd)
5584	- The location of the lists of supported and unsupported drivers was
5585incorrect. (doc/Bug-info.htm [1.2]: 2000/04/07 03:01:52 lpd)
5586
5587Undoes an accidental RCS ID substitution in what was supposed to be literal
5588text. (doc/Htmstyle.htm [1.2]: 2000/03/18 22:29:03 lpd)
5589
5590Increments the version number to 6.20, in anticipation of the next release.
5591(We do this at the beginning of the development for a release, not the end.)
5592(doc/History6.htm [1.4], doc/News.htm [1.6]: 2000/03/19 00:27:22 lpd)
5593
5594Splits out the [T]BCP filter interface into a separate file.
5595(doc/News.htm [1.7]: 2000/03/19 02:40:18 lpd)
5596
5597Documents the fact that ImageType 4 images now cause an error for
5598out-of-range MaskColor values. (doc/News.htm [1.8]: 2000/03/19 04:32:09 lpd)
5599
5600Updates the change log with recent changes. (doc/Changes.htm [1.4]:
56012000/03/19 05:39:58 lpd)
5602
5603Adds a new document listing projects with which we are seeking help. Also
5604makes the description of Changes.htm and News.htm more accurate.
5605(doc/New-user.htm [1.2], doc/Projects.htm [1.1], doc/Readme.htm [1.3]:
56062000/03/19 06:07:15 lpd)
5607
5608Changes the default value of BufferSpace to 4 Mb. In desktop applications,
5609this is a reasonable value that can substantially improve performance
5610(especially for color printers); embedded applications will want to set
5611BufferSpace themselves in any case. (doc/News.htm [1.9]: 2000/03/19 06:51:13
5612lpd)
5613
5614Changes the key type returned by parameter list enumeration to include a
5615persistence flag, makes C parameter lists support non-persistent keys, and
5616upgrades GC descriptors so that parameter lists can be used non-transiently;
5617updates implementors of parameter lists to call gs_param_list_init to
5618initialize the common members, which is now required. (doc/News.htm [1.10]:
56192000/03/19 15:16:11 lpd)
5620
5621Documents the fact that drivers that device halftone order implementations
5622must now provide the new bit_index procedure. (This should have been
5623documented when bit_index was introduced!) (doc/News.htm [1.11]: 2000/03/19
562415:47:47 lpd)
5625
5626Makes st_indexed_map private. Clients must now use the constructor procedure
5627alloc_indexed_map rather than allocating instances directly.
5628(doc/News.htm [1.12]: 2000/03/19 16:37:28 lpd)
5629
5630Update the date and change log for the latest batches of checked-in changes.
5631(doc/Changes.htm [1.5]: 2000/03/19 17:29:57 lpd)
5632
5633Adds a PDF linearizer ("optimizer"). This is a separate utility (not
5634integrated with the pdfwrite driver), written in PostScript.
5635(doc/Psfiles.htm [1.2]: 2000/03/20 04:31:22 lpd)
5636
5637Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements
5638the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
5639xxxACSImageDict distiller parameters. Implements DCTEncode as an
5640xxxImageFilter option (it used to cause a crash). Makes the
5641AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
5642if the image has 8 bits per component and is not Indexed, and LZW/Flate
5643otherwise: this still isn't right, but it's closer. Implementation changes:
5644Changes the implementation of distiller parameter dictionaries from stream
5645states to parameter lists; changes the test for masks in
5646psdf_setup_image_filters, and changes the image argument from gs_image_t to
5647gs_pixel_image_t. (doc/News.htm [1.14]: 2000/03/20 05:40:04 lpd)
5648
5649Moves font-writing support into a new module (gdevpsf*), changing the source
5650file names. Adds the ability to write CFF fonts, with either Type 1 or Type
56512 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
5652with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
5653Type 2, including optimizing sequences of Type 1 operators into a single
5654Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
5655TESTED]. Starts (just barely) to remove more unneeded information from
5656embedded TrueType fonts. (doc/News.htm [1.15]: 2000/03/20 07:02:12 lpd)
5657
5658Updates the consolidated change log with today's changes.
5659(doc/Changes.htm [1.6]: 2000/03/20 07:18:38 lpd)
5660
5661Starts to move support for CIDFontType 0 and 2 into C code, needed by the
5662PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
5663CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
5664that have a GlyphDirectory (not documented in the PLRM, but clearly
5665correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
5666and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
5667which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
5668(doc/News.htm [1.16]: 2000/03/20 19:53:06 lpd)
5669
5670Notes that the argument list for the internal build_gs_TrueType_font
5671procedure has changed, as part of the CIDFont migration to C code.
5672(doc/News.htm [1.17]: 2000/03/20 20:04:20 lpd)
5673
5674Adds invocation scripts and documentation for the PDF "optimizer".
5675(man/pdfopt.1 [1.1]: 2000/03/21 17:01:33 lpd)
5676
5677Updates information about reporting problems when using Ghostview or GSview.
5678(doc/Bug-form.htm [1.3], doc/New-user.htm [1.3]: 2000/03/22 22:13:49 lpd)
5679
5680Checks in the latest consolidated change log. (doc/Changes.htm [1.7]:
56812000/03/24 05:04:55 lpd)
5682
5683Substantially enhances the Cos object machinery. Interface: Adds a few more
5684procedures, including a procedure to create a stream that writes directly
5685into a Cos stream object, procedures for putting more kinds of values into
5686arrays and dictionaries, and a param_list interface. Changes Cos objects to
5687store a reference to the PDF device, and removes the device argument from
5688all Cos procedures other than object creation. Replaces the Boolean
5689is_object member of Cos values by a value_type enum: clients must now use
5690COS_VALUE_IS_OBJECT() to test whether a value is an object reference. To
5691reduce allocator overhead, makes the Cos procedures that take C strings no
5692longer copy the string. Records whether each Cos object has been written
5693into the output, so that in the future (but not in this batch of changes)
5694resource definitions can be copied at the end of each page. Implementation:
5695Moves more of the implementation of Cos objects to the .c file.
5696(doc/News.htm [1.19]: 2000/03/24 06:12:52 lpd)
5697
5698Adds parsing for the remaining Acrobat Distiller 4 parameters, although most
5699of them don't have any effect yet; brings documentation up to date.
5700(doc/Ps2pdf.htm [1.3]: 2000/03/28 07:36:58 lpd)
5701
5702Implements LockDistillerParams; completes the StartPage/EndPage fix checked
5703in just before. (doc/Ps2pdf.htm [1.4]: 2000/03/28 07:52:06 lpd)
5704
5705Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from
57060 to 387, since all current desktop CPUs include floating point hardware.
5707(doc/News.htm [1.20]: 2000/03/28 17:03:48 lpd)
5708
5709Changes the get_outline / glyph_data procedure for getting encoded font
5710outline data to return an indication of whether the outline data were just
5711allocated and can be freed by the client. (This is a possibly
5712non-backward-compatible change.) (doc/News.htm [1.21]: 2000/03/28 18:47:02
5713lpd)
5714
5715Adds a note about bogus "ANSI aliasing" warnings from the DEC C compiler.
5716(doc/Make.htm [1.8]: 2000/03/29 19:29:08 lpd)
5717
5718Changes the procs structure of gs_type1_data to an in-line structure rather
5719than a pointer to a const structure. (Needed for moving CIDFontType 0
5720support into C.) (doc/News.htm [1.22]: 2000/03/29 22:10:31 lpd)
5721
5722Updates the change log with recent changes. (doc/Changes.htm [1.8]:
57232000/03/30 07:59:39 lpd)
5724
5725Creates a real list of projects on which help would be appreciated.
5726(doc/Projects.htm [1.2]: 2000/04/01 00:43:11 lpd)
5727
5728Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
5729a surprising number of changes in other font-related files.
5730(doc/News.htm [1.23]: 2000/04/02 07:38:46 lpd)
5731
5732Updates the documentation on preparing releases to reflect the addition of
5733the toolbin directory. (doc/Release.htm [1.7]: 2000/04/02 18:56:58 lpd)
5734
5735Implements the AutoRotatePages distiller parameter. (doc/Ps2pdf.htm [1.5]:
57362000/04/03 02:54:41 lpd)
5737
5738Updates the problem reporting procedure to use SourceForge; separates the
5739description of the procedure from the reporting form.
5740(doc/Bug-form.htm [1.4], doc/Bug-info.htm [1.1], doc/New-user.htm [1.4],
5741doc/News.htm [1.24], doc/Readme.htm [1.4]: 2000/04/04 04:14:02 lpd)
5742
5743Updates release dates and version numbers. (doc/Bug-form.htm [1.5],
5744doc/Bug-info.htm [1.3], doc/Htmstyle.htm [1.3], doc/Make.htm [1.9],
5745doc/New-user.htm [1.5], doc/Projects.htm [1.3], doc/Ps2pdf.htm [1.6],
5746doc/Psfiles.htm [1.3], doc/Readme.htm [1.5], man/ps2pdf.1 [1.4],
5747man/ps2ps.1 [1.4]: 2000/04/07 05:21:45 lpd)
5748
5749Removes redundant material, and the www.aladdin.com distribution point, from
5750the release procedure documentation. (doc/Release.htm [1.8]: 2000/04/07
575105:24:29 lpd)
5752
5753</pre><h2><a name="6.20 Procedures"></a>Procedures</h2><pre>
5754
5755Fixes problems:
5756	- pdfread.dev incorrectly depended on dpsnext_. (int.mak [1.4]:
57572000/03/19 02:00:09 lpd)
5758	- The referenced libpng version hadn't been updated to 1.0.5.
5759(openvms.mmk [1.3]: 2000/03/20 16:38:46 lpd)
5760	- The MSVC++ 6 compiler no longer recognizes the /FPi87 switch.
5761(msvccmd.mak [1.2]: 2000/03/31 05:06:53 lpd)
5762	- MSVC versions before 5, not before 6, recognize /FPi87.
5763(msvccmd.mak [1.3]: 2000/03/31 05:50:33 lpd)
5764	- Removes some occurrences of $,I,d,: that shouldn't be substituted.
5765(toolbin/pre [1.2]: 2000/04/07 05:20:35 lpd)
5766
5767Increments the version number to 6.20, in anticipation of the next release.
5768(We do this at the beginning of the development for a release, not the end.)
5769(version.mak [1.6]: 2000/03/19 00:27:22 lpd)
5770
5771Adds a pseudo-encoding for the CFF StandardStrings that represent
5772characters. (devs.mak [1.3], int.mak [1.3], unixinst.mak [1.5]: 2000/03/19
577300:38:50 lpd)
5774
5775Updates makefiles with dependencies for recent changes. (int.mak [1.5],
5776lib.mak [1.3]: 2000/03/19 05:37:38 lpd)
5777
5778Adds dependencies for the new implementation of FunctionType 4 functions.
5779(int.mak [1.6]: 2000/03/19 07:03:53 lpd)
5780
5781Splits off "vanilla" Functions into separate files, in anticipation of
5782removing them (they were only used to implement PostScript Calculator
5783Functions). (lib.mak [1.4]: 2000/03/19 07:33:08 lpd)
5784
5785Update the date and change log for the latest batches of checked-in changes.
5786(version.mak [1.7]: 2000/03/19 17:29:57 lpd)
5787
5788Moves font-writing support into a new module (gdevpsf*), changing the source
5789file names. Adds the ability to write CFF fonts, with either Type 1 or Type
57902 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
5791with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
5792Type 2, including optimizing sequences of Type 1 operators into a single
5793Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
5794TESTED]. Starts (just barely) to remove more unneeded information from
5795embedded TrueType fonts. (devs.mak [1.4], lib.mak [1.5]: 2000/03/20 07:02:12
5796lpd)
5797
5798Updates dependencies to reflect today's batches of checked-in changes.
5799(devs.mak [1.5], int.mak [1.7], lib.mak [1.6]: 2000/03/20 07:16:35 lpd)
5800
5801Updates the makefile for the renaming of gdevpsdf.c => gdevpsdu.c.
5802(devs.mak [1.6]: 2000/03/20 19:30:35 lpd)
5803
5804Starts to move support for CIDFontType 0 and 2 into C code, needed by the
5805PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
5806CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
5807that have a GlyphDirectory (not documented in the PLRM, but clearly
5808correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
5809and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
5810which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
5811(int.mak [1.8], lib.mak [1.7]: 2000/03/20 19:53:06 lpd)
5812
5813Extends the C support for CIDFontType 0 fonts to include those with FontType
58142 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
5815fonts). (int.mak [1.9]: 2000/03/21 07:43:42 lpd)
5816
5817Adds invocation scripts and documentation for the PDF "optimizer".
5818(unixinst.mak [1.6]: 2000/03/21 17:01:33 lpd)
5819
5820Splits off the ReusableStreamDecode filter as a separate module, since
5821CIDFontType 0 fonts will use it even in LanguageLevels below 3.
5822(int.mak [1.10]: 2000/03/21 21:34:57 lpd)
5823
5824Makes file streams remember the file name, needed for efficiently
5825implementing reusable streams. (int.mak [1.11]: 2000/03/23 02:13:40 lpd)
5826
5827Checks in the latest consolidated change log. (version.mak [1.8]: 2000/03/24
582805:04:55 lpd)
5829
5830Changes the implementation of incrementally loaded CIDFontType 0 fonts to
5831use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph
5832procedure for these fonts from PostScript to C. (int.mak [1.12],
5833version.mak [1.9]: 2000/03/27 16:36:24 lpd)
5834
5835Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from
58360 to 387, since all current desktop CPUs include floating point hardware.
5837(msvc32.mak [1.3], msvclib.mak [1.3], os2.mak [1.4], watcw32.mak [1.3]:
58382000/03/28 17:03:48 lpd)
5839
5840Updates the change log with recent changes. (version.mak [1.10]: 2000/03/30
584107:59:39 lpd)
5842
5843Cleans up some dependencies missed at the last checkin. (devs.mak [1.7],
5844int.mak [1.13]: 2000/03/31 05:03:30 lpd)
5845
5846Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
5847a surprising number of changes in other font-related files. (int.mak [1.14]:
58482000/04/02 07:38:46 lpd)
5849
5850Adds a variety of tools used to build and distribute Ghostscript releases.
5851The only documentation is comments in the files themselves, and there isn't
5852much of it. All aspects of these tools are subject to change without notice.
5853(toolbin/3way.tcl [1.1], toolbin/cvs2hist.py [1.1],
5854toolbin/errlist.tcl [1.1], toolbin/gsmake.tcl [1.1],
5855toolbin/headers.tcl [1.1], toolbin/leaks.tcl [1.1],
5856toolbin/makeset.tcl [1.1], toolbin/package.tcl [1.1], toolbin/pre [1.1],
5857toolbin/pre.chk [1.1], toolbin/precheck.tcl [1.1], toolbin/smoke.ps [1.1],
5858toolbin/suite.tcl [1.1], toolbin/tmake.tcl [1.1]: 2000/04/02 18:44:27 lpd)
5859
5860Moves gsindent from src to toolbin. (toolbin/gsindent [1.1]: 2000/04/02
586118:56:25 lpd)
5862
5863Adds an #include required by the Watcom compiler. (devs.mak [1.8]:
58642000/04/05 19:51:54 lpd)
5865
5866Adds a missing dependency. (lib.mak [1.8]: 2000/04/07 03:00:56 lpd)
5867
5868Updates a few dependencies for the release. (int.mak [1.15]: 2000/04/07
586905:23:12 lpd)
5870
5871Updates the build date for the release. (version.mak [1.11]: 2000/04/07
587205:25:18 lpd)
5873
5874Adds .cvsignore files, to prevent bogus warnings on cvs update.
5875(.cvsignore [1.1], src/.cvsignore [1.1]: 2000/04/05 19:46:04 lpd)
5876
5877</pre><h2><a name="6.20 Utilities"></a>Utilities</h2><pre>
5878
5879Fixes problems:
5880	- A couple of places in the Windows code didn't correctly handle
5881Ghostscript version 6.64, 7 April 2001
588221:45:03 lpd)
5883	- Replaces a final exit() with a return, to avoid a compiler
5884warning. (genconf.c [1.2]: 2000/04/05 19:53:27 lpd)
5885
5886Makes geninit remove whitespace adjacent to hex and base-85 string literals.
5887(geninit.c [1.2]: 2000/03/18 22:51:24 lpd)
5888
5889Adds a PDF linearizer ("optimizer"). This is a separate utility (not
5890integrated with the pdfwrite driver), written in PostScript.
5891(lib/pdfopt.ps [1.1], lib/pdfwrite.ps [1.1]: 2000/03/20 04:31:22 lpd)
5892
5893Replaces the O(N^2) sorting algorithm for printing unencoded characters with
5894a O(N log N) algorithm, which makes printing Unicode and Chinese/Japanese
5895fonts practical. (lib/prfont.ps [1.2]: 2000/03/21 06:39:49 lpd)
5896
5897Adds invocation scripts and documentation for the PDF "optimizer".
5898(lib/pdfopt [1.1], lib/pdfopt.bat [1.1], lib/pdfopt.ps [1.2]: 2000/03/21
589917:01:33 lpd)
5900
5901Splits off the ReusableStreamDecode filter as a separate module, since
5902CIDFontType 0 fonts will use it even in LanguageLevels below 3.
5903(zfreuse.c [1.2]: 2000/03/21 21:34:57 lpd)
5904
5905Adds a variety of tools used to build and distribute Ghostscript releases.
5906The only documentation is comments in the files themselves, and there isn't
5907much of it. All aspects of these tools are subject to change without notice.
5908(gsindent [1.2]: 2000/04/02 18:44:27 lpd)
5909
5910</pre><h2><a name="6.20 Drivers"></a>Drivers</h2><pre>
5911
5912Fixes problems:
5913	- The color_info member of the Windows and OS/2 printer devices (and
5914other devices using PC-style palettes) wasn't initialized properly, causing
5915improper behavior. (gdevos2p.c [1.2], gdevpccm.h [1.2], gdevwpr2.c [1.3]:
59162000/03/20 21:05:11 lpd)
5917	- Fixes a bug in the mswinpr2 driver in the handling of
5918BitsPerPixel. (gdevwpr2.c [1.4]: 2000/03/22 17:08:33 lpd)
5919	- In PCL XL output (pxl* drivers), if a PostScript image didn't
5920provide enough source data, the remainder of the output image was
5921erroneously filled with pixel value 0 (typically black or the foreground
5922color). (gdevpx.c [1.2]: 2000/03/22 20:55:21 lpd)
5923	- In the output of the pswrite driver (pdf2ps, ps2ps), the showpage
5924for each page occurred before, not after, the restore that ended the page
5925contents. This contradicted Adobe's documentation, and made utilities like
5926N-up printing not work properly. (gdevps.c [1.4]: 2000/03/28 00:52:46 lpd)
5927	- The PCL XL 2.0 value for sRGB color space was wrong, and the
5928attribute for writing mode was missing. (gdevpxat.h [1.2], gdevpxen.h [1.2]:
59292000/03/29 18:19:44 lpd)
5930	- When printing on monochrome LaserJet/DeskJet printers, the driver
5931didn't set the number of copies to 1; on the LJ 4si, this sometimes caused
5932double printing. (gdevdjet.c [1.2]: 2000/04/03 14:36:12 lpd)
5933	- Updates clients for the change in the last argument of
5934cff_string_index from uint * to int *. (gdevpsf2.c [1.4]: 2000/04/05
593519:55:29 lpd)
5936
5937Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements
5938the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
5939xxxACSImageDict distiller parameters. Implements DCTEncode as an
5940xxxImageFilter option (it used to cause a crash). Makes the
5941AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
5942if the image has 8 bits per component and is not Indexed, and LZW/Flate
5943otherwise: this still isn't right, but it's closer. Implementation changes:
5944Changes the implementation of distiller parameter dictionaries from stream
5945states to parameter lists; changes the test for masks in
5946psdf_setup_image_filters, and changes the image argument from gs_image_t to
5947gs_pixel_image_t. (gdevpsdf.h [1.4], gdevpsdi.c [1.3], gdevpsdp.c [1.3]:
59482000/03/20 05:40:04 lpd)
5949
5950Moves font-writing support into a new module (gdevpsf*), changing the source
5951file names. Adds the ability to write CFF fonts, with either Type 1 or Type
59522 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
5953with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
5954Type 2, including optimizing sequences of Type 1 operators into a single
5955Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
5956TESTED]. Starts (just barely) to remove more unneeded information from
5957embedded TrueType fonts. (gdevpsd1.c [1.2], gdevpsdf.c [1.3],
5958gdevpsdf.h [1.5], gdevpsdt.c [1.2], gdevpsf.h [1.1], gdevpsf1.c [1.1],
5959gdevpsf2.c [1.1], gdevpsft.c [1.1], gdevpsfu.c [1.1], gdevpsfx.c [1.1]:
59602000/03/20 07:02:12 lpd)
5961
5962Renames an inappropriately named file. (gdevpsdf.c [1.4], gdevpsdf.h [1.6],
5963gdevpsdu.c [1.1]: 2000/03/20 19:03:43 lpd)
5964
5965Extends the C support for CIDFontType 0 fonts to include those with FontType
59662 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
5967fonts). (gdevpsf.h [1.2]: 2000/03/21 07:43:42 lpd)
5968
5969Changes the procs structure of gs_type1_data to an in-line structure rather
5970than a pointer to a const structure. (Needed for moving CIDFontType 0
5971support into C.) (gdevpsf1.c [1.2], gdevpsf2.c [1.2], gdevpsfx.c [1.2]:
59722000/03/29 22:10:31 lpd)
5973
5974Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
5975a surprising number of changes in other font-related files.
5976(gdevpsf2.c [1.3], gdevpsfu.c [1.2]: 2000/04/02 07:38:45 lpd)
5977
5978Slightly simplifies the output of the psmono and psgray drivers.
5979(gdevpsim.c [1.2]: 2000/04/02 19:57:37 lpd)
5980
5981Adds an #include required by the Watcom compiler. (gdevpsf1.c [1.3]:
59822000/04/05 19:51:54 lpd)
5983
5984</pre><h2><a name="6.20 PDF writer"></a>PDF writer</h2><pre>
5985
5986Fixes problems:
5987	- The pointer enumeration procedure for pdf_image_enum was wrong,
5988possibly producing a mangled pointer and a memory access error if a garbage
5989collection occured while writing an image in a PDF file. (gdevpdfi.c [1.5]:
59902000/03/20 05:54:13 lpd)
5991	- The computation for testing whether a tiled pattern could be
5992represented in line, and whether it exceeded Acrobat Reader's size limit,
5993was wrong, causing some patterns not to be represented as Patterns.
5994(gdevpdfi.c [1.6]: 2000/03/20 05:58:15 lpd)
5995	- When ProcessColorModel=/DeviceCMYK, if the first object on a page
5996or after changing the clipping path was white, the PDF writer would write it
5997as black. (gdevpdfu.c [1.3]: 2000/03/21 18:36:36 lpd)
5998	- If a page ended with an incomplete outline tree, an invalid memory
5999access occurred. (gdevpdf.c [1.3], gdevpdfm.c [1.2]: 2000/03/24 05:09:56
6000lpd)
6001	- The SP pdfmark didn't check that its argument was a graphics
6002stream. (gdevpdfm.c [1.4]: 2000/03/24 06:18:39 lpd)
6003	- The name of the EndPage Distiller parameter collided with the
6004EndPage page device parameter. (gdevpdfp.c [1.4]: 2000/03/28 07:45:25 lpd)
6005	- If two embedded fonts had the same base font, the PDF file could
6006wind up with an invalid entry in the xref table. (gdevpdft.c [1.4]:
60072000/04/01 01:18:32 lpd)
6008
6009Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements
6010the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
6011xxxACSImageDict distiller parameters. Implements DCTEncode as an
6012xxxImageFilter option (it used to cause a crash). Makes the
6013AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
6014if the image has 8 bits per component and is not Indexed, and LZW/Flate
6015otherwise: this still isn't right, but it's closer. Implementation changes:
6016Changes the implementation of distiller parameter dictionaries from stream
6017states to parameter lists; changes the test for masks in
6018psdf_setup_image_filters, and changes the image argument from gs_image_t to
6019gs_pixel_image_t. (gdevpdfi.c [1.4]: 2000/03/20 05:40:04 lpd)
6020
6021Moves font-writing support into a new module (gdevpsf*), changing the source
6022file names. Adds the ability to write CFF fonts, with either Type 1 or Type
60232 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
6024with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
6025Type 2, including optimizing sequences of Type 1 operators into a single
6026Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
6027TESTED]. Starts (just barely) to remove more unneeded information from
6028embedded TrueType fonts. (gdevpdff.c [1.2], gdevpdfw.c [1.2]: 2000/03/20
602907:02:12 lpd)
6030
6031Substantially enhances the Cos object machinery. Interface: Adds a few more
6032procedures, including a procedure to create a stream that writes directly
6033into a Cos stream object, procedures for putting more kinds of values into
6034arrays and dictionaries, and a param_list interface. Changes Cos objects to
6035store a reference to the PDF device, and removes the device argument from
6036all Cos procedures other than object creation. Replaces the Boolean
6037is_object member of Cos values by a value_type enum: clients must now use
6038COS_VALUE_IS_OBJECT() to test whether a value is an object reference. To
6039reduce allocator overhead, makes the Cos procedures that take C strings no
6040longer copy the string. Records whether each Cos object has been written
6041into the output, so that in the future (but not in this batch of changes)
6042resource definitions can be copied at the end of each page. Implementation:
6043Moves more of the implementation of Cos objects to the .c file.
6044(gdevpdf.c [1.4], gdevpdfi.c [1.7], gdevpdfm.c [1.3], gdevpdfo.c [1.2],
6045gdevpdfo.h [1.2], gdevpdfr.c [1.2], gdevpdfu.c [1.4], gdevpdfx.h [1.3]:
60462000/03/24 06:12:52 lpd)
6047
6048Changes a few initializations to suppress warnings from one picky compiler
6049that doesn't like ptr = buf - 1 where buf is an array. (gdevpdfr.c [1.3]:
60502000/03/28 02:01:34 lpd)
6051
6052Adds parsing for the remaining Acrobat Distiller 4 parameters, although most
6053of them don't have any effect yet; brings documentation up to date.
6054(gdevpdf.c [1.5], gdevpdfp.c [1.3], gdevpdfx.h [1.4]: 2000/03/28 07:36:58
6055lpd)
6056
6057Implements LockDistillerParams; completes the StartPage/EndPage fix checked
6058in just before. (gdevpdf.c [1.6], gdevpdfp.c [1.5], gdevpdfx.h [1.5]:
60592000/03/28 07:52:06 lpd)
6060
6061Changes the initial values of the "job control" parameters to match Acrobat
6062Distiller 4. (gdevpdf.c [1.7], gdevpdfp.c [1.6], gdevpdfx.h [1.6]:
60632000/03/28 07:57:14 lpd)
6064
6065Implements the AutoRotatePages distiller parameter. (gdevpdf.c [1.8],
6066gdevpdft.c [1.5], gdevpdfu.c [1.5], gdevpdfx.h [1.7]: 2000/04/03 02:54:41
6067lpd)
6068
6069</pre><h2><a name="6.20 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre>
6070
6071Fixes problems:
6072	- Reading embedded compressed CIDFonts wasn't implemented.
6073(lib/pdf_font.ps [1.3]: 2000/03/19 01:28:59 lpd)
6074	- PDF images with DeviceN color spaces caused an error.
6075(lib/pdf_draw.ps [1.2]: 2000/03/19 01:44:53 lpd)
6076	- PDF images with a Mask ignored the mask. (lib/pdf_draw.ps [1.3]:
60772000/03/19 01:46:27 lpd)
6078	- the PDF interpreter hadn't been updated for the move to
6079library-based FunctionType 4 Functions, and still tried to bind the names
6080true and false to the no longer existing operators .true and .false.
6081(lib/pdf_draw.ps [1.5]: 2000/03/19 07:37:03 lpd)
6082	- FunctionType 2 and 3 functions didn't work.
6083(lib/pdf_draw.ps [1.6]: 2000/03/19 15:23:10 lpd)
6084	- In PDF files, the page CropBox was not being used to clip the
6085output. (lib/pdf_main.ps [1.4], lib/pdf_ops.ps [1.3]: 2000/03/21 23:08:32
6086lpd)
6087	- The "fix" for FunctionTypes 2 and 3 in PDF files had made things
6088worse, because the code didn't distinguish between resolving to a PostScript
6089function (for shadings) and resolving to a PostScript procedure (for
6090halftones, BG/UCR, alternate color space mapping, etc.)
6091(lib/pdf_draw.ps [1.7]: 2000/03/23 18:31:46 lpd)
6092	- Text with a Pattern color scaled the pattern according to the text
6093matrix, not the default matrix of the marking context.
6094(lib/pdf_base.ps [1.6], lib/pdf_main.ps [1.5], lib/pdf_ops.ps [1.4]:
60952000/03/30 18:01:58 lpd)
6096	- Resolving a Shading didn't create a reusable stream for the
6097shading data; since the data was then read at unpredictable times, the
6098shading or other constructs in the PDF file could read incorrect data.
6099(lib/pdf_draw.ps [1.8]: 2000/04/03 06:01:25 lpd)
6100
6101Adds a lforall procedure for the PDF linearizer. (lib/pdf_base.ps [1.3]:
61022000/03/19 01:50:05 lpd)
6103
6104Changes the PDF interpreter so that following an object reference doesn't
6105store the result back into the referring slot, and so that # # R always
6106creates an indirect object. This is necessary for the PDF linearizer. It
6107shouldn't have any visible effect (other than a possible small performance
6108cost). (lib/pdf_base.ps [1.4], lib/pdf_draw.ps [1.4]: 2000/03/19 01:53:58
6109lpd)
6110
6111Refactors some code to make it usable by the PDF linearizer.
6112(lib/pdf_main.ps [1.3]: 2000/03/19 17:26:42 lpd)
6113
6114Speeds up loading embedded Type 1 fonts a little. (lib/pdf_base.ps [1.5],
6115lib/pdf_font.ps [1.4]: 2000/03/24 07:42:16 lpd)
6116
6117Speeds up reading embedded Type 1 fonts a little more.
6118(lib/pdf_font.ps [1.5]: 2000/03/24 16:28:26 lpd)
6119
6120</pre><h2><a name="6.20 Interpreter"></a>Interpreter</h2><pre>
6121
6122Fixes problems:
6123	- Font substitution was broken. (lib/gs_fonts.ps [1.3]: 2000/03/19
612400:22:05 lpd)
6125	- The CFF reader gave an error if a font included any Subrs (it's
6126very surprising that this hasn't surfaced before, but apparently Acrobat
6127Distiller always produces CFF fonts with no Subrs); the CFF reader didn't
6128default lenIV to -1 for Type 1 CharStrings; the CFF reader wasn't able to
6129read CIDFonts. (lib/gs_cff.ps [1.3], lib/gs_cidfn.ps [1.4]: 2000/03/19
613000:45:40 lpd)
6131	- EXTEND_NAMES had stopped working, because not all places that
6132needed the index of a name ref used name_index rather than r_size
6133(ilocate.c), and because the high_index value in the name sub-table was set
6134incorrectly (iname.c). (ilocate.c [1.2], iname.c [1.2]: 2000/03/19 01:33:23
6135lpd)
6136	- The attribute check for Functions being executed was incorrect
6137(always succeeded). (zfunc.c [1.2]: 2000/03/19 02:12:37 lpd)
6138	- s_add_filter didn't ensure enough buffering. This entailed moving
6139the NullEncode/Decode filters to stream.[hc]. (sfilter1.c [1.2]: 2000/03/19
614003:15:02 lpd)
6141	- The parameters of SubFileDecode filters weren't initialized fully
6142(required by a change in this version). (zfilter.c [1.3]: 2000/03/19
614304:03:45 lpd)
6144	- The AutoPositionEPSFiles Distiller parameter was misspelled
6145AutoPositionEPSFile. (lib/gs_pdfwr.ps [1.2]: 2000/03/19 05:03:31 lpd)
6146	- Enumerating the elements of a dictionary-based parameter list
6147returned garbage for the keys. (iparam.c [1.2]: 2000/03/19 15:13:13 lpd)
6148	- .buildfont0 should not check CIDSystemInfo compatibility. The
6149PLRM3 says PostScript interpreters do not make this check, even though the
6150PLRM2 says compatibility is required (!). (zfcmap.c [1.2]: 2000/03/19
615116:53:50 lpd)
6152	- If log2_transfer_map_size > 8, identity transfer functions
6153returned garbage. The fix requires that if a client wants to set a transfer
6154function to the identity mapping, it must call gx_set_identity_transfer
6155rather than simply setting the procedure to gs_identity_transfer.
6156(zcolor.c [1.2]: 2000/03/19 17:14:47 lpd)
6157	- Separation color spaces didn't store the separation name.
6158(zcssepr.c [1.2]: 2000/03/19 17:21:36 lpd)
6159	- The addition of the dummy cid_Setup procedure in gs 6.01 was
6160accidentally commented out. (lib/gs_cidfn.ps [1.5]: 2000/03/21 00:11:55 lpd)
6161	- The test for whether an CIDFontType 2 outline string was large
6162enough to include prefixed metrics was backwards, which would have caused
6163problems with any font that used MetricsCount. (zfcid.c [1.3]: 2000/03/21
616400:43:17 lpd)
6165	- A couple of places in the Windows code didn't correctly handle
6166Ghostscript version numbers of the form #.0#. (dwsetup.cpp [1.2]: 2000/03/22
616721:45:03 lpd)
6168	- In some cases, re-registering an existing font or CIDFont with
6169definefont would cause an invalidfont error. (zbfont.c [1.4],
6170zfont42.c [1.3]: 2000/03/28 18:20:39 lpd)
6171	- Re-registering a CIDFont with definefont, or defining a CIDFont
6172with definefont instead of /CIDFont defineresource, caused an invalidfont
6173error or a crash. (lib/gs_cidfn.ps [1.9], lib/gs_fonts.ps [1.4]: 2000/03/28
617418:21:50 lpd)
6175	- The new C BuildGlyph code for CIDFontType 0 fonts didn't handle
6176GlyphDirectory or Type 2 CharStrings correctly. (lib/gs_cidfn.ps [1.12],
6177zfcid.c [1.8]: 2000/03/31 23:21:57 lpd)
6178	- The internaldict "operator" was allocated in local VM, preventing
6179it from being bound into procedures allocated in global VM.
6180(lib/gs_init.ps [1.6]: 2000/04/04 22:16:02 lpd)
6181	- If there was a CIDInit ProcSet defined in the filesystem, the code
6182for initializing the built-in CIDInit ProcSet became confused.
6183(lib/gs_cidfn.ps [1.13]: 2000/04/04 22:17:33 lpd)
6184	- Fixes several problems in resourceforall and resource loading: the
6185operands of resourceforall were restored even in the case of an error in the
6186client's procedure; the name Instances had special meaning for some Adobe
6187code; resourceforall caused an invalidaccess error if an operand was in
6188local VM but the current VM was global; loading a resource from a file could
6189cause a typecheck error if the file left values on the operand stack.
6190(interp.c [1.3], lib/gs_ccfnt.ps [1.2], lib/gs_res.ps [1.3]: 2000/04/04
619122:26:02 lpd)
6192	- resourceforall didn't enumerate external (loadable) instances, and
6193would enumerate an instance twice if it had both a local and a global
6194definition. (lib/gs_res.ps [1.4]: 2000/04/05 21:07:02 lpd)
6195	- The implementation of resourcestatus wasn't compatible with some
6196badly written code in an Adobe font downloader that assumes that the
6197implementation of resourcestatus in Generic and Font is the same.
6198(lib/gs_res.ps [1.5]: 2000/04/05 21:20:07 lpd)
6199	- The just-checked-in fixed for resourceforall didn't work properly
6200for the IdiomSet category. (They probably failed for other categories that
6201had no instances, but we didn't check this.) (lib/gs_res.ps [1.6]:
62022000/04/05 21:51:43 lpd)
6203	- Some Adobe font downloading code assumed that loading a resource
6204file would never leave extra values on the stack; our implementation didn't
6205ensure this (by popping them if needed). (lib/gs_res.ps [1.8]: 2000/04/06
620604:50:28 lpd)
6207	- If an alphabetic font defined and used a .notdef character,
6208pdfwrite always converted it to a bitmap. (lib/gs_lgo_e.ps [1.2]: 2000/04/07
620902:48:23 lpd)
6210
6211Provides a gs_atan2_degrees procedure to parallel sin and cos.
6212(zmath.c [1.2]: 2000/03/18 23:10:39 lpd)
6213
6214Speeds up string garbage collection by scanning unmodified string regions
6215faster. (igcstr.c [1.2]: 2000/03/18 23:29:32 lpd)
6216
6217Adds the ImagemaskTrapping parameter to the trapping state.
6218(lib/gs_trap.ps [1.2]: 2000/03/18 23:35:53 lpd)
6219
6220Increments the version number to 6.20, in anticipation of the next release.
6221(We do this at the beginning of the development for a release, not the end.)
6222(lib/gs_init.ps [1.4]: 2000/03/19 00:27:22 lpd)
6223
6224Adds a pseudo-encoding for the CFF StandardStrings that represent
6225characters. (lib/gs_cff.ps [1.2], lib/gs_css_e.ps [1.1]: 2000/03/19 00:38:50
6226lpd)
6227
6228Refactors the code for getting Type 1/2/4 font parameters so it can be used
6229for FDArray entries of CIDFontType 0 fonts. (ifont1.h [1.2], zfont1.c [1.2]:
62302000/03/19 02:07:45 lpd)
6231
6232Speeds up Function evaluation slightly, by preallocating space for a
6233reasonable number of operands and results on the C stack rather than always
6234allocating it on the heap. (zfunc.c [1.3]: 2000/03/19 02:16:58 lpd)
6235
6236Adds a public procedure for determining whether a PostScript object is a
6237Function, and if so, returning the pointer to the gs_function_t structure.
6238(ifunc.h [1.2], zfunc.c [1.4]: 2000/03/19 02:22:01 lpd)
6239
6240Splits out the [T]BCP filter interface into a separate file. (zfbcp.c [1.2]:
62412000/03/19 02:40:18 lpd)
6242
6243Adds a skip_count parameter to the SubFileDecode filter, giving the number
6244of initial bytes or records to skip over. (Needed for printing FunctionType
62454 functions, possibly useful for other things.) (sfilter1.c [1.3]:
62462000/03/19 03:20:18 lpd)
6247
6248Replaces the implementation of FunctionType 4 functions at the PostScript
6249language level with one that uses the new library-based facilities.
6250(zdevice2.c [1.2], zfunc4.c [1.2]: 2000/03/19 06:56:23 lpd)
6251
6252Changes the key type returned by parameter list enumeration to include a
6253persistence flag, makes C parameter lists support non-persistent keys, and
6254upgrades GC descriptors so that parameter lists can be used non-transiently;
6255updates implementors of parameter lists to call gs_param_list_init to
6256initialize the common members, which is now required. (iparam.c [1.3]:
62572000/03/19 15:16:11 lpd)
6258
6259Makes Separation and DeviceN color spaces convert their tint transform
6260function to a FunctionType 4 Function if possible, for better accuracy and
6261to allow writing in PDF files. (lib/gs_lev2.ps [1.2], lib/gs_ll3.ps [1.2]:
62622000/03/19 15:28:34 lpd)
6263
6264Makes st_indexed_map private. Clients must now use the constructor procedure
6265alloc_indexed_map rather than allocating instances directly.
6266(zcsindex.c [1.2]: 2000/03/19 16:37:28 lpd)
6267
6268Refactors the code for building fonts so it can be used for FDArray entries
6269of CIDFontType 0 fonts. (bfont.h [1.2], zbfont.c [1.2]: 2000/03/19 16:45:47
6270lpd)
6271
6272Adds a .fileposition operator that will read the position even of
6273non-positionable streams, needed for the PDF linearizer. (zfileio.c [1.3]:
62742000/03/20 04:30:49 lpd)
6275
6276Starts to move support for CIDFontType 0 and 2 into C code, needed by the
6277PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
6278CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
6279that have a GlyphDirectory (not documented in the PLRM, but clearly
6280correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
6281and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
6282which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
6283(icid.h [1.1], ifont.h [1.2], ifont42.h [1.1], zcid.c [1.2], zfcid.c [1.1],
6284zfcmap.c [1.3], zfont42.c [1.2]: 2000/03/20 19:53:06 lpd)
6285
6286Hooks the new CIDMap code into the BuildGlyph procedure for CIDFontType 2
6287fonts. (Contrary to a previous log comment, MetricsCount is already hooked
6288in.) Support for CIDFontType 2 fonts is now implemented entirely in C, as
6289for Type 42 fonts. (lib/gs_cidfn.ps [1.6], zfcid.c [1.2]: 2000/03/21
629000:32:15 lpd)
6291
6292Extends the C support for CIDFontType 0 fonts to include those with FontType
62932 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
6294fonts). (ifont2.h [1.1], zfcid.c [1.4], zfont2.c [1.2]: 2000/03/21 07:43:42
6295lpd)
6296
6297Changes Subr loading for CIDFontType 0 fonts from lazy to immediate, so that
6298C code can be guaranteed access to the Subrs. (In every CIDFontType 0 font
6299that we have seen, SubrCount is 5, so this has no significant time or space
6300cost.) Also adds support for FDBytes > 1 in GlyphDirectory definitions.
6301(lib/gs_cidfn.ps [1.7]: 2000/03/21 20:06:44 lpd)
6302
6303Splits off the ReusableStreamDecode filter as a separate module, since
6304CIDFontType 0 fonts will use it even in LanguageLevels below 3.
6305(lib/gs_frsd.ps [1.1], lib/gs_ll3.ps [1.3], zfrsd.c [1.1]: 2000/03/21
630621:34:57 lpd)
6307
6308Makes file streams remember the file name, needed for efficiently
6309implementing reusable streams. (zfile.c [1.3], zfileio.c [1.4]: 2000/03/23
631002:13:40 lpd)
6311
6312Changes the new .filename operator to return true/false rather than causing
6313an error; redefines findlibfile in terms of a simpler .libfile operator +
6314.filename. (lib/gs_init.ps [1.5], zfile.c [1.4], zfileio.c [1.5]: 2000/03/23
631518:47:17 lpd)
6316
6317Finishes implementing the file case of ReusableStreamDecode. This required
6318adding the ability to restrict file-reading streams to a subfile.
6319(lib/gs_frsd.ps [1.2], sfilter1.c [1.4], zfileio.c [1.6], zfrsd.c [1.2]:
63202000/03/24 03:59:42 lpd)
6321
6322Changes the implementation of incrementally loaded CIDFontType 0 fonts to
6323use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph
6324procedure for these fonts from PostScript to C. (lib/gs_cidfn.ps [1.8],
6325zbfont.c [1.3], zfcid.c [1.5]: 2000/03/27 16:36:24 lpd)
6326
6327Changes the get_outline / glyph_data procedure for getting encoded font
6328outline data to return an indication of whether the outline data were just
6329allocated and can be freed by the client. (This is a possibly
6330non-backward-compatible change.) (zfcid.c [1.6]: 2000/03/28 18:47:02 lpd)
6331
6332Changes the procs structure of gs_type1_data to an in-line structure rather
6333than a pointer to a const structure. (Needed for moving CIDFontType 0
6334support into C.) (zfont1.c [1.3]: 2000/03/29 22:10:31 lpd)
6335
6336Finishes moving support for CIDFontType 0 fonts from PostScript to C.
6337(ifont.h [1.3], ifont42.h [1.2], lib/gs_cidfn.ps [1.10], zfcid.c [1.7],
6338zfont42.c [1.4]: 2000/03/31 04:55:18 lpd)
6339
6340Allows dictionaries as the value of CIDMap resources. (Also removes an
6341unrelated obsolete comment.) (lib/gs_cidfn.ps [1.11]: 2000/03/31 05:11:30
6342lpd)
6343
6344Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
6345a surprising number of changes in other font-related files. (ichar1.h [1.2],
6346ifcid.h [1.1], zchar1.c [1.2], zfcid.c [1.9], zfcid0.c [1.1],
6347zfcid1.c [1.1], zfont1.c [1.4]: 2000/04/02 07:38:46 lpd)
6348
6349Makes the .writefont9 operator (used only for testing) available in both
6350DEBUG and PROFILE configurations. (zfcid0.c [1.2]: 2000/04/03 02:37:55 lpd)
6351
6352Extends .forceput to handle arrays as well as dictionaries, required to fix
6353a bug with internaldict. (zdict.c [1.2], zgeneric.c [1.2]: 2000/04/04
635422:13:23 lpd)
6355
6356Works around an Adobe code assumption that the default FindResource
6357procedure does *not* call the ResourceStatus procedure if the requested
6358instance is already defined in VM. (lib/gs_res.ps [1.7]: 2000/04/05 23:31:54
6359lpd)
6360
6361Implements the framework for superexec (but none of the actual access check
6362bypasses). (icontext.c [1.2], icstate.h [1.2], zcontrol.c [1.2]: 2000/04/06
636304:40:06 lpd)
6364
6365Extends the undocumented CCRun procedure to take an additional argument, a
6366Private dictionary, required by some Adobe font downloading code.
6367(lib/gs_type1.ps [1.3]: 2000/04/06 05:25:10 lpd)
6368
6369</pre><h2><a name="6.20 Streams"></a>Streams</h2><pre>
6370
6371Fixes problems:
6372	- s_add_filter didn't ensure enough buffering. This entailed moving
6373the NullEncode/Decode filters to stream.[hc]. (sfilter.h [1.3],
6374stream.c [1.3], stream.h [1.3]: 2000/03/19 03:15:02 lpd)
6375	- When FPU_TYPE <= 0, the image interpolation code lost too much
6376accuracy, producing color streaks in the output. (Fix by DanCoby.)
6377(siscale.c [1.2]: 2000/03/29 20:34:45 lpd)
6378	- Fixes a couple of typos in the recently checked-in image
6379interpolation fix. (siscale.c [1.3]: 2000/03/30 06:55:26 lpd)
6380
6381Splits out the [T]BCP filter interface into a separate file. (sbcp.c [1.2],
6382sbcp.h [1.1], sfilter.h [1.2]: 2000/03/19 02:40:18 lpd)
6383
6384Adds a skip_count parameter to the SubFileDecode filter, giving the number
6385of initial bytes or records to skip over. (Needed for printing FunctionType
63864 functions, possibly useful for other things.) (sfilter.h [1.4]: 2000/03/19
638703:20:18 lpd)
6388
6389Changes the key type returned by parameter list enumeration to include a
6390persistence flag, makes C parameter lists support non-persistent keys, and
6391upgrades GC descriptors so that parameter lists can be used non-transiently;
6392updates implementors of parameter lists to call gs_param_list_init to
6393initialize the common members, which is now required. (spsdf.c [1.2]:
63942000/03/19 15:16:11 lpd)
6395
6396Makes file streams remember the file name, needed for efficiently
6397implementing reusable streams. (stream.c [1.4], stream.h [1.4]: 2000/03/23
639802:13:40 lpd)
6399
6400Finishes implementing the file case of ReusableStreamDecode. This required
6401adding the ability to restrict file-reading streams to a subfile.
6402(sfxfd.c [1.2], sfxstdio.c [1.2], stream.c [1.5], stream.h [1.5]: 2000/03/24
640303:59:42 lpd)
6404
6405Changes a few initializations to suppress warnings from one picky compiler
6406that doesn't like ptr = buf - 1 where buf is an array. (spsdf.c [1.3]:
64072000/03/28 02:01:34 lpd)
6408
6409</pre><h2><a name="6.20 Library"></a>Library</h2><pre>
6410
6411Fixes problems:
6412	- Two comments in the file were incorrect. (gsiparm3.h [1.2]:
64132000/03/19 02:46:11 lpd)
6414	- param_coerce_typed, which works with any parameter list
6415implementation, was incorrectly described as associated with the default
6416implementation. (gsparam.h [1.2]: 2000/03/19 03:37:08 lpd)
6417	- TrueType fonts didn't use vhea/vmtx if WMode = 1. Also makes
6418gs_font_type42 subclassable, for implementing CIDFontType 2 fonts, and makes
6419its procedure for getting a glyph's side bearing and width virtual, required
6420to support MetricsCount in CIDFontType 2 fonts. (gstype42.c [1.3],
6421gxfont42.h [1.2]: 2000/03/19 03:58:51 lpd)
6422	- ImageType 4 images didn't give an error for out-of-range MaskColor
6423values. The file also had an unnecessary #include. (gximage4.c [1.2]:
64242000/03/19 04:10:09 lpd)
6425	- If log2_transfer_map_size > 8, identity transfer functions
6426returned garbage. The fix requires that if a client wants to set a transfer
6427function to the identity mapping, it must call gx_set_identity_transfer
6428rather than simply setting the procedure to gs_identity_transfer.
6429(gxclrast.c [1.3], gxcmap.c [1.2], gxfmap.h [1.2]: 2000/03/19 17:14:47 lpd)
6430	- Fixes a warning about aliasing produced by one extremely picky
6431compiler. (gsnogc.c [1.2]: 2000/03/22 21:39:32 lpd)
6432	- Filling or clipping with ridiculously large (out-of-bounds)
6433coordinates could cause an internal overflow that produced incorrect
6434results. (This is probably not the last such bug.) (gxfill.c [1.2]:
64352000/03/30 07:03:59 lpd)
6436
6437Provides a gs_atan2_degrees procedure to parallel sin and cos.
6438(gsmisc.c [1.2], gxfarith.h [1.2]: 2000/03/18 23:10:39 lpd)
6439
6440Improves the 8x8 bitmap "flipping" procedure to take advantage of 32-bit
6441ints. (gsutil.c [1.2]: 2000/03/18 23:16:16 lpd)
6442
6443Adds a public procedure for restricting a color to its legal range.
6444(gscspace.c [1.2], gscspace.h [1.2], gxcspace.h [1.2]: 2000/03/18 23:19:17
6445lpd)
6446
6447Adds the new ImagemaskTrapping parameter to the trapping state.
6448(gstrap.c [1.2], gstrap.h [1.2]: 2000/03/18 23:26:17 lpd)
6449
6450Increments the version number to 6.20, in anticipation of the next release.
6451(We do this at the beginning of the development for a release, not the end.)
6452(gscdef.c [1.2]: 2000/03/19 00:27:22 lpd)
6453
6454Adds a pseudo-encoding for the CFF StandardStrings that represent
6455characters. (gsccode.h [1.2]: 2000/03/19 00:38:50 lpd)
6456
6457Adds a bit_index procedure to the implementation of device halftones,
6458required for writing halftones in PDF files. (The only implementors are
6459internal ones.) (gxdht.h [1.2], gxhtbit.c [1.2]: 2000/03/19 05:10:55 lpd)
6460
6461Adds a public procedure for getting a palette entry of an Indexed color
6462space, used when writing Indexed color spaces in PDF files.
6463(gscindex.h [1.1], gscolor2.c [1.2], gscolor2.h [1.2]: 2000/03/19 05:20:28
6464lpd)
6465
6466Reimplements "PostScript calculator" (FunctionType 4) functions entirely in
6467C, to allow them to be written out in PDF files. (gsfunc4.c [1.1],
6468gsfunc4.h [1.1], gsstruct.h [1.2]: 2000/03/19 05:25:53 lpd)
6469
6470Moves gx_device_color_equal to the public API, for detecting redundant color
6471setting when writing PDF files. (gsdcolor.h [1.2], gxdcolor.c [1.2],
6472gxdcolor.h [1.2]: 2000/03/19 06:46:08 lpd)
6473
6474Changes the default value of BufferSpace to 4 Mb. In desktop applications,
6475this is a reasonable value that can substantially improve performance
6476(especially for color printers); embedded applications will want to set
6477BufferSpace themselves in any case. (gdevprn.h [1.2]: 2000/03/19 06:51:13
6478lpd)
6479
6480Adds virtual procedures for Functions to write their parameters to a
6481parameter list, and to access their data source and subfunctions. This is
6482needed for writing Functions in PDF files. This change is also a
6483prerequisite for the C implemention of FunctionType 4 functions, even though
6484it appears later in the change log. (gsdsrc.h [1.2], gsfunc.c [1.2],
6485gsfunc.h [1.2], gsfunc0.c [1.2], gsfunc3.c [1.2], gsparam.c [1.2],
6486gsparam.h [1.3], gxfunc.h [1.2]: 2000/03/19 07:24:53 lpd)
6487
6488Splits off "vanilla" Functions into separate files, in anticipation of
6489removing them (they were only used to implement PostScript Calculator
6490Functions). (gsfunc.c [1.3], gsfunc.h [1.3], gsfuncv.c [1.1],
6491gsfuncv.h [1.1]: 2000/03/19 07:33:08 lpd)
6492
6493Adds a procedure for allocating a C parameter list. (gscparam.c [1.2],
6494gsparam.h [1.4]: 2000/03/19 15:00:05 lpd)
6495
6496Undoes a premature change that depends on an update not yet checked in.
6497(gscparam.c [1.3]: 2000/03/19 15:07:59 lpd)
6498
6499Changes the key type returned by parameter list enumeration to include a
6500persistence flag, makes C parameter lists support non-persistent keys, and
6501upgrades GC descriptors so that parameter lists can be used non-transiently;
6502updates implementors of parameter lists to call gs_param_list_init to
6503initialize the common members, which is now required. (gscparam.c [1.4],
6504gsparam.c [1.3], gsparam.h [1.5]: 2000/03/19 15:16:11 lpd)
6505
6506Adds a procedure for copying one parameter list to another.
6507(gsparamx.c [1.2], gsparamx.h [1.2]: 2000/03/19 15:35:31 lpd)
6508
6509Records the CTM used for sampling HalftoneType 1 spot functions. This is
6510needed for recognizing the standard spot functions when producing PDF
6511output. Also factors the code for initializing spot functions for the
6512benefit of the PDF writer. (gshtscr.c [1.2], gxdht.h [1.3], gzht.h [1.2]:
65132000/03/19 15:43:36 lpd)
6514
6515Adds a proc_data member to the map for Separation and Indexed color spaces.
6516(gscolor2.c [1.3], gxcolor2.h [1.2]: 2000/03/19 16:23:46 lpd)
6517
6518Makes st_indexed_map private. Clients must now use the constructor procedure
6519alloc_indexed_map rather than allocating instances directly.
6520(gscolor2.c [1.4], gscsepr.c [1.2], gxclrast.c [1.2], gxcolor2.h [1.3]:
65212000/03/19 16:37:28 lpd)
6522
6523Adds procedures for building and accessing DeviceN color spaces.
6524(gscdevn.c [1.2], gscdevn.h [1.1]: 2000/03/19 17:02:37 lpd)
6525
6526Exports the 'blend' operators of the Type 1 interpreter, for use by the Type
65271 / Type 2 font writer. (gstype1.c [1.3], gxtype1.c [1.2], gxtype1.h [1.3]:
65282000/03/19 18:46:44 lpd)
6529
6530Starts to move support for CIDFontType 0 and 2 fonts into C code. (These
6531header files are the ones needed to compile the new gdevpsf* files; they
6532don't interact with any existing code.) (gxcid.h [1.1], gxfcid.h [1.1]:
65332000/03/20 06:40:22 lpd)
6534
6535Moves font-writing support into a new module (gdevpsf*), changing the source
6536file names. Adds the ability to write CFF fonts, with either Type 1 or Type
65372 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
6538with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
6539Type 2, including optimizing sequences of Type 1 operators into a single
6540Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
6541TESTED]. Starts (just barely) to remove more unneeded information from
6542embedded TrueType fonts. (gxttf.h [1.1]: 2000/03/20 07:02:12 lpd)
6543
6544Starts to move support for CIDFontType 0 and 2 into C code, needed by the
6545PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
6546CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
6547that have a GlyphDirectory (not documented in the PLRM, but clearly
6548correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
6549and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
6550which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
6551(gsfcid.c [1.1], gsfcmap.c [1.3], gxfcmap.h [1.2], gxfont1.h [1.2]:
65522000/03/20 19:53:06 lpd)
6553
6554Changes a few initializations to suppress warnings from one picky compiler
6555that doesn't like ptr = buf - 1 where buf is an array. (gxclpath.c [1.2]:
65562000/03/28 02:01:34 lpd)
6557
6558Changes the get_outline / glyph_data procedure for getting encoded font
6559outline data to return an indication of whether the outline data were just
6560allocated and can be freed by the client. (This is a possibly
6561non-backward-compatible change.) (gxfcid.h [1.2], gxfont42.h [1.3]:
65622000/03/28 18:47:02 lpd)
6563
6564Changes the procs structure of gs_type1_data to an in-line structure rather
6565than a pointer to a const structure. (Needed for moving CIDFontType 0
6566support into C.) (gstype1.c [1.4], gstype2.c [1.3], gxfont1.h [1.3],
6567gxtype1.c [1.3]: 2000/03/29 22:10:31 lpd)
6568
6569Finishes moving support for CIDFontType 0 fonts from PostScript to C.
6570(gxfcid.h [1.3]: 2000/03/31 04:55:18 lpd)
6571
6572Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
6573a surprising number of changes in other font-related files. (gsfcid.c [1.2],
6574gxfcid.h [1.4]: 2000/04/02 07:38:46 lpd)
6575
6576<hr>
6577
6578<h1><a name="Version6.01"></a>Version 6.01 (2000-03-17)</h1>
6579
6580This is a bug-fix release for 6.0.
6581
6582This release fixes the following reported bugs: #101555, #101813, #101816,
6583#101818, #101827, #101830, #101871, #101853, #101906, #101949, #101950,
6584#102003, #102004, #102038, #102081, #102936.
6585
6586<h2><a name="6.01_Incompatible_changes"></a>Incompatible changes</h2>
6587
6588(Platforms)
6589	- OpenVMS using VAX C is no longer supported.  (OpenVMS with DEC C
6590and gcc are still supported.)
6591(Drivers)
6592	- The third argument of psdf_set_color is changed from const char *
6593to const psdf_set_color_commands_t *.
6594(Interpreter)
6595	- The non-standard feature of writing dictionaries in binary object
6596output is now disabled by default, but can now be enabled dynamically.
6597(Library)
6598	- The definition of TRANSPARENCY_PER_H_P is moved from gdevmrop.h to
6599gsropt.h.
6600	- The handling of the source opaque, texture transparent case of
6601RasterOp when TRANSPARENCY_PER_H_P is defined is changed slightly.
6602
6603
6604<h2><a name="6.01 Documentation"></a>Documentation</h2><pre>
6605
6606Fixes problems:
6607	- Fixes a typo. (man/ps2pdf.1 [1.2]: 2000/03/10 03:11:06 lpd)
6608	- When converting PostScript to PDF, selecting /Bicubic as an image
6609DownsampleType caused an error instead of defaulting to /Average.
6610(doc/Ps2pdf.htm [1.2]: 2000/03/10 04:16:09 lpd)
6611	- The gs###src.zip and gs###lib.zip files weren't mentioned as being
6612included in distributions; News.htm and Changes.htm weren't mentioned at
6613all. (doc/Release.htm [1.5]: 2000/03/15 07:23:52 lpd)
6614	- Fixes a problem producing too much black in the output; also adds
6615support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and
6616Epson Stylus Color 200). Note that this is user-contributed code.
6617(doc/Devices.htm [1.2]: 2000/03/16 02:01:36 lpd)
6618
6619In ansi2knr, adds user-contributed support for concatenated string literals
6620and character constants, and fixes for a couple of minor bugs.
6621(man/ansi2knr.1 [1.2]: 2000/03/10 03:16:17 lpd)
6622
6623Removes an inappropriate copying notice. (doc/Hershey.htm [1.2]: 2000/03/10
662407:03:57 lpd)
6625
6626Clarifies when xdpyinfo and xwininfo are needed. Adds privacy options for
6627problem reports. (doc/Bug-form.htm [1.2]: 2000/03/10 07:06:08 lpd)
6628
6629Adds a new eps2eps utility analogous to ps2ps. (man/eps2eps.1 [1.1],
6630man/ps2ps.1 [1.2]: 2000/03/10 07:51:55 lpd)
6631
6632Updates the documentation on making RPMs, which is no longer supported.
6633(doc/Install.htm [1.2], doc/Make.htm [1.2]: 2000/03/10 07:58:00 lpd)
6634
6635Adds a recommendation to use gcc on SGI platforms. (doc/Make.htm [1.3]:
66362000/03/10 07:59:53 lpd)
6637
6638Updates documentation regarding Unix systems that do/don't use libpthread.
6639(doc/Make.htm [1.4]: 2000/03/10 08:01:35 lpd)
6640
6641Removes support for VAX C, which DEC stopped supporting 9 (!) years ago.
6642(doc/Make.htm [1.5], doc/Use.htm [1.2]: 2000/03/10 08:02:59 lpd)
6643
6644Updates the documentation for building Aladdin releases to reflect revised
6645procedures for the Windows executable, and a few other minor changes.
6646(doc/Release.htm [1.2]: 2000/03/10 15:55:39 lpd)
6647
6648Adds the ability to compile on OS/2 with XFree86. (doc/Install.htm [1.3],
6649doc/Make.htm [1.6]: 2000/03/10 19:50:49 lpd)
6650
6651Moves all history for versions 5.n into History5.htm; creates History6.htm
6652for versions 6.n; redefines News.htm as containing only news for the current
6653release; adds (a link to) Changes.htm for the mechanically generated change
6654log. (doc/History5.htm [1.2], doc/History6.htm [1.1], doc/News.htm [1.2],
6655doc/README [1.2], doc/Readme.htm [1.2]: 2000/03/14 06:14:43 lpd)
6656
6657Partially updates the release procedure documentation to reflect the use of
6658SourceForge and CVS. (doc/Release.htm [1.3]: 2000/03/14 06:39:23 lpd)
6659
6660Adds a change log generated mechanically from the CVS logs. Future releases
6661may omit this file (doc/Changes.htm) from their change log.
6662(doc/Changes.htm [1.1], doc/News.htm [1.3]: 2000/03/14 06:48:44 lpd)
6663
6664Revises the release procedures to reflect use of SourceForge, and to
6665separate out the procedures for building Windows executables.
6666(doc/Release.htm [1.4]: 2000/03/15 02:24:58 lpd)
6667
6668Adds information on uninstalling Ghostscript on Windows.
6669(doc/Install.htm [1.4]: 2000/03/15 07:29:53 lpd)
6670
6671Adds the ability to set the ProcessColorModel of the pdfwrite device to
6672/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
6673for fill, stroke, text, and imagemask, and for images that (for whatever
6674reason) can't be written in their specified color space. Note that this is a
6675short-term fix: pdfwrite should output colors in the color space in which
6676they were specified. However, a proper fix will require more significant
6677architectural changes. (doc/News.htm [1.4]: 2000/03/16 01:21:23 lpd)
6678
6679Adds a reference to a third-party Fontmap for the Computer Modern fonts.
6680(doc/Fonts.htm [1.2]: 2000/03/16 04:05:07 lpd)
6681
6682Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver.
6683The code will eventually be included in gdevcd8.c, but it is not yet mature
6684enough. (doc/Devices.htm [1.3]: 2000/03/16 08:09:42 lpd)
6685
6686Updates the version number reference in the troff header.
6687(man/ps2pdf.1 [1.3], man/ps2ps.1 [1.3]: 2000/03/17 00:47:08 lpd)
6688
6689Removes the attempted documentation on building Windows executable
6690distributions: it was never correct, and Aladdin will no longer be creating
6691such distributions. Also reorganizes the document slightly and brings the
6692rest of it fully into line with reality. (doc/Release.htm [1.6]: 2000/03/17
669304:40:47 lpd)
6694
6695Adds information on building with the Intel C/C++ optimizing compiler
6696(requires the Microsoft Visual C++ environment), and fixes a typo in the
6697link to ftp.cdrom.com. (doc/Make.htm [1.7]: 2000/03/17 17:42:59 lpd)
6698
6699Checks in the first wrap-up for the 6.01 release. (doc/Changes.htm [1.2],
6700doc/History6.htm [1.2], doc/News.htm [1.5]: 2000/03/18 04:13:40 lpd)
6701
6702</pre><h2><a name="6.01 Procedures"></a>Procedures</h2><pre>
6703
6704Fixes problems:
6705	- The terminating $ on the $Id: line in gsmalloc.c was missing, and
6706dwuninst.rc lacked a $Id: line. (dwuninst.rc [1.2]: 2000/03/10 03:44:33 lpd)
6707	- The %ram% IODevice was defined, but should not be (it represents a
6708RAM-based file system, which Ghostscript does not provide). Fix: The type of
6709the %null% IODevice was /FileSystem rather than /Special. (int.mak [1.2]:
67102000/03/10 07:02:07 lpd)
6711	- The dependency list for coslwxl omitted a $(DD).
6712(contrib.mak [1.2]: 2000/03/10 07:30:54 lpd)
6713	- The makefile still referred to a long-gone driver for the DEC
6714LA70. (contrib.mak [1.3]: 2000/03/10 07:32:43 lpd)
6715	- The Unix install process tried to make links without deleting them
6716first. (unixinst.mak [1.2]: 2000/03/10 07:49:21 lpd)
6717	- The Watcom compiler switches didn't force enums to occupy a full
6718int, leading to execution errors because the code casts (enum *) pointers to
6719(int *). (wccommon.mak [1.2]: 2000/03/10 08:15:31 lpd)
6720	- The Windows zip archive didn't include font metrics files. (This
6721change only fixes the build procedure: it doesn't actually update the
6722currently released zip archive.) (winint.mak [1.2]: 2000/03/10 08:17:06 lpd)
6723	- the "all architectures" build and test script hadn't been updated
6724to use different STDLIBS values depending on where the platform provides the
6725pthreads library. (all-arch.mak [1.2]: 2000/03/10 15:40:43 lpd)
6726	- The documentation for building with pthreads on FreeBSD hadn't
6727been updated. (unix-gcc.mak [1.2], unixansi.mak [1.2], unixtrad.mak [1.2]:
67282000/03/10 15:44:01 lpd)
6729	- gsmalloc.c didn't include the prototype for gs_exit(), which it
6730calls. (lib.mak [1.2]: 2000/03/10 15:53:08 lpd)
6731
6732Because of rampant confusion, disagreement, and lack of standardization,
6733removes the RPM-related spec and patch files. (gs-fonts.rps [1.2],
6734gs.rps [1.2], rpm-conf.dif [1.2]: 2000/03/10 03:22:04 lpd)
6735
6736Increases the stack size for the PC platforms, since a user had reported
6737that the OS/2 stack size was too small. (dw32c.def [1.2],
6738dwmain32.def [1.2], gsos2.def [1.2]: 2000/03/10 03:33:21 lpd)
6739
6740Updates the Brother HL7xx drivers with a new user-contributed version, plus
6741a couple of minor fixes. (contrib.mak [1.4]: 2000/03/10 07:33:44 lpd)
6742
6743Adds a new eps2eps utility analogous to ps2ps. (unixinst.mak [1.3]:
67442000/03/10 07:51:55 lpd)
6745
6746Removes support for VAX C, which DEC stopped supporting 9 (!) years ago.
6747(openvms.mak [1.2], openvms.mmk [1.2]: 2000/03/10 08:02:59 lpd)
6748
6749Updates all makefiles to the current libpng version, 1.0.5.
6750(bcwin32.mak [1.2], dvx-gcc.mak [1.2], msvc32.mak [1.2], msvclib.mak [1.2],
6751os2.mak [1.2], ugcclib.mak [1.2], unix-gcc.mak [1.3], unixansi.mak [1.3],
6752unixtrad.mak [1.3], watc.mak [1.2], watclib.mak [1.2], watcw32.mak [1.2]:
67532000/03/10 15:48:58 lpd)
6754
6755Updates the version # to 6.01, and the version date. (version.mak [1.2]:
67562000/03/10 17:18:29 lpd)
6757
6758Adds the ability to compile on OS/2 with XFree86. (os2.mak [1.3]: 2000/03/10
675919:50:49 lpd)
6760
6761Moves all history for versions 5.n into History5.htm; creates History6.htm
6762for versions 6.n; redefines News.htm as containing only news for the current
6763release; adds (a link to) Changes.htm for the mechanically generated change
6764log. (unixinst.mak [1.4], version.mak [1.3]: 2000/03/14 06:14:44 lpd)
6765
6766Adds entries for ibm-rs6000-aix-4.3, sgi-mips-irix6.5-64bit, and
6767sun-sparc-solaris-64bit. (all-arch.mak [1.3]: 2000/03/15 18:38:29 lpd)
6768
6769Adds the ability to set the ProcessColorModel of the pdfwrite device to
6770/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
6771for fill, stroke, text, and imagemask, and for images that (for whatever
6772reason) can't be written in their specified color space. Note that this is a
6773short-term fix: pdfwrite should output colors in the color space in which
6774they were specified. However, a proper fix will require more significant
6775architectural changes. (version.mak [1.4]: 2000/03/16 01:21:24 lpd)
6776
6777Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver.
6778The code will eventually be included in gdevcd8.c, but it is not yet mature
6779enough. (contrib.mak [1.5]: 2000/03/16 08:09:42 lpd)
6780
6781Adds a missing dependency of gdevpdft.o on gxfont42.h. (devs.mak [1.2]:
67822000/03/17 02:59:26 lpd)
6783
6784Adds a disclaimer of responsibility for the makefile section for creating
6785distribution archives, which Aladdin is no longer maintaining.
6786(winint.mak [1.3]: 2000/03/17 03:01:58 lpd)
6787
6788Checks in the first wrap-up for the 6.01 release. (unix-gcc.mak [1.4],
6789version.mak [1.5]: 2000/03/18 04:13:40 lpd)
6790
6791</pre><h2><a name="6.01 Utilities"></a>Utilities</h2><pre>
6792
6793Fixes problems:
6794	- The loader for the stochastic halftone incorrectly assumed that
6795the resource file left the resource on the stack, causing a stackunderflow
6796error. (lib/stocht.ps [1.2]: 2000/03/10 03:34:44 lpd)
6797	- The ps2pdf*.bat scripts didn't set PS2PDFSW to the empty string if
6798there were no arguments, causing the same file to be processed again.
6799(lib/ps2pdf12.bat [1.2], lib/ps2pdf13.bat [1.2]: 2000/03/10 07:40:00 lpd)
6800	- Fixes a typo in the fix for putting stdout in binary mode.
6801(gp_ntfs.c [1.3]: 2000/03/18 01:15:16 lpd)
6802	- For printer devices, a non-null definition for OutputFile was
6803required even on platforms that had a default printer (as implemented by
6804gp_open_printer for that platform). (gp_os9.c [1.2], gp_unix.c [1.2],
6805gp_vms.c [1.2]: 2000/03/18 01:45:16 lpd)
6806
6807In ansi2knr, adds user-contributed support for concatenated string literals
6808and character constants, and fixes for a couple of minor bugs.
6809(ansi2knr.c [1.2]: 2000/03/10 03:16:17 lpd)
6810
6811Updates the pf2afm.ps utility with a revised version from its authors.
6812(lib/pf2afm.ps [1.2]: 2000/03/10 03:35:37 lpd)
6813
6814Adds a new eps2eps utility analogous to ps2ps. (lib/eps2eps [1.1],
6815lib/eps2eps.bat [1.1]: 2000/03/10 07:51:55 lpd)
6816
6817Removes a temporary file that was included in the fileset by mistake.
6818(lib/history [1.2]: 2000/03/10 08:18:36 lpd)
6819
6820Changes the ps2pdf MS Windows / MS-DOS scripts to use temporary files to
6821avoid the absurdly low limits on the length of a command line and the total
6822size of environment variable definitions. (lib/ps2pdf.bat [1.2],
6823lib/ps2pdf12.bat [1.3], lib/ps2pdf13.bat [1.3], lib/ps2pdfwr.bat [1.2],
6824lib/ps2pdfxx.bat [1.1]: 2000/03/14 20:20:20 lpd)
6825
6826On Windows, puts stdout into binary mode as well as stdin, to allow piping
6827printer output through stdout (not a good idea, but it should be supported
6828as well as on other platforms). (gp_ntfs.c [1.2]: 2000/03/17 06:22:59 lpd)
6829
6830</pre><h2><a name="6.01 Drivers"></a>Drivers</h2><pre>
6831
6832Fixes problems:
6833	- When converting PostScript to PDF, selecting /Bicubic as an image
6834DownsampleType caused an error instead of defaulting to /Average.
6835(gdevpsdf.h [1.2], gdevpsdi.c [1.2], gdevpsdp.c [1.2]: 2000/03/10 04:16:09
6836lpd)
6837	- The mswinpr2 driver didn't handle setting BitsPerPixel to the same
6838value when the device was already open, possibly causing an error on restore
6839or grestore. (gdevwpr2.c [1.2]: 2000/03/10 04:26:07 lpd)
6840	- When operating in buffered mode (MaxBitmap > 0), the X driver
6841sometimes failed to copy all of the updated area to the screen.
6842(gdevx.c [1.2], gdevx.h [1.2], gdevxini.c [1.2], gdevxxf.c [1.2]: 2000/03/10
684306:56:27 lpd)
6844	- The [e]pswrite driver produced invalid output if the input file
6845didn't end with a showpage. Also cleans up some formatting and removes a
6846redundant test. (gdevps.c [1.2]: 2000/03/10 07:44:27 lpd)
6847	- Fixes a problem producing too much black in the output; also adds
6848support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and
6849Epson Stylus Color 200). Note that this is user-contributed code.
6850(gdevupd.c [1.2], lib/bjc610a0.upp [1.2], lib/bjc610a1.upp [1.2],
6851lib/bjc610a2.upp [1.2], lib/bjc610a3.upp [1.2], lib/bjc610a4.upp [1.2],
6852lib/bjc610a5.upp [1.2], lib/bjc610a6.upp [1.2], lib/bjc610a7.upp [1.2],
6853lib/bjc610a8.upp [1.2], lib/bjc610b1.upp [1.2], lib/bjc610b2.upp [1.2],
6854lib/bjc610b3.upp [1.2], lib/bjc610b4.upp [1.2], lib/bjc610b6.upp [1.2],
6855lib/bjc610b7.upp [1.2], lib/bjc610b8.upp [1.2], lib/cdj550.upp [1.2],
6856lib/cdj690.upp [1.1], lib/cdj690ec.upp [1.1], lib/dnj750c.upp [1.1],
6857lib/dnj750m.upp [1.1], lib/ras32.upp [1.2], lib/stc.upp [1.2],
6858lib/stc1520h.upp [1.2], lib/stc2.upp [1.2], lib/stc200_h.upp [1.1],
6859lib/stc2_h.upp [1.2], lib/stc2s_h.upp [1.2], lib/stc500p.upp [1.2],
6860lib/stc500ph.upp [1.2], lib/stc600ih.upp [1.2], lib/stc600p.upp [1.2],
6861lib/stc600pl.upp [1.2], lib/stc800ih.upp [1.2], lib/stc800p.upp [1.2],
6862lib/stc800pl.upp [1.2], lib/stc_h.upp [1.2], lib/stc_l.upp [1.2],
6863lib/stcany.upp [1.2]: 2000/03/16 02:01:36 lpd)
6864	- The X driver's algorithm for deciding when to update the screen
6865was changed several times between 5.50 and 6.0, and one of the more recent
6866changes caused it to copy many more pixels to the screen than necessary if
6867the file was making marks on the page in widely separated places.
6868(gdevx.c [1.3]: 2000/03/17 07:35:43 lpd)
6869	- In the X driver, the full-page buffer controlled by -dMaxBitmap=
6870wasn't allocated with a stable allocator, possibly leading to memory access
6871errors if save/restore were used. (gdevxini.c [1.3]: 2000/03/18 04:11:59
6872lpd)
6873
6874Updates the Brother HL7xx drivers with a new user-contributed version, plus
6875a couple of minor fixes. (gdevhl7x.c [1.2]: 2000/03/10 07:33:44 lpd)
6876
6877Enhances the [e]pswrite driver to handle Indexed color spaces over Device
6878color spaces, only with the standard Decode. (gdevps.c [1.3]: 2000/03/10
687907:45:50 lpd)
6880
6881Adds the ability to set the ProcessColorModel of the pdfwrite device to
6882/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
6883for fill, stroke, text, and imagemask, and for images that (for whatever
6884reason) can't be written in their specified color space. Note that this is a
6885short-term fix: pdfwrite should output colors in the color space in which
6886they were specified. However, a proper fix will require more significant
6887architectural changes. (gdevpsdf.c [1.2], gdevpsdf.h [1.3]: 2000/03/16
688801:21:24 lpd)
6889
6890Adds two more user-contributed 'uniprint' printer parameter sets: Epson
6891Stylus Color 640, and a generic Epson Stylus Color in high resolution mode
6892(720x720 dpi). (lib/stc640p.upp [1.1], lib/stcany_h.upp [1.1]: 2000/03/16
689302:03:40 lpd)
6894
6895</pre><h2><a name="6.01 PDF writer"></a>PDF writer</h2><pre>
6896
6897Fixes problems:
6898	- In-line images emitted an extra 'q' (gsave), causing the CTM to
6899become incorrect, entries to pile up on the dictionary stack, and an
6900invalidrestore error to occur at the end of the page. (gdevpdfi.c [1.2]:
69012000/03/10 03:47:37 lpd)
6902	- The change in 5.99 to work around Acrobat Reader's 32K limit on
6903user space coordinates caused all 0-width rectangles to disappear, which had
6904major effects on some files. (gdevpdfd.c [1.2]: 2000/03/10 03:48:10 lpd)
6905	- Incrementally downloaded TrueType fonts produced truncated Widths
6906tables in the output. We have patched this with a ******HACK****** that
6907causes such fonts to be converted to bitmaps: the correct fix (to delay
6908determining the range of valid characters until the font is written) is too
6909large a change to make in a bug fix release. (gdevpdft.c [1.2]: 2000/03/10
691003:48:48 lpd)
6911
6912Adds the ability to set the ProcessColorModel of the pdfwrite device to
6913/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
6914for fill, stroke, text, and imagemask, and for images that (for whatever
6915reason) can't be written in their specified color space. Note that this is a
6916short-term fix: pdfwrite should output colors in the color space in which
6917they were specified. However, a proper fix will require more significant
6918architectural changes. (gdevpdf.c [1.2], gdevpdfd.c [1.3], gdevpdfi.c [1.3],
6919gdevpdfp.c [1.2], gdevpdft.c [1.3], gdevpdfu.c [1.2], gdevpdfx.h [1.2]:
69202000/03/16 01:21:24 lpd)
6921
6922</pre><h2><a name="6.01 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre>
6923
6924Fixes problems:
6925	- When interpreting a PDF file, the Install page device procedure
6926got more and more deeply nested after every page, eventually causing an
6927execstackoverflow. (lib/pdf_main.ps [1.2]: 2000/03/10 03:56:11 lpd)
6928	- When interpreting a PDF file, text drawing operators didn't reset
6929the text position, so strings could get displayed on top of each other. (bug
6930introduced by a fix in 5.98) (lib/pdf_ops.ps [1.2]: 2000/03/10 03:57:03 lpd)
6931	- When interpreting a PDF file, substituted small-cap fonts were
6932created with incorrect scaling. (lib/pdf_font.ps [1.2]: 2000/03/10 03:57:50
6933lpd)
6934
6935Cleans up some formatting. (lib/pdf_base.ps [1.2]: 2000/03/10 03:58:14 lpd)
6936
6937</pre><h2><a name="6.01 Interpreter"></a>Interpreter</h2><pre>
6938
6939Fixes problems:
6940	- There were extraneous 'def' commands that caused definitions to be
6941made in the wrong dictionary. (lib/gs_ttf.ps [1.2]: 2000/03/10 03:31:39 lpd)
6942	- If an error occurred while loading a font, it wouldn't produce an
6943error message. (This is a 'fix' of a 'fix' of a 'fix': it might well break
6944something else.) (lib/gs_type1.ps [1.2]: 2000/03/10 03:37:14 lpd)
6945	- When reading the strings of a binary object sequence, having to
6946get more data from a procedure-based stream sometimes caused a syntaxerror.
6947Fix: If the reserved (0) field in binary objects or binary object sequences
6948was not 0, no syntaxerror occurred. (iscanbin.c [1.2]: 2000/03/10 03:38:50
6949lpd)
6950	- The code for handling execstackoverflow errors didn't cut back the
6951stack correctly, possibly causing invalid memory accesses if an incorrect
6952attempt was made to run a cleanup procedure. (interp.c [1.2]: 2000/03/10
695304:04:38 lpd)
6954	- Writing of dictionaries in binary object output, a non-standard
6955extension, was enabled by default, and also had to be enabled at startup
6956time if it was ever going to be used. Fix: Binary error messages caused an
6957error if the command wasn't of a type that printobject could handle. We now
6958do what the Adobe implementations appear to do in this case, namely, convert
6959the object with cvs. (lib/gs_btokn.ps [1.2]: 2000/03/10 04:27:31 lpd)
6960	- CloseSource and CloseTarget were effectively ignored for Flate and
6961LZW filters with a Predictor, and for the DCT filters. (ifilter.h [1.2],
6962zfdctd.c [1.2], zfdcte.c [1.2], zfdecode.c [1.2], zfilter.c [1.2],
6963zfilter2.c [1.2]: 2000/03/10 04:32:51 lpd)
6964	- findlibfile didn't handle %iodevice% prefixes correctly.
6965(zfile.c [1.2]: 2000/03/10 04:35:08 lpd)
6966	- fileposition didn't give an error for filters or non-seekable
6967streams. (zfileio.c [1.2]: 2000/03/10 04:35:53 lpd)
6968	- Images with input from a file or filter demanded 1 byte of data
6969too many, sometimes causing the last line of the image to be dropped. (bug
6970probably introduced in 6.0) (zimage.c [1.2]: 2000/03/10 04:37:02 lpd)
6971	- The check for a show within a cshow procedure for a CID font was
6972wrong. Fix: Character widths in CIDFontType 0 fonts were ignored (!). Adds a
6973.glyphwidth operator to support correct handling of character widths for CID
6974fonts. Adds a glyphwidth procedure to the library, like glyphshow and
6975glyphpath, in order to support correct handling of widths for CID fonts.
6976(ichar.h [1.2], lib/gs_cidfn.ps [1.2], zchar.c [1.2], zcharx.c [1.2]:
69772000/03/10 04:41:47 lpd)
6978	- resourcestatus for fonts was broken. (lib/gs_res.ps [1.2]:
69792000/03/10 04:54:15 lpd)
6980	- Fixes incorrect documentation of several procedures.
6981(lib/gs_fonts.ps [1.2]: 2000/03/10 07:00:28 lpd)
6982	- The %ram% IODevice was defined, but should not be (it represents a
6983RAM-based file system, which Ghostscript does not provide). Fix: The type of
6984the %null% IODevice was /FileSystem rather than /Special. (ziodev2.c [1.2]:
69852000/03/10 07:02:07 lpd)
6986	- Directly-loaded TrueType fonts (including embedded TrueType fonts
6987in PDF files) could get confused with each other in the cache, because their
6988XUIDs were based on the font checksum field, which some fonts don't have set
6989correctly. (lib/gs_ttf.ps [1.3]: 2000/03/16 07:38:07 lpd)
6990
6991Adds a new example file, a 3-D synthetic image. (examples/doretree.ps [1.1]:
69922000/03/10 04:00:45 lpd)
6993
6994Adds implementations of the devforall, devstatus, and diskonline
6995compatibility operators. (lib/gs_statd.ps [1.2]: 2000/03/10 04:01:55 lpd)
6996
6997Some Adobe CIDFonts include a line /Setup /cid_Setup load def that
6998apparently is intended only to prevent the fonts from being loaded by a
6999standard PostScript interpreter (as opposed to ATM or a special font
7000loader), since cid_Setup is not defined anywhere and Setup is never
7001referenced; this change adds a dummy definition of cid_Setup to work around
7002this. (lib/gs_cidfn.ps [1.3]: 2000/03/10 04:53:25 lpd)
7003
7004Updates the version # to 6.01, and the version date. (lib/gs_init.ps [1.2]:
70052000/03/10 17:18:29 lpd)
7006
7007Changes the default undercolor removal and black generation functions back
7008from f(k) = k to f(k) = 0. This fixes some, but not all, of the reported
7009problems with color inkjet output in 6.0. (lib/gs_init.ps [1.3]: 2000/03/10
701018:47:31 lpd)
7011
7012On Windows, puts stdout into binary mode as well as stdin, to allow piping
7013printer output through stdout (not a good idea, but it should be supported
7014as well as on other platforms). (dwmainc.cpp [1.2]: 2000/03/17 06:22:59 lpd)
7015
7016</pre><h2><a name="6.01 Streams"></a>Streams</h2><pre>
7017
7018Changes the sbuf_min_left macro to a procedure for readability and in
7019preparation for later revision. (stream.c [1.2], stream.h [1.2]: 2000/03/10
702003:40:13 lpd)
7021
7022</pre><h2><a name="6.01 Library"></a>Library</h2><pre>
7023
7024Fixes problems:
7025	- (%os%) currentdevparams didn't return (fixed) values for
7026InitializeAction, Mounted, Removable, Searchable, SearchOrder, and
7027Writeable, or (meaningful) values for BlockSize, Free, and LogicalSize.
7028Currently, the latter values are dummies. (gsiodev.c [1.2]: 2000/03/10
702903:43:06 lpd)
7030	- The terminating $ on the $Id: line in gsmalloc.c was missing, and
7031dwuninst.rc lacked a $Id: line. (gsmalloc.c [1.2]: 2000/03/10 03:44:33 lpd)
7032	- RasterOps with source transparency = 0, texture transparency = 1
7033didn't match the (very peculiar) H-P specification even if
7034TRANSPARENCY_PER_H_P was defined. (gdevdrop.c [1.2], gdevmrop.h [1.2],
7035gsropt.h [1.2]: 2000/03/10 04:06:15 lpd)
7036	- The prototype for gs_exit() was not included even though gs_exit()
7037was called. Fix: A cast discarded const unnecessarily. (gsalloc.c [1.2]:
70382000/03/10 04:08:23 lpd)
7039	- The type of the %pipe% IODevice was /FileSystem, whereas it should
7040be /Special. (gdevpipe.c [1.2]: 2000/03/10 04:13:57 lpd)
7041	- An incorrectly formatted procedure couldn't be converted correctly
7042by ansi2knr. (gxidata.c [1.2]: 2000/03/10 04:30:58 lpd)
7043	- The check for a show within a cshow procedure for a CID font was
7044wrong. Fix: Character widths in CIDFontType 0 fonts were ignored (!). Adds a
7045.glyphwidth operator to support correct handling of character widths for CID
7046fonts. Adds a glyphwidth procedure to the library, like glyphshow and
7047glyphpath, in order to support correct handling of widths for CID fonts.
7048(gschar.c [1.2], gschar.h [1.2], gstext.c [1.2], gstext.h [1.2]: 2000/03/10
704904:41:47 lpd)
7050	- The description of the value returned by code_map_decode_next in
7051*pchr was incorrect. (documentation bug only) (gsfcmap.c [1.2]: 2000/03/10
705207:03:09 lpd)
7053	- Fixes a problem producing too much black in the output; also adds
7054support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and
7055Epson Stylus Color 200). Note that this is user-contributed code.
7056(gsargs.h [1.2]: 2000/03/16 02:01:36 lpd)
7057	- The code for Axial shadings incorrectly assumed that if the
7058shading axis was horizontal or vertical in user space, it was also
7059horizontal or vertical in device space: this caused incorrect results when
7060the CTM wasn't orthogonal. (gxshade1.c [1.2]: 2000/03/17 08:17:55 lpd)
7061	- For printer devices, a non-null definition for OutputFile was
7062required even on platforms that had a default printer (as implemented by
7063gp_open_printer for that platform). (gp.h [1.2], gsdevice.c [1.2]:
70642000/03/18 01:45:16 lpd)
7065
7066Clears the glyf and loca offsets in TrueType fonts that lack these tables,
7067so that clients who care can tell whether the font is being downloaded
7068incrementally. (gstype42.c [1.2]: 2000/03/10 03:45:29 lpd)
7069
7070Changes a few macro definitions to work around over-zealous compiler
7071warnings. (gstype1.c [1.2], gstype2.c [1.2], gxtype1.h [1.2]: 2000/03/10
707204:29:37 lpd)
7073
7074Changes the default undercolor removal and black generation functions back
7075from f(k) = k to f(k) = 0. This fixes some, but not all, of the reported
7076problems with color inkjet output in 6.0. (gxdcconv.c [1.2]: 2000/03/10
707718:47:31 lpd)
7078
7079<hr>
7080
7081<h1><a name="Version6.0"></a>Version 6.0 (2000-02-03)</h1>
7082
7083This is the first public release since 5.50.  See <a href="Current.htm">the
7084release summary</a> for information about new capabilities and known
7085problems.
7086
7087<h2><a name="6.0_Documentation"></a>Documentation</h2>
7088
7089Documents the fact that the plane_depths of a gx_image_enum structure may
7090vary, and that planes_wanted procedure of a gx_image_enum must return false
7091if the depths *or* widths can change.  (gxiparam.h)
7092
7093Documents the fact that a wanted plane's wanted status, width, or depth can
7094only be changed by a call of plane_data that provides data for that plane.
7095(gxiparam.h)
7096
7097Documents the change in the handling of the pthreads library.
7098(doc/Make.htm)
7099
7100Documents the fact that setting parameters for the DCTEncode filter in
7101ps2pdf causes a crash.  (doc/Ps2pdf.htm)
7102
7103Documents another bug in the MIPSpro 7.x / IRIX 6.5.x compilers, with
7104isave.c.  (doc/Make.htm)
7105
7106Corrects Russell Lang's e-mail address.  (doc/New-user.htm)
7107
7108Documents the new image operator test file and the pdfeof file.
7109(doc/Psfiles.htm)
7110
7111Documents the 'w' argument for image_render procedures.  (gxiclass.h)
7112
7113Adds a little more checking to the release process.  (doc/Release.htm)
7114
7115Documents the return values from the font build_char procedure.  (gxfont.h)
7116
7117Documents the fact that the free 'zip' program is needed to build the
7118self-extracting Windows executable, as well as WinZipSE.  (doc/Make.htm,
7119msvc32.mak, winint.mak)
7120
7121Adds references to several new free fonts.  (doc/Fonts.htm)
7122
7123Documents an important invariant for streams.  (stream.h)
7124
7125Adds a reference for user-supported Watcom / GNU make makefiles.
7126(doc/Make.htm, doc/New-user.htm)
7127
7128Documents the dependence of gs_ttf.ps on some of the gs_*_e.ps files.
7129(lib/gs_ttf.ps)
7130
7131Documents how to make self-extracting Windows executables.
7132(doc/Release.htm)
7133
7134Adds a number of new user-contributed man pages.  (unixinst.mak, man/gslp.1,
7135man/wftopfa.1, man/printafm.1, man/pfbtopfa.1, man/font2c.1, man/dvipdf.1,
7136man/ps2pdfwr.1, man/gsnd.1, man/pf2afm.1, man/ps2pdf.1)
7137
7138<h2><a name="6.0_Procedures"></a>Procedures</h2>
7139
7140Fixes problems:
7141	- Building on BSDI didn't work.  The simplest way to fix this was to
7142change the linking of the pthreads library on Unix platforms to be included
7143in STDLIBS rather than the "sync" implementation. (fix contributed by a
7144user) (lib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak)
7145	- Once again, some runtime files weren't installed.  (unixinst.mak)
7146	- Building the self-extracting executable didn't work.  (winint.mak)
7147
7148Updates the user-contributed all-architectures makefile.  (all-arch.mak)
7149
7150<h2><a name="6.0_Utilities"></a>Utilities</h2>
7151
7152Fixes problems:
7153	- A needed #include was missing.  (geninit.c)
7154	- There were signed/unsigned char mismatches.  (genht.c, geninit.c)
7155	- The MacOS compiler imposes a 32K limit on the size of a stack
7156frame: we changed the code to use malloc/free.  (geninit.c)
7157
7158Removes an unnecessary variable.  (echogs.c)
7159
7160Adds a file that attempts to test the image operators exhaustively.
7161(lib/image-qa.ps, unixinst.mak)
7162
7163Enhances the prfont.ps utility to print CIDFonts.  (lib/prfont.ps)
7164
7165Adds a utility file that patches the PDF interpreter to allow garbage after
7166the %%EOF (or the %%EOF to be missing completely).  (lib/pdfeof.ps)
7167
7168<h2><a name="6.0_Drivers"></a>Drivers</h2>
7169
7170Fixes problems:
7171	- The X driver compared too many bits of color value, leading to
7172unnecessary halftoning.  (bug introduced by a fix in 5.99) (gdevxcmp.c)
7173	- Output from the pswrite driver got a dictfull error on Level 1
7174printers.  (gdevps.c)
7175	- Anti-aliasing had stopped working on MS Windows and OS/2. (bug
7176probably introduced in 5.65) (gdevmswn.c, gdevpm.c)
7177
7178<h2><a name="6.0_Platforms"></a>Platforms</h2>
7179
7180Adds a conditional definition of PTHREAD_CREATE_DETACHED for old versions of
7181the pthreads library.  (gp_psync.c)
7182
7183Updates the Microsoft Visual C++ library makefile for VC++ 6.  (msvclib.mak)
7184
7185Updates some copyright dates.  (winint.mak, dwsetup.rc)
7186
7187<h2><a name="6.0_Fonts"></a>Fonts</h2>
7188
7189Updates the URW fonts to include the expanded Adobe character set, including
7190many Eastern European accented characters.  (doc/New-user.htm)
7191
7192Removes a 'readonly' that inconvenienced the authors of ttf2pf.
7193(lib/gs_ttf.ps)
7194
7195<h2><a name="6.0_PDF_writer"></a>PDF writer</h2>
7196
7197Fixes problems:
7198	- The Dest key was deleted from GoTo and GoToR link annotation
7199pdfmarks.  (gdevpdfm.c)
7200	- {name} references were substituted even in stream data for the
7201/PUT pdfmark.  (gdevpdfm.c)
7202	- The revision number was sometimes printed incorrectly if its
7203fraction part was zero.  (gdevpdf.c)
7204	- Embedded Multiple Master font instances weren't identified as
7205MMType1 rather than Type1.  (gdevpdff.h, gdevpdff.c, gdevpdft.c, gdevpdfw.c)
7206	- The test against MaxSubsetPct was incorrect when the percentages
7207were equal.  (gdevpdfw.c)
7208	- Font registrations weren't removed when the device was closed.
7209(gdevpdff.h, gdevpdfx.h, gdevpdff.c, gdevpdfw.c)
7210	- Multiple /OBJ pdfmarks with the same name caused an error.  For
7211Distiller compatibility, we now allow this if the type is the same, even
7212though the pdfmark specification doesn't say anything about this being
7213legal.  (gdevpdfm.c)
7214
7215Removes an unnecessary variable.  (gdevpdff.c, gdevpdfr.c)
7216
7217Disables embedding Multiple Master font instances, since Acrobat Reader
7218doesn't accept what appear to be correct output and we don't have time
7219before the release to track down the problem.  (gdevpdft.c)
7220
7221<h2><a name="6.0_Interpreter_PDF"></a>Interpreter (PDF)</h2>
7222
7223Factors some code to allow patching the PDF reader to allow garbage after
7224the %%EOF (or the %%EOF to be missing completely).  (lib/pdf_main.ps)
7225
7226<h2><a name="6.0_Interpreter"></a>Interpreter</h2>
7227
7228Fixes problems:
7229	- Type 1 fonts with non-standard OtherSubrs had stopped working.
7230(bug introduced since 5.60) (zchar1.c)
7231	- usecmap didn't work.  (lib/gs_cmap.ps)
7232	- The glyph_info procedure for Type 1 fonts didn't take Metrics[2]
7233or CDevProc into account.  (zchar1.c, zfont1.c)
7234	- The multiple-data-source case of images was broken. (bug
7235introduced in 5.99) (zimage.c)
7236	- If a page device Install procedure caused an error, things could
7237be left in an inconsistent state.  (lib/gs_setpd.ps)
7238	- Using a DeviceN color space could access uninitialized data in a
7239color value.  (zcsdevn.c)
7240	- DeviceN images with procedure data sources were broken.
7241(zimage.c)
7242	- Images with a procedure data source could terminate prematurely if
7243their processing was interrupted.  (zimage.c)
7244	- The garbage collector only marked half the name table sub-tables,
7245and attempted to mark an equal number of invalid pointers, leading to
7246invalid accesses or memory corruption.  (iname.c)
7247
7248Removes an unused variable.  (zmisc.c)
7249
7250<h2><a name="6.0_Streams"></a>Streams</h2>
7251
7252Fixes problems:
7253	- sgets didn't reset the cursor pointers, so sgets into a client
7254buffer followed by sseek (for some kinds of streams, including files) could
7255get confused.  (stream.c)
7256
7257<h2><a name="6.0_Library"></a>Library</h2>
7258
7259Fixes problems:
7260	- A 'const' qualifier was omitted, leading to a type mismatch.
7261(gxclrast.c)
7262	- The revision number was sometimes printed incorrectly if its
7263fraction part was zero.  (gsmisc.c)
7264	- gs_image_next returned the wrong value in *pused if it incremented
7265the plane number.  (bug introduced in 5.99) (gsimage.c)
7266	- Only the last of the data_x and raster values in the local
7267'planes' array in gs_image_next_planes were initialized.  (bug introduced in
72685.99) (gsimage.c)
7269	- The multiple-data-source case of images was broken. (bug
7270introduced in 5.99) (gsimage.h, gsimage.c)
7271	- ImageType 3 images with unequal scaling for the mask and data
7272didn't work.  (We thought they once did, but it appears they never have.)
7273(gximage3.c)
7274	- Images with 12-bit samples treated a Decode entry of [1 0] the
7275same as [0 1].  (Other, general Decode entries worked correctly.)
7276(gxipixel.c)
7277	- ImageType 3 images didn't work if processing was ever interrupted
7278for remapping a color.  (gximage3.c)
7279	- Images in DeviceN color spaces with 12-bit samples didn't work.
7280(gxi12bit.c, gxidata.c)
7281	- Images in DeviceN color spaces could fail to render properly
7282because the interruption of rendering left a half-built entry in an internal
7283cache.  (gxi12bit.c, gxicolor.c)
7284	- Images with non-idempotent RasterOps in 1-component DeviceN color
7285spaces didn't render properly, because the same pixel was rendered multiple
7286times after a color remapping interruption.  (gximono.c)
7287	- The fast case of masked images caused a crash if invoked without
7288an imager state.  (gximono.c)
7289	- Flushing buffered image data could cause coordinate bookkeeping
7290to get out of sync.  (gxidata.c)
7291	- ImageType 3, InterleaveType 2 images sometimes failed to render
7292the last row.  (gximage3.c)
7293	- The fix in 5.88 for resizing large objects had a bug itself.
7294(gsalloc.c)
7295	- Whan banding, if a client supplied more data than necessary for an
7296image, the client was told (incorrectly) that all of the data was used.
7297(fix from Artifex) (gxclimag.c)
7298	- Null patterns caused a crash. (bug probably introduced by changes
7299to support PatternType 2) (gspcolor.c)
7300	- On hand-initialized memory devices where line_ptrs[0] != base,
7301monobit RasterOps could cause invalid or stray memory accesses.  (gdevmr1.c)
7302
7303Removes an unnecessary variable.  (gdevppla.c, gsfont.c)
7304
7305Adds the ability to call a specified procedure when unregistering
7306notification, needed for removing PDF font registrations.  (gsnotify.h,
7307gsnotify.c)
7308
7309Updates the copyright year.  (gscdef.c)
7310
7311</pre>
7312
7313<!-- [2.0 end contents] ==================================================== -->
7314
7315<!-- [3.0 begin visible trailer] =========================================== -->
7316<hr>
7317
7318<p>
7319<small>Copyright &copy; 2000 Aladdin Enterprises.
7320All rights reserved.</small>
7321
7322<p>
7323This software is provided AS-IS with no warranty, either express or
7324implied.
7325
7326This software is distributed under license and may not be copied,
7327modified or distributed except as expressly authorized under the terms
7328of the license contained in the file LICENSE in this distribution.
7329
7330For more information about licensing, please refer to
7331http://www.ghostscript.com/licensing/. For information on
7332commercial licensing, go to http://www.artifex.com/licensing/ or
7333contact Artifex Software, Inc., 101 Lucas Valley Road #110,
7334San Rafael, CA  94903, U.S.A., +1(415)492-9861.
7335
7336<p>
7337<small>Ghostscript version 8.53, 20 October 2005
7338
7339<!-- [3.0 end visible trailer] ============================================= -->
7340
7341</body>
7342</html>
7343