2007-05-11T17:06:15.247707Z Ralph Giles

Update the product name for release.

[src/gscdef.c]

2007-05-11T17:03:51.074953Z Ralph Giles

Update release date.

[doc/History7.htm doc/Projects.htm doc/History8.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Deprecated.htm doc/Maintain.htm man/ps2epsi.1 doc/Install.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 man/pf2afm.1 doc/Ps2ps2.htm doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 man/gsnd.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Details8.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm man/ps2ps.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 doc/History5.htm doc/History6.htm]

2007-05-11T17:02:29.404037Z Ralph Giles

Update the libpng version listed in the top-level makefiles.

[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/macos-mcp.mak src/msvclib.mak src/all-arch.mak src/os2.mak src/version.mak src/watclib.mak]

2007-05-11T16:53:33.148016Z Ralph Giles

Install the libpng 1.2.16 source release.

[libpng]

2007-05-11T16:48:03.952583Z Ralph Giles

Move the included libpng out of the way.

[libpng]

2007-05-11T15:33:41.202626Z Ralph Giles

Correct the keyword substitution property key.

[toolbin/pscet_status.pl]

2007-05-11T13:33:33.031639Z Ralph Giles

Try again to fix the Id keyword line.

[toolbin/pscet_status.pl]

2007-05-11T09:39:41.369263Z leonardo

Fix (shadings) : Removing a dead code from radial shadings.

DETAILS : 

It's a rudiment from an antique annula-based radial shading algorithm.
R_fill_state_t was filled and never used.
This change is algorithmically equivalent.

[src/gxshade1.c]

2007-05-09T21:58:25.788526Z Ralph Giles

Covert gdevwts.c to native line endings and turn on keywork 
substitution.

Also convert a C++-style comment. It looks like this line
can actually be removed.

[src/gdevwts.c]

2007-05-09T21:51:57.598496Z Ralph Giles

Add Id lines and associated properties to some recent script additions.

[toolbin/ocheck.py toolbin/pscet_status.pl]

2007-05-09T21:47:00.539315Z Ralph Giles

Add recent new files to the documenation index.

[doc/Develop.htm src/gscicach.c src/gscicach.h]

2007-05-09T19:55:01.401845Z Alex Cherepanov

Make AcroForm rendering a non-default option because it is not yet 
fully implemented and causes raster differences. Bug 689197.

[lib/pdf_main.ps doc/Use.htm]

2007-05-09T18:45:56.177217Z Ralph Giles

Point to bugzilla instead of the old bug-report email address in the 
help text. Also remove the unused constant defining the address.

[src/imainarg.c]

2007-05-09T15:45:54.143921Z leonardo

Fix (shadings) : The decomposition limit must depend on resolution.

DETAILS : 

This partially improves performance for the test case of 
the bug 689189 "PDF fails with /unregistered in --shfill--".

The old code limits the decomposition of a shading with 1 pixel.
It gives a good precision for low resolution devices,
such as display with 72dpi. However for high resolution devices the
decomposition limit may be bigger, because tinny parts are not visible.
Now we make it be dependent on the device resolution.
It speeds up the high resolution rendering with quickly varying colors.
The worker formula is :

	decomposition_limit = float2fixed(HWResolution / 72)

With 300 dpi the file "self-intersect2.ps" renders a few worse 
near the self-intersection. It may be visible when viewing the 
ppmraw output with a monitor. We think it's a reasonable tradeof
for the performance. Actually the monitor performs 
a significant zoom when viewing "actual pixels",
because the monitor's resolution is much smaller.
The quality degradation shouldn't be visible with a 300 dpi printer.

[src/gxshade4.h src/gxshade6.c]

2007-05-09T10:12:29.054433Z Till Kamppeter

