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]