diff options
author | L Peter Deutsch <lpd@ghostscript.com> | 2000-04-07 05:33:20 +0000 |
---|---|---|
committer | L Peter Deutsch <lpd@ghostscript.com> | 2000-04-07 05:33:20 +0000 |
commit | 808fbd59d49b66dff57e20e4f7a50bebd17ee63a (patch) | |
tree | 26b7c57ca7ee44165f085e490f257b14ed3ff539 | |
parent | 64bbbf83ceab1ac14ebbb33bd52063575524da81 (diff) | |
download | ghostpdl-808fbd59d49b66dff57e20e4f7a50bebd17ee63a.tar.gz |
Brings documentation up to date for the release.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@264 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r-- | gs/doc/Changes.htm | 212 | ||||
-rw-r--r-- | gs/doc/History6.htm | 1108 | ||||
-rw-r--r-- | gs/doc/News.htm | 32 |
3 files changed, 1330 insertions, 22 deletions
diff --git a/gs/doc/Changes.htm b/gs/doc/Changes.htm index b5a42bed4..0cbfe9cd4 100644 --- a/gs/doc/Changes.htm +++ b/gs/doc/Changes.htm @@ -1,5 +1,5 @@ <html><head> -<title>Ghostscript 6.20 change history as of 2000-03-30 00:05:44</title> +<title>Ghostscript 6.20 change history as of 2000-04-06 22:26:58</title> </head><body> <blockquote><ul> @@ -11,8 +11,7 @@ <a href="#6.20 Interpreter (PDF)">Interpreter (PDF)</a>, <a href="#6.20 Interpreter">Interpreter</a>, <a href="#6.20 Streams">Streams</a>, - <a href="#6.20 Library">Library</a>, - <a href="#6.20 ???Other???">???Other???</a> + <a href="#6.20 Library">Library</a> </ul> </ul></blockquote> @@ -26,6 +25,15 @@ rather than simply setting the procedure to gs_identity_transfer. (doc/News.htm [1.13]: 2000/03/19 17:14:47 lpd) - In PDF files, the page CropBox was not being used to clip the output. (doc/News.htm [1.18]: 2000/03/21 23:08:32 lpd) + - Fixes several problems in resourceforall and resource loading: the +operands of resourceforall were restored even in the case of an error in the +client's procedure; the name Instances had special meaning for some Adobe +code; resourceforall caused an invalidaccess error if an operand was in +local VM but the current VM was global; loading a resource from a file could +cause a typecheck error if the file left values on the operand stack. +(doc/News.htm [1.25]: 2000/04/04 22:26:02 lpd) + - The location of the lists of supported and unsupported drivers was +incorrect. (doc/Bug-info.htm [1.2]: 2000/04/07 03:01:52 lpd) Undoes an accidental RCS ID substitution in what was supposed to be literal text. (doc/Htmstyle.htm [1.2]: 2000/03/18 22:29:03 lpd) @@ -162,6 +170,37 @@ Changes the procs structure of gs_type1_data to an in-line structure rather than a pointer to a const structure. (Needed for moving CIDFontType 0 support into C.) (doc/News.htm [1.22]: 2000/03/29 22:10:31 lpd) +Updates the change log with recent changes. (doc/Changes.htm [1.8]: +2000/03/30 07:59:39 lpd) + +Creates a real list of projects on which help would be appreciated. +(doc/Projects.htm [1.2]: 2000/04/01 00:43:11 lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. +(doc/News.htm [1.23]: 2000/04/02 07:38:46 lpd) + +Updates the documentation on preparing releases to reflect the addition of +the toolbin directory. (doc/Release.htm [1.7]: 2000/04/02 18:56:58 lpd) + +Implements the AutoRotatePages distiller parameter. (doc/Ps2pdf.htm [1.5]: +2000/04/03 02:54:41 lpd) + +Updates the problem reporting procedure to use SourceForge; separates the +description of the procedure from the reporting form. +(doc/Bug-form.htm [1.4], doc/Bug-info.htm [1.1], doc/New-user.htm [1.4], +doc/News.htm [1.24], doc/Readme.htm [1.4]: 2000/04/04 04:14:02 lpd) + +Updates release dates and version numbers. (doc/Bug-form.htm [1.5], +doc/Bug-info.htm [1.3], doc/Htmstyle.htm [1.3], doc/Make.htm [1.9], +doc/New-user.htm [1.5], doc/Projects.htm [1.3], doc/Ps2pdf.htm [1.6], +doc/Psfiles.htm [1.3], doc/Readme.htm [1.5], man/ps2pdf.1 [1.4], +man/ps2ps.1 [1.4]: 2000/04/07 05:21:45 lpd) + +Removes redundant material, and the www.aladdin.com distribution point, from +the release procedure documentation. (doc/Release.htm [1.8]: 2000/04/07 +05:24:29 lpd) + </pre><h2><a name="6.20 Procedures"></a>Procedures</h2><pre> Fixes problems: @@ -169,6 +208,12 @@ Fixes problems: 2000/03/19 02:00:09 lpd) - The referenced libpng version hadn't been updated to 1.0.5. (openvms.mmk [1.3]: 2000/03/20 16:38:46 lpd) + - The MSVC++ 6 compiler no longer recognizes the /FPi87 switch. +(msvccmd.mak [1.2]: 2000/03/31 05:06:53 lpd) + - MSVC versions before 5, not before 6, recognize /FPi87. +(msvccmd.mak [1.3]: 2000/03/31 05:50:33 lpd) + - Removes some occurrences of $,I,d,: that shouldn't be substituted. +(toolbin/pre [1.2]: 2000/04/07 05:20:35 lpd) Increments the version number to 6.20, in anticipation of the next release. (We do this at the beginning of the development for a release, not the end.) @@ -243,12 +288,51 @@ Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from (msvc32.mak [1.3], msvclib.mak [1.3], os2.mak [1.4], watcw32.mak [1.3]: 2000/03/28 17:03:48 lpd) +Updates the change log with recent changes. (version.mak [1.10]: 2000/03/30 +07:59:39 lpd) + +Cleans up some dependencies missed at the last checkin. (devs.mak [1.7], +int.mak [1.13]: 2000/03/31 05:03:30 lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. (int.mak [1.14]: +2000/04/02 07:38:46 lpd) + +Adds a variety of tools used to build and distribute Ghostscript releases. +The only documentation is comments in the files themselves, and there isn't +much of it. All aspects of these tools are subject to change without notice. +(toolbin/3way.tcl [1.1], toolbin/cvs2hist.py [1.1], +toolbin/errlist.tcl [1.1], toolbin/gsmake.tcl [1.1], +toolbin/headers.tcl [1.1], toolbin/leaks.tcl [1.1], +toolbin/makeset.tcl [1.1], toolbin/package.tcl [1.1], toolbin/pre [1.1], +toolbin/pre.chk [1.1], toolbin/precheck.tcl [1.1], toolbin/smoke.ps [1.1], +toolbin/suite.tcl [1.1], toolbin/tmake.tcl [1.1]: 2000/04/02 18:44:27 lpd) + +Moves gsindent from src to toolbin. (toolbin/gsindent [1.1]: 2000/04/02 +18:56:25 lpd) + +Adds an #include required by the Watcom compiler. (devs.mak [1.8]: +2000/04/05 19:51:54 lpd) + +Adds a missing dependency. (lib.mak [1.8]: 2000/04/07 03:00:56 lpd) + +Updates a few dependencies for the release. (int.mak [1.15]: 2000/04/07 +05:23:12 lpd) + +Updates the build date for the release. (version.mak [1.11]: 2000/04/07 +05:25:18 lpd) + +Adds .cvsignore files, to prevent bogus warnings on cvs update. +(.cvsignore [1.1], src/.cvsignore [1.1]: 2000/04/05 19:46:04 lpd) + </pre><h2><a name="6.20 Utilities"></a>Utilities</h2><pre> Fixes problems: - A couple of places in the Windows code didn't correctly handle Ghostscript version numbers of the form #.0#. (gp_wgetv.c [1.2]: 2000/03/22 21:45:03 lpd) + - Replaces a final exit() with a return, to avoid a compiler +warning. (genconf.c [1.2]: 2000/04/05 19:53:27 lpd) Makes geninit remove whitespace adjacent to hex and base-85 string literals. (geninit.c [1.2]: 2000/03/18 22:51:24 lpd) @@ -269,6 +353,11 @@ Splits off the ReusableStreamDecode filter as a separate module, since CIDFontType 0 fonts will use it even in LanguageLevels below 3. (zfreuse.c [1.2]: 2000/03/21 21:34:57 lpd) +Adds a variety of tools used to build and distribute Ghostscript releases. +The only documentation is comments in the files themselves, and there isn't +much of it. All aspects of these tools are subject to change without notice. +(gsindent [1.2]: 2000/04/02 18:44:27 lpd) + </pre><h2><a name="6.20 Drivers"></a>Drivers</h2><pre> Fixes problems: @@ -289,6 +378,12 @@ N-up printing not work properly. (gdevps.c [1.4]: 2000/03/28 00:52:46 lpd) - The PCL XL 2.0 value for sRGB color space was wrong, and the attribute for writing mode was missing. (gdevpxat.h [1.2], gdevpxen.h [1.2]: 2000/03/29 18:19:44 lpd) + - When printing on monochrome LaserJet/DeskJet printers, the driver +didn't set the number of copies to 1; on the LJ 4si, this sometimes caused +double printing. (gdevdjet.c [1.2]: 2000/04/03 14:36:12 lpd) + - Updates clients for the change in the last argument of +cff_string_index from uint * to int *. (gdevpsf2.c [1.4]: 2000/04/05 +19:55:29 lpd) Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and @@ -327,6 +422,16 @@ than a pointer to a const structure. (Needed for moving CIDFontType 0 support into C.) (gdevpsf1.c [1.2], gdevpsf2.c [1.2], gdevpsfx.c [1.2]: 2000/03/29 22:10:31 lpd) +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. +(gdevpsf2.c [1.3], gdevpsfu.c [1.2]: 2000/04/02 07:38:45 lpd) + +Slightly simplifies the output of the psmono and psgray drivers. +(gdevpsim.c [1.2]: 2000/04/02 19:57:37 lpd) + +Adds an #include required by the Watcom compiler. (gdevpsf1.c [1.3]: +2000/04/05 19:51:54 lpd) + </pre><h2><a name="6.20 PDF writer"></a>PDF writer</h2><pre> Fixes problems: @@ -348,6 +453,9 @@ lpd) stream. (gdevpdfm.c [1.4]: 2000/03/24 06:18:39 lpd) - The name of the EndPage Distiller parameter collided with the EndPage page device parameter. (gdevpdfp.c [1.4]: 2000/03/28 07:45:25 lpd) + - If two embedded fonts had the same base font, the PDF file could +wind up with an invalid entry in the xref table. (gdevpdft.c [1.4]: +2000/04/01 01:18:32 lpd) Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and @@ -405,6 +513,10 @@ Changes the initial values of the "job control" parameters to match Acrobat Distiller 4. (gdevpdf.c [1.7], gdevpdfp.c [1.6], gdevpdfx.h [1.6]: 2000/03/28 07:57:14 lpd) +Implements the AutoRotatePages distiller parameter. (gdevpdf.c [1.8], +gdevpdft.c [1.5], gdevpdfu.c [1.5], gdevpdfx.h [1.7]: 2000/04/03 02:54:41 +lpd) + </pre><h2><a name="6.20 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre> Fixes problems: @@ -428,6 +540,14 @@ worse, because the code didn't distinguish between resolving to a PostScript function (for shadings) and resolving to a PostScript procedure (for halftones, BG/UCR, alternate color space mapping, etc.) (lib/pdf_draw.ps [1.7]: 2000/03/23 18:31:46 lpd) + - Text with a Pattern color scaled the pattern according to the text +matrix, not the default matrix of the marking context. +(lib/pdf_base.ps [1.6], lib/pdf_main.ps [1.5], lib/pdf_ops.ps [1.4]: +2000/03/30 18:01:58 lpd) + - Resolving a Shading didn't create a reusable stream for the +shading data; since the data was then read at unpredictable times, the +shading or other constructs in the PDF file could read incorrect data. +(lib/pdf_draw.ps [1.8]: 2000/04/03 06:01:25 lpd) Adds a lforall procedure for the PDF linearizer. (lib/pdf_base.ps [1.3]: 2000/03/19 01:50:05 lpd) @@ -503,6 +623,41 @@ zfont42.c [1.3]: 2000/03/28 18:20:39 lpd) with definefont instead of /CIDFont defineresource, caused an invalidfont error or a crash. (lib/gs_cidfn.ps [1.9], lib/gs_fonts.ps [1.4]: 2000/03/28 18:21:50 lpd) + - The new C BuildGlyph code for CIDFontType 0 fonts didn't handle +GlyphDirectory or Type 2 CharStrings correctly. (lib/gs_cidfn.ps [1.12], +zfcid.c [1.8]: 2000/03/31 23:21:57 lpd) + - The internaldict "operator" was allocated in local VM, preventing +it from being bound into procedures allocated in global VM. +(lib/gs_init.ps [1.6]: 2000/04/04 22:16:02 lpd) + - If there was a CIDInit ProcSet defined in the filesystem, the code +for initializing the built-in CIDInit ProcSet became confused. +(lib/gs_cidfn.ps [1.13]: 2000/04/04 22:17:33 lpd) + - Fixes several problems in resourceforall and resource loading: the +operands of resourceforall were restored even in the case of an error in the +client's procedure; the name Instances had special meaning for some Adobe +code; resourceforall caused an invalidaccess error if an operand was in +local VM but the current VM was global; loading a resource from a file could +cause a typecheck error if the file left values on the operand stack. +(interp.c [1.3], lib/gs_ccfnt.ps [1.2], lib/gs_res.ps [1.3]: 2000/04/04 +22:26:02 lpd) + - resourceforall didn't enumerate external (loadable) instances, and +would enumerate an instance twice if it had both a local and a global +definition. (lib/gs_res.ps [1.4]: 2000/04/05 21:07:02 lpd) + - The implementation of resourcestatus wasn't compatible with some +badly written code in an Adobe font downloader that assumes that the +implementation of resourcestatus in Generic and Font is the same. +(lib/gs_res.ps [1.5]: 2000/04/05 21:20:07 lpd) + - The just-checked-in fixed for resourceforall didn't work properly +for the IdiomSet category. (They probably failed for other categories that +had no instances, but we didn't check this.) (lib/gs_res.ps [1.6]: +2000/04/05 21:51:43 lpd) + - Some Adobe font downloading code assumed that loading a resource +file would never leave extra values on the stack; our implementation didn't +ensure this (by popping them if needed). (lib/gs_res.ps [1.8]: 2000/04/06 +04:50:28 lpd) + - If an alphabetic font defined and used a .notdef character, +pdfwrite always converted it to a bitmap. (lib/gs_lgo_e.ps [1.2]: 2000/04/07 +02:48:23 lpd) Provides a gs_atan2_degrees procedure to parallel sin and cos. (zmath.c [1.2]: 2000/03/18 23:10:39 lpd) @@ -576,8 +731,8 @@ that have a GlyphDirectory (not documented in the PLRM, but clearly correct). Implements Adobe 3011 features: integer and dictionary CIDMaps, and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code, which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.) -(icid.h [1.1], ifont.h [1.2], zcid.c [1.2], zfcid.c [1.1], zfcmap.c [1.3], -zfont42.c [1.2]: 2000/03/20 19:53:06 lpd) +(icid.h [1.1], ifont.h [1.2], ifont42.h [1.1], zcid.c [1.2], zfcid.c [1.1], +zfcmap.c [1.3], zfont42.c [1.2]: 2000/03/20 19:53:06 lpd) Hooks the new CIDMap code into the BuildGlyph procedure for CIDFontType 2 fonts. (Contrary to a previous log comment, MetricsCount is already hooked @@ -629,6 +784,39 @@ Changes the procs structure of gs_type1_data to an in-line structure rather than a pointer to a const structure. (Needed for moving CIDFontType 0 support into C.) (zfont1.c [1.3]: 2000/03/29 22:10:31 lpd) +Finishes moving support for CIDFontType 0 fonts from PostScript to C. +(ifont.h [1.3], ifont42.h [1.2], lib/gs_cidfn.ps [1.10], zfcid.c [1.7], +zfont42.c [1.4]: 2000/03/31 04:55:18 lpd) + +Allows dictionaries as the value of CIDMap resources. (Also removes an +unrelated obsolete comment.) (lib/gs_cidfn.ps [1.11]: 2000/03/31 05:11:30 +lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. (ichar1.h [1.2], +ifcid.h [1.1], zchar1.c [1.2], zfcid.c [1.9], zfcid0.c [1.1], +zfcid1.c [1.1], zfont1.c [1.4]: 2000/04/02 07:38:46 lpd) + +Makes the .writefont9 operator (used only for testing) available in both +DEBUG and PROFILE configurations. (zfcid0.c [1.2]: 2000/04/03 02:37:55 lpd) + +Extends .forceput to handle arrays as well as dictionaries, required to fix +a bug with internaldict. (zdict.c [1.2], zgeneric.c [1.2]: 2000/04/04 +22:13:23 lpd) + +Works around an Adobe code assumption that the default FindResource +procedure does *not* call the ResourceStatus procedure if the requested +instance is already defined in VM. (lib/gs_res.ps [1.7]: 2000/04/05 23:31:54 +lpd) + +Implements the framework for superexec (but none of the actual access check +bypasses). (icontext.c [1.2], icstate.h [1.2], zcontrol.c [1.2]: 2000/04/06 +04:40:06 lpd) + +Extends the undocumented CCRun procedure to take an additional argument, a +Private dictionary, required by some Adobe font downloading code. +(lib/gs_type1.ps [1.3]: 2000/04/06 05:25:10 lpd) + </pre><h2><a name="6.20 Streams"></a>Streams</h2><pre> Fixes problems: @@ -829,15 +1017,11 @@ than a pointer to a const structure. (Needed for moving CIDFontType 0 support into C.) (gstype1.c [1.4], gstype2.c [1.3], gxfont1.h [1.3], gxtype1.c [1.3]: 2000/03/29 22:10:31 lpd) -</pre><h2><a name="6.20 ???Other???"></a>???Other???</h2><pre> +Finishes moving support for CIDFontType 0 fonts from PostScript to C. +(gxfcid.h [1.3]: 2000/03/31 04:55:18 lpd) -Starts to move support for CIDFontType 0 and 2 into C code, needed by the -PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for -CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts -that have a GlyphDirectory (not documented in the PLRM, but clearly -correct). Implements Adobe 3011 features: integer and dictionary CIDMaps, -and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code, -which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.) -(ifont42.h [1.1]: 2000/03/20 19:53:06 lpd) +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. (gsfcid.c [1.2], +gxfcid.h [1.4]: 2000/04/02 07:38:46 lpd) </pre></body></html> diff --git a/gs/doc/History6.htm b/gs/doc/History6.htm index 3f58cffca..e02eefeda 100644 --- a/gs/doc/History6.htm +++ b/gs/doc/History6.htm @@ -27,6 +27,19 @@ <h2>Table of contents</h2> <blockquote><ul> +<li><a href="#Version6.20">Version 6.20 (2000-04-06)</a> +<ul> +<li><a href="#6.20_Incompatible_changes">Incompatible changes</a>, + <a href="#6.20 Documentation">Documentation</a>, + <a href="#6.20 Procedures">Procedures</a>, + <a href="#6.20 Utilities">Utilities</a>, + <a href="#6.20 Drivers">Drivers</a>, + <a href="#6.20 PDF writer">PDF writer</a>, + <a href="#6.20 Interpreter (PDF)">Interpreter (PDF)</a>, + <a href="#6.20 Interpreter">Interpreter</a>, + <a href="#6.20 Streams">Streams</a>, + <a href="#6.20 Library">Library</a> +</ul> <li>(Versions 6.02 - 6.19 deliberately omitted.) <li><a href="#Version6.01">Version 6.01 (2000-03-17)</a> <ul> @@ -84,7 +97,7 @@ overview</a>. <!-- [2.0 begin contents] ================================================== --> -<pre> +<p> Within each release, news appears in the following order: Incompatible changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts, PDF writer (included under Drivers through fileset 5.88), Interpreter, @@ -94,6 +107,1097 @@ release. <hr> +<h1><a name="Version6.20"></a>Version 6.20 (2000-04-06)</h1> + +<p> +This fileset includes the first steps towards bringing the pdfwrite driver +closer to matching Acrobat Distiller 4. Highlights: + +<ul> + +<li> Reimplementation of CIDFontType 0 support in C rather than PostScript; + +<li> Parsing (but not functional implementation) of nearly all the Acrobat +Distiller 4 parameters; + +<li> Implementation of AutoRotatePages and DCTEncode filtering in the PDF +writer; + +<li> A PDF linearizer ("optimizer"). + +</ul> + +<p> +All problems registered on SourceForge numbered 103963 or lower are closed, +except for the following: 101549, 101814, 101829, 101905, 101955, 102046, +102047, 102132, 102146, 102735, 102901, 103016, 103528, 103963. + +<pre> + +<h2><a name="6.20_Incompatible_changes"></a>Incompatible changes</h2> + +(Procedures) + - The default value of FPU_TYPE in all Windows and OS/2 makefiles +is now 387 rather than 0. + - The process for reporting problems has changed significantly. +(PDF writer) + - The Cos procedures no longer take the device as an argument, +except for object-creating procedures, which now take the device rather +than an allocator. + - The is_object member of Cos values is replaced by value_type. +Clients must use COS_VALUE_IS_OBJECT() to test whether a value is an object +reference. + - The Cos procedures that take C strings no longer copy the string. + - The argument of cos_write_object is no longer const. +(Drivers) + - The default BufferSpace for printer drivers is now 4 Mb. + - Device halftone order implementations must now provide a new +bit_index procedure. + - The image argument for psdf_setup_image_filters is changed from +gs_image_t to gs_pixel_image_t. + - The font-related psdf_ procedures are renamed psf_. +(Streams) + - The interface to the [T]BCP filters is now in a separate file, +sbcp.h. +(PDF interpreter) + - The internal beginpage procedure is renamed dictbeginpage, and +now takes a dictionary argument. +(Interpreter) + - The argument list for the internal build_gs_TrueType_font +procedure has changed. + - The zcharstring_glyph_outline procedure is renamed +zchar1_glyph_outline. + - The Instances dictionary of resources is renamed .Instances. +(Library) + - ImageType 4 images now give an error if a MaskColor value is out +of the range of possible sample values. + - The definition of gs_param_key_t, the key type returned by +parameter list enumeration, is changed. + - Implementors of parameter lists must now call gs_param_list_init +to initialize the common members. + - st_indexed_map is now private. Clients allocating instances of +this structure must now call alloc_indexed_map. + - Setting a transfer map as the identity mapping now requires +calling gx_set_identity_transfer. + - gs_cid_system_info is renamed gs_cid_system_info_t. + - The get_outline procedure of a Type 42 or Type 11 (CIDFontType 0) +font now returns 1 if the string was newly allocated and can be freed by the +client. + - The procs member of gs_type1_data is now an in-line structure +rather than a pointer to a const structure. + + +<h2><a name="6.20 Documentation"></a>Documentation</h2><pre> + +Fixes problems: + - If log2_transfer_map_size > 8, identity transfer functions +returned garbage. The fix requires that if a client wants to set a transfer +function to the identity mapping, it must call gx_set_identity_transfer +rather than simply setting the procedure to gs_identity_transfer. +(doc/News.htm [1.13]: 2000/03/19 17:14:47 lpd) + - In PDF files, the page CropBox was not being used to clip the +output. (doc/News.htm [1.18]: 2000/03/21 23:08:32 lpd) + - Fixes several problems in resourceforall and resource loading: the +operands of resourceforall were restored even in the case of an error in the +client's procedure; the name Instances had special meaning for some Adobe +code; resourceforall caused an invalidaccess error if an operand was in +local VM but the current VM was global; loading a resource from a file could +cause a typecheck error if the file left values on the operand stack. +(doc/News.htm [1.25]: 2000/04/04 22:26:02 lpd) + - The location of the lists of supported and unsupported drivers was +incorrect. (doc/Bug-info.htm [1.2]: 2000/04/07 03:01:52 lpd) + +Undoes an accidental RCS ID substitution in what was supposed to be literal +text. (doc/Htmstyle.htm [1.2]: 2000/03/18 22:29:03 lpd) + +Increments the version number to 6.20, in anticipation of the next release. +(We do this at the beginning of the development for a release, not the end.) +(doc/History6.htm [1.4], doc/News.htm [1.6]: 2000/03/19 00:27:22 lpd) + +Splits out the [T]BCP filter interface into a separate file. +(doc/News.htm [1.7]: 2000/03/19 02:40:18 lpd) + +Documents the fact that ImageType 4 images now cause an error for +out-of-range MaskColor values. (doc/News.htm [1.8]: 2000/03/19 04:32:09 lpd) + +Updates the change log with recent changes. (doc/Changes.htm [1.4]: +2000/03/19 05:39:58 lpd) + +Adds a new document listing projects with which we are seeking help. Also +makes the description of Changes.htm and News.htm more accurate. +(doc/New-user.htm [1.2], doc/Projects.htm [1.1], doc/Readme.htm [1.3]: +2000/03/19 06:07:15 lpd) + +Changes the default value of BufferSpace to 4 Mb. In desktop applications, +this is a reasonable value that can substantially improve performance +(especially for color printers); embedded applications will want to set +BufferSpace themselves in any case. (doc/News.htm [1.9]: 2000/03/19 06:51:13 +lpd) + +Changes the key type returned by parameter list enumeration to include a +persistence flag, makes C parameter lists support non-persistent keys, and +upgrades GC descriptors so that parameter lists can be used non-transiently; +updates implementors of parameter lists to call gs_param_list_init to +initialize the common members, which is now required. (doc/News.htm [1.10]: +2000/03/19 15:16:11 lpd) + +Documents the fact that drivers that device halftone order implementations +must now provide the new bit_index procedure. (This should have been +documented when bit_index was introduced!) (doc/News.htm [1.11]: 2000/03/19 +15:47:47 lpd) + +Makes st_indexed_map private. Clients must now use the constructor procedure +alloc_indexed_map rather than allocating instances directly. +(doc/News.htm [1.12]: 2000/03/19 16:37:28 lpd) + +Update the date and change log for the latest batches of checked-in changes. +(doc/Changes.htm [1.5]: 2000/03/19 17:29:57 lpd) + +Adds a PDF linearizer ("optimizer"). This is a separate utility (not +integrated with the pdfwrite driver), written in PostScript. +(doc/Psfiles.htm [1.2]: 2000/03/20 04:31:22 lpd) + +Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements +the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and +xxxACSImageDict distiller parameters. Implements DCTEncode as an +xxxImageFilter option (it used to cause a crash). Makes the +AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict) +if the image has 8 bits per component and is not Indexed, and LZW/Flate +otherwise: this still isn't right, but it's closer. Implementation changes: +Changes the implementation of distiller parameter dictionaries from stream +states to parameter lists; changes the test for masks in +psdf_setup_image_filters, and changes the image argument from gs_image_t to +gs_pixel_image_t. (doc/News.htm [1.14]: 2000/03/20 05:40:04 lpd) + +Moves font-writing support into a new module (gdevpsf*), changing the source +file names. Adds the ability to write CFF fonts, with either Type 1 or Type +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to +Type 2, including optimizing sequences of Type 1 operators into a single +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT +TESTED]. Starts (just barely) to remove more unneeded information from +embedded TrueType fonts. (doc/News.htm [1.15]: 2000/03/20 07:02:12 lpd) + +Updates the consolidated change log with today's changes. +(doc/Changes.htm [1.6]: 2000/03/20 07:18:38 lpd) + +Starts to move support for CIDFontType 0 and 2 into C code, needed by the +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts +that have a GlyphDirectory (not documented in the PLRM, but clearly +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps, +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code, +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.) +(doc/News.htm [1.16]: 2000/03/20 19:53:06 lpd) + +Notes that the argument list for the internal build_gs_TrueType_font +procedure has changed, as part of the CIDFont migration to C code. +(doc/News.htm [1.17]: 2000/03/20 20:04:20 lpd) + +Adds invocation scripts and documentation for the PDF "optimizer". +(man/pdfopt.1 [1.1]: 2000/03/21 17:01:33 lpd) + +Updates information about reporting problems when using Ghostview or GSview. +(doc/Bug-form.htm [1.3], doc/New-user.htm [1.3]: 2000/03/22 22:13:49 lpd) + +Checks in the latest consolidated change log. (doc/Changes.htm [1.7]: +2000/03/24 05:04:55 lpd) + +Substantially enhances the Cos object machinery. Interface: Adds a few more +procedures, including a procedure to create a stream that writes directly +into a Cos stream object, procedures for putting more kinds of values into +arrays and dictionaries, and a param_list interface. Changes Cos objects to +store a reference to the PDF device, and removes the device argument from +all Cos procedures other than object creation. Replaces the Boolean +is_object member of Cos values by a value_type enum: clients must now use +COS_VALUE_IS_OBJECT() to test whether a value is an object reference. To +reduce allocator overhead, makes the Cos procedures that take C strings no +longer copy the string. Records whether each Cos object has been written +into the output, so that in the future (but not in this batch of changes) +resource definitions can be copied at the end of each page. Implementation: +Moves more of the implementation of Cos objects to the .c file. +(doc/News.htm [1.19]: 2000/03/24 06:12:52 lpd) + +Adds parsing for the remaining Acrobat Distiller 4 parameters, although most +of them don't have any effect yet; brings documentation up to date. +(doc/Ps2pdf.htm [1.3]: 2000/03/28 07:36:58 lpd) + +Implements LockDistillerParams; completes the StartPage/EndPage fix checked +in just before. (doc/Ps2pdf.htm [1.4]: 2000/03/28 07:52:06 lpd) + +Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from +0 to 387, since all current desktop CPUs include floating point hardware. +(doc/News.htm [1.20]: 2000/03/28 17:03:48 lpd) + +Changes the get_outline / glyph_data procedure for getting encoded font +outline data to return an indication of whether the outline data were just +allocated and can be freed by the client. (This is a possibly +non-backward-compatible change.) (doc/News.htm [1.21]: 2000/03/28 18:47:02 +lpd) + +Adds a note about bogus "ANSI aliasing" warnings from the DEC C compiler. +(doc/Make.htm [1.8]: 2000/03/29 19:29:08 lpd) + +Changes the procs structure of gs_type1_data to an in-line structure rather +than a pointer to a const structure. (Needed for moving CIDFontType 0 +support into C.) (doc/News.htm [1.22]: 2000/03/29 22:10:31 lpd) + +Updates the change log with recent changes. (doc/Changes.htm [1.8]: +2000/03/30 07:59:39 lpd) + +Creates a real list of projects on which help would be appreciated. +(doc/Projects.htm [1.2]: 2000/04/01 00:43:11 lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. +(doc/News.htm [1.23]: 2000/04/02 07:38:46 lpd) + +Updates the documentation on preparing releases to reflect the addition of +the toolbin directory. (doc/Release.htm [1.7]: 2000/04/02 18:56:58 lpd) + +Implements the AutoRotatePages distiller parameter. (doc/Ps2pdf.htm [1.5]: +2000/04/03 02:54:41 lpd) + +Updates the problem reporting procedure to use SourceForge; separates the +description of the procedure from the reporting form. +(doc/Bug-form.htm [1.4], doc/Bug-info.htm [1.1], doc/New-user.htm [1.4], +doc/News.htm [1.24], doc/Readme.htm [1.4]: 2000/04/04 04:14:02 lpd) + +Updates release dates and version numbers. (doc/Bug-form.htm [1.5], +doc/Bug-info.htm [1.3], doc/Htmstyle.htm [1.3], doc/Make.htm [1.9], +doc/New-user.htm [1.5], doc/Projects.htm [1.3], doc/Ps2pdf.htm [1.6], +doc/Psfiles.htm [1.3], doc/Readme.htm [1.5], man/ps2pdf.1 [1.4], +man/ps2ps.1 [1.4]: 2000/04/07 05:21:45 lpd) + +Removes redundant material, and the www.aladdin.com distribution point, from +the release procedure documentation. (doc/Release.htm [1.8]: 2000/04/07 +05:24:29 lpd) + +</pre><h2><a name="6.20 Procedures"></a>Procedures</h2><pre> + +Fixes problems: + - pdfread.dev incorrectly depended on dpsnext_. (int.mak [1.4]: +2000/03/19 02:00:09 lpd) + - The referenced libpng version hadn't been updated to 1.0.5. +(openvms.mmk [1.3]: 2000/03/20 16:38:46 lpd) + - The MSVC++ 6 compiler no longer recognizes the /FPi87 switch. +(msvccmd.mak [1.2]: 2000/03/31 05:06:53 lpd) + - MSVC versions before 5, not before 6, recognize /FPi87. +(msvccmd.mak [1.3]: 2000/03/31 05:50:33 lpd) + - Removes some occurrences of $,I,d,: that shouldn't be substituted. +(toolbin/pre [1.2]: 2000/04/07 05:20:35 lpd) + +Increments the version number to 6.20, in anticipation of the next release. +(We do this at the beginning of the development for a release, not the end.) +(version.mak [1.6]: 2000/03/19 00:27:22 lpd) + +Adds a pseudo-encoding for the CFF StandardStrings that represent +characters. (devs.mak [1.3], int.mak [1.3], unixinst.mak [1.5]: 2000/03/19 +00:38:50 lpd) + +Updates makefiles with dependencies for recent changes. (int.mak [1.5], +lib.mak [1.3]: 2000/03/19 05:37:38 lpd) + +Adds dependencies for the new implementation of FunctionType 4 functions. +(int.mak [1.6]: 2000/03/19 07:03:53 lpd) + +Splits off "vanilla" Functions into separate files, in anticipation of +removing them (they were only used to implement PostScript Calculator +Functions). (lib.mak [1.4]: 2000/03/19 07:33:08 lpd) + +Update the date and change log for the latest batches of checked-in changes. +(version.mak [1.7]: 2000/03/19 17:29:57 lpd) + +Moves font-writing support into a new module (gdevpsf*), changing the source +file names. Adds the ability to write CFF fonts, with either Type 1 or Type +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to +Type 2, including optimizing sequences of Type 1 operators into a single +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT +TESTED]. Starts (just barely) to remove more unneeded information from +embedded TrueType fonts. (devs.mak [1.4], lib.mak [1.5]: 2000/03/20 07:02:12 +lpd) + +Updates dependencies to reflect today's batches of checked-in changes. +(devs.mak [1.5], int.mak [1.7], lib.mak [1.6]: 2000/03/20 07:16:35 lpd) + +Updates the makefile for the renaming of gdevpsdf.c => gdevpsdu.c. +(devs.mak [1.6]: 2000/03/20 19:30:35 lpd) + +Starts to move support for CIDFontType 0 and 2 into C code, needed by the +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts +that have a GlyphDirectory (not documented in the PLRM, but clearly +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps, +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code, +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.) +(int.mak [1.8], lib.mak [1.7]: 2000/03/20 19:53:06 lpd) + +Extends the C support for CIDFontType 0 fonts to include those with FontType +2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF +fonts). (int.mak [1.9]: 2000/03/21 07:43:42 lpd) + +Adds invocation scripts and documentation for the PDF "optimizer". +(unixinst.mak [1.6]: 2000/03/21 17:01:33 lpd) + +Splits off the ReusableStreamDecode filter as a separate module, since +CIDFontType 0 fonts will use it even in LanguageLevels below 3. +(int.mak [1.10]: 2000/03/21 21:34:57 lpd) + +Makes file streams remember the file name, needed for efficiently +implementing reusable streams. (int.mak [1.11]: 2000/03/23 02:13:40 lpd) + +Checks in the latest consolidated change log. (version.mak [1.8]: 2000/03/24 +05:04:55 lpd) + +Changes the implementation of incrementally loaded CIDFontType 0 fonts to +use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph +procedure for these fonts from PostScript to C. (int.mak [1.12], +version.mak [1.9]: 2000/03/27 16:36:24 lpd) + +Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from +0 to 387, since all current desktop CPUs include floating point hardware. +(msvc32.mak [1.3], msvclib.mak [1.3], os2.mak [1.4], watcw32.mak [1.3]: +2000/03/28 17:03:48 lpd) + +Updates the change log with recent changes. (version.mak [1.10]: 2000/03/30 +07:59:39 lpd) + +Cleans up some dependencies missed at the last checkin. (devs.mak [1.7], +int.mak [1.13]: 2000/03/31 05:03:30 lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. (int.mak [1.14]: +2000/04/02 07:38:46 lpd) + +Adds a variety of tools used to build and distribute Ghostscript releases. +The only documentation is comments in the files themselves, and there isn't +much of it. All aspects of these tools are subject to change without notice. +(toolbin/3way.tcl [1.1], toolbin/cvs2hist.py [1.1], +toolbin/errlist.tcl [1.1], toolbin/gsmake.tcl [1.1], +toolbin/headers.tcl [1.1], toolbin/leaks.tcl [1.1], +toolbin/makeset.tcl [1.1], toolbin/package.tcl [1.1], toolbin/pre [1.1], +toolbin/pre.chk [1.1], toolbin/precheck.tcl [1.1], toolbin/smoke.ps [1.1], +toolbin/suite.tcl [1.1], toolbin/tmake.tcl [1.1]: 2000/04/02 18:44:27 lpd) + +Moves gsindent from src to toolbin. (toolbin/gsindent [1.1]: 2000/04/02 +18:56:25 lpd) + +Adds an #include required by the Watcom compiler. (devs.mak [1.8]: +2000/04/05 19:51:54 lpd) + +Adds a missing dependency. (lib.mak [1.8]: 2000/04/07 03:00:56 lpd) + +Updates a few dependencies for the release. (int.mak [1.15]: 2000/04/07 +05:23:12 lpd) + +Updates the build date for the release. (version.mak [1.11]: 2000/04/07 +05:25:18 lpd) + +Adds .cvsignore files, to prevent bogus warnings on cvs update. +(.cvsignore [1.1], src/.cvsignore [1.1]: 2000/04/05 19:46:04 lpd) + +</pre><h2><a name="6.20 Utilities"></a>Utilities</h2><pre> + +Fixes problems: + - A couple of places in the Windows code didn't correctly handle +Ghostscript version numbers of the form #.0#. (gp_wgetv.c [1.2]: 2000/03/22 +21:45:03 lpd) + - Replaces a final exit() with a return, to avoid a compiler +warning. (genconf.c [1.2]: 2000/04/05 19:53:27 lpd) + +Makes geninit remove whitespace adjacent to hex and base-85 string literals. +(geninit.c [1.2]: 2000/03/18 22:51:24 lpd) + +Adds a PDF linearizer ("optimizer"). This is a separate utility (not +integrated with the pdfwrite driver), written in PostScript. +(lib/pdfopt.ps [1.1], lib/pdfwrite.ps [1.1]: 2000/03/20 04:31:22 lpd) + +Replaces the O(N^2) sorting algorithm for printing unencoded characters with +a O(N log N) algorithm, which makes printing Unicode and Chinese/Japanese +fonts practical. (lib/prfont.ps [1.2]: 2000/03/21 06:39:49 lpd) + +Adds invocation scripts and documentation for the PDF "optimizer". +(lib/pdfopt [1.1], lib/pdfopt.bat [1.1], lib/pdfopt.ps [1.2]: 2000/03/21 +17:01:33 lpd) + +Splits off the ReusableStreamDecode filter as a separate module, since +CIDFontType 0 fonts will use it even in LanguageLevels below 3. +(zfreuse.c [1.2]: 2000/03/21 21:34:57 lpd) + +Adds a variety of tools used to build and distribute Ghostscript releases. +The only documentation is comments in the files themselves, and there isn't +much of it. All aspects of these tools are subject to change without notice. +(gsindent [1.2]: 2000/04/02 18:44:27 lpd) + +</pre><h2><a name="6.20 Drivers"></a>Drivers</h2><pre> + +Fixes problems: + - The color_info member of the Windows and OS/2 printer devices (and +other devices using PC-style palettes) wasn't initialized properly, causing +improper behavior. (gdevos2p.c [1.2], gdevpccm.h [1.2], gdevwpr2.c [1.3]: +2000/03/20 21:05:11 lpd) + - Fixes a bug in the mswinpr2 driver in the handling of +BitsPerPixel. (gdevwpr2.c [1.4]: 2000/03/22 17:08:33 lpd) + - In PCL XL output (pxl* drivers), if a PostScript image didn't +provide enough source data, the remainder of the output image was +erroneously filled with pixel value 0 (typically black or the foreground +color). (gdevpx.c [1.2]: 2000/03/22 20:55:21 lpd) + - In the output of the pswrite driver (pdf2ps, ps2ps), the showpage +for each page occurred before, not after, the restore that ended the page +contents. This contradicted Adobe's documentation, and made utilities like +N-up printing not work properly. (gdevps.c [1.4]: 2000/03/28 00:52:46 lpd) + - The PCL XL 2.0 value for sRGB color space was wrong, and the +attribute for writing mode was missing. (gdevpxat.h [1.2], gdevpxen.h [1.2]: +2000/03/29 18:19:44 lpd) + - When printing on monochrome LaserJet/DeskJet printers, the driver +didn't set the number of copies to 1; on the LJ 4si, this sometimes caused +double printing. (gdevdjet.c [1.2]: 2000/04/03 14:36:12 lpd) + - Updates clients for the change in the last argument of +cff_string_index from uint * to int *. (gdevpsf2.c [1.4]: 2000/04/05 +19:55:29 lpd) + +Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements +the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and +xxxACSImageDict distiller parameters. Implements DCTEncode as an +xxxImageFilter option (it used to cause a crash). Makes the +AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict) +if the image has 8 bits per component and is not Indexed, and LZW/Flate +otherwise: this still isn't right, but it's closer. Implementation changes: +Changes the implementation of distiller parameter dictionaries from stream +states to parameter lists; changes the test for masks in +psdf_setup_image_filters, and changes the image argument from gs_image_t to +gs_pixel_image_t. (gdevpsdf.h [1.4], gdevpsdi.c [1.3], gdevpsdp.c [1.3]: +2000/03/20 05:40:04 lpd) + +Moves font-writing support into a new module (gdevpsf*), changing the source +file names. Adds the ability to write CFF fonts, with either Type 1 or Type +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to +Type 2, including optimizing sequences of Type 1 operators into a single +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT +TESTED]. Starts (just barely) to remove more unneeded information from +embedded TrueType fonts. (gdevpsd1.c [1.2], gdevpsdf.c [1.3], +gdevpsdf.h [1.5], gdevpsdt.c [1.2], gdevpsf.h [1.1], gdevpsf1.c [1.1], +gdevpsf2.c [1.1], gdevpsft.c [1.1], gdevpsfu.c [1.1], gdevpsfx.c [1.1]: +2000/03/20 07:02:12 lpd) + +Renames an inappropriately named file. (gdevpsdf.c [1.4], gdevpsdf.h [1.6], +gdevpsdu.c [1.1]: 2000/03/20 19:03:43 lpd) + +Extends the C support for CIDFontType 0 fonts to include those with FontType +2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF +fonts). (gdevpsf.h [1.2]: 2000/03/21 07:43:42 lpd) + +Changes the procs structure of gs_type1_data to an in-line structure rather +than a pointer to a const structure. (Needed for moving CIDFontType 0 +support into C.) (gdevpsf1.c [1.2], gdevpsf2.c [1.2], gdevpsfx.c [1.2]: +2000/03/29 22:10:31 lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. +(gdevpsf2.c [1.3], gdevpsfu.c [1.2]: 2000/04/02 07:38:45 lpd) + +Slightly simplifies the output of the psmono and psgray drivers. +(gdevpsim.c [1.2]: 2000/04/02 19:57:37 lpd) + +Adds an #include required by the Watcom compiler. (gdevpsf1.c [1.3]: +2000/04/05 19:51:54 lpd) + +</pre><h2><a name="6.20 PDF writer"></a>PDF writer</h2><pre> + +Fixes problems: + - The pointer enumeration procedure for pdf_image_enum was wrong, +possibly producing a mangled pointer and a memory access error if a garbage +collection occured while writing an image in a PDF file. (gdevpdfi.c [1.5]: +2000/03/20 05:54:13 lpd) + - The computation for testing whether a tiled pattern could be +represented in line, and whether it exceeded Acrobat Reader's size limit, +was wrong, causing some patterns not to be represented as Patterns. +(gdevpdfi.c [1.6]: 2000/03/20 05:58:15 lpd) + - When ProcessColorModel=/DeviceCMYK, if the first object on a page +or after changing the clipping path was white, the PDF writer would write it +as black. (gdevpdfu.c [1.3]: 2000/03/21 18:36:36 lpd) + - If a page ended with an incomplete outline tree, an invalid memory +access occurred. (gdevpdf.c [1.3], gdevpdfm.c [1.2]: 2000/03/24 05:09:56 +lpd) + - The SP pdfmark didn't check that its argument was a graphics +stream. (gdevpdfm.c [1.4]: 2000/03/24 06:18:39 lpd) + - The name of the EndPage Distiller parameter collided with the +EndPage page device parameter. (gdevpdfp.c [1.4]: 2000/03/28 07:45:25 lpd) + - If two embedded fonts had the same base font, the PDF file could +wind up with an invalid entry in the xref table. (gdevpdft.c [1.4]: +2000/04/01 01:18:32 lpd) + +Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements +the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and +xxxACSImageDict distiller parameters. Implements DCTEncode as an +xxxImageFilter option (it used to cause a crash). Makes the +AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict) +if the image has 8 bits per component and is not Indexed, and LZW/Flate +otherwise: this still isn't right, but it's closer. Implementation changes: +Changes the implementation of distiller parameter dictionaries from stream +states to parameter lists; changes the test for masks in +psdf_setup_image_filters, and changes the image argument from gs_image_t to +gs_pixel_image_t. (gdevpdfi.c [1.4]: 2000/03/20 05:40:04 lpd) + +Moves font-writing support into a new module (gdevpsf*), changing the source +file names. Adds the ability to write CFF fonts, with either Type 1 or Type +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to +Type 2, including optimizing sequences of Type 1 operators into a single +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT +TESTED]. Starts (just barely) to remove more unneeded information from +embedded TrueType fonts. (gdevpdff.c [1.2], gdevpdfw.c [1.2]: 2000/03/20 +07:02:12 lpd) + +Substantially enhances the Cos object machinery. Interface: Adds a few more +procedures, including a procedure to create a stream that writes directly +into a Cos stream object, procedures for putting more kinds of values into +arrays and dictionaries, and a param_list interface. Changes Cos objects to +store a reference to the PDF device, and removes the device argument from +all Cos procedures other than object creation. Replaces the Boolean +is_object member of Cos values by a value_type enum: clients must now use +COS_VALUE_IS_OBJECT() to test whether a value is an object reference. To +reduce allocator overhead, makes the Cos procedures that take C strings no +longer copy the string. Records whether each Cos object has been written +into the output, so that in the future (but not in this batch of changes) +resource definitions can be copied at the end of each page. Implementation: +Moves more of the implementation of Cos objects to the .c file. +(gdevpdf.c [1.4], gdevpdfi.c [1.7], gdevpdfm.c [1.3], gdevpdfo.c [1.2], +gdevpdfo.h [1.2], gdevpdfr.c [1.2], gdevpdfu.c [1.4], gdevpdfx.h [1.3]: +2000/03/24 06:12:52 lpd) + +Changes a few initializations to suppress warnings from one picky compiler +that doesn't like ptr = buf - 1 where buf is an array. (gdevpdfr.c [1.3]: +2000/03/28 02:01:34 lpd) + +Adds parsing for the remaining Acrobat Distiller 4 parameters, although most +of them don't have any effect yet; brings documentation up to date. +(gdevpdf.c [1.5], gdevpdfp.c [1.3], gdevpdfx.h [1.4]: 2000/03/28 07:36:58 +lpd) + +Implements LockDistillerParams; completes the StartPage/EndPage fix checked +in just before. (gdevpdf.c [1.6], gdevpdfp.c [1.5], gdevpdfx.h [1.5]: +2000/03/28 07:52:06 lpd) + +Changes the initial values of the "job control" parameters to match Acrobat +Distiller 4. (gdevpdf.c [1.7], gdevpdfp.c [1.6], gdevpdfx.h [1.6]: +2000/03/28 07:57:14 lpd) + +Implements the AutoRotatePages distiller parameter. (gdevpdf.c [1.8], +gdevpdft.c [1.5], gdevpdfu.c [1.5], gdevpdfx.h [1.7]: 2000/04/03 02:54:41 +lpd) + +</pre><h2><a name="6.20 Interpreter (PDF)"></a>Interpreter (PDF)</h2><pre> + +Fixes problems: + - Reading embedded compressed CIDFonts wasn't implemented. +(lib/pdf_font.ps [1.3]: 2000/03/19 01:28:59 lpd) + - PDF images with DeviceN color spaces caused an error. +(lib/pdf_draw.ps [1.2]: 2000/03/19 01:44:53 lpd) + - PDF images with a Mask ignored the mask. (lib/pdf_draw.ps [1.3]: +2000/03/19 01:46:27 lpd) + - the PDF interpreter hadn't been updated for the move to +library-based FunctionType 4 Functions, and still tried to bind the names +true and false to the no longer existing operators .true and .false. +(lib/pdf_draw.ps [1.5]: 2000/03/19 07:37:03 lpd) + - FunctionType 2 and 3 functions didn't work. +(lib/pdf_draw.ps [1.6]: 2000/03/19 15:23:10 lpd) + - In PDF files, the page CropBox was not being used to clip the +output. (lib/pdf_main.ps [1.4], lib/pdf_ops.ps [1.3]: 2000/03/21 23:08:32 +lpd) + - The "fix" for FunctionTypes 2 and 3 in PDF files had made things +worse, because the code didn't distinguish between resolving to a PostScript +function (for shadings) and resolving to a PostScript procedure (for +halftones, BG/UCR, alternate color space mapping, etc.) +(lib/pdf_draw.ps [1.7]: 2000/03/23 18:31:46 lpd) + - Text with a Pattern color scaled the pattern according to the text +matrix, not the default matrix of the marking context. +(lib/pdf_base.ps [1.6], lib/pdf_main.ps [1.5], lib/pdf_ops.ps [1.4]: +2000/03/30 18:01:58 lpd) + - Resolving a Shading didn't create a reusable stream for the +shading data; since the data was then read at unpredictable times, the +shading or other constructs in the PDF file could read incorrect data. +(lib/pdf_draw.ps [1.8]: 2000/04/03 06:01:25 lpd) + +Adds a lforall procedure for the PDF linearizer. (lib/pdf_base.ps [1.3]: +2000/03/19 01:50:05 lpd) + +Changes the PDF interpreter so that following an object reference doesn't +store the result back into the referring slot, and so that # # R always +creates an indirect object. This is necessary for the PDF linearizer. It +shouldn't have any visible effect (other than a possible small performance +cost). (lib/pdf_base.ps [1.4], lib/pdf_draw.ps [1.4]: 2000/03/19 01:53:58 +lpd) + +Refactors some code to make it usable by the PDF linearizer. +(lib/pdf_main.ps [1.3]: 2000/03/19 17:26:42 lpd) + +Speeds up loading embedded Type 1 fonts a little. (lib/pdf_base.ps [1.5], +lib/pdf_font.ps [1.4]: 2000/03/24 07:42:16 lpd) + +Speeds up reading embedded Type 1 fonts a little more. +(lib/pdf_font.ps [1.5]: 2000/03/24 16:28:26 lpd) + +</pre><h2><a name="6.20 Interpreter"></a>Interpreter</h2><pre> + +Fixes problems: + - Font substitution was broken. (lib/gs_fonts.ps [1.3]: 2000/03/19 +00:22:05 lpd) + - The CFF reader gave an error if a font included any Subrs (it's +very surprising that this hasn't surfaced before, but apparently Acrobat +Distiller always produces CFF fonts with no Subrs); the CFF reader didn't +default lenIV to -1 for Type 1 CharStrings; the CFF reader wasn't able to +read CIDFonts. (lib/gs_cff.ps [1.3], lib/gs_cidfn.ps [1.4]: 2000/03/19 +00:45:40 lpd) + - EXTEND_NAMES had stopped working, because not all places that +needed the index of a name ref used name_index rather than r_size +(ilocate.c), and because the high_index value in the name sub-table was set +incorrectly (iname.c). (ilocate.c [1.2], iname.c [1.2]: 2000/03/19 01:33:23 +lpd) + - The attribute check for Functions being executed was incorrect +(always succeeded). (zfunc.c [1.2]: 2000/03/19 02:12:37 lpd) + - s_add_filter didn't ensure enough buffering. This entailed moving +the NullEncode/Decode filters to stream.[hc]. (sfilter1.c [1.2]: 2000/03/19 +03:15:02 lpd) + - The parameters of SubFileDecode filters weren't initialized fully +(required by a change in this version). (zfilter.c [1.3]: 2000/03/19 +04:03:45 lpd) + - The AutoPositionEPSFiles Distiller parameter was misspelled +AutoPositionEPSFile. (lib/gs_pdfwr.ps [1.2]: 2000/03/19 05:03:31 lpd) + - Enumerating the elements of a dictionary-based parameter list +returned garbage for the keys. (iparam.c [1.2]: 2000/03/19 15:13:13 lpd) + - .buildfont0 should not check CIDSystemInfo compatibility. The +PLRM3 says PostScript interpreters do not make this check, even though the +PLRM2 says compatibility is required (!). (zfcmap.c [1.2]: 2000/03/19 +16:53:50 lpd) + - If log2_transfer_map_size > 8, identity transfer functions +returned garbage. The fix requires that if a client wants to set a transfer +function to the identity mapping, it must call gx_set_identity_transfer +rather than simply setting the procedure to gs_identity_transfer. +(zcolor.c [1.2]: 2000/03/19 17:14:47 lpd) + - Separation color spaces didn't store the separation name. +(zcssepr.c [1.2]: 2000/03/19 17:21:36 lpd) + - The addition of the dummy cid_Setup procedure in gs 6.01 was +accidentally commented out. (lib/gs_cidfn.ps [1.5]: 2000/03/21 00:11:55 lpd) + - The test for whether an CIDFontType 2 outline string was large +enough to include prefixed metrics was backwards, which would have caused +problems with any font that used MetricsCount. (zfcid.c [1.3]: 2000/03/21 +00:43:17 lpd) + - A couple of places in the Windows code didn't correctly handle +Ghostscript version numbers of the form #.0#. (dwsetup.cpp [1.2]: 2000/03/22 +21:45:03 lpd) + - In some cases, re-registering an existing font or CIDFont with +definefont would cause an invalidfont error. (zbfont.c [1.4], +zfont42.c [1.3]: 2000/03/28 18:20:39 lpd) + - Re-registering a CIDFont with definefont, or defining a CIDFont +with definefont instead of /CIDFont defineresource, caused an invalidfont +error or a crash. (lib/gs_cidfn.ps [1.9], lib/gs_fonts.ps [1.4]: 2000/03/28 +18:21:50 lpd) + - The new C BuildGlyph code for CIDFontType 0 fonts didn't handle +GlyphDirectory or Type 2 CharStrings correctly. (lib/gs_cidfn.ps [1.12], +zfcid.c [1.8]: 2000/03/31 23:21:57 lpd) + - The internaldict "operator" was allocated in local VM, preventing +it from being bound into procedures allocated in global VM. +(lib/gs_init.ps [1.6]: 2000/04/04 22:16:02 lpd) + - If there was a CIDInit ProcSet defined in the filesystem, the code +for initializing the built-in CIDInit ProcSet became confused. +(lib/gs_cidfn.ps [1.13]: 2000/04/04 22:17:33 lpd) + - Fixes several problems in resourceforall and resource loading: the +operands of resourceforall were restored even in the case of an error in the +client's procedure; the name Instances had special meaning for some Adobe +code; resourceforall caused an invalidaccess error if an operand was in +local VM but the current VM was global; loading a resource from a file could +cause a typecheck error if the file left values on the operand stack. +(interp.c [1.3], lib/gs_ccfnt.ps [1.2], lib/gs_res.ps [1.3]: 2000/04/04 +22:26:02 lpd) + - resourceforall didn't enumerate external (loadable) instances, and +would enumerate an instance twice if it had both a local and a global +definition. (lib/gs_res.ps [1.4]: 2000/04/05 21:07:02 lpd) + - The implementation of resourcestatus wasn't compatible with some +badly written code in an Adobe font downloader that assumes that the +implementation of resourcestatus in Generic and Font is the same. +(lib/gs_res.ps [1.5]: 2000/04/05 21:20:07 lpd) + - The just-checked-in fixed for resourceforall didn't work properly +for the IdiomSet category. (They probably failed for other categories that +had no instances, but we didn't check this.) (lib/gs_res.ps [1.6]: +2000/04/05 21:51:43 lpd) + - Some Adobe font downloading code assumed that loading a resource +file would never leave extra values on the stack; our implementation didn't +ensure this (by popping them if needed). (lib/gs_res.ps [1.8]: 2000/04/06 +04:50:28 lpd) + - If an alphabetic font defined and used a .notdef character, +pdfwrite always converted it to a bitmap. (lib/gs_lgo_e.ps [1.2]: 2000/04/07 +02:48:23 lpd) + +Provides a gs_atan2_degrees procedure to parallel sin and cos. +(zmath.c [1.2]: 2000/03/18 23:10:39 lpd) + +Speeds up string garbage collection by scanning unmodified string regions +faster. (igcstr.c [1.2]: 2000/03/18 23:29:32 lpd) + +Adds the ImagemaskTrapping parameter to the trapping state. +(lib/gs_trap.ps [1.2]: 2000/03/18 23:35:53 lpd) + +Increments the version number to 6.20, in anticipation of the next release. +(We do this at the beginning of the development for a release, not the end.) +(lib/gs_init.ps [1.4]: 2000/03/19 00:27:22 lpd) + +Adds a pseudo-encoding for the CFF StandardStrings that represent +characters. (lib/gs_cff.ps [1.2], lib/gs_css_e.ps [1.1]: 2000/03/19 00:38:50 +lpd) + +Refactors the code for getting Type 1/2/4 font parameters so it can be used +for FDArray entries of CIDFontType 0 fonts. (ifont1.h [1.2], zfont1.c [1.2]: +2000/03/19 02:07:45 lpd) + +Speeds up Function evaluation slightly, by preallocating space for a +reasonable number of operands and results on the C stack rather than always +allocating it on the heap. (zfunc.c [1.3]: 2000/03/19 02:16:58 lpd) + +Adds a public procedure for determining whether a PostScript object is a +Function, and if so, returning the pointer to the gs_function_t structure. +(ifunc.h [1.2], zfunc.c [1.4]: 2000/03/19 02:22:01 lpd) + +Splits out the [T]BCP filter interface into a separate file. (zfbcp.c [1.2]: +2000/03/19 02:40:18 lpd) + +Adds a skip_count parameter to the SubFileDecode filter, giving the number +of initial bytes or records to skip over. (Needed for printing FunctionType +4 functions, possibly useful for other things.) (sfilter1.c [1.3]: +2000/03/19 03:20:18 lpd) + +Replaces the implementation of FunctionType 4 functions at the PostScript +language level with one that uses the new library-based facilities. +(zdevice2.c [1.2], zfunc4.c [1.2]: 2000/03/19 06:56:23 lpd) + +Changes the key type returned by parameter list enumeration to include a +persistence flag, makes C parameter lists support non-persistent keys, and +upgrades GC descriptors so that parameter lists can be used non-transiently; +updates implementors of parameter lists to call gs_param_list_init to +initialize the common members, which is now required. (iparam.c [1.3]: +2000/03/19 15:16:11 lpd) + +Makes Separation and DeviceN color spaces convert their tint transform +function to a FunctionType 4 Function if possible, for better accuracy and +to allow writing in PDF files. (lib/gs_lev2.ps [1.2], lib/gs_ll3.ps [1.2]: +2000/03/19 15:28:34 lpd) + +Makes st_indexed_map private. Clients must now use the constructor procedure +alloc_indexed_map rather than allocating instances directly. +(zcsindex.c [1.2]: 2000/03/19 16:37:28 lpd) + +Refactors the code for building fonts so it can be used for FDArray entries +of CIDFontType 0 fonts. (bfont.h [1.2], zbfont.c [1.2]: 2000/03/19 16:45:47 +lpd) + +Adds a .fileposition operator that will read the position even of +non-positionable streams, needed for the PDF linearizer. (zfileio.c [1.3]: +2000/03/20 04:30:49 lpd) + +Starts to move support for CIDFontType 0 and 2 into C code, needed by the +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts +that have a GlyphDirectory (not documented in the PLRM, but clearly +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps, +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code, +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.) +(icid.h [1.1], ifont.h [1.2], ifont42.h [1.1], zcid.c [1.2], zfcid.c [1.1], +zfcmap.c [1.3], zfont42.c [1.2]: 2000/03/20 19:53:06 lpd) + +Hooks the new CIDMap code into the BuildGlyph procedure for CIDFontType 2 +fonts. (Contrary to a previous log comment, MetricsCount is already hooked +in.) Support for CIDFontType 2 fonts is now implemented entirely in C, as +for Type 42 fonts. (lib/gs_cidfn.ps [1.6], zfcid.c [1.2]: 2000/03/21 +00:32:15 lpd) + +Extends the C support for CIDFontType 0 fonts to include those with FontType +2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF +fonts). (ifont2.h [1.1], zfcid.c [1.4], zfont2.c [1.2]: 2000/03/21 07:43:42 +lpd) + +Changes Subr loading for CIDFontType 0 fonts from lazy to immediate, so that +C code can be guaranteed access to the Subrs. (In every CIDFontType 0 font +that we have seen, SubrCount is 5, so this has no significant time or space +cost.) Also adds support for FDBytes > 1 in GlyphDirectory definitions. +(lib/gs_cidfn.ps [1.7]: 2000/03/21 20:06:44 lpd) + +Splits off the ReusableStreamDecode filter as a separate module, since +CIDFontType 0 fonts will use it even in LanguageLevels below 3. +(lib/gs_frsd.ps [1.1], lib/gs_ll3.ps [1.3], zfrsd.c [1.1]: 2000/03/21 +21:34:57 lpd) + +Makes file streams remember the file name, needed for efficiently +implementing reusable streams. (zfile.c [1.3], zfileio.c [1.4]: 2000/03/23 +02:13:40 lpd) + +Changes the new .filename operator to return true/false rather than causing +an error; redefines findlibfile in terms of a simpler .libfile operator + +.filename. (lib/gs_init.ps [1.5], zfile.c [1.4], zfileio.c [1.5]: 2000/03/23 +18:47:17 lpd) + +Finishes implementing the file case of ReusableStreamDecode. This required +adding the ability to restrict file-reading streams to a subfile. +(lib/gs_frsd.ps [1.2], sfilter1.c [1.4], zfileio.c [1.6], zfrsd.c [1.2]: +2000/03/24 03:59:42 lpd) + +Changes the implementation of incrementally loaded CIDFontType 0 fonts to +use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph +procedure for these fonts from PostScript to C. (lib/gs_cidfn.ps [1.8], +zbfont.c [1.3], zfcid.c [1.5]: 2000/03/27 16:36:24 lpd) + +Changes the get_outline / glyph_data procedure for getting encoded font +outline data to return an indication of whether the outline data were just +allocated and can be freed by the client. (This is a possibly +non-backward-compatible change.) (zfcid.c [1.6]: 2000/03/28 18:47:02 lpd) + +Changes the procs structure of gs_type1_data to an in-line structure rather +than a pointer to a const structure. (Needed for moving CIDFontType 0 +support into C.) (zfont1.c [1.3]: 2000/03/29 22:10:31 lpd) + +Finishes moving support for CIDFontType 0 fonts from PostScript to C. +(ifont.h [1.3], ifont42.h [1.2], lib/gs_cidfn.ps [1.10], zfcid.c [1.7], +zfont42.c [1.4]: 2000/03/31 04:55:18 lpd) + +Allows dictionaries as the value of CIDMap resources. (Also removes an +unrelated obsolete comment.) (lib/gs_cidfn.ps [1.11]: 2000/03/31 05:11:30 +lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. (ichar1.h [1.2], +ifcid.h [1.1], zchar1.c [1.2], zfcid.c [1.9], zfcid0.c [1.1], +zfcid1.c [1.1], zfont1.c [1.4]: 2000/04/02 07:38:46 lpd) + +Makes the .writefont9 operator (used only for testing) available in both +DEBUG and PROFILE configurations. (zfcid0.c [1.2]: 2000/04/03 02:37:55 lpd) + +Extends .forceput to handle arrays as well as dictionaries, required to fix +a bug with internaldict. (zdict.c [1.2], zgeneric.c [1.2]: 2000/04/04 +22:13:23 lpd) + +Works around an Adobe code assumption that the default FindResource +procedure does *not* call the ResourceStatus procedure if the requested +instance is already defined in VM. (lib/gs_res.ps [1.7]: 2000/04/05 23:31:54 +lpd) + +Implements the framework for superexec (but none of the actual access check +bypasses). (icontext.c [1.2], icstate.h [1.2], zcontrol.c [1.2]: 2000/04/06 +04:40:06 lpd) + +Extends the undocumented CCRun procedure to take an additional argument, a +Private dictionary, required by some Adobe font downloading code. +(lib/gs_type1.ps [1.3]: 2000/04/06 05:25:10 lpd) + +</pre><h2><a name="6.20 Streams"></a>Streams</h2><pre> + +Fixes problems: + - s_add_filter didn't ensure enough buffering. This entailed moving +the NullEncode/Decode filters to stream.[hc]. (sfilter.h [1.3], +stream.c [1.3], stream.h [1.3]: 2000/03/19 03:15:02 lpd) + - When FPU_TYPE <= 0, the image interpolation code lost too much +accuracy, producing color streaks in the output. (Fix by DanCoby.) +(siscale.c [1.2]: 2000/03/29 20:34:45 lpd) + - Fixes a couple of typos in the recently checked-in image +interpolation fix. (siscale.c [1.3]: 2000/03/30 06:55:26 lpd) + +Splits out the [T]BCP filter interface into a separate file. (sbcp.c [1.2], +sbcp.h [1.1], sfilter.h [1.2]: 2000/03/19 02:40:18 lpd) + +Adds a skip_count parameter to the SubFileDecode filter, giving the number +of initial bytes or records to skip over. (Needed for printing FunctionType +4 functions, possibly useful for other things.) (sfilter.h [1.4]: 2000/03/19 +03:20:18 lpd) + +Changes the key type returned by parameter list enumeration to include a +persistence flag, makes C parameter lists support non-persistent keys, and +upgrades GC descriptors so that parameter lists can be used non-transiently; +updates implementors of parameter lists to call gs_param_list_init to +initialize the common members, which is now required. (spsdf.c [1.2]: +2000/03/19 15:16:11 lpd) + +Makes file streams remember the file name, needed for efficiently +implementing reusable streams. (stream.c [1.4], stream.h [1.4]: 2000/03/23 +02:13:40 lpd) + +Finishes implementing the file case of ReusableStreamDecode. This required +adding the ability to restrict file-reading streams to a subfile. +(sfxfd.c [1.2], sfxstdio.c [1.2], stream.c [1.5], stream.h [1.5]: 2000/03/24 +03:59:42 lpd) + +Changes a few initializations to suppress warnings from one picky compiler +that doesn't like ptr = buf - 1 where buf is an array. (spsdf.c [1.3]: +2000/03/28 02:01:34 lpd) + +</pre><h2><a name="6.20 Library"></a>Library</h2><pre> + +Fixes problems: + - Two comments in the file were incorrect. (gsiparm3.h [1.2]: +2000/03/19 02:46:11 lpd) + - param_coerce_typed, which works with any parameter list +implementation, was incorrectly described as associated with the default +implementation. (gsparam.h [1.2]: 2000/03/19 03:37:08 lpd) + - TrueType fonts didn't use vhea/vmtx if WMode = 1. Also makes +gs_font_type42 subclassable, for implementing CIDFontType 2 fonts, and makes +its procedure for getting a glyph's side bearing and width virtual, required +to support MetricsCount in CIDFontType 2 fonts. (gstype42.c [1.3], +gxfont42.h [1.2]: 2000/03/19 03:58:51 lpd) + - ImageType 4 images didn't give an error for out-of-range MaskColor +values. The file also had an unnecessary #include. (gximage4.c [1.2]: +2000/03/19 04:10:09 lpd) + - If log2_transfer_map_size > 8, identity transfer functions +returned garbage. The fix requires that if a client wants to set a transfer +function to the identity mapping, it must call gx_set_identity_transfer +rather than simply setting the procedure to gs_identity_transfer. +(gxclrast.c [1.3], gxcmap.c [1.2], gxfmap.h [1.2]: 2000/03/19 17:14:47 lpd) + - Fixes a warning about aliasing produced by one extremely picky +compiler. (gsnogc.c [1.2]: 2000/03/22 21:39:32 lpd) + - Filling or clipping with ridiculously large (out-of-bounds) +coordinates could cause an internal overflow that produced incorrect +results. (This is probably not the last such bug.) (gxfill.c [1.2]: +2000/03/30 07:03:59 lpd) + +Provides a gs_atan2_degrees procedure to parallel sin and cos. +(gsmisc.c [1.2], gxfarith.h [1.2]: 2000/03/18 23:10:39 lpd) + +Improves the 8x8 bitmap "flipping" procedure to take advantage of 32-bit +ints. (gsutil.c [1.2]: 2000/03/18 23:16:16 lpd) + +Adds a public procedure for restricting a color to its legal range. +(gscspace.c [1.2], gscspace.h [1.2], gxcspace.h [1.2]: 2000/03/18 23:19:17 +lpd) + +Adds the new ImagemaskTrapping parameter to the trapping state. +(gstrap.c [1.2], gstrap.h [1.2]: 2000/03/18 23:26:17 lpd) + +Increments the version number to 6.20, in anticipation of the next release. +(We do this at the beginning of the development for a release, not the end.) +(gscdef.c [1.2]: 2000/03/19 00:27:22 lpd) + +Adds a pseudo-encoding for the CFF StandardStrings that represent +characters. (gsccode.h [1.2]: 2000/03/19 00:38:50 lpd) + +Adds a bit_index procedure to the implementation of device halftones, +required for writing halftones in PDF files. (The only implementors are +internal ones.) (gxdht.h [1.2], gxhtbit.c [1.2]: 2000/03/19 05:10:55 lpd) + +Adds a public procedure for getting a palette entry of an Indexed color +space, used when writing Indexed color spaces in PDF files. +(gscindex.h [1.1], gscolor2.c [1.2], gscolor2.h [1.2]: 2000/03/19 05:20:28 +lpd) + +Reimplements "PostScript calculator" (FunctionType 4) functions entirely in +C, to allow them to be written out in PDF files. (gsfunc4.c [1.1], +gsfunc4.h [1.1], gsstruct.h [1.2]: 2000/03/19 05:25:53 lpd) + +Moves gx_device_color_equal to the public API, for detecting redundant color +setting when writing PDF files. (gsdcolor.h [1.2], gxdcolor.c [1.2], +gxdcolor.h [1.2]: 2000/03/19 06:46:08 lpd) + +Changes the default value of BufferSpace to 4 Mb. In desktop applications, +this is a reasonable value that can substantially improve performance +(especially for color printers); embedded applications will want to set +BufferSpace themselves in any case. (gdevprn.h [1.2]: 2000/03/19 06:51:13 +lpd) + +Adds virtual procedures for Functions to write their parameters to a +parameter list, and to access their data source and subfunctions. This is +needed for writing Functions in PDF files. This change is also a +prerequisite for the C implemention of FunctionType 4 functions, even though +it appears later in the change log. (gsdsrc.h [1.2], gsfunc.c [1.2], +gsfunc.h [1.2], gsfunc0.c [1.2], gsfunc3.c [1.2], gsparam.c [1.2], +gsparam.h [1.3], gxfunc.h [1.2]: 2000/03/19 07:24:53 lpd) + +Splits off "vanilla" Functions into separate files, in anticipation of +removing them (they were only used to implement PostScript Calculator +Functions). (gsfunc.c [1.3], gsfunc.h [1.3], gsfuncv.c [1.1], +gsfuncv.h [1.1]: 2000/03/19 07:33:08 lpd) + +Adds a procedure for allocating a C parameter list. (gscparam.c [1.2], +gsparam.h [1.4]: 2000/03/19 15:00:05 lpd) + +Undoes a premature change that depends on an update not yet checked in. +(gscparam.c [1.3]: 2000/03/19 15:07:59 lpd) + +Changes the key type returned by parameter list enumeration to include a +persistence flag, makes C parameter lists support non-persistent keys, and +upgrades GC descriptors so that parameter lists can be used non-transiently; +updates implementors of parameter lists to call gs_param_list_init to +initialize the common members, which is now required. (gscparam.c [1.4], +gsparam.c [1.3], gsparam.h [1.5]: 2000/03/19 15:16:11 lpd) + +Adds a procedure for copying one parameter list to another. +(gsparamx.c [1.2], gsparamx.h [1.2]: 2000/03/19 15:35:31 lpd) + +Records the CTM used for sampling HalftoneType 1 spot functions. This is +needed for recognizing the standard spot functions when producing PDF +output. Also factors the code for initializing spot functions for the +benefit of the PDF writer. (gshtscr.c [1.2], gxdht.h [1.3], gzht.h [1.2]: +2000/03/19 15:43:36 lpd) + +Adds a proc_data member to the map for Separation and Indexed color spaces. +(gscolor2.c [1.3], gxcolor2.h [1.2]: 2000/03/19 16:23:46 lpd) + +Makes st_indexed_map private. Clients must now use the constructor procedure +alloc_indexed_map rather than allocating instances directly. +(gscolor2.c [1.4], gscsepr.c [1.2], gxclrast.c [1.2], gxcolor2.h [1.3]: +2000/03/19 16:37:28 lpd) + +Adds procedures for building and accessing DeviceN color spaces. +(gscdevn.c [1.2], gscdevn.h [1.1]: 2000/03/19 17:02:37 lpd) + +Exports the 'blend' operators of the Type 1 interpreter, for use by the Type +1 / Type 2 font writer. (gstype1.c [1.3], gxtype1.c [1.2], gxtype1.h [1.3]: +2000/03/19 18:46:44 lpd) + +Starts to move support for CIDFontType 0 and 2 fonts into C code. (These +header files are the ones needed to compile the new gdevpsf* files; they +don't interact with any existing code.) (gxcid.h [1.1], gxfcid.h [1.1]: +2000/03/20 06:40:22 lpd) + +Moves font-writing support into a new module (gdevpsf*), changing the source +file names. Adds the ability to write CFF fonts, with either Type 1 or Type +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to +Type 2, including optimizing sequences of Type 1 operators into a single +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT +TESTED]. Starts (just barely) to remove more unneeded information from +embedded TrueType fonts. (gxttf.h [1.1]: 2000/03/20 07:02:12 lpd) + +Starts to move support for CIDFontType 0 and 2 into C code, needed by the +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts +that have a GlyphDirectory (not documented in the PLRM, but clearly +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps, +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code, +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.) +(gsfcid.c [1.1], gsfcmap.c [1.3], gxfcmap.h [1.2], gxfont1.h [1.2]: +2000/03/20 19:53:06 lpd) + +Changes a few initializations to suppress warnings from one picky compiler +that doesn't like ptr = buf - 1 where buf is an array. (gxclpath.c [1.2]: +2000/03/28 02:01:34 lpd) + +Changes the get_outline / glyph_data procedure for getting encoded font +outline data to return an indication of whether the outline data were just +allocated and can be freed by the client. (This is a possibly +non-backward-compatible change.) (gxfcid.h [1.2], gxfont42.h [1.3]: +2000/03/28 18:47:02 lpd) + +Changes the procs structure of gs_type1_data to an in-line structure rather +than a pointer to a const structure. (Needed for moving CIDFontType 0 +support into C.) (gstype1.c [1.4], gstype2.c [1.3], gxfont1.h [1.3], +gxtype1.c [1.3]: 2000/03/29 22:10:31 lpd) + +Finishes moving support for CIDFontType 0 fonts from PostScript to C. +(gxfcid.h [1.3]: 2000/03/31 04:55:18 lpd) + +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved +a surprising number of changes in other font-related files. (gsfcid.c [1.2], +gxfcid.h [1.4]: 2000/04/02 07:38:46 lpd) + +<hr> + <h1><a name="Version6.01"></a>Version 6.01 (2000-03-17)</h1> This is a bug-fix release for 6.0. @@ -844,7 +1948,7 @@ full details of the terms of using, copying, modifying, and redistributing Aladdin Ghostscript. <p> -Ghostscript version 6.01, 17 March 2000 +Ghostscript version 6.20, 6 April 2000 </font> diff --git a/gs/doc/News.htm b/gs/doc/News.htm index 6e10378a8..bd808695c 100644 --- a/gs/doc/News.htm +++ b/gs/doc/News.htm @@ -55,12 +55,32 @@ overview</a>. <!-- [2.0 begin contents] ================================================== --> -<pre> -<h1><a name="Version6.20"></a>Version 6.20 (2000-xx-xx)</h1> +<h1><a name="Version6.20"></a>Version 6.20 (2000-04-06)</h1> + +<p> +This fileset includes the first steps towards bringing the pdfwrite driver +closer to matching Acrobat Distiller 4. Highlights: + +<ul> + +<li> Reimplementation of CIDFontType 0 support in C rather than PostScript; + +<li> Parsing (but not functional implementation) of nearly all the Acrobat +Distiller 4 parameters; -This fileset includes major additions and revisions to bring the pdfwrite -driver closer to matching Acrobat Distiller 4. This also requires upgrading -several aspects of the library and the PostScript and PDF interpreters. +<li> Implementation of AutoRotatePages and DCTEncode filtering in the PDF +writer; + +<li> A PDF linearizer ("optimizer"). + +</ul> + +<p> +All problems registered on SourceForge numbered 103963 or lower are closed, +except for the following: 101549, 101814, 101829, 101905, 101955, 102046, +102047, 102132, 102146, 102735, 102901, 103016, 103528, 103963. + +<pre> <h2><a name="6.20_Incompatible_changes"></a>Incompatible changes</h2> @@ -131,7 +151,7 @@ full details of the terms of using, copying, modifying, and redistributing Aladdin Ghostscript. <p> -Ghostscript version 6.20, xx xxxxxx 2000 +Ghostscript version 6.20, 6 April 2000 </font> |