Update to final release date for 8.52[doc/API.htm 1.52, doc/Bug-form.htm 1.48, doc/Bug-info.htm 1.48, doc/C-style.htm 1.54, doc/Commprod.htm 1.40, doc/Copying.htm 1.38, doc/DLL.htm 1.42, doc/Deprecated.htm 1.19, doc/Details8.htm 1.22, doc/Develop.htm 1.158, doc/Devices.htm 1.89, doc/Drivers.htm 1.57, doc/Fonts.htm 1.50, doc/Helpers.htm 1.43, doc/History1.htm 1.38, doc/History2.htm 1.38, doc/History3.htm 1.38, doc/History4.htm 1.38, doc/History5.htm 1.40, doc/History6.htm 1.55, doc/History7.htm 1.43, doc/History8.htm 1.27, doc/Htmstyle.htm 1.43, doc/Install.htm 1.55, doc/Issues.htm 1.51, doc/Language.htm 1.97, doc/Lib.htm 1.42, doc/Maintain.htm 1.49, doc/Make.htm 1.89, doc/News.htm 1.166, doc/Projects.htm 1.66, doc/Ps-style.htm 1.36, doc/Ps2epsi.htm 1.41, doc/Ps2pdf.htm 1.87, doc/Ps2ps2.htm 1.6, doc/Psfiles.htm 1.67, doc/Readme.htm 1.70, doc/Release.htm 1.94, doc/Source.htm 1.38, doc/Testing.htm 1.36, doc/Unix-lpr.htm 1.38, doc/Use.htm 1.135, doc/Xfonts.htm 1.38, doc/gs-vms.hlp 1.36, man/dvipdf.1 1.36, man/font2c.1 1.36, man/gs.1 1.37, man/gslp.1 1.36, man/gsnd.1 1.36, man/pdf2dsc.1 1.35, man/pdf2ps.1 1.37, man/pdfopt.1 1.35, man/pf2afm.1 1.36, man/pfbtopfa.1 1.37, man/printafm.1 1.36, man/ps2ascii.1 1.36, man/ps2epsi.1 1.34, man/ps2pdf.1 1.41, man/ps2pdfwr.1 1.40, man/ps2ps.1 1.43, man/wftopfa.1 1.36, src/version.mak 1.85]
Remove this script that is no longer used in the release process. We now use cvs2cl.pl third party script.[toolbin/cvs2hist.py 1.13]
Fix serious bit rot for building History# and Details# from Changes and Details created by split_changelog.py. Allows the instructions in Release.htm to actually work. This file invoked by toolbin/makehist.tcl. DETAILS: This script really hasn't worked since we changed to the new format Changes that is created by cvs2cl.pl (instead of the now deprecated cvs2hist.py) For all releases after the aforementioned change, the History#.htm and Details#.htm were being hand edited. Hopefully the format created by this script will appear consistent with that created manually.[toolbin/makeset.tcl 1.15]
Two changes needed to fix a single bug. First, the GC 'limit' logic was collecting too frequently. Second, the PDF ICCBased colorspace logic was repeatedly creating a ReusableStreamDecode filter for the DataSource element. Fixes bug #687117 for customer #850.` DETAILS: The 'limit' value used to trigger a GC process was sometimes set to a number smaller than the 'inheritied' value. This resulted in a GC scan on every interpreter loop past the gc_signal check. Even with this fixed, the file ran slower than the -dNOGC case because the PDF interpreter 'csset' logic would set the ICCBased colorspace that would create a new ReusableStreamDecode filter from the DataSource on every 'Do' of the many images used to paint the logo (line by line). The reusablestreamdecode logic would allocate a 64000 byte string (only 3144 bytes of which were actually retained) so after about 8 images the allocations would exceed the limit and another GC would run (freeing up the space used by those 8 large strings and 7 of the small ones along with miscellaneous stuff). The fix for the second issue was to check if the ICCBased colorspace had already been 'resolved' (was a dicttype instead of a procedure that was an indirect reference). Since the initial processing of the ICCBased colorspace created a ReusableStreamDecode filter for the DataSource we are able to skip all of this preparation logic. EXPECTED DIFFERENCES. None (except a speed increase). The regression I ran reduced from 9000 sec to 8700 sec.[lib/pdf_draw.ps 1.98, src/gsalloc.c 1.23]
Update change logs for 8.52 release.[doc/Changes.htm 1.59, doc/Details.htm 1.18]
Tolerate 'null' as a single argument form of setcustomcolor. This is not documented in TN5044, but older Adobe ProcSets apparently use this mode. Fixes 'misc/cnurse.ps' of the smoke test used prior to release.[lib/gs_lev2.ps 1.38]
Fix (some of) the gcc compiler warnings (at least the really easy ones).[src/genht.c 1.5, src/gsiorom.c 1.2, src/zdevice2.c 1.10, src/zdps1.c 1.8, src/zfcmap.c 1.17, src/ztrans.c 1.28]
Commit updates for 8.52 release -- documentation dates and GS_PRODUCT[doc/API.htm 1.51, doc/Bug-form.htm 1.47, doc/Bug-info.htm 1.47, doc/C-style.htm 1.53, doc/Commprod.htm 1.39, doc/Copying.htm 1.37, doc/DLL.htm 1.41, doc/Deprecated.htm 1.18, doc/Details8.htm 1.21, doc/Develop.htm 1.157, doc/Devices.htm 1.88, doc/Drivers.htm 1.56, doc/Fonts.htm 1.49, doc/Helpers.htm 1.42, doc/History1.htm 1.37, doc/History2.htm 1.37, doc/History3.htm 1.37, doc/History4.htm 1.37, doc/History5.htm 1.39, doc/History6.htm 1.54, doc/History7.htm 1.42, doc/History8.htm 1.26, doc/Htmstyle.htm 1.42, doc/Install.htm 1.54, doc/Issues.htm 1.50, doc/Language.htm 1.96, doc/Lib.htm 1.41, doc/Maintain.htm 1.48, doc/Make.htm 1.88, doc/News.htm 1.165, doc/Projects.htm 1.65, doc/Ps-style.htm 1.35, doc/Ps2epsi.htm 1.40, doc/Ps2pdf.htm 1.86, doc/Ps2ps2.htm 1.5, doc/Psfiles.htm 1.66, doc/Readme.htm 1.69, doc/Release.htm 1.93, doc/Source.htm 1.37, doc/Testing.htm 1.35, doc/Unix-lpr.htm 1.37, doc/Use.htm 1.134, doc/Xfonts.htm 1.37, doc/gs-vms.hlp 1.35, man/dvipdf.1 1.35, man/font2c.1 1.35, man/gs.1 1.36, man/gslp.1 1.35, man/gsnd.1 1.35, man/pdf2dsc.1 1.34, man/pdf2ps.1 1.36, man/pdfopt.1 1.34, man/pf2afm.1 1.35, man/pfbtopfa.1 1.36, man/printafm.1 1.35, man/ps2ascii.1 1.35, man/ps2epsi.1 1.33, man/ps2pdf.1 1.40, man/ps2pdfwr.1 1.39, man/ps2ps.1 1.42, man/wftopfa.1 1.35, src/gscdef.c 1.55, src/version.mak 1.84]
Fix for 688316 SeparationOrder device parameter causes "/undefined in --get--". DETAILS: The fix for 688192 created a problem with the handling of the SeparationOrder device parameter. That fix changed when device parameter values were updated into the device structure. This caused a problem when checking the colorant names for the SeparationOrder parameter.[src/gdevdevn.c 1.28, src/gdevdevn.h 1.12]
Add missing documentation for lib/PDFX_def.ps.[doc/Psfiles.htm 1.65]
2005-09-29 18:35 Igor Melichev
Fix (pdfwrite) : Improve DCT compression quality with a hewristic choice of DCT encoding parameters (continued 3). DETAILS : The first patch for the subject used an incompatible type for representation of HSamples, VSamples in the intermediate parameter list. It caused another compiler dependent effect when choosing DCT parameters. Also changed the dominatrion factor to pass color spaces of Altona-Testsuite_p2_S_x3.pdf as RGB-like ones. EXPECTED DIFFERENCES : None with Windows/MSVC2005. On Linux may fix more 2005-09-23 regressions, which left on 2005-09-29.[src/gdevpsdi.c 1.45]
2005-09-29 15:24 Igor Melichev
PDF interpreter now processes ToUnicode CMaps when the target device is pdfwrite (continued). DETAILS : This minor fix removes an unintended debug printing. EXPECTED DIFFERENCES : None.[lib/pdf_font.ps 1.80]
2005-09-29 08:36 Igor Melichev
Fix (pdfwrite) : Improve DCT compression quality with a hewristic choice of DCT encoding parameters (continued 2). DETAILS : The first patch for the subject defined an incorrect condition for matrix diagonal domination. In same time, the regression test tool detected differences on Linux, which are not appeared while testing on Windows. We found out that Windows and Linux builds apply different DCT encode parameters. We guess that the reason is that the patched code accesses the [2][3]th element of a [4][3] array. Such element doesn't exist theoretically, so the effect may be compiler dependent (rather we're wonder what exactly does it access on Linux, because [2][3] is still inside the array memory area). So now we fix the incorrect condition and then will check regressions again. EXPECTED DIFFERENCES : None with Windows/MSVC2005. May fix the 2005-09-23 regressions on Linux.[src/gdevpsdi.c 1.44]
Fix for 688310 pdf open error in op_show_continue. DETAILS: This is another example of a file with a singular CTM while processing text. There already was some logic in pdf_ops.ps for handling this sort of situation. However it did not properly handle this case. The fix consists of extending the logic for handling singular CTMs.[lib/pdf_ops.ps 1.41]
2005-09-26 08:20 Igor Melichev
Fix (pdfwrite) : High level pattern handling was incomplete. DETAILS : Bug 688307 (the bug title is misleading). gdev_pdf_fill_mas must not call gx_default_fill_mask with a pattern color, which is dummy due to high level pattern handling. Actually it's a missed code branch since high level pattern were implemented. EXPECTED DIFFERENCES : None.[src/devs.mak 1.138, src/gdevpdfb.c 1.33]
Change reporting of some noisy (irritating) Warnings generated from many PDF files that don't strictly follow the spec. Bug 688229. DETAILS: The "fonts with Subtype = /TrueType" and "Embedded font uses undefined proc" messages could occur MANY times in PDF files. I'm sure users will get the point as well with this approach that only gives the warnings once at the end of processing, with the list of offensive printed once. Particularly for the TrueType font issue it might make it easier to figure out which fonts are missing (and thus substituted) since each font is only listed once and the list is sorted (which will collect font families together). EXPTECTED DIFFERENCES. None (execpt the gs-stderr log will now be shorter).[lib/pdf_font.ps 1.79, lib/pdf_main.ps 1.100]
Fix handling of TrueType fonts with zero length name tables. Bug 688305 for customer 870. DETAILS: This worked with a very old gs_ttf.ps, but since we didn't have any such files in our regression suite, whatever caused the regression is unknown. Detecting zero length name tables and returning false is straightforward. EXPECTED DIFFERENCES. None (ran existing regression suite).[lib/gs_ttf.ps 1.48]
MSVC 6 cannot convert from int64 to double (not yet implemented error). Truncate to int prior to conversion to float.[src/gdevpsdi.c 1.43]
Fix handling of EOD sequences when decoding CCITT data with EndOfBlock false. Bug 688306 for customer 780. DETAILS: Although the PLRM implies that the CCITT EOD sequence(s) will not be present when EndOfBlock is false (the default is 'true'), Adobe Acrobat will create PostScript with EOD sequences after the CCITT even when EndOfBlock is false. There was a comment in the CCITT decoder about this, but once 'rows_left' went to zero, any EOD sequence was not consumed by the CCITTFaxDecode filter. The fix checks for and consumes any trailing EOD sequence even when the EndOfBlock parameter is false. IMHO, this is a really sloppy behaviour by Adobe Acrobat since they seem to just copy the CCITT data from the input PDF, but explicitly put EndOfBlock false even though the PDF did not have the parameter to the filter (defaulting to EndOfBlock true). EXPECTED DIFFERENCES: None. Regression test OK.[src/scfd.c 1.9]
2005-09-20 11:35 Igor Melichev
Fix (pdfwrite) : Improve DCT compression quality with a hewristic choice of DCT encoding parameters. DETAILS : Bug 687174 "(pdfwrite) DCT compression quality problem". It implements Raph's suggestion about choosing DCT parameters for 3-component images depending on the image color space. If color space looks like RGB, set ColorTransform to 1. If color space looks like Lab, set ColorTransform to 0. Otherwise set /HSamples [1 1 1 1] /VSamples [1 1 1 1]. See a motivation in the bug 687174. See comments in code about details of the hewristic. Minor change : pdf_setup_masked_image_converter called a memory allocator with a wrong client name. EXPECTED DIFFERENCES : test.pdf[src/devs.mak 1.137, src/gdevpdfd.c 1.70, src/gdevpsdi.c 1.42]
2005-09-19 14:12 Igor Melichev
Fix: /SP pdfmark must synchronize the clipping path (continued). DETAILS : Bug 688167 "change of real number fomat from fixed to exponential format". This improves the clipping path synchronization as SaGS suggested (see the bug 688167 Comment #4). EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.50]
Fix for double 'endstream' in a Content stream. Now endstream terminates the object the same way 'endobj' would. Bug 688303 for customer 670. EXPECTED DIFFERENCES: None (case did not exist in regression suite).[lib/pdf_base.ps 1.48]
Fix handling of paths so that 'cm' will affect pending path operations (fill stroke or clip). Verified that with this patch we do as Acrobat Reader from 4 through 7 does. Bug 688299 for customer 870. DETAILS: The basics of using 'upath', then 'uappend' to capture, then replay the path after the 'concat' done by 'cm' is straightforward, but since the path may not be used, there may be coordinates that are WAY out-of-range after an arbitrary 'cm' so we execute the 'uappend' inside a 'stopped' context. EXPECTED DIFFERENCES: None. I did a check of all PDF's in the regression suite -- none had any differences.[lib/pdf_draw.ps 1.97]
Correct edit problem with previous commit (copy/paste didn't get totally changed for src/gsiorom.c).[doc/Develop.htm 1.156]
Add missing documentation in Develop.htm and remove dead code commented out with C++ style comments to eliminate regression test squawks.[doc/Develop.htm 1.155, src/mkromfs.c 1.2]
Add a common case to an optimization check in the memflip function.[src/gsutil.c 1.11]
Prevent accessing past end of estack block which could occur if screen enum was not in the current estack block. EXPECTED DIFFERENCES. None. (this was only encountered in rare circumstances).[src/zht.c 1.7]
2005-09-12 11:52 Igor Melichev
ps2write : Implementing a generation of PDF/X-3 (continued). DETAILS : This change improves the documentation. EXPECTED DIFFERENCES : None.[doc/Ps2pdf.htm 1.85]
2005-09-12 11:34 Igor Melichev
ps2write : Implementing a generation of PDF/X-3. DETAILS : This implements the new feature, which is being coontrolled with a new command line option PDFX, and a new pdfwrite device paramewter with same name. 1. A documentation change, which explains the new feature. 2. A Postscript code change : the DeviceRGB color space substitution, a special handling of /PS pdfmark. 3. A new sample file gs/lib/PDFX_def.ps with default PDF/X-3 definitions. 4. A C code change : force CompatibilityLevel 1.3, force embedding all fonts, skip halftone phases and transfer functions, write TrimBox. EXPECTED DIFFERENCES : None.[doc/Develop.htm 1.154, doc/Ps2pdf.htm 1.84, lib/PDFX_def.ps 1.1, lib/gs_devcs.ps 1.7, lib/gs_pdfwr.ps 1.49, src/gdevpdf.c 1.124, src/gdevpdfb.h 1.13, src/gdevpdfg.c 1.68, src/gdevpdfp.c 1.53, src/gdevpdfx.h 1.136, src/gdevpdtf.c 1.46]
2005-09-08 17:32 Igor Melichev
Fix (ps2write) : Suppress floating point number format in pdfmark operands. DETAILS : Bug 688167 "change of real number fomat from fixed to exponential format". An unobvious point in this bug was to find that the coversion happens in Postscript code of the pdfmark handler rather than in C code of the PDF writer. EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.48]
2005-09-07 20:43 Igor Melichev
Fix (ps2write) : Adjust the graphic state before executing a Form XObject. DETAILS : Bug 688293 "opdfread: Wrong graphics state when painting a Form XObject". Patch from SaGS (see Bug 688293). EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.84]
Change to accept PDF with names that mis-use the '#" escape character when characters following the # are not hex (AR 7 does this). Bug 688297. EXPECTED DIFFERENCES: none.[lib/pdf_base.ps 1.47]
2005-09-06 22:21 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 12 (fix 2). DETAILS : The old code wrote a scratch data for the key /G of a soft mask dictionary, because the referent was freed earlier. Debugged with -Z?$@ SoftMaskDict.pdf . EXPECTED DIFFERENCES : None.[src/gdevpdft.c 1.52]
2005-09-06 20:04 Igor Melichev
Fix (ps2write) : The vector device virtual function dorect was not clipped by page. DETAILS : Bug 688279 "ps2write : maybe an incorrect sbstack bottom condition.". This change fixes a minor problem, which appears in ps2write only. Doing it almost for a clarity of the code. EXPECTED DIFFERENCES : None.[src/gdevpdfd.c 1.69]
2005-09-06 17:18 Igor Melichev
Fix (pdfwrite) : /BP pdfmark could create dead PDF objects. DETAILS : Bug 687560 "Invalid PDF if /BP pdfmarks with non-unique /_objdef". This change relates to pdfmark BP, EP, SP and PS. 1. Delay the object ID assignation untill the stream accumulation is completed. 2. Drop redundant equal objects, substituting references to an old one (Equal BP...EP objects appear when BP...EP portion is executed with _same_ graphic state). 3. Delay the storing in the named resource dictionary untill the stream accumulation is completed and redundant object is substituted. 4. gx_device_pdf::objname stores the last name for (3). It is being saved and restored in the substream stack. 5. The memory descriptor of gx_devoce_pdf is enhanced with objname, which is a pointer to string. 6. gsstruct.h adds another memory descriptor macro for (4). 7. Forward references mentioned in the bug 687560 are not supported and cause "undefined". EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.123, src/gdevpdfb.h 1.12, src/gdevpdfm.c 1.49, src/gdevpdfx.h 1.135, src/gdevpdti.c 1.52, src/gsstruct.h 1.22]
2005-09-06 16:22 Igor Melichev
Fix (garbager) : Provide a method for relocating a parameter string and use it in the pdfwrite device (continued). DETAILS : The last patch for the subject appears incomplete. This one adds macros for parameter strings for pointer enumeration. EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.122, src/gdevpdfx.h 1.134, src/gsstruct.h 1.21]
2005-09-06 13:47 Igor Melichev
Fix (ps2write) : pdf_substitute_resource was misspelled. DETAILS : This a cosmetic syntaxical change. EXPECTED DIFFERENCES : None.[src/gdevpdfg.c 1.67, src/gdevpdfj.c 1.49, src/gdevpdft.c 1.51, src/gdevpdfu.c 1.87, src/gdevpdfx.h 1.133]
2005-09-05 14:18 Igor Melichev
Fix (garbager) : Provide a method for relocating a parameter string and use it in the pdfwrite device. DETAILS : We occasionally detected that gdev_pdf_put_params wrongly handled the OPDFReadProcsetPath parameter : the old code modifies the next field after gx_device_pdf::OPDFReadProcsetPath. It happens because c_param_write assumes the parameter type is gs_param_string (and doesn't check it neither at the compile time, nor at runtime), but the actual field type is gs_string, which is smaller in 4 bytes. When we fix the type of gx_device_pdf::OPDFReadProcsetPath, a problem appears in the garbager descriptor : a warning about a type cast appears. Analyzing it so far we found that in this case the garbager may relocate "persistent" parameter string, which is not allocated in the heap. For fixing the latter we define a new garbager method igc_reloc_param_string and few accessors to it, and use them in the gx_device_pdf memory descriptor. We choose this way because we know that other devices need same method for separation names. This patch consists of 2 parts : 1. The enhancement for the garbager, which also moves the definition of gs_param_string to the scope visible the garbager. This part modifies the files igc.c, igcstr.c, gsparam.h, gsstruct.h, gstypes.h, igcstr.h 2. The improvement for the pdfwrite device, which modifies other files : gdevpdfb.h, gdevpdfx.h, gdevpdf.c, gdevpdfu.c . Other devices may need a revision. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.83]
2005-09-05 14:18 Igor Melichev
ps2write : Compact the output file. DETAILS : 1. Strip whitespaces and comments when writing procsets to the output file. 2. A new device parameter CompressEntireFile allows to apply LZWEncode either to the procset or to entire file. 3. When HaveTrueTypes is false, the related part of the procset is being skipped EXPECTED DIFFERENCES : None.[doc/Ps2ps2.htm 1.4, src/gdevpdf.c 1.121, src/gdevpdfb.h 1.11, src/gdevpdfp.c 1.52, src/gdevpdfu.c 1.86, src/gdevpdfx.h 1.132]
2005-09-05 13:58 Igor Melichev
Fix (garbager) : Provide a method for relocating a parameter string and use it in the pdfwrite device. DETAILS : We occasionally detected that gdev_pdf_put_params wrongly handled the OPDFReadProcsetPath parameter : the old code modifies the next field after gx_device_pdf::OPDFReadProcsetPath. It happens because c_param_write assumes the parameter type is gs_param_string (and doesn't check it neither at the compile time, nor at runtime), but the actual field type is gs_string, which is smaller in 4 bytes. When we fix the type of gx_device_pdf::OPDFReadProcsetPath, a problem appears in the garbager descriptor : a warning about a type cast appears. Analyzing it so far we found that in this case the garbager may relocate "persistent" parameter string, which is not allocated in the heap. For fixing the latter we define a new garbager method igc_reloc_param_string and few accessors to it, and use them in the gx_device_pdf memory descriptor. We choose this way because we know that other devices need same method for separation names. This patch consists of 2 parts : 1. The enhancement for the garbager, which also moves the definition of gs_param_string to the scope visible the garbager. This part modifies the files igc.c, igcstr.c, gsparam.h, gsstruct.h, gstypes.h, igcstr.h 2. The improvement for the pdfwrite device, which modifies other files : gdevpdfb.h, gdevpdfx.h, gdevpdf.c, gdevpdfu.c . Other devices may need a revision. EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.120, src/gdevpdfb.h 1.10, src/gdevpdfu.c 1.85, src/gdevpdfx.h 1.131, src/gsparam.h 1.13, src/gsstruct.h 1.20, src/gstypes.h 1.7, src/igc.c 1.15, src/igcstr.c 1.7, src/igcstr.h 1.6]
2005-09-04 20:42 Igor Melichev
Type 1 hinter : Improve the criterion for stem recognition. DETAILS : Bug 687727 "Type 1 hinter : A horizontal line condition maybe too strong". Patch from Igor Melichev. 1. Many fonts, including URW TimesRoman, needs to apply alignemnt zones to upper or lower corners of a glyph. An example is '1' in TimesRoman. This patch detect upper and lower corners as local extremes by Y, and pass them to t1_hinter__find_zone. 2. After the change (1) we detected, that the document comparefiles/LD.pdf renders much worse. Analyzing it so far, we detected that the top of the left vertical arm of 'm' applies same hint as horizontal arc stems. To avoid this, this patch computes a "stem boundary quality", which is the tangent of the stem boundary, and use it as a priority for choosing a pole for stem alignment (the lower tangent, the higher priority). After the change (2) we detected that most Genoa test render differently. The reason appears that the old code erroneusely aligned a diagonal pole of the character 'm', which is placed between the right vertical arm and the nearest upper arc stem. This patch fixes that due to other (right) poles get a better priority, but to our apologies this progression causes numerous differences in rasters. EXPECTED DIFFERENCES : Almost ALL FILES with a text RENDER DIFFERENTLY. "normal" : N "000040cf.000_60.pdf" N "001-01.ps" N "001-13.ps" N "001-25.ps" N "002-09.ps" N "002-21.ps" N "002-33.ps" N "012-01.ps" N "012-05.ps" N "012-09.ps" N "012-13.ps" N "013-01.ps" N "013-05.ps" N "013-09.ps" N "013-13.ps" N "014-01.ps" N "014-05.ps" N "014-09.ps" N "014-13.ps" N "015-01.ps" N "015-05.ps" N "015-09.ps" N "016-01.ps" N "017-01.ps" N "018-01.ps" N "01_001.pdf" N "020-01.ps" N "023-01.ps" N "027-01.ps" N "027-05.ps" N "027-09.ps" N "028-01.ps" N "031-01.ps" N "031-05.ps" N "032-01.ps" N "032-07.ps" N "033-01.ps" N "033-52-5873.pdf" N "034-01.ps" N "034-10.ps" N "035-01.ps" N "035-07.ps" N "036-01.ps" N "038-01.ps" N "039-01.ps" N "040-01.ps" N "045-01.ps" N "055-01.ps" N "083-01.ps" N "083-05.ps" N "083-09.ps" N "083-13.ps" N "084-01.ps" N "091-01.ps" N "093-01.ps" N "094-01.ps" N "096-01.ps" N "102-01.ps" N "103-01.ps" N "104-01.ps" N "109-01.ps" N "110-01.ps" N "113-01.ps" N "118-01.ps" N "119-01.ps" N "119-10.ps" N "119-16.ps" N "119-23.ps" N "119-35.ps" N "119-41.ps" N "119-47.ps" N "120-01.ps" N "123-01.ps" N "123-05.ps" N "123-09.ps" N "124-01.ps" N "129-01.ps" N "136-01.ps" N "141-01.ps" N "148-01.ps" N "148-05.ps" N "148-11.ps" N "148-16.ps" N "149-01.ps" N "149-05.ps" N "150-01.ps" N "154-01.ps" N "158-01.ps" N "159.pdf" N "162-01.ps" N "165-01.ps" N "166-01.ps" N "169-01.ps" N "169-05.ps" N "169-09.ps" N "169-13.ps" N "170-01.ps" N "175-01.ps" N "176-01.ps" N "181-01.ps" N "184-01.ps" N "192-01.ps" N "194-01.ps" N "200-01.ps" N "205-01.ps" N "205-05.ps" N "205-09.ps" N "205-13.ps" N "206-01.ps" N "212-01.ps" N "213-01.ps" N "214-01.ps" N "215-01.ps" N "219-01.ps" N "220-01.ps" N "220-07.ps" N "222-01.ps" N "222-05.ps" N "222-09.ps" N "222-13.ps" N "223-01.ps" N "226-01.ps" N "227-01.ps" N "231-01.ps" N "233-01.ps" N "237-01.ps" N "238-01.ps" N "244-01.ps" N "245-01.ps" N "245-07.ps" N "245-13.ps" N "245-17.ps" N "246-01.ps" N "250-01.ps" N "251-01.ps" N "255-01.ps" N "257-01.ps" N "258-01.ps" N "260-01.ps" N "263-01.ps" N "264-01.ps" N "268-03.ps" N "268-04.ps" N "268-05.ps" N "268-06.ps" N "269-01.ps" N "270-01.ps" N "272-01.ps" N "276-01.ps" N "281-01.ps" N "282-01.ps" N "289-01.ps" N "296-01.ps" N "297-01.ps" N "298-01.ps" N "298-05.ps" N "298-09.ps" N "299-01.ps" N "303-01.ps" N "304-01.ps" N "307-01.ps" N "307-07.ps" N "307-13.ps" N "308-04.ps" N "310-04.ps" N "311-03.ps" N "313-01.ps" N "316-07.ps" N "320-01.ps" N "321-01.ps" N "321-05.ps" N "321-09.ps" N "325-01.ps" N "327-01.ps" N "330-01.ps" N "334-01.ps" N "335-01.ps" N "336-01.ps" N "401-01.ps" N "405-01.ps" N "409-01.ps" N "415-01.ps" N "421-01.ps" N "430-01.ps" N "442-01.ps" N "450-01.ps" N "455690.pdf" N "460-01.ps" N "463-01.ps" N "464-01-fixed.ps" N "468-01-fixed.ps" N "476-01-fixed.ps" N "476-01.ps" N "478-01.ps" N "483-05-fixed.ps" N "541.pdf" N "541_623.pdf" N "687572.pdf" N "86554321.pdf" N "acrobat.pdf" N "adesso1.pdf" N "adesso3.pdf" N "adesso7.pdf" N "ADOBE1-4.pdf" N "AdobeLic.pdf" N "alphabet.ps" N "Altona-Testsuite_p2_S_x3.pdf" N "Altona.Page_3.2002-09-27.pdf" N "Altona_Measure_1v1.pdf" N "Altona_Technical_1v1_x3.pdf" N "Altona_Visual_bb_1v1_x3.pdf" N "Altona_Visual_sb_1v1_x3.pdf" N "besttest.pdf" N "bla.ps" N "brochurep1.pdf" N "bug-gstest.pdf" N "Bug687044.ps" N "Bug687111.ps" N "Bug687311.pdf" N "Bug687546.ps" N "Bug687603.ps" N "Bug687672.pdf" N "Bug687698.ps" N "Bug687724.pdf" N "Bug687828.pdf" N "Bug687840.pdf" N "Bug687845.ps" N "bulletin.pdf" N "chartab.pdf" N "chess.ps" N "Dave_Barry.pdf" N "Fixed_Original.pdf" N "fonts.pdf" N "fonttest.pdf" N "H00216q.pdf" N "HeiseiMinStd.pdf" N "japan.ps" N "js.pdf" N "kazmir.pdf" N "keyboard.pdf" N "KozukaB-ILEmbed.pdf" N "laballade.pdf" N "LD.pdf" N "MagicEye.pdf" N "ngnews.pdf" N "ngnews1.pdf" N "NIL_0003.pdf" N "Openhuis_pdf_zw.pdf" N "Original.pdf" N "pdfopt_bug.pdf" N "pdftops.pdf" N "PixelisAd.pdf" N "prfmm.pdf" N "prob.pdf" N "pstopdf.pdf" N "pstopdfO3.pdf" N "PT.ps" N "QA_Inv.pdf" N "RealCities.pdf" N "RodinCIDEmbed.pdf" N "S2_Digitalproof-Forum_x3k.pdf" N "smdf.90441.102.pdf" N "Svd.pdf" N "test-hyperref.pdf" N "test.pdf" N "TextRize.pdf" N "time1.pdf" N "tpc2.ps" N "Type3stringwidth.ps" N "type42_glyph_index.ps" N "waterfal.ps" N "womanface.pdf" N "xgfddg.pdf" pdfwrite : P "0.pdf" P "000040cf.000_60.pdf" P "01_001.pdf" P "001-01.ps" P "001-13.ps" P "001-25.ps" P "002-09.ps" P "002-21.ps" P "002-33.ps" P "012-01.ps" P "012-05.ps" P "012-09.ps" P "012-13.ps" P "013-01.ps" P "013-05.ps" P "013-09.ps" P "013-13.ps" P "014-01.ps" P "014-05.ps" P "014-09.ps" P "014-13.ps" P "015-01.ps" P "015-05.ps" P "015-09.ps" P "016-01.ps" P "017-01.ps" P "018-01.ps" P "01_001.pdf" P "020-01.ps" P "023-01.ps" P "027-01.ps" P "027-05.ps" P "027-09.ps" P "028-01.ps" P "031-01.ps" P "031-05.ps" P "032-01.ps" P "032-07.ps" P "033-01.ps" P "033-52-5873.pdf" P "034-01.ps" P "034-10.ps" P "035-01.ps" P "035-07.ps" P "036-01.ps" P "038-01.ps" P "039-01.ps" P "040-01.ps" P "045-01.ps" P "055-01.ps" P "083-01.ps" P "083-05.ps" P "083-09.ps" P "083-13.ps" P "084-01.ps" P "091-01.ps" P "093-01.ps" P "094-01.ps" P "096-01.ps" P "102-01.ps" P "103-01.ps" P "104-01.ps" P "109-01.ps" P "110-01.ps" P "113-01.ps" P "118-01.ps" P "119-01.ps" P "119-10.ps" P "119-16.ps" P "119-23.ps" P "119-35.ps" P "119-41.ps" P "119-47.ps" P "120-01.ps" P "123-01.ps" P "123-05.ps" P "123-09.ps" P "124-01.ps" P "129-01.ps" P "136-01.ps" P "141-01.ps" P "148-01.ps" P "148-05.ps" P "148-11.ps" P "148-16.ps" P "149-01.ps" P "149-05.ps" P "150-01.ps" P "154-01.ps" P "158-01.ps" P "159.pdf" P "162-01.ps" P "165-01.ps" P "166-01.ps" P "169-01.ps" P "169-05.ps" P "169-09.ps" P "169-13.ps" P "170-01.ps" P "175-01.ps" P "176-01.ps" P "181-01.ps" P "184-01.ps" P "192-01.ps" P "194-01.ps" P "200-01.ps" P "205-01.ps" P "205-05.ps" P "205-09.ps" P "205-13.ps" P "206-01.ps" P "212-01.ps" P "213-01.ps" P "214-01.ps" P "215-01.ps" P "219-01.ps" P "220-01.ps" P "220-07.ps" P "222-01.ps" P "222-05.ps" P "222-09.ps" P "222-13.ps" P "223-01.ps" P "226-01.ps" P "227-01.ps" P "231-01.ps" P "233-01.ps" P "237-01.ps" P "238-01.ps" P "244-01.ps" P "245-01.ps" P "245-07.ps" P "245-13.ps" P "245-17.ps" P "246-01.ps" P "250-01.ps" P "251-01.ps" P "255-01.ps" P "257-01.ps" P "258-01.ps" P "260-01.ps" P "263-01.ps" P "264-01.ps" P "268-03.ps" P "268-04.ps" P "268-05.ps" P "268-06.ps" P "269-01.ps" P "270-01.ps" P "272-01.ps" P "276-01.ps" P "281-01.ps" P "282-01.ps" P "289-01.ps" P "296-01.ps" P "297-01.ps" P "298-01.ps" P "298-05.ps" P "298-09.ps" P "299-01.ps" P "303-01.ps" P "304-01.ps" P "307-01.ps" P "307-07.ps" P "307-13.ps" P "308-04.ps" P "310-04.ps" P "311-03.ps" P "313-01.ps" P "316-07.ps" P "320-01.ps" P "321-01.ps" P "321-05.ps" P "321-09.ps" P "325-01.ps" P "327-01.ps" P "330-01.ps" P "334-01.ps" P "335-01.ps" P "336-01.ps" P "401-01.ps" P "405-01.ps" P "409-01.ps" P "415-01.ps" P "421-01.ps" P "430-01.ps" P "442-01.ps" P "450-01.ps" P "455690.pdf" P "460-01.ps" P "463-01.ps" P "464-01-fixed.ps" P "468-01-fixed.ps" P "476-01-fixed.ps" P "476-01.ps" P "478-01.ps" P "483-05-fixed.ps" P "541.pdf" P "541_623.pdf" P "687572.pdf" P "86554321.pdf" P "acrobat.pdf" P "adesso1.pdf" P "adesso3.pdf" P "adesso7.pdf" P "adesso8.pdf" P "ADOBE1-4.pdf" P "alphabet.ps" P "Altona-Testsuite_p2_S_x3.pdf" P "Altona.Page_3.2002-09-27.pdf" P "Altona_Measure_1v1.pdf" P "Altona_Technical_1v1_x3.pdf" P "Altona_Visual_bb_1v1_x3.pdf" P "Altona_Visual_sb_1v1_x3.pdf" P "annots.pdf" P "besttest.pdf" P "bla.ps" P "brochurep1.pdf" P "bug-gstest.pdf" P "Bug687044.ps" P "Bug687111.ps" P "Bug687311.pdf" P "Bug687546.ps" P "Bug687603.ps" P "Bug687672.pdf" P "Bug687698.ps" P "Bug687724.pdf" P "Bug687828.pdf" P "Bug687840.pdf" P "Bug687845.ps" P "bulletin.pdf" P "chartab.pdf" P "chess.ps" P "Dave_Barry.pdf" P "Fixed_Original.pdf" P "fonts.pdf" P "fonttest.pdf" P "H00216q.pdf" P "HeiseiMinStd.pdf" P "japan.ps" P "js.pdf" P "kazmir.pdf" P "keyboard.pdf" P "KozukaB-ILEmbed.pdf" P "LD.pdf" P "MagicEye.pdf" P "ngnews.pdf" P "ngnews1.pdf" P "NIL_0003.pdf" P "Openhuis_pdf_zw.pdf" P "Original.pdf" P "p2b-100.pdf" P "pdfopt_bug.pdf" P "pdftops.pdf" P "PixelisAd.pdf" P "prfmm.pdf" P "prob.pdf" P "pstopdf.pdf" P "pstopdfO3.pdf" P "QA_Inv.pdf" P "RealCities.pdf" P "RodinCIDEmbed.pdf" P "S2_Digitalproof-Forum_x3k.pdf" P "smdf.90441.102.pdf" P "Svd.pdf" P "t.pdf" P "test-hyperref.pdf" P "test.pdf" P "test_multipage_prob.pdf" P "TextRize.pdf" P "time1.pdf" P "tpc2.ps" P "type42_glyph_index.ps" P "waterfal.ps" P "womanface.pdf" P "xgfddg.pdf"[src/gxhintn.c 1.61, src/gxhintn.h 1.24]
Fix for 688275 Overprint problems in Display driver - Gs 8.50 and Gs 8.51. DETAILS: The cause of the problem was that gx_default_get_bits_rectangle did not properly handle a situation in which GX_RETURN_POINTER was not specified for a get_bits operation. The overprint logic is one of the few situations in which this option is not specified. The display device is one of the few situations that uses the default get_bits logic. This is the second problem that has been found in this combination.[src/gdevdgbr.c 1.14, src/gdevdsp.c 1.35]
2005-09-02 05:54 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 11 (fix 1). DETAILS : The ps2write device was broken with recent patches. Fixing it now. EXPECTED DIFFERENCES : None.[src/gdevpdfx.h 1.130]
2005-09-01 22:04 Stefan Kemper
Formatting cleanup for the printing of the Font samples. Fixes bug 688281 Thanks to: SaGS5495@hotmail.com[lib/prfont.ps 1.7]
2005-09-01 00:05 Alex Cherepanov
Fix incorrect detection of the end of input data during processing of (next_code == lzw_decode_max) branch in s_LZWD_process(). Return the error status only when there's not enough data in the buffer and the buffer cannot be refilled. Fix bug 688287[src/slzwd.c 1.6]
2005-08-31 18:34 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 10, final. DETAILS : This completes the fix for the bug 687168 "(pdfwrite) Transparency as a high level object" It switches on the new code by changing the default value for the HaveTransparency option. EXPECTED DIFFERENCES : pdfwrite : ai2.pdf dina3_watermark.pdf SoftMaskGroup.pdf[src/gdevpdfb.h 1.9]
2005-08-31 18:31 Igor Melichev
pdfwrite : Upgrading the default CompatibilityLevel to 1.4 . THIS IS INCOMPATIBLE CHANGE. We believe that CompatibilityLevel=1.3 is now obsolete, because most viewers can handle PDF 1.4 . If an user needs to create a document for older viewers, he should specify CompatibilityLevel explicitly. Note that PDFSETTINGS parameter lists have been upgraded also. EXPECTED DIFFERENCES : None.[doc/Ps2pdf.htm 1.83, lib/gs_pdfwr.ps 1.47, lib/ps2pdf 1.4, lib/ps2pdf.bat 1.9, lib/ps2pdf.cmd 1.4, src/gdevpdf.c 1.119]
Update map_cmyk_color function to modern version (was old style). This should complete jpegcmyk for correct behaviour.[src/gdevjpeg.c 1.10]
Add jpegcmyk device (module missed in previous commit).[src/gdevjpeg.c 1.9]
2005-08-31 12:35 Igor Melichev
Documenting the new pdfwrite device paramentr HaveTransparency. EXPECTED DIFFERENCES : None.[doc/Ps2pdf.htm 1.82]
2005-08-31 11:18 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 9. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" It simplifies the logic of the HaveTransparency flag. EXPECTED DIFFERENCES : None.[src/gdevpdfp.c 1.51, src/gdevpdft.c 1.50]
2005-08-31 11:07 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 8. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" It applies pdf_substitue_resource to transparency-related objects. EXPECTED DIFFERENCES : None.[src/gdevpdft.c 1.49]
2005-08-31 11:02 Igor Melichev
Fix (pdfwrite) : A code restructurisation : factor out pdf_substitue_resource. DETAILS : This change is algorithmicly equivalent. pdf_substitue_resource is a new function, which replaces redundant code fragments. EXPECTED DIFFERENCES : None.[src/gdevpdfg.c 1.66, src/gdevpdfj.c 1.48, src/gdevpdfu.c 1.84, src/gdevpdfx.h 1.129]
2005-08-31 07:40 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 7. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" 1. Restructurize the code in gdevpdft.c . 2. Provide a delayed obgect ID assignation in gdevpdft.c . 3. gdevpdfb.h, gdevpdfx.h slightly changed for (2). EXPECTED DIFFERENCES : None.[src/gdevpdfb.h 1.8, src/gdevpdft.c 1.48, src/gdevpdfx.h 1.128, src/gdevpdti.c 1.51]
Remove inadvertent commit that included png48 device.[src/msvc32.mak 1.75]
Add jpegcmyk device.[src/bcwin32.mak 1.38, src/devs.mak 1.136, src/macos-mcp.mak 1.35, src/macosx.mak 1.28, src/msvc32.mak 1.74, src/openvms.mak 1.41, src/os2.mak 1.47, src/unix-gcc.mak 1.50, src/unixansi.mak 1.41, src/watcw32.mak 1.35]
Fix for 688252 Signal 11 in set_color_ht_le_4 on AMD64. The fix comes from Alex Cherepanov. Add a cast for force signed math when working with a signed and unsigned value.[src/gxcht.c 1.17]
2005-08-30 23:26 Alex Cherepanov
Encode the indication that the EPS file has been cropped into EPSBoundingBoxState and suppres subsequent messages about cropping the file. The warning is false when BoundingBox preceeds HiResBoundingBox and BoundingBox causes cropping but HiResBoundingBox doesn't. Fix bug 688062[lib/gs_epsf.ps 1.15]
Fix handling of zero length input files so that .peekstring does not give a rangecheck error. Bug 688199. DETAILS: Following Russell Lang's suggestion, the zpeekstring function appeared to have been (at one time) designed so that EOFC returned an empty string, but the check for requested len > bsize had priority, and when the file was closed, the 'bsize' was reset to 0. I removed the "HACK" check to after the check for status == EOFC.[src/zfileio.c 1.18]
Fix for large 'loca' table counts in TrueType fonts causing stackoverflow. Bug 688277 for customer 870. DETAILS: While the MaxOpStack userparam (default value 50000 in gs_init.ps) could work around this problem, a cleaner and more efficient solution is to create the array for the 'loca' values, then fill it.[lib/gs_ttf.ps 1.47]
2005-08-30 17:32 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 6. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" The last patch was commited with errors. This patch fixes that. EXPECTED DIFFERENCES : None.[src/ztrans.c 1.27]
2005-08-30 17:08 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 5. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" The last patch was commited with errors. This patch fixes that. EXPECTED DIFFERENCES : None.[src/gdevp14.c 1.34, src/gstrans.h 1.15]
2005-08-30 16:49 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 4. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" This patch debugs soft mask groups. 1. The pdf14 device appears to use soft mask Background converted into DeviceGray. We believe it is incorrect, but we don't want to fix it now. To provide the correct data for high level devices we added a new field GrayBackground, which keeps the Background color converted into DeviceGray. Background now keeps the original Background, specified in the blend color space. 2. Do not use gsave-grestore when creating a soft mask with .begintransparencygroup, because high level devices need to modify the graphic state with storing the sift mask ID. The new code uses currentcolorspace-setcolorspace instead gsave-grestore. EXPECTED DIFFERENCES : None.[lib/pdf_draw.ps 1.96, src/gdevp14.c 1.33, src/gdevpdft.c 1.47, src/gstparam.h 1.15, src/gstrans.c 1.25, src/int.mak 1.136, src/ztrans.c 1.26]
2005-08-30 13:01 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 3. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" This patch completes the graphic state synchronization. A new field soft_mask_id is added to gs_imager_state. High level devices use it for storing an ID of the current soft mask. Currently it doesn't affect low level devices. EXPECTED DIFFERENCES : None.[src/gdevpdfg.c 1.65, src/gdevpdft.c 1.46, src/gdevpdfx.h 1.127, src/gstrans.c 1.24, src/gxistate.h 1.23]
2005-08-30 10:49 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects, part 2. DETAILS : This is a continuation of the fix the bug 687168 "(pdfwrite) Transparency as a high level object" This patch provides an accumulation of a transparency mask group as a PDF command stream, a creation of SMask dictionaries and a synchronization of the graphic state with them. The graphic state synchronization is incomplete due to insufficient data supplied by the graphics library when executong a grestore. It will be fixed later. pdf_substream_save_s::soft_mask_dict is added to handle nested mask groups. EXPECTED DIFFERENCES : None.[src/gdevpdfb.h 1.7, src/gdevpdft.c 1.45, src/gdevpdfx.h 1.126, src/gdevpdti.c 1.50, src/gsstruct.h 1.19]
2005-08-30 09:06 Igor Melichev
Fix (device intervace, PDF interpreter) : High level devices need to know whether the mask is an image or a group. DETAILS : This is the fourth preparation for fixing the bug 687168 "(pdfwrite) Transparency as a high level object" A high level device needs to know whether a transparency mask is a group or an image. To provide this data we split the operator .begintransparencymask into .begintransparencymaskgroup and .begintransparencymaskimage, which should be invoked in appropriate cases. The structure gs_pdf14trans_params_s passes a new flag mask_is_image. EXPECTED DIFFERENCES : None.[doc/Language.htm 1.95, lib/pdf_draw.ps 1.95, lib/pdf_ops.ps 1.40, src/gstrans.c 1.23, src/gstrans.h 1.14, src/ztrans.c 1.25]
2005-08-30 06:38 Igor Melichev
Fix : Cygwin/gcc warnings. DETAILS : This fixes some Cygwin/gcc warnings and improves few comments. EXPECTED DIFFERENCES : None.[src/gdevdevn.c 1.27, src/gdevpdf.c 1.118, src/gdevpsd.c 1.23, src/gdevtsep.c 1.9, src/gsistate.c 1.12, src/gxpcopy.c 1.26, src/zmedia2.c 1.19]
Invalid xref was not detected causing some objects to be defined as 'null' which could cause 'typecheck' or other errors. Bug 688285 for customer #870. DETAILS: The xref subsection count was one too small, so there was one xref entry that was being interpreted as a new subsection. Detect the trailing 'n' garbage (any non-whitespace) and signal an error so that the 'rebuild' logic can recover the correct xref. EXPECTED DIFFERENCES. none (tested all pdf files in comparefiles).[lib/pdf_main.ps 1.99]
2005-08-29 18:21 Igor Melichev
Fix (pdfwrite) : Handling transparency as a high level objects. DETAILS : This is an initial commit for the high level handler to pdfwrite. It fixes the bug 687168 "(pdfwrite) Transparency as a high level object" It defines a new distiller parameter HaveTransparency. When it is false (default), the behavior is equivalent to the old one - the transparency is being converted into a plane image. The value true only works with CompatibilityLevel>=1.4 . In this case transparency is being written to output as high level objects. The writtemn objects are not necesserily repear the structure of the input document, because the PDF interpreter performs some simplifications, which can't be recovered by the pdfwrite device. The main conversion happens in gdevpdft.c . See comments in there. Two new resource types are being added - resourceSoftMaskDict, resourceGroup. Doing so to allow a further optimization with merging duplicated objects of such types. EXPECTED DIFFERENCES : None.[doc/Develop.htm 1.153, src/devs.mak 1.135, src/gdevpdf.c 1.117, src/gdevpdfb.h 1.6, src/gdevpdfg.c 1.64, src/gdevpdfg.h 1.42, src/gdevpdfi.c 1.73, src/gdevpdfj.c 1.47, src/gdevpdfp.c 1.50, src/gdevpdft.c 1.44, src/gdevpdfu.c 1.83, src/gdevpdfx.h 1.125]
2005-08-29 18:12 Igor Melichev
Fix (PDF interpreter) : Provide a bbox for .begintransparencygroup (issue 2). DETAILS : This is the second attempt of the second preparation for fixing the bug 687168 "(pdfwrite) Transparency as a high level object" The last patch about the bbox appear incorrect due to the device transparency handler receives the image bbox data when CTM is concatenated with the image matrix. This patch almost restores the old code except image bbox is changed from 0 0 0 0 to 0 0 1 1, which is the right rectangle in the image coordinates. EXPECTED DIFFERENCES : None.[lib/pdf_draw.ps 1.94]
2005-08-29 15:58 Igor Melichev
Fix: Validate the number of transparency Background components. DETAILS : The old code never checked whether a transparency Background has a proper number of components. It could cause an indeterministic behavior with incorrect documents. EXPECTED DIFFERENCES : None.[src/gdevp14.c 1.32, src/gstrans.c 1.22]
2005-08-29 15:25 Igor Melichev
Fix (device interface): Provide an access for the number of transparency Background components for high level devices, part 2. DETAILS : This continues the third preparation for fixing the bug 687168 "(pdfwrite) Transparency as a high level object" The last patch has a minor inaccuracy : the field Background_components defined as bool. It must be int. EXPECTED DIFFERENCES : None.[src/gstparam.h 1.14, src/gstrans.h 1.13]
2005-08-29 15:18 Igor Melichev
Fix (device interface): Provide an access for the number of transparency Background components for high level devices. DETAILS : This is a third preparation for fixing the bug 687168 "(pdfwrite) Transparency as a high level object" This change is algorithmically equivalent. The member has_Background is now replaced with Background_components, which stores the number of Background components. It is visible for devices when the create_compositor method is called with PDF14_BEGIN_TRANS_GROUP. The clist file format has been slightly changed : the field Background_components is now written into a separate byte, and unused Background components are being skipped. EXPECTED DIFFERENCES : None.[src/gdevp14.c 1.31, src/gstparam.h 1.13, src/gstrans.c 1.21, src/gstrans.h 1.12, src/ztrans.c 1.24]
2005-08-29 14:05 Igor Melichev
Fix (PDF interpreter) : provide a bbox for .begintransparencygroup . DETAILS : This is a second preparation for fixing the bug 687168 "(pdfwrite) Transparency as a high level object" The old code calls .begintransparencygroup with zero bbox when processing a Type 3 image with SMask. This patch computes the bbox from the image coordinates in order to provide data for the high level transparency handler. EXPECTED DIFFERENCES : None.[lib/pdf_draw.ps 1.93]
2005-08-29 12:51 Igor Melichev
Fix (pdfwrite) : Use DeviceGray when writing SMask image. DETAILS : This is a preparation for fixing the bug 687168 "(pdfwrite) Transparency as a high level object" The old code tried to use DevicePixel while writing a SMask image. Currently this branch never executes because the current code always converts transparency to a plain image. EXPECTED DIFFERENCES : None.[src/gdevpdfb.h 1.5, src/gdevpdfi.c 1.72, src/gdevpdfx.h 1.124]
Change ResusableStreamDecode filter implementation to avoid using .bigstring so that languagelevel 3 is not required for this filter. Patch thanks to mat. Gheorghe Savulescu. Bug 688150. DETAILS: In general, running at Language Level 2 by using .setlanguagelevel is not supported when using features that are part of LanguageLevel 3, such as filters that are part of LL3, but this patch is simple and low risk so I am adding it and closing the bug.[lib/gs_frsd.ps 1.9]
Partial support for a compressed %rom% iodevice. It is enabled by adding romfs.dev to FEATURE_DEVS in the top-level Makefile. This also includes a C commandline-utility 'mkromfs' that takes a directory and creates a compressed image of it as a file. Currently the %rom% iodevice in gsiorom.c reads this directly. The compressed image is a list of paths with offset pointers, each offset pointing to the beginning of a series of zlib- compressed blocks comprising the file. This gets us pretty good (typically 50% or better) compression of the support files while still allowing relatively fast seek and random access. TODO: 1. Have mkromfs trace through the include directives in lib/ so that only those postscript files required by Ghostscript are included, the same as geninit does now. Resources/ and fonts/ can still be included as-is. 2. Have mkromfs (or a separate tool) general a C file (or sequence of them, so the data can be compiled directly into the Ghostscript executable. And of course modify gsiorom.c to pull its data from there instead of a literal file. 3. Integrate mkromfs into the build system and replace the existing geninit code. Setting COMPILE_INITS=1 in the top-level Makefile should automatically construct and compile in the compressed image and enable the romfs FEATURE_DEV 4. Switch to a b-tree for the block pointer index, so that file access remains fast if someone dumps in a huge number of Resources or fonts. Right now it does a linear search, which is fast enough for the current complement but will cause a problem as some point.[src/Makefile.in 1.41, src/gsiorom.c 1.1, src/lib.mak 1.211, src/mkromfs.c 1.1]
Cleanup of error message "printquit" calls in pf2afm, mostly to add missing newlines. Thanks to Paul Vojta for the patch.[lib/pf2afm.ps 1.8]
2005-08-24 17:03 Igor Melichev
Fix (the device interface) : High level devices need an access to a transparency transfer function object. DETAILS : It adds "gs_function_t *transfer_function" to gs_pdf14trans_params_s and enhances a garbager descriptor st_pdf14trans. We think that such pointer is alvays have a correct stability, because the transparency only comes from the PDF interpreter, which doesn't create graphic states in the global memory. Otherwise the function object must be global as well. Unfortunately we don't have a validation mechanizm right now, but likely it will appear with fixing the bug 688226. EXPECTED DIFFERENCES : None.[src/gdevp14.c 1.30, src/gstparam.h 1.12, src/gstrans.c 1.20, src/gstrans.h 1.11]
2005-08-23 19:26 Igor Melichev
Fix (pdfwrite) : Improve the logic of combining a text rotation with ViewingOrientation. DETAILS : Bug 687800 "%%ViewingOrientation not processed by pdfwrite". We can't say that we perfectly understand what rules Adobe uses to combine them, becaue the explanation in "Technical Note #5151 Version :Acrobat 6.0 Acrobat Distiller Parameters" page 50 is incomplete. But with this change the result looks more compatible to Adobe. EXPECTED DIFFERENCES : "Bug687044.ps" "Bug687603.ps"[src/gdevpdf.c 1.116]
2005-08-23 17:34 Igor Melichev
Fix (Type 1 hinter) : Allow degenerate CTM by a rendering with no hinting. DETAILS : This is a fix for a part of the bug 688065 "incorrect handling of type 1 fonts at 0 0 scale", which relates to "1 0 scale". The case "0 0 scale" was fixed earlier. With degenerate CTM the old code fails with 'rangecheck' due to the hinter logics needs an inverse CTM. However some documents set "1 0 scale" to compute text width. The new code does render a text with degenerate CTM with no hinting. We could implement an optimized algorithm for this with a simple rendering of a line which is a projection of the glyph, but we have no engineering resources for this optimization. We believe that such optimisation isn't much useful. EXPECTED DIFFERENCES : None.[src/gxhintn.c 1.60]
2005-08-23 12:58 Igor Melichev
Fix (pdfwrite and other vector devices) : A compatibility to Adobe when stroking with a degenerate CTM. DETAILS : Bug 687901 '"wrong operand type" error'. See comment in code. EXPECTED DIFFERENCES : None.[src/gdevpdfd.c 1.68]
2005-08-23 11:26 Igor Melichev
Fix (pdfwrite and other vector devices) : Indeterministic result when stroking a path with a degenerate CTM. DETAILS : It fixes the indeterministic habavior with the test document of the Bug 687901 '"wrong operand type" error', but doesn't fix the bug. EXPECTED DIFFERENCES : None.[src/gdevvec.c 1.27]
2005-08-22 21:30 Igor Melichev
Fix: /SP pdfmark must synchronize the clipping path. DETAILS : Bug 687558 "Wrong clipping path with /SP pdfmark". This patch consists of 2 parts : 1. A hack for synchronizing the clipping path in 'pdfmark'. We need to use a hack, because the implementation of 'pdfmark' is based on the device method put_params, and there is no regular way to pass the imager state or the clipping path through it. The hack paints something outside the device bbox, so that the painting doesn't appear in the output. 2. An improvement to the pdfwrite device, which skips a stroking, if it appears entirely outside the clipping box. That improvement appears some imperfect due to a compatibility to the hack (1) - see comment in code. The imperfection is the synchronization of a clipping path when a document strokes outside the clipping box. We believe that such cases are rare, so the imperfection isn't important. A progression appears while a charproc accumulation : the old code accumulated strokes outside the bounding box set by 'setcachedevice', but the new one does not. The new one appears compatible to Adobe Distiller 5. EXPECTED DIFFERENCES : pdfwrite 72 dpi : 015-09.ps[lib/gs_pdfwr.ps 1.46, src/gdevpdfd.c 1.67]
2005-08-22 21:29 Igor Melichev
The filling algorithm : optimize paths with many subpaths (continued). DETAILS : The last patch can cause a dangling pointer subpath_current. Rather we don't use it, it may be harmful for the garbager. This patch fixes that. Minor change : removed an unuseful type case and empty line. EXPECTED DIFFERENCES : None.[src/gxpcopy.c 1.25]
2005-08-22 14:29 Igor Melichev
The filling algorithm : optimize paths with many subpaths. DETAILS : Bug 686996 "Orientation has massive effect on render time". It fills a path consisting of 4440 subpaths, each of which is a quasi-rectangle (or a rectangle with a fixed_fraction noise). If a path has over 50 subpaths, we try to merge subpaths by common vertical lines. This works around a poor 3d party software, which generates a path as a huge number of contacting rectangles. An additional complexity happens due to the sample document defines multiple quasi-colinear lines instead colinear ones. An example : {{362254, 42905}, {362253, 204152}} and {{362253, 42881},{362253, 204152}}. We believe that with a huge number of contours the precision of the rendering doesn't need to be so strong as with a small number. Therefore we replace quasi-colinear lines with colinear ones. Another smart point is which pairs of lines to be checked for colinearity. Obviousely checking all pairs would be too slow. Probably we can assume that the Postscript writer orders rectangles by the trasversal direction, so colinear pairs appear in the path within a small window, which roughly is the number of spot holes multiplied by 4. (Well, one can construct a worse path, but unlikely it is practical). This patch hardcodes few arbitrary constants, which may need further improvements. See commnmets in code for more details. EXPECTED DIFFERENCES : None.[src/gxfill.c 1.122, src/gxpath.h 1.16, src/gxpcopy.c 1.24]
2005-08-18 08:07 Igor Melichev
ps2write : Improve the documentation about Policies.PageSize . EXPECTED DIFFERENCES : None.[doc/Ps2ps2.htm 1.3]
2005-08-17 21:54 Igor Melichev
PDF interpreter now processes ToUnicode CMaps when the target device is pdfwrite. DETAILS : Bug 685335 "PDF interpreter doesn't process ToUnicode". The PDF interpreter now converts ToUnicode CMaps into FontInfo.GlyphNames2Unicode, which PS interpreter passes to high level devices, and the pdfwrite device converts it again into ToUnicode. Therefore re-distilling a PDF file with GS|pdfwrite preserves the searchability. Before now it was lost. Currently this stuff works only when the output device is pdfwrite. Doing so to save the processor time with raster devices. In future the condition in .processToUnicode may need an enhancement. We found that some documents define ToUnicode incorrectly. For now we skip cases, in which ToUnicode is defined to a name, because the PDF specification requires it to be a stream. EXPECTED DIFFERENCES : None.[lib/gs_cmap.ps 1.19, lib/pdf_font.ps 1.78]
Previous change for ignoring 0 area clip path was not sufficient and made other files misbehave. Fixes bugs 688121 and 688259, reopen 687136. DETAILS: Thanks to Dan for identifying the change that caused 688259 to fail. I had coincidentally been looking in the same area for 688121. 687136 will require more analysis and a different patch, and the patch will need to be tested against the files for 688121 and 688259 along with the full regression suite. `[lib/pdf_ops.ps 1.39]
2005-08-17 14:40 Igor Melichev
Fix : Unconforming line join. DETAILS : Ghostscript Bug 688126 "Wrong line join". 1. The old code applied a bewel join while flattening a curve. Such behavior appears incompatible to Adobe CPSI 3010.105. Language.htm said that it was done with .setcurvejoin for a compatibility to Adobe implementations. We believe that modern Adobe implementations are not such, and therefore we change the default value of .setcurvejoin to -1, which actually disables a curve join by default. The documentation is being updated accordingly. 2. Since round join always paints a full circle (see comment in add_round_cap), and since such circle doesn't appear when CPSI paints a flattened curve, we conclude that round join isn't applied to flattened curves. Therefore we change the condition in gxstroke.c to replace round join with bevel join for flattened curves. Note that PDF 1.5 requires to paint a "pieslice-shaped figure", rather than PDF 1.4 and PLRM3 does a round. Thus, GS code appears some obsolete, and we'll open a separate bug 688269 about that. EXPECTED DIFFERENCES : Visible differences at 300dpi with 034-01.ps, 123-05.ps. Numerous single pixel differences stroking curves. normal, 72 dpi : "012-05.ps" "012-13.ps" "013-05.ps" "013-13.ps" "014-05.ps" "014-09.ps" "014-13.ps" "015-05.ps" "015-09.ps" "027-09.ps" "034-01.ps" "034-10.ps" "083-05.ps" "083-13.ps" "123-05.ps" "176-01.ps" "205-01.ps" "205-05.ps" "205-09.ps" "205-13.ps" "289-01.ps" "298-09.ps" "308-04.ps" "316-07.ps" "321-09.ps" "ai2.pdf" "Bug687812.ps" "bugsample.pdf" "messenger16.pdf" "Openhuis_pdf_zw.pdf" "tiger.eps" normal,300dpi : "012-01.ps" "012-05.ps" "012-09.ps" "012-13.ps" "013-01.ps" "013-05.ps" "013-09.ps" "013-13.ps" "014-05.ps" "014-09.ps" "014-13.ps" "015-05.ps" "015-09.ps" "027-01.ps" "027-05.ps" "027-09.ps" "032-01.ps" "032-07.ps" "034-01.ps" "034-10.ps" "045-01.ps" "083-05.ps" "083-09.ps" "083-13.ps" "123-01.ps" "123-05.ps" "123-09.ps" "136-01.ps" "148-16.ps" "149-05.ps" "150-01.ps" "154-01.ps" "158-01.ps" "176-01.ps" "192-01.ps" "205-01.ps" "205-05.ps" "205-09.ps" "205-13.ps" "220-01.ps" "220-07.ps" "237-01.ps" "245-13.ps" "251-01.ps" "255-01.ps" "258-01.ps" "269-01.ps" "281-01.ps" "289-01.ps" "297-01.ps" "298-09.ps" "308-04.ps" "316-07.ps" "321-09.ps" "86554321.pdf" "adesso8.pdf" "ai2.pdf" "besttest.pdf" "Bug687044.ps" "Bug687489.ps" "Bug687724.pdf" "Bug687812.ps" "Bug687840.pdf" "bugsample.pdf" "ca.pdf" "chartab.pdf" "Clarke Tate Manns Chinese.ai" "escher.ps" "golfer.eps" "messenger.pdf" "messenger16.pdf" "Openhuis_pdf_zw.pdf" "p2b-100.pdf" "si_tg_brochure.pdf" "Svd.pdf" "t.pdf" "tiger.eps" pdfwrite, 72dpi : "012-05.ps" "012-13.ps" "013-05.ps" "013-13.ps" "014-05.ps" "014-09.ps" "014-13.ps" "015-05.ps" "015-09.ps" "027-01.ps" "027-09.ps" "034-01.ps" "034-10.ps" "083-05.ps" "083-13.ps" "176-01.ps" "205-01.ps" "205-05.ps" "205-09.ps" "205-13.ps" "220-07.ps" "237-01.ps" "298-09.ps" "308-04.ps" "316-07.ps" "321-09.ps" "adesso8.pdf" "ai2.pdf" "annots.pdf" "Bug687812.ps" "chartab.pdf" "messenger.pdf" "messenger16.pdf" "Openhuis_pdf_zw.pdf" "tiger.eps" pdfwrite, 300dpi : "012-01.ps" "012-05.ps" "012-09.ps" "012-13.ps" "013-01.ps" "013-05.ps" "013-09.ps" "013-13.ps" "014-05.ps" "014-09.ps" "014-13.ps" "015-05.ps" "015-09.ps" "017-01.ps" "020-01.ps" "027-01.ps" "027-05.ps" "027-09.ps" "032-01.ps" "032-07.ps" "034-01.ps" "034-10.ps" "039-01.ps" "045-01.ps" "083-05.ps" "083-09.ps" "083-13.ps" "104-01.ps" "123-09.ps" "136-01.ps" "148-16.ps" "154-01.ps" "158-01.ps" "165-01.ps" "176-01.ps" "205-01.ps" "205-05.ps" "205-09.ps" "205-13.ps" "212-01.ps" "213-01.ps" "214-01.ps" "220-01.ps" "237-01.ps" "244-01.ps" "245-07.ps" "255-01.ps" "269-01.ps" "281-01.ps" "298-09.ps" "308-04.ps" "316-07.ps" "321-09.ps" "86554321.pdf" "ai2.pdf" "besttest.pdf" "Bug687044.ps" "Bug687489.ps" "Bug687724.pdf" "Bug687812.ps" "Bug687840.pdf" "bugsample.pdf" "ca.pdf" "chartab.pdf" "escher.ps" "golfer.eps" "messenger.pdf" "messenger16.pdf" "Openhuis_pdf_zw.pdf" "p2b-100.pdf" "si_tg_brochure.pdf" "t.pdf" "tiger.eps"[src/gxline.h 1.7, src/gxstroke.c 1.18, doc/Language.htm 1.94]
2005-08-11 17:10 Igor Melichev
Fix (pdfwrite) : Exit a text context before resetting a clip. DETAILS : Bug 688094 "error converting PostScript document". The test document caused a wrong balance of pdf_save_viewer_state / pdf_restore_viewer_state due to a clipping was reset in a text context of a form XObject created with /BP pdfmark. The patch changes pdf_unclip so that it exits a text context when a clipping needs to reset with 'Q'. EXPECTED DIFFERENCES : None.[src/gdevpdfu.c 1.82]
2005-08-11 15:38 Igor Melichev
Fix : Clipping was missed while stroking a path with a pattern color. DETAILS : Bug 688211 "Gradient not rendered". EXPECTED DIFFERENCES : None.[src/gxstroke.c 1.17]
2005-08-10 19:36 Igor Melichev
Fix : Divide long lines while flattening a path. DETAILS : Bug 688228 "ps2pdf appears to infinite loop processing a document". The old code didn't check for fixed overflow while computing a segment span while flattening a path for the filling algorithm. Due to that it got a wrong coordinate of a line intersection point, and fallen into an infinite cycle. The new code subdivides a line segment if the segment span is greater than max_fixed. See comment in code. EXPECTED DIFFERENCES : None.[src/gxpflat.c 1.45]
2005-08-10 19:31 Igor Melichev
Fix : Develop.htm must reference all relevant files (continued).[doc/Develop.htm 1.151, doc/Develop.htm 1.152]
Fix for 688250 Another overprint problem with the tiffsep and psdcmyk devices. The fix ensures that the various bit mask and shift fields in the device's color_info structure is set for the tiffsep, psdcmyk, and spotcmyk devices.[src/gdevdevn.c 1.26, src/gdevpsd.c 1.22, src/gdevtsep.c 1.8]
Port the 4-bit EGA device to the new DeviceN color mapping. After a patch from William Bader. Fixes bug #687795.[src/gdevpcfb.c 1.7]
Remove a generated file that was causing build portability problems.[jasper/src/libjasper/include/jasper/jas_config_ac.h 1.2]
2005-08-04 17:38 Alex Cherepanov
Fix calculation of the row width on 64-bit platforms. Remove bitmap_raster() macro because Windows bitmap is not affected by the source platform alignment constrains. Initialize padding bytes to 0. Fix bug 688247[src/gdevbmp.c 1.11, src/gdevbmpc.c 1.8]
2005-08-04 09:32 Igor Melichev
Fix (TT font reader) : Allow 'post' over 65536 bytes. DETAILS : Bug 688154 "TTF file fails to load". It applies .readbigtable to 'post' and then use new accessors get_from_stringarray, getinterval_from_stringarray, string_array_size to decode it. The change should be algorithmically eqiovalent except for the 'post' size limitation. A further optimizatrion of calls to first_post_string may be useful. EXPECTED DIFFERENCES : None.[lib/gs_ttf.ps 1.46]
2005-08-03 16:36 Igor Melichev
Fix (ps2write) : A workaround for an HP LaserJet 1320 bug in 'resourcestatus'. DETAILS : See comments in code. The problem happened with the following files : 017-01.ps 020-01.ps 045-01.ps 327-01.ps 336-01.ps Bug687603.ps EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.82]
2005-08-02 11:12 Igor Melichev
Fix (TT interpreter) : Optimize the debug support. DETAILS : Bug 688253 "TT interpreter : too heavy debug support". In the debug build the old code of TT interpreter allocates a copy of points arrays and checks for any point change after TT instruction. The new code checks whether the DebugPrint method is available, and skips all the debug support otherwise. The method is set only if -ZY option is specified. In the release build the debug support compiles to empty. We do not bring if_debug macros to the TT interpreter because we want to keep it close to the original FreeType code. EXPECTED DIFFERENCES : None.[src/gxttfb.c 1.37, src/ttfmain.c 1.34, src/ttfoutl.h 1.16, src/ttinterp.c 1.18, src/ttload.c 1.7]
2005-08-01 20:58 Igor Melichev
Fix (TT interpreter) : Skip TT instructions if the font program or the cvt program fails. DETAILS : Bug 688236 "/invalidfont in -show-". This patch maps any TT bytecode interpreter error to "fBadInstruction", if the error happens during the font instantiation or during the face instantiation. As usual, fBadInstruction disables TT instructions for the font and prints a warning to stderr. EXPECTED DIFFERENCES : None.[src/ttfmain.c 1.33]
2005-08-01 19:40 Igor Melichev
Fix : Develop.htm must reference all relevant files.[doc/Develop.htm 1.150]
2005-07-30 02:39 Alex Cherepanov
Replace memcpy() with overlapping intervals to memmove() in Type 2 font generator. The old code violated the C spec and failed on HP aC++ compiler with +Olibcalls option. Thanks to Hin-Tak Leung for the patch. Fix bug 687360[src/gdevpsfx.c 1.25]
2005-07-29 02:49 Alex Cherepanov
Remove the check for 0 CTM in the type 1 font hinter to support PDF files with 0-size fonts or 0 CTM. Fix bug 688237[src/gxhintn.c 1.59]
2005-07-28 15:24 Alex Cherepanov
Pacify Valgrind: don't copy memory on itself. Partial fix for bug 688225.[src/gsiodev.c 1.8, src/zcie.c 1.13]
2005-07-27 22:34 Igor Melichev
Fix : Maybe line breaks are broken by the last patch. Commit it again with right line breaks for sure.[src/gdevpdfb.h 1.4, src/gdevpdfd.c 1.66, src/gdevpdfx.h 1.123, src/gdevpdti.c 1.49, src/gxcpath.c 1.16, src/gxpath.h 1.15]
2005-07-27 22:09 Igor Melichev
Fix (pdfwrite) : Skip a clip path, which is set by setcachedevice. DETAILS : Bug 687678 "pdfwrite : A Type 3 character cut-off". The setcachedevice clipping must not be written to a charproc. The old code wrote it, causing a character cut-off with several viewers, including Adobe Reader 6. The patch saves a 'setcachedevice' bbox in the pdfwrite device structure and checks it whenever a clip path needs to be written out. See gdevpdfx.h about the new data definition. The box is being saved and restored while entering and exiting a substream. EXPECTED DIFFERENCES : pdfwrite : "012-09.ps" "013-09.ps" "014-09.ps" "015-09.ps" "017-01.ps" "020-01.ps" "045-01.ps" "083-09.ps" "093-01.ps" "123-09.ps" "136-01.ps" "165-01.ps" "205-09.ps" "212-01.ps" "213-01.ps" "214-01.ps" "226-01.ps" "238-01.ps" "260-01.ps" "264-01.ps" "281-01.ps" "298-09.ps" "321-09.ps"[src/gdevpdfb.h 1.3, src/gdevpdfd.c 1.65, src/gdevpdfx.h 1.122, src/gdevpdti.c 1.48, src/gxcpath.c 1.15, src/gxpath.h 1.14]
2005-07-27 11:24 Igor Melichev
Fix : Ignore XUID if Metrics[2] has been changed. DETAILS : Bug 674418 "093-01.ps : Wrong text". When a fong is being cached, the metric data for a glyph is being taken from the cache. If a font have a valid XUID, the XUID is used as the cache key. Consequently, if Metrics[2] has been changed after a font is cached, the font renders with the wrong (unchanged) metric. This patch checks whether another registered font has same XUID and another Metrics[2] dictionary. If so, the XUID is dropped, and it not used as a cache key. EXPECTED DIFFERENCES : Normal : 093-01.ps.[src/gsfont.c 1.37, src/gsfont.h 1.12, src/zbfont.c 1.30]
Improve wording of the new p2ps2 script documentation.[doc/Ps2ps2.htm 1.2]
2005-07-26 20:50 Igor Melichev
Fix (pdfwrite) : Delay the assignation of object id to a color space until its creation is completed. DETAILS : Bug 687712 "ps2pdf silently generates bad PDF in 1.2 mode". The old code reserved an objewct id for a color space when starting its creation. If the creation fails (for example, with CompatibilityLevel <= 1.2), the related graphics is being converted into low level objects. In that case the reserved object id doesn't appear in the output PDF, causing an incorrect xerf. EXPECTED DIFFERENCES : None.[src/gdevpdfc.c 1.53]
Fix for 688052 Segv with test file for 687980 and the psdcmyk device. DETAILS: The 'put_param' routines for the routines which implement the handling of the SeparationOrder, SeparationColorNames, and the MaxSeparation device parameterswere always resetting the number of device components (num_components in the color_info structure) when they were called. This can cause problems with the PDF 1.4 transparency since the transparency processing can have its own process color model. The fix involves only changing the number of device components when one of the three device parameters changes value. This should only occur at the start of a page. The PDF 1.4 process color model is only active during the processing of a page.[src/gdevdevn.c 1.25, src/gdevpsd.c 1.21]
2005-07-21 19:50 Alex Cherepanov
Use memmove() instead of memcpy() in Ins_MINDEX() because of the overlapping memory blocks. Fix bug 688224.[src/ttinterp.c 1.17]
2005-07-21 19:32 Alex Cherepanov
Fix off-by-one error in Decode array testing. Fix bug 688223.[src/gxipixel.c 1.12]
Fix for 688218 gdevpng.c(148) : A harmful warning from MSVC8. The warning message was due to a math overflow for the dither_grays and dither_colors fields in the device color_info structure. This occured due to the addition of the png48 device which has 16 bit components. The fix is to increase the field size to a uint (typically 32 bits).[src/gxdevcli.h 1.40]
2005-07-21 18:13 Igor Melichev
Fix (pdfwrite, ps2write) : Merge equal function resources. DETAILS : Bug 688195 "pdfwrite,ps2write : Redundant function objects". This patch applies the usual merging method for function objects : a delayed assignation of object id, search for equal object, replace redundant one with an old equal one. EXPECTED DIFFERENCES : None.[src/gdevpdfu.c 1.81]
2005-07-21 16:04 Igor Melichev
Fix (ps2write) : Some of Widths elements could be missed. DETAILS : This is the fourth partial fix for the bug 688169 "ps2write : text dissappears". It relates to Comment #6 of the bug 688169. Some elements of Widths array could be missing if the encoding defines several codes for samne character, and only the first code is used. The old code scanned Encoding and put a Metrics dictionary element for each element of Encoding. However Encoding could contain dummy elements witrh the value 0, and the value 0 replaced an useful value defined earlier. This fix assumes that ps2write renames glyphs if they have several occurances in Encoding, and more than one occurance is used. Under this assumption, if only one occurance is used, other accurances will get the value 0 (using exactly 0 in this case is another ps2write feature being assumed here). So is Metrics already has a non-zero value, it shouldn't be replaced with zero, and the logic is pretty simple : don't replace non-zero values. This patch causes ps2write progressions : 687572.pdf 86554321.pdf Jahr2000.pdf rf1025.pdf EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.81]
2005-07-21 09:53 Igor Melichev
Fix : Move character raster buffers into the memory space of gx_show_enum. DETAILS : Bug 688222 "Another crash in igc_reloc_struct_ptr". This is a partial change for the problem. It fixes exactly the case that happened in the bug report. However there is another harmful case, which we want to fix separately due to it requires a big change. The case is running 'show' in the global allocation mode while the current font is local. We open a separate bug 688227 for it. EXPECTED DIFFERENCES : None.[src/gxchar.c 1.47]
2005-07-20 18:14 Igor Melichev
Fix (pdfwrite, ps2write) : Synthesized bitmap fonts had zero character width in charprocs. DETAILS : 1. The Wx operand of d1 always got the zero value when a font is being converted into a bitmap font. 2. The Width array was wrongly computed when a font is being converted into a bitmap font. 3. Computing Metrics, Widths values to be scaled with the FontMatrix, to account an unusuial FontMatrix of Type 1 fonts, which were created by 3d parties from TrueTypes. 4. Metrics was not set to a font due to a bad stack balance. Bug 688172 "ps2write : CID text displacement". This patch gives a numerous progressions when ps2write runs with a small resolution -r72. In same time with this patch few files regress when ps2write runs with a small resolution -r72 : 687572.pdf 86554321.pdf Jahr2000.pdf EXPECTED DIFFERENCES : pdfwrite 72dpi : "020-01.ps" "093-01.ps" "Bug687845.ps" pdfwrite 300dpi : "020-01.ps" "093-01.ps" "405-01.ps" "450-01.ps" "Bug687845.ps"[lib/opdfread.ps 1.80, src/gdevpdfb.c 1.32, src/gdevpdtt.c 1.103]
Fix undefined in -get- caused by previous (1.38) patch that ignored zero length tables in TT font. Previous fix for 687457. Bug 688220 for customer 580. DETAILS: Some tables, such as 'glyf' are required by the ttf code even if they are zero length. The 687457 bug omitted these tables since their position is arbitrary, but they could cause false 'overlap' conditions, potentially truncating a non-zero length table to zero length. The simplest solution is to place all zero length tables at offset 0 (the offset is arbitrary for zero length tables). EXPECTED DIFFERENCES: Regression testing showed no problems. The file for 687457 is now added to the regression suite as will a test file with a zero length 'glyf'.[lib/gs_ttf.ps 1.45]
2005-07-20 08:20 Igor Melichev
Fix (ps2write) : Initial commit of the ps2ps2 documentation. EXPECTED DIFFERENCES : None.[doc/Ps2ps2.htm 1.1, doc/Readme.htm 1.68]
2005-07-20 07:22 Igor Melichev
Fix (ps2write) : The default value for MaxInlineImageSize was incorrect. DETAILS : It was too small for real images. May improve the printer prerformance. EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.115, src/gdevpdfb.h 1.2]
2005-07-20 06:17 Igor Melichev
Fix (ps2write) : Bring the script to the traditional form (continued). DETAILS : Rename the distiller settings PSPrinter with a more meanful name PSL2Printer. EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.45]
2005-07-20 06:10 Igor Melichev
Fix (ps2write) : Bring the script to the traditional form. DETAILS : Bug 688190 "ps2write : improve the ps2ps2 script". Since ps2write actually is a clone of pdfwrite, we define special distiller settings named PSPrinter. After this device parameters are gone from the script, and the ps2ps2 script looks similarly to ps2ps . EXPECTED DIFFERENCES : None.[doc/Develop.htm 1.149, doc/Psfiles.htm 1.64, doc/Use.htm 1.133]
2005-07-20 06:00 Igor Melichev
Fix (ps2write) : Bring the script to the traditional form. DETAILS : Bug 688190 "ps2write : improve the ps2ps2 script". Since ps2write actually is a clone of pdfwrite, we define special distiller settings named PSPrinter. After this device parameters are gone from the script, and the ps2ps2 script looks similarly to ps2ps . EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.44, lib/ps2ps2 1.1, lib/ps2ps2.bat 1.2, lib/ps2ps2.cmd 1.1]
2005-07-19 19:31 Igor Melichev
Fix (pdfwrite, ps2write) : Tj must account the Widths rounding when converting to a bitmap font. DETAILS : Bug 688170 "ps2write : text displacement". An imprecise text width happened when distillation uses a low resolution to convert a font into a bitmap font. Important for CompatibilityLevel <= 1.2 . EXPECTED DIFFERENCES : None.[src/gdevpdti.c 1.47]
Skip CFF tables at 0 or negative offset because some CFF fonts put empty tables at offset 0. Bug 688160. Thanks to Alex Cherepanov for this patch.[lib/gs_cff.ps 1.19]
Fix handling of Some Type1C (CFF) font subsets where the tables may not be completely contiguous. Seen with PDFs created by pdflib. Bug 688216 and 688040 for customer 562. DETAILS: The example subset CFF had the "Private" data about 30,000 bytes after the end of the previous (CharStrings) data. While we try to process the CFF file sequentially, there is no reason we cannot skip bytes. If we encounter a CFF where positioning (backwards) is required, we will have to further change the code to set us a "ResuableStreamDecode" file so we can replace the "pos sub nextstring pop" with "f fileposition" which will work forwards or backwards. A CFF that requires this will get an error when loading the font from the -string- operator (rangecheck). Since we have not seen one yet, we will wait until this surfaces.[lib/gs_cff.ps 1.18]
Remove the arbitrary limit of 256 max_colors from the dci_ macros. This is related to bug 688204 and allows shadings (gradients) to have more than 256 steps for high precision color devices. DETAILS: Note that the default smoothness is set to 0.02 in lib/gs_ll3.ps and unless this is set smaller with the setsmoothness operator (or the PDF 'SM' op), the max_error used in src/gxshade.c may still be too large to see REALLY smooth gradients. The next part of the changes is to modify the setting of max_error when the device has > 256 levels.[src/gxdevcli.h 1.39]
Add a 48 bit RGB PNG raster device for testing deep color output code paths. The new device is called 'png48'. Note that this is a different naming scheme from the the other PNG devices, which use number of colors instead of the log of the number of colors to distinguish between the different output formats. Related to bug 688204.[src/configure.ac 1.51, src/devs.mak 1.134, src/gdevpng.c 1.12]
Fix for 688209 Incorrect equiv color for 'Dark Blue' in test file. DETAILS: The problem was caused by an error in evaluting a sampled function with 32 bits per component. The maximum value for a sample was calculated as being (1 << bps) - 1. This calculation has a problem on x86 CPUs when bps is 32. No shifting is done and the result ends up being 0 instead of 0xffffffff. The fix involves checking for bps being equal to (or greater than) the size of an uint. If so then the max_uint value is used instead.[src/gsfunc0.c 1.27]
2005-07-14 19:56 Alex Cherepanov
Don't use Length value in the stream dictionary when it's incorrect. All filtered streams are self-terminated. Unfiltered streams are most often occur as contents streams. Their processing is terminated by execution of endstream operator. Unfiltered image streams will only read the data required by the image. Fix bug 688182.[lib/pdf_base.ps 1.46]
2005-07-14 16:10 Igor Melichev
Fix (ps2write) : Don't replace Encoding for standard fonts. DETAILS : This is the third partial fix for the bug 688169 "ps2write : text dissappears". 1. Regarding 093-01.ps : Before a font is loaded from a font file object, need to check whether there exists a standard font with same name and save it for possible use in future from other font resource objects. 2. Regarding 336-01.ps : The implementation of the operator ' was incomplete. This patch causes ps2write progressions: "093-01.ps" "336-01.ps" "adesso7.pdf" "ADOBE1-4.pdf" "brochurep1.pdf" "ca.pdf" "ccc.pdf" "Jahr2000.pdf" "js.pdf" "prfmm.pdf" "rf1025.pdf" EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.79]
2005-07-14 15:14 Alex Cherepanov
Increade the limit on the .libfile operand length from 200 to the full gp_file_name_sizeof . The OS also limits the length of the file name, for instance, on WinNT, NTFS to 252 characters. Fix bug 688198.[src/zfile.c 1.42]
2005-07-14 13:20 Igor Melichev
Fix (ps2write) : Don't replace Encoding for standard fonts. DETAILS : This is the second partial fix for the bug 688169 "ps2write : text dissappears", related to the file aaon97_p7.pdf . When a standard font is being loaded, the old code replaced Encoding with StandardEncoding. However the Dingbats font has a different Encoding. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.78]
2005-07-14 10:27 Igor Melichev
Fix (ps2write) : Embed standard fonts, which use extention glyphs due to encoding conflicts. DETAILS : This is a partial fix for the bug 688169 "ps2write : text dissappears", which is related to the problem with ADOBE1-4.pdf . When Widths array defines several widths for same glyph, the PDF interpreter duplicates glyphs inserting extended glyph names. However if the font name is standard, the font was not embedded and the extended glyph names were missed. This patch forces embedding the fonts what have extended glyph names. This problem doesn't happen with pdfwrite, because it collapses extended glyph names back to original ones. Note that there exists a case, in which a font has extended glyphs but they are not used in the document. In this case the font embedding is not necesary, but ps2write does embed it. This happens because the current architecture does not allow to detect such case, because the decision about a font embedding is being made before a text is processed. Dalaying it until the end of the text would need to delay object ID assignation for the font descriptor and for the font file. This change would be too deep, so we don't do it now. If an user strongly needs to minimise the output when a standard font uses extended glyph name, we recommend to perform a 2-pass distillation : the first pass computes exact font subsets, and the second pass won't receive unused glyphs. We believe that such need is pretty rare. EXPECTED DIFFERENCES : None.[src/devs.mak 1.133, src/gdevpdtf.c 1.45]
Fix for 688206 rangecheck in --setcolorspace--. Actually there is a problem with the PDF test files. The 'fix' is to make Ghostscript more tolerant of errors. DETAILS: The problem is an error in the file. The file contains an Indexed color space: [ /Indexed /DeviceGray 255 (\000%Mr\r2[\300\320\303\000\b\f\021\026\034"\)UMB9 \201%Ns\r2[\016\035,:\036-[src/zcsindex.c 1.8]
Font scanning would miss OpenType fonts (OTTO header).[lib/gs_ttf.ps 1.44]
2005-07-13 17:21 Igor Melichev
Fix (TT grid fitting) : A missed glyph needs cached_fm_pair_s. DETAILS : Bug 688164 "segfault after warning for missing required cmap in embedded TT font; pdf". The embedded TT font missed a glyph, so that a "notdef" (glyph_index = 0) to be used instead. However when performing a grid fitting, an cached_fm_pair_s is used to pass an access to the font. The problem happens due to "notdef" forced no glyph caching and therefore cached_fm_pair_s was not created. The fix moves the check for "notdef" for the point after creating an cached_fm_pair_s. EXPECTED DIFFERENCES : None.[src/gxchar.c 1.46]
2005-07-13 10:37 Igor Melichev
Fix (ps2write) : EOT marker was missed. DETAILS : Bug 688186 "ps2write: EOT is missing". The old code writes it after the file is closed. EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.114]
Cast color components to type gx_color_index before shifting when composing a chunked index color in gx_default_rgb_map_rgb_color(). Partial fix for bug 688204. DETAILS: Without the explicit casts, color components were only promoted to the default int type before the shifts were applied. On 32 bit machines this means that 16 bpc output generated nonsense, shifting the high channel entirely out of the word, and only promoting to a 64 bit type on assignment. With the explicit casts, the promotion to a 64 bit type (assuming a 64 bit gx_color_index) happens first so that the shift logic is correct for deep devices. With this change the "24 bit RGB" default mapping works for 48 bit color as well as for other spaces in-between. 24 bits remains special cased; rough benchmarking showed no significant advantage to special casing 48 bits as well.[src/gxcmap.c 1.26]
2005-07-12 17:54 Igor Melichev
Fix : MSVC8 Beta 2 doesn't handle the compiler option Gi. DETAILS : The new distribution of the MSVC compiler claims the option Gi is depricated. Since the nmake file uses a single value 8 of the variable MSVC_VERSION for both Beta 1 and Beta 2, we cannot distinguish these releases, so now we drip the option Gi fore both releases. Beta 1 is now obsolete, so users must either upgrade for Beta 2 or live with no incremental compilation. The latter only increases the build time. EXPECTED DIFFERENCES : None.[src/msvccmd.mak 1.27]
2005-07-11 22:08 Stefan Kemper
Fix MSVC compile error DETAILS: MSVC prevents dynamic structure initialization gcc is more liberal. Final code is simpler using a function call.[src/gdevpxut.c 1.8]
The gdevdsp.c file was missed in the previous commit for the fix for 688192.[src/gdevdsp.c 1.34]
Fix for 688192 Resolution dependant problems with tiffsep. Note: The actual problem is related to garbage collection. DETAILS: The names of the separations are being lost when the garbage collection logic is attempting to relocate the names. The fix consists of storing the names in a byte array instead of using a gs_param_string.[src/devs.mak 1.132, src/gdevdevn.c 1.24, src/gdevdevn.h 1.11, src/gdevpsd.c 1.20, src/gdevtsep.c 1.7, src/gsequivc.c 1.6]
2005-07-07 16:44 Stefan Kemper
Add support for manual feed and media source or tray selection to pxl output devices. This allows postscript input to use InputAttributes dictionary selection mechanisms to choose a tray. The pxl tray numbers in the PXL file are the PS MediaSource numbers to "map" correctly an input attributes dictionary needs to be present and needs to match the tray contents/numbering of the pxl printer. postscript manual feed /ManualFeed is directly mapped to PXL this will override any tray selection.[src/gdevlj56.c 1.7, src/gdevpx.c 1.16, src/gdevpxut.c 1.7, src/gdevpxut.h 1.6]
2005-07-06 20:54 Stefan Kemper
Bug fix for 688196. CCITTFAX decode filter had number of rows limited to 32000. Test file with 40000 found, limit is now 1,000,000[src/scfparam.c 1.5]
2005-07-05 17:56 Igor Melichev
Fix (ps2write) : Allow .HWMargins in the printer's userdict. DETAILS : Testing with HP LazerJet 1320 we found that it defines a PageSize bigger than the real page. Allowing a method for an user to compensate that. The method is to define .HWMargins to the printer's userdict. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.77]
2005-07-04 09:03 Igor Melichev
Fix (ps2write) : CIEBased* images must use DecodeABC as Decode (continued). DETAILS : The last patch appears incomplete. Bug 688174 ps2write: black page CompleteImage was underimplemented. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.76]
Fix for 688144 Overprint problem wtih emitting a single separation from tiffsep. The overprint logic assumed that overprinting was never applied if there is only one component in the output device. This is true for a DeviceGray process color model. However it is possible for there to only be a single output component in other process color models (like CMYK) if the SeparationOrder device parameter is used to select a subset of the device's colorants. This fix removes the undesired optimization.[src/gsovrc.c 1.10]
2005-06-29 20:46 Igor Melichev
Fix (ps2write) : CIEBased* images must use DecodeABC as Decode. DETAILS : Bug 688174 ps2write: black page CompleteImage was underimplemented. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.75]
2005-06-29 18:21 Igor Melichev
Fix (ps2write) : Imagemask incorrectly synchronized color in the !HaveStrokeColor mode. DETAILS : Bug 688171 "ps2write : wrong frame color". The !HaveStrokeColor mode was underimplemented. EXPECTED DIFFERENCES : None.[src/gdevpdfb.c 1.31]
Remove a duplicate file in the installation target list.[src/unixinst.mak 1.41]
2005-06-29 14:12 Igor Melichev
Fix : A dangling pointer from pdf_image_enum. DETAILS : Bug 688156 "Reference to free object : pdfwrite -r72 -Z?$@ 035-07.ps". After pdf_make_alt_stream pdf_image_enum::writer.binary[1].target left a pointer to a cos_object_t instance, which is later freed by pdf_choose_comprtession. Thus it caused a dangling pointer. It was not harmful unless running with -Z? . EXPECTED DIFFERENCES : pdfwrite crashed with -Z?$@ : 035-07.ps. FIG3.eps[src/gdevpdfj.c 1.46]
Fix some additional typos in the documentation install rules. Closes bug 688158.[src/unixinst.mak 1.40]
2005-06-28 23:00 Igor Melichev
Fix (pdfwrite, ps2write) : A recognition of Type 3 glyph variations was inaccurate. DETAILS : Bug 688168 pdfwrite, ps2write : incorrect barcode Bug687472.ps Bug 687472 barcode wrongly converted to type3 font 1. The condition in pdf_find_same_charproc was not a strong equality. When searching in same font, the comparizon of object streams was missed (debugged with Bug687472.ps). 2. When creating an alternative font due to glyph wariations, the fonmt matrix was equal to one from the scaled font instead the original font, causing an imprecise coordinates. Replaced with the original font matrix. (debugged with Bug687472.ps). 3. pcp->font was not adjusted when desided to start a new font due to a new glyph variation obtained. Due to that some glyphs were replaced with wrong glyph variations (debugged with Bug687660a.ps, page 4, the text "et al. [11] Y. Nakamura et al.", the 3d occurance of 'a' was wrong (search for "( al)" in the old generated PDF file)). 4. Exiting from a substream, flattness was not restored (debugged with muur.eps). EXPECTED DIFFERENCES : pdfwrite : "Bug687472.ps" "Bug687660a.ps" "Bug687832.pdf" "STEUER-RollingMesh 3(Final).ai"[src/gdevpdfg.c 1.63, src/gdevpdfx.h 1.121, src/gdevpdti.c 1.46]
Add two new multiply-included templating files to the exclusion list for the multiple-inclusion regression check.[toolbin/tests/check_source.py 1.12]
Fix for 687989 PDF to any format raises /invalidfont in /R21. The test file was created by an imposition program. DETAILS: The given file (the one with the four pages imposed together) has: 1. A Page dict with form Xobjects and the /R21 font is not in the Resources/Font dict. 2. The Pg3 form XObject has the /R21 font in the Resources/Font dict. 3. /R19 is a Type3 font. There is not a Resources entry in the dict. This font uses both the /R13 ExtGState and the /R21 font. To find the /R13 and the /R21 resources, Ghostscript is first looking in the /R19 font. Since it is not present (no Resources in /R19), Ghostscript then searches the Page dict. Once again the resources are not found and then the InvalidFont error is generated. (Ghostcript is silent about the missing ExtGState /R13.) From page 391 of the PDF REference, version 1.6 on the entries in the dict for a Type3 font: "Resources dictionary (Optional but strongly recommended; PDF 1.2) A list of the named resources, such as fonts and images, required by the glyph descriptions in this font (see Section 3.7.2, "Resource Dictionaries"). If any glyph descriptions refer to named resources but this dictionary is absent, the names are looked up in the resource dictionary of the page on which the font is used. (See implementation note 64 in Appendix H.)" This implies that Ghostscript is following the correct path for finding the resources /R13 and /R21. (However one can make a case for a 'liberal' interpretation of the spec. that implies that the form XObject resources should also be checked.) This fix checks the current resources when the Resources dictionary is not present in a type 3 font. I do not know why Acrobat 6.0 Pro does not find /R13 but does find /R21. If Acrobat is not checking the Resources for the Pg3 form XObject then it should find neither. If it is checking Pg3 Resources then both should be found.[lib/pdf_font.ps 1.77]
2005-06-23 07:35 Igor Melichev
Fix : A global restore was applied at save level 1. DETAILS : Bug 688157 "'invalidrestore' in pkmraw -r72 -Z?$@ tpc2.ps". Bug 688161 "A dangling pointer with pkmraw -r72 -Z?$@ -c false 0 startjob pop -f - <113-01.ps". The last patch appears incorrect. This one fixes that. Bug 688157 happened because tpc2.ps failed with 'invalidrestore' because the global restore was applied at the level 1. This happened because the last but one patch appears incomplete - after that change the check for 'global' in alloc_is_since_save become incorrect. It assumed that mem->saved == save && mem->saved->save_level == 1 implies save->state.save_level == 0. But with the last but one patch not it doesn't. Bug 688161 happened due to same check, because alloc_is_since_save is also used in restore_fix_stack to fix string and file objects, which exist on stack and which would become invalidated due to the restore. 'zrestore' do not check such objects on estack (restore_check_stack is called with 'false'). Such objects appear when 'startjob' is called from a command argument (and establishes a save level 0), and later another command line argument is executed with '.runstdin', which executes .subfiledecode at save level 1 and keeps the filter object on estack while .runexec works (keeping the file for .runexec2). So running the file 113-01.ps invoked 'exitserver', which executes a 'restore', which unwinded the file object, and caused a heap inconsistency (because restore_check_stack is called with 'false') due to estack keeps the unwinded file object. This change replaces it with (as we believe) the correct and simple check : save->state.save_level == 0 /* Restoring to save level 0 */ which restores the consistency of restore_fix_stack to restore_check_stack. EXPECTED DIFFERENCES : Fixes a crash with 113-01.ps .[src/isave.c 1.14]
2005-06-22 20:15 Igor Melichev
Fix : A global restore was applied at save level 1. DETAILS : Bug 688157 "'invalidrestore' in pkmraw -r72 -Z?$@ tpc2.ps". With the last patch memory problems gone avay, but tpc2.ps failed with 'invalidrestore'. We found that the global restore was applied at the level 1 - a guess as a rudiment of code before NOOUTERSAVE is code. When tpc2.ps issued a restore, with neither startjob nor NOOUTERSAVE it appears at level 1 (due to gs_init.ps executes 'save') but at that moment dstack contains some dictionaries, created by the document. Those dictionaries cause 'invalidrestore', because they are created after the 'save' issued by gs_init.ps . At first time we wonderewd why this problem doesn't happen with other documents. The answer is : they don't keep dicts on dstack when execute the outermost 'restore'. EXPECTED DIFFERENCES : Fixes 'invalidrestore' in tpc2.ps . 113-01.ps crashes due to another problem, which we'll open another bug for.[src/isave.c 1.13]
2005-06-22 15:36 Igor Melichev
Fix : Dangling pointers due to 'restore' left an internal save level. DETAILS : Bug 688153 "Reference to free object : ppmraw -r72 -Z?$@ Bug687489.ps" Running : gs sOutputFile=t.ppm sDEVICE=ppmraw -r72 -Z?$@ Bug687489.ps" got : Reference to free object 0xaf9e40(100), in chunk 0x3eca48! The reason is that a gs_show_enum instance was created in some 'save' level, and when it is released the 'save' level appears a higher one and the memory manager left it unreleased until a further 'restore' does that. However that instance pointed to a gx_path instance with a bigger 'save' level. So when the garbager was invoked, the gs_show_enum instance had a 'path' field pointed to a structure, which was already released by a 'restore'. Analyzing it so far, we found that 'save' and 'restore' may leave an extra level on the 'save' stack. More precisely, alloc_save_state sometimes creates an "invisible" 'save' level, which appears on the 'save' stack, but it has no save id and it doesn't add to the 'save' level counter. The problem happened when 'restore' finds its 'save' stack element. In that case alloc_find_save returns the second additional 'save' stack element, rather than the first one created by 'save'. Therefore a consecutive execution of 'save restore' could add one element on the 'save' stack (without increasing the save_level counter) and cause dangling pointers as explained above. We believe that the bug lived in alloc_save_state. Really, a comment in alloc_save_state reads : /* Do a second, invisible save. */ and in same time the code makes the first 'save' to be invisible, and moves the id from the first 'save'. Thus the code does not comply to the comment. We believe that the comment is correct, and the code is buggy. Therefore we change the code so that the second (internal) 'save' to be really invisible. EXPECTED DIFFERENCES : Fixes memory problems (June 16 regressions) with the following files : "257-01.ps" "Bug687396.ps" "Bug687489.ps" "Bug687603.ps" "Bug687698.ps"[src/isave.c 1.12]
Fix typos in the the jasper makefile. Closes bug 688148.[src/jasper.mak 1.2]
2005-06-22 14:11 Stefan Kemper
Added documentation note that gc doesn't collect around a reference to a sub interval in an array. Rather it gc's arrays as objects.[doc/Language.htm 1.93]
2005-06-21 19:58 Igor Melichev
Fix : Reference count for gx_clip_path::path_list was incorrect. DETAILS : Bug 688147 "Wrong reference count with ppmraw -Z?$@ -r72 257-01.ps". gx_cpath_assign_preserve didn't adjust the reference count. EXPECTED DIFFERENCES : May fix some of pkmraw, pgmraw regressions appeared on June 16.[src/gxcpath.c 1.14]
2005-06-21 16:50 Igor Melichev
Fix : Always place the image enumerator into local memory (continued 2). DETAILS : The previous patch inserted a 'const' by a mistake. Removing it. EXPECTED DIFFERENCES : None.[src/gsimage.c 1.15, src/gsimage.h 1.9]
2005-06-21 16:25 Igor Melichev
Fix : A wrong allocator was used to release the glyph cache. DETAILS : Bug 688146 "heap corruption with ppmraw -r72 -Z?$@ 055-01.ps". A structure was allocated in a non-stable memory and released to a stable memory. EXPECTED DIFFERENCES : May fix some of pkmraw, pgmraw regressions appeared on June 16.[src/gsgcache.c 1.4]
2005-06-21 13:12 Igor Melichev
Fix : Always place the image enumerator into local memory (continued). DETAILS : Bug 688140 "A heap corruption in imagemask". Bug 688145 "Segmentation fault : normal 244-01.ps (pkmraw/300/noband)" The patch http://ghostscript.com/pipermail/gs-cvs/2005-June/005567.html appears incomplete. This ine fixes that. 1. gs_image_common_init must not change penum->memory since it is set by gs_image_enum_alloc for a compatibility with gs_image_cleanup_and_free_enum. 2. gs_image_enum_init is removed from the graphics library interface because after the change (1) it becomes potentially harmful. We noticed that the PCL interpreter never calls it directly, so making it be local against a potantial harm. 3. The memory argument of gs_image_common_init has been removed because it became unuseful. 4. We notice that gs_image_common_init initializes an instance of gs_image_enum, and gs_image_begin_typed initializes gx_image_enum_common_t. We wonder with the assymmetry of using the word "common" in these identifiers. It appears much confusible. For now leave them as they are, rather we'd like to clean them up. EXPECTED DIFFERENCES : Should fix pkmraw, pgmraw regressions appeared on June 16.[src/gsimage.c 1.14, src/gsimage.h 1.8]
Partial fix for 688132 WTS crash with pdf input. Ghostscript does not serialize a WTS halftone. (This is required for clist processing.) As a result, an error code is being returned. The error code was not being properly returned. We then seg faulted due to a pointer not being set in the error case. This fix corrects the problem with returning the error code. The problem with WTS serializaton remains.[src/gdevp14.c 1.29]
2005-06-20 08:59 Igor Melichev
Fix : Factor out any dependence on sizeof(gx_color_index) . DETAILS : This change is algorithmically equivalent. We factor out this dependence because we intend to change the gx_color_index definition to an array of components. In that case sizeof(gx_color_index) would give the size of a pointer rather we need the size of the array. Minor change : Fixed an unitialized debug-purpose variable prev_count in 3 device drivers gdevm40.c, gdevm48.c, gdevm64.c . EXPECTED DIFFERENCES : None.[src/gdevdsp.c 1.33, src/gdevm40.c 1.3, src/gdevm48.c 1.3, src/gdevm64.c 1.4, src/gdevpdfb.c 1.30, src/gdevpdfv.c 1.39, src/gdevpsd.c 1.19, src/gdevtsep.c 1.6, src/gdevxcf.c 1.10, src/gsdparam.c 1.18, src/gxcindex.h 1.7, src/gxdcolor.c 1.13, src/gxdevcli.h 1.38, src/gxiscale.c 1.9, src/gxoprect.c 1.6]
2005-06-19 21:10 Igor Melichev
Fix : zchar.c needs a prototype of z1_set_cache. DETAILS : It fixes a cygwin/gcc warning. EXPECTED DIFFERENCES : None.[src/int.mak 1.135, src/zchar.c 1.17]
2005-06-19 21:03 Igor Melichev
Fix (pdfwrite, ps2write) : Type 42 fonts got wrong Width (continued). DETAILS : Need a prototype for z1_glyph_info_generic since we call it in zfont42.c . EXPECTED DIFFERENCES : None.[src/ichar1.h 1.13, src/int.mak 1.134, src/zfont42.c 1.23]
2005-06-19 20:45 Igor Melichev
Fix : Remove an unreasonably big array type definition related to color index. DETAILS : This change is algorithmically equivalent. An array type in gxcht.c was defined with 65536 elements but actually used the first 32 elements only. We believe it was an inaccurate coding. EXPECTED DIFFERENCES : None.[src/gxcht.c 1.16]
2005-06-16 06:53 Igor Melichev
Fix (Ps2pdf.htm) : ConvertCMYKImagesToRGB was wrongly documented. EXPECTED DIFFERENCES : None.[doc/Ps2pdf.htm 1.81]
2005-06-15 18:40 Igor Melichev
Fix : Always place the image enumerator into local memory. DETAILS : Bug 688140 "A heap corruption in imagemask". The core of the change is in zimage.c : ! /* Always place the image enumerator into local memory, ! because pie may have local objects inherited from igs, ! which may be local when the current allocation mode is global. */ Other changes provide a correct allocator while freing the enumerator. Note : In gxccache.c the old code did not apply gx_image_cleanup when exiting on error. The new code does. The new code is more smooth, but we don't expect a significant difference in behavior. EXPECTED DIFFERENCES : None.[src/gsimage.c 1.13, src/gsptype1.c 1.23, src/gxccache.c 1.34, src/gsimage.h 1.7, src/zimage.c 1.15]
2005-06-15 00:31 Igor Melichev
Fix (ps2write) : A bug while computing an n-argument m-result function type 0. DETAILS : FunctionToProc_x0n synthesized a function which applies an extra 'roll' at the end of computation. Minor change : Improved a debug printing. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.74]
Link to the relevent section of Use.htm for details about the GS_LIB env variable. Fixes bug 688051.[doc/Install.htm 1.53]
Add some newer documentation files to the unix install target. Fixes bug 688049.[src/unixinst.mak 1.39]
Fix a documentation typo: NeverEnbed vs NeverEmbed.[doc/Ps2pdf.htm 1.80]
2005-06-14 11:19 Igor Melichev
Fix (pdfwrite, ps2write) : Type 42 fonts got wrong Width. DETAILS : Bug 688128 "pdfwrite: imprecise Width". pdfwrite did not account Metrics, Metrics2 of Type 42 fonts. EXPECTED DIFFERENCES : pdfwrite 72dpi : "01_001.pdf" "adesso2.pdf" "adesso7.pdf" "adesso8.pdf" "Altona.Page_3.2002-09-27.pdf" "Altona_Technical_1v1_x3.pdf" "annots.pdf" "budget2_ai87.pdf" "Bug687660a.ps" "Bug687724.pdf" "bugsample.pdf" "Faktura.pdf" "fonts.pdf" "MagicEye.pdf" "S2_Digitalproof-Forum_x3k.pdf" "STEUER-RollingMesh 1(linear).ai" "STEUER-RollingMesh 2(radial).ai" "STEUER-RollingMesh 3(Final).ai" "Testform.v1.0.2.pdf" pdfwrite 300 dpi : "01_001.pdf" "159.pdf" "adesso2.pdf" "adesso7.pdf" "adesso8.pdf" "Altona.Page_3.2002-09-27.pdf" "Altona_Technical_1v1_x3.pdf" "budget2.pdf" "budget2_ai87.pdf" "Bug687724.pdf" "bugsample.pdf" "Faktura.pdf" "fonts.pdf" "MagicEye.pdf" "S2_Digitalproof-Forum_x3k.pdf" "STEUER-RollingMesh 1(linear).ai" "STEUER-RollingMesh 2(radial).ai" "STEUER-RollingMesh 3(Final).ai" "Testform.v1.0.2.pdf"[src/zfont42.c 1.22]
2005-06-13 18:43 Igor Melichev
Fix : Interleaved images could miss Decode, step 4. DETAILS : Adding the new file gxsamplp.h to Develop.htm . EXPECTED DIFFERENCES : None.[doc/Develop.htm 1.148]
Add ManualFeed to the set of keys evaluated for media source matching. Needed to allow forcing a ManualFeed tray selection even when another media of the right type exists in another tray.[lib/gs_setpd.ps 1.27]
2005-06-09 07:29 Igor Melichev
ps2write : Implementinmg the ps2write device (continued 3). DETAILS : Removed a rudimentary code from gs_pdfwr.ps . EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.43]
Throw an error when JBIG2 decoding fails in the library instead of segfaulting. Bug 688053.[src/sjbig2.h 1.6]
Throw an error when JBIG2 decoding fails in the library instead of segfaulting. Bug 688053.[src/sjbig2.c 1.7]
2005-06-09 05:26 Igor Melichev
ps2write : Implementinmg the ps2write device (continued 2). DETAILS : Fixing a name in gs_pdfwr.ps . EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.42]
2005-06-08 14:38 Igor Melichev
Fix : Interleaved images could miss Decode, step 3. DETAILS : Fixes the bug 688127 "CMYK image ignores Decode". 1. The sample unpacking function templates are generalized for a case of interleaved samples with different decode maps (gxsamplp.h). 2. Generated functions for the interleaved samples using the templates (gxsample.c). 3. Used those function in appropriate cases (gxipixel.c). 4. repack_bit_planes was called with a wrong map (0-th instead i-th) (gxidata.c). EXPECTED DIFFERENCES : Some images are rendered with a different (correct) color. The change appears to have no effect to the 'normal' rendering, because our testbase doesn't include images with "/MultipleDataSources false" and a non-trivial Decode. But such ones do appear after converting few files with pdfwrite. pdfwrite : "148-01.ps" "148-05.ps"[src/gxidata.c 1.9, src/gxipixel.c 1.11, src/gxsample.c 1.7, src/gxsample.h 1.7, src/gxsamplp.h 1.2, src/lib.mak 1.210]
2005-06-08 14:16 Igor Melichev
Fix : Interleaved images could miss Decode, step 2. DETAILS : This change is algorithmically equivalent. This is a second preparation for fixing the bug 688127 "CMYK image ignores Decode". It moves bodies of sample unpacking functions to a new file gxsamplp.h and converts them into templates. It is just a code restructurization. We apply it separately in order to simplify the next step. EXPECTED DIFFERENCES : None.[src/gxsample.c 1.6, src/gxsamplp.h 1.1, src/lib.mak 1.209]
2005-06-08 14:00 Igor Melichev
Fix : Interleaved images could miss Decode, step 1. DETAILS : This change is algorithmically equivalent. This is a preparation for fixing the bug 688127 "CMYK image ignores Decode". It changes the SAMPLE_UNPACK_PROC function prototype to provide an access to a vector of maps in sample decoding functions. The new argument num_components_per_plane passes the length of the vector. The argument "const sample_lookup_t * ptab" is replaced with "const sample_map *smap" to pass the vector. With this patch only the 0th component of the passed vector is being used in order to provide the equivalense to the old code. Dropping this feature will be a next step. EXPECTED DIFFERENCES : None.[src/gxi12bit.c 1.7, src/gxi16bit.c 1.2, src/gxidata.c 1.8, src/gximage.h 1.8, src/gxsample.c 1.5, src/gxsample.h 1.6, src/lib.mak 1.208]
2005-06-08 06:56 Igor Melichev
ps2write : Implementinmg the ps2write device (continued). DETAILS : 1. Do not copy procsets when pdfwrite is invoked in the ForOPDFRead mode with no OPDFReadProcsetPath specified (gdevpdfu.c). This is done to simplify debugging with checking the PDF generated in the ForOPDFRead mode with a reference PDF viewer. 2. Fixed a Cygwin/gcc warning in gdevpdfu.c . 3. Provided a customization of the procset to be written with ps2write using -sOPDFReadProcsetPath=string . EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.41, src/gdevpdfu.c 1.80]
Fix for 688116 DeviceN spot colours are corrupt in display device. DETAILS: The overprint device is one of the few devices that uses the GB_RETURN_COPY option to the get_bits procedures without also using the GB_RETURN_POINTER option. Thus the overprint device is bringing up problems in this option combination. The fix for 687935 "rangecheck in stroke while overprinting on the display device" brought this problem to the surface. The problem was that an incorrect buffer pointer was being used for the source for the data to be copied.[src/gdevdgbr.c 1.13]
Fix for the BeginPage and EndPage procedures used for N-up processing. DETAILS: The BeginPage called the previous BeginPage (stored in .BP) at the wrong time, so that rotation/translation of individual pages would not work correctly. The EndPage incremented the .Pn value even on 'device deactivation' calls (mode == 2) so the page count was off if the input PS did 'setpagedevice'. This probably is not widely used since it was broken. It's a little better now, but still needs improvement (IMHO) such as setting a 'clip' before the indivual pages. Try running two examples/tiger.eps to see why.[lib/gsnup.ps 1.5]
2005-06-07 18:33 Igor Melichev
ps2write : Implementinmg the ps2write device. DETAILS : 1. The ps2write device is a clone of the pdfwrite device. We define a new file gdevpdfb.h and move the device static data to there as a device template (gdevpdf.c, gdevpdfb.h). 2. pdf_open_document now writes out the copy opdfread.ps and few encodings (gdevpdfu.c). 3. Propagated a return code from pdf_open_document. 4. A new device parameter OPDFReadProcsetPath handles a list of files to be copied in the step (2) (gdevpdfx.h, gdevpdf.c, gdevpdfu.c, gdevpdfp.c). 5. pdf_close writes out the 0x04 character when working in the ForOPDFRead mode and OPDFReadProcsetPath is set. 6. A number of makefiles are changed to include the ps2write device. 7. In lib\gs_pdfwr.ps added the handling of distiller parameters with ps2write device. 8. In lib\gs_pdfwr.ps added an automatic setting of the OPDFReadProcsetPath device parameter for ps2write. 9. Added a new script ps2ps2.bat, which invokes Ghostscript with the ps2write devices. The old script ps2write.bat still invokes the Ghostscript with the pdfwrite device in the ForOPDFREad mode. It helps to debug ps2write with generating a PDF file in the ForOPDFRead mode. 10. In the documentation added references to the new files lib/ps2ps2.bat, src/gdevpdfb.h . (Develop.htm, Psfiles.htm). EXPECTED DIFFERENCES : None.[lib/gs_pdfwr.ps 1.40, lib/ps2ps2.bat 1.1, src/bcwin32.mak 1.37, src/devs.mak 1.131, src/gdevpdf.c 1.113, src/gdevpdfb.h 1.1, src/gdevpdfp.c 1.49, src/gdevpdfu.c 1.79, src/gdevpdfx.h 1.120, doc/Develop.htm 1.147, doc/Psfiles.htm 1.63, src/macos-mcp.mak 1.34, src/macosx.mak 1.27, src/msvc32.mak 1.73, src/openvms.mak 1.40, src/os2.mak 1.46, src/unix-gcc.mak 1.49, src/unixansi.mak 1.40, src/watcw32.mak 1.34]
2005-06-07 16:41 Igor Melichev
Fix (pdfwrite) : The memory descriptor of gx_device_pdf missed some strings. DETAILS : The bug was introduced when implementing the PDF encryption. Minor change : the string data change the type from gs_const_string to gs_string to comply with memory management macros. EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.112, src/gdevpdfx.h 1.119]
2005-06-06 19:06 Igor Melichev
ps2write : Handle TT cmap 00030000. DETAILS : Not sure why Ghostscript writes it since old wersions. A comment in lib/ttf_cmap reads : % Try another cmap format 3,0 -- Adobe doesn't mention it, but does % use it apparently (empirically determined). For now we do same in opdfread. Debugged with comparefiles\type42_glyph_index.ps . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.73]
2005-06-06 15:32 Igor Melichev
ps2write : A named resource maintenance. DETAILS : Since named resources (such as psdfmarkBP) may be used on any page, they conflich with the viewer resource management discipline, which drops resources per page. This patch implements an exception for that discipline. 1. (opdfread.ps) At page end don't drop resources marked with /.Global . 2. (opdfread.ps) Handlinging Form XObject. 3. Provide the /.Global mark for those resources, which are used in a named resource. (dgevpdfj.c, gdevpdfm.c, gdevpdtw.c). 4. The flag pdf_resource_t::global marks resources, which are used while accumulating a named resource object stream, to provide (3) (gdevpdti.c, gdevpdfx.h). 5. gx_device_pdf::accumulating_a_global_object is added to designate the state for (4). It is saved and restored while enterin or exiting a substream (gdevpdfx.h, gdevpdfm.c, gdevpdti.c). 6. Removed 'const' from some function pritotypes to allow pdf_add_resource to set pdf_resource_t::global (gdevpdfi.c, gdevpdfo.c, gdevpdfx.h). 7. Minor change : improved a condition for writing the /.CleanResources flag (gdevpdf.c). 8. Removed a confusing comment in pdfmark_PS (gdevpdfm.c). Debugged with pdfmarkPS.ps, Bug687350.ps . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.72, src/gdevpdf.c 1.111, src/gdevpdfi.c 1.71, src/gdevpdfj.c 1.45, src/gdevpdfm.c 1.48, src/gdevpdfo.c 1.33, src/gdevpdfu.c 1.78, src/gdevpdfx.h 1.118, src/gdevpdti.c 1.45, src/gdevpdtw.c 1.44]
Removed extra && and space from last commit (fix for 687973).[src/scfd.c 1.8]
Fix to allow CCITT data without EOFB when EndOfBlock is true (the default) to return normal end-of-file (EOFC) status instead of ioerror (ERRC) as long as the row count given by Rows is satisfied. Bug 687973. DETAILS: This bug was reported by a potential customer. The fix is minimal and returns EOFC instead of ERRC if the count given by Rows has been read. This seems to be the closest to what is implied by the Adobe description about EndOfBlock in that the filter WILL continue to process data past the Rows value if EndOfBlock is true (the default) as long as no error is seen. This means that PostScript programs that depend on this action to consume extra data will still operate correctly. Expected Differences: None (I ran all of the comparefiles).[src/scfd.c 1.7, src/scfx.h 1.6]
2005-05-31 20:42 Igor Melichev
ps2write : Fixed problems with Separation color spaces. DETAILS : Allocation mode was incorrect at several points. Debugged with comparefiles\Altona_Technical_1v1_x3.pdf . Minor change : Improved a bebug printing. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.71]
2005-05-31 19:25 Stefan Kemper
Update a few of the paper sizes used in reading/writing PXL. Fixes bug 688118.[src/gdevpxen.h 1.7]
2005-05-31 13:05 Igor Melichev
Fix : TT interpreter had problems on 64 bit platforms. DETAILS : It compiled with wrong integer data sizes. Patch from Hin-Tak Leung . EXPECTED DIFFERENCES : None.[src/ttfoutl.h 1.15, src/tttype.h 1.3, src/tttypes.h 1.2]
2005-05-31 11:04 Igor Melichev
ps2write : Implementing the SetPageSize mode (continued). DETAILS : With the recent patch opdfread sets a graphic state, which was saved before setting a page size. As a consequence the page was erased when the initial graphic state is set. This patch recreates PDFR_InitialGS when setpagedevice is invoked to change a page size. Debugged with comparefiles\012-09.ps . Minor change : Improved a bebug printing. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.70]
2005-05-31 10:56 Igor Melichev
Fix : A failed pattern color could cause a crash in vector devices. DETAILS : When a pattern color was set and was not used, it was not remapped and causaed a crash in gx_dc_pattern_save_dc. Detected occasionally when running an incorrect PS file. EXPECTED DIFFERENCES : None.[src/gsptype1.c 1.22, src/gxhldevc.c 1.4]
2005-05-30 21:00 Igor Melichev
ps2write : Implementing the SetPageSize mode. DETAILS : 1. SetPageSize mode enables changing a page size in the target printer. This mode is implemented mainly to simplify testing with Ghostscript|ppmraw. We need same page size of 'normal' and 'ps2write' rasters to simplify the automated comparizon. 2. (A minor change) Apply immediate binding to FitPages, RotatePages. 3. Allow more parameterization in ps2write.bat . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.69, lib/ps2write.bat 1.16]
2005-05-30 16:41 Igor Melichev
ps2write : Implementing the font type MMType1. DETAILS : 1. MMType1 to be handled as Type 1 due to the PDF format specifics. 2. Minor change : A comment for 'TrueType' was not good. 3. An implementation for 'sh' is saved for future use, rather it was coded in ps2write by an error (never usewd with ps2write, will be with ps3write). EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.68]
2005-05-29 19:29 Igor Melichev
Fix (pdfwrite, ps2write) : Skip empty images when converting a shading into a bitmap. DETAILS : When converting a shading to a bitmap, a zero size image could be written due to a typoe in gdev_pdf_fill_path. Debugged with -r720 "Clarke Tate Manns Chinese-.ai" . EXPECTED DIFFERENCES : None.[src/gdevpdfd.c 1.64]
Fix for 688113 null ptr crash in gdevp14.c. With the -rXXXxYYY switch specified and high resolution PDF 1.4 transparency files, GS would crash. DETAILS: The logic for deteriming band sizes was being bypassed if the -rXXXxYYY switch was specified on the command line. Specifying resolution on the command line was forcing the calculation of band size. This occured before the determination that PDF 1.4 transparency was being made. The band size was not being recalculated when the determination was being done. The fix consists of including the 'page_uses_transparency' as part of the logic for determining when the band size is recalculated.[src/gdevijs.c 1.12, src/gdevprn.c 1.20, src/gdevprn.h 1.15]
2005-05-26 17:22 Igor Melichev
Fix : 'strokepath' could generate wrongly oriented contours (continued 2) DETAILS : Bug 688114 "Worse frame rasterizing a distilled Bug687546.ps". The main change is gxstroke.c ln 853 : the line width rounding depended on the line direction. Rather the problem is old, before the patch http://ghostscript.com/pipermail/gs-cvs/2005-May/005519.html it was not so important because vertical and horizontal lines always had a positive direction. After the mentioned patch, that it not so. Thus this patch completes the mentioned patch. Other (minor) changes inprove visual trace instructions for round caps. EXPECTED DIFFERENCES : Normal 72 dpi : "110-01.ps" "169-05.ps" "169-09.ps" "222-05.ps" "260-01.ps" "289-01.ps" "297-01.ps" "298-01.ps" "298-05.ps" "298-09.ps" "321-01.ps" "321-05.ps" "adesso8.pdf" normal 300dpi : pdfwrite 72dpi : "012-13.ps" "013-13.ps" "014-05.ps" "014-13.ps" "015-05.ps" "169-05.ps" "169-09.ps" "222-05.ps" "260-01.ps" "297-01.ps" "316-07.ps" "adesso8.pdf" fail ppmraw/hdr "Bug687846.ps" "Bug687846.ps" fail ppmraw/cur "Bug687894.ps" fail pdfwrite/hdr "Bug687894.ps" fail ppmraw/hdr "Bug687894.ps" "Bug687894.ps" "file.pdf" pdfwrite 300dpi : "012-13.ps" "013-13.ps" "015-05.ps" "027-09.ps" "169-05.ps" "222-05.ps" "298-05.ps" "307-01.ps" "320-01.ps" "ai2.pdf"[src/gxpath.c 1.11, src/gxstroke.c 1.16, src/lib.mak 1.207]
2005-05-26 07:35 Igor Melichev
Fix : 'strokepath' could generate wrongly oriented contours (continued) DETAILS : The patch http://ghostscript.com/pipermail/gs-cvs/2005-May/005519.html brake a debug check. Bug 688115 "Many new error/warning messages from gxstroke.c". EXPECTED DIFFERENCES : None.[src/gxstroke.c 1.15]
Fix VM space for userparams. Problem and patch courtesy of Paul Vojta. Bug 688107. DETAILS: Also thanks to Alex Cherepanov for a reporducible test case. The original problem file 'epstest.eps' did not actually show a problem. I tested this against the comparefiles to validate that there were no unexpected changes, but generally it was an obvious problem that an array might be created in a VM space that was not the same local/gloabl as the strings it contained.[lib/gs_lev2.ps 1.37]
2005-05-25 15:57 Igor Melichev
Fix (pdfwrite, ps2write) : Wrong shading coordinates when converting to PDF 1.2 . DETAILS : 1. Do not write "W n" when cvd->has_background == true, because we do not write a clipping path in this case. 2. When a shading is being converted into a bitmap with a downsampling, coordinate formulas in gdev_pdf_fill_path were wrong. The new logic is : sx,sy := the bitmap offset; Scale down the color and the CTM; Scale down the path to be filled; The pdf_lcvd_t instance performs a shift of the shading coverage path with path_offset := {sx,sy}; A sacale up and shift back matrix is written into PDF as a 'cm' argument. {m.tx,m.ty} is same as the bitmap offset {sx, sy}; 3. gx_dc_pattern2_has_background must account whether the shading is instantiated with a shfill. In this case Background is being ignored. 4. In R_tensor_annulus, the assignation of curve[i].straight was wrong when the patch boundasries applied a cyclic shift with 'inside'. 5. In patch_fill, the computation of the shading contour sign was not correct. Rather it gave a right sign for most cases, we replaced it with a right general formula (assuming a non-self-overlapped patch). EXPECTED DIFFERENCES : None.[src/gdevpdfd.c 1.63, src/gsptype2.c 1.19, src/gxshade1.c 1.41, src/gxshade6.c 1.100]
Fix for 688010 Errors in overprint with halftoned output. DETAILS: The PDF overprintmode can be used to specify overprinting when the value of an input color is zero. The problem was caused by an error in determining when an input color was zero. The problem was only apparent with a 'binary' halftone. Ie.e one in which on a single component is being halftoned. The earlier logic would overprint all components which were not being halftoned. The example case involved 100% black and 50% cyan. The black component was treated like it was 0%.[src/gxht.c 1.17]
2005-05-23 18:24 Igor Melichev
Fix (pdfwrite, ps2write) : Shading background was missed in PDF1.2 . DETAILS : Bug 688109 "pdfwrite : shading background can erroneusly disappear". 1. A new function gx_dc_pattern2_has_background allows to know whether a pattern color has a background. 2. If it has, when converting a shading to a bitmap, entire bitmap is being filled, so the shading coverage is trivial, and it doesn't need to convert into a masked image or into a clipped image. Implemented with defining a new flag pdf_lcvd_t::has_background . 3. Minor change : defined the identifier pdf_lcvd_s . 4. In gdevpdfb.c, applied lossles filters to an image, if it is not big. The old code did in the ForOPDFRead mode only. So now it works for pdfwrite. It improves the view of patterns (including shadings), rather the compressed iomage size is bigger. The old code caused significant distorsions with applying DCT to shadings (distorsions appear at patch boundaries and/or at the shading coverage boundary). EXPECTED DIFFERENCES : None.[src/gdevpdfb.c 1.29, src/gdevpdfd.c 1.62, src/gdevpdfx.h 1.117, src/gsptype2.c 1.18, src/gsptype2.h 1.13]
2005-05-23 14:59 Igor Melichev
Fix : 'setcachewdevice' must always clip characters. DETAILS : Bug 688096 " setcachedevice must clip characters". 'setcachedevice' establises a clipping box when rendering a glyph to a cache. In same time, when rendering with no caching, the old code did not clip. As a result, some glyphs were clipped, and some others were not, depending on the glyph size. This patch clips Type 3 and Type 10 charactrers when rendering with no cache, and behaves as the old code with other font types. We doing so to optimze the performance using the assumption that "outline" (FontType != 3 && FontType != 10) fonts must not paint outside FontBBox, which to be used for clipping in those cases. Besides that, the patch rounds Type 3 and Type 10 charactrer coordinates when renderingh with no cache, to provide an uniform coordinate assignation with the cached mode. The patch defines a new variant CACHE_DEVICE_NONE_AND_CLIP, which is defined almost for clarity. Actually the code never checks for this specific value. For more details see comments in code. EXPECTED DIFFERENCES : Normal 72dpi : Not detected. Normal 300dpi : "027-13.ps" "032-07.ps" "205-09.ps" "212-01.ps" "213-01.ps" "214-01.ps" "264-01.ps" "289-01.ps" "298-09.ps" "321-09.ps" pdfwrite 72 dpi : None. pdfwrite 300dpi : None.[src/gscpm.h 1.5, src/gxchar.c 1.45]
2005-05-23 10:49 Igor Melichev
Fix : 'strokepath' could generate wrongly oriented contours. DETAILS : Bug 688103 "The dashing direction depends on the initial device CTM determinant". Bug 688097 "A wrong clipping with 298-01.ps" The patch computes initial_matrix_reflected = true iff the initial device CTM has a negative determinant. Then it is accounted to orient stroke outlines to a proper direction : they must form positive contours in the user space. For doing so we properly orient dash caps in gx_stroke_path_only_aux, and then compensate it in line_join_points. Several local function prototype were changed to pass the value of initial_matrix_reflected to line_join_points. Minor change : moved some visual trace instructions to a more general function, which is called from several places. EXPECTED DIFFERENCES : Normal 72dpi : "012-13.ps" "013-13.ps" "014-05.ps" "014-13.ps" "015-05.ps" "027-09.ps" "034-10.ps" "169-05.ps" "169-09.ps" "169-13.ps" "205-13.ps" "222-05.ps" "222-13.ps" "260-01.ps" "289-01.ps" "297-01.ps" "298-01.ps" "298-05.ps" "298-09.ps" "308-04.ps" "316-07.ps" "321-01.ps" "321-05.ps" "321-13.ps" "adesso8.pdf" "file.pdf" "golfer.eps" Normal 300dpi : "014-05.ps" "015-05.ps" "027-09.ps" "034-01.ps" "159.pdf" "169-05.ps" "222-05.ps" "231-01.ps" "260-01.ps" "281-01.ps" "289-01.ps" "298-01.ps" "298-05.ps" "307-01.ps" "321-01.ps" "321-05.ps" "86554321.pdf" "adesso7.pdf" "Bug687546.ps" pdfwrite 72 dpi : "012-13.ps" "013-13.ps" "014-05.ps" "014-13.ps" "015-05.ps" "034-10.ps" "169-05.ps" "169-09.ps" "169-13.ps" "222-05.ps" "222-09.ps" "222-13.ps" "260-01.ps" "297-01.ps" "316-07.ps" "adesso8.pdf" "file.pdf" "golfer.eps" pdfwrite 300dpi : "014-05.ps" "015-05.ps" "027-09.ps" "169-05.ps" "222-05.ps" "307-01.ps" "316-07.ps" "320-01.ps"[src/gxstroke.c 1.14]
Fix for yet another broken PDF that Adobe Reader handles without complaint. Circular references in Resources are now detected and handled (with a warning). Bug 687946 for customer 580. Thanks to Alex Cherepanov for this fix DETAILS: A dictionary is used to detect the looping and if found a pdfformaterror is emitted and the checking for transparency halts (returning false). This does mean that a file with this problem may be incorrectly classified and will be processed as if NOTRANSPARENCY was in effect. The performance penalty for the extra checking is negligble (tested with the 1236 page PDF 1.6 Reference Manual.[lib/pdf_main.ps 1.98]
2005-05-18 19:59 Igor Melichev
ps2write : Improving the script with NOOUTERSAVE. EXPECTED DIFFERENCES : None.[lib/ps2write.bat 1.15]
2005-05-18 19:51 Igor Melichev
ps2write : Passing NumCopies to the output. DETAILS : 1. In the ForOPDFRead mode Page objects will have a NumCopies entry iff NumCopies in the input isn't null. With ForOPDFREad=false it is being ignored. 2. opdfread.ps applies copypage to provide the requested number of copies. Zero and negative values are being ignored. Thus, if a PS document multiplies specific pages, they will be printed in the requested number. In same time, entire document can be copied with setting the NumCopies device parameter to the printer. This behavior is some different than pswrite. Debugged with 268-03.ps . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.67, src/gdevpdf.c 1.110, src/gdevpdfx.h 1.116]
2005-05-18 10:21 Igor Melichev
Fix (pdfwrite) : A wrong line join with 'stroke'. DETAILS : This patch affects all vector devices. The old code wrongly recognizes closed rectangular paths, so that unclosed rectangles were converted into closed ones with 'stroke'. EXPECTED DIFFERENCES : pdfwrite : 260-01.ps adesso1.pdf[src/gdevvec.c 1.26]
Update a comment to correctly describe the jasper stream object struct.[src/sjpx.h 1.5]
2005-05-17 20:40 Igor Melichev
Fix (ps2write) : Complete supporting vierws which have no stroke color. DETAILS : Color was not synchronized when painting with a low level color. Debugged with 035-01.ps, 148-01.ps, 148-05.ps, 148-11.ps . EXPECTED DIFFERENCES : None.[src/gdevpdfd.c 1.61]
2005-05-17 17:40 Igor Melichev
opdfread : Implementing HalftoneType 3,6,10. DETAILS : 1. A bug in ComputeFunction_n0 : s/size/length 2. A bug in ComputeFunction_n0 scaled argument must compare with array size rather than with 1. 3. Creating halftone Thresholds from stream with CreateHalftoneThresholds. 4. Resolve SpotFunction independently on IsObjRef. 5. Resolve TransferFunction for some halftone types. 6. Convert HalftoneType 6 into HalftoneType 3. 7. Ignore HalftoneType > 6 (which are not allowed in Postscript level 2) and print a warning. We would like to convert them, but it's too complex. Debugged with 258-01.ps, 476-01.ps . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.66]
2005-05-17 12:04 Igor Melichev
Fix (opdfread) : Some glyphs were substituted with .notdef . DETAILS : It was broken when implementing a workaround for broken filters in HP LaserJet 1320 : endstream was never called, so that definefont_hook was skipped. 1. Moved the processing from 'endstream' to a new procedure HookFont. 2. Imple,mented an 'endobj' daemon with .endobj_daemon, which is a property of an object. 3. ReadFontProcs procedures create instances of .endobj_daemon, which call HookFont. 4. definefont_hook has been removed forever. 5. 'wendstream' is now an empty procedure, which actually is never called due to the HP filter problem. Debugged with 01_001.pdf . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.65]
2005-05-17 08:41 Igor Melichev
ps2write : Improving the script. DETAILS : 1. Restricted the source line width with inserting temporary variables. 2. Provided the 'jobserver' option with an environment variable to simplify running Genoa tests. EXPECTED DIFFERENCES : None.[lib/ps2write.bat 1.14]
2005-05-17 08:19 Igor Melichev
opdfread : Improving the discipline for function resolving. DETAILS : 1. Impolemented a general object reference recognizer in IsObjRef. 2. ResolveFunctionSafe is another helper. 3. Used it in function resolving. 4. Replaced ResolveSpotFunction with a general ResolveFunction. 5. Removed an unintended debug printing. EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.64]
2005-05-16 23:25 Igor Melichev
opdfread : Implementing n-arguments linear sampled functions in BG, UCR, TR, BG2, UCR2, TR2, HT. DETAILS : 1. Fixed the stack balanse in ScaleArgN. 2. ComputeFunction_n0 Was not implemented. 3. FunctionToProc_x01 did not properly scale the argument from the Domain. 4. Added the FunctionToProc20 dispatch. 5. Renamed FunctionToProc2 into FunctionToProc12. 6. Renamed FunctionToProc4 into FunctionToProc14. 7. spotfunctions mark copied from pdf_draw.ps 8. ResolveFunction defines an uniform convention for function resolving. 9. Fixed SetTransfer with new convension of function resolving. 10. Implemented BG, UCR, TR, BG2, UCR2, TR2, HT with the new methods for 2-argument functions. Debugged with 246-01.ps . EXPECTED DIFFERENCES : None.[lib/opdfread.ps 1.63]
2005-05-13 12:28 Alex Cherepanov
Fix a typo in a comment.[src/msvc32.mak 1.72]
2005-05-12 19:26 Igor Melichev
Fix (ps2write) : Did not write halftone, color transfer, and some other graphic state parameters. DETAILS : See comment in code. EXPECTED DIFFERENCES : None.[src/gdevpdfg.c 1.62]
2005-05-12 02:01 Alex Cherepanov
Increase the artificial limits in the spot analyzer device to accomodate Xterra-Regular font. Fix bug 688077.[src/gzspotan.c 1.14]
2005-05-10 16:19 Igor Melichev
Fix (pdfwrite) : Properly encrypt the document Info values. DETAILS : Bug 688076 "encrypted pdf document properties are garbled". This patch unwinds the part 7 of the patch http://ghostscript.com/pipermail/gs-cvs/2005-April/005485.html . EXPECTED DIFFERENCES : None.[src/gdevpdfo.c 1.32]
Fix overly agressive xref format checking that was tripped up by doubleinstead of . Bug 688082 for customer 580. DETAILS: The xref did have 20 character entries, but as mentioned, a double 0x0d resulted in the second line being read as an empty line. Go back to the older method of reading 20 character strings, then add format verification that only allows white space characters after the 'f' or 'n'. There may be an underlying problem in the rebuild logic, or the file may be damaged beyond repair although it does now open. There is a warning issued about stream EOL that may have confused the rebuild logic. [lib/pdf_main.ps 1.97]
Handle non-integer font size and stop after last page processed.[lib/gslp.ps 1.7]
Partial fix for 687814 dithering artifacts. The given test file shows some faint halftone dots in the background when rasterized using the bmp256 device. DETAILS: The problem is caused by a combination of factors that aggravate the situation plus some things in the color look up logic that cause minor errors in the calculations. The aggravating factors: By default, Ghostscript uses a 16x16 halftone cell for low resolutions, i.e. below 150 dpi. (I do not know the reasons why and it seems like a poor choice to me. However for now, I am not changing the halftone.) The bmp256 device utilizes a 6x6x6 RGB color cube. Thus there are 1281 levels ((16 x 16 x 5) + 1) for each halftoned colorant. This gives a step size between each level of 0.00078. Thus even very small errors in the calculations become visible as faint halftone dots. The given test file is using a CalRGB color space. The WhitePoint is [ 0.9505 1 1.089 ] which is the standard D65 white point. However with the given CalRGB parameters and a pure white RGB input (1 1 1). the resulting XYZ is [0.9505 0.99999 1.089] which has a very small error in the Y value. (However the error is small enough that one would not expect it to be visible.) The calculations in Ghostscript's halftoning logic for determining the halftone level truncate values. With an RGB process color model, this means that only a pure white is not halftoned. Thus the small error mentioned in the previous paragraph becomes visible. Note: The truncation effects work the other way in a CMYK process color model, which is why we do not see this problem with shades that are nearly white in CMYK halftoned output. The calculation errors: To save CPU time, the color look up logic did not interpolate table entries which were closer that 0.01. Thus output values could have an error as large as 0.01. The color look up logic clipped table entries to the specified output range. This can cause errors with interpolated values when the interpolation involves one table entry that is clipped and one entry that is not clipped. The changes in this fix: The calculations that determine the halftone levels was modified. Actually it was simplified. Prior to the DeviceN changes (in revision 8.00) there were three separate calculations for halftone levels. There was a separate calculation for Gray, RGB, and CMYK color spaces. Revision 8.00 changed the halftoning to be based upon the device's process color model (instead of the color space) and merged the RGB and CMYK calculations. The two separate calculations were kept to minimize regressions during the DeviceN effort. This change basically keeps the logic that had been used for Gray process color models. This version of the calculation does not have the truncation problems that were present in the RGB/CMYK calculation. Another simplification was removal of some logic that was checking for additive versus subtractive process color model. Once again this logic was present only to minimize regressions compared to pre 8.00 results. The final result is that this calculation is much simpler, faster, and gives a better result. The 'do not interpolate' criteria was reduced to 0.001. Once again this can add to the CPU time. Changes which are not in this fix: The clamping of look up table entries was not changed. Changing this requires that the we would have to clamp the output after the table lookup. The errors are small but they are large enough that problems are still seen with the bmp256 device and a 16x16 halftone cell. There are several different paths through this logic and thus the probability of creating worse errors is relatively high. This change would add slightly to the CPU time but is required to get the correct result. EXPECTED DIFFERENCES: This change produces small changes in the halftone levels. The changes in the 'do not interpolate' value affects many files which use CIE or ICC color spaces. Between these two changes, this fix affects 165 files.[src/gscie.h 1.14, src/gxcmap.c 1.25, src/gxdevndi.c 1.6, src/gxdither.h 1.7]
2005-05-03 10:50 Igor Melichev
Speed up shadings : a minor optimization for the monotonity check of a stitching function. DETAILS : It returned false (wrong, must be true) if entire interval falls to the end of the domain. Speeds up ps2write with "Clarke Tate Manns Chinese.ai". EXPECTED DIFFERENCES : Not observed in a local testing with arbitrary devices. May cause a minor difference with some devices.[src/gsfunc3.c 1.26]
2005-05-03 10:41 Igor Melichev
ps2write : Set device parameters to preserve colors. EXPECTED DIFFERENCES : None.[lib/ps2write.bat 1.13]
2005-05-03 09:10 Igor Melichev
ps2write : Fix problems with shadings. DETAILS : 1. gdev_pdf_fill_rectangle_hl_color did not implement a shading conversion when called with a shading color. 2. The "convert_to_image" branch of gdev_pdf_fill_path had a problem with clipping path when called fron the operator 'fill' (rather than 'shfill'). 3. In the "convert_to_image" branch of gdev_pdf_fill_path improved the balance of Q/q in case of errors. EXPECTED DIFFERENCES : None.[src/gdevpdfd.c 1.60]
Handle CIDCount value of 65536 which might be seen with Identity CMap. Fix for customer 562. DETAILS: while a multiple string approach had been previously implemented to allow CIDCount > 32767, with 65536 a 'rangecheck in --string-- would result when trying to create a string of 65538 bytes (32769 * 2). I chose a arbitrary break point of 22000 CID's so that three strings would be enough for 66000 total.[lib/gs_cidtt.ps 1.9]
2005-04-27 16:40 Igor Melichev
Fix (pdfwrite) : Properly account FontMatrix of a CID font with 'glypshow', 'cshow'. DETAILS : Bug 688000 "PDF writer produces misplaced characters". When a CID font is used with 'glypshow' or with 'show' in a 'cshow' procedure, pdfwrite creates a Type 0 font for wrapping the CID font according to the PDF standard. Doing so, the old code created a single type 0 font for all occurances of the CID font, rather those occurances may have different values of FontMatrix. The new code creates so many type 0 fonts as many various values of FontMatrix is used with the CID font. EXPECTED DIFFERENCES : None.[src/gdevpdtc.c 1.42, src/gsfont.c 1.36, src/gsfont.h 1.11]
Fix for 687883 tiff32nc device and PDF transparency and for 687980 image missing with psdcmyk driver. DETAILS: The absence of the images was caused by an error in the handling of PDF 1.4 transparency soft masks (SMask). The mask data is monochrome. However it is saved (like all PDF 1.4 transparency related colors) in the blending color space. Currently the process color model of the output device is being used for the PDF 1.4 blending space. The fix consists of inverting the image mask data when a subtractive blending color space is being used.[src/gdevp14.c 1.28]
Fix for 688048 ijs driver broken in 8.51 for ProcessColorModel=Gray versus 8.50 DETAILS: There were a few minor problems with the gdevijs.c file. 1. The file has been corrupted with extra ^M's at the end of lines. (These cause problems with the MSVC debugger since MSVC gets confused about which source line is being debugged.. They can also cause problem with the Borland Compiler.) This a reoccurring problem and I am getting tired of seeing it. Unfortunately they are not visible in the diff shown below or in the MSVC debugger. 2. The routine gsijs_read_string_malloc has some problems. The call to gs_free has str as a parameter when it should have been *str. (str is a pointer to a pointer.) This is the major cause of the reported problem. The routine only released the old string when the new one needed to be larger however it always allocated a new string. Since this is non GC memory, this causes a leak.[src/gdevijs.c 1.11]
2005-04-25 12:28 Igor Melichev
Fix (pdfwrite) : Uninitialized variable when encrypting a string from a pdfmark. DETAILS : Bug 687809 "pdfwrite: A wrong encryption of bookmarks". This bug may become another classic example, which demonstrates a bad coding style. The function s_PSSD_init incompletely performed the action, which it is designed for. The reason is that the macro s_PSSD_init_inline was made especially for optimizing scan_token, and its name doesn't reflect its action. When coded s_PSSD_init, its action was forgotten. As a result we've got an indeterministic behavior. This fix renames s_PSSD_init_inline into s_PSSD_partially_init_inline for a better reflection of its action, completes s_PSSD_init, and makes the letter be public for a regular initialization. Particularly using it gdevpdfr.c to fix another indeterministic bug, which persists since the repository was created. EXPECTED DIFFERENCES : None.[src/gdevpdfr.c 1.9, src/iscan.c 1.20, src/sstring.c 1.5, src/sstring.h 1.7]
2005-04-25 02:23 Igor Melichev
Fix (pdfwrite) : font file objects encryption was broken when worked on ps2write. DETAILS : Bug 688045 "gs 8.51 cannot create encrypted pdf file correctly". 1. With CompatibilityLevel == 1.2 did not create an uniquie font name. Removing pdf_begin_fontfile and open the data stream with reserving the object ID before font name is being computed (gdevpdtb.c). Detected occasionally, and it is not related to the bug. Fixed to establish a correct order of processing, setting a proper context for other changes. 2. pdf_write_embedded_font must not set DATA_STREAM_ENCRYPT because the font object is being written into the temporary file pdev->streams. It will be encrypted when copyed from the temporary file to the output file. See comment in pdf_begin_encrypt. The old code actually encrypted it twice, what is equivalent to no encryption. We guess it was broken while working on ps2write, due to writing font descriptor object before font file object. 3. pdf_write_cmap had same problem as pdf_write_embedded_font. 4. pdf_write_contents_cid2 had same problem with CIDToGIDMap. 5. In pdf_encrypt_encoded_string, the PSSD filter did not move the cursor of the underlying stream when closing by EOD. We believe that it worked when it was coded, and we guess it was broken relatively recently. As a workaround, setting close_at_eod = false, because this mode appears to move the underlying stream. We didn't analyze why PSSD moved it a long ago and doesn't longer move now. 6. pdf_write_cid_system_info_to_stream must not encrypt when called from pdf_write_cmap due to (3). 7. Don't encrypt the DocumentInfo dictionary items because Adobe readers don't decrypt them. EXPECTED DIFFERENCES : None.[src/gdevpdfo.c 1.31, src/gdevpdfu.c 1.77, src/gdevpdtb.c 1.36, src/gdevpdti.c 1.44, src/gdevpdtw.c 1.43]
Initial revision[jasper/NEWS 1.1, jasper/LICENSE 1.1, jasper/README 1.1, jasper/aclocal.m4 1.1, jasper/COPYRIGHT 1.1, jasper/INSTALL 1.1, jasper/Makefile.am 1.1, jasper/Makefile.in 1.1, jasper/configure 1.1, jasper/configure.ac 1.1, jasper/jasper.spec 1.1, jasper/jasper.spec.in 1.1, jasper/doc/README 1.1, jasper/doc/jasper.pdf 1.1, jasper/doc/jpeg2000.pdf 1.1, jasper/src/Makefile.am 1.1, jasper/src/Makefile.in 1.1, jasper/src/README 1.1, jasper/src/appl/Makefile.am 1.1, jasper/src/appl/Makefile.in 1.1, jasper/src/appl/dummy.c 1.1, jasper/src/appl/imginfo.c 1.1, jasper/src/appl/jiv.c 1.1, jasper/src/appl/imgcmp.c 1.1, jasper/src/appl/jasper.c 1.1, jasper/src/appl/jasper_sdl.c 1.1, jasper/src/libjasper/Makefile.am 1.1, jasper/src/libjasper/Makefile.in 1.1, jasper/src/libjasper/README 1.1, jasper/src/libjasper/dummy.c 1.1, jasper/src/libjasper/bmp/Makefile.am 1.1, jasper/src/libjasper/bmp/Makefile.in 1.1, jasper/src/libjasper/bmp/bmp_cod.c 1.1, jasper/src/libjasper/bmp/bmp_cod.h 1.1, jasper/src/libjasper/bmp/bmp_dec.c 1.1, jasper/src/libjasper/bmp/bmp_enc.c 1.1, jasper/src/libjasper/bmp/bmp_enc.h 1.1, jasper/src/libjasper/jp2/Makefile.am 1.1, jasper/src/libjasper/jp2/Makefile.in 1.1, jasper/src/libjasper/jp2/jp2_cod.c 1.1, jasper/src/libjasper/jp2/jp2_cod.h 1.1, jasper/src/libjasper/jp2/jp2_dec.c 1.1, jasper/src/libjasper/jp2/jp2_dec.h 1.1, jasper/src/libjasper/jp2/jp2_enc.c 1.1, jasper/src/libjasper/jpc/jpc_cod.h 1.1, jasper/src/libjasper/jpc/jpc_dec.c 1.1, jasper/src/libjasper/jpc/jpc_dec.h 1.1, jasper/src/libjasper/jpc/jpc_enc.c 1.1, jasper/src/libjasper/jpc/jpc_enc.h 1.1, jasper/src/libjasper/jpc/jpc_fix.h 1.1, jasper/src/libjasper/jpc/jpc_flt.h 1.1, jasper/src/libjasper/jpc/jpc_math.c 1.1, jasper/src/libjasper/jpc/jpc_math.h 1.1, jasper/src/libjasper/jpc/jpc_mct.c 1.1, jasper/src/libjasper/jpc/jpc_mct.h 1.1, jasper/src/libjasper/jpc/jpc_mqcod.c 1.1, jasper/src/libjasper/jpc/jpc_mqcod.h 1.1, jasper/src/libjasper/jpc/jpc_mqdec.c 1.1, jasper/src/libjasper/jpc/jpc_mqdec.h 1.1, jasper/src/libjasper/jpc/jpc_mqenc.c 1.1, jasper/src/msvc/Makefile.am 1.1, jasper/src/msvc/Makefile.in 1.1, jasper/src/msvc/README 1.1, jasper/src/msvc/imgcmp.dsp 1.1, jasper/src/msvc/imginfo.dsp 1.1, jasper/src/msvc/jasper.dsp 1.1, jasper/src/msvc/jasper.dsw 1.1, jasper/src/msvc/jiv.dsp 1.1, jasper/src/msvc/libjasper.dsp 1.1, jasper/src/libjasper/jpc/Makefile.am 1.1, jasper/src/libjasper/jpc/Makefile.in 1.1, jasper/src/libjasper/jpc/jpc_bs.c 1.1, jasper/src/libjasper/jpc/jpc_bs.h 1.1, jasper/src/libjasper/jpc/jpc_cs.c 1.1, jasper/src/libjasper/jpc/jpc_cs.h 1.1, jasper/src/libjasper/jpc/jpc_mqenc.h 1.1, jasper/src/libjasper/jpc/jpc_qmfb.c 1.1, jasper/src/libjasper/jpc/jpc_qmfb.h 1.1, jasper/src/libjasper/jpc/jpc_t1cod.c 1.1, jasper/src/libjasper/jpc/jpc_t1cod.h 1.1, jasper/src/libjasper/jpc/jpc_t1dec.c 1.1, jasper/src/libjasper/jpc/jpc_t1dec.h 1.1, jasper/src/libjasper/jpc/jpc_t1enc.c 1.1, jasper/src/libjasper/jpc/jpc_t1enc.h 1.1, jasper/src/libjasper/jpc/jpc_t2cod.c 1.1, jasper/src/libjasper/jpc/jpc_t2cod.h 1.1, jasper/src/libjasper/jpc/jpc_t2dec.c 1.1, jasper/src/libjasper/jpc/jpc_t2dec.h 1.1, jasper/src/libjasper/jpc/jpc_t2enc.c 1.1, jasper/src/libjasper/jpc/jpc_t2enc.h 1.1, jasper/src/libjasper/jpc/jpc_tagtree.c 1.1, jasper/src/libjasper/jpc/jpc_tagtree.h 1.1, jasper/src/libjasper/jpc/jpc_tsfb.c 1.1, jasper/src/libjasper/jpc/jpc_tsfb.h 1.1, jasper/src/libjasper/jpc/jpc_util.c 1.1, jasper/src/libjasper/jpc/jpc_util.h 1.1, jasper/src/libjasper/jpg/Makefile.am 1.1, jasper/src/libjasper/jpg/Makefile.in 1.1, jasper/src/libjasper/jpg/README 1.1, jasper/src/libjasper/jpg/jpg_cod.h 1.1, jasper/src/libjasper/jpg/jpg_dec.c 1.1, jasper/src/libjasper/jpg/jpg_dummy.c 1.1, jasper/src/libjasper/jpg/jpg_enc.c 1.1, jasper/src/libjasper/jpg/jpg_enc.h 1.1, jasper/src/libjasper/jpg/jpg_jpeglib.h 1.1, jasper/src/libjasper/jpg/jpg_val.c 1.1, jasper/src/libjasper/mif/Makefile.am 1.1, jasper/src/libjasper/mif/README 1.1, jasper/src/libjasper/mif/mif_cod.c 1.1, jasper/src/libjasper/mif/mif_cod.h 1.1, jasper/src/libjasper/base/Makefile.am 1.1, jasper/src/libjasper/base/Makefile.in 1.1, jasper/src/libjasper/base/jas_cm.c 1.1, jasper/src/libjasper/base/jas_debug.c 1.1, jasper/src/libjasper/base/jas_getopt.c 1.1, jasper/src/libjasper/base/jas_icc.c 1.1, jasper/src/libjasper/base/jas_iccdata.c 1.1, jasper/src/libjasper/base/jas_image.c 1.1, jasper/src/libjasper/base/jas_init.c 1.1, jasper/src/libjasper/base/jas_malloc.c 1.1, jasper/src/libjasper/base/jas_seq.c 1.1, jasper/src/libjasper/base/jas_stream.c 1.1, jasper/src/libjasper/base/jas_string.c 1.1, jasper/src/libjasper/base/jas_tvp.c 1.1, jasper/src/libjasper/base/jas_version.c 1.1, jasper/src/libjasper/include/Makefile.am 1.1, jasper/src/libjasper/include/Makefile.in 1.1, jasper/src/libjasper/include/jasper/jas_debug.h 1.1, jasper/src/libjasper/include/jasper/jas_fix.h 1.1, jasper/src/libjasper/include/jasper/jas_icc.h 1.1, jasper/src/libjasper/include/jasper/jas_image.h 1.1, jasper/src/libjasper/include/jasper/jas_init.h 1.1, jasper/src/libjasper/include/jasper/jas_malloc.h 1.1, jasper/src/libjasper/include/jasper/jas_math.h 1.1, jasper/src/libjasper/include/jasper/jas_seq.h 1.1, jasper/src/libjasper/include/jasper/jas_version.h 1.1, jasper/src/libjasper/mif/Makefile.in 1.1, jasper/src/libjasper/pgx/Makefile.am 1.1, jasper/src/libjasper/pgx/Makefile.in 1.1, jasper/src/libjasper/pgx/pgx_cod.c 1.1, jasper/src/libjasper/pgx/pgx_cod.h 1.1, jasper/src/libjasper/pgx/pgx_dec.c 1.1, jasper/src/libjasper/pgx/pgx_enc.c 1.1, jasper/src/libjasper/pgx/pgx_enc.h 1.1, jasper/src/libjasper/pnm/Makefile.am 1.1, jasper/src/libjasper/pnm/Makefile.in 1.1, jasper/src/libjasper/pnm/pnm_cod.c 1.1, jasper/src/libjasper/pnm/pnm_cod.h 1.1, jasper/src/libjasper/pnm/pnm_dec.c 1.1, jasper/src/libjasper/pnm/pnm_enc.c 1.1, jasper/src/libjasper/pnm/pnm_enc.h 1.1, jasper/src/libjasper/ras/Makefile.am 1.1, jasper/src/libjasper/ras/Makefile.in 1.1, jasper/src/libjasper/ras/ras_cod.c 1.1, jasper/src/libjasper/ras/ras_cod.h 1.1, jasper/src/libjasper/ras/ras_dec.c 1.1, jasper/src/libjasper/ras/ras_enc.c 1.1, jasper/src/libjasper/ras/ras_enc.h 1.1, jasper/data/Makefile.am 1.1, jasper/data/colorprofiles/README 1.1, jasper/data/colorprofiles/erimm.icm 1.1, jasper/data/colorprofiles/esrgb.icm 1.1, jasper/data/colorprofiles/esrgbgrey.icm 1.1, jasper/data/colorprofiles/grey.icm 1.1, jasper/data/colorprofiles/greyromm.icm 1.1, jasper/data/colorprofiles/romm.icm 1.1, jasper/data/colorprofiles/sgray.icm 1.1, jasper/data/colorprofiles/srgb.icm 1.1, jasper/data/colorprofiles/sycc.icm 1.1, jasper/data/images/README 1.1, jasper/data/images/example.mif 1.1, jasper/data/images/goldenears.bmp 1.1, jasper/data/images/goldenears.jpg 1.1, jasper/data/images/stawamuschief_gray.pnm 1.1, jasper/data/images/test.pnm 1.1, jasper/src/libjasper/include/jasper/Makefile.am 1.1, jasper/src/libjasper/include/jasper/Makefile.in 1.1, jasper/src/libjasper/include/jasper/jas_cm.h 1.1, jasper/src/libjasper/include/jasper/jas_config.h 1.1, jasper/src/libjasper/include/jasper/jas_config_ac.h 1.1, jasper/src/libjasper/include/jasper/jas_config_ac.h.in 1.1, jasper/src/libjasper/include/jasper/jas_config_win32.h 1.1, jasper/src/libjasper/include/jasper/jas_getopt.h 1.1, jasper/src/libjasper/include/jasper/jas_stream.h 1.1, jasper/src/libjasper/include/jasper/jas_string.h 1.1, jasper/src/libjasper/include/jasper/jas_tvp.h 1.1, jasper/src/libjasper/include/jasper/jas_types.h 1.1, jasper/src/libjasper/include/jasper/jasper.h 1.1, jasper/data/images/example.mif0 1.1, jasper/data/images/goldenears.pnm 1.1, jasper/data/images/goldenears.ras 1.1, jasper/acaux/compile 1.1, jasper/acaux/depcomp 1.1, jasper/data/images/feep.pnm 1.1, jasper/data/images/feep2.pnm 1.1, jasper/data/images/goldenears_gray.jpg 1.1, jasper/data/images/goldenears_gray.pnm 1.1, jasper/data/images/goldenears_gray.ras 1.1, jasper/data/images/small_16x1.pgm 1.1, jasper/data/images/small_1x1.pgm 1.1, jasper/data/images/stawamuschief.pnm 1.1, jasper/acaux/config.guess 1.1, jasper/acaux/config.sub 1.1, jasper/acaux/install-sh 1.1, jasper/acaux/ltmain.sh 1.1, jasper/acaux/missing 1.1]
Initial revision[jbig2dec/LICENSE 1.1, jbig2dec/README 1.1, jbig2dec/aclocal.m4 1.1, jbig2dec/compile 1.1, jbig2dec/depcomp 1.1, jbig2dec/jbig2_image.c 1.1, jbig2dec/jbig2_image.h 1.1, jbig2dec/jbig2_mmr.c 1.1, jbig2dec/jbig2_mmr.h 1.1, jbig2dec/jbig2dec.c 1.1, jbig2dec/msvc.mak 1.1, jbig2dec/test_jbig2dec.py 1.1, jbig2dec/COPYING 1.1, jbig2dec/Makefile.am 1.1, jbig2dec/Makefile.in 1.1, jbig2dec/config.h.in 1.1, jbig2dec/config_types.h 1.1, jbig2dec/config_types.h.in 1.1, jbig2dec/config_win32.h 1.1, jbig2dec/configure 1.1, jbig2dec/configure.ac 1.1, jbig2dec/getopt.c 1.1, jbig2dec/getopt.h 1.1, jbig2dec/getopt1.c 1.1, jbig2dec/install-sh 1.1, jbig2dec/jbig2.c 1.1, jbig2dec/jbig2.h 1.1, jbig2dec/jbig2_arith.c 1.1, jbig2dec/jbig2_arith.h 1.1, jbig2dec/jbig2_arith_iaid.c 1.1, jbig2dec/jbig2_arith_iaid.h 1.1, jbig2dec/jbig2_arith_int.c 1.1, jbig2dec/jbig2_arith_int.h 1.1, jbig2dec/jbig2_generic.c 1.1, jbig2dec/jbig2_generic.h 1.1, jbig2dec/jbig2_huffman.c 1.1, jbig2dec/jbig2_huffman.h 1.1, jbig2dec/jbig2_hufftab.h 1.1, jbig2dec/jbig2_image_pbm.c 1.1, jbig2dec/jbig2_image_png.c 1.1, jbig2dec/jbig2_metadata.c 1.1, jbig2dec/jbig2_metadata.h 1.1, jbig2dec/jbig2_page.c 1.1, jbig2dec/jbig2_priv.h 1.1, jbig2dec/jbig2_refinement.c 1.1, jbig2dec/jbig2_segment.c 1.1, jbig2dec/jbig2_symbol_dict.c 1.1, jbig2dec/jbig2_symbol_dict.h 1.1, jbig2dec/jbig2_text.c 1.1, jbig2dec/memcmp.c 1.1, jbig2dec/missing 1.1, jbig2dec/os_types.h 1.1, jbig2dec/sha1.c 1.1, jbig2dec/sha1.h 1.1, jbig2dec/snprintf.c 1.1]
Initial revision[libpng/TODO 1.1, libpng/example.c 1.1, libpng/pngconf.h 1.1, libpng/pnggccrd.c 1.1, libpng/pngget.c 1.1, libpng/LICENSE 1.1, libpng/pngmem.c 1.1, libpng/pngrio.c 1.1, libpng/pngset.c 1.1, libpng/pngwio.c 1.1, libpng/png.5 1.1, libpng/png.c 1.1, libpng/pngtrans.c 1.1, libpng/README 1.1, libpng/configure 1.1, libpng/png.h 1.1, libpng/pngnow.png 1.1, libpng/pngread.c 1.1, libpng/pngtest.c 1.1, libpng/pngbar.jpg 1.1, libpng/pngbar.png 1.1, libpng/pngvcrd.c 1.1, libpng/pngpread.c 1.1, libpng/pngwrite.c 1.1, libpng/libpng.txt 1.1, libpng/libpngpf.3 1.1, libpng/pngwtran.c 1.1, libpng/ANNOUNCE 1.1, libpng/INSTALL 1.1, libpng/KNOWNBUG 1.1, libpng/Y2KINFO 1.1, libpng/pngwutil.c 1.1, libpng/CHANGES 1.1, libpng/libpng.3 1.1, libpng/pngrtran.c 1.1, libpng/pngerror.c 1.1, libpng/pngrutil.c 1.1, libpng/pngtest.png 1.1, libpng/contrib/pngminus/makefile.std 1.1, libpng/contrib/pngminus/makefile.tc3 1.1, libpng/contrib/pngminus/pngminus.sh 1.1, libpng/contrib/pngminus/pnm2png.bat 1.1, libpng/contrib/pngminus/pnm2png.sh 1.1, libpng/contrib/gregbook/LICENSE 1.1, libpng/contrib/gregbook/README 1.1, libpng/contrib/gregbook/makevms.com 1.1, libpng/contrib/gregbook/rpng-win.c 1.1, libpng/contrib/pngminus/README 1.1, libpng/contrib/pngminus/makevms.com 1.1, libpng/contrib/pngminus/png2pnm.bat 1.1, libpng/contrib/pngminus/png2pnm.c 1.1, libpng/contrib/pngminus/png2pnm.sh 1.1, libpng/contrib/pngminus/pngminus.bat 1.1, libpng/contrib/pngminus/pnm2png.c 1.1, libpng/contrib/pngsuite/README 1.1, libpng/contrib/pngsuite/basn0g01.png 1.1, libpng/contrib/pngsuite/basn0g02.png 1.1, libpng/contrib/pngsuite/basn0g04.png 1.1, libpng/contrib/pngsuite/basn0g08.png 1.1, libpng/contrib/pngsuite/basn0g16.png 1.1, libpng/contrib/pngsuite/basn2c08.png 1.1, libpng/contrib/pngsuite/basn2c16.png 1.1, libpng/contrib/pngsuite/basn3p01.png 1.1, libpng/contrib/pngsuite/basn3p02.png 1.1, libpng/contrib/pngsuite/basn3p04.png 1.1, libpng/contrib/pngsuite/basn3p08.png 1.1, libpng/contrib/pngsuite/basn4a08.png 1.1, libpng/contrib/pngsuite/basn4a16.png 1.1, libpng/contrib/pngsuite/basn6a08.png 1.1, libpng/contrib/pngsuite/basn6a16.png 1.1, libpng/contrib/gregbook/rpng2-x.c 1.1, libpng/contrib/gregbook/toucan.png 1.1, libpng/contrib/gregbook/writepng.c 1.1, libpng/contrib/gregbook/writepng.h 1.1, libpng/contrib/gregbook/Makefile.sgi 1.1, libpng/contrib/gregbook/Makefile.unx 1.1, libpng/contrib/gregbook/Makefile.w32 1.1, libpng/contrib/gregbook/readpng2.c 1.1, libpng/contrib/gregbook/readpng2.h 1.1, libpng/contrib/gregbook/rpng-x.c 1.1, libpng/contrib/gregbook/wpng.c 1.1, libpng/contrib/gregbook/readpng.c 1.1, libpng/contrib/gregbook/readpng.h 1.1, libpng/contrib/gregbook/rpng2-win.c 1.1, libpng/contrib/visupng/PngFile.c 1.1, libpng/contrib/visupng/PngFile.h 1.1, libpng/contrib/visupng/VisualPng.c 1.1, libpng/contrib/visupng/VisualPng.dsp 1.1, libpng/contrib/visupng/VisualPng.dsw 1.1, libpng/contrib/visupng/VisualPng.ico 1.1, libpng/contrib/visupng/VisualPng.png 1.1, libpng/contrib/visupng/VisualPng.rc 1.1, libpng/contrib/visupng/resource.h 1.1, libpng/contrib/visupng/README.txt 1.1, libpng/contrib/visupng/cexcept.h 1.1, libpng/scripts/makefile.32sunu 1.1, libpng/scripts/makefile.64sunu 1.1, libpng/scripts/makefile.aix 1.1, libpng/scripts/makefile.bor 1.1, libpng/scripts/makefile.dec 1.1, libpng/scripts/makefile.dj2 1.1, libpng/scripts/makefile.elf 1.1, libpng/scripts/makefile.gcc 1.1, libpng/scripts/makefile.knr 1.1, libpng/scripts/makefile.msc 1.1, libpng/scripts/makefile.os2 1.1, libpng/scripts/makefile.sco 1.1, libpng/scripts/makefile.sgi 1.1, libpng/scripts/makefile.tc3 1.1, libpng/scripts/makefile.watcom 1.1, libpng/scripts/smakefile.ppc 1.1, libpng/scripts/SCOPTIONS.ppc 1.1, libpng/scripts/descrip.mms 1.1, libpng/scripts/libpng-config-body.in 1.1, libpng/scripts/libpng-config-head.in 1.1, libpng/scripts/libpng.icc 1.1, libpng/scripts/libpng.pc.in 1.1, libpng/scripts/makefile.acorn 1.1, libpng/scripts/makefile.amiga 1.1, libpng/scripts/makefile.atari 1.1, libpng/scripts/makefile.darwin 1.1, libpng/scripts/makefile.freebsd 1.1, libpng/scripts/makefile.gcmmx 1.1, libpng/scripts/makefile.hpgcc 1.1, libpng/scripts/makefile.intel 1.1, libpng/scripts/makefile.linux 1.1, libpng/scripts/makefile.ne12bsd 1.1, libpng/scripts/makefile.openbsd 1.1, libpng/scripts/makefile.sggcc 1.1, libpng/scripts/makefile.so9 1.1, libpng/scripts/makefile.solaris 1.1, libpng/scripts/makefile.std 1.1, libpng/scripts/makefile.sunos 1.1, libpng/scripts/makefile.vcawin32 1.1, libpng/scripts/makefile.vcwin32 1.1, libpng/scripts/makevms.com 1.1, libpng/scripts/pngos2.def 1.1, libpng/scripts/pngw32.def 1.1, libpng/scripts/pngw32.rc 1.1, libpng/projects/netware.txt 1.1, libpng/projects/wince.txt 1.1, libpng/projects/beos/x86-shared.proj 1.1, libpng/projects/beos/x86-shared.txt 1.1, libpng/projects/beos/x86-static.proj 1.1, libpng/projects/beos/x86-static.txt 1.1, libpng/scripts/makefile.bc32 1.1, libpng/scripts/makefile.beos 1.1, libpng/scripts/makefile.cygwin 1.1, libpng/scripts/makefile.hp64 1.1, libpng/scripts/makefile.hpux 1.1, libpng/scripts/makefile.ibmc 1.1, libpng/scripts/makefile.mips 1.1, libpng/scripts/makefile.netbsd 1.1, libpng/projects/cbuilder5/libpng.bpf 1.1, libpng/projects/cbuilder5/libpng.bpg 1.1, libpng/projects/cbuilder5/libpng.bpr 1.1, libpng/projects/cbuilder5/libpng.cpp 1.1, libpng/projects/cbuilder5/libpng.readme.txt 1.1, libpng/projects/cbuilder5/libpngstat.bpf 1.1, libpng/projects/cbuilder5/libpngstat.bpr 1.1, libpng/projects/cbuilder5/zlib.readme.txt 1.1, libpng/projects/visualc6/README.txt 1.1, libpng/projects/visualc6/libpng.dsp 1.1, libpng/projects/visualc6/libpng.dsw 1.1, libpng/projects/visualc6/pngtest.dsp 1.1, libpng/projects/visualc71/PRJ0041.mak 1.1, libpng/projects/visualc71/README.txt 1.1, libpng/projects/visualc71/README_zlib.txt 1.1, libpng/projects/visualc71/libpng.sln 1.1, libpng/projects/visualc71/libpng.vcproj 1.1, libpng/projects/visualc71/pngtest.vcproj 1.1, libpng/projects/visualc71/zlib.vcproj 1.1]
Initial revision[zlib/FAQ 1.1, zlib/crc32.c 1.1, zlib/example.c 1.1, zlib/zconf.in.h 1.1, zlib/INDEX 1.1, zlib/Makefile 1.1, zlib/Makefile.in 1.1, zlib/README 1.1, zlib/adler32.c 1.1, zlib/compress.c 1.1, zlib/configure 1.1, zlib/crc32.h 1.1, zlib/uncompr.c 1.1, zlib/zconf.h 1.1, zlib/zutil.c 1.1, zlib/zutil.h 1.1, zlib/gzio.c 1.1, zlib/inffixed.h 1.1, zlib/trees.c 1.1, zlib/trees.h 1.1, zlib/deflate.c 1.1, zlib/deflate.h 1.1, zlib/inftrees.c 1.1, zlib/inftrees.h 1.1, zlib/zlib.3 1.1, zlib/algorithm.txt 1.1, zlib/infback.c 1.1, zlib/inffast.c 1.1, zlib/inffast.h 1.1, zlib/zlib.h 1.1, zlib/ChangeLog 1.1, zlib/inflate.c 1.1, zlib/inflate.h 1.1, zlib/minigzip.c 1.1, zlib/old/Make_vms.com 1.1, zlib/old/Makefile.riscos 1.1, zlib/old/README 1.1, zlib/old/descrip.mms 1.1, zlib/old/visual-basic.txt 1.1, zlib/contrib/README.contrib 1.1, zlib/contrib/ada/buffer_demo.adb 1.1, zlib/contrib/ada/zlib-streams.adb 1.1, zlib/contrib/ada/zlib-streams.ads 1.1, zlib/old/zlib.html 1.1, zlib/old/os2/Makefile.os2 1.1, zlib/old/os2/zlib.def 1.1, zlib/qnx/package.qpg 1.1, zlib/contrib/ada/mtest.adb 1.1, zlib/contrib/ada/read.adb 1.1, zlib/contrib/ada/readme.txt 1.1, zlib/contrib/ada/test.adb 1.1, zlib/contrib/ada/zlib-thin.adb 1.1, zlib/contrib/ada/zlib-thin.ads 1.1, zlib/contrib/ada/zlib.adb 1.1, zlib/contrib/ada/zlib.ads 1.1, zlib/contrib/ada/zlib.gpr 1.1, zlib/contrib/puff/Makefile 1.1, zlib/contrib/puff/README 1.1, zlib/contrib/puff/zeros.raw 1.1, zlib/contrib/blast/Makefile 1.1, zlib/contrib/blast/README 1.1, zlib/contrib/blast/blast.c 1.1, zlib/contrib/blast/blast.h 1.1, zlib/contrib/blast/test.pk 1.1, zlib/contrib/blast/test.txt 1.1, zlib/contrib/dotzlib/DotZLib.build 1.1, zlib/contrib/iostream/test.cpp 1.1, zlib/contrib/iostream/zfstream.cpp 1.1, zlib/contrib/iostream/zfstream.h 1.1, zlib/contrib/puff/puff.c 1.1, zlib/contrib/puff/puff.h 1.1, zlib/contrib/untgz/Makefile 1.1, zlib/contrib/untgz/Makefile.msc 1.1, zlib/contrib/untgz/untgz.c 1.1, zlib/contrib/dotzlib/DotZLib.chm 1.1, zlib/contrib/dotzlib/DotZLib.sln 1.1, zlib/contrib/dotzlib/LICENSE_1_0.txt 1.1, zlib/contrib/dotzlib/readme.txt 1.1, zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs 1.1, zlib/contrib/dotzlib/DotZLib/DotZLib.cs 1.1, zlib/contrib/dotzlib/DotZLib/DotZLib.csproj 1.1, zlib/contrib/dotzlib/DotZLib/GZipStream.cs 1.1, zlib/contrib/dotzlib/DotZLib/UnitTests.cs 1.1, zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs 1.1, zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs 1.1, zlib/contrib/dotzlib/DotZLib/CodecBase.cs 1.1, zlib/contrib/dotzlib/DotZLib/Deflater.cs 1.1, zlib/contrib/dotzlib/DotZLib/Inflater.cs 1.1, zlib/contrib/gzappend/gzappend.c 1.1, zlib/contrib/masm686/match.asm 1.1, zlib/contrib/masmx86/gvmat32c.c 1.1, zlib/contrib/masmx86/inffas32.asm 1.1, zlib/contrib/masmx86/readme.txt 1.1, zlib/contrib/masmx86/gvmat32.asm 1.1, zlib/contrib/masmx86/mkasm.bat 1.1, zlib/contrib/minizip/Makefile 1.1, zlib/contrib/minizip/crypt.h 1.1, zlib/contrib/minizip/miniunz.c 1.1, zlib/contrib/minizip/minizip.c 1.1, zlib/contrib/minizip/zip.c 1.1, zlib/contrib/minizip/zip.h 1.1, zlib/contrib/testzlib/testzlib.c 1.1, zlib/contrib/testzlib/testzlib.sln 1.1, zlib/contrib/testzlib/testzlib.vcproj 1.1, zlib/contrib/minizip/ChangeLogUnzip 1.1, zlib/contrib/minizip/ioapi.c 1.1, zlib/contrib/minizip/ioapi.h 1.1, zlib/contrib/minizip/iowin32.c 1.1, zlib/contrib/minizip/iowin32.h 1.1, zlib/contrib/minizip/mztools.c 1.1, zlib/contrib/minizip/mztools.h 1.1, zlib/contrib/minizip/unzip.c 1.1, zlib/contrib/minizip/unzip.h 1.1, zlib/contrib/asm586/README.586 1.1, zlib/contrib/asm586/match.S 1.1, zlib/contrib/asm686/README.686 1.1, zlib/contrib/asm686/match.S 1.1, zlib/contrib/delphi/ZLib.pas 1.1, zlib/contrib/delphi/ZLibConst.pas 1.1, zlib/contrib/delphi/readme.txt 1.1, zlib/contrib/delphi/zlibd32.mak 1.1, zlib/contrib/iostream2/zstream.h 1.1, zlib/contrib/iostream2/zstream_test.cpp 1.1, zlib/contrib/iostream3/README 1.1, zlib/contrib/iostream3/TODO 1.1, zlib/contrib/iostream3/test.cc 1.1, zlib/contrib/iostream3/zfstream.cc 1.1, zlib/contrib/iostream3/zfstream.h 1.1, zlib/contrib/pascal/zlibd32.mak 1.1, zlib/contrib/infback9/README 1.1, zlib/contrib/infback9/infback9.c 1.1, zlib/contrib/infback9/infback9.h 1.1, zlib/contrib/infback9/inffix9.h 1.1, zlib/contrib/infback9/inflate9.h 1.1, zlib/contrib/infback9/inftree9.c 1.1, zlib/contrib/infback9/inftree9.h 1.1, zlib/contrib/pascal/example.pas 1.1, zlib/contrib/pascal/readme.txt 1.1, zlib/contrib/pascal/zlibpas.pas 1.1, zlib/contrib/vstudio/readme.txt 1.1, zlib/contrib/vstudio/vc7/minizip.vcproj 1.1, zlib/contrib/vstudio/vc7/zlibstat.vcproj 1.1, zlib/contrib/vstudio/vc7/zlibvc.def 1.1, zlib/contrib/vstudio/vc7/zlibvc.sln 1.1, zlib/amiga/Makefile.pup 1.1, zlib/amiga/Makefile.sas 1.1, zlib/as400/compile.clp 1.1, zlib/contrib/inflate86/inffas86.c 1.1, zlib/contrib/inflate86/inffast.S 1.1, zlib/contrib/vstudio/vc7/miniunz.vcproj 1.1, zlib/contrib/vstudio/vc7/zlib.rc 1.1, zlib/contrib/vstudio/vc7/zlibvc.vcproj 1.1, zlib/as400/bndsrc 1.1, zlib/as400/readme.txt 1.1, zlib/as400/zlib.inc 1.1, zlib/msdos/Makefile.bor 1.1, zlib/msdos/Makefile.dj2 1.1, zlib/msdos/Makefile.emx 1.1, zlib/msdos/Makefile.msc 1.1, zlib/msdos/Makefile.tc 1.1, zlib/projects/README.projects 1.1, zlib/projects/visualc6/README.txt 1.1, zlib/projects/visualc6/example.dsp 1.1, zlib/projects/visualc6/minigzip.dsp 1.1, zlib/win32/DLL_FAQ.txt 1.1, zlib/win32/Makefile.bor 1.1, zlib/win32/Makefile.emx 1.1, zlib/win32/Makefile.gcc 1.1, zlib/win32/Makefile.msc 1.1, zlib/win32/VisualC.txt 1.1, zlib/win32/zlib.def 1.1, zlib/win32/zlib1.rc 1.1, zlib/projects/visualc6/zlib.dsp 1.1, zlib/projects/visualc6/zlib.dsw 1.1]
Initial revision[jpeg/jdinput.c 1.1, jpeg/wrppm.c 1.1, jpeg/wrrle.c 1.1, jpeg/testimg.bmp 1.1, jpeg/testimg.jpg 1.1, jpeg/coderules.doc 1.1, jpeg/jccoefct.c 1.1, jpeg/jcmainct.c 1.1, jpeg/rdjpgcom.1 1.1, jpeg/rdjpgcom.c 1.1, jpeg/testimg.ppm 1.1, jpeg/example.c 1.1, jpeg/jcapimin.c 1.1, jpeg/jcapistd.c 1.1, jpeg/jconfig.dj 1.1, jpeg/jconfig.st 1.1, jpeg/jconfig.vc 1.1, jpeg/jctrans.c 1.1, jpeg/makelib.ds 1.1, jpeg/rdbmp.c 1.1, jpeg/rdgif.c 1.1, jpeg/jcdctmgr.c 1.1, jpeg/jdatadst.c 1.1, jpeg/rdppm.c 1.1, jpeg/rdrle.c 1.1, jpeg/rdtarga.c 1.1, jpeg/transupp.c 1.1, jpeg/transupp.h 1.1, jpeg/djpeg.1 1.1, jpeg/djpeg.c 1.1, jpeg/install.doc 1.1, jpeg/jdatasrc.c 1.1, jpeg/ansi2knr.1 1.1, jpeg/ansi2knr.c 1.1, jpeg/jcmarker.c 1.1, jpeg/jdcolor.c 1.1, jpeg/makefile.bcc 1.1, jpeg/makefile.cfg 1.1, jpeg/usage.doc 1.1, jpeg/jcmaster.c 1.1, jpeg/makefile.mc6 1.1, jpeg/makefile.mms 1.1, jpeg/makefile.sas 1.1, jpeg/makefile.vms 1.1, jpeg/makefile.wat 1.1, jpeg/README 1.1, jpeg/makeapps.ds 1.1, jpeg/configure 1.1, jpeg/filelist.doc 1.1, jpeg/jcomapi.c 1.1, jpeg/ltmain.sh 1.1, jpeg/jconfig.manx 1.1, jpeg/jcparam.c 1.1, jpeg/jdsample.c 1.1, jpeg/jerror.c 1.1, jpeg/jerror.h 1.1, jpeg/jmorecfg.h 1.1, jpeg/makcjpeg.st 1.1, jpeg/wrjpgcom.1 1.1, jpeg/wrjpgcom.c 1.1, jpeg/jcprepct.c 1.1, jpeg/libjpeg.doc 1.1, jpeg/config.guess 1.1, jpeg/config.sub 1.1, jpeg/install-sh 1.1, jpeg/jcphuff.c 1.1, jpeg/jinclude.h 1.1, jpeg/testimgp.jpg 1.1, jpeg/wrtarga.c 1.1, jpeg/ltconfig 1.1, jpeg/structure.doc 1.1, jpeg/jdmerge.c 1.1, jpeg/jmemdosa.asm 1.1, jpeg/jquant1.c 1.1, jpeg/jquant2.c 1.1, jpeg/testprog.jpg 1.1, jpeg/cderror.h 1.1, jpeg/jccolor.c 1.1, jpeg/jdct.h 1.1, jpeg/jidctflt.c 1.1, jpeg/jidctfst.c 1.1, jpeg/jidctint.c 1.1, jpeg/jidctred.c 1.1, jpeg/jmemansi.c 1.1, jpeg/maktjpeg.st 1.1, jpeg/makvms.opt 1.1, jpeg/rdswitch.c 1.1, jpeg/jdcoefct.c 1.1, jpeg/jdmainct.c 1.1, jpeg/jpegint.h 1.1, jpeg/makeproj.mac 1.1, jpeg/jdapimin.c 1.1, jpeg/jdapistd.c 1.1, jpeg/jddctmgr.c 1.1, jpeg/jdpostct.c 1.1, jpeg/jdtrans.c 1.1, jpeg/jpeglib.h 1.1, jpeg/jutils.c 1.1, jpeg/makljpeg.st 1.1, jpeg/testorig.jpg 1.1, jpeg/jconfig.bcc 1.1, jpeg/jconfig.cfg 1.1, jpeg/jdmarker.c 1.1, jpeg/jdmaster.c 1.1, jpeg/jmemname.c 1.1, jpeg/jmemnobs.c 1.1, jpeg/jversion.h 1.1, jpeg/wizard.doc 1.1, jpeg/jconfig.doc 1.1, jpeg/jconfig.mac 1.1, jpeg/jconfig.mc6 1.1, jpeg/jconfig.sas 1.1, jpeg/jconfig.vms 1.1, jpeg/jconfig.wat 1.1, jpeg/jcsample.c 1.1, jpeg/jfdctflt.c 1.1, jpeg/jfdctfst.c 1.1, jpeg/jmemdos.c 1.1, jpeg/jpegtran.1 1.1, jpeg/jpegtran.c 1.1, jpeg/rdcolmap.c 1.1, jpeg/change.log 1.1, jpeg/jfdctint.c 1.1, jpeg/jmemmac.c 1.1, jpeg/jmemmgr.c 1.1, jpeg/jmemsys.h 1.1, jpeg/makefile.dj 1.1, jpeg/makefile.vc 1.1, jpeg/cdjpeg.c 1.1, jpeg/cdjpeg.h 1.1, jpeg/jchuff.c 1.1, jpeg/jchuff.h 1.1, jpeg/jcinit.c 1.1, jpeg/makdjpeg.st 1.1, jpeg/makefile.ansi 1.1, jpeg/makefile.manx 1.1, jpeg/makefile.unix 1.1, jpeg/cjpeg.1 1.1, jpeg/cjpeg.c 1.1, jpeg/ckconfig.c 1.1, jpeg/jdphuff.c 1.1, jpeg/wrbmp.c 1.1, jpeg/wrgif.c 1.1, jpeg/jdhuff.c 1.1, jpeg/jdhuff.h 1.1]
Correct typo.[man/ps2ascii.1 1.34]
2005-04-21 10:11 Igor Melichev
Speed up shadings : a minor optimization for the color monotonity check. DETAILS : Bug 687948 "Performance of shading fill much worse than 8.00" (a 8th partial fix). The color monotonity has been cached, but was not taken from the cache. It caused extra calls to is_monotonic. EXPECTED DIFFERENCES : None.[src/gxshade6.c 1.99]
2005-04-21 09:28 Igor Melichev
Speed up shadings : fixed a crash with unlinear color devices. DETAILS : Bug 688050 "C stack overflow with 464-01-fixed.ps (pbmraw/72dpi/noband)". Bug 687948 "Performance of shading fill much worse than 8.00" (a 7th partial fix). The C stack overflow happened due to quadrangle_color_change didn"t account the quadrangle size, causing an infinite subdivision in case of a non-contiguous color function. This happened with unlinear color devices only, because otherwise the quadrangle was mapped to a linear color fill device function, which doesn"t perform a subdivision by color. 1. Passed the quadrangle size information to quadrangle_color_change. 2. Used it with unlinear color devices. 3. Trying to use it with a linear color device doesn`t give a speed up. Disabling this branch but saving it for historical purpose. 4. Inserted a check against the C stack overflow to simplify the debugging and the diagnostics. EXPECTED DIFFERENCES : 1. Fixes a crash with pkmraw, pbmraw 446-01-fixed.ps. 2. Minor differences in rasters with pkmraw, pbmraw @ 72 dpi : "446-01-fixed.ps" "464-01-fixed.ps" "483-05-fixed.ps" "BEST8-99-Path.fh7.pdf" "chilis_black.pdf" "Clarke Tate Manns Chinese.ai" "gradmesh.ai" "SmoothShading.pdf" "STEUER-RollingMesh 3(Final).ai" "Testform.v1.0.2.pdf" 3. Minor differences in rasters with pkmraw, pbmraw @ 300 dpi : "446-01-fixed.ps" "464-01-fixed.ps" "483-05-fixed.ps" "Altona_Visual_sb_1v1_x3.pdf" "BEST8-99-Path.fh7.pdf" "Clarke Tate Manns Chinese.ai" "gradmesh.ai" "SmoothShading.pdf" "STEUER-RollingMesh 3(Final).ai"[src/gxshade6.c 1.98]
Use the OrigFontName from an embedded font's FOntInfo dictionary since this is where Windows PostScript dirver puts the real font name when embedding fonts. Bug 688006 for customer 32.[src/zbfont.c 1.29]
2005-04-20 08:44 Igor Melichev
Speed up shadings with optimizing fn_Sd_is_monotonic. DETAILS : This change is a fifth partial fix for the bug 687948 "Performance of shading fill much worse than 8.00". Implemented a new function fn_Sd_1arg_linear_monotonic, which optimizes fn_Sd_is_monotonic in the case of 1-argument linear sampled function. It doesn't use the pole cache and the tensor-based algorithm, saving significant time from the cache allocation, which otherwise happens once per shfill. We would like to optimise 1-argument cubic sampled function. For now delaying it due to the absence of practical cases which need a high performance. Minor change : Renamed fn_is_monotonic into fn_Sd_is_monotonic_aux. EXPECTED DIFFERENCES : None.[src/gsfunc0.c 1.26]
Prevent out of range ImageType 4 mask array entries from causing an error as Adobe Acrobat Reader does. Bug 687611 for customer 870. DETAILS: When the Mask array values are beyond the max allowed by the BitsPerComponent, a rangecheck error must be generated by PostScript, but Adobe Acrobat Reader ignores the Mask in this case and effectively treats the image as ImageType 1. This patch generates a pdfformaterror Warning when the problem is seen.[lib/pdf_draw.ps 1.92]
2005-04-19 21:22 Stefan Kemper
Added dependancies for gdevpdfj.c[src/devs.mak 1.130]
2005-04-19 14:35 Igor Melichev
Speed up shadings with removing fn_domain_is_monotonic. DETAILS : 1. The function fn_domain_is_monotonic was called when creating any sampled function object, and its result was not used. Actually it is a rudiment from the !NEW_SHADINGS code. This change is a fourth partial fix for the bug 687948 "Performance of shading fill much worse than 8.00". 2. In gxshade1.c removed few rudiments of the !NEW_SHADINGS code. EXPECTED DIFFERENCES : None.[src/gsfunc.c 1.12, src/gsfunc.h 1.13, src/gsfunc0.c 1.25, src/gsfunc3.c 1.25, src/gsfunc4.c 1.18, src/gxfunc.h 1.10, src/gxshade1.c 1.40]
2005-04-19 12:22 Igor Melichev
Removing the !NEW_SHADINGS branch. DETAILS : This change is algorithmically equivalent. 1. Removed the obsolete code NEW_SHADINGS 0 and NEW_RADIAL_SHADINGS 0, which was disabled a long ago. 2. Removed stacks and few other unused fields from Fb_fill_state_s, A_fill_state_s, R_fill_state_s. EXPECTED DIFFERENCES : None.[src/gsshade.c 1.17, src/gxshade1.c 1.39, src/gxshade4.c 1.30, src/gxshade4.h 1.41, src/gxshade6.c 1.97]
2005-04-19 09:48 Igor Melichev
Faster shadings with dividing some quadrangles into 2 triangles. DETAILS : It's a third partial fix for the bug 687948 "Performance of shading fill much worse than 8.00". When a quadrangle color doesn't depend on one axis, subdivide the quadrangle into 2 triangles. The old code did into 4 triangles. 1. Renamed 'triangles' into 'triangles4'. 2. Added 'triangles2'. 3. Added 'color_change_bilinear'. EXPECTED DIFFERENCES : "442-01.ps" "446-01-fixed.ps" "464-01-fixed.ps" "483-01.ps" "483-05-fixed.ps" "Altona-Testsuite_p2_S_x3.pdf" "Altona_Visual_bb_1v1_x3.pdf" "Altona_Visual_sb_1v1_x3.pdf" "BEST8-99-Path.fh7.pdf" "Bug687840.pdf" "chilis_black.pdf" "chilis_red.pdf" "Clarke Tate Manns Chinese.ai" "gradmesh.ai" "Openhuis_pdf_zw.pdf" "S2_Digitalproof-Forum_x3k.pdf" "self-intersect2.ps" "shading_prob_800.ps" "SmoothShading.pdf" "STEUER-RollingMesh 1(linear).ai" "STEUER-RollingMesh 2(radial).ai" "STEUER-RollingMesh 3(Final).ai" "Testform.v1.0.2.pdf"[src/gxshade6.c 1.96]
2005-04-19 08:36 Igor Melichev
Faster shadings with setting a stronger clipping box. DETAILS : It's another partial fix for the bug 687948 "Performance of shading fill much worse than 8.00". The old code computed a shading clipping box as an transform of the shading BBox to device coordinates. However with a rotation matrix it significantly expanded the box, so that more shading parts appear inside the paint region. The new code sets clipping box equal to the bbox of the clipping path, so that the rasterization covers a smaller part of the shading, and the shading becomes faster. SHADING_FILL_RECTANGLE_PROC changes the prototype. The new prototype adds a clipping rectangle in device coordinates, which provides a stronger clipping of the paint region. Probably we could drop the old argument "prect", but leaving it untill the NEW_SHADINGS cleanup. EXPECTED DIFFERENCES : None.[src/gsshade.c 1.16, src/gsshade.h 1.9, src/gxshade1.c 1.38, src/gxshade4.c 1.29, src/gxshade4.h 1.40, src/gxshade6.c 1.95]
2005-04-19 07:27 Igor Melichev
Faster shadings with a better function monotonity check. DETAILS : It's a partial fix for the bug 687948 "Performance of shading fill much worse than 8.00". If an axial or radial shading use a sampled function with many samples, the shading speeds up in 1.2 - 2.5 times. 1. The old code returned an unknown monotonity when the interval covers several cells of a sampled function. The new code summarizes the monotonity through multiple cells. Rather shadings need 1- and 2-dimensional functions only, we developed an N-dimensional algorithm for a future use with color spaces and color renderings. 1.1. Generalized the function sample cache to linear functions (the old code cached cubic ones only). 1.2. Made the branch POLE_CACHE to be permanent. 1.3. The new function is_lattice_monotonic summarizes the monotonity through multiple cells. 1.4. The virtual function is_monotonic now returns a mask about a monotonity by each coordinate. 2. The shading decomposition is adopted to the new monotonity check. 2.1. When decomposing a patch into stripes, the color monotonity doesn't matter, because further decomposition accounts it. 2.2. When decomposing a quadrangle, the decomposition axis is being chosen according to the function monotonity along each axis. 3. In the shading decomposition, cached the monotonity separately from the linearity with a new flag linear_color. EXPECTED DIFFERENCES : A minor difference in shading color with all devices and resolutions : "442-01.ps" "446-01-fixed.ps" "464-01-fixed.ps" "478-01.ps" "483-01.ps" "483-05-fixed.ps" "Altona-Testsuite_p2_S_x3.pdf" "Altona_Visual_bb_1v1_x3.pdf" "Altona_Visual_sb_1v1_x3.pdf" "Bug687840.pdf" "chilis_black.pdf" "Clarke Tate Manns Chinese.ai" "Openhuis_pdf_zw.pdf" "S2_Digitalproof-Forum_x3k.pdf" "STEUER-RollingMesh 1(linear).ai" "STEUER-RollingMesh 2(radial).ai" "STEUER-RollingMesh 3(Final).ai"[src/gsfunc.c 1.11, src/gsfunc.h 1.12, src/gsfunc0.c 1.24, src/gsfunc0.h 1.7, src/gsfunc3.c 1.24, src/gsfunc4.c 1.17, src/gxshade1.c 1.37, src/gxshade4.h 1.39, src/gxshade6.c 1.94]
Bump the version numbers post-release.[doc/News.htm 1.164, lib/gs_init.ps 1.119, src/gscdef.c 1.54, src/version.mak 1.83]
2005-04-19 00:29 Stefan Kemper
Fix for bug 687984. Incomplete data stream gets artifical data for both DCTE and now also for PNGPE streams. Note that it would be nice if all streams either handled missing data or didn't.[src/gdevpdfj.c 1.44]