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->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 & 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 & 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 <meromorphic at users.sourceforge.net> 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 <dl> 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 && 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=> no safety checks SAFER=true, DELAYSAFER=false => safety checks 2247always SAFER=true, DELAYSAFER=true => 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 && 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 && 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 && 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 && 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 © 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