diff options
author | Raph Levien <raph.levien@artifex.com> | 2002-08-06 23:24:47 +0000 |
---|---|---|
committer | Raph Levien <raph.levien@artifex.com> | 2002-08-06 23:24:47 +0000 |
commit | cbdaf261f5ad92369515a5717b931d751a4f8ba3 (patch) | |
tree | d0beb585ce5bac95eeae2fa3d0d1561e54db42c0 | |
parent | 6cd6e956e0b9376d68b29999bddd49c0232e37c0 (diff) |
Second commit in 7.22 release process: autogenned Changes and History7ghostscript-7.22
doc files. Also minor fix for makehist to balance <pre> tags correctly.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@2902 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r-- | gs/doc/Changes.htm | 2171 | ||||
-rw-r--r-- | gs/doc/History7.htm | 393 | ||||
-rwxr-xr-x | gs/toolbin/makeset.tcl | 2 |
3 files changed, 597 insertions, 1969 deletions
diff --git a/gs/doc/Changes.htm b/gs/doc/Changes.htm index 1e152ff53..d855e9c26 100644 --- a/gs/doc/Changes.htm +++ b/gs/doc/Changes.htm @@ -1,2014 +1,259 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head> -<title>Ghostscript 7.21 change history as of 2002-07-08 13:51:29</title> +<title>Ghostscript 7.22 change history as of 2002-08-06 16:13:49</title> <link rel=stylesheet type="text/css" href="gs.css"> </head><body> <!-- cvs command: cvs -d raph@cvs.ghostscript.com:/cvs/ghostscript -Q log -b --> <ul> -<li><a href="#7.21-Documentation">Documentation</a>, - <a href="#7.21-Procedures">Procedures</a>, - <a href="#7.21-Utilities">Utilities</a>, - <a href="#7.21-Drivers">Drivers</a>, - <a href="#7.21-PDF_writer">PDF writer</a>, - <a href="#7.21-PDF_Interpreter">PDF Interpreter</a>, - <a href="#7.21-Interpreter">Interpreter</a>, - <a href="#7.21-Streams">Streams</a>, - <a href="#7.21-Library">Library</a>, - <a href="#7.21-Other">Other</a> +<li><a href="#7.22-Documentation">Documentation</a>, + <a href="#7.22-Procedures">Procedures</a>, + <a href="#7.22-Utilities">Utilities</a>, + <a href="#7.22-Drivers">Drivers</a>, + <a href="#7.22-PDF_writer">PDF writer</a>, + <a href="#7.22-PDF_Interpreter">PDF Interpreter</a>, + <a href="#7.22-Interpreter">Interpreter</a>, + <a href="#7.22-Library">Library</a> </ul> -<h2><a name="7.21-Documentation"></a>Documentation</h2><pre> +<h2><a name="7.22-Documentation"></a>Documentation</h2><pre> -Fixes problems: - - Changes the operation of AutoFilter{Gray,Color}Images to always -use the lossless filter (normally FlateEncode), rather than using DCTEncode -for 8-bit-per-component images at least 64x64 in size. While this isn't -optimal, it fixes a long-standing problem that many users have complained -about. Fixes SourceForge #450663. (doc/Ps2pdf.htm [1.41]: 2002/04/08 -21:21:23 lpd) - - The recently added reference to zcidtest.c had the correct text -but an incorrect URL. (doc/Develop.htm [1.73]: 2002/04/09 02:03:22 lpd) - - the url for the guide to international paper sizes has changed. -Thanks to Nelson Beebe for finding the update. (doc/Use.htm [1.52]: -2002/04/14 01:08:14 giles) - - The new file md5main.c was not included in the catalog of source -files. (doc/Develop.htm [1.74]: 2002/04/14 15:56:53 lpd) - - More compatibility to Adobe interpreters in 'eexec'. This is -NON-BACKWARD-COMPATIBLE change. Now eexec skips all whitespaces at the -beginning of input stream, except for PFBDecode output. Thanks to L. Peter -Deutsch for participation. Source Forge bug "[ 428891 ] Undefined commands -interpreting Postscri". (doc/Language.htm [1.49]: 2002/05/01 23:15:23 igor) - - pdfwrite relied on the PostScript interpreter to load and make -available the known encodings and glyph sets identified in src/gsccode.h. -With this change, pdfwrite can now be used without a PostScript interpreter, -and with fonts that do not implement the known_encode callback. -(doc/Develop.htm [1.78], doc/Psfiles.htm [1.32]: 2002/05/12 22:38:08 lpd) - - Fixes a typo in, and slightly improves, documentation for invoking -cvs2hist as part of the release process. Fixes SourceForge #551275. -(doc/Release.htm [1.61]: 2002/06/26 20:14:45 lpd) - - Fixes a typo in the reference to src/gdevpdte.c. -(doc/Develop.htm [1.83]: 2002/06/27 00:50:23 lpd) - - Add the option -dUseCropBox to set the page size from the CropBox -rather than the MediaBox. This is appropriate when using ghostscript to view -PDF files or convert to bitmaps. It probably isn't appropriate for printing. -Fixes SourceForge bugs #522486, "Wromg size EPS generated from PDF" and -#538267 "Problems with Media Box in PDF and PS interpreter". -(doc/Use.htm [1.53]: 2002/06/28 10:55:43 ghostgum) - -update version numbers after the 7.20 release. (doc/News.htm [1.104]: -2002/04/04 03:14:03 giles) - -gs-cjk project : add note about abandoning of CIDFnmap in gs6.53 and gs7.0x -to incompatible changes. (doc/News.htm [1.105]: 2002/04/04 06:01:51 -mpsuzuki) - -Changes gs_cmap_t (internal representation of CMaps) to an abstract -superclass with multiple implementations: standard Adobe CMapType 1, -TrueType 16-bit cmap (Platform 3, Encoding 1, Format 4), and one-for-one. -Adds the ability to designate a CMap as Unicode-based. Enhances pdfwrite so -that composite fonts (including those based on TrueType Unicode fonts) with -Unicode-based CMaps are embedded in the PDF file with the original text -preserved and with an appropriate ToUnicode CMap, making the text searchable -in Acrobat. (doc/Develop.htm [1.72]: 2002/04/08 21:02:44 lpd) - -Documents more clearly the fact that the ProcessColorModel parameter for -ps2pdf / pdfwrite does not affect (most) images. Also changes the "notes" -references from the parameter table to live links. (doc/Ps2pdf.htm [1.42]: -2002/04/09 22:43:46 lpd) - -Documents a user request for pdfwrite to convert images to a fixed, -specified color space, as it currently does for vectors/text/masks. -(doc/Issues.htm [1.23]: 2002/04/09 22:51:20 lpd) - -Add an example using .locksafe to permit reading of files anywhere while -preventing file writing, deleting or renaming (as with the pre 7.20 SAFER -mode). Related to SourceForge bug #541856. (doc/Language.htm [1.48]: -2002/04/11 18:11:02 ray) - -Deletes "Vanilla" functions, which have not been used for a long time. They -were originally created for implementing FunctionType 4 functions using a -callback to the PostScript interpreter, but FunctionType 4 functions have -had their own interpreter since 3/19/2000 (first revision of gsfunc4.c). -(doc/Develop.htm [1.75]: 2002/04/19 00:53:19 lpd) - -Removes unused gdevht halftoning "device". Part of DeviceN task list. -(doc/Develop.htm [1.76], doc/Drivers.htm [1.28]: 2002/04/22 23:01:47 raph) - -Adds a project to replace all sampled PostScript procedures with Function -objects, at the PostScript level. (Suggested by SourceForge bug #547695.) -(doc/Projects.htm [1.43]: 2002/04/29 22:37:15 lpd) - -Documents the rationale for stable allocators better. -(doc/Develop.htm [1.77]: 2002/05/02 20:48:21 lpd) - -Documents the fact that driver procedures other than put_params must not -reset is_open, and the invariant that requires any device instance -referenced from a graphics state to be open. (doc/Drivers.htm [1.29]: -2002/05/02 22:36:47 lpd) - -Update the url for the zlib website and source. Fixes SF Bug #550585. -(doc/Make.htm [1.50], doc/New-user.htm [1.37]: 2002/05/09 16:29:16 giles) - -Updates documentation for the revision of the C implementation of known -Encodings. (doc/Develop.htm [1.79], doc/Psfiles.htm [1.33]: 2002/05/14 -23:33:57 lpd) +Minor tweaks to release process, based on 7.21 experience. +(doc/Release.htm [1.63]: 2002/07/09 07:23:07 raph) -Refactors the pdfwrite driver so that none of the structures, and very few -of the procedures, for handling text and fonts are visible to the main body -of code, in preparation for a major rewrite of the text and font code. -(doc/Develop.htm [1.80]: 2002/05/20 07:07:15 lpd) +Bump version number to 7.22 as final commit in 7.21 process. +(doc/News.htm [1.108]: 2002/07/09 07:42:10 raph) -Update Release.htm with changes from the 7.05 release. Fixes SF bug #551275. -(doc/Release.htm [1.60]: 2002/05/22 08:26:39 giles) +Remove Russell Lang's name from most man pages. Correct Russell Lang's email +address. (man/dvipdf.1 [1.16], man/font2c.1 [1.16], man/gs.1 [1.16], +man/gslp.1 [1.16], man/gsnd.1 [1.16], man/pdf2dsc.1 [1.16], +man/pf2afm.1 [1.16], man/pfbtopfa.1 [1.17], man/printafm.1 [1.16], +man/ps2pdf.1 [1.20], man/ps2pdfwr.1 [1.19], man/wftopfa.1 [1.16]: 2002/07/10 +12:19:44 ghostgum) -Adds documentation for pdfwrite regression tools. (doc/Testing.htm [1.7]: -2002/06/21 00:06:29 jack) +Remove Russell Lang's name from most man pages. Correct Russell Lang's email +address. (man/de/dvipdf.1 [1.2], man/de/font2c.1 [1.2], man/de/gsnd.1 [1.3], +man/de/pdf2dsc.1 [1.2], man/de/printafm.1 [1.2], man/de/ps2pdf.1 [1.2], +man/de/wftopfa.1 [1.2]: 2002/07/10 12:22:12 ghostgum) -Adds references to new source files gxfcopy.c, gxfcopy.h, stdpn.h, and -zfctest.c. (doc/Develop.htm [1.81]: 2002/06/21 05:56:32 lpd) +Changes all references to L. Peter Deutsch as the author of Ghostscript to +refer to artofcode LLC and Artifex Software as the maintainers of +Ghostscript. (doc/New-user.htm [1.39], doc/Use.htm [1.55], +man/ansi2knr.1 [1.4], man/dvipdf.1 [1.17], man/eps2eps.1 [1.4], +man/font2c.1 [1.17], man/gs.1 [1.17], man/gslp.1 [1.17], man/gsnd.1 [1.17], +man/pdf2ps.1 [1.18], man/pdfopt.1 [1.16], man/pf2afm.1 [1.17], +man/pfbtopfa.1 [1.18], man/printafm.1 [1.17], man/ps2ascii.1 [1.16], +man/ps2pdf.1 [1.21], man/ps2pdfwr.1 [1.20], man/ps2ps.1 [1.23], +man/wftopfa.1 [1.17]: 2002/07/11 02:54:22 lpd) -Update for Borland 5.5 Compiler. Files changes include bcwin32.mak, -dwmainc.c, unistd_.h, bcc32.cfg and Make.htm. Patch by Rod Webster (rodw). -SF#559565 (doc/Make.htm [1.51]: 2002/06/24 06:20:25 jeong) +Upgrading ps2pdf.htm about pdfwrite/pdxtext. (doc/Ps2pdf.htm [1.44]: +2002/07/31 10:00:57 igor) -Adds a complete rewrite of the font and text code in pdfwrite, based on -copying fonts incrementally to stable memory rather than trying to deal with -fonts being freed at unpredictable times. Should fix a large number of -current SourceForge bugs when completed: however, the code is currently in -pre-alpha state and is not usable on any realistic input. The API is -compatible with the previous pdfwrite text code; the choice of which set to -use is controlled by a single, documented line in src/devs.mak. -(doc/Develop.htm [1.82]: 2002/06/25 01:51:32 lpd) +First commit in 7.22 release process: date and News updates. +(doc/News.htm [1.109]: 2002/08/06 23:10:40 raph) -News.htm update, version number and date fixups. First commit mandated by -Release.htm, in preparation for 7.21 release. (doc/API.htm [1.23], -doc/Bug-form.htm [1.28], doc/Bug-info.htm [1.27], doc/C-style.htm [1.33], -doc/Commprod.htm [1.20], doc/Copying.htm [1.20], doc/Current.htm [1.20], -doc/DLL.htm [1.22], doc/Develop.htm [1.84], doc/Devices.htm [1.46], -doc/Drivers.htm [1.30], doc/Fonts.htm [1.29], doc/Helpers.htm [1.24], -doc/History1.htm [1.20], doc/History2.htm [1.20], doc/History3.htm [1.20], -doc/History4.htm [1.20], doc/History5.htm [1.22], doc/History6.htm [1.37], -doc/History7.htm [1.17], doc/Htmstyle.htm [1.25], doc/Install.htm [1.33], -doc/Issues.htm [1.24], doc/Language.htm [1.50], doc/Lib.htm [1.22], -doc/Maintain.htm [1.30], doc/Make.htm [1.52], doc/New-user.htm [1.38], -doc/News.htm [1.106], doc/Projects.htm [1.44], doc/Ps-style.htm [1.18], -doc/Ps2epsi.htm [1.22], doc/Ps2pdf.htm [1.43], doc/Psfiles.htm [1.34], -doc/Readme.htm [1.39], doc/Release.htm [1.62], doc/Source.htm [1.20], -doc/Tester.htm [1.19], doc/Testing.htm [1.8], doc/Unix-lpr.htm [1.20], -doc/Use.htm [1.54], doc/Xfonts.htm [1.20], doc/gs-vms.hlp [1.19], -man/dvipdf.1 [1.15], man/font2c.1 [1.15], man/gs.1 [1.15], -man/gslp.1 [1.15], man/gsnd.1 [1.15], man/pdf2dsc.1 [1.15], -man/pdf2ps.1 [1.17], man/pdfopt.1 [1.15], man/pf2afm.1 [1.15], -man/pfbtopfa.1 [1.16], man/printafm.1 [1.15], man/ps2ascii.1 [1.15], -man/ps2epsi.1 [1.15], man/ps2pdf.1 [1.19], man/ps2pdfwr.1 [1.18], -man/ps2ps.1 [1.22], man/wftopfa.1 [1.15]: 2002/07/08 20:09:53 raph) - -</pre><h2><a name="7.21-Procedures"></a>Procedures</h2><pre> +</pre><h2><a name="7.22-Procedures"></a>Procedures</h2><pre> Fixes problems: - - gscdef.c must contain a definition for GS_PRODUCT that matches the -definition used by the baseline. run_nightly now sets GS_PRODUCT to "AFPL -Ghostscript" correctly regardless of it's setting in the repository. -(toolbin/tests/run_nightly [1.4]: 2002/04/09 01:25:26 jack) - - gscheck_pdfwrite.py was modeled after run_regression instead of -check_*.py. This corrects the script so that it follows the testing -conventions and also adds gscheck_all.py which will run every gscheck_*.py -test (of which currently there is only one). -(toolbin/tests/gscheck_all.py [1.1], -toolbin/tests/gscheck_pdfwrite.py [1.2], toolbin/tests/gstestgs.py [1.7]: -2002/04/09 21:45:33 jack) - - Fix for #540871. Clean up compiler warnings in zfsample.c. Note: -The addition of two include files in zfsample.c forces a change in -dependencies in int.mak. (int.mak [1.70]: 2002/04/11 02:18:14 dan) - - Indexed color spaces weren't implemented for ShadingType 4-7 -shadings. (lib.mak [1.73]: 2002/04/14 04:30:47 lpd) - - Options specified in gsconf.py were not being used correctly by -all scripts. run_regression and revert_baseline were both broken in this -respect. (toolbin/tests/gstestgs.py [1.8], -toolbin/tests/revert_baseline [1.5], toolbin/tests/run_regression [1.4]: -2002/04/16 21:06:20 jack) - - missing space bofore the gsoptions are passed. -(toolbin/tests/gstestgs.py [1.9]: 2002/04/16 21:22:25 jack) - - make symlinks to equivalent manpages with relative rather than -absolute paths to facilitate moving the directory to another location. -Closes SourceForge Bug #416131. (unixinst.mak [1.25]: 2002/04/18 01:53:36 -giles) - - the uniprint driver wasn't being included due to a typo. -(os2.mak [1.25]: 2002/04/19 00:56:28 giles) - - Adds -p parameter to mkdir to suppress warning messages when the -target already exists and to create parent directories automatically if they -don't exist. Fixes Sourceforge bug #518742. (unix-dll.mak [1.9], -unixinst.mak [1.26]: 2002/04/19 01:08:38 jack) - - Add PostScriptLevel3 as one of the Resources of the /Emulator -category so that it shows up with "gs -h". Fixes SourceForge bug #549235. -(int.mak [1.74]: 2002/04/26 20:51:24 ray) - - Removing the variable $(PSD) from lib.mak to allow graphics -library to build independently on GS. (lib.mak [1.77]: 2002/05/05 13:44:27 -igor) - - The GS lib would not build. This fix corrects two minor problems. -The routine gs_abort was added to gslib.c. The unused include file -gmorecfg.h was removed from vdtrace.c. (lib.mak [1.78]: 2002/05/08 05:41:44 -dan) - - pdfwrite relied on the PostScript interpreter to load and make -available the known encodings and glyph sets identified in src/gsccode.h. -With this change, pdfwrite can now be used without a PostScript interpreter, -and with fonts that do not implement the known_encode callback. -(devs.mak [1.60], lib.mak [1.80]: 2002/05/12 22:38:08 lpd) - - The rule for building icc.o didn't depend on $(ECHOGS_XE), causing -the build to possibly fail (depending on the order in which `make' built -targets) if executed with empty output directories. (icclib.mak [1.7]: -2002/06/05 19:55:04 lpd) - - update_baseline had a typo for the baseline log file. -(toolbin/tests/update_baseline [1.6]: 2002/06/13 20:49:34 jack) - - Limit the number of %disk devices to 7 to prevent problems with -the Dynalab font installer. Also return %disk devices in numeric order from -devforall and suppress %disk devices from filenameforall to match Adobe. -Also correct documentation of devforall (no pattern string used). Thanks to -Nori Matsushima and Erik Strik for testing of this feature (diskn.dev). -(int.mak [1.76]: 2002/06/14 04:04:39 ray) - - .pushpdf14devicefilter was defined in zdfilter.c, but depended on -the optional pdf module's transparency features. Moves the definition of -this routine to the conditionally included ztrans.c. Fix by L. Peter -Deutsch, resolves SourceForge Bug 565019. (int.mak [1.77]: 2002/06/14 -09:42:54 giles) - - The automatically generated files src/gscedata.[ch] didn't have a -RCS Id line. (toolbin/encs2c.ps [1.2]: 2002/06/14 13:31:53 lpd) - - As a result of a recent fix, an opdef table had more than 16 -entries, causing initialization to abort. (int.mak [1.78]: 2002/06/14 -14:17:56 lpd) - - Fixes an oversight that prevented compilation with stdpn.h -included. (jpeg.mak [1.7]: 2002/06/16 09:11:47 lpd) - - Implementing pdfmark stream compression. Source forge bug "[ -558476 ] file attachment annotation uncompressed". (devs.mak [1.63]: -2002/06/16 22:07:55 igor) - - Fixes minor errors in the makefile dependency lists. (The -dependency list for gxclrast.c, in particular, had gotten badly mangled.) -(lib.mak [1.86]: 2002/06/19 15:34:01 lpd) - - Fixes an omission in a dependency list. (int.mak [1.79]: -2002/06/19 15:36:45 lpd) - - Fixes another omission in a dependency list. (int.mak [1.80]: -2002/06/19 15:37:20 lpd) - - pdfinflt.ps should not propagate the /Prev from the input file's -trailer since the output will only have a single xref table. Also add -'whitespace' after a stream before 'endstream' in case the input stream did -not have trailing whitespace (prevents /undefined errors). -(toolbin/pdfinflt.ps [1.4]: 2002/06/19 20:13:05 ray) - - When building an archive of the graphics library or interpreter, -add only the object files, not the .dev and interpreter files. Fixes -SourceForge bug # 538311 - files missing from library archive. -(gs.mak [1.14], ugcclib.mak [1.19], unixlink.mak [1.6]: 2002/06/22 03:33:12 -ghostgum) - - gxfcache.h didn't #include or define all of its prerequisites. -(lib.mak [1.89]: 2002/06/24 05:14:15 lpd) - - MSVC can't handle a makefile that compiles two sets of code with -some of the same exported names, but only linked in one set. The fix still -requires a 1-line edit of devs.mak when using MSVC. (devs.mak [1.67]: -2002/07/07 15:54:23 lpd) - -update version numbers after the 7.20 release. (version.mak [1.46]: -2002/04/04 03:14:03 giles) - -Changes gs_cmap_t (internal representation of CMaps) to an abstract -superclass with multiple implementations: standard Adobe CMapType 1, -TrueType 16-bit cmap (Platform 3, Encoding 1, Format 4), and one-for-one. -Adds the ability to designate a CMap as Unicode-based. Enhances pdfwrite so -that composite fonts (including those based on TrueType Unicode fonts) with -Unicode-based CMaps are embedded in the PDF file with the original text -preserved and with an appropriate ToUnicode CMap, making the text searchable -in Acrobat. (devs.mak [1.57], int.mak [1.69], lib.mak [1.70]: 2002/04/08 -21:02:44 lpd) - -Adds gscheck_pdfwrite.py and a new test class, GSFuzzyCompareTest. This test -does fuzzy compares of ps->raster and ps->pdf->raster to help -ensure the pdfwrite device is functioning properly. -(toolbin/tests/gscheck_pdfwrite.py [1.1], toolbin/tests/gsconf.py [1.5], -toolbin/tests/gstestgs.py [1.6]: 2002/04/09 18:12:24 jack) - -Moves the remaining CID-related test operator (.writefont9) to zcidtest.c. -(int.mak [1.71], lib.mak [1.71]: 2002/04/11 22:07:36 lpd) - -Create a separate WARNOPT parameter for specifying the warning message -level. This allows the message level to be specified from the command line. -(msvccmd.mak [1.10]: 2002/04/11 22:20:14 dan) - -Brings int.mak dependencies up to date. (int.mak [1.72]: 2002/04/12 05:37:43 -lpd) - -Brings dependencies in devs.mak up to date. (devs.mak [1.58]: 2002/04/12 -05:42:06 lpd) - -Brings dependencies in lib.mak up to date. (lib.mak [1.72]: 2002/04/12 -05:55:39 lpd) - -Updates makefile dependencies for the recent change to gdevpdfu.c. -(devs.mak [1.59]: 2002/04/14 06:55:58 lpd) - -Adds a --[no-]pause switch to suite.tcl, for viewing suite output on the -display. Also changes the output file names from -t.<<date>>.<<page#>>.<<format>> to -<<filename>>.<<page#>>.<<format>>. -(toolbin/suite.tcl [1.6]: 2002/04/15 23:59:20 lpd) - -Deletes "Vanilla" functions, which have not been used for a long time. They -were originally created for implementing FunctionType 4 functions using a -callback to the PostScript interpreter, but FunctionType 4 functions have -had their own interpreter since 3/19/2000 (first revision of gsfunc4.c). -(lib.mak [1.74]: 2002/04/19 00:53:19 lpd) + - Renaming few variables in devs.mak for better clarity. +(devs.mak [1.68]: 2002/07/18 18:03:15 igor) + - Changed make_two_versions to use the logging system. +(toolbin/tests/make_two_versions [1.5]: 2002/07/23 16:37:51 jack) + - remove spurious build of the gtk client along with the macos +framework. (macos-fw.mak [1.5]: 2002/08/05 16:21:12 giles) -Add the ijs device to the default unix-gcc build. (unix-gcc.mak [1.33]: -2002/04/19 00:54:31 giles) +Bump version number to 7.22 as final commit in 7.21 process. +(version.mak [1.48]: 2002/07/09 07:42:10 raph) -Adds a make_scaled virtual procedure to Function objects, to create a -modified Function whose N output values are transformed linearly according -to a supplied set of N range parameters. This is the first installment for -implementing conversion of extended-range CIEBased color spaces to ICCBased -spaces in pdfwrite. (lib.mak [1.75]: 2002/04/19 01:17:53 lpd) +Adds a procedure for testing whether a string was returned by +gs_c_glyph_name. Allows the font copying code to share these strings, +substantially reducing the load on the garbage collector. +(toolbin/encs2c.ps [1.3]: 2002/07/09 14:04:19 lpd) -Puts dpsand2.dev first in the dependencies of psl2.dev, so that (eventually) -geninit will have earlier access to the system name table for producing -output with binary token encodings. (int.mak [1.73]: 2002/04/19 19:22:14 -lpd) - -Removes unused gdevht halftoning "device". Part of DeviceN task list. -(lib.mak [1.76]: 2002/04/22 23:01:47 raph) - -Update the url for the zlib website and source. Fixes SF Bug #550585. -(zlib.mak [1.7]: 2002/05/09 16:29:16 giles) - -Update dependencies for included header files. (lib.mak [1.79]: 2002/05/09 -21:55:52 giles) - -Simplifies the C implementation of the known Encodings, and makes it conform -better to Ghostscript standard coding style. (devs.mak [1.61], -lib.mak [1.81], toolbin/encs2c.ps [1.1]: 2002/05/14 23:33:18 lpd) - -Removes an extraneous makefile dependency. (lib.mak [1.82]: 2002/05/15 -19:07:32 lpd) - -Refactors the pdfwrite driver so that none of the structures, and very few -of the procedures, for handling text and fonts are visible to the main body -of code, in preparation for a major rewrite of the text and font code. -(devs.mak [1.62]: 2002/05/20 07:07:15 lpd) +Switching on the new pdfwrite/pdxtext code. (devs.mak [1.69]: 2002/07/26 +07:27:19 igor) -Adds logging support for the Ghostscript class and implements logging for -the nightly regression scripts. (toolbin/tests/gsconf.py [1.6], -toolbin/tests/gstestgs.py [1.10], toolbin/tests/run_nightly [1.5], -toolbin/tests/run_regression [1.5]: 2002/05/30 21:43:10 jack) +First commit in 7.22 release process: date and News updates. +(version.mak [1.49]: 2002/08/06 23:10:40 raph) -gs_cjk project : bugfix for nested FMapType4/5 OCF. Fix by suzuki toshiya. -(ported from gs7.05) (lib.mak [1.83]: 2002/06/02 11:56:23 mpsuzuki) +</pre><h2><a name="7.22-Utilities"></a>Utilities</h2><pre> -Implements raster baseline regression test for the pdfwrite device, and adds -new tools to manage the new pdfwrite baselines. -(toolbin/tests/gscheck_pdfwrite.py [1.3], toolbin/tests/gstestgs.py [1.11], -toolbin/tests/make_testdb [1.5], toolbin/tests/make_two_pdfversions [1.1], -toolbin/tests/revert_pdfbaseline [1.1], toolbin/tests/run_regression [1.6], -toolbin/tests/update_pdfbaseline [1.1]: 2002/06/05 05:23:06 jack) - -Added log file for baseline changes. update_* and revert_* all log baseline -changes with timestamps now. (toolbin/tests/gsconf.py [1.7], -toolbin/tests/revert_baseline [1.6], toolbin/tests/revert_pdfbaseline [1.2], -toolbin/tests/update_baseline [1.5], toolbin/tests/update_pdfbaseline [1.2]: -2002/06/05 20:53:20 jack) - -Add separate paramsets for pdfwrite testing. -(toolbin/tests/gscheck_pdfwrite.py [1.4], -toolbin/tests/gsparamsets.py [1.4], toolbin/tests/make_testdb [1.6]: -2002/06/05 20:58:04 jack) - -Cleans up a number of design problems in the font callback procedures: 1) -Eliminates the gx_xfont_callbacks structure entirely. The known_encode -procedure is no longer needed: the new facilities in gscencs.[hc] make it -unnecessary, and none of the three implementors of the xfont interface use -it. See below regarding glyph_name. This is a NON-BACKWARD- COMPATIBLE -change for all clients of the glyph_name and known_encode procedures (of -which there are, respectively, 11 and 0 in the current code base), and for -all places that define gs_font_procs structures statically or initialize the -callbacks dynamically (of which there are currently only two, one in -gsfont.c and one in zbfont.c). There are also 3 identical places in the -GhostPCL code (in plfont.c, plffont.c, and plufont.c) that will require very -minor changes, with a small net reduction in code. 2) Deletes the -char_xglyph2 procedure from gx_xfont_procs. It is optional, and none of the -three current xfont implementations implements it. 3) Changes the -char_xglyph procedure in gx_xfont_procs so that instead of a glyph_name -callback procedure, it takes a const gs_string * argument that is the actual -glyph name (if the glyph is not gs_no_glyph and is not a CID). This is a -NON-BACKWARD-COMPATIBLE change for both clients and implementors of xfonts. -(At present, there are 3 implementors, none of which use the glyph_name -callback, and a single client call in gxccache.c.) 4) Moves the glyph_name -procedure, which is still required for other purposes, to gs_font_procs, -changing its declaration to int (*glyph_name)(gs_font *font, gs_glyph glyph, -gs_const_string *pstr); This is a NON-BACKWARD-COMPATIBLE change for -clients, but they must already change because of item (1) above. 5) -Eliminates the registered_Encodings array in the PostScript interpreter, -substituting the C representation of the known Encodings. (int.mak [1.75], -lib.mak [1.84]: 2002/06/09 23:08:23 lpd) - -Moves the now-unused Pn macros to a separate file, which now can easily be -commented out and eventually removed. (lib.mak [1.85]: 2002/06/16 08:57:57 +Changes all references to L. Peter Deutsch as the author of Ghostscript to +refer to artofcode LLC and Artifex Software as the maintainers of +Ghostscript. (lib/prfont.ps [1.6], lib/ps2epsi.ps [1.9]: 2002/07/11 02:54:22 lpd) -Adds support for incremental font copying, currently required only by the -new pdfwrite text code. (int.mak [1.81], lib.mak [1.87]: 2002/06/19 15:52:29 -lpd) - -Committing in . Added option to chose between the use of VAX-floats -(default) and IEEE-floats Modified Files: gs/src/openvms.mmk ----------------------------------------------------------------------- -(openvms.mmk [1.17]: 2002/06/20 08:32:15 joukj) - -Committing in . OOps, I committed the wrong file just a minute ago Modified -Files: gs/src/openvms.mmk ----------------------------------------------------------------------- -(openvms.mmk [1.18]: 2002/06/20 08:39:08 joukj) - -Removes some obsolete references to Aladdin Enterprises from comments. -(contrib.mak [1.27], winint.mak [1.15]: 2002/06/21 05:07:06 lpd) - -Adds some omitted definitions in gxfcopy.h. (lib.mak [1.88]: 2002/06/21 -22:36:09 lpd) - -Add a 32 bit/pixel CMYK driver named pam using the Portable Arbitrary Map -file format, one of the netpbm family. This driver has problems with -anti-aliasing that will be fixed in a later patch. (devs.mak [1.64]: -2002/06/22 03:44:40 ghostgum) - -Update for Borland 5.5 Compiler. Files changes include bcwin32.mak, -dwmainc.c, unistd_.h, bcc32.cfg and Make.htm. Patch by Rod Webster (rodw). -SF#559565 (bcc32.cfg [1.2], bcwin32.mak [1.19]: 2002/06/24 06:20:25 jeong) - -Adds a complete rewrite of the font and text code in pdfwrite, based on -copying fonts incrementally to stable memory rather than trying to deal with -fonts being freed at unpredictable times. Should fix a large number of -current SourceForge bugs when completed: however, the code is currently in -pre-alpha state and is not usable on any realistic input. The API is -compatible with the previous pdfwrite text code; the choice of which set to -use is controlled by a single, documented line in src/devs.mak. -(devs.mak [1.65]: 2002/06/25 01:51:32 lpd) - -Adds a couple of missing dependencies in the makefile. (devs.mak [1.66]: -2002/06/26 19:55:56 lpd) - -News.htm update, version number and date fixups. First commit mandated by -Release.htm, in preparation for 7.21 release. (version.mak [1.47]: -2002/07/08 20:09:54 raph) - -</pre><h2><a name="7.21-Utilities"></a>Utilities</h2><pre> +</pre><h2><a name="7.22-Drivers"></a>Drivers</h2><pre> Fixes problems: - - Correctly embed the original EPS file in the output of ps2epsi on -Windows and OS/2. (lib/ps2epsi.bat [1.9], lib/ps2epsi.cmd [1.6]: 2002/04/25 -21:29:08 ghostgum) - - Calculate more accurate BoundingBox and prevent invalidaccess by -using an 8-bit deep preview image. SF bug #525508. (lib/ps2epsi.ps [1.8]: -2002/04/29 17:27:06 ray) - - More compatibility to Adobe interpreters in 'eexec'. This is -NON-BACKWARD-COMPATIBLE change. Now eexec skips all whitespaces at the -beginning of input stream, except for PFBDecode output. Thanks to L. Peter -Deutsch for participation. Source Forge bug "[ 428891 ] Undefined commands -interpreting Postscri". (lib/rollconv.ps [1.4]: 2002/05/01 23:15:23 igor) - - Fixing erroneous comments in font map files. -(lib/FAPIcidfmap [1.5], lib/FAPIfontmap [1.6], lib/cidfmap [1.5]: 2002/06/07 -20:21:16 igor) - - Temporary files weren't being put in the proper location under -MacOS X/Carbon. Updates the the proper prameter block type for the Carbon -interface so this works properly on both OS 9/X. Patch from Erik Strik. -(gp_macio.c [1.7]: 2002/06/13 15:36:50 giles) - -Splits off the md5 test program into a separate file; removes support for -non-ANSI compilers; makes byte order test either static or dynamic. -(md5main.c [1.1]: 2002/04/13 19:20:28 lpd) - -Removes the name SystemNames as a name for the system name table. -(lib/wrfont.ps [1.5]: 2002/04/19 06:52:25 lpd) - -Use sed in preference to tail to avoid conflicts between posix and -traditional implementations. Patch from Paul Eggert. Closes SourceForge bug -#521597. (lib/unix-lpr.sh [1.4]: 2002/04/22 19:53:23 giles) - -Changes to the gtk+ client to request a suitable window size based on the -screen and image sizes, to reduce unnecessary redraws and erase the window -area outside the image. (dxmain.c [1.10]: 2002/04/26 05:01:18 ghostgum) - -gs_exit() cleanup. gs_exit() is renamed gs_to_exit() since it is an about to -terminate cleanup function, it always returns. Both gs_to_exit() and -gs_abort are client provided functions. The client can have its own special -cleanup on exit, and the client can decide what it wants to do in the abort -case: exit, setjump/longjump, ... gp_do_exit() is the way for the client to -call a system independent exit() this allows for different exit codes on -unix and vms for instance. Only the client can call this, if so desired from -their gs_abort(). (bench.c [1.7], gp_dvx.c [1.7], gp_iwatc.c [1.9], -gp_mac.c [1.6], gp_mswin.c [1.10], gp_os2.c [1.14], gp_os9.c [1.7], -gp_unix.c [1.8]: 2002/05/14 14:59:41 stefan) - -gs_cjk project : replace "min" & "max" by ".min" & ".max". by -mpsuzuki (ported from gs7.05) (lib/bdftops.ps [1.6], lib/font2pcl.ps [1.5], -lib/gslp.ps [1.5], lib/packfile.ps [1.5], lib/pdfopt.ps [1.14], -lib/prfont.ps [1.5], lib/ps2ascii.ps [1.7], lib/traceimg.ps [1.5], -lib/viewcmyk.ps [1.5], lib/viewpbm.ps [1.5], lib/viewpcx.ps [1.5]: -2002/06/02 12:03:28 mpsuzuki) + - When compiled for A4 default page size, the initial page size is +now 595x842pts. The initial printer page size in tenths of an inch now uses +floating point. This may cause problems with old compilers that do not allow +floating point calculations in initializers for integers. Add some casts to +suppress warnings with the MS compiler. Fixes SourceForge bug #535997, +"ps2pdf produces incorrect A4 page size". (gdevbmpc.c [1.5]: 2002/07/18 +11:01:44 ghostgum) -Removes all uses of the now-deprecated Pn macros from PostScript operator -files (src/z*.c). (ziodevs.c [1.8]: 2002/06/16 03:43:51 lpd) - -Removes all uses of the now-deprecated Pn macros from the echogs program. -(echogs.c [1.6]: 2002/06/16 03:52:32 lpd) - -Removes all uses of the now-deprecated Pn macros from the stream -implementation code. (scfdgen.c [1.5]: 2002/06/16 03:58:14 lpd) - -Removes all uses of the now-deprecated Pn macros from all remaining .c -files. (genconf.c [1.8], gendev.c [1.5], geninit.c [1.6], gp_dvx.c [1.8], -gp_iwatc.c [1.10], gp_mac.c [1.7], gp_msio.c [1.6], gp_mswin.c [1.11], -gp_os2.c [1.15], gp_os9.c [1.8], gp_unix.c [1.9], gp_vms.c [1.13], -gserver.c [1.7]: 2002/06/16 05:48:55 lpd) - -</pre><h2><a name="7.21-Drivers"></a>Drivers</h2><pre> - -Fixes problems: - - Changes the operation of AutoFilter{Gray,Color}Images to always -use the lossless filter (normally FlateEncode), rather than using DCTEncode -for 8-bit-per-component images at least 64x64 in size. While this isn't -optimal, it fixes a long-standing problem that many users have complained -about. Fixes SourceForge #450663. (gdevpsdi.c [1.19]: 2002/04/08 21:21:21 -lpd) - - output of psmono and psgray drivers was scaled twice: using scale -operator and image matrix. This fix removes scaling component from the image -matrix. Fix by Alex Cherepanov for SF bug #482033. (gdevpsim.c [1.9]: -2002/04/10 02:34:01 ray) - - Initializes the green and blue components of cmap and their -multipliers. A floating point exception was occuring on static gray X -displays when these were left at 0. (gdevxcmp.c [1.7]: 2002/04/19 00:04:52 -jack) - - Laserjet familiy drivers make 2 bytes output when gs is closing. -Now they don't. Fixes SF Bug#427314. (gdevdjet.c [1.9]: 2002/04/19 15:06:54 -jeong) - - Top and bottom margins for BJ10e were incorrect. Now works -corretly as BJ10 manual describes. Fix by Jim Hague (bears). Fixes -SF#477644. (gdevbj10.c [1.7]: 2002/05/08 05:55:26 jeong) - - Adds "wake up" sequence code to be sent before printing for newer -USB Epson Stylus printers. Thanks to Chris Bagwell for the patch. Fixes -SF#448199 (lib/st640ih.upp [1.2], lib/st640ihg.upp [1.2], -lib/st640p.upp [1.2], lib/st640pg.upp [1.2], lib/st640pl.upp [1.2], -lib/st640plg.upp [1.2], lib/stc.upp [1.3], lib/stc1520h.upp [1.3], -lib/stc2.upp [1.3], lib/stc200_h.upp [1.2], lib/stc2_h.upp [1.3], -lib/stc2s_h.upp [1.3], lib/stc300.upp [1.2], lib/stc300bl.upp [1.2], -lib/stc300bm.upp [1.2], lib/stc500p.upp [1.3], lib/stc500ph.upp [1.3], -lib/stc600ih.upp [1.3], lib/stc600p.upp [1.3], lib/stc600pl.upp [1.3], -lib/stc640p.upp [1.2], lib/stc800ih.upp [1.3], lib/stc800p.upp [1.3], -lib/stc800pl.upp [1.3], lib/stc_h.upp [1.3], lib/stc_l.upp [1.3], -lib/stcany.upp [1.3], lib/stcany_h.upp [1.2]: 2002/05/08 06:26:56 jeong) - - Fix to process documents which have multiple pages and require -differing media sizes. Thanks to Doug Durning for the patch. Fixes -SF#551993. (gdevdljm.c [1.7]: 2002/05/08 08:43:35 jeong) - - Fixing uninitialized pointers in psdf_binary_writer on VMerror. -(gdevpsdu.c [1.15]: 2002/05/16 08:50:52 igor) - - Fix : removing unuseful code from the image stream writer in -pdfwrite. (gdevpsdf.h [1.12], gdevpsdu.c [1.16]: 2002/05/21 20:07:11 igor) - - The pswrite now does not open and close the device for a page's -output and does not set 'is_open = false'. SourceForge bug #551623. -(gdevps.c [1.25]: 2002/05/30 03:21:53 jeong) - - Fixes minor compilation errors introduced by the recent image -compression chooser code. (gdevpsds.h [1.8]: 2002/06/14 06:35:08 lpd) - - An incorrect subscript computation, and an incorrect choice of -allocator, in the image compression chooser code caused SEGVs. Fixes 14 of -the 21 ERRORs in the 2002-06-13 pdfwrite regression report. -(gdevpsds.c [1.8]: 2002/06/14 07:48:59 lpd) - - Implementing pdfmark stream compression. Source forge bug "[ -558476 ] file attachment annotation uncompressed". (gdevpsdf.h [1.16], -gdevpsds.c [1.9]: 2002/06/16 22:07:55 igor) - - LockDistillerParams locked device parameters besides Distiller -parameters. Source forge bug "[ 567464 ] LockDistillerParams locks page -size". (gdevpsdp.c [1.12]: 2002/06/18 18:28:33 igor) - - Correct the display device color mapping functions that were -wrong. Change 4-bit mapping functions to standard VGA. Correct 16-bit native -RGB and 32-bit xRGB mapping functions. Add RGB to color mapping functions -for CMYK formats, needed by anti-aliasing. (gdevdsp.c [1.11]: 2002/06/21 -22:30:09 ghostgum) - - The GC descriptors for psdf_binary_writer and pdf_image_writer -weren't updated when the image compression chooser was added, leading to -occasional memory access crashes. (gdevpsdf.h [1.17]: 2002/06/27 04:03:03 -lpd) - -gs_exit() cleanup. gs_exit() is renamed gs_to_exit() since it is an about to -terminate cleanup function, it always returns. Both gs_to_exit() and -gs_abort are client provided functions. The client can have its own special -cleanup on exit, and the client can decide what it wants to do in the abort -case: exit, setjump/longjump, ... gp_do_exit() is the way for the client to -call a system independent exit() this allows for different exit codes on -unix and vms for instance. Only the client can call this, if so desired from -their gs_abort(). (gdevpm.c [1.7]: 2002/05/14 14:59:41 stefan) - -> Fix: The epswrite did not generate correct bounding box when > the -left or top coord of the bbox for original file is greater than 0. > Now -works correctly. SF#547768, #448241. (gdevps.c [1.26]: 2002/05/30 03:23:12 -jeong) - -Implementing dynamic choice of image compression filter. Source forge bug "[ -552949 ] pdfwrite produces bigger pdf than adobe". (gdevpsdf.h [1.13], -gdevpsdi.c [1.20], gdevpsds.c [1.7], gdevpsds.h [1.7]: 2002/06/09 22:13:09 -igor) - -Cleans up a number of design problems in the font callback procedures: 1) -Eliminates the gx_xfont_callbacks structure entirely. The known_encode -procedure is no longer needed: the new facilities in gscencs.[hc] make it -unnecessary, and none of the three implementors of the xfont interface use -it. See below regarding glyph_name. This is a NON-BACKWARD- COMPATIBLE -change for all clients of the glyph_name and known_encode procedures (of -which there are, respectively, 11 and 0 in the current code base), and for -all places that define gs_font_procs structures statically or initialize the -callbacks dynamically (of which there are currently only two, one in -gsfont.c and one in zbfont.c). There are also 3 identical places in the -GhostPCL code (in plfont.c, plffont.c, and plufont.c) that will require very -minor changes, with a small net reduction in code. 2) Deletes the -char_xglyph2 procedure from gx_xfont_procs. It is optional, and none of the -three current xfont implementations implements it. 3) Changes the -char_xglyph procedure in gx_xfont_procs so that instead of a glyph_name -callback procedure, it takes a const gs_string * argument that is the actual -glyph name (if the glyph is not gs_no_glyph and is not a CID). This is a -NON-BACKWARD-COMPATIBLE change for both clients and implementors of xfonts. -(At present, there are 3 implementors, none of which use the glyph_name -callback, and a single client call in gxccache.c.) 4) Moves the glyph_name -procedure, which is still required for other purposes, to gs_font_procs, -changing its declaration to int (*glyph_name)(gs_font *font, gs_glyph glyph, -gs_const_string *pstr); This is a NON-BACKWARD-COMPATIBLE change for -clients, but they must already change because of item (1) above. 5) -Eliminates the registered_Encodings array in the PostScript interpreter, -substituting the C representation of the known Encodings. -(gdevmacxf.c [1.6], gdevmsxf.c [1.5], gdevxxf.c [1.8]: 2002/06/09 23:08:22 -lpd) - -Corrects a spelling error ("samile" => "sample"), and changes the name of -pdf_setup_compression_chooser to psdf_... because the procedure can -eventually be shared between pdfwrite and pswrite. (gdevpsdf.h [1.14], -gdevpsdi.c [1.21]: 2002/06/14 06:03:08 lpd) - -Removes all uses of the now-deprecated Pn macros from all remaining .c -files. (gdev8510.c [1.6], gdevbmpa.c [1.6], gdevcdj.c [1.10], -gdevcgml.c [1.5], gdevdjtc.c [1.6], gdevdm24.c [1.6], gdevepsc.c [1.6], -gdevepsn.c [1.6], gdevherc.c [1.5], gdevhl7x.c [1.9], gdevifno.c [1.5], -gdevmgr.c [1.5], gdevmswn.c [1.7], gdevmsxf.c [1.6], gdevokii.c [1.6], -gdevpbm.c [1.6], gdevpcfb.c [1.5], gdevpcx.c [1.5], gdevpjet.c [1.6], -gdevps.c [1.27], gdevpsim.c [1.10], gdevs3ga.c [1.5], gdevsco.c [1.6], -gdevstc.c [1.5], gdevsvga.c [1.5], gdevtfax.c [1.7], gdevupd.c [1.8], -gdevwddb.c [1.6], gdevwprn.c [1.6], gdevx.c [1.13], gdevxalt.c [1.7], -gdevxini.c [1.13]: 2002/06/16 05:48:54 lpd) - -Removes all uses of the now-deprecated Pn macros from driver-related headers -(gdev*.h). (gdev8bcm.h [1.5], gdevbjcl.h [1.6], gdevbmp.h [1.5], -gdevcgml.h [1.5], gdevdcrd.h [1.5], gdevdljm.h [1.7], gdevfax.h [1.5], -gdevmeds.h [1.5], gdevmswn.h [1.5], gdevpccm.h [1.6], gdevpcfb.h [1.5], -gdevpcl.h [1.8], gdevpsdf.h [1.15], gdevpsds.h [1.9], gdevpsu.h [1.7], -gdevpxut.h [1.5], gdevstc.h [1.5], gdevsvga.h [1.5], gdevtfax.h [1.7], -gdevtifs.h [1.6], gdevx.h [1.7]: 2002/06/16 07:25:26 lpd) - -To improve clarity, use hexadecimal for -dDisplayFormat=16#XXXXXX in the -display device example code. (gdevdsp.c [1.10]: 2002/06/19 11:35:06 -ghostgum) - -Add a 32 bit/pixel CMYK driver named pam using the Portable Arbitrary Map -file format, one of the netpbm family. This driver has problems with -anti-aliasing that will be fixed in a later patch. (gdevpbm.c [1.7]: -2002/06/22 03:44:40 ghostgum) - -</pre><h2><a name="7.21-PDF_writer"></a>PDF writer</h2><pre> +</pre><h2><a name="7.22-PDF_writer"></a>PDF writer</h2><pre> Fixes problems: - - Fix : pdfwrite wrongly computed text width for fonts with unusual -font matrix. Source Forge bug "[ 535401 ] euro glyph misplaced after -pdfwrite". (gdevpdff.c [1.27], gdevpdfs.c [1.14]: 2002/04/11 15:59:19 igor) - - pdfwrite only updated the overprint flag in the graphics state for -fill and stroke, not for images. Fixes SourceForge #525712. -(gdevpdfg.c [1.18]: 2002/04/12 19:28:15 lpd) - - Adding any of the base 14 fonts to the NeverEmbed list produced -broken output in PDF level 1.3 and above. Makes the 'default', 'screen', and -'ebook' parameter sets not embed the base 14 fonts. (The documentation -already said this was the case, even though it wasn't.) This is a partial -fix for SourceForge bug #438957. (gdevpdff.c [1.28]: 2002/04/12 19:38:33 -lpd) - - If a shading's Function entry was an array of functions rather -than a single function, pdfwrite wrote out an invalid Function object with a -FunctionType of -1. (gdevpdfu.c [1.23]: 2002/04/14 06:51:45 lpd) - - pdfwrite would incorrectly output CalGray or CalRGB color spaces -even if the range of the color space was not [0 1] or [0 1 0 1 0 1] -respectively. (gdevpdfc.c [1.24]: 2002/04/14 07:09:51 lpd) - - Fix : pdfwrite wrongly computed line width for fonts with -PaintType 2. (gdevpdfs.c [1.15]: 2002/04/16 10:18:59 igor) - - When pdfwrite wrote out a fill with an uncolored (mask) Pattern, -all colors other than black were converted to white. (Bug found during -unrelated pdfwrite development.) (gdevpdfb.c [1.10]: 2002/04/29 04:32:32 -lpd) - - pdfwrite could not convert a CIEBased color space with input -domains larger than [0..1] to an ICCBased space, because the ICC profile -specification inherently limits inputs to this range. The fix required -explicitly rescaling the decoding of the color data in many different places -when such a color space was involved: the Decode arrays in images; the -tintTransform functions for Separation and DeviceN color spaces; the -Background, Function, and Decode for shadings. While this was only a -performance problem, it could be a very severe one, because it caused images -using such extended-domain CIEBased spaces to revert to zillions of tiny -rectangles. This change completes the ability of pdfwrite to convert -PostScript color spaces, aside from DeviceN and Separation spaces which are -the subject of a separate project. (gdevpdfb.c [1.11], gdevpdfc.c [1.26], -gdevpdfc.h [1.4], gdevpdfg.h [1.12], gdevpdfi.c [1.30], gdevpdfk.c [1.4], -gdevpdfu.c [1.24], gdevpdfv.c [1.13], gdevpdfx.h [1.40]: 2002/05/07 19:56:46 -lpd) - - If a Type 1 font had an initial FontMatrix other than [0.001 0 0 -0.001 0 0] and also had a Metrics entry, pdfwrite would produce incorrect -character spacing. Fixes SourceForge #551077. (Similar to SourceForge -#535401.) (gdevpdfs.c [1.16]: 2002/05/09 06:28:27 lpd) - - pdfwrite relied on the PostScript interpreter to load and make -available the known encodings and glyph sets identified in src/gsccode.h. -With this change, pdfwrite can now be used without a PostScript interpreter, -and with fonts that do not implement the known_encode callback. -(gdevpdfs.c [1.17]: 2002/05/12 22:38:08 lpd) - - Fixes a typo in the comment before pdf_do_subset_font. -(gdevpdfe.c [1.16]: 2002/05/17 16:15:54 lpd) - - Fix : improving image stream writer in pdfwrite. -(gdevpdfi.c [1.31], gdevpdfj.c [1.11]: 2002/05/19 22:37:38 igor) - - completing "remove dependency of pdfwrite on PS" -(gdevpdfs.c [1.18]: 2002/05/20 06:33:36 igor) - - Fix : removing unuseful code from the image stream writer in -pdfwrite. (gdevpdfj.c [1.12]: 2002/05/21 20:07:11 igor) - - Prevent call to pdfmark_make_dest when no /Page or /View is given, -so to avoid creating pdf_page_id()'s for invalid page numbers. Fixes SF -#548285. (gdevpdfm.c [1.19]: 2002/05/22 05:02:54 raph) - - The recent (2002/05/19 22:37:38) change broke in-line images -- -they were now written with no data between the ID and the EI. Reverts the -two affected files (gdevpdf[ij].c) to their previous state. -(gdevpdfi.c [1.32], gdevpdfj.c [1.13]: 2002/05/28 06:13:29 lpd) - - Fix : ignoring small noise while checking for identity color -transfer map. A partial fix for Source forge bug "[ 552949 ] pdfwrite -produces bigger pdf than adobe". (gdevpdfg.c [1.21]: 2002/06/03 16:18:34 + - Fixes the last (?) major batch of problems in the new pdfwrite +text code. We think this code is now good enough for general testing: search +for PDTEXT in src/devs.mak for information on how to enable it. +(gdevpdtc.c [1.6], gdevpdte.c [1.7], gdevpdtf.c [1.9], gdevpdti.c [1.4], +gdevpdts.c [1.9], gdevpdts.h [1.5], gdevpdtt.c [1.6], gdevpdtt.h [1.4], +gdevpdtw.c [1.5]: 2002/07/09 14:29:35 lpd) + - (pdfwrite) Enforce compression choice on end of image; do not +choose with zero output length. (gdevpdfj.c [1.22]: 2002/07/15 19:25:11 igor) - - Fixing a type cast in gdevpdfv.c . (gdevpdfv.c [1.16]: 2002/06/12 -20:04:42 igor) - - Fixes minor compilation errors introduced by the recent image -compression chooser code. (gdevpdfi.c [1.37], gdevpdfj.c [1.17]: 2002/06/14 -06:35:08 lpd) - - An incorrect subscript computation, and an incorrect choice of -allocator, in the image compression chooser code caused SEGVs. Fixes 14 of -the 21 ERRORs in the 2002-06-13 pdfwrite regression report. -(gdevpdfj.c [1.18]: 2002/06/14 07:48:59 lpd) - - pdfwrite produced incorrect output for ShadingType 6 and 7 -shadings if the coordinate and color data came from an array rather than a -stream or string. Partially fixes pdfwrite regressions 446-01.ps and -483-05.ps. (gdevpdfv.c [1.17]: 2002/06/14 15:47:20 lpd) - - If a Shading used a color space other than the 3 basic Device -spaces, its ColorSpace reference could be corrupted, because the ColorSpace -object might be freed before the Shading was written. Finishes fixing -pdfwrite regressions 446-01.ps and 483-05.ps. (gdevpdf.c [1.47], -gdevpdfu.c [1.27], gdevpdfx.h [1.44]: 2002/06/14 15:51:55 lpd) - - pdfwrite accepted imagemasks with invalid parameters, producing -invalid PDF output. Fixes the pdfwrite regression ERROR for 269-01.ps. -(gdevpdfi.c [1.38]: 2002/06/14 16:03:21 lpd) - - In pdfwrite, an error in reading an ICCBased profile stream could -cause an attempt to free an object twice; ICCBased color spaces always -caused an error. Fixes pdfwrite regression ERROR in Fixed_Original.pdf. -(gdevpdfk.c [1.5]: 2002/06/14 16:29:26 lpd) - - pdfwrite ignored the return status from sgets when reading ICC -profiles and shading data. (gdevpdfk.c [1.6], gdevpdfo.c [1.17], -gdevpdfo.h [1.13], gdevpdfv.c [1.18]: 2002/06/15 17:31:19 lpd) - - Implementing pdfmark stream compression. Source forge bug "[ -558476 ] file attachment annotation uncompressed". (gdevpdfm.c [1.25], -gdevpdfo.c [1.18], gdevpdfo.h [1.15]: 2002/06/16 22:07:55 igor) - - psf_write_truetype_font and psf_write_cid2_font copied hmtx and -vmtx rather than getting the actual metrics through the font virtual -procedures, which produced incorrect output if the font was defined -incrementally and used MetricsCount. (This only affected pdfwrite.) -(gdevpdfe.c [1.17]: 2002/06/18 00:31:20 lpd) - - LockDistillerParams locked device parameters besides Distiller -parameters. Source forge bug "[ 567464 ] LockDistillerParams locks page -size". (gdevpdfp.c [1.27]: 2002/06/18 18:28:33 igor) - - Update pdf_image_writer::data in pdf_choose_compression. -(gdevpdfj.c [1.19]: 2002/06/19 15:37:22 igor) - - (pdfwrite) Force completion of incomplete images encoded with DCT. -Source Forge bug "[ 508675 ] ps2pdf generates broken pdf" -(gdevpdfg.h [1.16], gdevpdfi.c [1.39], gdevpdfj.c [1.20]: 2002/06/22 -17:19:48 igor) - - Fixes various bugs in the still pre-alpha new pdfwrite text code. -(gdevpdtf.c [1.2], gdevpdts.c [1.2], gdevpdts.h [1.2]: 2002/06/25 08:18:37 -lpd) - - The new pdfwrite text code didn't keep track of which CIDs were -used for CIDFonts. After this fix, the new code processes the -HeiseiMinStd.pdf file from the regression suite correctly. -(gdevpdtc.c [1.2]: 2002/06/25 17:32:08 lpd) - - Fixes more bugs in the new pdfwrite text code. Type 3 bitmap fonts -now appear to work correctly. (gdevpdtf.c [1.3], gdevpdti.c [1.2], -gdevpdts.c [1.3], gdevpdtw.c [1.2]: 2002/06/25 21:17:42 lpd) - - The new pdfwrite text code sometimes didn't write font changes -correctly. The new code now has processed a substantial file correctly, -although all non-CID-based fonts are converted to bitmaps. -(gdevpdts.c [1.4]: 2002/06/26 00:57:30 lpd) - - The GC descriptors for psdf_binary_writer and pdf_image_writer -weren't updated when the image compression chooser was added, leading to -occasional memory access crashes. (gdevpdfg.h [1.17], gdevpdfj.c [1.21]: -2002/06/27 04:03:03 lpd) - - Fixes more bugs in the new pdfwrite text code. This code can now -process the entire regression suite with no crashes. (The output has many -problems, but pdfwrite itself does not crash.) (gdevpdtc.c [1.4], -gdevpdte.c [1.3], gdevpdtf.c [1.5], gdevpdts.c [1.6], gdevpdtt.h [1.3]: -2002/06/27 04:19:57 lpd) - - Fixes bugs and adds further logic to the new pdfwrite text code. -The code now recognizes and correctly handles the standard 14 fonts (at -least some of the time) as well as all other supported font types. -(gdevpdtb.c [1.3], gdevpdtb.h [1.2], gdevpdtd.c [1.3], gdevpdtd.h [1.2], -gdevpdte.c [1.4], gdevpdtf.c [1.6], gdevpdtf.h [1.2], gdevpdtt.c [1.3]: -2002/06/27 17:53:53 lpd) - - (pdfwrite) Completely replacing the Rotation computation logics. -Source Forge bug "[ 475147 ] GS 7.03 produces everthing upsidedown" -(gdevpdf.c [1.49]: 2002/06/28 10:42:18 igor) - - An extra "&" in the recent page rotation change caused a SEGV. -(gdevpdf.c [1.50]: 2002/06/28 14:36:04 lpd) - - Fixes further bugs in new pdfwrite text code, primarily relating -to character spacing. Many bugs still remain. (gdevpdtb.c [1.4], -gdevpdtc.c [1.5], gdevpdte.c [1.6], gdevpdti.c [1.3], gdevpdts.c [1.8], -gdevpdts.h [1.4], gdevpdtt.c [1.5]: 2002/06/28 22:36:19 lpd) - -Changes gs_cmap_t (internal representation of CMaps) to an abstract -superclass with multiple implementations: standard Adobe CMapType 1, -TrueType 16-bit cmap (Platform 3, Encoding 1, Format 4), and one-for-one. -Adds the ability to designate a CMap as Unicode-based. Enhances pdfwrite so -that composite fonts (including those based on TrueType Unicode fonts) with -Unicode-based CMaps are embedded in the PDF file with the original text -preserved and with an appropriate ToUnicode CMap, making the text searchable -in Acrobat. (gdevpdf.c [1.44], gdevpdff.h [1.17], gdevpdfs.c [1.13], -gdevpdfw.c [1.16], gdevpdfx.h [1.39]: 2002/04/08 21:02:44 lpd) - -Restores some performance lost as a result of the fix for SourceForge -#495414, by skipping a request for glyph widths which is redundant if the -font doesn't have Metrics or CDevProc. Addresses SourceForge #451456 (a -general request for better pdfwrite performance), which will be closed after -this change. (gdevpdff.c [1.26]: 2002/04/09 23:31:44 lpd) - -Changes two calls of cos_dict_find to cos_dict_find_c_key (hygiene only). -(gdevpdfm.c [1.17]: 2002/04/11 04:12:17 lpd) - -Removes all tests for pdfwrite CompatibilityLevel < 1.2, since these are -always false: the lowest supported PDF output level has been 1.2 for quite a -long time. (gdevpdfb.c [1.9], gdevpdfe.c [1.15], gdevpdfg.c [1.19], -gdevpdfi.c [1.29], gdevpdfm.c [1.18], gdevpdfu.c [1.22], gdevpdfw.c [1.17]: -2002/04/12 19:34:15 lpd) - -Changes variables named 'unit' to 'unitary' for better readability. -(gdevpdfc.c [1.25]: 2002/04/15 15:17:06 lpd) - -Changes a temporary buffer, formerly unnecessarily declared static, to being -allocated on the stack. (gdevpdfg.c [1.20]: 2002/04/19 06:53:49 lpd) - -Refactors the pdfwrite driver so that none of the structures, and very few -of the procedures, for handling text and fonts are visible to the main body -of code, in preparation for a major rewrite of the text and font code. -(gdevpdf.c [1.45], gdevpdfb.c [1.12], gdevpdfd.c [1.19], gdevpdff.c [1.29], -gdevpdff.h [1.18], gdevpdfs.c [1.19], gdevpdft.c [1.40], gdevpdft.h [1.1], -gdevpdfu.c [1.25], gdevpdfw.c [1.18], gdevpdfx.h [1.41]: 2002/05/20 07:07:15 -lpd) - -Adds a return code to two internal procedures previously declared as not -returning a value. (gdevpdft.c [1.41], gdevpdfu.c [1.26], gdevpdfx.h [1.42]: -2002/05/26 04:58:28 lpd) - -Adding 2 new functions to public interface of Cos objects. A preparation for -Source forge bug "[ 552949 ] pdfwrite produces bigger pdf than adobe". -(gdevpdfo.c [1.13], gdevpdfo.h [1.10]: 2002/06/03 16:20:10 igor) - -Changing PDF image writer with writing all images through cos_write_stream. -Another preparation for Source forge bug "[ 552949 ] pdfwrite produces -bigger pdf than adobe". (gdevpdfb.c [1.13], gdevpdfi.c [1.33], -gdevpdfj.c [1.14], gdevpdfo.c [1.14], gdevpdfo.h [1.11], gdevpdfv.c [1.14]: -2002/06/06 10:36:12 igor) - -Implementing dynamic choice of image compression filter. Source forge bug "[ -552949 ] pdfwrite produces bigger pdf than adobe". (gdevpdfb.c [1.14], -gdevpdfg.h [1.13], gdevpdfi.c [1.34], gdevpdfj.c [1.15], gdevpdfv.c [1.15]: -2002/06/09 22:13:08 igor) - -Cleans up a number of design problems in the font callback procedures: 1) -Eliminates the gx_xfont_callbacks structure entirely. The known_encode -procedure is no longer needed: the new facilities in gscencs.[hc] make it -unnecessary, and none of the three implementors of the xfont interface use -it. See below regarding glyph_name. This is a NON-BACKWARD- COMPATIBLE -change for all clients of the glyph_name and known_encode procedures (of -which there are, respectively, 11 and 0 in the current code base), and for -all places that define gs_font_procs structures statically or initialize the -callbacks dynamically (of which there are currently only two, one in -gsfont.c and one in zbfont.c). There are also 3 identical places in the -GhostPCL code (in plfont.c, plffont.c, and plufont.c) that will require very -minor changes, with a small net reduction in code. 2) Deletes the -char_xglyph2 procedure from gx_xfont_procs. It is optional, and none of the -three current xfont implementations implements it. 3) Changes the -char_xglyph procedure in gx_xfont_procs so that instead of a glyph_name -callback procedure, it takes a const gs_string * argument that is the actual -glyph name (if the glyph is not gs_no_glyph and is not a CID). This is a -NON-BACKWARD-COMPATIBLE change for both clients and implementors of xfonts. -(At present, there are 3 implementors, none of which use the glyph_name -callback, and a single client call in gxccache.c.) 4) Moves the glyph_name -procedure, which is still required for other purposes, to gs_font_procs, -changing its declaration to int (*glyph_name)(gs_font *font, gs_glyph glyph, -gs_const_string *pstr); This is a NON-BACKWARD-COMPATIBLE change for -clients, but they must already change because of item (1) above. 5) -Eliminates the registered_Encodings array in the PostScript interpreter, -substituting the C representation of the known Encodings. -(gdevpdff.c [1.30], gdevpdfs.c [1.20], gdevpdfw.c [1.19]: 2002/06/09 -23:08:22 lpd) - -Corrects a typo in the RCS Id line. (gdevpdft.h [1.2]: 2002/06/12 18:09:18 -lpd) - -Adds stubs for the new PDF 1.4 pdfmark types, and clearly marks all -unimplemented pdfmark types as such. (gdevpdfm.c [1.20]: 2002/06/12 23:26:54 -lpd) - -Implements the /APPEND pdfmark. (gdevpdfm.c [1.21]: 2002/06/12 23:42:30 lpd) - -Workaround for unimplemented NI, to avoid later typechecks on .PUTDICT. This -patch adds the dictionary cos object, but does not push it in a namespace to -be popped on occurrence of an image, as defined in section 6.2 of the -pdfmark reference (TN 5150). Allows test file of SourceForge bug #567653 to -run to completion. (gdevpdfm.c [1.22]: 2002/06/13 00:17:53 raph) - -Adds two new procedures to pdfwrite's Cos object package, to support -namespaces and /NI pdfmark. (gdevpdfo.c [1.15], gdevpdfo.h [1.12]: -2002/06/13 20:40:30 lpd) - -Implements namespaces (/NamespacePush, /NamespacePop pdfmarks) and the /NI -pdfmark for named images. Fixes SourceForge #567653, replacing the -workaround in revision 1.22 of src/gdevpdfm.c. (gdevpdf.c [1.46], -gdevpdfg.h [1.14], gdevpdfi.c [1.35], gdevpdfj.c [1.16], gdevpdfm.c [1.23], -gdevpdfr.c [1.8], gdevpdfx.h [1.43]: 2002/06/14 05:53:38 lpd) - -Corrects a spelling error ("samile" => "sample"), and changes the name of -pdf_setup_compression_chooser to psdf_... because the procedure can -eventually be shared between pdfwrite and pswrite. (gdevpdfi.c [1.36]: -2002/06/14 06:03:08 lpd) - -Improves the comment for cos_dict_unadd. (gdevpdfo.c [1.16]: 2002/06/15 -16:58:51 lpd) - -Improves a few comments, and changes pdf_write_font_resources to -pdf_close_text_document for greater clarity. (gdevpdf.c [1.48], -gdevpdfb.c [1.15], gdevpdff.h [1.19], gdevpdfm.c [1.24], gdevpdfs.c [1.21], -gdevpdfu.c [1.28], gdevpdfw.c [1.20], gdevpdfx.h [1.45]: 2002/06/15 21:11:53 -lpd) - -Removes all uses of the now-deprecated Pn macros from all remaining .c -files. (gdevpdfb.c [1.16], gdevpdfg.c [1.22], gdevpdfp.c [1.26], -gdevpdfs.c [1.22], gdevpdft.c [1.42], gdevpdfu.c [1.29]: 2002/06/16 05:48:55 -lpd) - -Removes all uses of the now-deprecated Pn macros from driver-related headers -(gdev*.h). (gdevpdff.h [1.20], gdevpdfg.h [1.15], gdevpdfo.h [1.14], -gdevpdfx.h [1.46]: 2002/06/16 07:25:26 lpd) - -Makes pdf_write_font_bbox public, for use by the new pdfwrite text code. -(gdevpdfu.c [1.30], gdevpdfw.c [1.21], gdevpdfx.h [1.47]: 2002/06/21 -22:41:16 lpd) - -Corrects an error in the computation of the (unused) value -st_device_pdf_max_ptrs. (gdevpdfx.h [1.48]: 2002/06/24 00:49:35 lpd) - -Changes the internal name st_pdf_font to st_pdf_font_resource for -compatibility with the new text code. (gdevpdff.h [1.21], gdevpdfu.c [1.31], -gdevpdfx.h [1.49]: 2002/06/24 05:35:59 lpd) - -Adds a complete rewrite of the font and text code in pdfwrite, based on -copying fonts incrementally to stable memory rather than trying to deal with -fonts being freed at unpredictable times. Should fix a large number of -current SourceForge bugs when completed: however, the code is currently in -pre-alpha state and is not usable on any realistic input. The API is -compatible with the previous pdfwrite text code; the choice of which set to -use is controlled by a single, documented line in src/devs.mak. -(gdevpdt.c [1.1], gdevpdt.h [1.1], gdevpdtb.c [1.1], gdevpdtb.h [1.1], -gdevpdtc.c [1.1], gdevpdtd.c [1.1], gdevpdtd.h [1.1], gdevpdte.c [1.1], -gdevpdtf.c [1.1], gdevpdtf.h [1.1], gdevpdti.c [1.1], gdevpdti.h [1.1], -gdevpdts.c [1.1], gdevpdts.h [1.1], gdevpdtt.c [1.1], gdevpdtt.h [1.1], -gdevpdtw.c [1.1], gdevpdtw.h [1.1], gdevpdtx.h [1.1]: 2002/06/25 01:51:32 -lpd) - -In the new pdfwrite text code, fixes bugs and adds new logic for handling -encoded (Type 1/2 and TrueType) fonts. The code now handles simple fonts of -these types. (gdevpdtb.c [1.2], gdevpdtc.c [1.3], gdevpdtd.c [1.2], -gdevpdte.c [1.2], gdevpdtf.c [1.4], gdevpdts.c [1.5], gdevpdts.h [1.3], -gdevpdtt.c [1.2], gdevpdtt.h [1.2], gdevpdtw.c [1.3]: 2002/06/26 19:03:00 -lpd) - -Further improves the new pdfwrite text code. The new code now demonstrably -fixes several of the outstanding SourceForge bugs. (gdevpdte.c [1.5], -gdevpdtf.c [1.7], gdevpdtf.h [1.3], gdevpdts.c [1.7], gdevpdtt.c [1.4], -gdevpdtw.c [1.4]: 2002/06/28 01:48:41 lpd) - -Committing in . Corrected type cast Modified Files: gs/src/gdevpdtf.c ----------------------------------------------------------------------- -(gdevpdtf.c [1.8]: 2002/07/03 13:58:14 joukj) - -</pre><h2><a name="7.21-PDF_Interpreter"></a>PDF Interpreter</h2><pre> - -Fixes problems: - - Remove "/tfopdict undef". tfopdict was defined in v.6.01 but the -definition was since removed. Fix for bug #511232 by Alex Cherepanov. -(lib/pdf_draw.ps [1.44]: 2002/04/10 02:23:08 ray) - - Handle Widths and Encoding arrays in PDF Font objects that are too -small by using reasonable defaults. Adobe Acrobat Reader handles files with -these problems. Fix for Artifex customer 861 for SourceForge bug#538398. -(lib/pdf_font.ps [1.32]: 2002/04/10 15:16:00 ray) - - Annotations with empty AP dictionary caused a failure. Providing -more tolerance rather such APs are invalid. Source Forge bug "[ 538428 ] -empty appearance streams". (lib/pdf_draw.ps [1.45]: 2002/04/29 09:59:27 + - (pdfwrite) Fixing the image dimensions for the alternative +compression stream. Source Forge bug "[ 574865 ] ioerror only with +PDFSETTINGS=/screen" (gdevpdfi.c [1.40]: 2002/07/15 19:34:17 igor) + - Always write FontBBox into CFF, even though the spec says it's +optional, to work around a problem when printing the resulting file with +Adobe Acrobat Reader 4 to HP PostScript printers. Source Forge bug "[ 578899 +] Missing /FontBBox when converting to ps?" (gdevpdfe.c [1.18], +gdevpdtb.c [1.5], gdevpdtb.h [1.3], gdevpdtd.c [1.4]: 2002/07/19 13:35:59 igor) - - More tolerance to inconsistent stream length in PDF reader. Source -Forge bug "[ 538042 ] /syntaxerror in --token--". (lib/pdf_base.ps [1.21]: -2002/04/30 10:46:20 igor) - - More compatibility to Adobe interpreters in 'eexec'. This is -NON-BACKWARD-COMPATIBLE change. Now eexec skips all whitespaces at the -beginning of input stream, except for PFBDecode output. Thanks to L. Peter -Deutsch for participation. Source Forge bug "[ 428891 ] Undefined commands -interpreting Postscri". (lib/pdf_font.ps [1.33]: 2002/05/01 23:15:23 igor) - - Make PDF reader tolerant to singular matrix in Tj. Source Forge -bug "[ 538055 ] /undefinedresult in --currentpoint--". (The solution was -suggested by L. Peter Deutsch.) (lib/pdf_ops.ps [1.24]: 2002/05/08 15:51:58 + - (pdfwrite) Quiet Cygwin/gcc warnings. (gdevpdfe.c [1.19], +gdevpdfs.c [1.23], gdevpdtc.c [1.7]: 2002/07/19 14:51:27 igor) + - Fixing an unbalanced '>>' in pdf_write_CIDSet(). +(gdevpdtb.c [1.6]: 2002/07/20 08:21:37 igor) + - (pdfwrite) Standard font names were erroneously suffixed. Source +Forge bug "[ 557024 ] (pdfwrite) Font display incorrect" This changes old +pdfwrite only. The new one was patched separately. (gdevpdff.c [1.31]: +2002/07/31 09:23:32 igor) + +pdfwrite: implementing WMode 1 for simple fonts. (gdevpdte.c [1.8], +gdevpdtf.c [1.10], gdevpdtf.h [1.4], gdevpdtt.c [1.7], gdevpdtt.h [1.5]: +2002/07/24 07:45:28 igor) + +pdfwrite/pdxtext: fixing the decision about font embedding for the case when +a source document uses both standard and non-standard fonts with same name. +(gdevpdtf.c [1.11]: 2002/07/24 13:40:04 igor) + +pdfwrite/pdxtext: Generate uniquie font names for embedded fonts for +compatibility with Acrobat Reader 3. (gdevpdtb.c [1.7]: 2002/07/24 16:18:48 igor) - - Acrobat Reader apparently ignores or clamps 'setflat' parameter -values when rendering PDF. This change emulates that behaviour by clamping -the flatness parameter to a max of 1. Fixes SourceForge bug #555657 for -Artifex customer #150. (lib/pdf_draw.ps [1.46]: 2002/05/22 17:29:37 ray) - - GS doesn't process PDF files without the required key /FontName in -FontDescriptor dict. Adobe Acrobat Reader handles these out of spec files, -so we also allow this. To fix this, now uses /BaseFont key when /FontName is -missing. SF#515475. (lib/pdf_font.ps [1.34]: 2002/05/30 03:32:03 jeong) - - Acrobat Reader apparently processes badly formed numbers that have -a '-' after the '.' by ignoring the fraction. If this type of tokenerror is -detected, issue an error message and change the scanning rules to do the -same as Adobe. SourceForge bug #558473 for Artifex customer #561. -(lib/pdf_base.ps [1.22]: 2002/05/31 17:14:34 ray) - - Yet another change to allow our PDF intperpreter to tolerate an -out of spec PDF file that Acrobat Reader (and Glance pdf tools) handle. This -file had an 'endobj' without an 'endstream' terminating a stream. Fixes SF -bug #570262 for Artifex customer #1060. (lib/pdf_base.ps [1.23]: 2002/06/18 -05:37:05 ray) - - Correct the pdfformaterror message issued when an 'endobj' is seen -instead of 'endstream' and add a comment in the file about the error. Thanks -to Dan Coby for the suggestions improving the previous patch. -(lib/pdf_base.ps [1.24]: 2002/06/18 06:29:21 ray) - - Use actual white point in /Lab spaces, rather than relying on -default. Fixes problem in regression file test.pdf. (lib/pdf_draw.ps [1.47]: -2002/06/20 20:26:48 raph) - - Prevents /typecheck in --length-- if given a file with an Encoding -dictionary with a Differences list has no BaseEncoding. This is perfectly -legal -- the base encoding is the font's built-in encoding or -StandardEncoding, per the PDF Reference (depending on whether or not the -font is flagged as "symbolic"). Fixes SF bug #566042. -(lib/pdf_font.ps [1.37]: 2002/06/21 06:49:50 ray) - - Previous fix for SF bug #566042 caused a regression by defining an -Encoding array filled with .notdef too aggresively. Only create this array -when we need to update it with /Differences. Some regression files were -onechar.pdf, xngnews.pdf. The testfont.pdf file of 566042 still runs OK. -(lib/pdf_font.ps [1.38]: 2002/06/21 07:46:37 ray) - - Fixes regressions caused by previous update including errors with -ImageProb2*.pdf and aaon97_p7.pdf. Removes logic that set StandardEncoding -if BaseEncoding wasn't set since this caused aaon97_p7 regression. Only use -.notdefEncoding if updateencoding sees a null encoding input. This is the -"real" fix for SF bug #566042. (lib/pdf_font.ps [1.39]: 2002/06/21 18:38:21 -ray) - - Wrong Widths array entry could sometimes be used when the Encoding -(after Differences applied) mapped codes to the same glyph. Logic introduced -in rev 1.22 only prevented some of the incorrect Width. Fixes SF bug# 570784 -for Artifex customer #150. (lib/pdf_font.ps [1.40]: 2002/06/22 05:48:47 ray) - - If the Differences list in the Encoding of an embedded font in a -PDF was not in increasing order, the encoding array length needed for the -differences could be miscalculated. Thanks to Dave Slattengren for spotting -this. No files had been seen (yet) that tripped on this. -(lib/pdf_font.ps [1.41]: 2002/06/25 18:58:55 ray) - - Generates pdfformaterror rather than PostScript error for broken -PDF files containing unmatched >>. Workaround for SF bug #553812 for -Artifex customer #580. (lib/pdf_base.ps [1.25]: 2002/06/26 18:35:51 ray) - - Generates pdfformaterror rather than PostScript error for broken -PDF files containing unmatched >> in trailer. Workaround for SF bug -#571851. (lib/pdf_main.ps [1.50]: 2002/06/26 18:37:16 raph) - - Add the option -dUseCropBox to set the page size from the CropBox -rather than the MediaBox. This is appropriate when using ghostscript to view -PDF files or convert to bitmaps. It probably isn't appropriate for printing. -Fixes SourceForge bugs #522486, "Wromg size EPS generated from PDF" and -#538267 "Problems with Media Box in PDF and PS interpreter". -(lib/pdf_main.ps [1.51]: 2002/06/28 10:55:43 ghostgum) - - When drawing PDF annotation links which are missing a /Border, -assume the default /Border [0 0 1]. Previously ghostscript assumed that -links without a /Border should not be drawn, which is contrary to the PDF -specification. (lib/pdf_draw.ps [1.48]: 2002/06/28 23:10:10 ghostgum) - - If a PDF annotation specified other than the default color with -/C, pass this into the pdfmark logic as /Color. (lib/pdf_main.ps [1.52]: -2002/06/28 23:10:45 ghostgum) - - (PDF interpreter) wrong stack balance in 'resolvedest'. Source -Forge bug "[ 571912 ] pdfwrite: /rangecheck in --pdfmark--" -(lib/pdf_main.ps [1.53]: 2002/07/01 10:49:38 igor) - - Set pdfemptycount in .pdfpaintproc so that .pdfcount gives correct -answers when invoked from inside patterns. Fixes SF bug #576572. -(lib/pdf_base.ps [1.26], lib/pdf_draw.ps [1.49]: 2002/07/03 22:10:31 raph) - -gs_cjk project : CIDWProc sample implementation Fix by mpsuzuki. (ported -from gs7.05) (lib/pdf_font.ps [1.35]: 2002/06/02 12:02:11 mpsuzuki) - -gs_cjk project : replace "min" & "max" by ".min" & ".max". by -mpsuzuki (ported from gs7.05) (lib/pdf_font.ps [1.36], -lib/pdf_main.ps [1.49], lib/pdf_sec.ps [1.10]: 2002/06/02 12:03:28 mpsuzuki) - -</pre><h2><a name="7.21-Interpreter"></a>Interpreter</h2><pre> - -Fixes problems: - - Skip the (potentially time consuming) work of setting the color -space if it is the same as the currentcolorspace. Fixes SF #539327 for -Artifex customer #830. (lib/gs_lev2.ps [1.15]: 2002/04/06 01:18:56 ray) - - Check the return code from gs_upathbbox() and zero the bbox if -there is no current point. Propagate other errors up. Adobe implementations -throw nocurrentpoint error, but this is not valid per the PLRM. Fix for -#520972 by Alex Cherepanov. (zupath.c [1.5]: 2002/04/09 22:54:00 ray) - - Delete code that caused unshifted arrow keys to enter garbage -chars into the command line buffer. Now arrow keys scroll the image window -regardless of the shift state. Fix by Alex Cherepanov. (dwtext.c [1.8]: -2002/04/09 23:26:29 ray) - - Fix for #540871. Clean up compiler warnings in zfsample.c. Note: -The addition of two include files in zfsample.c forces a change in -dependencies in int.mak. (zfsample.c [1.6]: 2002/04/11 02:18:14 dan) - - Adding any of the base 14 fonts to the NeverEmbed list produced -broken output in PDF level 1.3 and above. Makes the 'default', 'screen', and -'ebook' parameter sets not embed the base 14 fonts. (The documentation -already said this was the case, even though it wasn't.) This is a partial -fix for SourceForge bug #438957. (lib/gs_pdfwr.ps [1.16]: 2002/04/12 -19:38:33 lpd) - - The Matrix entry of ShadingType 1 shading dictionaries was -required; it is now (correctly) optional. (zshade.c [1.9]: 2002/04/14 -02:48:26 lpd) - - ShadingType 1 shadings whose Function was an array required the -individual functions to take 1 argument, rather than the correct 2; shadings -whose Function was not an array didn't check that the function took the -correct number of arguments. (The Genoa FTS does not check either of these.) -(zshade.c [1.10]: 2002/04/14 03:10:01 lpd) - - Fix : Replacing the even-odd filing rule with the non-zero filling -rule for fonts. Source Forge bug "[ 539359 ] problem rendering euro -character". (zchar1.c [1.14]: 2002/04/16 11:03:29 igor) - - Bump the DEFAULT_VM_THRESHOLD value up to prevent excessive GC. -This is a tuned parameter that may need to be adjusted in the future if --dNOGC runs significantly faster than the normal case. The previous values -were established a long time ago when memory was a more expensive resource. -Fixes SourceForge bug #421057. (zvmem2.c [1.6]: 2002/04/16 21:41:28 ray) - - Fix : Type2 interpreter state was wrongly backed up for sbw -fallback. Source Forge bug "[ 541877 ] /invalidfont on Kozuka Mincho". -(zchar1.c [1.15]: 2002/04/18 14:26:27 igor) - - ShadingType 4-7 shadings with a Function and with data coming from -a stream rather than an array incorrectly expected N value ranges in their -Decode array, where N is the number of components in the color space, rather -than a single range for the function argument. Finishes fixing SourceForge -#546415. (zshade.c [1.11]: 2002/04/20 05:51:52 lpd) - - Taking off a debbugging code. (zchar1.c [1.16]: 2002/04/21 -17:45:41 igor) - - Previous change to optimize setcolorspace (for SF bug #539327) -caused a regression since the CIE space cache management was confused when -CIEBased (including ICCBased) colorspace was the base space for some other -space such as Pattern, Indexed, DeviceN, Separation. The discussion of the -fix of the cache handling will be in doc/Projects.htm. The .dosetcolorspace -is now used internally when setting up the base space for the "outer" -colorspaces. Fixes regression caused by rev 1.15 of gs_lev2.ps and partial -fix for SF bug #547695. Analysis of problem by L. Peter Deutsch (lpd). -(lib/gs_icc.ps [1.5], lib/gs_lev2.ps [1.17], lib/gs_ll3.ps [1.13]: -2002/04/29 16:59:01 ray) - - ReusableStreams couldn't handle %diskn devices (or even %os% files -for that matter). Add filename parsing for iodev to make_rfs. Problem showed -as invalidaccess when opening CIDFonts that resided on %disk devices. Fix -for Artifex customer #411. (zfrsd.c [1.8]: 2002/04/29 22:33:50 ray) - - More compatibility to Adobe interpreters in 'eexec'. This is -NON-BACKWARD-COMPATIBLE change. Now eexec skips all whitespaces at the -beginning of input stream, except for PFBDecode output. Thanks to L. Peter -Deutsch for participation. Source Forge bug "[ 428891 ] Undefined commands -interpreting Postscri". (lib/gs_init.ps [1.55], zmisc1.c [1.6]: 2002/05/01 -23:15:23 igor) - - When CIEBasedDEF or DEFG color space is set, DecodeABC was not set -properly and remained as abc_identity. This caused wrong color generation in -CIEBasedDEFG space. Analysis and fix by L. Peter Deutsch (lpd). Fixes -SF#542786. (zcie.c [1.9]: 2002/05/02 17:47:02 jeong) - - Allow readonly FontMatrix in font type 9. Thanks for Ray Johnston -for participation. Source Forge bug "[ 551958 ] Problems with CIDFont: -RcPNOWkana-GB". (lib/gs_cidfn.ps [1.24]: 2002/05/06 11:49:30 igor) - - A rounding problem made installation of CIEBased color spaces -non-idempotent, which could cause seriously incorrect rendering of CIEBased -colors in the sequence [/CIEBased...] setcolorspace, gsave, [/Pattern -[/CIEBased...]] setcolorspace, grestore. Fixes SourceForge bug #547695, q.v. -(opextern.h [1.5], zcie.c [1.10], zcolor.c [1.7], zcontrol.c [1.7]: -2002/05/07 19:51:53 lpd) - - Correct the VMS exit codes for exit_OK and exit_FAILED which -depend on the compiler (Forrest Cahoon). Return the correct exit code from -main for VMS. (gs.c [1.10]: 2002/05/15 12:11:44 ghostgum) - - The previous fix for numerical inaccuracies in CIE cache sampling -could lead to extremely long computation times. (zcontrol.c [1.8]: -2002/05/19 15:50:00 lpd) - - Handle packedarray type of array for /PageSize in dictionary to -setpagedevice. Fixes SF bug #483629 for a nobody. (zmedia2.c [1.7]: -2002/05/24 17:55:06 ray) - - Acrobat Reader apparently processes badly formed numbers that have -a '-' after the '.' by ignoring the fraction. If this type of tokenerror is -detected, issue an error message and change the scanning rules to do the -same as Adobe. SourceForge bug #558473 for Artifex customer #561. -(iscan.c [1.8], iscan.h [1.7], iscannum.c [1.6], iscannum.h [1.5], -ztoken.c [1.9]: 2002/05/31 17:21:36 ray) - - Fixes uninitialized memory read of stack-allocated stream in -t_string case of interp(), and in zfilelineedit(). (interp.c [1.11], -ziodev.c [1.10]: 2002/06/05 05:05:08 raph) - - enumerate_glyph would crash if applied to a subfont of a -CIDFontType 0 font. (Probably only affects font copying, to be used in the -future by pdfwrite.) (zcharout.c [1.9]: 2002/06/08 01:22:26 lpd) - - Limit the number of %disk devices to 7 to prevent problems with -the Dynalab font installer. Also return %disk devices in numeric order from -devforall and suppress %disk devices from filenameforall to match Adobe. -Also correct documentation of devforall (no pattern string used). Thanks to -Nori Matsushima and Erik Strik for testing of this feature (diskn.dev). -(lib/gs_diskn.ps [1.2], lib/gs_lev2.ps [1.18]: 2002/06/14 04:04:39 ray) - - .pushpdf14devicefilter was defined in zdfilter.c, but depended on -the optional pdf module's transparency features. Moves the definition of -this routine to the conditionally included ztrans.c. Fix by L. Peter -Deutsch, resolves SourceForge Bug 565019. (zdfilter.c [1.5], -ztrans.c [1.16]: 2002/06/14 09:42:54 giles) - - Initialization did not abort if an opdef table had more than 16 -entries (see opdef.h for more information about this restriction). -(iinit.c [1.7]: 2002/06/14 14:17:25 lpd) - - As a result of a recent fix, an opdef table had more than 16 -entries, causing initialization to abort. (ztrans.c [1.17]: 2002/06/14 -14:17:56 lpd) - - Because of a bug introduced by the removal of known_encode, -accented Type 1/2 font characters defined using the 'seac' operator could -cause an error in pdfwrite. Fixes the recent pdfwrite regression ERROR in -Svd.pdf. (zchar1.c [1.18]: 2002/06/15 04:19:44 lpd) - - Correct the display device color mapping functions that were -wrong. Change 4-bit mapping functions to standard VGA. Correct 16-bit native -RGB and 32-bit xRGB mapping functions. Add RGB to color mapping functions -for CMYK formats, needed by anti-aliasing. (dpmain.c [1.8], dwimg.c [1.7]: -2002/06/21 22:30:09 ghostgum) - - Propagate possible errors from pdf_end_image_binary. -(zimage.c [1.9]: 2002/06/22 11:16:12 igor) - - Make sure that the .pdfmapchars which generates the CharStrings -dictionary includes all of the glyphs mentioned by name in the encoding -array (after the Encoding::Differences are applied). This fixes the ".notdef -substituted for ccaron" problem that occurs after pdf_font.ps rev 1.40 fix -prevents the "typecheck in length" mentioned in SF bug #567580 for Artifex -customer #1110. (lib/gs_ttf.ps [1.15]: 2002/06/25 06:40:10 ray) - - Fixes two uninitialized memory reads, by zeroing the gs_allocated -field of newly allocated allocators, and the userdict_index field of dict -stacks in newly allocated contexts. (icontext.c [1.11]: 2002/06/26 20:01:53 -raph) - - Fixes uninitialized memory read of stack-allocated stream in -scan_string_token_options() (the implementation of ztoken). (iscan.c [1.10]: -2002/06/26 20:04:12 raph) - - The filenameforall enumeration for the %os% device. Also unroll -the 'forall' loop when multiple devices are searched so that each invocation -of filenameforall has the same operand stack. (lib/gs_diskn.ps [1.3]: -2002/06/26 23:51:20 ray) - - Define /buildtime in systemdict because Adobe does so and some -protected fonts use it as ID. Fix provided by Alex Cherepanov. SourceForge -bug #458500. (lib/gs_lev2.ps [1.19]: 2002/06/27 16:35:31 ray) - - The return status values from 'sgets' were not handled properly. -Now the functions that use 'sgets', check the return status and convert them -into proper gs_errors. SF#569111 (iscanbin.c [1.11]: 2002/07/01 14:27:43 -jeong) - - If the 'resourceforall' operator's procedure operand gets an error -or performs a 'stop', Adobe interpreters return an operand stack with the -four operands to resourceforall removed from the stack. The comments -suggested this was the intent, but the logic did not work this way and -instead left all four operands on the stack. Fixes CSL startup problem for -Artifex customer #150. (lib/gs_res.ps [1.23]: 2002/07/02 18:28:31 ray) - -update version numbers after the 7.20 release. (lib/gs_init.ps [1.54]: -2002/04/04 03:14:03 giles) - -Moves implementation of TransformPQR procedures in default CRD to zcrd.c for -speed. Fixes SF bug #539327. (lib/gs_lev2.ps [1.16], zcrd.c [1.6]: -2002/04/07 01:10:53 raph) - -Changes gs_cmap_t (internal representation of CMaps) to an abstract -superclass with multiple implementations: standard Adobe CMapType 1, -TrueType 16-bit cmap (Platform 3, Encoding 1, Format 4), and one-for-one. -Adds the ability to designate a CMap as Unicode-based. Enhances pdfwrite so -that composite fonts (including those based on TrueType Unicode fonts) with -Unicode-based CMaps are embedded in the PDF file with the original text -preserved and with an appropriate ToUnicode CMap, making the text searchable -in Acrobat. (zcidtest.c [1.1], zfcid1.c [1.11], zfcmap.c [1.12]: 2002/04/08 -21:02:44 lpd) - -Restores some performance lost as a result of the fix for SourceForge -#495414, by skipping a request for glyph widths which is redundant if the -font doesn't have Metrics or CDevProc. Addresses SourceForge #451456 (a -general request for better pdfwrite performance), which will be closed after -this change. (zchar1.c [1.12]: 2002/04/09 23:31:44 lpd) - -FAPI project : fixing a misprint in comment. (fapiufst.c [1.17]: 2002/04/11 -16:55:35 igor) - -Moves the choice of even-odd vs. winding-number rule for filling Type 1 -characters to the beginning of its source file, for greater visibility. -(zchar1.c [1.13]: 2002/04/11 21:44:51 lpd) - -Moves the remaining CID-related test operator (.writefont9) to zcidtest.c. -(zcidtest.c [1.2], zfcid0.c [1.13]: 2002/04/11 22:07:36 lpd) - -Adds an unnecessary pair of { } to prevent gcc from complaining about an -ambiguous 'else'. (ilocate.c [1.7]: 2002/04/18 05:55:04 lpd) - -Adds a make_scaled virtual procedure to Function objects, to create a -modified Function whose N output values are transformed linearly according -to a supplied set of N range parameters. This is the first installment for -implementing conversion of extended-range CIEBased color spaces to ICCBased -spaces in pdfwrite. (ifunc.h [1.8], zfunc.c [1.12]: 2002/04/19 01:17:53 lpd) - -Removes the name SystemNames as a name for the system name table. -(lib/gs_btokn.ps [1.9]: 2002/04/19 06:52:25 lpd) - -FAPI project : nominalWidthX was wrongly processed for Type 2 fonts. Source -Forge bug "[ 545177 ] (FAPI) wrong glyph placement". (zfapi.c [1.21]: -2002/04/23 17:33:32 igor) - -gs_exit() cleanup. gs_exit() is renamed gs_to_exit() since it is an about to -terminate cleanup function, it always returns. Both gs_to_exit() and -gs_abort are client provided functions. The client can have its own special -cleanup on exit, and the client can decide what it wants to do in the abort -case: exit, setjump/longjump, ... gp_do_exit() is the way for the client to -call a system independent exit() this allows for different exit codes on -unix and vms for instance. Only the client can call this, if so desired from -their gs_abort(). (gs.c [1.9], iapi.c [1.7], imain.c [1.24], imain.h [1.6]: -2002/05/14 14:59:41 stefan) - -Makes the GC descriptor public for allocating the FDArray of CIDFontType 0 -fonts. (zfcid0.c [1.14]: 2002/05/30 13:43:12 lpd) - -gs_cjk project : MDRC bug fix pt.1: use signalerror instead stop Fix by -mpsuzuki. (ported from gs7.05) (lib/gs_cmap.ps [1.15]: 2002/06/02 11:53:13 -mpsuzuki) -gs_cjk project : MDRC bug fix pt.2: shrink map infos by endcidchar too, to -provide parsing of Adobe-CNS1-4 UCS4 CMap. Fix by mpsuzuki. (ported from -gs7.05) (lib/gs_cmap.ps [1.16]: 2002/06/02 11:53:58 mpsuzuki) +pdfwrite/pdxtext: Fixing a possibly uninitialized variable. +(gdevpdtf.c [1.12]: 2002/07/24 16:27:41 igor) -gs_cjk project : return error when we cannot load even CID=0. Fix by -mpsuzuki. (ported from gs7.05) (zfcid0.c [1.15]: 2002/06/02 11:55:28 -mpsuzuki) +pdfwrite/pdxtext: Fixing WMode 1 for simple fonts that have no Metrics2. +(gdevpdte.c [1.9]: 2002/07/24 18:58:28 igor) -gs_cjk project : cshow bug patch for CIDFont. proc passed to cshow can -change currentfont internally, in such case, rangecheck error should not be -returned. Fix by Masatake Yamato. (ported from gs7.05) (zchar.c [1.7]: -2002/06/02 11:57:03 mpsuzuki) +pdfwrite/pdxtext: TJ arguments were computed without accounting Tc. +(gdevpdts.c [1.10]: 2002/07/25 19:11:38 igor) -gs_cjk project : cshow bug patch for composite font. Fix by Masatake Yamato. -(ported from gs7.05) (zcfont.c [1.5]: 2002/06/02 11:57:34 mpsuzuki) +pdfwrite/pdxtext: TJ arguments were inaccurately rounded. +(gdevpdts.c [1.11]: 2002/07/29 08:42:39 igor) -gs_cjk project : CDevProc patch Fix by Masatake Yamato. (ported from gs7.05) -(zcharout.c [1.8]: 2002/06/02 12:00:54 mpsuzuki) +pdfwrite/pdxtext: (1) Widths were computed wrongly, (2) standard fonts +missed Widths. (gdevpdtw.c [1.6]: 2002/07/29 11:47:19 igor) -gs_cjk project : replace "min" & "max" by ".min" & ".max". by -mpsuzuki (ported from gs7.05) (lib/gs_cidfn.ps [1.25], -lib/gs_fonts.ps [1.21], lib/gs_init.ps [1.56], lib/gs_ll3.ps [1.14], -lib/gs_trap.ps [1.6], lib/gs_ttf.ps [1.14], lib/gs_typ32.ps [1.6]: -2002/06/02 12:03:28 mpsuzuki) - -Cleans up a number of design problems in the font callback procedures: 1) -Eliminates the gx_xfont_callbacks structure entirely. The known_encode -procedure is no longer needed: the new facilities in gscencs.[hc] make it -unnecessary, and none of the three implementors of the xfont interface use -it. See below regarding glyph_name. This is a NON-BACKWARD- COMPATIBLE -change for all clients of the glyph_name and known_encode procedures (of -which there are, respectively, 11 and 0 in the current code base), and for -all places that define gs_font_procs structures statically or initialize the -callbacks dynamically (of which there are currently only two, one in -gsfont.c and one in zbfont.c). There are also 3 identical places in the -GhostPCL code (in plfont.c, plffont.c, and plufont.c) that will require very -minor changes, with a small net reduction in code. 2) Deletes the -char_xglyph2 procedure from gx_xfont_procs. It is optional, and none of the -three current xfont implementations implements it. 3) Changes the -char_xglyph procedure in gx_xfont_procs so that instead of a glyph_name -callback procedure, it takes a const gs_string * argument that is the actual -glyph name (if the glyph is not gs_no_glyph and is not a CID). This is a -NON-BACKWARD-COMPATIBLE change for both clients and implementors of xfonts. -(At present, there are 3 implementors, none of which use the glyph_name -callback, and a single client call in gxccache.c.) 4) Moves the glyph_name -procedure, which is still required for other purposes, to gs_font_procs, -changing its declaration to int (*glyph_name)(gs_font *font, gs_glyph glyph, -gs_const_string *pstr); This is a NON-BACKWARD-COMPATIBLE change for -clients, but they must already change because of item (1) above. 5) -Eliminates the registered_Encodings array in the PostScript interpreter, -substituting the C representation of the known Encodings. (iccfont.c [1.6], -ifont.h [1.9], lib/gs_init.ps [1.57], zbfont.c [1.13], zchar1.c [1.17]: -2002/06/09 23:08:23 lpd) - -Implements the new get_glyph_index font procedure for PostScript Type 42 -fonts. (zfont42.c [1.9]: 2002/06/12 22:07:43 lpd) - -Removes all uses of the now-deprecated Pn macros from PostScript operator -files (src/z*.c). (zbfont.c [1.14], zcfont.c [1.6], zchar.c [1.8], -zchar1.c [1.19], zchar42.c [1.8], zcharout.c [1.10], zcie.c [1.11], -zcolor.c [1.8], zcolor2.c [1.8], zcontext.c [1.10], zcontrol.c [1.9], -zcrd.c [1.7], zcsindex.c [1.6], zcssepr.c [1.11], zdevice2.c [1.8], -zdouble.c [1.5], zdpnext.c [1.6], zdps.c [1.7], zdps1.c [1.6], -zdscpars.c [1.15], zfile.c [1.22], zfileio.c [1.15], zfilter.c [1.8], -zfont.c [1.6], zfont0.c [1.6], zfont42.c [1.10], zfproc.c [1.12], -zfrsd.c [1.9], zfsample.c [1.7], zfunc4.c [1.11], zgeneric.c [1.6], -zgstate.c [1.5], zht.c [1.5], zht1.c [1.5], zht2.c [1.5], zimage.c [1.8], -zmatrix.c [1.7], zmedia2.c [1.8], zmisc1.c [1.7], zmisc2.c [1.6], -zpath.c [1.5], zpath1.c [1.5], zpcolor.c [1.6], zrelbit.c [1.5], -zshade.c [1.12], ztoken.c [1.10], ztrans.c [1.18], ztype.c [1.6], -zupath.c [1.6], zusparam.c [1.7], zvmem.c [1.7]: 2002/06/16 03:43:50 lpd) - -Removes all uses of the now-deprecated Pn macros from PostScript interpreter -support code (src/i*.c). (iapi.c [1.8], iccfont.c [1.7], idebug.c [1.8], -idict.c [1.7], idstack.c [1.5], igc.c [1.8], igcstr.c [1.6], -ilocate.c [1.8], imain.c [1.25], imainarg.c [1.21], iname.c [1.6], -interp.c [1.12], iparam.c [1.8], ireclaim.c [1.6], isave.c [1.7], -iscan.c [1.9], iscanbin.c [1.10], istack.c [1.5], iutil.c [1.6]: 2002/06/16 -03:48:22 lpd) - -Removes all uses of the now-deprecated Pn macros from the DSC parser. -(dscparse.c [1.11]: 2002/06/16 03:51:37 lpd) - -Removes all uses of the now-deprecated Pn macros from the stream -implementation code. (sbwbs.c [1.5]: 2002/06/16 03:58:14 lpd) - -Removes all uses of the now-deprecated Pn macros from PostScript interpreter -header files. (bfont.h [1.7], btoken.h [1.7], ccfont.h [1.5], -dscparse.h [1.10], dwtrace.h [1.4], estack.h [1.6], files.h [1.8], -ialloc.h [1.5], iapi.h [1.6], ibnum.h [1.7], ichar.h [1.6], ichar1.h [1.7], -icharout.h [1.7], icid.h [1.5], icie.h [1.6], icolor.h [1.5], -icontext.h [1.5], icsmap.h [1.5], iddstack.h [1.5], idebug.h [1.5], -idict.h [1.5], idosave.h [1.5], idparam.h [1.6], idstack.h [1.5], -ifcid.h [1.5], ifilter.h [1.6], ifilter2.h [1.5], ifont.h [1.10], -ifont1.h [1.6], ifont2.h [1.5], ifont42.h [1.7], ifrpred.h [1.5], -ifunc.h [1.9], ifwpred.h [1.5], igc.h [1.5], igcstr.h [1.5], -igstate.h [1.6], iht.h [1.5], iimage.h [1.5], iimage2.h [1.5], -iinit.h [1.5], imain.h [1.7], imainarg.h [1.6], imemory.h [1.5], -inamedef.h [1.5], inames.h [1.5], interp.h [1.5], iparam.h [1.5], -iparray.h [1.5], ipcolor.h [1.5], iplugin.h [1.4], iref.h [1.9], -isave.h [1.5], iscan.h [1.8], iscanbin.h [1.5], iscannum.h [1.6], -istack.h [1.5], istream.h [1.5], istruct.h [1.5], itoken.h [1.5], -iutil.h [1.5], iutil2.h [1.6], ivmem2.h [1.5], main.h [1.6], oparc.h [1.5], -opcheck.h [1.5], opdef.h [1.6], oper.h [1.5], opextern.h [1.6]: 2002/06/16 -04:47:10 lpd) - -Removes all uses of the now-deprecated Pn macros from the stream header -files. (shcgen.h [1.5]: 2002/06/16 05:00:54 lpd) - -Adds a comment documenting the fact that errors.h should not be used in -graphics library files. (errors.h [1.7]: 2002/06/19 15:35:32 lpd) - -Adds support for incremental font copying, currently required only by the -new pdfwrite text code. (zfctest.c [1.1]: 2002/06/19 15:52:29 lpd) - -Update for Borland 5.5 Compiler. Files changes include bcwin32.mak, -dwmainc.c, unistd_.h, bcc32.cfg and Make.htm. Patch by Rod Webster (rodw). -SF#559565 (dwmainc.c [1.13]: 2002/06/24 06:20:25 jeong) - -Adds more tracing (with -DDEBUG) when loading CFF fonts. -(lib/gs_cff.ps [1.13]: 2002/07/06 02:49:39 lpd) - -</pre><h2><a name="7.21-Streams"></a>Streams</h2><pre> +</pre><h2><a name="7.22-PDF_Interpreter"></a>PDF Interpreter</h2><pre> Fixes problems: - - More compatibility to Adobe interpreters in 'eexec'. This is -NON-BACKWARD-COMPATIBLE change. Now eexec skips all whitespaces at the -beginning of input stream, except for PFBDecode output. Thanks to L. Peter -Deutsch for participation. Source Forge bug "[ 428891 ] Undefined commands -interpreting Postscri". (seexec.c [1.7]: 2002/05/01 23:15:23 igor) - - Correct the VMS exit codes for exit_OK and exit_FAILED which -depend on the compiler (Forrest Cahoon). Return the correct exit code from -main for VMS. (stdpre.h [1.8]: 2002/05/15 12:11:44 ghostgum) - - Fixes an oversight that prevented compilation with stdpn.h -included. (stdpre.h [1.10]: 2002/06/16 09:11:47 lpd) - -Documents the fact that exceptional stream conditions remain set until a -client clears them. (scommon.h [1.7]: 2002/06/16 03:20:39 lpd) + - When using -dUseCropBox, use an inherited CropBox. The previous +fix would only use a CropBox on the page being displayed. +(lib/pdf_main.ps [1.54]: 2002/07/18 10:46:06 ghostgum) + - If a 'stream' operator was followed by whitespace before the EOL, +then the fileposition was not at the start of the data. Add logic to allow +for this and also add a pdfformaterror if the EOL was a <cr> without a +<lf>. Fixes SourceForge bug 567612 for Artifex customer #1. +(lib/pdf_base.ps [1.27]: 2002/07/31 19:06:11 ray) -Removes all uses of the now-deprecated Pn macros from the stream -implementation code. (sa85d.c [1.6], scfd.c [1.6], scfdtab.c [1.4], -scfe.c [1.5], scfetab.c [1.5], sfxfd.c [1.9], sfxstdio.c [1.7], -siinterp.c [1.5], siscale.c [1.7], stream.c [1.19]: 2002/06/16 03:58:14 lpd) - -Removes all uses of the now-deprecated Pn macros from the stream header -files. (sbcp.h [1.5], scommon.h [1.8], sdcparam.h [1.5], sdct.h [1.7], -shc.h [1.5], sjpeg.h [1.5], slzwx.h [1.5], spprint.h [1.6], spsdf.h [1.5], -srdline.h [1.5], std.h [1.8], stream.h [1.11], strimpl.h [1.6], -szlibxx.h [1.5]: 2002/06/16 05:00:54 lpd) - -Removes all uses of the now-deprecated Pn macros from system header -wrappers. (stdio_.h [1.7]: 2002/06/16 05:03:12 lpd) - -Moves the now-unused Pn macros to a separate file, which now can easily be -commented out and eventually removed. (stdpn.h [1.1], stdpre.h [1.9]: -2002/06/16 08:57:57 lpd) - -Adds a missing close-comment (*/) marker. (stdpn.h [1.2]: 2002/06/16 -08:59:16 lpd) - -</pre><h2><a name="7.21-Library"></a>Library</h2><pre> +</pre><h2><a name="7.22-Interpreter"></a>Interpreter</h2><pre> Fixes problems: - - Compiling with -dPROFILE could cause compiler warnings about -"memxxx redefined" (memset, memcpy, etc.). (memory_.h [1.5]: 2002/04/08 -20:42:01 lpd) - - Indexed color spaces weren't implemented for ShadingType 4-7 -shadings. (gxshade.c [1.9], gxshade.h [1.7], gxshade4.c [1.9]: 2002/04/14 -04:30:47 lpd) - - If a shading's Function entry was an array of functions rather -than a single function, pdfwrite wrote out an invalid Function object with a -FunctionType of -1. (gsfunc3.c [1.7]: 2002/04/14 06:51:45 lpd) - - Radial shading fills with /Extend are now clipped correctly. Also -Radial shadings with 2 radii for which the difference is small or zero, now -does as Adobe does. Fixes SourceForge bug #219798, #542457 -(gxshade1.c [1.13]: 2002/04/18 08:12:56 jeong) - - Fix : Type2 interpreter state was wrongly backed up for sbw -fallback. Source Forge bug "[ 541877 ] /invalidfont on Kozuka Mincho". -(gstype2.c [1.18], gxtype1.c [1.13]: 2002/04/18 14:26:27 igor) - - ShadingType 4-7 shadings with a Function incorrectly read N values -from their data stream, where N is the number of components in the color -space, rather than a single entry for the function argument. Fixes -SourceForge #546415. (gxshade.c [1.10]: 2002/04/20 05:27:11 lpd) - - The make_scaled procedure for PostScript Calculator Functions -didn't copy the data_source, causing a memory access error when converting -the Function to printable form. (gsfunc4.c [1.11]: 2002/04/20 07:05:39 lpd) - - Arrayed Output Functions (used internally to represent an array of -Functions) didn't compute or store their Domain, causing pdfwrite to write -them incorrectly. (Bug found during development of pdfwrite.) -(gsfunc3.c [1.9]: 2002/04/20 18:50:36 lpd) - - ShadingType 4-7 shadings didn't check the validity of ColorSpace -and BBox like other shadings, and when used with a Function, didn't check -that the Function had the correct number of inputs and outputs. (Bug found -during pdfwrite development.) (gsshade.c [1.7]: 2002/04/21 02:48:36 lpd) - - Arrayed Output functions didn't check whether their input and -output buffers overlapped in memory. This produced incorrect output from -ShadingType 4-7 shadings with a /Function entry that was an array of N -1-output Functions rather than a single N-output function. (Bug discovered -during pdfwrite development.) (gsfunc3.c [1.10]: 2002/04/23 01:10:38 lpd) - - Radial shading worked only if the original coordinate unit is -identical to the coordinate unit of the output device. Now it works for -every case. Fixes SF#542457. (gxshade1.c [1.14]: 2002/04/23 06:13:58 jeong) - - Fixes an incorrect comment; eliminates a redundant initialization. -(gsfunc3.c [1.11]: 2002/04/23 16:46:30 lpd) - - FunctionType 4 functions with more than 1 output didn't scale the -output properly. (gsfunc4.c [1.12]: 2002/04/23 18:38:52 lpd) - - gx_device_clip::memory was not set but used while intersecting -clip paths. Source Forge bug "[ 547111 ] segfault with pdf using ppmraw". -(gxclip.c [1.7]: 2002/04/26 08:52:54 igor) - - A rounding problem made installation of CIEBased color spaces -non-idempotent, which could cause seriously incorrect rendering of CIEBased -colors in the sequence [/CIEBased...] setcolorspace, gsave, [/Pattern -[/CIEBased...]] setcolorspace, grestore. Fixes SourceForge bug #547695, q.v. -(gscie.c [1.9], gscie.h [1.9]: 2002/05/07 19:51:53 lpd) - - The GS lib would not build. This fix corrects two minor problems. -The routine gs_abort was added to gslib.c. The unused include file -gmorecfg.h was removed from vdtrace.c. (gslib.c [1.8], vdtrace.c [1.4]: -2002/05/08 05:39:12 dan) - - A minor cleanup of vdtrace.c . (vdtrace.c [1.5]: 2002/05/08 -06:57:35 igor) - - pdfwrite relied on the PostScript interpreter to load and make -available the known encodings and glyph sets identified in src/gsccode.h. -With this change, pdfwrite can now be used without a PostScript interpreter, -and with fonts that do not implement the known_encode callback. -(gdevpsf2.c [1.19], gdevpsft.c [1.13], gscedata.c [1.1], gscencs.c [1.1], -gscencs.h [1.1]: 2002/05/12 22:38:08 lpd) - - as a result of a recent fix, the CIEBased color cache code for -ensuring that black (0,0,0) mapped precisely no longer worked. -(gscie.c [1.10]: 2002/05/15 23:49:39 lpd) - - gdevpsf.h didn't define the 'stream' type, which it references. -(gdevpsf.h [1.14]: 2002/05/17 16:38:12 lpd) - - The previous fix for numerical inaccuracies in CIE cache sampling -could lead to extremely long computation times. (gscie.c [1.11], -gscie.h [1.11]: 2002/05/19 15:50:00 lpd) - - completing "remove dependency of pdfwrite on PS" (gscencs.c [1.3]: -2002/05/20 06:33:36 igor) - - In the output of the PDF 1.4 image buffer to the target device, -sets color space in graphics state explicitly to RGB (to match the color -space in the image), and also sets the device in the graphics state to the -target device. It may be that a better fix would be to make the image work -even without these explicit state settings, but this seems to work for now. -Fixes SF #520686. (gdevp14.c [1.10]: 2002/05/22 05:07:48 raph) - - In radial shading, if radius of a circle is 0, there was division -by zero. This is a regression for the fix of SF#219798. Now fixed. -(gxshade1.c [1.15]: 2002/05/26 05:03:31 jeong) - - Increase clist cmd reading buffer size to 4K to be able to handle -larger halftone bitmaps. The old size of 800 could cause the clist high -level path logic to revert to 'default' filling which created VERY large -clist temp files. SourceForge bug 542664 for Artifex customer 710. -(gxcldev.h [1.7]: 2002/05/29 08:09:59 ray) - - Add type cast to prevent problem on OpenVMS (gdevp14.c [1.11]: -2002/05/31 13:05:58 joukj) - - Fixes off-by-one error in loop termination for CIE cache -initializations. (gscie.c [1.12]: 2002/06/06 06:55:12 raph) - - Fixes uninitialized base buffer and failure to properly increment -a p14_device refcount in the pdf14 imaging code. (gdevp14.c [1.12]: -2002/06/06 06:57:12 raph) - - Fixes a bug in writing "stripped" TrueType fonts. (Only affects -font copying.) (gdevpsft.c [1.16]: 2002/06/12 22:06:51 lpd) - - Limit the number of %disk devices to 7 to prevent problems with -the Dynalab font installer. Also return %disk devices in numeric order from -devforall and suppress %disk devices from filenameforall to match Adobe. -Also correct documentation of devforall (no pattern string used). Thanks to -Nori Matsushima and Erik Strik for testing of this feature (diskn.dev). -(gsiodisk.c [1.2]: 2002/06/14 04:04:39 ray) - - The automatically generated files src/gscedata.[ch] didn't have a -RCS Id line. (gscedata.c [1.3], gscedata.h [1.2]: 2002/06/14 13:31:53 lpd) - - psf_write_truetype_font and psf_write_cid2_font copied hmtx and -vmtx rather than getting the actual metrics through the font virtual -procedures, which produced incorrect output if the font was defined -incrementally and used MetricsCount. (This only affected pdfwrite.) -(gdevpsf.h [1.18], gdevpsft.c [1.18]: 2002/06/18 00:31:20 lpd) - - Removes incorrect #includes of errors.h, which is a PostScript -interpreter file, from library files. (gsfcmap1.c [1.3], gxchar.c [1.16]: -2002/06/19 15:33:01 lpd) - - When drawing with anti-aliasing on devices with less than -8-bit/pixel, extract the correct existing pixel value. (gdevdbit.c [1.5]: -2002/06/21 22:05:33 ghostgum) - - Propagate possible errors from pdf_end_image_binary. -(gsimage.c [1.7], gsimage.h [1.6], gsptype1.c [1.7], gxccache.c [1.10]: -2002/06/22 11:16:12 igor) - - gxfcache.h didn't #include or define all of its prerequisites. -(gxfcache.h [1.7]: 2002/06/24 05:14:15 lpd) - - Fixes an off-by-1 bug in the code for accessing Subrs in copied -fonts. (gxfcopy.c [1.4]: 2002/06/24 17:28:11 lpd) - - copying a CIDFontType 2 font didn't copy numGlyphs, causing glyphs -to disappear. (gxfcopy.c [1.6]: 2002/06/24 23:48:31 lpd) - - Fixes an off-by-1 error in copying [Global]Subrs. -(gxfcopy.c [1.7]: 2002/06/25 04:32:48 lpd) - - gs_copy_font for CIDFontType 0 fonts didn't copy GlobalSubrs -correctly. (gxfcopy.c [1.8]: 2002/06/25 05:22:56 lpd) - - Two places associated with font writing didn't add in -subroutineNumberBias when interpreting a Type 1 / Type 2 CharString. -(gdevpsfx.c [1.15], gxtype1.c [1.14]: 2002/06/25 05:25:45 lpd) - - The GSubrs for CIDFontType 0 fonts were not written, possibly -producing invalid embedded fonts from pdfwrite. Fixes SourceForge #571911. -(gdevpsf.h [1.19], gdevpsf2.c [1.21]: 2002/06/25 06:52:05 lpd) - - Fixes two uninitialized memory reads, by zeroing the gs_allocated -field of newly allocated allocators, and the userdict_index field of dict -stacks in newly allocated contexts. (gsalloc.c [1.17]: 2002/06/26 20:01:53 -raph) - - Fix uninitialized memory read of pcache->order.data_memory by -zeroing it on construction. (gxht.c [1.7]: 2002/06/26 20:03:21 raph) - - Code for writing and copying Type 1 fonts didn't correctly handle -Subrs arrays with null elements. (gdevpsf1.c [1.15], gdevpsf2.c [1.22], -gxfcopy.c [1.9]: 2002/06/26 23:17:24 lpd) - - Allocating the glyphs and names arrays for copied fonts used the -wrong structure descriptor. (gxfcopy.c [1.10]: 2002/06/27 03:55:39 lpd) - - Fixes 3 minor problems with font copying: GC overhead was -substantial; the components of composite glyphs were not copied; the -encoding index was not copied when copying a complete font. -(gxfcopy.c [1.12]: 2002/06/28 01:47:22 lpd) - - The size of the version field of the ttf_maxp_t structure was -defined incorrectly as 2 rather than 4. (This structure wasn't referenced -anywhere.) (gxttf.h [1.6]: 2002/06/28 05:27:22 lpd) - - Font copying did not allocate its tables correctly when copying -incrementally downloaded TrueType fonts, and did not implement encode_char -correctly for TrueType fonts when glyph_space == GLYPH_SPACE_NAME. (Only -affects new pdfwrite text code.) (gxfcopy.c [1.13]: 2002/06/28 22:35:26 lpd) - - The return status values from 'sgets' were not handled properly. -Now the functions that use 'sgets', check the return status and convert them -into proper gs_errors. SF#569111 (gsmatrix.c [1.6], gsparam2.c [1.6], -gxclrast.c [1.16]: 2002/07/01 14:27:43 jeong) - - The hmtx/vmtx tables generated from the glyph metric data for -embedded TrueType fonts in PDF output were incorrect, due to a misreading of -the TrueType spec. (This only affects the new pdfwrite text code: the old -code does not generate the tables this way.) (gdevpsft.c [1.20]: 2002/07/06 -02:54:32 lpd) - -update version numbers after the 7.20 release. (gscdef.c [1.20]: 2002/04/04 -03:14:03 giles) - -Changes gs_cmap_t (internal representation of CMaps) to an abstract -superclass with multiple implementations: standard Adobe CMapType 1, -TrueType 16-bit cmap (Platform 3, Encoding 1, Format 4), and one-for-one. -Adds the ability to designate a CMap as Unicode-based. Enhances pdfwrite so -that composite fonts (including those based on TrueType Unicode fonts) with -Unicode-based CMaps are embedded in the PDF file with the original text -preserved and with an appropriate ToUnicode CMap, making the text searchable -in Acrobat. (gdevpsfm.c [1.10], gsfcid2.c [1.1], gsfcmap.c [1.18], -gsfcmap.h [1.7], gsfcmap1.c [1.1], gsfont0c.c [1.1], gstype42.c [1.18], -gxfcmap.h [1.13], gxfcmap1.h [1.1], gxfont0c.h [1.1], gxfont42.h [1.8]: -2002/04/08 21:02:44 lpd) - -Restores some performance lost as a result of the fix for SourceForge -#495414, by skipping a request for glyph widths which is redundant if the -font doesn't have Metrics or CDevProc. Addresses SourceForge #451456 (a -general request for better pdfwrite performance), which will be closed after -this change. (gxfont.h [1.10]: 2002/04/09 23:31:44 lpd) - -Brings dependencies in lib.mak up to date. (vdtrace.c [1.3]: 2002/04/12 -05:55:39 lpd) - -Splits off the md5 test program into a separate file; removes support for -non-ANSI compilers; makes byte order test either static or dynamic. -(md5.c [1.6], md5.h [1.4]: 2002/04/13 19:20:28 lpd) - -Defines a floating-point range type gs_range_t in gstypes.h; redefines the -existing gs_range type in gscie.h in terms of it. (gscie.h [1.8], -gstypes.h [1.6]: 2002/04/18 05:59:21 lpd) - -Committing in . Type-cast fix Modified Files: gs/src/gsfcid2.c -(gsfcid2.c [1.2]: 2002/04/18 10:15:47 joukj) - -Adds a make_scaled virtual procedure to Function objects, to create a -modified Function whose N output values are transformed linearly according -to a supplied set of N range parameters. This is the first installment for -implementing conversion of extended-range CIEBased color spaces to ICCBased -spaces in pdfwrite. (gsfunc.c [1.7], gsfunc.h [1.7], gsfunc0.c [1.8], -gsfunc3.c [1.8], gsfunc4.c [1.10], gxfunc.h [1.6]: 2002/04/19 01:17:53 lpd) - -Documents the need to use ctm_only when passing the CTM of an imager state -to procedures such as gs_point_transform. (gxistate.h [1.10]: 2002/04/21 -22:04:49 lpd) + - (FAPI) server_font_data were prematurely reset in zFAPIpassfont. +Thanks for Graham Asher for spotting this. Also fixes minor bugs in +comments. (ifapi.h [1.12], zfapi.c [1.22]: 2002/07/09 14:55:03 igor) + - Avoid opstack overflow by explicit array construction, rather than +unpacking and padding on the stack, for padding of glyphencoding array. +Fixes SF bug #576651. (lib/gs_ttf.ps [1.16]: 2002/07/10 06:29:34 raph) + - Adobe renders marks outside the ImagingBBox and QuarkXPress relies +on this. Maintain the ImagingBBox of the page device at the PostScript level +independently from the device parameter. There is a slight incompatibility +if programs that set the ImagingBBox incorrectly relied on this causing +clipping, which is prohibited by the PLRM. Programs that wish to directly +set the ImagingBBox device parameter can still do so from C or from PS using +the .putdeviceprops GS private operator. Fixes SF bug 570829 for Artifex +customer #411. (lib/gs_setpd.ps [1.12]: 2002/07/10 23:05:59 ray) + - Add a predefined ColorRendering Resource named +/DefaultColorRendering since this is the name that GetSubstituteCRD will +return and also is the name expected by some software. SourceForge bug +#570217 for cust #150. (lib/gs_res.ps [1.24]: 2002/07/12 06:46:33 ray) + - Results of zchar_get_metrics2 were missinterpreted. +(zchar1.c [1.20]: 2002/07/16 16:47:39 igor) + - correct the ISO paper sizes in gs_statd.ps to match those in the +Adobe PPD specification, technical note 5003. Fixes SourceForge bug #536877, +"Paper sizes wrong in gs_statd.ps". (lib/gs_statd.ps [1.9]: 2002/07/18 +10:41:53 ghostgum) + - The addition of the function sampling logic for DeviceN tint +transforms (fix 474544) tripped over a bogus assumption in Adobe Procset for +DuoTones generated by (at least) Photoshop. The assumption was that if the +alternate color space of a DeviceN space was being used, that the procedure +would run when 'setcolor' was executed and that the stack would be +accessible during that procedure. This fixes several bug reports with +'/stackunderflow in pop' errors including SF #549307, 576577 and 582385 for +Artifex customers. Thanks to Dan Coby for the analysis and fix. +(lib/gs_lev2.ps [1.20], lib/gs_ll3.ps [1.15], zcolor2.c [1.9]: 2002/07/31 +04:43:44 ray) + +Bump version number to 7.22 as final commit in 7.21 process. +(lib/gs_init.ps [1.58]: 2002/07/09 07:42:10 raph) + +Previous commit was botched because of improperly removed debugging code. +Second commit for fix of SF #576651. (lib/gs_ttf.ps [1.17]: 2002/07/10 +06:53:24 raph) + +pdfwrite: implementing WMode 1 for simple fonts. (zchar1.c [1.21]: +2002/07/24 07:45:28 igor) + +FAPI project : WMode 1 was wrongly processed for base fonts. +(zfapi.c [1.23]: 2002/08/03 15:50:51 igor) + +</pre><h2><a name="7.22-Library"></a>Library</h2><pre> -Removes unused gdevht halftoning "device". Part of DeviceN task list. -(gxclrast.c [1.13], gxclread.c [1.6]: 2002/04/22 23:01:47 raph) - -Reorganizes code slightly to better document the fact that font notification -lists must be allocated in stable memory. (gsfcid2.c [1.3], gsfont.c [1.8], -gxfont.h [1.11]: 2002/05/02 21:00:40 lpd) - -Documents the fact that driver procedures other than put_params must not -reset is_open, and the invariant that requires any device instance -referenced from a graphics state to be open. (gxdevcli.h [1.9]: 2002/05/02 -22:36:47 lpd) - -Add missing headers so types are properly defined. Fixes SF bug #547357. -(gxclrast.c [1.14]: 2002/05/09 18:24:17 giles) - -Changed END_OBJECT_SCAN to call gs_abort() instead of gs_exit in a debug -system when a chunk parsing error occurs. If gs_abort() is never to be -called such as during a debug dump END_OBJECT_SCAN_NO_ABORT can be called. -(gsalloc.c [1.15], gxalloc.h [1.9]: 2002/05/13 16:26:50 stefan) - -gs_exit() cleanup. gs_exit() is renamed gs_to_exit() since it is an about to -terminate cleanup function, it always returns. Both gs_to_exit() and -gs_abort are client provided functions. The client can have its own special -cleanup on exit, and the client can decide what it wants to do in the abort -case: exit, setjump/longjump, ... gp_do_exit() is the way for the client to -call a system independent exit() this allows for different exit codes on -unix and vms for instance. Only the client can call this, if so desired from -their gs_abort(). (gsexit.h [1.7], gslib.c [1.9]: 2002/05/14 14:59:41 -stefan) - -Simplifies the C implementation of the known Encodings, and makes it conform -better to Ghostscript standard coding style. (gscedata.c [1.2], -gscedata.h [1.1], gscencs.c [1.2]: 2002/05/14 23:33:18 lpd) - -Changes the 'base' and 'factor' for CIE caches from float to double, to -avoid numerical inaccuracies. (gscie.h [1.10]: 2002/05/15 23:40:56 lpd) - -Removes an inappropriate e-mail address from a comment. (gscencs.c [1.4]: -2002/05/24 19:15:20 lpd) - -Adds an #ifndef to allow gs_cid_system_info_t to be defined as an abstract -type. (gxcid.h [1.6]: 2002/05/28 02:41:45 lpd) - -Adds a GC descriptor for gs_font_info_t. (gsfont.c [1.9], gxfont.h [1.12]: -2002/05/30 07:11:51 lpd) - -Makes the GC descriptor public for allocating the FDArray of CIDFontType 0 -fonts. (gsfcid.c [1.9], gxfcid.h [1.10]: 2002/05/30 13:43:12 lpd) - -gs_cjk project : handle "cidchar" map correctly. Fix by mpsuzuki. (ported -from gs7.05) (gsfcmap1.c [1.2]: 2002/06/02 11:54:38 mpsuzuki) - -gs_cjk project : bugfix for nested FMapType4/5 OCF. Fix by suzuki toshiya. -(ported from gs7.05) (gschar0.c [1.6]: 2002/06/02 11:56:23 mpsuzuki) - -gs_cjk project : cshow bug fix for CIDFontType2. Fix by Hideyuki Suzuki. -(ported from gs7.05) (gxchar.c [1.11]: 2002/06/02 11:58:21 mpsuzuki) - -gs_cjk project : glyph cache bug patch for vertical writing mode. Fallback -against inconsistency in double checking of glyph cache. The inconsistency -causes misplacement of CJK glyph in vertical writing mode. Fix by Hideo -Saito. (ported from gs7.05) (gxchar.c [1.12], gxchar.h [1.7]: 2002/06/02 -11:59:20 mpsuzuki) - -gs_cjk project : glyphshow in vertical writing mode bug patch. Originally, -FontBBox_as_Metrics2 was set when charcode string is decoded into CIDs. -"glyphshow" bypasses such decoding procedure, thus FontBBox_as_Metrics2 is -not set. Fix by Masatake Yamato. (ported from gs7.05) (gstext.c [1.9]: -2002/06/02 11:59:57 mpsuzuki) - -gs_cjk project : return error when we cannot load even CID=0. Fix by -mpsuzuki. (ported from gs7.05) (gxchar.c [1.13]: 2002/06/02 12:01:31 -mpsuzuki) - -Improves documentation of the open_device and open_file procedures in -gx_io_device. (gxiodev.h [1.5]: 2002/06/02 19:27:41 lpd) - -Adds upper-case versions of some macros, retaining the lower-case versions -for backward compatibility. (gsccode.h [1.7]: 2002/06/03 16:54:27 lpd) - -Adds an API for writing TrueType and CIDFontType 2 fonts without any glyphs. -pdfwrite uses this internally for copying fonts. (gdevpsf.h [1.15], -gdevpsft.c [1.14]: 2002/06/04 14:51:00 lpd) - -Cleans up a number of design problems in the font callback procedures: 1) -Eliminates the gx_xfont_callbacks structure entirely. The known_encode -procedure is no longer needed: the new facilities in gscencs.[hc] make it -unnecessary, and none of the three implementors of the xfont interface use -it. See below regarding glyph_name. This is a NON-BACKWARD- COMPATIBLE -change for all clients of the glyph_name and known_encode procedures (of -which there are, respectively, 11 and 0 in the current code base), and for -all places that define gs_font_procs structures statically or initialize the -callbacks dynamically (of which there are currently only two, one in -gsfont.c and one in zbfont.c). There are also 3 identical places in the -GhostPCL code (in plfont.c, plffont.c, and plufont.c) that will require very -minor changes, with a small net reduction in code. 2) Deletes the -char_xglyph2 procedure from gx_xfont_procs. It is optional, and none of the -three current xfont implementations implements it. 3) Changes the -char_xglyph procedure in gx_xfont_procs so that instead of a glyph_name -callback procedure, it takes a const gs_string * argument that is the actual -glyph name (if the glyph is not gs_no_glyph and is not a CID). This is a -NON-BACKWARD-COMPATIBLE change for both clients and implementors of xfonts. -(At present, there are 3 implementors, none of which use the glyph_name -callback, and a single client call in gxccache.c.) 4) Moves the glyph_name -procedure, which is still required for other purposes, to gs_font_procs, -changing its declaration to int (*glyph_name)(gs_font *font, gs_glyph glyph, -gs_const_string *pstr); This is a NON-BACKWARD-COMPATIBLE change for -clients, but they must already change because of item (1) above. 5) -Eliminates the registered_Encodings array in the PostScript interpreter, -substituting the C representation of the known Encodings. -(gdevpsf1.c [1.13], gdevpsf2.c [1.20], gdevpsft.c [1.15], gsccode.h [1.8], -gscencs.c [1.5], gscencs.h [1.2], gsfont.c [1.10], gxccache.c [1.8], -gxchar.c [1.14], gxchar.h [1.8], gxfont.h [1.13], gxxfont.h [1.5]: -2002/06/09 23:08:22 lpd) - -Extends Type 42 fonts at the library level so that if their instantiator -provides a mechanism for named glyphs (such as the PostScript Type 42 -CharStrings dictionary), they will be accepted by glyph_info et al. Required -for the new font copying code. (gstype42.c [1.19], gxfont42.h [1.9]: -2002/06/11 20:26:41 lpd) - -Improves documentation for the gs_glyph data type. (gsccode.h [1.9], -gscencs.h [1.3]: 2002/06/14 01:57:44 lpd) - -Improves a few comments, and changes pdf_write_font_resources to -pdf_close_text_document for greater clarity. (gdevpsf.h [1.16]: 2002/06/15 -21:11:53 lpd) - -Removes all uses of the now-deprecated Pn macros from PostScript interpreter -header files. (vdtrace.h [1.5]: 2002/06/16 04:47:10 lpd) - -Removes all uses of the now-deprecated Pn macros from system header -wrappers. (malloc_.h [1.5], math_.h [1.5], memory_.h [1.6], pipe_.h [1.5]: -2002/06/16 05:03:12 lpd) - -Removes all uses of the now-deprecated Pn macros from all remaining .c -files. (gdevalph.c [1.5], gdevdgbr.c [1.5], gdevdrop.c [1.6], -gdevm8.c [1.5], gdevprn.c [1.10], gdevprna.c [1.5], gdevpsf1.c [1.14], -gdevpsft.c [1.17], gp_getnv.c [1.5], gp_strdl.c [1.5], gp_unifs.c [1.9], -gsalloc.c [1.16], gsalphac.c [1.5], gsargs.c [1.7], gsbittab.c [1.5], -gscdevn.c [1.9], gschar.c [1.6], gscie.c [1.13], gsciemap.c [1.11], -gscolor.c [1.8], gscolor1.c [1.7], gscolor2.c [1.9], gscoord.c [1.8], -gscsepr.c [1.16], gsdparam.c [1.9], gsdps.c [1.5], gsflip.c [1.5], -gsfunc0.c [1.9], gshsb.c [1.5], gsht.c [1.5], gsht1.c [1.6], -gshtscr.c [1.9], gsimpath.c [1.5], gsiodevs.c [1.5], gslib.c [1.10], -gsmalloc.c [1.10], gsmatrix.c [1.5], gsnogc.c [1.10], gsnotify.c [1.5], -gsparam2.c [1.5], gsparams.c [1.5], gspath.c [1.6], gspath1.c [1.6], -gsptype1.c [1.6], gsstate.c [1.15], gstrans.c [1.16], gstrap.c [1.6], -gstype42.c [1.20], gxccache.c [1.9], gxccman.c [1.5], gxchar.c [1.15], -gxcht.c [1.7], gxclimag.c [1.6], gxclip.c [1.8], gxclipm.c [1.6], -gxclist.c [1.6], gxclmem.c [1.5], gxclpath.c [1.12], gxclrast.c [1.15], -gxclread.c [1.7], gxcpath.c [1.6], gxfapi.c [1.6], gxfill.c [1.11], -gxhint1.c [1.5], gxhint2.c [1.6], gxhint3.c [1.6], gxht.c [1.6], -gxidata.c [1.7], gxifast.c [1.7], gximag3x.c [1.11], gximage.c [1.5], -gximage3.c [1.9], gxipixel.c [1.6], gxp1fill.c [1.5], gxpageq.c [1.5], -gxpath.c [1.5], gxpcmap.c [1.6], gxpcopy.c [1.6], gxpdash.c [1.5], -gxshade.c [1.11], gxshade6.c [1.6], gxstroke.c [1.5]: 2002/06/16 05:48:54 -lpd) - -Removes all uses of the now-deprecated Pn macros from the gp*.h (platform -interface) header files. (gp.h [1.12], gpcheck.h [1.5], gpgetenv.h [1.5], -gpmisc.h [1.5], gpsync.h [1.5]: 2002/06/16 06:59:02 lpd) - -Removes all uses of the now-deprecated Pn macros from driver-related headers -(gdev*.h). (gdevbbox.h [1.5], gdevcmap.h [1.5], gdevmem.h [1.6], -gdevmpla.h [1.5], gdevmrop.h [1.6], gdevmrun.h [1.5], gdevplnx.h [1.5], -gdevppla.h [1.5], gdevprn.h [1.10], gdevprna.h [1.5], gdevpsf.h [1.17], -gdevvec.h [1.10]: 2002/06/16 07:25:26 lpd) - -Removes all uses of the now-deprecated Pn macros from the remaining library -header files. (gdebug.h [1.6], gsalloc.h [1.5], gsalpha.h [1.5], -gsalphac.h [1.5], gsargs.h [1.7], gsbitops.h [1.5], gscdefs.h [1.5], -gscdevn.h [1.6], gschar.h [1.6], gscie.h [1.12], gscindex.h [1.5], -gsclipsr.h [1.5], gscolor.h [1.6], gscolor1.h [1.5], gscolor2.h [1.6], -gscolor3.h [1.5], gscompt.h [1.5], gscoord.h [1.5], gscpixel.h [1.5], -gscrd.h [1.5], gscrdp.h [1.5], gscrypt1.h [1.5], gscsepr.h [1.7], -gscspace.h [1.11], gscssub.h [1.5], gsdcolor.h [1.7], gsdevice.h [1.6], -gsdps.h [1.5], gsdsrc.h [1.6], gserror.h [1.6], gsexit.h [1.8], -gsfcmap.h [1.8], gsflip.h [1.5], gsfname.h [1.5], gsfont.h [1.6], -gsfunc.h [1.8], gsfunc0.h [1.5], gsfunc3.h [1.5], gsfunc4.h [1.5], -gsgc.h [1.6], gshsb.h [1.5], gsht.h [1.5], gsht1.h [1.5], gshtx.h [1.5], -gsicc.h [1.6], gsimage.h [1.5], gsipar3x.h [1.7], gsiparam.h [1.7], -gsiparm2.h [1.5], gsiparm3.h [1.7], gsiparm4.h [1.5], gslib.h [1.5], -gsline.h [1.5], gsmalloc.h [1.5], gsmatrix.h [1.5], gsmdebug.h [1.6], -gsmemlok.h [1.5], gsmemory.h [1.7], gsmemraw.h [1.7], gsmemret.h [1.5], -gsnotify.h [1.5], gspaint.h [1.5], gsparam.h [1.11], gsparams.h [1.5], -gsparamx.h [1.6], gspath.h [1.5], gspath2.h [1.5], gspcolor.h [1.5], -gsptype1.h [1.5], gsptype2.h [1.7], gsrect.h [1.5], gsrefct.h [1.5], -gsrop.h [1.5], gsropc.h [1.5], gsropt.h [1.7], gsshade.h [1.6], -gsstate.h [1.5], gsstruct.h [1.13], gsstype.h [1.5], gstext.h [1.6], -gstparam.h [1.10], gstrans.h [1.9], gstrap.h [1.6], gstype1.h [1.6], -gsuid.h [1.5], gsutil.h [1.7], gxalloc.h [1.10], gxarith.h [1.5], -gxbcache.h [1.5], gxcdevn.h [1.5], gxchar.h [1.9], gxchrout.h [1.5], -gxcid.h [1.7], gxcie.h [1.7], gxcldev.h [1.8], gxclio.h [1.5], -gxclip.h [1.5], gxclip2.h [1.5], gxclist.h [1.5], gxclmem.h [1.5], -gxclpage.h [1.5], gxclpath.h [1.9], gxcmap.h [1.5], gxcolor2.h [1.7], -gxcomp.h [1.5], gxcoord.h [1.5], gxcpath.h [1.5], gxcspace.h [1.7], -gxctable.h [1.5], gxdcconv.h [1.5], gxdcolor.h [1.6], gxdevbuf.h [1.5], -gxdevcli.h [1.10], gxdevice.h [1.8], gxdevmem.h [1.5], gxdht.h [1.7], -gxdhtres.h [1.5], gxdither.h [1.5], gxfapi.h [1.6], gxfarith.h [1.6], -gxfcache.h [1.6], gxfcid.h [1.11], gxfixed.h [1.6], gxfmap.h [1.6], -gxfont.h [1.14], gxfont1.h [1.9], gxfont42.h [1.10], gxfunc.h [1.7], -gxgetbit.h [1.5], gxht.h [1.5], gxiclass.h [1.5], gximag3x.h [1.6], -gximage.h [1.6], gximage3.h [1.7], gxiodev.h [1.6], gxiparam.h [1.5], -gxistate.h [1.11], gxline.h [1.5], gxmatrix.h [1.7], gxmclip.h [1.5], -gxop1.h [1.5], gxp1impl.h [1.5], gxpageq.h [1.5], gxpaint.h [1.5], -gxpath.h [1.5], gxpcache.h [1.5], gxpcolor.h [1.5], gxropc.h [1.5], -gxrplane.h [1.5], gxsample.h [1.5], gxshade.h [1.8], gxshade4.h [1.5], -gxstate.h [1.5], gxsync.h [1.5], gxtext.h [1.10], gxtmap.h [1.5], -gxtype1.h [1.11], gxxfont.h [1.6], gzacpath.h [1.5], gzht.h [1.8], -gzline.h [1.5], gzpath.h [1.6]: 2002/06/16 08:45:42 lpd) - -Removes a few overlooked uses of the Pn macros. (gscrd.h [1.6], -gximag3x.h [1.7], gximage3.h [1.8]: 2002/06/16 08:55:53 lpd) - -Changes the writing of embedded TrueType (and CIDFontType 2) fonts so that -hmtx/vmtx are written only if the font already includes a hhea/vhea table. -This is not a perfect solution, but it is better than always writing both -hmtx and vmtx, because a TrueType rasterizer cannot make use of the *mtx -table without the corresponding *hea table. (gdevpsft.c [1.19]: 2002/06/18 -22:50:51 lpd) - -Exports the default get_metrics procedure for Type 42 fonts, for use by -copied fonts. (gstype42.c [1.21], gxfont42.h [1.11]: 2002/06/19 00:27:57 -lpd) - -Factors out a procedure for copying XUID data, for font copying. -(gsfont.c [1.11], gsuid.h [1.6], gsutil.c [1.8]: 2002/06/19 01:06:12 lpd) - -Adds support for incremental font copying, currently required only by the -new pdfwrite text code. (gxfcopy.c [1.1], gxfcopy.h [1.1]: 2002/06/19 -15:52:29 lpd) - -Committing in . one (int*)->(unsigned int*) type cast added Modified -Files: gs/src/gschar0.c ----------------------------------------------------------------------- -(gschar0.c [1.7]: 2002/06/20 08:24:40 joukj) - -Adds some omitted definitions in gxfcopy.h. (gxfcopy.h [1.2]: 2002/06/21 -22:36:09 lpd) - -Documents that gs_copy_glyph returns 0 if the glyph is newly copied, 1 if it -was already copied, and adjusts the code slightly to match. -(gxfcopy.c [1.2], gxfcopy.h [1.3]: 2002/06/21 22:56:18 lpd) - -Adds a procedure to copy the entire contents (glyphs and Encoding) of a -font. (gxfcopy.c [1.3], gxfcopy.h [1.4]: 2002/06/24 00:40:31 lpd) - -Update for Borland 5.5 Compiler. Files changes include bcwin32.mak, -dwmainc.c, unistd_.h, bcc32.cfg and Make.htm. Patch by Rod Webster (rodw). -SF#559565 (unistd_.h [1.7]: 2002/06/24 06:20:25 jeong) - -Adds double-definition protection so that gs_font_type0 can be used as an -abstract type. (gxfont0.h [1.6]: 2002/06/24 17:27:30 lpd) - -Adds a comment explaining the glyph copying algorithm in -gs_copy_font_complete. (gxfcopy.c [1.5]: 2002/06/24 23:06:31 lpd) - -Adds options to gs_copy_glyph to conditionally require that the glyph has or -has not been copied already. (gxfcopy.c [1.11], gxfcopy.h [1.5]: 2002/06/27 -17:51:57 lpd) - -Adds a field to TrueType fonts to hold the true numGlyphs value from maxp. -(gstype42.c [1.22], gxfont42.h [1.12]: 2002/06/28 05:31:36 lpd) - -Exports the procedure for parsing the 'pieces' of a Type 1 or Type 2 -CharString (the character codes referenced by 'seac' or the equivalent), if -any. Needed for font copying. (gxfont1.h [1.10], gxtype1.c [1.15]: -2002/07/06 02:46:10 lpd) - -News.htm update, version number and date fixups. First commit mandated by -Release.htm, in preparation for 7.21 release. (gscdef.c [1.21]: 2002/07/08 -20:09:54 raph) - -</pre><h2><a name="7.21-Other"></a>Other</h2><pre> - -Upgrade icclib to (proposed) 2.01 release. Patch has been sent to Graeme -Gill for consideration. (icclib/icc.c [1.7], icclib/icc.h [1.5], -icclib/icc9809.h [1.3]: 2002/04/18 18:28:56 raph) - -Removes trailing comma in enum. (icclib/icc.h [1.6]: 2002/04/18 20:28:54 -raph) - -Update icclib to the latest 2.02 release. (icclib/Licence.txt [1.2], -icclib/Readme.txt [1.2], icclib/icc.c [1.8], icclib/icc.h [1.7]: 2002/04/22 -18:30:25 giles) - -Add a configure option to enable COMPILE_INITS. After a patch from Michael -Sweet. (Makefile.in [1.14], configure.ac [1.17]: 2002/05/03 03:51:23 giles) - -Add a configure option for setting the name of the ghostscript executable. -From a patch by Michael Sweet. (Makefile.in [1.15], configure.ac [1.18]: -2002/05/03 07:34:19 giles) +Fixes problems: + - Fixes bugs in font copying (currently used only by the new +pdfwrite text code): TrueType glyphs with multiple names in CharStrings only +stored a single name; copied Encodings were initialized incorrectly to +.notdef rather than GS_NO_GLYPH; some of the procedures of copied TrueType +fonts weren't initialized correctly; 'seac' didn't copy the Encoding entries +for the components. Also shares the known glyph names when possible, to +reduce the load on the garbage collector. (gxfcopy.c [1.14], +gxfcopy.h [1.6]: 2002/07/09 14:26:45 lpd) + - When compiled for A4 default page size, the initial page size is +now 595x842pts. The initial printer page size in tenths of an inch now uses +floating point. This may cause problems with old compilers that do not allow +floating point calculations in initializers for integers. Add some casts to +suppress warnings with the MS compiler. Fixes SourceForge bug #535997, +"ps2pdf produces incorrect A4 page size". (gdevprn.h [1.11], +gxdevice.h [1.9]: 2002/07/18 11:01:44 ghostgum) + - Always write FontBBox into CFF, even though the spec says it's +optional, to work around a problem when printing the resulting file with +Adobe Acrobat Reader 4 to HP PostScript printers. Source Forge bug "[ 578899 +] Missing /FontBBox when converting to ps?" (gdevpsf.h [1.20], +gdevpsf2.c [1.23]: 2002/07/19 13:35:59 igor) + - (pdfwrite) Quiet Cygwin/gcc warnings. (gdevpsft.c [1.21]: +2002/07/19 14:51:27 igor) + +Bump version number to 7.22 as final commit in 7.21 process. +(gscdef.c [1.22]: 2002/07/09 07:42:10 raph) + +Adds a procedure for testing whether a string was returned by +gs_c_glyph_name. Allows the font copying code to share these strings, +substantially reducing the load on the garbage collector. (gscedata.c [1.4], +gscedata.h [1.3], gscencs.c [1.6], gscencs.h [1.4]: 2002/07/09 14:04:19 lpd) + +pdfwrite: implementing WMode 1 for simple fonts. (gxfont.h [1.15]: +2002/07/24 07:45:28 igor) + +First commit in 7.22 release process: date and News updates. +(gscdef.c [1.23]: 2002/08/06 23:10:40 raph) </pre></body></html> diff --git a/gs/doc/History7.htm b/gs/doc/History7.htm index fdd0a77c8..87b903b3a 100644 --- a/gs/doc/History7.htm +++ b/gs/doc/History7.htm @@ -29,6 +29,18 @@ <h2>Table of contents</h2> <blockquote><ul> +<li><a href="#Version7.22">Version 7.22 (2002-08-06)</a> +<ul> +<li><a href="#7.22_Incompatible_changes">Incompatible changes</a>, + <a href="#7.22-Documentation">Documentation</a>, + <a href="#7.22-Procedures">Procedures</a>, + <a href="#7.22-Utilities">Utilities</a>, + <a href="#7.22-Drivers">Drivers</a>, + <a href="#7.22-PDF_writer">PDF writer</a>, + <a href="#7.22-PDF_Interpreter">PDF Interpreter</a>, + <a href="#7.22-Interpreter">Interpreter</a>, + <a href="#7.22-Library">Library</a> +</ul> <li><a href="#Version7.21">Version 7.21 (2002-07-08)</a> <ul> <li><a href="#7.21_Incompatible_changes">Incompatible changes</a>, @@ -135,6 +147,370 @@ release. <hr> +<h1><a name="Version7.22"></a>Version 7.22 (2002-08-06)</h1> + +<p> +This release integrates the rewritten pdfwrite font copying code, +fixing a large class of pdfwrite bugs involving incremental font +updating. This project was completed before the DeviceN merge was +ready, so this release (rather than 7.21 as previously stated) is +the final checkpoint prior to the DeviceN merge. + +<p> +Overall, pdfwrite is probably an improvement over previous releases, +but there are still known issues. Testing of pdfwrite with real-world +files is encouraged. + +<p> +The following SourceForge bug numbers were open at the time of the last release: +405342, +407342, +414947, +414985, +423838, +427347, +432040, +434277, +446344, +446672, +453969, +458261, +458775, +458780, +459647, +465720, +465936, +468762, +474745, +482038, +484752, +484753, +485510, +487953, +493348, +495319, +498595, +505429, +508081, +509646, +510808, +511232, +513905, +514616, +517349, +521916, +526099, +526491, +530011, +530588, +533467, +535366, +535752, +535836, +538033, +539239, +542848, +543185, +546823, +551565, +552989, +554076, +555496, +557177, +558151, +558435, +559614, +560508, +562103, +563287, +565790, +567421, +567487, +567604, +567773, +569573, +570181, +570772, +571980, +572119, +573744, +576586, +576591, +578838, +578865, +580029, +580873, +581420, +582471, +583413, +584713, +584990, +586178, +586595, +589244, +590307, +590979, +591039, +591326. + +<p>The nightly regression tests show many changes. However, most of +the non-pdf regressions are tiny changes resulting in comparing a +debug build against a non-debug baseline. The rendering really +shouldn't be different at all, so we're leaving these regressions open +until we can fix the discrepancy. On the pdfwrite side, most of the +regressions are actually improvements, but there are some known +issues. Notably, the "same_font" function is incorrect, and deriving +several fonts from a standard font, replacing Metrics or Metrics2 +only, pdfwrite incorrectly merges them into a single font. This causes +a regression with 093-01.ps and probably other test files. + +<h3><a name="7.22_Incompatible_changes"></a>Incompatible changes</h3> + +<pre> +</pre> + + +<h2><a name="7.22-Documentation"></a>Documentation</h2><pre> + +Minor tweaks to release process, based on 7.21 experience. +(doc/Release.htm [1.63]: 2002/07/09 07:23:07 raph) + +Bump version number to 7.22 as final commit in 7.21 process. +(doc/News.htm [1.108]: 2002/07/09 07:42:10 raph) + +Remove Russell Lang's name from most man pages. Correct Russell Lang's email +address. (man/dvipdf.1 [1.16], man/font2c.1 [1.16], man/gs.1 [1.16], +man/gslp.1 [1.16], man/gsnd.1 [1.16], man/pdf2dsc.1 [1.16], +man/pf2afm.1 [1.16], man/pfbtopfa.1 [1.17], man/printafm.1 [1.16], +man/ps2pdf.1 [1.20], man/ps2pdfwr.1 [1.19], man/wftopfa.1 [1.16]: 2002/07/10 +12:19:44 ghostgum) + +Remove Russell Lang's name from most man pages. Correct Russell Lang's email +address. (man/de/dvipdf.1 [1.2], man/de/font2c.1 [1.2], man/de/gsnd.1 [1.3], +man/de/pdf2dsc.1 [1.2], man/de/printafm.1 [1.2], man/de/ps2pdf.1 [1.2], +man/de/wftopfa.1 [1.2]: 2002/07/10 12:22:12 ghostgum) + +Changes all references to L. Peter Deutsch as the author of Ghostscript to +refer to artofcode LLC and Artifex Software as the maintainers of +Ghostscript. (doc/New-user.htm [1.39], doc/Use.htm [1.55], +man/ansi2knr.1 [1.4], man/dvipdf.1 [1.17], man/eps2eps.1 [1.4], +man/font2c.1 [1.17], man/gs.1 [1.17], man/gslp.1 [1.17], man/gsnd.1 [1.17], +man/pdf2ps.1 [1.18], man/pdfopt.1 [1.16], man/pf2afm.1 [1.17], +man/pfbtopfa.1 [1.18], man/printafm.1 [1.17], man/ps2ascii.1 [1.16], +man/ps2pdf.1 [1.21], man/ps2pdfwr.1 [1.20], man/ps2ps.1 [1.23], +man/wftopfa.1 [1.17]: 2002/07/11 02:54:22 lpd) + +Upgrading ps2pdf.htm about pdfwrite/pdxtext. (doc/Ps2pdf.htm [1.44]: +2002/07/31 10:00:57 igor) + +First commit in 7.22 release process: date and News updates. +(doc/News.htm [1.109]: 2002/08/06 23:10:40 raph) + +</pre><h2><a name="7.22-Procedures"></a>Procedures</h2><pre> + +Fixes problems: + - Renaming few variables in devs.mak for better clarity. +(devs.mak [1.68]: 2002/07/18 18:03:15 igor) + - Changed make_two_versions to use the logging system. +(toolbin/tests/make_two_versions [1.5]: 2002/07/23 16:37:51 jack) + - remove spurious build of the gtk client along with the macos +framework. (macos-fw.mak [1.5]: 2002/08/05 16:21:12 giles) + +Bump version number to 7.22 as final commit in 7.21 process. +(version.mak [1.48]: 2002/07/09 07:42:10 raph) + +Adds a procedure for testing whether a string was returned by +gs_c_glyph_name. Allows the font copying code to share these strings, +substantially reducing the load on the garbage collector. +(toolbin/encs2c.ps [1.3]: 2002/07/09 14:04:19 lpd) + +Switching on the new pdfwrite/pdxtext code. (devs.mak [1.69]: 2002/07/26 +07:27:19 igor) + +First commit in 7.22 release process: date and News updates. +(version.mak [1.49]: 2002/08/06 23:10:40 raph) + +</pre><h2><a name="7.22-Utilities"></a>Utilities</h2><pre> + +Changes all references to L. Peter Deutsch as the author of Ghostscript to +refer to artofcode LLC and Artifex Software as the maintainers of +Ghostscript. (lib/prfont.ps [1.6], lib/ps2epsi.ps [1.9]: 2002/07/11 02:54:22 +lpd) + +</pre><h2><a name="7.22-Drivers"></a>Drivers</h2><pre> + +Fixes problems: + - When compiled for A4 default page size, the initial page size is +now 595x842pts. The initial printer page size in tenths of an inch now uses +floating point. This may cause problems with old compilers that do not allow +floating point calculations in initializers for integers. Add some casts to +suppress warnings with the MS compiler. Fixes SourceForge bug #535997, +"ps2pdf produces incorrect A4 page size". (gdevbmpc.c [1.5]: 2002/07/18 +11:01:44 ghostgum) + +</pre><h2><a name="7.22-PDF_writer"></a>PDF writer</h2><pre> + +Fixes problems: + - Fixes the last (?) major batch of problems in the new pdfwrite +text code. We think this code is now good enough for general testing: search +for PDTEXT in src/devs.mak for information on how to enable it. +(gdevpdtc.c [1.6], gdevpdte.c [1.7], gdevpdtf.c [1.9], gdevpdti.c [1.4], +gdevpdts.c [1.9], gdevpdts.h [1.5], gdevpdtt.c [1.6], gdevpdtt.h [1.4], +gdevpdtw.c [1.5]: 2002/07/09 14:29:35 lpd) + - (pdfwrite) Enforce compression choice on end of image; do not +choose with zero output length. (gdevpdfj.c [1.22]: 2002/07/15 19:25:11 +igor) + - (pdfwrite) Fixing the image dimensions for the alternative +compression stream. Source Forge bug "[ 574865 ] ioerror only with +PDFSETTINGS=/screen" (gdevpdfi.c [1.40]: 2002/07/15 19:34:17 igor) + - Always write FontBBox into CFF, even though the spec says it's +optional, to work around a problem when printing the resulting file with +Adobe Acrobat Reader 4 to HP PostScript printers. Source Forge bug "[ 578899 +] Missing /FontBBox when converting to ps?" (gdevpdfe.c [1.18], +gdevpdtb.c [1.5], gdevpdtb.h [1.3], gdevpdtd.c [1.4]: 2002/07/19 13:35:59 +igor) + - (pdfwrite) Quiet Cygwin/gcc warnings. (gdevpdfe.c [1.19], +gdevpdfs.c [1.23], gdevpdtc.c [1.7]: 2002/07/19 14:51:27 igor) + - Fixing an unbalanced '>>' in pdf_write_CIDSet(). +(gdevpdtb.c [1.6]: 2002/07/20 08:21:37 igor) + - (pdfwrite) Standard font names were erroneously suffixed. Source +Forge bug "[ 557024 ] (pdfwrite) Font display incorrect" This changes old +pdfwrite only. The new one was patched separately. (gdevpdff.c [1.31]: +2002/07/31 09:23:32 igor) + +pdfwrite: implementing WMode 1 for simple fonts. (gdevpdte.c [1.8], +gdevpdtf.c [1.10], gdevpdtf.h [1.4], gdevpdtt.c [1.7], gdevpdtt.h [1.5]: +2002/07/24 07:45:28 igor) + +pdfwrite/pdxtext: fixing the decision about font embedding for the case when +a source document uses both standard and non-standard fonts with same name. +(gdevpdtf.c [1.11]: 2002/07/24 13:40:04 igor) + +pdfwrite/pdxtext: Generate uniquie font names for embedded fonts for +compatibility with Acrobat Reader 3. (gdevpdtb.c [1.7]: 2002/07/24 16:18:48 +igor) + +pdfwrite/pdxtext: Fixing a possibly uninitialized variable. +(gdevpdtf.c [1.12]: 2002/07/24 16:27:41 igor) + +pdfwrite/pdxtext: Fixing WMode 1 for simple fonts that have no Metrics2. +(gdevpdte.c [1.9]: 2002/07/24 18:58:28 igor) + +pdfwrite/pdxtext: TJ arguments were computed without accounting Tc. +(gdevpdts.c [1.10]: 2002/07/25 19:11:38 igor) + +pdfwrite/pdxtext: TJ arguments were inaccurately rounded. +(gdevpdts.c [1.11]: 2002/07/29 08:42:39 igor) + +pdfwrite/pdxtext: (1) Widths were computed wrongly, (2) standard fonts +missed Widths. (gdevpdtw.c [1.6]: 2002/07/29 11:47:19 igor) + +</pre><h2><a name="7.22-PDF_Interpreter"></a>PDF Interpreter</h2><pre> + +Fixes problems: + - When using -dUseCropBox, use an inherited CropBox. The previous +fix would only use a CropBox on the page being displayed. +(lib/pdf_main.ps [1.54]: 2002/07/18 10:46:06 ghostgum) + - If a 'stream' operator was followed by whitespace before the EOL, +then the fileposition was not at the start of the data. Add logic to allow +for this and also add a pdfformaterror if the EOL was a <cr> without a +<lf>. Fixes SourceForge bug 567612 for Artifex customer #1. +(lib/pdf_base.ps [1.27]: 2002/07/31 19:06:11 ray) + +</pre><h2><a name="7.22-Interpreter"></a>Interpreter</h2><pre> + +Fixes problems: + - (FAPI) server_font_data were prematurely reset in zFAPIpassfont. +Thanks for Graham Asher for spotting this. Also fixes minor bugs in +comments. (ifapi.h [1.12], zfapi.c [1.22]: 2002/07/09 14:55:03 igor) + - Avoid opstack overflow by explicit array construction, rather than +unpacking and padding on the stack, for padding of glyphencoding array. +Fixes SF bug #576651. (lib/gs_ttf.ps [1.16]: 2002/07/10 06:29:34 raph) + - Adobe renders marks outside the ImagingBBox and QuarkXPress relies +on this. Maintain the ImagingBBox of the page device at the PostScript level +independently from the device parameter. There is a slight incompatibility +if programs that set the ImagingBBox incorrectly relied on this causing +clipping, which is prohibited by the PLRM. Programs that wish to directly +set the ImagingBBox device parameter can still do so from C or from PS using +the .putdeviceprops GS private operator. Fixes SF bug 570829 for Artifex +customer #411. (lib/gs_setpd.ps [1.12]: 2002/07/10 23:05:59 ray) + - Add a predefined ColorRendering Resource named +/DefaultColorRendering since this is the name that GetSubstituteCRD will +return and also is the name expected by some software. SourceForge bug +#570217 for cust #150. (lib/gs_res.ps [1.24]: 2002/07/12 06:46:33 ray) + - Results of zchar_get_metrics2 were missinterpreted. +(zchar1.c [1.20]: 2002/07/16 16:47:39 igor) + - correct the ISO paper sizes in gs_statd.ps to match those in the +Adobe PPD specification, technical note 5003. Fixes SourceForge bug #536877, +"Paper sizes wrong in gs_statd.ps". (lib/gs_statd.ps [1.9]: 2002/07/18 +10:41:53 ghostgum) + - The addition of the function sampling logic for DeviceN tint +transforms (fix 474544) tripped over a bogus assumption in Adobe Procset for +DuoTones generated by (at least) Photoshop. The assumption was that if the +alternate color space of a DeviceN space was being used, that the procedure +would run when 'setcolor' was executed and that the stack would be +accessible during that procedure. This fixes several bug reports with +'/stackunderflow in pop' errors including SF #549307, 576577 and 582385 for +Artifex customers. Thanks to Dan Coby for the analysis and fix. +(lib/gs_lev2.ps [1.20], lib/gs_ll3.ps [1.15], zcolor2.c [1.9]: 2002/07/31 +04:43:44 ray) + +Bump version number to 7.22 as final commit in 7.21 process. +(lib/gs_init.ps [1.58]: 2002/07/09 07:42:10 raph) + +Previous commit was botched because of improperly removed debugging code. +Second commit for fix of SF #576651. (lib/gs_ttf.ps [1.17]: 2002/07/10 +06:53:24 raph) + +pdfwrite: implementing WMode 1 for simple fonts. (zchar1.c [1.21]: +2002/07/24 07:45:28 igor) + +FAPI project : WMode 1 was wrongly processed for base fonts. +(zfapi.c [1.23]: 2002/08/03 15:50:51 igor) + +</pre><h2><a name="7.22-Library"></a>Library</h2><pre> + +Fixes problems: + - Fixes bugs in font copying (currently used only by the new +pdfwrite text code): TrueType glyphs with multiple names in CharStrings only +stored a single name; copied Encodings were initialized incorrectly to +.notdef rather than GS_NO_GLYPH; some of the procedures of copied TrueType +fonts weren't initialized correctly; 'seac' didn't copy the Encoding entries +for the components. Also shares the known glyph names when possible, to +reduce the load on the garbage collector. (gxfcopy.c [1.14], +gxfcopy.h [1.6]: 2002/07/09 14:26:45 lpd) + - When compiled for A4 default page size, the initial page size is +now 595x842pts. The initial printer page size in tenths of an inch now uses +floating point. This may cause problems with old compilers that do not allow +floating point calculations in initializers for integers. Add some casts to +suppress warnings with the MS compiler. Fixes SourceForge bug #535997, +"ps2pdf produces incorrect A4 page size". (gdevprn.h [1.11], +gxdevice.h [1.9]: 2002/07/18 11:01:44 ghostgum) + - Always write FontBBox into CFF, even though the spec says it's +optional, to work around a problem when printing the resulting file with +Adobe Acrobat Reader 4 to HP PostScript printers. Source Forge bug "[ 578899 +] Missing /FontBBox when converting to ps?" (gdevpsf.h [1.20], +gdevpsf2.c [1.23]: 2002/07/19 13:35:59 igor) + - (pdfwrite) Quiet Cygwin/gcc warnings. (gdevpsft.c [1.21]: +2002/07/19 14:51:27 igor) + +Bump version number to 7.22 as final commit in 7.21 process. +(gscdef.c [1.22]: 2002/07/09 07:42:10 raph) + +Adds a procedure for testing whether a string was returned by +gs_c_glyph_name. Allows the font copying code to share these strings, +substantially reducing the load on the garbage collector. (gscedata.c [1.4], +gscedata.h [1.3], gscencs.c [1.6], gscencs.h [1.4]: 2002/07/09 14:04:19 lpd) + +pdfwrite: implementing WMode 1 for simple fonts. (gxfont.h [1.15]: +2002/07/24 07:45:28 igor) + +First commit in 7.22 release process: date and News updates. +(gscdef.c [1.23]: 2002/08/06 23:10:40 raph) + +</pre> +<hr> + <h1><a name="Version7.21"></a>Version 7.21 (2002-07-08)</h1> <p> @@ -261,7 +637,7 @@ gs/lib/cidfmap. TrueType font substition to CIDFont is not implemented yet. </ul> <pre> - +</pre> <h2><a name="7.21-Documentation"></a>Documentation</h2><pre> @@ -2254,6 +2630,8 @@ Add a configure option for setting the name of the ghostscript executable. From a patch by Michael Sweet. (Makefile.in [1.15], configure.ac [1.18]: 2002/05/03 07:34:19 giles) +</pre> + <hr> <h1><a name="Version7.20"></a>Version 7.20 (2002-04-03)</h1> @@ -2451,7 +2829,7 @@ management information. This is a NON-BACKWARD-COMPATIBLE change to both implementors and clients. It corrects a significant design error: formerly these procedures encoded memory management information in their return code, which was obscure and error-prone. See src/gsgdata.[hc]. - +</pre> <h2><a name="7.20-Documentation"></a>Documentation</h2><pre> @@ -5227,6 +5605,8 @@ generating spurious warnings with some other compilers. Returns the bbox device to the default build in response to user requests. (Makefile.in [1.13]: 2002/04/03 18:25:03 giles) +</pre> + <hr> <h1><a name="Version7.03"></a>Version 7.03 (2001-10-20)</h1> @@ -5270,8 +5650,7 @@ The following SourceForge bug numbers are currently open: No incompatible changes have been recorded for this version. <pre> - - +</pre> <h2><a name="7.03-Documentation"></a>Documentation</h2><pre> @@ -5563,6 +5942,7 @@ icclib/NOTES [1.2], icclib/Readme.txt [1.1], icclib/icc.c [1.6], icclib/icc.h [1.4], icclib/icc9809.h [1.2]: 2001/10/19 21:52:50 raph) <hr> +</pre> <h1><a name="Version7.02"></a>Version 7.02 (2001-09-22)</h1> @@ -5621,7 +6001,7 @@ The following SourceForge bug numbers are currently open: No incompatible changes have been recorded for this version. <pre> - +</pre> <h2><a name="7.02-Documentation"></a>Documentation</h2><pre> @@ -6873,6 +7253,7 @@ Adds generated macos build files to .cvsignore (.cvsignore [1.2]: 2001/07/31 20:03:20 giles) <hr> +</pre> <h1><a name="Version7.00"></a>Version 7.00 (2001-04-08)</h1> @@ -7008,7 +7389,7 @@ contact Artifex Software, Inc., 101 Lucas Valley Road #110, San Rafael, CA 94903, U.S.A., +1(415)492-9861. <p> -<small>Ghostscript version 7.21, 8 July 2002 +<small>Ghostscript version 7.22, 6 August 2002 <!-- [3.0 end visible trailer] ============================================= --> diff --git a/gs/toolbin/makeset.tcl b/gs/toolbin/makeset.tcl index 9e4ea9e18..c1b046c98 100755 --- a/gs/toolbin/makeset.tcl +++ b/gs/toolbin/makeset.tcl @@ -218,6 +218,7 @@ proc mergehist {news changes hist tmp} { } lappend nlines $l } + lappend nlines </pre> # Copy the prefix of the existing History file. while {[string first <li> [set l [gets $hist]]] != 0} { @@ -321,6 +322,7 @@ proc mergehist {news changes hist tmp} { } puts $tmp $l } + puts $tmp </pre> # Copy the rest of the History file, changing the date at the end. puts $tmp <hr> |