Protect expression "$Id: Details.htm 7954 2007-05-11 18:51:29Z giles $" against being replaced by SubVersion (bug #689093).

[doc/gsdoc.el]

2007-05-09T06:37:44.288003Z Marcos Woehrmann

Added entries to alias Arial to ArialMT and TimesNewRoman to TimesNewRomanPSMT.  This is useful when running on 
windows.

[lib/Fontmap.GS]

2007-05-09T03:21:39.704394Z Ralph Giles

Temporarily revert the KRGB support patch for the IJS device. There
were some build problems, and also there's a known segfault in some
situations. This will be worked on after the 8.57 release.

[src/gdevijs.c]

2007-05-08T19:47:48.994751Z Ralph Giles

Implement KRGB raster support in the IJS device. Patch from David 
Suffield.

Details:

This patch implements a separate black plane and does simple text and 
line art detection based on the drawing source. This results in cleaner 
output for IJS drivers which support it.

[src/gdevijs.c]

2007-05-08T18:26:47.239521Z Till Kamppeter

Makes ijs/ working with automake 1.10

DETAILS:

This is a pure bug fix, so lets get this into 8.57.

[ijs/autogen.sh]

2007-05-08T18:23:54.589216Z Till Kamppeter

Fixed file properties

[src/version.mak]

2007-05-08T18:13:10.044227Z Till Kamppeter

Back out everything after rev 7909

[contrib/gdevmd2k.c contrib/gdevxes.c contrib/gdevgdi.c src/configure.ac contrib/lips4 contrib/eplaser contrib/gdevhl12.c src/gdevlj56.c ijs/autogen.sh src/gdevdljm.c src/lib.mak contrib/gdevcd8.c src/gdevpx.c src/gdevl256.c contrib/contrib.mak src/gdevvglb.c src/gdevdljm.h contrib/gdevcd8.h contrib/cups src/unix-gcc.mak contrib/gdevdj9.c src/gdevpxut.c src/gdevcdj.c contrib/chp2200 contrib/gdevlx32.c contrib/gdevlx50.c contrib/gdevop4w.c src/gdevpxut.h lib/gs_init.ps src/gdevlbp8.c src/version.mak contrib/opvp contrib/gdevbjc_.c contrib/japanese contrib/gdevbjca.c src/gdevxalt.c contrib/lxm3200-tweaked src/version.mak.in contrib/gdevbjc_.h contrib/gomni.c src/contrib.mak src/devs.mak lib/gs_setpd.ps contrib/pcl3 contrib/gdevlx7.c contrib/gdevln03.c src/gdevdjet.c src/gconf.c contrib/defs.h src/gs.mak contrib/uniprint src/Makefile.in src/unix-aux.mak contrib/md2k_md5k src/unixinst.mak contrib/epson740 src/gp_unix.c]

2007-05-08T17:44:46.931200Z Till Kamppeter

Makes ijs/ working with automake 1.10

[ijs/autogen.sh]

2007-05-08T17:43:12.186735Z Till Kamppeter

Added duples support to the PCL-XL ("pxlmono"/"pxlcolor") output devices

[src/gdevpx.c src/gdevlj56.c src/gdevpxut.c src/gdevpxut.h]

2007-05-08T17:41:29.378446Z Till Kamppeter

Support for the CUPS Raster output device in the lib/*.ps files

DETAILS:

CUPS-related changes, overtaken from ESP Ghostscript:

Define option "-dNOMEDIAATTRS" to turn off the default (but
unimplementable) media selection policies for setpagedevice. This is
used by CUPS to support the standard Adobe media attributes. Without
this option the behavior of Ghostscript stays as before.

Due to the fact that it is not possible to properly implement the
selection policies from a Ghostscript driver, the default policy was
changed to "7" (impose) to avoid numerous problems with printing
within CUPS...

Bug fix:

Martin Lottermoser, author of the "pcl3" driver writes in
contrib/pcl3/doc/gs-mods.txt, section C1:

There is a bug in ghostscript's default configuration for the
undercolour removal and black generation functions. It shows up when
printing PostScript documents using the RGB colour space ("setrgbcolor" or
"sethsbcolor") on a device where the CMYK space is the native colour space;
this is the case for pcl3 if you specify "-sColourModel=CMYK". The bug
results in black being printed as a mixture of cyan, magenta, and yellow.

The bug is simply fixed by replacing the line
   { pop 0 } dup setblackgeneration setundercolorremoval
with the following line:
   {} dup setblackgeneration setundercolorremoval


[lib/gs_setpd.ps lib/gs_init.ps]

2007-05-08T17:30:26.894961Z Till Kamppeter

src/version.mak --> src/version.mak.in (part of build system patch)

[src/version.mak.in src/version.mak]

2007-05-08T17:29:31.725620Z Till Kamppeter

Build system extensions for support of CUPS Raster, OpenPrinting
Vector, X11 driver modularizationm, and for easy selection of drivers

DETAILS:

The build system has all necessary checks added for the additional
drivers (especially for CUPS Raster and OpenPrinting Vector) and has
functionality to easily select the drivers to be built in. Especially
one can also build a Ghostscript with none of the extra drivers from
the contrib/ directory by supplying the option "--disable-contrib" to
"./configure".

Other additional options are "--with-drivers" to select drivers and
"--with-fontpath" to easily add the system's font locations (call the
system's Ghostscript with "gs -h" and add the paths shown in the end
of the output),

"./configure" also auto-detects whether the X drivers can be
modularized.

For correct building of the CUPS filters the definition of the version
number was moved from src/version.mak to ./configure (or
src/configure.ac).

The build rules for Omni are removed from src/contrib.mak, as
gdevomni.c is present in the contrib/ directory. So its build rules
belong into contrib/contrib.mak.

Use "./configure --disable-contrib" to make a Ghostscript without
anything from the contrib/ directory, for example for commercially
licensed distribution.

[src/Makefile.in src/configure.ac src/contrib.mak src/unixinst.mak src/gdevlbp8.c src/version.mak]

2007-05-08T17:16:47.444481Z Till Kamppeter

Conditionals to avoid conflicts with the drivers "bjc880j", "lips2p",
"lips4", and "lips4v" in contrib/

DETAILS:

some data structures in src/gdevlbp8.c got extended for the
above-mentioned drivers. To avoid conflicts the original structures
need to be deactivated. This patch adds the needed conditionals for
that.

[src/gdevlbp8.c]

2007-05-08T16:52:11.701719Z Till Kamppeter

All third-party built-in and Uniprint drivers listed in the OpenPrinting database

DETAILS:

To avoid the users or the distribution package maintainers to patch
Ghostscript for getting support for a certain printer model this patch
contains all known (by OpenPrinting) built-in and Uniprint printer
drivers. So compiling Ghostscript with all these drivers gives a
complete Ghostscript without need of recompilation for adding support
for a printer.

Also the OpenPrinting Vector ("opvp", "oprp") and CUPS Raster output
("cups") are included, to have all the three current interfaces (the
third is the already included IJS) for modular drivers as required by
the upcoming LSB 3.2.

Notes:

Built-in printer drivers for Ghostscript are obsolete. Do not write
any new built-in drivers for Ghostscript. Use the interfaces IJS, CUPS
Raster, or OpenPrinting Vector for your new printer
drivers. Volunteers for moving these third-party drivers into
OpenPrinting Vector modules are welcome.

Do not compile the contrib/ directory for commercial-licensed
distribution of Ghostscript, the licenses of many of these drivers do
not allow this.

[contrib/japanese/doc/gs261j.txt contrib/japanese/dviprlib.h contrib/cups/pxlmono.ppd contrib/japanese/doc/gdevmjc.txt contrib/pcl3/doc/gs-pcl3.ref contrib/eplaser contrib/japanese/doc contrib/japanese/doc/gdevcd8.txt contrib/uniprint/Stc680pl.upp contrib/pcl3/eprn/mediasize.c contrib/pcl3/BUGS contrib/japanese/doc/README.gs550j contrib/pcl3/eprn/mediasize.h contrib/pcl3/ppd/gs-6.50.ppd contrib/pcl3/ppd/gs-pcl3-unspecold.ppd contrib/pcl3/src/contrib.mak-7.00.add contrib/lxm3200-tweaked/LICENSE contrib/lxm3200-tweaked/Z12-Z31-QuickSetup contrib/japanese/dmp_init.ps contrib/pcl3/eprn/pagecount.c contrib/chp2200 contrib/uniprint/Stc740p.upp contrib/gdevlx50.c contrib/lxm3200-tweaked/RELEASE_NOTES contrib/pcl3/src/pcl3opts.c contrib/pcl3/src/gdevpcl3.c contrib/pcl3/eprn/pagecount.h contrib/pcl3/src/pclsize.c contrib/pcl3/ps/margins-LetterRotated.ps contrib/gdevbjc_.c contrib/pcl3/ppd/gs-pcl3-hpdj400.ppd contrib/epson740/printerdb_rh6.0 contrib/japanese contrib/pcl3/src/pclsize.h contrib/gdevbjc_.h contrib/pcl3/ppd/gs-pcl3-hpdjportable.ppd contrib/cups/cups.mak contrib/uniprint/Stc670pl.upp contrib/cups/pxlcolor.ppd contrib/pcl3/ppd/gs-pcl3-hpdj660c.ppd contrib/pcl3 contrib/gdevlx7.c contrib/uniprint/bjc6000a1.upp contrib/pcl3/eprn/eprnrend.c.orig contrib/pcl3/ppd/gs-5.50.ppd contrib/defs.h contrib/pcl3/eprn/eprnparm.c contrib/pcl3/doc/how-to-report.txt contrib/japanese/doc/dj505j.txt contrib/japanese/gdevml6.c contrib/japanese/escp_24.src contrib/japanese/gdevlbp3.c contrib/uniprint/stc740ih.upp contrib/eplaser/gdevescv.c contrib/uniprint/Stc680p.upp contrib/uniprint/s400a1.upp contrib/epson740/upp-HowTo-to-be contrib/gdevxes.c contrib/japanese/gdevj100.c contrib/eplaser/gdevescv.h contrib/lips4/gdevlips.c contrib/japanese/doc/gdevj100.txt contrib/lips4/gdevlprn.c contrib/uniprint/Stc760pl.upp contrib/lips4/gdevlips.h contrib/pcl3/ppd/fonts.ppd contrib/uniprint/Stp870p.upp contrib/uniprint/PM820p.upp contrib/pcl3/ps/dumppdd.ps contrib/pcl3/src/zmedia2.c-6.51.diff contrib/lips4/gdevlprn.h contrib/pcl3/ppd/gs-common.ppd contrib/gdevcd8.c contrib/contrib.mak contrib/pcl3/ppd/gs-pcl3-hpdj1120c.ppd contrib/japanese/doc/cdj880.txt contrib/gdevcd8.h contrib/japanese/dmp_site.ps contrib/cups/gdevcups.c contrib/pcl3/src/contrib.mak-6.50.add contrib/japanese/doc/gdevmd2k.txt contrib/gdevdj9.c contrib/cups/pstoraster contrib/japanese/doc/gdevmag.txt contrib/lips4/gdevl4r.c contrib/lxm3200-tweaked/README contrib/lips4/gdevl4v.c.orig contrib/lips4/gdevl4v.c contrib/pcl3/ps/margins-A4Rotated.ps contrib/pcl3/ppd/gs-pcl3-hpdj540.ppd contrib/pcl3/doc/notes.bbl contrib/epson740/ps-to-printer.fpi_rh5.2 contrib/pcl3/doc/notes.tex contrib/pcl3/README contrib/pcl3/LGPL contrib/pcl3/ppd/gs-6.01.ppd contrib/chp2200/AUTHORS contrib/uniprint/PM760p.upp contrib/opvp/opvp_media.def contrib/uniprint/Stc777pl.upp contrib/uniprint/Stp720pl.upp contrib/japanese/gdevnpdl.c contrib/pcl3/src/contrib.mak-5.50.add contrib/epson740/README contrib/md2k_md5k contrib/pcl3/ps/margins-Env10Rotated.ps contrib/uniprint/PM760pl.upp contrib/uniprint/Stc670p.upp contrib/japanese/gdevmag.c contrib/cups/pstopxl contrib/japanese/gdev10v.c contrib/gdevmd2k.c contrib/cups/pstoraster.in contrib/chp2200/COPYING contrib/pcl3/ppd/gs-pcl3-hpdj510.ppd contrib/uniprint/Stc740pl.upp contrib/lips4 contrib/pcl3/src/zmedia2.c-6.01.diff contrib/gdevhl12.c contrib/pcl3/ppd/gs-pcl3-hpdj550c.ppd contrib/md2k_md5k/README.jis contrib/pcl3/ppd/catppd contrib/japanese/doc/Gdevlips.htm contrib/pcl3/ppd/gs-6.51.ppd contrib/pcl3/doc contrib/pcl3/pcl3.tar.sig contrib/cups contrib/japanese/gdevespg.c contrib/japanese/gdevalps.c contrib/pcl3/NEWS contrib/japanese/doc/gdevml6.txt contrib/gdevop4w.c contrib/pcl3/ppd/README contrib/uniprint/Stc760p.upp contrib/pcl3/eprn/eprnfs.c contrib/opvp contrib/gdevbjca.c contrib/pcl3/ppd/gs-pcl3-hpdj600.ppd contrib/gomni.c contrib/uniprint/Stp720p.upp contrib/pcl3/doc/gs-mods.txt contrib/uniprint/sipixa6.upp contrib/opvp/gdevopvp.c contrib/pcl3/src/zmedia2.c-5.50.diff contrib/pcl3/src/zmedia2.c-6.50.diff contrib/pcl3/ppd/gs-pcl3-hpdj680c.ppd contrib/pcl3/eprn/eprnrend.c contrib/pcl3/ps/margins-A4.ps contrib/pcl3/src/contrib.mak-6.01.add contrib/uniprint contrib/pcl3/src/pcl3opts-de.msg contrib/japanese/doc/djgpp.txt contrib/japanese/gdevdmpr.c contrib/japanese/doc/gdevlbp3.txt contrib/pcl3/doc/pcl3opts.html contrib/japanese/doc/gdevdmpr.txt contrib/japanese/doc/gs261j.euc contrib/chp2200/INSTALL contrib/pcl3/ppd contrib/cups/pstopxl.in contrib/pcl3/src contrib/pcl3/ppd/gs-pcl3-hpdj500c.ppd contrib/uniprint/Stc777p.upp contrib/gdevgdi.c contrib/pcl3/ps/margins-EnvDLRotated.ps contrib/japanese/gdevp201.c contrib/japanese/doc/gdevp201.txt contrib/pcl3/ppd/gs-7.00.ppd contrib/pcl3/ps/margins-Letter.ps contrib/uniprint/bjc6000b1.upp contrib/pcl3/lib/if-pcl3 contrib/pcl3/eprn contrib/opvp/opvp_common.h contrib/cups/pstoraster.convs contrib/pcl3/lib contrib/pcl3/src/pclcap.c contrib/uniprint/Stp870pl.upp contrib/pcl3/doc/gs-pcl3.1 contrib/japanese/gdevfmlbp.c contrib/pcl3/src/contrib.mak-6.51.add contrib/japanese/doc/gdevalps.txt contrib/gdevlx32.c contrib/pcl3/src/pclcap.h contrib/pcl3/src/pclgen.c contrib/pcl3/ps contrib/pcl3/src/pcl3opts-en.msg contrib/uniprint/s400b1.upp contrib/japanese/doc/gdev10v.txt contrib/japanese/gdevmjc.c contrib/epson740/printerdb_rh5.2 contrib/pcl3/ppd/gs-pcl3-hpdj500.ppd contrib/pcl3/src/pclgen.h contrib/lxm3200-tweaked contrib/pcl3/doc/pcl3opts.ref contrib/uniprint/sharp.upp contrib/japanese/gdevmjc.h contrib/pcl3/src/pclscan.c contrib/pcl3/src/zmedia2.c-7.00.diff contrib/pcl3/eprn/gdeveprn.c contrib/pcl3/ps/calign.ps contrib/pcl3/src/pclscan.h contrib/gdevln03.c contrib/pcl3/ppd/gs-pcl3-common.ppd contrib/pcl3/ppd/gs-pcl3-hpdj3xx.ppd contrib/pcl3/eprn/gdeveprn.h contrib/pcl3/lib/example.mcf contrib/pcl3/src/pclcomp.c contrib/pcl3/ppd/gs-pcl3-unspec.ppd contrib/pcl3/ps/levels-test.ps contrib/pcl3/doc/pcl3opts.1 contrib/pcl3/ppd/gs-pcl3-hpdj8xxc.ppd contrib/uniprint/PM820pl.upp contrib/japanese/gdevrpdl.c contrib/epson740 contrib/japanese/doc/gdevfmlbp.txt contrib/pcl3/lib/cups-pcl3 contrib/pcl3/doc/gs-pcl3.html contrib/japanese/gdevfmpr.c contrib/pcl3/doc/reports.txt contrib/japanese/dviprlib.c]

2007-05-08T16:33:45.043492Z Till Kamppeter

Addition of support for some older japanese-market PCL Printers

DETAILS:

Adds the output devices:

dj505j: HP DeskJet 505J
ljet4pjl, lj4dithp: HP LaserJet 4V/4LJ
picty180: NEC PICTY180 (PC-PR101J/180)

This patch was part of ESP Ghostscript for several years and did not
cause any problems there.

[src/gdevdjet.c src/gdevdljm.c src/gdevdljm.h src/contrib.mak src/gdevcdj.c]

2007-05-08T16:26:19.557957Z Till Kamppeter

Modularization of the X11 output devices into dynamic libraries

DETAILS:

This patch allows to compile Ghostscript in a way that the X11 screen
display output devices can be seperated into a dynamically linkable
library, so that these devices can be put in a separate binary package
in Linux distributions. This way the distributions can be installed
with GhostScript and without the X libraries, which is important for
headless print servers.

This feature is only available for Unix with GCC (selected by the
Makefile).

Ghostscript will be compiled without built-in X11 support and with an
extra X11.so file containing the X11 support. One can install
Ghostscript with or without X11.so then, it will always work. It
detects the presence of X11.so automatically and makes the X11 output
devises available if X11.so is present (see "gs -h").

Small disadvantage: With modularized X11 support the "x11" device will
not stay the default one. "bbox" will be the default then. Use "gs
-sDEVICE=x11 ..." then.

This patch is used since mid 2001 in ESP Ghostscript and has never
caused any problems or bugs related to the modularization.

[src/gconf.c src/lib.mak src/gdevl256.c src/gdevxalt.c src/gs.mak src/gdevvglb.c src/Makefile.in src/unix-gcc.mak src/unix-aux.mak src/devs.mak src/unixinst.mak src/gp_unix.c]

2007-05-07T21:53:44.031582Z Ralph Giles

Remove unneeded header references to the interpreter. This file is part 
of the graphics library. Also clean up the dependencies in the makefile.

[src/lib.mak src/gsncdummy.c src/gsncdummy.h]

2007-05-07T21:31:43.787169Z leonardo

Fix (shadings) : Implement a color index cache.

DETAILS : 

This partially improves performance for the test case of 
the bug 689189 "PDF fails with /unregistered in --shfill--".

This change is algorithmically equivalent.
The old code redundantly converts client colors
to device colors. This patch implements a cache for 
the conversion in the new module gscicach.h .
It works for contone devices only.

For the test case it reduces the number of color conversions 
in 20+ times. However a rocket speeding up is not obtained.

This patch is an experimental one.
We have got an alternative approach,
which is more complicated but works for any device.
The alternative is to pass converted colors through the decomposition recursion.
We commit this now mainly for archiving purpose.
To disable it replace the call to gs_color_index_cache_create with NULL.

[src/gxshade4.h src/lib.mak src/gscicach.c src/gscicach.h src/gxshade6.c]

2007-05-07T19:45:03.500615Z Alex Cherepanov

Trap input errors when reading PDF content streams and issue a warning.
Acrobat Reader silently ignores such errors. Bug 689026, customer 850.

[lib/pdf_base.ps]

2007-05-07T17:42:00.368595Z Timothy Osborn

Fixing a bounding box pixel rounding issue in pdf14_begin_transparency_group.

DETAILS:

The transparency group bounding box calculation was using a different rounding
method than is being used for images. This caused the problem file in bug
report #688543 to display unwanted gray vertical lines to the left and right of
a transparency group. This fix is to use the same "Center-of-pixel Filling Rule"
that is applied to images to avoid this type of problem.

[src/gdevp14.c]

2007-05-07T10:33:00.607664Z leonardo

Fix (functions) : Improving the documentation for make_interpolation_tensor.

[src/gsfunc0.c]

2007-05-07T08:48:12.997512Z leonardo

Documenting how to profile Ghostscript with MSVC6 (continued).

DETAILS :

Fixing a misprint.

It's still a preliminary edition.
A documentation specialist should improve it.

[doc/Develop.htm]

2007-05-07T08:10:13.225741Z leonardo

Documenting how to profile Ghostscript with MSVC6.

DETAILS :

It's a preliminary edition.
A documentation specialist should improve it.

[doc/Develop.htm]

2007-05-05T19:20:34.952465Z Alex Cherepanov

Undefine /Length in the stream dictionary when the value is incorrect to
distinguish streams of 0 and unknown length. Old code re-defined incorrect
length as 0. Bug 689208, customer 770.

[lib/pdf_base.ps toolbin/pdf_info.ps]

2007-05-04T21:23:03.556389Z Timothy Osborn

Minor change to make the source code more accurate.

DETAILS:

A parameter was being moved into the pdf buffer structure under a comment that
indicated the parameter wasn't being used. During my testing for bug #688543
I discovered the parameter was being used. Therefore I moved the line to be
above the comment to better reflect reality.

[src/gdevp14.c]

2007-05-04T04:18:47.247543Z Alex Cherepanov

Move allocation of a large structure from the stack to the heap to avoid
C stack overflow on Windows NT that allocates 12K less of the stack
space than requested by the application. Bug 688998.

[src/gdevpdfp.c lib/pdf_draw.ps]

2007-05-04T00:15:08.895805Z Ray Johnston

Previous version was too aggresive with image interpolation to
1-bit per component (bpc) devices. Now we downsample using the
'special' image filter that prevents dropout on 1bpc devices and
use the "Mitchell" image filter for upscaling to those devices
when the scale factor (in X and Y) is at least 4:1. This prevents
upscaling on 1:1 images as well as near 1:1 where the results
would probably be poor quality.

[src/gxiscale.c]

2007-05-03T15:13:26.865969Z Alex Cherepanov

Avoid a Valgrind warning about ovelapping arguments in memcpy().
Don't assign a structure to itself.

[src/gxhintn.c]

2007-05-02T21:20:41.869528Z leonardo

Fix (shadings) : Extra subdivision of axial and radial shadings.

DETAILS : 

This partially improves performance for the test case of 
the bug 689189 "PDF fails with /unregistered in --shfill--".

The old code wrongly mapped shading function arguments
fro axial and radial shadings. It caused an
extra subdivision by U when the color function requires
to subdivide by V.

[src/gxshade4.h src/gxshade1.c src/gxshade6.c]

2007-05-02T19:12:52.030634Z leonardo

Fix (shadings) : The color space linearity check didn't account the color precision.

DETAILS : 

This partially improves performance for the test case of 
the bug 689189 "PDF fails with /unregistered in --shfill--".

Since the color space represents color with precision 1/255,
the shadings code must not try to obtain a better precision.
This patch accounts the color quantum in is_dc_nearly_linear.

[src/gscspace.c]

2007-05-02T18:18:29.002307Z leonardo

Fix (shadings) : Always adjust smoothness according to the minimal color precision.

DETAILS : 

Since the color space represents color with precision 1/255,
the shadings code must not try to obtain a better precision.
However the old code sometimes used the unadjusted value.
This patch defines an uniform way to access the adjusted smoothness.

[src/gxshade6.c]

2007-05-02T12:33:09.355227Z leonardo

Fix (shadings) : Early skip parts that fall outside the clipping box.

DETAILS : 

This improves performance for the test case of 
the bug 689189 "PDF fails with /unregistered in --shfill--".

The patch implements a bbox intersection code pattern to
several decomposition functions. It speeds up those shadings, 
in which the shading area is significantly larger 
than the clipping box.

Rather it speeds up the test case,
it needs a further improvement for shading functions.
A small noize (being lesser than shading smoothness) to be ignored
while a function monotonity check.

Minor changes :
1. In some functions the old bbox intersection code 
   becomes more uniform.
2. bbox_of_points moved up.

[src/gxshade6.c]

2007-05-01T23:55:23.394938Z Alex Cherepanov

Pacify Valgrind. Initialize an uninitialized variable that is used in
conditional expression but doesn't affect the end result. Bug 688910.

[toolbin/vg_bugs.supp toolbin/vg_okay.supp src/gxipixel.c]

2007-05-01T22:51:27.306035Z Alex Cherepanov

Pacify Valgrind. Initialize an uninitialized variable that is used in
calculations but doesn't affect the end result in this case.

[src/gximono.c]

2007-05-01T20:52:58.020607Z leonardo

Fix (shadings) : wedge_vertex_list_elem_buffer overflow.

DETAILS : 

Bug 689189 "PDF fails with /unregistered in --shfill--".

The estimation for wedge_vertex_list_elem_count_max
assumed a division of 1 side per level.
However triangle_by_4 divides 3 sides at once. 
Now we increase the buffer size according to that,
see comment in code for details.
It increases the buffer size from 110K to 220K.

We tried to implement a new function triangle_by_2
to keep the old buffer size,
triangle_by_2 must be the topmost worker for fill_triangle.
This function appears almost same as triangle_by_4,
except it divides the biggest side only.
We discontinued this effort because
we don't like the code duplication,
which only saves 100K of RAM,
and gives lots of minor raster differences.

This patch fixes the failure,
but the performance with the test case appears unsatisfactory.
It sould be a subject of a separate patch.

[src/gxshade6.c]

2007-04-30T19:08:16.584376Z Ray Johnston

Fix typo in 7887. Local regression testing missed this -- was seen in 
nightly run. This was part of the "optimization" in the 4 component
source color case.

[src/gxiscale.c]

2007-04-29T00:34:16.918957Z Ray Johnston

Fix structure problem (this could have caused out-of-bounds access).

[src/gdevwts.c]

2007-04-28T22:17:19.957831Z Ray Johnston

Implementation of a new non-linear image filter that prevents dropout
when images are scaled down to a 1-bit per component device. Bugs
689147 for customer 531 and image quality problem for customer 780.
This filter is used whenever /Interpolate == true (or -dDOINTERPOLATE
command line option is used) and the image is being scaled down on
a 1-bit per component device.

Interpolation throughput of gray or cmyk images is also improved by
a factor of about 2:1 (depending on the data content) even when
the standard Mitchell filter is used. The performance improvement
when using this new filter is even higher since the filter itself
uses less CPU time.

DETAILS:

This filter uses the darkest of the image pixels that are within a
device pixel, rather than the default behaviour which uses the PS
'center of pixel' rule (i.e., whichever image pixel covers the
center of the device pixel is used to color the device pixel).

The center of pixel rule can result in missing narrow black
lines or single dots in patterns when a source image is scaled down.

One side effect of this filter is that narrow white features or
small white areas in patterns can be lost, effectively darkening
the result. For now the customers needing this are not concerned
with small white-on-black areas becoming solid black. Many real
world printers tend to do this anyway due to 'dot gain'.

If we encounter the need for preserving small white areas, we
can change the filter somewhat to prevent this effect.

[src/sidscale.h src/gxdda.h src/lib.mak src/siinterp.c src/gxiscale.c doc/Develop.htm src/sisparam.h src/sidscale.c]

2007-04-28T21:55:23.077958Z Ray Johnston

Add missing comment (brief description line).

[src/gdevwts.c]

2007-04-26T23:46:30.659099Z Ray Johnston

Fix regression tools to remove dependency on PYTHONPATH since
the environment variable method isn't very convenient for those
running local regressions and add those python files from
peeves:/home/regression/python to this directory (under svn).

[toolbin/tests/README toolbin/tests/run_nightly toolbin/tests/myoptparse.py toolbin/tests/main.py]

2007-04-25T20:00:00.200965Z Timothy Osborn

Fix for slow PDF performance reported in bug report #688830.

DETAILS:

The function read_create_compositor was calling top_up_cbuf every time it was
called. For some jobs this caused a large number of relatively large memory
movements in the memmove call of top_up_cbuf. By only calling top_up_buf
when actually necessary, the problem job took approximately 1/2 the time it
did previously.

[src/gstparam.h src/gxclrast.c src/gdevp14.c]

2007-04-25T05:50:33.064031Z leonardo

Fix (TT fonts) : Allow sfnts string breaks inside TT tables.

DETAILS : 

The old code is based on an antique Adobe constraint
"the strings must begin at TrueType table boundaries, or
at individual glyph boundaries within the glyf table".
In novadays many of 3d party software do not follow it.
We're dropping this constraint from GS code
because we tired fixing user problems with it. 

This change is algorithnically equivalent for fonts,
which follow the constraint.

This change replaces ACCESS macro 
(sll 3 definitions through Ghostscript sources)
with a new macro READ_SFNTS, which copies data to a local buffer,
and checks the length of the buffer.
We believe that the performance flaw is not sensible
and it worths the improved stability.
Correspondingly local pointer variables,
which were used with ACCESS macro,
are replaced with local buffers.
Sorry for keeping old names inspite of the popular convention -
we do not want too many changes in a single patch 
to simplify its review.

In some places the new data copying could be eliminated because
the old code already copies the data. 
We do not optimize it now,
becauase we want to simplify the patch review.
We believe that modern compilers can optimize it.

The new code still have few points,
which are based on the antique constraint.
One example is names in name table.
Will do further improvements someday.
The new code signals an error if
the constraint is used and not satisfied
(the old code doesn't with unpredictable result).

[src/gxfcopy.c src/gxfont42.h src/gsfcid2.c src/gstype42.c src/gdevpsft.c]

2007-04-25T03:28:32.022759Z leonardo

Fix (TT fonts) : Allow 'loca' elements to be broken into parts with 'sfnts' strings.

DETAILS : 

Bug 689038 "GS doesn't display T42 font correctly.".

The Type 42 specification reads that 'sfnts' strings must not break TT tables.
Exactly, "the strings must begin at TrueType table boundaries, or
at individual glyph boundaries within the glyf table".
However the test case is another example when a 3d party software 
"LilyPond 2.11.10" doesn't follow this constraint. 
We prefer to handle such font data, 
because we have not enough control for fonts in wild.

The new function gs_type42_read_data is factored out
from the old code of default_get_outline.
Due to that we believe that the change to default_get_outline
is algorithmically equivalent.

This patch does not propagate error codes from
gs_type42_read_data in get_glyph_offset. 
This is done intentionally for keeping the patch simpler, 
and for keeping the behavior closer to the old one. 
It simplifies the regression testing.
Propagating the error codes should be a next step.

[src/gstype42.c]

2007-04-24T16:21:21.866752Z leonardo

Fix (TT fonts) : Could write past len_glyphs array.

DETAILS : 

This is a partial fix for bug 688971 
"huge performace problem (with large TT font?)".
Thanks to SaGS for noticing this problem.

[src/gstype42.c]

2007-04-24T00:16:14.934585Z leonardo

Fix (TT fonts) : Do not consider overlapped glyps while computing glyph length.

DETAILS : 

This is a partial fix for bug 688971 
"huge performace problem (with large TT font?)".
Thanks to SaGS for idea to drop an old hewristic
after a *stable* sorting is applied.
See comment in code.

[src/gstype42.c]

2007-04-23T23:59:01.979981Z Alex Cherepanov

Partly implement AcroForm feature: all fields that provire appearance
streams and text fields with variable text. Bug 687498.

DETAILS:
Although the sample file renders identically to Adobe Acrobat, many things
are not yet coded.
- other types of annotations without appearance streams
- XML formatted text
- multi-line text
- combed text
- right-aligned or centered text with non-0 word and character spacing.

[lib/pdf_main.ps lib/pdf_draw.ps lib/pdf_ops.ps]

2007-04-23T21:46:19.686175Z leonardo

Fix (TT fonts) : A faster computation of glyph lengthes.

DETAILS : 

This is a partial fix for bug 688971 
"huge performace problem (with large TT font?)".
Thanks to SaGS for idea to apply a *stable* sorting algorithm
for computing len_glyphs. See comment in code.

[src/gstype42.c]

2007-04-23T19:31:20.353885Z Henry Stiles

Margin adjustments courtesy of jbrown@cs.ucsd.edu.  We have no way of
testing this change since we do not have a Laserjet II.  Bug #688054.

[src/gdevdjet.c]

2007-04-23T18:04:55.781264Z leonardo

Fix (p*mraw devices) : Removing an incorrect debug printing (continued 2).

DETAILS : 

See comment in code.

[src/gdevpbm.c]

2007-04-23T17:38:16.893357Z leonardo

Fix : Provide alternative char codes in a CIDDecoding resource (continued).

DETAILS : 

Removing an unused variable.

[src/zcid.c]

2007-04-23T13:27:47.091654Z leonardo

Fix : Provide alternative char codes in a CIDDecoding resource.

DETAILS : 

Bug 689168 "Wrong Symbol displayed from MS-PGothic".
See the documentation change.

Note : FAPI implemented this feature with Decoding resource a long ago,
but it was not documented in Language.htm .

The old documentation about CIDDecoding in Language.htm appears incorrect.
The dictionary values were not strings.
They were arrays of integers.

[lib/gs_ciddc.ps doc/Language.htm src/zcid.c]

2007-04-23T06:42:08.584860Z leonardo

Fix (p*mraw devices) : Removing an incorrect debug printing (continued).

DETAILS : 

Revision 7869 fails with any PDF file.
Fixing it now.
See comment in code.

[src/gdevpbm.c]

2007-04-22T22:00:22.158968Z Alex Cherepanov

Fix MSVC 7 warnings about unused variables and unreferenced labels.

[src/zalg.c]

2007-04-22T20:25:22.439569Z leonardo

Implementing high level patterns, step 10.

DETAILS : 

gx_pattern_tile_is_clist crashed with empty tile.
Debugged with CET 09-34.PS .

[src/gxpcmap.c]

2007-04-22T20:19:02.249842Z leonardo

Fix (p*mraw devices) : Removing an incorrect debug printing.

DETAILS : 

Since revision 7795 the debug build of the old code prints "0 strings:" 
to stderr when interpreting any PDF file.
The release code doesn't do that. This printing is not controlled by any option.
Besides that, if a device parameter OutputIntent is specified,
the debug printing code accesses string parts by constant indices 
with no checking the string length, so it causes a potential crash.

Removing this code portion now because (1) we believe that
the debug and release build must generate same stderr by default,
and (2) we need a stable code with no dependence on the OutputIntent value.

Since Use.htm doesn't specify an useful -Z option to control this printing,
we believe that the device must implement anothe device parameter to control it.

[src/gdevpbm.c]

2007-04-22T17:55:56.827285Z leonardo

Implementing the PS operator .sort in C language.

DETAILS : 

This is a partial fix for bug 688971 
"huge performace problem (with large TT font?)".
Patch from SaGS.

The old PS implementation of lib\gs_init.ps::.sort uses a 
slow O(n^2) algorithm. Plus, array indexing operations are lenghty 
in PostScript. It seems to me this was initially written to sort 
the very few "%disk*%" names, so speed was irrelevant. Now, it is 
used to sort 'loca' tables (in some damaged TTFs). 

The patch implements the heap sort algorithm from the programmer's 
bible. This algorithm is guaranteed to be O(n log n) in the worst 
case. Variable's names are those from Knuth's book. Labels denote the 
algorithm's steps.

The implementation retains the maximum generality for the predicate, 
i.e. it can be anything that is able to compare 2 objects on the 
o-stack and leave a bool in their place. The predicate is not 
restricted to what's available to a FunctionType 4 function.

[src/zalg.c src/int.mak lib/gs_init.ps]

2007-04-22T11:50:25.863066Z leonardo

Fix (TT fonts) : A faster seeking through 'sfnts' array.

DETAILS : 

This is a partial fix for bug 688971 
"huge performace problem (with large TT font?)".
Patch from SaGS.

src\zfont42.c::string_array_access_proc() is now caches
the string index used last, and starts the next search from there. 
This info in stored together with the ref to 'sfnts', and 
consists of index of the string (.mru_sfnts_index) and total number 
of data bytes that precede this string (.mru_sfnts_pos).

If passing NULL for the 2 new parameters, string_array_access_proc() 
beheaves at it did before and starts the search from the beginning.

Otherwise it does one of:
- search forward from the mru string (possibly returning data from 
  it, without actually skipping anything), if new position >= 
  current's string starting position;
- search backwards from current string if requested position is in 
  the 2nd half of the fragment before the current string;
- search forward from the beginning if in 1st half.

The old garbager descriptor for gs_type42_data_s assumed
'ref' fields only. Now it is changed to account new fields,
which are not 'ref'.

[src/zfcid1.c src/zbfont.c src/ifont.h src/zfont42.c src/ifont42.h]

2007-04-21T02:33:44.148360Z Alex Cherepanov

Fix all warnings generated by MSVC 6 & 7 except the warnings matching
"C4018|C4244|jbig2dec|jasper" regular expression.

[src/dwimg.h src/lib.mak src/iscannum.c src/windows_.h src/gdevwpr2.c src/gp_mswin.c src/sfxstdio.c src/gdevpdfe.c src/gp_msprn.c src/dwdll.c ijs/unistd_.h src/dwsetup.cpp]

2007-04-19T15:04:51.253884Z Thomas DiGennaro

Integrate make_testdb.py with new environment,
including testing.cfg and python procedures in other scripts.
make_testdb.py supports creation of a testdata.db with checksums
generated by running gs build in HEAD/ and installed in gshead/.

[toolbin/tests/README toolbin/tests/make_testdb toolbin/tests/make_testdb.py]

2007-04-18T00:23:49.202468Z Alex Cherepanov

Fix a few warnings generated by GCC 4.1.2.

[src/gxttfb.c src/gdevpbm.c src/gdevpsdi.c src/gspath1.c src/zchar.c src/ttinterp.c]

2007-04-17T18:39:39.936412Z leonardo

Fix : A bug in device_cpath_accum_enum_ptrs.

DETAILS : 

Bug 689177 Another heap corruption (issue 2).

gx_device_clip::list.head was never enumerated.
The bug was intriduced in rev 7120 (5 months, 3 weeks ago) by leonardo.

[src/gxacpath.c]

2007-04-17T17:57:43.141720Z Ralph Giles

Remove the inadvertently added instance of testing.cfg; it clobbers 
local configs. Changes should instead be made to testing.cfg.example, 
with the expectation that users will copy that to testing.cfg and
edit to suit.

[toolbin/tests/testing.cfg]

2007-04-17T14:28:46.266428Z leonardo

Implementing high level patterns, step 9.

DETAILS : 

This fixes the bug 688396, step 9
It switches on the clist-based implementation of patterns.
We arbitrary set the 1Mb threshold for large patterns.
The threshold is not perfect - see (3) below.

Rather it fixes the bug, we would like to do further improvements someday :

1. Large uncolored patterns are not implemented. Need a color substitution forwarding device.
2. Get rid of non_gc_memory in the pattern clist.
3. For CET tests the choice of image-based or clist-based representation must be smarter than 
   MAX_BITMAP_PATTERN_SIZE threshold. While rendering a small pattern to memory device,
   check whether PaintProc applies another apttern. If so, discard the image and
   convert to the clist representation with running PaintProc at second time.
   Need a special forwarding device for the pattern color detection.
4. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   a wrong rendering of imagemask inside a pattern stream with ppmraw -r600 245-13.ps, 269-01.ps
5. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   a wrong rendering of image inside a pattern stream with pkmraw -r600 035-07.ps
6. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   a minor coordinate difference (+-1 pixel) appeared with pkmraw -r600 244-01.ps
7. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   the rendeting is slow with pkmraw -r600 245-13.ps, 269-01.ps 
8. (time optimization) clist_init is called twice when creating a clist-based pattern.
9. (time optimization) While a clist playback for a large pattern cell,
   set the bbox for the current clipping path for the clist device,
   to allow a faster skipping of elements outside the bbox.
10. (space optimization) Store pattern stream in the pattern cache memory; properly 
   account the stream size while computing the cache memory usage.
11. (space optimization, 32K per pattern) Purge and free clist buffer 
   (which includes a tile cache) when a clist-based pattern is not active
   between reading and writing. Why the tile cace is a property of a clist object ?
   We would like to have a single global tile cache.

[src/gxpcmap.c]

2007-04-17T14:09:50.996301Z leonardo

Implementing high level patterns, step 8.

DETAILS : 

This is a preparation for fixing the bug 688396, step 8

This change is algorithmically equivalent :
the new behavior is temporarily disabled with 
MAX_BITMAP_PATTERN_SIZE macro.

The revision 7856 appears incorrect in the part 
"Disables tile cache for clist-based patterns.".
As a consequence, the revision 7855 appears incorrect in the part 
"2. Releases the clist buffer when the clist writer completes with a pattern stream.".

This patch fixes that.
It allocates a half of 32K buffer for clist writer stream,
and another half for tile cache.

When building with MAX_BITMAP_PATTERN_SIZE 0,
the clist-based pattern code pased the testing with 
ppmraw -r600 comparefiles 
and pkmraw -r600 comparefiles. 
Rather this testing detected few problems,
we believe that they're not important for the bug 688396.

This code needs further improvements :
1. Large uncolored patterns are not implemented. Need a color substitution forwarding device.
2. Get rid of non_gc_memory in the pattern clist.
3. For CET tests the choice of image-based or clist-based representation must be smarter than 
   MAX_BITMAP_PATTERN_SIZE threshold. While rendering a small pattern to memory device,
   check whether PaintProc applies another apttern. If so, discard the image and
   convert to the clist representation with running PaintProc at second time.
   Need a special forwarding device for the pattern color detection.
4. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   a wrong rendering of imagemask inside a pattern stream with ppmraw -r600 245-13.ps, 269-01.ps
5. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   a wrong rendering of image inside a pattern stream with pkmraw -r600 035-07.ps
6. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   a minor coordinate difference (+-1 pixel) appeared with pkmraw -r600 244-01.ps
7. When compiled with MAX_BITMAP_PATTERN_SIZE 0,
   the rendeting is slow with pkmraw -r600 245-13.ps, 269-01.ps 
8. (time optimization) clist_init is called twice when creating a clist-based pattern.
9. (space optimization) Store pattern stream in the pattern cache memory; properly 
   account the stream size while computing the cache memory usage.
10. (space optimization, 32K per pattern) Purge and free clist buffer 
   (which includes a tile cache) when a clist-based pattern is not active
   between reading and writing. Why the tile cace is a property of a clist object ?
   We would like to have a single global tile cache.

[src/gxclist.c src/gxclbits.c src/gxpcmap.c]

2007-04-17T06:55:36.784240Z leonardo

Implementing high level patterns, step 7.

DETAILS : 

This is a preparation for fixing the bug 688396, step 7.

This patch fixes the Bug 689176  
"Infinite loop in gxpcmap.c ln 680.",
which was introduced with revision 7853
In gx_pattern_cache_add_entry mbits was reset
before revision 7853 when "the pattern completely fills its box",
and it was not after the revision 7853.
Thus the revision 7853 appears not algorithmically equivalent
rathen than expected.

This change restores the correct behavior,
and improves gx_pattern_cache_free_entry
for an easier monitoring of a pattern cell memory size
with a C debugger.

This code needs further improvements :
1. Large uncolored patterns are not implemented.
2. Get rid of non_gc_memory in the pattern clist writer.
3. clist_init is called twice when creating a clist-based pattern.

[src/gxpcmap.c]

2007-04-17T00:25:38.792981Z Timothy Osborn

This is a patch for bug report #689171.

DETAILS:
With this fix, DeviceN colors with a DeviceCMYK base color, will be treated as
DeviceCMYK in regards to overprint.

[src/gscdevn.c]

2007-04-17T00:02:10.771224Z leonardo

Fix : gs_copydevice2 crashed on error.

DETAILS : 

This problem has been occasionally detected while working on large patterns.
If an error happens in finish_copydevice, the function gs_copydevices
first closes the device copy, then releases its stype.
However a device usually provides a finalization method,
which releases stype automatically. Thus it has been released twice,
causing a crash in gs_free_object.

[src/gsdevice.c]

2007-04-16T23:55:59.056841Z leonardo

Implementing high level patterns, step 6.

DETAILS : 

This is a preparation for fixing the bug 688396, step 6.

This change is algorithmically equivalent :
the new behavior is temporarily disabled with 
MAX_BITMAP_PATTERN_SIZE macro.

This patch :
1. Implements the memory cleanup when a clist-based pattern cache entry purges.
2. Disables tile cache for clist-based patterns.
3. Disables the processing of uncolored patterns as large patterns.

This code needs improvements :
2. Large uncolored patterns are not implemented.
3. Get rid of non_gc_memory in the pattern clist writer.

[src/gxclist.c src/gxpcmap.c]

2007-04-16T18:53:12.628313Z leonardo

Implementing high level patterns, step 5.

DETAILS : 

This is a preparation for fixing the bug 688396, step 5.

This change is algorithmically equivalent :
the new behavior is temporarily disabled with 
MAX_BITMAP_PATTERN_SIZE macro.

This patch :
1. Implements the tiling.
2. Releases the clist buffer when the clist writer completes with a pattern stream.
3. Cleans warnings from Cygwin/gcc build.
4. Fixes a compilation error in gxpageq.c .

This code needs improvements :
1. The memory cleanup is not done when the clist-based pattern cache entry purges.
2. Large uncolored patterns work as colored (not tested yet).
3. Get rid of non_gc_memory in the pattern clist writer.

[src/gsptype1.c src/gxpageq.c src/lib.mak src/gxpcmap.c src/gsptype1.h src/gxpcolor.h src/gxfill.c src/gxp1fill.c]

2007-04-16T14:45:42.497063Z Thomas DiGennaro

Checkin the work on regression, search, testfiles.  Mostly Python scripts.
See README files for documentation of use and structure.

[toolbin/tests/dump_checksum.py toolbin/python toolbin/tests/gscheck_testfiles.py toolbin/tests/dump_checksum_plus.py toolbin/tests/update_baseline toolbin/tests/check_source.py toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/dump_checksum_raw.py toolbin/tests/find_unique_file.py toolbin/tests/rasterdb.py toolbin/tests/gscheck_fuzzypdf.py toolbin/search/README toolbin/testfiles toolbin/search toolbin/tests/get_baselines toolbin/tests/build_revision.py toolbin/tests/run_regression toolbin/tests/compare_checksumdb.py toolbin/tests/gsconf.py toolbin/tests/testdiff toolbin/tests/dump_testdb toolbin/tests/gsvalidate.py toolbin/tests/update_baseline.py toolbin/tests/make_baselinedb.py toolbin/tests/gscheck_raster.py toolbin/tests/update_pdfbaseline toolbin/tests/gsparamsets.py toolbin/tests/validate.py toolbin/tests/gstestutils.py toolbin/tests/compare_checksums.py toolbin/tests/regen_filelist.py toolbin/tests/run_nightly.py toolbin/tests/regen_baseline.py toolbin/tests/gstestgs.py toolbin/tests/run_regression.py toolbin/tests/get_baselines.py toolbin/tests/testdiff.py toolbin/tests/updatelistpdf.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/updatelist.py toolbin/tests/run_series.py toolbin/tests/get_baseline_log.py toolbin/tests/collate.py toolbin/tests/testing.cfg]

2007-04-16T11:02:19.661421Z leonardo

Implementing high level patterns, step 4.

DETAILS : 

This is a preparation for fixing the bug 688396, step 4.

This change is algorithmically equivalent :
the new behavior is temporarily disabled with 
MAX_BITMAP_PATTERN_SIZE macro.

The patch implements patterns with clist.
The choice between the old and the new implementation
is being controlled with MAX_BITMAP_PATTERN_SIZE macro.
When the pattern tile size is bigger, it writes the pattern
command stream into a clist object, which then
is stored into the pattern cache.
The pattern instantiation is done with the clist playback.

This code needs improvements :
1. It does not perform the tiling. Just renders a single instance of the pattern cell.
2. The memory cleanup is not done when the pattern cache entry purges.
3. Uncolored patterns work as colored.
4. Need to optimize with releaseing the clist buffer when
   the pattern clist writer completes.
5. Get rid of non_gc_memory in the pattern clist writer.

We commit this patch now because we need to merge 
data structures with the "band_complexity_array patch" (see rev 7847).

[src/gxclmem.c src/lib.mak src/gxclist.c src/gxpcmap.c src/gxcldev.h src/gxclmem.h src/gxclist.h src/gxpcolor.h src/gxp1fill.c src/zpcolor.c src/gxclread.c]

2007-04-16T02:50:57.803705Z Alex Cherepanov

Use right capitalization for compiled resources: s/Procset/ProcSet/

[src/openvms.mak src/int.mak src/Makefile.in]

2007-04-16T02:26:14.232909Z Alex Cherepanov

Scan numbers in the range of 2147483648..4294967295 in PDF Encrypt dictionary
as unsigned integers for compatibility with Acrobat Reader.
Bug 689010, customer 870.

[lib/pdf_main.ps src/iscan.c src/iscannum.c src/int.mak src/iscan.h src/iscannum.h src/ztoken.c]

2007-04-15T07:01:59.507361Z Henry Stiles

This fix is associated with closed bug 689139 and was not checked in
when that bug was closed due to a bookkeeping mistake.  It adds
attributes needed to parse the pxl color treatment operator.  There is
no implementation associated with these new attributes so no change is
expected.

[src/gdevpxen.h]

2007-04-15T06:38:02.809649Z Henry Stiles

The paper size was hard coded to A4 instead of using the paper size in the
printer device state.  Thanks to Leif Harcke for the patch.  The HP
and Canon color printer drivers are not tested so there are no
expected regression differences.

[src/gdevcdj.c]

2007-04-15T05:42:43.102974Z Henry Stiles

The range of runcode32 was not correct.  The specification says 3
(not 2) should be added to the run length.  See the JBIG2 spec, Table
29 in section 7.4.3.1.7 (Symbol ID Huffman table decoding).  Fixes
688009 for customer 670.

[jbig2dec/jbig2_text.c]

2007-04-14T14:08:04.439060Z Timothy Osborn

Fix for the band_complexity_array overflow issue. First reported in bug
report #689165. Also encountered by me when running the test file for bug
report #688830.

DETAILS:
The band_complexity_array array of a clist reader device was being statically
allocated with 100 elements. As the requirement is 1 element per band,
jobs requiring more than 100 bands could cause an abnormal termination
of ghostscript or some other failure. The array is now allocated dynamically
with 1 element per band.

[src/lib.mak src/gxclist.c src/gxcldev.h src/gxclist.h src/gdevprn.c src/gxclread.c]

2007-04-11T18:21:07.628832Z Timothy Osborn

Adding src/gsncdummy.[ch] and src/zncdummy.c to the Color Mapping section of Develop.htm

[doc/Develop.htm]

2007-04-11T18:15:35.603892Z Timothy Osborn

Adding svn keywords

[src/gsncdummy.h]

2007-04-11T18:08:02.032998Z Timothy Osborn

Adding svn keywords

[src/gsncdummy.c src/zncdummy.c src/gsncdummy.h]

2007-04-11T15:25:52.638692Z Timothy Osborn

svn newbie mistake. Did not mean to grab the lib folder items.*

[lib/pdf_main.ps lib/pdf_draw.ps lib/pdf_ops.ps lib/pdfopt.ps]

2007-04-11T15:20:44.560137Z Timothy Osborn

gsncdemo.* are now named gsncdummy.*

[lib/pdf_main.ps src/gsncdemo.c lib/pdf_draw.ps lib/pdf_ops.ps lib/pdfopt.ps]

2007-04-10T17:13:41.025532Z leonardo

Implementing high level patterns, step 3.

DETAILS : 

This is a preparation for fixing the bug 688396, step 3.
This change is algorithmically equivalent.
It encapsulates the initialization of gx_device_pattern_accum fields 
inside gx_pattern_accum_alloc, so that its clients must not deal
with a specific type of a pattern accumulation device.

Note: the 2 previous steps has a different title than
"Implementing high level patterns". 
They to be renamed.

[src/gxpcmap.c src/gxpcolor.h src/zpcolor.c]

2007-04-10T06:54:36.984146Z leonardo

Make the memory clist implementation to build always.

DETAILS : 

This is a preparation for fixing the bug 688396, step 2.
The memory clist implementation now builds unconditionally,
because it will be used for large patterns.
The file clist implementation builds if and only if it is requested with 
BAND_LIST_STORAGE=file .
See comment added into lib.mak .
clist_init_io_procs implements the choice.

Minor changes : io_procs are made const.
clist_io_procs_file, clist_io_procs_memory, allocateWithReserve are made local.

[src/gxclmem.c src/lib.mak src/gxclfile.c src/gxclist.c src/gxband.h src/gxclread.c src/gxclio.h]

2007-04-09T20:50:20.646460Z Alex Cherepanov

Interpret PDF PageLabels dictionary and include the labels in %%Page comments
in the PS file. Thanks to Jason McCarty for the patch. Bug 688071.

[lib/pdf2dsc.ps]

2007-04-09T08:54:30.839959Z leonardo

Implementing clist i/o virtual functions.

DETAILS : 

This is a preparation for fixing the bug 688396.
This change is algorithmically equivalent.

The old code defines macros for substituting
memfile_* procs to clist_* procs when 
the makefile option BAND_LIST_STORAGE is set to 'memory'.
Instead that, the new code defines a new structure clist_io_procs_t,
stores the procs into it, and chooses 
an implementation by the module initialization mechanizm.
The new function clist_init_io_procs works for that.

We would like to define the procs as virtual methods
of *clist_file_ptr, but it needs to change the logics
of clist_fopen, clist_fclose with allocating an
auxiliary structure. We would like to make this improvement 
as a separate patch in order to simplify the
regression testing and debugging.

[src/gxclmem.c src/gxpageq.c src/lib.mak src/gxclfile.c src/gxclist.c src/gxclmem.h src/gxpageq.h src/gxclist.h src/gdevprn.c src/gdevprna.c src/gxband.h src/gxclread.c src/gxclio.h src/gxclpage.c src/gxclutil.c]

2007-04-09T03:18:38.528054Z Alex Cherepanov

Remove unused static rendering procedures for 16-bit samples identical to the
corresponding 12-bit procedures. Fix bug 687399.

[src/gxi16bit.c]

2007-04-08T18:45:58.681482Z Alex Cherepanov

Make annotation handler more robust. Ignore annotations without /Subtype
entry and issue a warning.

[lib/pdf_draw.ps]

2007-04-08T18:23:38.107786Z Alex Cherepanov

Increase the size of %stdin buffer to support larger lookahead requests and
look for for %PDF- tag in the first 1024 bytes of the file. Fix bug 687125,

[lib/pdf_main.ps lib/pdf_base.ps src/ziodevs.c src/ziodevsc.c]

2007-04-08T17:55:40.402009Z leonardo

pscet_status.txt : Improving assignments.

[doc/pscet_status.txt]

2007-04-07T20:07:46.466482Z Ray Johnston

Add missing calls needed to properly send data to the printer on
Windows. Thanks to Luke Bakken for this fix. Bug 687250.

DETAILS:

Tested on Windows XP, built with MSVC 8 (Visual Studio 2005).
As Luke writes in the bug comment #5, this patch is derived
from Microsoft documentation at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_93g2.asp

[src/gp_msprn.c]

2007-04-07T01:58:38.533291Z Alex Cherepanov

Make the spot function in the high resolution halftone a readable procedure
to accomodate CET 29-05-01. Move Berthold K.P. Horn's copyright message into
the body of the function to keep them together at all times.

[doc/pscet_status.txt lib/gs_init.ps]

2007-04-06T15:58:56.468981Z Alex Cherepanov

Following Adobe implementation don't restore the operand of --begin--
when it overflows the dictionary stack. Fix CET 20-02-02.

DETAILS:
Implement the approach suggested by L. Peter Deutsch.

- Change the check_dstack macro in dstack.h so it works the same as
  check_estack in estack.h -- i.e., if the current dstack block is full,
  call ref_stack_extend and then only return an error if
  ref_stack_extend fails.
- Change the handling of e_dictstackoverflow in interp.c so it works
  the same as e_execstackoverflow -- i.e., it doesn't try to extend the
  stack.
- Change the implementation of zbegin in zdict.c to work like
  check_dstack. I.e., if the current dstack block is full, call
  ref_stack_extend; if ref_stack_extend returns e_dictstackoverflow, pop
  the operand from the ostack before returning the error code.

With this approach, the interpreter does not have to know anything about
special handling of dictstackoverflow, and the right thing happens in
the special case of the 'begin' operator.

[doc/pscet_status.txt src/zdict.c src/dstack.h src/interp.c]

2007-04-06T10:17:36.503282Z leonardo

Fix : MSVC8 warnings.
Also replaced cumbersome type casts and fixed ambiguous naming in gxclread.c .

[src/gxwts.c src/gswts.c src/gxclread.c]

2007-04-06T04:17:48.623209Z Henry Stiles

make gdevdevn a dependency of the transparency library since it
gdevp14 now depends on it.

[src/lib.mak]

2007-04-06T04:11:32.256255Z Henry Stiles

force the wts device to always band.

[src/gdevwts.c]

2007-04-06T04:11:00.512053Z Alex Cherepanov

Accept a perfectly valid 0-length pattern stream. Work around a strange
restriction on 0-length target string in the readstring operator.
Fix bug 689162.

[lib/pdf_draw.ps]

2007-04-06T02:43:19.702262Z Timothy Osborn

Splitting graphics library from interpreter portion of the sample custom color callback

[src/gsncdummy.c src/zncdummy.c src/gsncdummy.h]

2007-04-06T02:39:31.953398Z Timothy Osborn

Splitting graphics library from interpreter portion of the sample custom color callback

[src/lib.mak src/gsnamecl.h src/int.mak]

2007-04-05T21:34:09.306348Z Ralph Giles

Add #ifdef protection to some new debug printouts for the OutputIntent 
parameter.

[src/gdevpbm.c]

2007-04-05T17:36:43.783101Z Alex Cherepanov

Fix compilation on MSVC 6. Add a best effort simulation of C99 __func__
keyword on older compilers.

[src/lib.mak src/gdevdbit.c src/gserror.h]

2007-04-05T01:29:14.432997Z Henry Stiles

fixes a UMR that was caused by a typo.

[src/gdevwts.c]

2007-04-03T16:08:49.165033Z Stefan Kemper

Committing Raph's wtsimdi device

DETAILS:

-r600 -sDEVICE=wtsimdi does a performance optimized clist reader that either directly halftones 
or uses an intermediate rgb buffer to do non-trivial ROPS correctly then post halftones 
on a per band basis.

Uses icc color profiles to convert to device color.  
Uses wts halftone algorithm.

The device reads in a link icc profile from "link.icc", and WTS
halftone files from wts_plane_[0123]. It generates a ppm file that
can be used to visualize the halftoned file (it is prepared from the
CMYK bits in the procedure write_pkmraw_row in gdevwts.c - if an
actual device is available, that routine should be modified to produce
data for the device).

  This device _does_ switch on a per-band basis between continuous
tone pathways (true branch of the "if" statement in
wtsimdi_create_buf_device) and halftone, based on whether there are
rops. That is the major point of the work.

This is not yet production ready, but is useful for performance and integration work.

Known issues:

1. Banding only, low res non-banding will crash,
the device is intended for printer resolution halftoning, at 600dpi
The halftones are designed for 600dpi.

2. Color profiles and halftone screens are not in romfs,
These need to be copied into the same object/binary directory
that the application is in for now.
./pspcl6 and ./wts_* and ./*.icc in the same directory.
Failure to find these files will crash.

3. Halftone phase not set correctly in halftone band.

4. copy_mono doesn't optimize all-0 and all-1 colors as much as it
should - it can avoid processing the screen at that point.

5. halftone mode implemented only for rgb color model, not CMYK.

6. size of band_colors_used[] array is statically determined

[src/gxwts.c src/gxclist.c src/gxdevbuf.h src/gxwts.h src/gxclist.h src/gxgetbit.h src/gdevwts.c src/gdevdbit.c src/gxbitfmt.h src/gxclread.c src/gdevpng.c src/gxclutil.c src/gxclimag.c src/gxcldev.h src/gdevppla.c src/gdevprn.c src/gdevppla.h src/gswts.c src/gdevprn.h src/gxclpath.c src/gxclrect.c]

2007-04-02T22:34:51.451596Z Alex Cherepanov

Change CET 17-06-02 to AOK. Ghostscript generates correct results
at 300 dpi and above.

[doc/pscet_status.txt]

2007-04-02T21:43:37.719440Z Alex Cherepanov

Change CET 17-04-02 and 17-05-02 to AOK. Ghostscript generates correct results
at 300 dpi and above.

[doc/pscet_status.txt]

2007-04-02T18:25:44.568365Z leonardo

Fix (pdfwrite) : a composite font with a Type 3 descendent and FMapType 2 (continued).

DETAILS :

Patch from SaGS with minor improvements.
Bug 688639 " pdfwrite: a composite font with a Type 3 descendent and FMapType 2".
The last patch deosn't correctly accommodate the code from SaGS.

[src/gdevpdtc.c]

2007-04-01T21:46:50.065374Z leonardo

Fix (pdfwrite) : a composite font with a Type 3 descendent and FMapType 2 

DETAILS :

Patch from SaGS with minor improvements.
Bug 688639 " pdfwrite: a composite font with a Type 3 descendent and FMapType 2".
See comment #13 in the bug report.

[src/gdevpdtc.c]

2007-04-01T19:14:49.835812Z leonardo

Fix (ps2write) : Device initialization problems.

DETAILS :

Patch from SaGS with a minor improvement.
See bug 688856 comments 11,12,13 for details.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdfd.c src/gdevpdfb.h lib/gs_pdfwr.ps]

2007-04-01T18:27:55.285455Z leonardo

pscet_status.txt : Closing 11-16-8, which appears eventually fixed; Passing 17-04-2 to Alex.	

[doc/pscet_status.txt]

2007-04-01T07:39:25.772162Z Ray Johnston

Fix typo that caused undefined during build.

[src/gdevrops.c]

2007-04-01T07:06:00.179365Z leonardo

Fix : MSVC warnings.

DETAILS :

The custom color callback patch was not accommodated to
the color space reference count patch.

[src/gscie.h src/gscscie.c src/gxcspace.h src/gscsepr.c src/gscspace.c src/gsicc.c src/gspcolor.c src/gscdevn.c src/gscie.c src/gscolor2.c]

2007-03-29T23:26:10.038260Z Alex Cherepanov

Change CET 09-56-03 to OK. Ghostscript matches Tek360 checksum. CPSI-based
PhotoPrint product is wrong again.

[doc/pscet_status.txt]

2007-03-29T00:53:36.234691Z Alex Cherepanov

Don't store part of the state of readhexstring in not yet written bytes
of the target string to avoid the string modification when the operator
fails and the stack is restored. Fix CET 23-20-01.

DETAILS:
Pack the state into a single 32-bit word for the convenience of reusing
the procedures that take a single integer value as a state.

DIFFERENCE:
No other CET or Comparefiles differences.

[doc/pscet_status.txt src/zfileio.c]

2007-03-28T16:03:31.220336Z Alex Cherepanov

Propagate CloseSource or CloseTarget flags to the temporary stream
created by filter_ensure_buffer(). Fix CET 23-12k-02.

DIFFERENCE:
No other CET or Comparefiles differences.

[doc/pscet_status.txt src/zfilter.c]

2007-03-27T22:44:40.516433Z Alex Cherepanov

Change the status of CET 17-01-07, 17-02-06, and 17-02-07 to AOK.
Ghostscript matches Tek and Distiller 5, CPSI is wrong here.

[doc/pscet_status.txt]

2007-03-27T17:39:51.715201Z Alex Cherepanov

Make FontBBox a required attribute in CPSI compatibility mode.
PLRM says that it's a required attribute and recent Adobe interpreters
enforce this. Fix CET 15-11.

[doc/pscet_status.txt src/zchar.c]

2007-03-27T02:55:14.620042Z Alex Cherepanov

Change the status of CET 11-18-6 to AOK. Adobe interpreters have obvious
rendering bugs that are hard to simulate in Ghostscript.

[doc/pscet_status.txt]

2007-03-26T00:36:09.521618Z Alex Cherepanov

Clear a Purify warning. Fix yet another case where a non-0-terminated string
was directly used as a sscanf() argument, causing an access to the wild core.

[src/gdevpdfm.c]

2007-03-25T21:58:01.514677Z Alex Cherepanov

Add a new option for ignoring an Encoding entry of a True Type font dictionary.
Work around the bug 688596.

DETAILS:
This patch provides a workaround for PDF documents that include an incorrect
Encoding entry for a True Type font dictionary. Using the new command line
option -dIgnoreTTEncoding one can force the PDF interpreter to use an encoding
specified in the 'cmap' table of embedded True Type fonts. When it is
specified, the Encoding dictionary is not tested for PDF comformity.

[lib/pdf_font.ps doc/Use.htm]

2007-03-25T20:16:59.028603Z Alex Cherepanov

Clear a Purify warning. Search for the EOD marher not earlier than
the start of the data buffer.

[src/sa85d.c]

2007-03-25T17:47:16.863668Z Alex Cherepanov

Don't check current row position in the mask of the image type 3x
when the mask is not defined. Fix an infinite loop.
Fix the bug 688912, and a part of the bug 689138.

[src/gximag3x.c]

2007-03-25T14:48:19.599692Z Alex Cherepanov

Fix an off-by-one error in the glyph array sorting logic detected by Purify.

[src/gxfcopy.c]

2007-03-25T04:18:56.724059Z Alex Cherepanov

Clear a Valgrind warning. Initialize a buffer overshot area in CCITTFaxDecode
filter. Bug 688905.

[src/scfd.c]

2007-03-24T17:28:22.209822Z Timothy Osborn

Changing C++ comments to C format comments

[src/gdevp14.c]

2007-03-24T16:31:23.728641Z Alex Cherepanov

Fix C++ -style variable definition introduced by the previous commit,
which is not supported by older compilers: MSVC 6, gcc 2.96.

[src/gscspace.c]

2007-03-23T13:56:11.260385Z Timothy Osborn

Custom color hooks code merge

[src/gsimage.c src/gstext.c src/gscscie.c src/gdevtsep.c src/gxdcolor.h src/gsciemap.c src/gsicc.c src/gscdevn.c src/gscie.c lib/pdf_main.ps src/gdevdsp.c src/gdevpsd.c src/lib.mak src/gdevdflt.c src/gsncdemo.c src/gsdps1.c src/gdevdevn.c src/zusparam.c src/gxdevice.h src/gdevdevn.h src/iparam.c src/zfapi.c lib/pdf_ops.ps src/gsstate.c src/gdevp14.c src/gxclist.c src/gxcmap.c src/gsstate.h src/gdevp14.h src/ztrans.c src/gstrans.c src/gxblend.c src/gdevpbm.c src/gstrans.h src/gxclip.c src/gxblend.h src/gscspace.c src/gsnamecl.c src/gdevrops.c src/gscolor2.c src/zcolor3.c src/gdevpnga.c src/gscspace.h src/gxistate.h src/gsnamecl.h src/gsdparam.c src/gdevbbox.c src/gxclipm.c src/gxcie.h src/gdevnfwd.c src/gdevprn.c src/gspaint.c src/gscsepr.c src/gsutil.c src/gxclip2.c src/gxdevcli.h]

2007-03-21T01:48:30.497976Z leonardo

Fix (PDF interpreter, pdfwrite) : Transparently pass unusialrenedering modes.

DETAILS :

Bug 689124 "Converting PDF to PDF makes text non-selectable"

The old code transformed a text with unusual rendering mode
into outlines.

1. When the current device is pdfwrite,
   the new code of PDF interpreter doesn't emulate 
   unusual rendering modes. (Patch from Alex).

2. pdfwrite transparently passes unusual rendering modes.

[src/gdevpdtt.c lib/pdf_ops.ps]

2007-03-19T04:27:34.509606Z Ralph Giles

Correct a typo in the indexed colorspace support for the luratech JPX 
decoder.

[src/sjpx_luratech.h]

2007-03-15T02:13:09.397460Z Alex Cherepanov

Reset the dashed line array at initgraphics. Fix CET 09-28-01.

[doc/pscet_status.txt src/zgstate.c]

2007-03-15T00:49:11.591683Z Ralph Giles

Update an additional version number.

[doc/News.htm]

2007-03-15T00:44:21.345487Z Ralph Giles

Bump the revision number after the 8.56 release.

[doc/News.htm lib/gs_init.ps src/gscdef.c src/version.mak]