| Detailed History of Ghostscript versions 8.xx |
|---|
- Version 8.54 (2006-05-17)
- Version 8.53 (2005-10-20)
- Version 8.52 (2005-10-07)
- Version 8.51 (2005-04-18)
- Version 8.50 (2004-12-10)
- Version 8.33 (2004-11-20)
- Version 8.32 (2004-10-26)
- Version 8.31 (2004-08-28)
- Version 8.30 (2004-05-29)
- Version 8.12 (2003-12-08)
- Version 8.11 (2003-08-16)
- Version 8.10 (2003-05-21)
- Version 8.00 (2002-11-21)
This document is a record of changes in Ghostscript releases numbered 8.xx. For earlier versions, see the the history documents:
History of Ghostscript versions 7.n
History of Ghostscript versions 6.n
History of Ghostscript versions 5.n
History of Ghostscript versions 4.n
History of Ghostscript versions 3.n
History of Ghostscript versions 2.n
History of Ghostscript versions 1.n
For other information, see the Ghostscript overview.
This is the fifth stable release in the 8.5x series of Ghostscript. It contains a numerous bug fixes and improvements.
The following bugs were open at the time of this release:
226943, 405501, 430175, 465936, 493348, 530011, 535932, 578865, 592160, 610478, 614298, 626295, 686747, 686853, 686865, 687011, 687039, 687063, 687084, 687095, 687108, 687125, 687146, 687193, 687196, 687219, 687229, 687231, 687257, 687271, 687280, 687295, 687297, 687303, 687304, 687314, 687316, 687327, 687342, 687345, 687346, 687375, 687397, 687399, 687414, 687445, 687460, 687475, 687480, 687484, 687492, 687498, 687514, 687520, 687529, 687531, 687536, 687559, 687561, 687593, 687595, 687608, 687630, 687650, 687666, 687674, 687677, 687679, 687680, 687695, 687697, 687702, 687715, 687721, 687728, 687729, 687731, 687775, 687780, 687782, 687793, 687796, 687805, 687814, 687825, 687844, 687850, 687863, 687887, 687896, 687903, 687904, 687907, 687915, 687919, 687931, 687950, 687957, 687960, 687970, 687974, 687977, 687978, 687981, 687983, 687988, 687992, 687996, 688006, 688007, 688009, 688020, 688022, 688024, 688026, 688032, 688035, 688036, 688039, 688042, 688047, 688054, 688058, 688061, 688064, 688066, 688071, 688072, 688073, 688075, 688081, 688095, 688108, 688124, 688129, 688130, 688134, 688151, 688152, 688159, 688166, 688181, 688184, 688187, 688200, 688203, 688204, 688207, 688210, 688215, 688225, 688227, 688239, 688243, 688249, 688258, 688260, 688267, 688269, 688274, 688278, 688280, 688282, 688283, 688288, 688291, 688295, 688311, 688312, 688317, 688318, 688320, 688323, 688329, 688332, 688333, 688337, 688338, 688339, 688342, 688358, 688359, 688360, 688361, 688363, 688372, 688375, 688378, 688383, 688386, 688387, 688389, 688394, 688395, 688396, 688400, 688413, 688425, 688427, 688428, 688429, 688434, 688436, 688437, 688440, 688446, 688448, 688463, 688468, 688473, 688474, 688475, 688477, 688479, 688483, 688490, 688493, 688495, 688500, 688515, 688517, 688518, 688526, 688528, 688532, 688533, 688536, 688539, 688540, 688542, 688543, 688557, 688565, 688570, 688573, 688580, 688581, 688588, 688596, 688598, 688599, 688601, 688604, 688605, 688610, 688613, 688616, 688617, 688619, 688621, 688623, 688626, 688627, 688631, 688633, 688634, 688635, 688636, 688637, 688638, 688639, 688640, 688641, 688643, 688646, 688647, 688650, 688651, 688652, 688653, 688655, 688669, 688671, 688672, 688673, 688674, 688675, 688676, 688678, 688683, 688687, 688688, 688689, 688691, 688692.
There are no known incompatible changes at this point.
2006-05-17T18:27:07.676488Z Ralph Giles
Merge change from trunk. Remove ARCH_STRUCT_ALIGN_MOD entirely and revert to ARCH_ALIGN_MEMORY_MOD not having the extra jmp_buf alignment requirements. This satisfies the assumption that structure alignment and sizeof(ref) agree in the Ghostscript code and should finally fix 687643. Also add a cast back to jmp_buf in the alignment macro setjmp_.h. Fixes bug 688698. Patch from Alex Cherepanov.[/branches/ghostscript-8.54/src/std.h /branches/ghostscript-8.54/src/setjmp_.h /branches/ghostscript-8.54/src/genarch.c]
2006-05-17T15:32:18.088676Z Ralph Giles
Port the fix for bug #688149 from trunk. Originally committed by Ray Johnson. Fix so that dictionaries that grow preserve attributes. Several problems reported including a potential security hole when in SAFER mode. Thanks to mat Gh Savulescu (SaGS) for the bug report, the patch and excellent analysis of the problem. DETAILS: Ordinarily dictionaries have unprotected, non-exectue status, but it is possible to "grow" executable or even "read-only" dictionaries (contact Ray Johnston for an explanation as provided by mat Gh Savulescu). The bug in idict.c would not preserve the attributes, making the dictionary not executable, and not readonly even if those were the original attributes. EXPECTED DIFFERENCES: None. (we don't run regression in SAFER mode and don't rely on 'special' dict attributes).[/branches/ghostscript-8.54/src/idict.c]
2006-05-15T23:32:49.061208Z Ralph Giles
Additional release date updates.[/branches/ghostscript-8.54/doc/Details8.htm /branches/ghostscript-8.54/doc/History8.htm]
2006-05-15T23:03:16.814804Z Ralph Giles
Update release date for 8.54rc2.[/branches/ghostscript-8.54/doc/Issues.htm /branches/ghostscript-8.54/doc/DLL.htm /branches/ghostscript-8.54/doc/Drivers.htm /branches/ghostscript-8.54/man/pfbtopfa.1 /branches/ghostscript-8.54/doc/Commprod.htm /branches/ghostscript-8.54/doc/Release.htm /branches/ghostscript-8.54/doc/Xfonts.htm /branches/ghostscript-8.54/doc/Devices.htm /branches/ghostscript-8.54/doc/Language.htm /branches/ghostscript-8.54/src/version.mak /branches/ghostscript-8.54/man/gs.1 /branches/ghostscript-8.54/doc/Fonts.htm /branches/ghostscript-8.54/doc/Ps2ps2.htm /branches/ghostscript-8.54/man/pf2afm.1 /branches/ghostscript-8.54/doc/Develop.htm /branches/ghostscript-8.54/doc/Ps2pdf.htm /branches/ghostscript-8.54/man/printafm.1 /branches/ghostscript-8.54/doc/Helpers.htm /branches/ghostscript-8.54/man/pdf2dsc.1 /branches/ghostscript-8.54/doc/Psfiles.htm /branches/ghostscript-8.54/doc/Lib.htm /branches/ghostscript-8.54/doc/gs-vms.hlp /branches/ghostscript-8.54/man/gsnd.1 /branches/ghostscript-8.54/man/font2c.1 /branches/ghostscript-8.54/doc/Htmstyle.htm /branches/ghostscript-8.54/man/pdfopt.1 /branches/ghostscript-8.54/man/ps2pdf.1 /branches/ghostscript-8.54/man/pdf2ps.1 /branches/ghostscript-8.54/doc/News.htm /branches/ghostscript-8.54/doc/Details8.htm /branches/ghostscript-8.54/doc/Make.htm /branches/ghostscript-8.54/doc/Testing.htm /branches/ghostscript-8.54/doc/Unix-lpr.htm /branches/ghostscript-8.54/doc/C-style.htm /branches/ghostscript-8.54/doc/Ps-style.htm /branches/ghostscript-8.54/doc/History1.htm /branches/ghostscript-8.54/doc/History2.htm /branches/ghostscript-8.54/man/gslp.1 /branches/ghostscript-8.54/man/wftopfa.1 /branches/ghostscript-8.54/doc/History3.htm /branches/ghostscript-8.54/doc/Ps2epsi.htm /branches/ghostscript-8.54/doc/History4.htm /branches/ghostscript-8.54/man/ps2pdfwr.1 /branches/ghostscript-8.54/man/ps2ps.1 /branches/ghostscript-8.54/doc/History5.htm /branches/ghostscript-8.54/doc/History6.htm /branches/ghostscript-8.54/doc/History7.htm /branches/ghostscript-8.54/doc/Projects.htm /branches/ghostscript-8.54/doc/History8.htm /branches/ghostscript-8.54/man/dvipdf.1 /branches/ghostscript-8.54/man/ps2ascii.1 /branches/ghostscript-8.54/doc/Use.htm /branches/ghostscript-8.54/doc/Readme.htm /branches/ghostscript-8.54/doc/Source.htm /branches/ghostscript-8.54/doc/Deprecated.htm /branches/ghostscript-8.54/doc/Maintain.htm /branches/ghostscript-8.54/man/ps2epsi.1 /branches/ghostscript-8.54/doc/Install.htm /branches/ghostscript-8.54/doc/Copying.htm /branches/ghostscript-8.54/doc/API.htm]
2006-05-15T22:59:12.198801Z Ralph Giles
Update changelogs for 8.54rc2.[/branches/ghostscript-8.54/doc/News.htm /branches/ghostscript-8.54/doc/Details8.htm /branches/ghostscript-8.54/doc/Details.htm /branches/ghostscript-8.54/doc/Changes.htm /branches/ghostscript-8.54/doc/History8.htm]
2006-05-15T22:51:20.894499Z giles
Add setjmp_.h, which was left out of the patch fixing bug #687643.[/branches/ghostscript-8.54/src/setjmp_.h]
2006-05-15T21:31:28.156524Z giles
Correct a typo resulting in inproper glyph placement with transposed text and a top left reference corner. Fixes bug 688645. Fix merged from trunk.[/branches/ghostscript-8.54/jbig2dec/jbig2_text.c]
2006-05-15T21:07:48.699439Z giles
Update MSVC build to refer to the release version of MS Visual Studio .NET 2005.[/branches/ghostscript-8.54/doc/Make.htm /branches/ghostscript-8.54/src/msvc32.mak]
2006-05-15T19:17:06.838612Z giles
Update the usage line for the split_changelog utility.[/branches/ghostscript-8.54/toolbin/split_changelog.py]
2006-05-15T19:16:13.375379Z giles
Correct a problem with the display device. The initialiser needs to be a scaler, not the array that was being used. GCC on OS/2 was giving a warning about this. This makes it consistent with gdevtsep.c. Patch from Russell Lang.[/branches/ghostscript-8.54/src/gdevdsp.c]
2006-05-15T19:08:28.721428Z giles
Update changelogs.[/branches/ghostscript-8.54/doc/News.htm /branches/ghostscript-8.54/doc/Details8.htm /branches/ghostscript-8.54/doc/Details.htm /branches/ghostscript-8.54/doc/Changes.htm /branches/ghostscript-8.54/doc/History8.htm]
2006-05-15T19:00:31.775976Z giles
FIX: Allocate jmp_buf with padding, to satisfy alignment constraints. Fixes bug #687643. Change merged from trunk.[/branches/ghostscript-8.54/src/sdct.h /branches/ghostscript-8.54/src/ttinterp.c /branches/ghostscript-8.54/src/ttobjs.h /branches/ghostscript-8.54/src/sjpegc.c /branches/ghostscript-8.54/src/lib.mak /branches/ghostscript-8.54/src/sjpegd.c /branches/ghostscript-8.54/src/sjpege.c]
2006-05-15T17:36:28.446043Z giles
Port documentation updates from trunk. DETAILS: Document how to compile Ghostscript with the Luratech compression libraries. Bug 688665. Update Language.htm to better describe the current level of PDF support. Bug 688661.[/branches/ghostscript-8.54/doc/Make.htm /branches/ghostscript-8.54/doc/Language.htm]
2006-05-15T17:35:26.789659Z giles
Add commented out line for manually enabling the luratech build with autoconf. Change ported from trunk.[/branches/ghostscript-8.54/src/Makefile.in]
2006-05-15T17:34:18.223579Z giles
Always make read progress is s_jbig2encode process when there is data available. Fixes bug #688658. Port from trunk to the 8.54 branch.[/branches/ghostscript-8.54/src/sjbig2_luratech.c /branches/ghostscript-8.54/src/sjbig2_luratech.h]
2006-05-15T01:29:53.383801Z dan
Port fix for 688686 segfault in find_bit_map() to 8.54 branch. DETAILS: The addition of the compressed encoded color logic created a problem for the psdrgb device. This device shares most of its code with the psdcmyk device. The common print_page procedure uses devn_unpack_row. This routine was modified to work with the compressed encoded color values. However the psdrgb device does not use the compressed encoded color logic. The fix consists of checking for the presence or absence of a compressed color list pointer. The presence of this pointer indicates if the compressed color logic is being used. The appropriate uncompress logic is used.[/branches/ghostscript-8.54/src/gdevdevn.c]
2006-05-11T01:28:43.068966Z giles
Update the changelog xml2html script to handle the output of 'svn log --verbose --xml' instead of 'cvs2cl'.[/branches/ghostscript-8.54/toolbin/split_changelog.py]
2006-05-10T22:05:04.536292Z giles
Fix up pre.tcl a bit to handle svn Id: lines.[/branches/ghostscript-8.54/toolbin/pre.tcl]
2006-05-10T21:57:36.424976Z giles
Propagate release number and data changes to the documentation.[/branches/ghostscript-8.54/doc/Issues.htm /branches/ghostscript-8.54/doc/DLL.htm /branches/ghostscript-8.54/doc/Drivers.htm /branches/ghostscript-8.54/man/pfbtopfa.1 /branches/ghostscript-8.54/doc/Commprod.htm /branches/ghostscript-8.54/doc/Release.htm /branches/ghostscript-8.54/doc/Xfonts.htm /branches/ghostscript-8.54/doc/Devices.htm /branches/ghostscript-8.54/doc/Language.htm /branches/ghostscript-8.54/man/gs.1 /branches/ghostscript-8.54/doc/Fonts.htm /branches/ghostscript-8.54/doc/Ps2ps2.htm /branches/ghostscript-8.54/man/pf2afm.1 /branches/ghostscript-8.54/doc/Develop.htm /branches/ghostscript-8.54/doc/Ps2pdf.htm /branches/ghostscript-8.54/man/printafm.1 /branches/ghostscript-8.54/doc/Helpers.htm /branches/ghostscript-8.54/man/pdf2dsc.1 /branches/ghostscript-8.54/doc/Psfiles.htm /branches/ghostscript-8.54/doc/Lib.htm /branches/ghostscript-8.54/doc/gs-vms.hlp /branches/ghostscript-8.54/man/gsnd.1 /branches/ghostscript-8.54/man/font2c.1 /branches/ghostscript-8.54/doc/Htmstyle.htm /branches/ghostscript-8.54/man/pdfopt.1 /branches/ghostscript-8.54/man/ps2pdf.1 /branches/ghostscript-8.54/man/pdf2ps.1 /branches/ghostscript-8.54/doc/Details8.htm /branches/ghostscript-8.54/doc/Make.htm /branches/ghostscript-8.54/doc/Testing.htm /branches/ghostscript-8.54/doc/Unix-lpr.htm /branches/ghostscript-8.54/doc/C-style.htm /branches/ghostscript-8.54/doc/Ps-style.htm /branches/ghostscript-8.54/doc/History1.htm /branches/ghostscript-8.54/doc/History2.htm /branches/ghostscript-8.54/man/gslp.1 /branches/ghostscript-8.54/man/wftopfa.1 /branches/ghostscript-8.54/doc/History3.htm /branches/ghostscript-8.54/man/ps2ps.1 /branches/ghostscript-8.54/doc/Ps2epsi.htm /branches/ghostscript-8.54/doc/History4.htm /branches/ghostscript-8.54/man/ps2pdfwr.1 /branches/ghostscript-8.54/doc/History5.htm /branches/ghostscript-8.54/doc/History6.htm /branches/ghostscript-8.54/doc/History7.htm /branches/ghostscript-8.54/doc/Projects.htm /branches/ghostscript-8.54/doc/History8.htm /branches/ghostscript-8.54/man/dvipdf.1 /branches/ghostscript-8.54/man/ps2ascii.1 /branches/ghostscript-8.54/doc/Use.htm /branches/ghostscript-8.54/doc/Readme.htm /branches/ghostscript-8.54/doc/Source.htm /branches/ghostscript-8.54/doc/Deprecated.htm /branches/ghostscript-8.54/doc/Maintain.htm /branches/ghostscript-8.54/man/ps2epsi.1 /branches/ghostscript-8.54/doc/Install.htm /branches/ghostscript-8.54/doc/Copying.htm /branches/ghostscript-8.54/doc/API.htm]
2006-05-10T21:54:27.892199Z giles
Update the libpng version number to match the included release.[/branches/ghostscript-8.54/src/ugcclib.mak /branches/ghostscript-8.54/src/macosx.mak /branches/ghostscript-8.54/src/watcw32.mak /branches/ghostscript-8.54/src/dvx-gcc.mak /branches/ghostscript-8.54/src/msvc32.mak /branches/ghostscript-8.54/src/unix-gcc.mak /branches/ghostscript-8.54/src/unixansi.mak /branches/ghostscript-8.54/src/macos-mcp.mak /branches/ghostscript-8.54/src/msvclib.mak /branches/ghostscript-8.54/src/all-arch.mak /branches/ghostscript-8.54/src/os2.mak /branches/ghostscript-8.54/src/watclib.mak /branches/ghostscript-8.54/src/bcwin32.mak /branches/ghostscript-8.54/src/openvms.mak]
2006-05-10T21:44:14.213811Z giles
Update version numbers and dates for release.[/branches/ghostscript-8.54/src/winint.mak /branches/ghostscript-8.54/doc/News.htm /branches/ghostscript-8.54/src/gscdef.c /branches/ghostscript-8.54/src/version.mak /branches/ghostscript-8.54/src/dwsetup.rc]
2006-05-10T21:06:42.656903Z giles
Branch for the AFPL Ghostscript 8.54 release.[/branches/ghostscript-8.54]
2006-05-10T21:05:11.037293Z Ralph Giles
We must reset the state structure pointers passed as userdata for the luratech library read and write callback from within the s_jpxe_process method because the garbage collector may have move the struct since the call to s_jpxe_init. Fixes bug 688657. Thanks to Ray Johnston for his analysis of the issue.[src/sjpx_luratech.c]
2006-05-10T11:23:25.592534Z Alex Cherepanov
Upgrade Japanese Unicode CMap resources from ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/aj16.tar.Z Bug 688685. DIFFERENCES: None[Resource/CMap/UniJISX0213-UTF32-H Resource/CMap/UniJIS-UTF32-H Resource/CMap/UniJIS-UTF16-H Resource/CMap/UniJIS-UTF8-H]
2006-05-08T17:43:01.487840Z Ray Johnston
Add checking for required Function in some shadings to prevent later SEGV. Detected with CET 12-14b.ps EXPECTED DIFFERENCES: None. This CET tests known ILLEGAL cases. The CET is not part of the nightly regression suite.[src/zshade.c]
2006-05-08T05:39:29.301618Z Ray Johnston
Move internal type 'gs_pattern1_instance_t' and 'gs_pattern2_instance_t' into an array for compatibility with CPSI and a poorly designed CET (09-03.ps). DETAILS: The CET doesn't bother to examine the array contents, so this ruse works. Since patterns aren't that common, we go ahead and use a 2 element array even though we only use the first element. EXPECTED DIFFERENCES: None.[lib/gs_patrn.ps lib/gs_lev2.ps src/zcolor.c]
2006-05-04T19:57:23.542378Z Ray Johnston
Fix a missing image problem seen in 468-03 (part of 468-01.ps). Even though this test appears to violate the rules in the PLRM for Mask and Data Image sizes for ImageType3, Adobe CPSI and other RIPS ignore the problem. EXPECTED DIFFERENCES: 468-01.ps[src/gximage3.c]
2006-05-03T15:24:53.610732Z Ralph Giles
Add a note about additional license change cleanup to be done when making GPL releases. Bug 688677.[doc/Release.htm]
2006-04-28T07:43:58.270935Z leonardo
pdfwrite : Luratech filters must not apply to inline images, part 2. DETAILS : Bug 688679 "/syntaxerror in ID with luratech coded pdf". The last patch appears incomplete. THis one fixes that. EXPECTED DIFFERENCES : None.[src/gdevpsdi.c]
2006-04-27T17:39:56.495819Z leonardo
Fix (UFST bridge) : Update makefile for UFST 4.6 . DETAILS : An .h file has been renamed. EXPECTED DIFFERENCES : None.[src/lib.mak src/int.mak]
2006-04-27T17:36:41.601504Z leonardo
pdfwrite : Luratech filters must not apply to inline images and for Indexed images. DETAILS : Bug 688659 "A wrong encoding with Luratech encoder". 1. JPXEncode, JBIG2Encode can't apply to inline images because PDF specification doesn't define short names for them. 2. JPXEncode can't apply to Indexed images. EXPECTED DIFFERENCES : None.[src/gdevpdfb.c src/gdevpdfv.c src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]
2006-04-26T22:26:54.710871Z Ralph Giles
As of libpng 1.2.10 we have to define PNG_NO_ASSEMBLY_CODE or include one of the two asm files on MacOS X. We don't want to fiddle with the source list based on compiler at this point (MSVC vs GCC) so just do without the assembly as before.[src/libpng.mak]
2006-04-26T19:16:55.695237Z Ray Johnston
Fix SEGV when 'reversepath' invoked with a currentpoint but no segments. Detected with the CET Global Interference test. EXPECTED DIFFERENCES: The CET tests might run now ;-) Otherwise no differences.[src/gspath1.c]
2006-04-26T01:17:13.575661Z Ray Johnston
Fix for 470-01 at some resolutions (90 dpi failed, 125 dpi worked). Zero width or height clip box confused shading logic. EXPECTED DIFFERENCES: None. 470-01.ps was not in the comparefiles (yet). I will be adding it.[src/gsshade.c]
2006-04-25T17:31:26.091156Z leonardo
pdfwrite : Implementing ColorImageAutoFilterStrategy, GrayImageAutoFilterStrategy. DETAILS : This patch implements ColorImageAutoFilterStrategy, GrayImageAutoFilterStrategy destiller parameters, and applies them for choosing image encoding filters when Ghostscript is built with Luratech filters. 1. Since the old architecture defines common image parameter lists for pswrite and pdfwrite, now we need to pass CompatibilityLevel to those common modules. Doing that in a hackish way with defining a new field gx_device_psdf::ParamCompatibilityLevel, and setting it whenever that stuff is called from pdfwrite. 2. Using it for the filter choice in psdf_setup_image_filters. 3. Enhance psdf_get_image_params and psdf_put_image_params with ColorImageAutoFilterStrategy, GrayImageAutoFilterStrategy (gdevpsdp.c). 4. Passing the lossless option for JPXEncode filter in setup_image_compression, and using that filter for lossless compression instead FlateEncode/LZWEncode when it is available, depending on ColorImageAutoFilterStrategy, GrayImageAutoFilterStrategy. 5. With CompatibilityLevel>=1.5, with 1bpp images we choose JBIG2Encode instead FlateEncode/LZWEncode when it is available. Thus, when Luratech filters are available, with CompatibilityLevel>=1.5, Luratech filters work by default. EXPECTED DIFFERENCES : None.[src/gdevpsdp.c src/gdevpdfp.c src/gdevpdfb.c src/gdevpdfv.c src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]
2006-04-25T16:40:09.951186Z Ralph Giles
Copy the new 1.2.10 libpng release into our tree.[libpng]
2006-04-25T16:39:48.646150Z Ralph Giles
Remove the included libpng 1.2.8.[libpng]
2006-04-25T03:10:32.157126Z Ralph Giles
Add hooks for setting the lossly compression quality target or lossless compression to the jpxe stream state. Both new parameters are optional, but the set_defaults method must now be called for consistent behavior. The quality option allows setting a quality value (1-100 inclusive) different from the default, currently 60. Setting the lossless flag specifies lossless encoding and overrides any quality setting.[src/sjpx_luratech.h src/gdevjpx.c src/sjpx_luratech.c]
2006-04-22T01:59:07.027378Z Ray Johnston
Change ASCII85Decode EOD handling to make sure that the EOD characters are consumed before we provide the last bit of data to the caller. The ~> sequence (actually could be~ > ) left in the currentfile would cause an /undefined error. Bug 688618. DETAILS: When the input is piped from %stdin the smaller buffers tripped over this frequently with the test file simply because there were more buffer bounds conditions. Note that this area is _still_ not quite the way Adobe works, but without major surgery and analysis of Adobe filter behaviour we aren't likely to achieve 100% compatiblity. Since we handle the case where the EOD sequence is in the part of the buffer that we defer processing on (if last is false) we should be quite similar as far as when we process the EOD since if a complete EOD wasn't in the buffer previously, the '~' was left there. Now we avoid returning the last word of data if the complete EOD isn't in the tail of the buffer. If the EOD sequence seen in the tail is preceded by the 'real' EOD before the tail in the current buffer, the "false positive" does no harm. Similarly if there is a malformed EOD '~' not followed by '>' (possibly with intervening ) the error condition will still be detected when the '~' is actually parsed in the deocder. EXPECTED DIFFRENCES: None. The regression suite still runs fine for me, including FTS files that use the ASCII85Decode filter such as 119-01.ps. [src/sa85d.c]
2006-04-22T01:15:50.051226Z Ray Johnston
Yet another apparently broken PDF file that Acrobat Reader handles silently. In this case a 'Tj' operator when the font is an embedded double byte font (CIDFont) has an odd number of bytes in the string. Change to return a .notdef' glpyh for the tail of the string. Bug 688670 fro customer 562. EXPECTED DIFFERENCES: None since we did not have any files with this problem.[src/gsfcmap1.c]
2006-04-21T01:11:36.736823Z Dan Coby
Fix for 688648 Too many MAP file names. DETAILS: The Borland C++ 5.5 Builder no longer worked. The problem was caused by an earlier change: r5596 | igor | 2004-12-20 14:17:39 -0800 (Mon, 20 Dec 2004) | 18 lines Fix : Completely remove the platform dependent target lib.tr from makefiles There was a note in that change message that it had not been tested with the Borland compiler. The bug was also subtle in that the only reason that the linker command worked previously was because the lib.tr file was empty.[src/bcwin32.mak]
2006-04-20T18:14:11.385429Z leonardo
Fix (pdfwrite) : Work around degenerate CTM while stroking a path. DETAILS : Bug 688606 "ps2pdf fails with Error: /undefinedresult in --stroke--". The pdfwrite device uses an inverse CTM to satisfy Adobe Reader constraing for user coordinates. The test document demonstrates another case when a 3d party software strokes a path with a degenerate CTM. The old code already implements a workaround for a si,ilar case. However the old condition in there appears too strong, and now we make it weaker to pass a new class of degenerate CTMs. NMot sure whether we should pass any degenerate CTM. Will see if new ones appear. EXPECTED DIFFERENCES : None.[src/gdevpdfd.c]
2006-04-18T17:32:25.849734Z Ray Johnston
Implement the status operation for the %rom% device. Restructure the makefiles to correct some dependency problems. The creation time of files in the %rom% device are now set to the build time. The need for this was established during bug 687094. DETAILS: Not tested on VMS or OS/2. Header file dependencies were missing. Now the mkromfs ZLIB objs are a shared macro list as are the header list. EXPECTED DIFFERENCES: None since this only is used if COMPILE_INITS=1.[src/lib.mak src/openvms.mak src/mkromfs.c src/gsiorom.c src/unix-aux.mak src/macos-mcp.mak src/msvctail.mak src/os2.mak]
2006-04-16T19:08:54.198111Z leonardo
Fix (MSVC build) : Always use nodebug CRTL when building a nodebug Ghostscript. DETAILS : The old makefile gave a wrong profiling result due to linking with debug CRTL when TDEBUG=0 DEBUGSYM=1. EXPECTED DIFFERENCES : None.[src/msvc32.mak]
2006-04-16T19:01:41.671156Z leonardo
Fix (memory manager) : Reduce the CPU time consumption for 'restore', step 2. DETAILS : This fixes the bug Bug 688602 "Displaying file with GS-8.53 is much slower than with GS-8.51" with switching on the new code. See the revision 6706 log message. EXPECTED DIFFERENCES : None.[src/gxalloc.h]
2006-04-14T19:49:13.902581Z leonardo
Fix (memory manager) : Reduce the CPU time consumption for 'restore'. DETAILS : This is a preparation for fixing Bug 688602 "Displaying file with GS-8.53 is much slower than with GS-8.51". Currently the new code is disabled with the macro NO_INVISIBLE_LEVELS defined in gxalloc.h . The performance flaw happened in revision 5980. Before it the memery manager created "invisible" save levels when the changes list becomes too long and needs a big time for restoring l_new marks. The idea was to skip marls for older changes so that they don't consume processor time. The cost was an extra growth of the changes list, because such changes are stored at second time if happen again after the "invisible" 'save'. While fixing the bug 68815 this optimization was lost because it was not documented. In same time, "invisible" 'save' levels appear logically incorrect, because they cause the problem documented in the bug 68815. This change implements same idea (the skipping of old changes while 'restore'), but it does that with no extra 'save' levels. The new implementation maintains a pointer gs_ref_memory_t::scan_limit, which points to a middle element of the changes list. Elements after that pointers do not restore l_new mark during 'restore'. Besides that, this change introduces a new kind of change list elements, which is marked with AC_OFFSET_ALLOCATED in the 'offset' field. Such elements do not represent a memory content change, but they represent an allocation event for 'ref' arrays. The l_new mark is restored for those refs, which were allocated after the change element pointed by gs_ref_memory_t::scan_limit. To simplify debugging, we define a new switch NO_INVISIBLE_LEVELS in gxalloc.h . When NO_INVISIBLE_LEVELS is zero, an algorithmically equivalent change happens in isave.c and igcref.c, and other modules are not affected. In this case : 1. Factored out a new function mark_allocated (isave.c). 2. Added a new argument to save_set_new, save_set_new_changes to know that it is called for an invisible level (isave.c). 3. Factored out a new function igc_reloc_ref_ptr_nocheck (igcref.c). When NO_INVISIBLE_LEVELS is 1 : 1. Invisible save levels are not created (the change to alloc_save_state in isave.c). 2. Instead that, it creates a new kind of alloc_change_t element, which is marked with AC_OFFSET_ALLOCATED in the 'offset' field. Such element points to the beginning of a newly allocated 'ref' array (either packed or not) (see alloc_save_change_alloc in isave.c). 3. The new function alloc_save_remove removes such elements when the object is being removed explicitely. 4. save_set_new is expanded to process the new kind of alloc_change_t elements. With such elements it calls mark_allocated (see above), so that the effect is same as before the patch. 5. The scanning of allocated objects in save_set_new is removed due to (3). 6. save_set_new_changes is extended with computing the size of newly allocated 'ref' arrays, which are processed during the scan. It appears to be close to what save_set_new did while scanning allocated objects (the variable 'changed'). 7. The new field gs_ref_memory_t::scan_limit stores a termination condition for scanning objects in save_set_new_changes. The value is stored when save_set_new_changes is called from alloc_save_state as it was for creatng an invisible save level. Rather the new code doesn't create an invisible level, the scan termination condition work as it were created. 8. save_set_new_changes uses the variable 'changed' for a proper setting of the termination condition. The condition is not exactly equivalent to the old one, because the old code also accounts a scanning of non-ref objects, but the new code doesn't bother with them. Therefore new termination conditions appear in some different points than invisible levels did. Therefore the behavior isn't algorithmically equivalent. 9. The new code always restore to a 'visible' level. In same time, doing a 'restore', some of l_new marks may be left unrestored due to the scan tremination condition. This effect may be considered as caching a reasonable number of recently changed objects by marking with l_new. Older changes loose the l_new mark and their further changes will be stored again in the 'changes' list. This causes an extra growth of the 'changes' list, but saves the processor time from redundant setting of multiple l_new marks when save-restore is executed multiple times after a big number of changes. 10. The garbager implements a special processing for AC_OFFSET_ALLOCATED elements. The 'where' pointer is not enumerated and isn't tracked while the marking phase. Instead that the garbager calls a special function alloc_save__filter_changes to remove those elements, which point to unused ref blocks. Also a special function igc_reloc_ref_ptr_nocheck is used to relocate 'where' pointers. See comments in code. 11. In AC_OFFSET_ALLOCATED elements 60% of their size appears unused. We would like to define a smaller structure for them, but we don't want enlarge the CPU time expense for checking types in loops. Thus NO_INVISIBLE_LEVELS 1 reconstructs the optimization, which was lost while fixing the bug 688153 with the revision 5980. Rather the behavior isn't strongly equivalent, the overall logic is mostly same. Now we commit this patch with new code disabled. We'll enable it separately after the regression testing of the algorithmically equivalent part. EXPECTED DIFFERENCES : None.[src/isave.h src/gxalloc.h src/idosave.h src/igcref.c src/int.mak src/igc.c src/ialloc.c src/gsalloc.c src/isave.c]
2006-04-14T17:55:42.321007Z Ray Johnston
Indirect W, W2, Dw or DW2 values were not resolved at the correct point which caused a check for 0 length W and W2 arrays to not work. Bug 688649.[lib/pdf_font.ps]
2006-04-14T01:03:31.516512Z Dan Coby
Remove a piece of extra code that came in as part of the 'Named color' logic.[src/gscdevn.c]
2006-04-13T04:24:47.344362Z Ray Johnston
Fix typo. IdoimSet was in RESOURCE_LIST instead of IdiomSet. Thanks to "Edward" for spotting this. Bug 688644.[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/Makefile.in src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/macos-mcp.mak src/msvclib.mak src/os2.mak src/watclib.mak]
2006-04-11T05:56:23.659314Z Dan Coby
Fix for 688068 Problem with overprint in 1bit cmyk device. DETAILS: This problem was caused by an earlier change which was made for support of ROPs in the GhostPCL product. Logically there are some conflict between the requirements for ROPs versus overprint. See the discussion in 688638 for the details. Logically this change backs out the earlier change to big_map_color_rgb. In actuality, a new routine call bit_decode_color was made which operates like the earlier version of bit_map_color_rgb. The new routine was created since the current bit_map_color_rgb will be needed for ROP support.[src/gdevbit.c]
2006-04-11T04:54:24.181044Z Ray Johnston
The .ResourceFile logic did not work with the %rom% device since it relied on the 'status' operator. This change avoids the use of 'status' by using the 'file' operator in a stopped context. Bug 687094. DETAILS: The %rom% device needs to add a 'status' function that comes up with some reasonable results. EXPECTED DIFFERENCES: None.[lib/gs_res.ps]
2006-04-06T00:30:46.126294Z Dan Coby
Fix for 688625 5x to 15x slowdown between 8.50 and 8.53 (ref#10273). DETAILS: The given test file specifies a graphics state for almost every line drawn. As a result, over 380,000 extra transparency mask initializations are done. The extra time occurred when the PDF transparency processing was changed being passed through the clist.These extra initializations were using both CPU time and clist memory (disk) space. The fix consists of only processing PDF transparency features when it is actually needed by the file. Note: This was already being done for most PDF transparency operations but not for the mask initializtion.[lib/pdf_ops.ps]
2006-04-03T13:43:22.538056Z Alex Cherepanov
Fix all obvious cases where the name of an operator for signalerror procedure is searched in the dictionary stack instead of retrieving it from systemdict. Bug 688548. DIFFERENCES: None[lib/gs_lev2.ps lib/gs_img.ps lib/gs_dpnxt.ps lib/gs_cspace.ps]
2006-04-02T00:17:36.683425Z Ray Johnston
Fix rangecheck in shfill caused by floating point inaccuracies in the function logic. Previous logic allowed for inaccuracy, but the value scaling was wrong making the test too stringent. Bug 688574 for customer 531. DETAILS: This rangecheck failure was not consistent across various builds, but _was_ repeatable on peeves. The problem was a floating point calculation truncation which caused a vaule to go outside of the defined range (in this case, the value went negative and the limit was 0.0). There was logic present in 'fn_1ItSg_is_monotonic' to allow for small 'out of bounds' conditions, but the value used was defined for a different range and thus was too strict. While fixing this (by splitting the 'small' values to different ones for the 'b' range and the 'e' range) I also corrected many spelling errors (s/noize/noise/ and s/beak/peak). I also regularized the small float value to (float)1e-6 in the various modules.[src/lib.mak src/gsfunc0.c src/gsfunc3.c src/gxpcopy.c]
2006-04-01T22:16:27.729522Z Alex Cherepanov
Work around a bug in GCC 2.96 for x86. Pre-load stack pages to avoid a SEGV. Bug 688574. DETAILS: It is well known that GCC 2.96 for x86 sometimes forgets to adjust $esp and leaves automatic variables at small distance below the stack pointer. Apparently, when the access to the automatic variable causes a page fault Linux sends a SEGV signal instead of committing the page if the access happens below the stack pointer. Pre-loading the stack pages from a known good context resolves the problem. DIFFERENCES: None.[src/gs.c]
2006-04-01T15:09:59.196553Z Alex Cherepanov
Recognize PDF fonts by the first 4 bytes of the font stream. Simplify Type 1 font reader and PFB font reader. Bug 688569 from customer 850. DETAILS: Some PDF files mis-identify font type of the embedded font streams or include raw PDF font streams. Length1, Length2, Length3 may be wrong or missing. Adobe Acrobat corrects these types transparently to the user. All PDF font streams can be easily recognized by the 1st 4 bytes of the font stream. The PFB stream can be recognized by the 1st 2 bytes. The Type 1 font reader doesn't need to follow 3-part structure of the Type 1 font but interpret it as a single stream. PDF specifies that Type 1 fonts with binary-encoded eexec streams can be embedded. One can imagine a binary eexec stream that is mis-identified as a hexadecimal eexec stream by a standard PostScript eexec operator. So the encoded stream was converted to hexadecimal stream before rev. 6568 . In practice we've never seen a stream that need a hexadecimal conversion but had several real hexadecimal streams. When the hexadecimal conversion was removed in rev. 6568, handling of 3-part Type 1 structure became a rudiment with is removed now. Existing code restores the operand and dictionary stacks after the font interpretation. So no extra code is required to support fonts without the 3rd part - zeros and cleartomark. These changes enable Ghostscript to interpret many kinds of malformed font streams but reduce it's utility as a verification tool. Checking of the declared type, subtype, and length parameters vs. actual values has been moved to the bug 688627 and will be implemented later. DIFFERENCES: None[lib/pdf_font.ps]
2006-04-01T13:35:02.551726Z Alex Cherepanov
Fix /ioerror when the length of the string data target is equal to number of generated bytes. Calculate the exact number of \n characters inserted by ASCIIHexEncode filter instead of the high bound Bug 688569 DIFFERENCES: None[src/sstring.c]
2006-04-01T13:13:59.549095Z Alex Cherepanov
Enable redefinition of /image and /imagemask operators in PDF interpreter whan DELAYBIND option is in effect. Bug 688555 DETAILS: pdf_draw.ps is loaded after gs_img.ps, gs_init.ps, gs_l2img.ps where /image and /imagemask are redefined. So these names can be safely resolved at the loading time, instead of taking the value from systemdict at run time as it was done before. DIFFERENCES: None[lib/pdf_draw.ps]
2006-03-31T01:07:31.896512Z Dan Coby
Fix for 688608 image rendered black in PDF-file DETAILS: The test file for this problem has several 1 bit DeviceGray images. The file also uses the 'Darken' blending mode. This result of this blending mode is the darker of the background and source colors. The problem was that 1 bit DeviceGray images are handled by the copy_mon device procedure. The PDF 1.4 transparency compositor devices were using the gx_default_copy_mono procedure. However this routine first sets the specified area to black and then sets the white regions. Since the entire area is first set to black, the blending operation always produced a black result. The fix consists of creating a new copy_mono procedure for the PDF 1.4 transparency compositor devices. The new routine does not set the entire area to black first.[src/gdevp14.c]
2006-03-29T21:50:36.299258Z Ray Johnston
Document the new '-o' option. Also minor cleanup in the same area.[doc/Use.htm]
2006-03-29T20:43:28.951336Z Ray Johnston
Correct double "" typo that made 'usage:' not work.[toolbin/search-svn-revs]
2006-03-29T19:39:10.090689Z Raph Levien
Adds -oswitch to command, which is essentially an alias for -sOutputFile= , -dNOPAUSE, and -dBATCH. [src/imainarg.c]
2006-03-29T19:31:05.448360Z Ralph Giles
The luratech JPEG 2000 encoder defaults to lossless coding mode, which doesn't offer any size advantages over the older DCT encode filter. Instead ask for quality-based rate control at 60 on a scale of 1-100. This also requires switching to the 9,7 wavelet from the reversible 5,3.[src/sjpx_luratech.c]
2006-03-28T01:05:49.592416Z Ray Johnston
Return a success code from the clist compression initialization functions. Bug 688603. Thanks to "Nix" for spotting this. DETAILS: This problem actually existed with the LZW comoression init as well as ZLIB.[src/gxclzlib.c src/gxcllzw.c]
2006-03-27T19:01:29.123835Z Ray Johnston
Fix typo in double inclusion protection.[src/sjpx_luratech.h]
2006-03-27T18:53:39.250165Z Ray Johnston
Fix a problem handling ' " and \ characters that gave false postives when checkin sources for C++ comments. Remove some modules from the 'skip' list that did not belong there (IMHO) -- they were probably there due to previous false positives. DETAILS: This module was already sort of hackish. It works better, but probably can still be fooled. At least we now ignore the character following a '\' and can handle things like '"' and "'" without getting confused. EXPECTED DIFFERENCES: src/gdevpdfe.c will no longer be listed as having C++ comments.[toolbin/tests/check_comments.py]
2006-03-25T01:38:29.250332Z Ralph Giles
Fix luratech-based encode filters. We now appear to work correctly. DETAILS: Invert the JBIG2 image data before passing it to the encoder library. We allocate a scratch buffer for this because the buffer we are passed in the read cursor struct is marked const. We now produce output with the correct meaning for 0 and 1 bits, but the output of the jbig2 output device is now inverted. In both the jbig2 and jpx encode filters, repeatedly grow dynamic buffers until they reach the required size instead of assuming a single doubling will be sufficient. This fixes a segfault inside the library compressing large JPX images.[src/sjbig2_luratech.h src/sjbig2_luratech.c src/sjpx_luratech.c]
2006-03-24T23:58:42.888065Z Ralph Giles
Correct an unitialized variable warning.[src/gdevjbig2.c]
2006-03-24T01:10:06.296187Z Alex Cherepanov
Use .languagelevel operator instead of languagelevel name to prevent languagelevel redefinition to affect Ghostscript operation. Bug 688583 DIFFERENCES: None[lib/gs_img.ps]
2006-03-23T19:32:06.035048Z Ray Johnston
Change PDF curve rendering to use 'accurate' curves. PostScript method is retained for Adobe CPSI compatibility. Bug 688434. EXPECTED DIFFERENCES: All are varified as progressions (improvements). I will run update_specific immediately after the patch is committed. The file list is: 0.pdf 1_2001.pdf 1_pct_50_bang.pdf 86554321.pdf Altona-Testsuite_p2_S_x3.pdf Altona_Measure_1v1.pdf Altona_Visual_bb_1v1_x3.pdf Altona_Visual_sb_1v1_x3.pdf BEST8-99-Path.fh7.pdf BW0696FOLD1FRONT.pdf Bug687724.pdf Bug687828.pdf Bug687840.pdf DisplayedGood.pdf DisplayedWrong.pdf GS_Stroke_error.pdf Openhuis_pdf_zw.pdf PixelisAd.pdf RodinCIDEmbed.pdf S2_Digitalproof-Forum_x3k.pdf SmoothShading.pdf Svd.pdf adesso8.pdf ai2.pdf annots.pdf besttest.pdf bugsample.pdf bulletin.pdf ca.pdf chartab.pdf chilis_black.pdf chilis_red.pdf file.pdf file2.pdf knight.pdf messenger.pdf messenger16.pdf p2b-100.pdf probe3.pdf si_tg_brochure.pdf time1.pdf[lib/pdf_main.ps]
2006-03-23T12:39:23.850800Z leonardo
Fix (pdfwrite) : The font copying and the font comparizon didn't work with segmented True Type data. DETAILS : Bug 688611 "Font included in the PDF file several times". In Postscript documents Trus Type font data are segmented to fit into a maximal Postscript string. If a True Type table is bigger, it must be segmented. When creating a stable font copy such case is rare, because we copy small tables only (skipping such big tables as 'glyph' in order to create a font subset). In the supplied test case True Type font is so wrongly segmented, that 'cvt' table consistes of 2 segments, rather it could fit into a single string. Due to that the old code accessed occasional data after a segment break. We believe that the test document is an incorrect Postscript, but we decided to do effort for handling this case. EXPECTED DIFFERENCES : None.[src/gxfcopy.c src/gdevpsft.c]
2006-03-23T09:56:47.387302Z leonardo
(pdfwrite) : Integrating Luratech modules for JPXEncode, JBIG2Encode. DETAILS : This imolements a better filter initialization and a proper writing of filter names to the PDF output file. EXPECTED DIFFERENCES : None.[src/gdevpdfx.h src/gdevpdfu.c src/gdevpsdi.c src/devs.mak]
2006-03-22T18:35:22.304671Z Raph Levien
FIX: Fixes segfault in wts persistent cache logic when no cache key is generated. Fixes bug #688132.[src/gswts.c]
2006-03-22T18:10:43.455701Z Ralph Giles
Fix printafm to properly handle files with more than 256 glyphs. Patch from Michail Vidiassov. Bug 688610.[lib/printafm.ps]
2006-03-22T16:44:15.233805Z leonardo
(pdfwrite) : Integrating Luratech modules for JPXEncode, JBIG2Encode. DETAILS : This is a preliminary implementation. The new filters in this revision isn't working well and need more debugging. To build Ghostscript with new filters, specify "JBIG2_LIB=luratech JPX_LIB=luratech" in the command line when running 'make' utility. Use this Postscript prefix to invoke new filters : << /ColorImageFilter /JPXEncode /GrayImageFilter /JPXEncode /MonoImageFilter /JBIG2Encode >> setdistillerparams JPXEncode requires CompatibilityLevel=1.5 , JBIG2Encode requires CompatibilityLevel=1.4 . IMPORTANT NOTE : The change to gdevpsdi.c near line 239 slightly changes the behavior in the case when no new filters involved. When AutoFilter=true, the old code completely disregarded the filter specified in ColorImageFilter, GrayImageFilter. The new code leaves it as a candidate for the automatic choice if it is a non-lossless filter. EXPECTED DIFFERENCES : None.[src/gdevpsdp.c src/gdevpdfp.c src/gdevpsdi.c src/devs.mak]
2006-03-22T14:56:00.546050Z leonardo
Fix (pdfwrite) : A minor code cleanup. DETAILS : This is a preparation for integrating Luratech modules for JPXEncode, JBIG2Encode. This change is algorithmicly equivalent. 1. Allowed CompatibilityLevel=1.5 . Old code replaced with 1.4 . The new code behaves same as the old one. 2. In gdevpsdi.c set_defaults was called twice for same filter in some cases. EXPECTED DIFFERENCES : None.[src/gdevpdfp.c src/gdevpsdi.c]
2006-03-22T08:43:11.486957Z leonardo
Fix : MSVC, Cygwin/gcc warnings. DETAILS : Note 1: This patch inserts 2 initializations into gswts.c against an indeterminzm, but we don't case about correct values in those cases. Note 2: This patch removes the messing pointer type cast insetred with the last patch. EXPECTED DIFFERENCES : None.[src/gsimage.c src/gxfcopy.c src/gxwts.h src/gdevpdfg.c src/gswts.c]
2006-03-22T08:04:49.413437Z Ray Johnston
Fix compile problems and MSVC warnings.[src/gxwts.h src/gswts.c]
2006-03-22T07:05:00.066628Z Raph Levien
Patch to put WTS halftones in clist so that WTS halftoning works in banded mode. Also uses persistent cache when available to save time initializing the WTS halftone structures. Some memory cleanup and optimization work remains.[src/gp_unix_cache.c src/gswts.h src/gshtscr.c src/gxdhtserial.c src/gxwts.h src/gsht.c src/gswts.c src/gxclrast.c src/gxdevndi.c src/gp.h src/gxclimag.c]
2006-03-22T04:58:45.401369Z Alex Cherepanov
Add ToWrite dictionary to complete the environment for pdfwrite.ps procedures and enumerate JBIG2Globals parameter before the image to avoid recursion during stream copying. Bug 688556 DIFFERENCES: None[lib/pdfopt.ps]
2006-03-21T12:09:23.846370Z leonardo
Fix (pdfwrite) : Order embedded fonts against an indeterminizm. DETAILS : Bug 688561 "PDF content depends on memory allocation." The old code writes font data depending on glyph name indices, which are Postscript name indices and depend on memory allocation order, which depend on occasional factors and events. This patch implements a font data ordering by glyph names, which are strings. The ordering is implemented for stable font copies, which only represent an embedded font before writing it. See comments added into gxfcopy.h . EXPECTED DIFFERENCES : None.[src/gdevpdtb.c src/gxfcopy.c src/gxfcopy.h]
2006-03-20T23:35:52.190540Z Ralph Giles
Implement RGB and CMYK output in the example JPX output device. The CMYK device isn't confirmed to be correct.[src/devs.mak src/gdevjpx.c]
2006-03-17T20:26:58.555712Z Ralph Giles
Add the new luratech integration and testing files to the file list in the documentation.[doc/Develop.htm]
2006-03-17T20:16:46.140063Z Ralph Giles
Add missing revision comment lines.[src/gscedata.h src/gdevpdtv.c src/gdevpdtv.h src/gscedata.c]
2006-03-17T07:19:58.022114Z leonardo
Type 1 hinter : More improvements (continued 3). DETAILS : The revision 6642 appears incorrect. We thought that the 'uninitialized' warning was issued due to the compiler stupidity, however it appears useful. Those variables could be uninitialized due to the operator 'continue' above their assignments. Revisions before 6642 are indeterministic. This patch provides a correct fix for that error. The last patch fixed the indeterminizm, but the computation was inaccurate. EXPECTED DIFFERENCES : normal 72 dpi : "Bug687724.pdf" "chess.ps" "MagicEye.pdf" normal 300 dpi : "86554321.pdf" "alphabet.ps" "t\Bug687724.pdf" "t\fonts.pdf" "t\MagicEye.pdf" "t\PixelisAd.pdf" "t\prob.pdf" "t\spec_gs.pdf" "t\spec_gv.pdf" pdfwrite 72 dpi : "Bug687724.pdf" "chess.ps" "t\Bug687724.pdf" "t\chess.ps" "t\MagicEye.pdf" pdfwrite 300 dpi : "86554321.pdf" "alphabet.ps" "Bug687603.ps" "Bug687724.pdf" "fonts.pdf" "MagicEye.pdf" "PixelisAd.pdf" "prob.pdf" "spec_gs.pdf" "spec_gv.pdf"[src/gxhintn.c]
2006-03-16T19:59:07.187142Z Ray Johnston
Remove individual credit from 'usage'.[toolbin/search-svn-revs]
2006-03-15T19:56:58.028675Z Ralph Giles
Remove excessive debugging output.[src/sjpx_luratech.c]
2006-03-15T19:45:00.902158Z Ray Johnston
Fix color procs to get gray scale instead of _b_w_.[src/gdevjpx.c]
2006-03-15T14:35:27.348378Z Alex Cherepanov
Use gput procedure to store data in the PDF graphic state instead of the plain def because initial graphic state is a read-only dictionary. Bug 688593 from customer 870. DIFFERENCES: None[lib/gs_ttf.ps]
2006-03-15T06:33:42.151793Z Ralph Giles
Add test frameworks for the JBIG2 and JPX encode filters. This code only depends on the encoder streams being available, but currently that is only possible when building against the proprietary Luratech implementation libraries.[src/gdevjbig2.c src/gdevjpx.c src/devs.mak]
2006-03-15T05:46:07.272587Z Ralph Giles
Initial check in of JPX encode filter support based on the Luratech LWF JP2 library.[src/sjpx_luratech.h src/sjpx_luratech.c]
2006-03-15T05:43:50.703217Z Ralph Giles
Commit header changes associated with the previous commit.[src/sjpx_luratech.h]
2006-03-15T05:41:25.246375Z Ralph Giles
Instead of using the dimensions and depth of the first image component, take the maximum of the values for each component, giving the highest resolution image. The library doesn't supply the information from the Image Header Box which should be the actual target resolution, so we still need to implement passing the target image dimensions from the image dictionary for complete robustness. Also, some code clean up and improvement of debugging messages.[src/sjpx_luratech.c]
2006-03-13T21:11:43.073623Z stefan
Use vsprintf for currently unused gs_throw_imp for now.[src/gsmisc.c]
2006-03-13T20:53:43.657512Z stefan
remove abberant include of stdint.h[src/gdevpdfe.c]
2006-03-13T20:37:32.485353Z Ray Johnston
Add warning about potential misleading results as pointed out by Igor. Credit him with this observation in the 'usage' explanantion.[toolbin/search-svn-revs]
2006-03-13T19:52:46.775800Z Ralph Giles
Fix a typo that was introduced in r6651.[src/gserror.h]
2006-03-13T19:41:07.288420Z Ralph Giles
Use the Id keyword instead of the old RCSFile and Revision.[src/gserror.h]
2006-03-13T16:18:19.024819Z stefan
changed copyright headers[src/iplugin.h src/gdevm48.c src/gsgdata.h src/configure.ac src/gsropt.h src/gdevmsxf.c src/gdevmem.c src/gdevmem.h src/zvmem.c src/write_t1.c src/gstrap.c src/icstate.h src/gxxfont.h src/write_t1.h src/gstrap.h src/gzacpath.h src/gdevcgmx.h src/gscssub.c src/gp_msdos.c src/gdevlbp8.c src/gdevdm24.c src/gdevpdfx.h src/zcsdevn.c src/dwsetup.rc src/zcontext.c src/gscssub.h src/icie.h src/gxdhtserial.c src/gdevpdts.c src/ccfont.h src/gxdither.h src/gxdhtserial.h src/gdevpdts.h src/macsystypes.h src/gxclutil.c src/gxcomp.h src/echogs.c src/oper.h doc/History7.htm src/zchar42.c src/gscscie.c src/gsfont0.c src/zchar42.h src/icfontab.c src/zht1.c src/zdevcal.c src/zpcolor.c src/gdevpdfi.c src/zcssepr.c src/ifont42.h src/sdcparam.c doc/Install.htm src/bcwin32.mak doc/Issues.htm src/sdcparam.h src/gdevpdtd.c src/gdevokii.c src/zcfont.c src/gdevpdtd.h src/gdevprna.c src/zcolor.c src/gxhtbit.c src/oparc.h src/sfxfd.c src/gdevprna.h src/gp_mspol.c src/dwuninst.h src/ttconfig.h src/gpmisc.c src/ireclaim.c src/gxstdio.h src/gsmemraw.h src/gpmisc.h doc/Lib.htm src/gxline.h doc/Ps-style.htm src/ijs.mak src/gserver.c src/gp_psync.c src/gp_os2pr.c src/gdevpsd.c src/gsiomacres.c src/gxclfile.c src/gxfilltr.h src/gdebug.h src/zfile.c src/gdev4693.c src/gxchar.c src/gxchar.h src/gsline.c src/gsfcid2.c src/gsalloc.c src/gsline.h src/gsiparm2.h src/gsalloc.h src/gxfont0.h src/gdevmeds.c src/gs16spl.c src/gdev4081.c src/gdevmeds.h src/srdline.h src/dpmain.c src/wctail.mak src/winlib.mak doc/History8.htm src/szlibx.h src/zmath.c src/gdevpdfk.c src/gxfont0c.h src/iimage.h src/gxpcolor.h src/gdevpdtf.c src/gp_unifn.c doc/Xfonts.htm src/gdevddrw.c src/gschar.c src/gdevpdtf.h src/gdevpsfm.c src/gdevddrw.h src/sarc4.c src/gschar.h src/gsptype2.c src/gdevpsu.c src/zfcid1.c src/sarc4.h src/gstrans.c src/gsptype2.h src/gdevpsu.h src/gstrans.h src/iestack.h src/gxbitfmt.h src/gxclio.h src/gstype2.c src/itoken.h src/inameidx.h src/gxhldevc.c src/gxhldevc.h src/sfxboth.c src/gp_macio.c src/wrfont.c src/sbhc.c src/gsdps.c src/zfont1.c doc/Maintain.htm src/wrfont.h src/sbhc.h src/gsdps.h src/spngp.c src/ghost.h src/gxalloc.h src/gsmatrix.c src/gxsamplp.h src/istruct.h src/gdevpsf.h src/gsmatrix.h src/zdouble.c src/dwreg.c src/spdiff.c src/gxfcmap1.h src/dwreg.h src/scommon.h src/gdevpdtw.c src/gdevpdtw.h src/unixhead.mak src/gsiparm4.h src/gxiscale.c src/gxbcache.c src/dwinst.cpp src/gxbcache.h src/ibnum.c src/gdevxcmp.c src/estack.h src/ibnum.h src/scfe.c src/gscompt.h src/gsdcolor.h src/gxdtfill.h src/gdevxcmp.h src/gdevlj56.c src/gdevhl7x.c src/gdevos2p.c src/gsparam.c src/gdevmr8n.c src/gsbitops.c src/gxftype.h src/gp_unix_cache.c src/gdevpdfm.c src/imain.c src/gsparam.h src/gsbitops.h src/zfilter2.c src/imain.h src/ifilter.h src/zfont42.c doc/Language.htm src/spdiffx.h src/smd5.c src/smd5.h src/gxhttype.h src/gs16spl.rc src/gspenum.h src/sjpx.c src/sjpx.h src/gxipixel.c src/sfilter2.c src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/gxmclip.c src/gxcie.h src/gsio.h src/gscrd.h src/gxmclip.h src/unix-end.mak src/inobtokn.c src/gp_mslib.c src/gsiodev.c src/gdevescp.c src/igc.c src/msvc32.mak src/gdevmacxf.c src/gsfunc0.c src/igc.h src/jerror_.h src/zdosio.c src/gsfunc0.h src/gdevpsds.c src/gdevpsf1.c src/siscale.c src/gdevpsds.h src/ilevel.h src/gxfill.c src/gsdsrc.c src/siscale.h src/gxclread.c src/gxfill.h src/gsdsrc.h src/iostack.h src/gdevmr1.c src/gsdll.c src/gspath1.c src/gsdll.h src/sjpegc.c src/zfdcte.c src/zfcmap.c doc/Readme.htm src/gdevbit.c src/gdevfax.c src/gsequivc.c src/gsdevice.c src/gp_wsync.c src/gdevfax.h src/gsequivc.h src/gsdll32.rc src/gxclmem.c src/gshtx.c src/gscparam.c src/gdevpdfo.c src/gdevsj48.c src/gsdevice.h src/gsbittab.c src/sdctd.c src/macos_carbon_pre.h src/gxclmem.h src/gshtx.h src/gsmemory.c src/gdevpdfo.h src/gsbittab.h src/ifwpred.h src/gdevcdj.c doc/Devices.htm src/files.h src/gsmemory.h src/gxband.h src/scfdgen.c src/ttinterp.c src/ttcalc.c src/gsbitmap.h src/gdevtknk.c src/idsdata.h src/ttinterp.h src/ttcalc.h src/gxfont42.h src/scf.h src/inames.h src/gxidata.c src/gsroptab.c src/gdevm1.c src/gsistate.c src/os2.mak src/gscolor2.c src/gzline.h src/gscolor2.h src/gsmalloc.c src/ttfmain.c src/ivmem2.h src/gsmalloc.h src/gscindex.h src/gxiodev.h src/gp_macpoll.c src/dwmain.c src/gdevpcfb.c src/gdevvec.c src/dwmain.h src/gdevpcfb.h src/gdevvec.h src/ostack.h src/gsrect.h src/sdeparam.c src/idosave.h src/gsncdemo.c src/ifrpred.h src/gdevimgn.c src/gdevvglb.c src/gsmdebug.h src/gsovrc.c src/gxshade1.c src/gdevm32.c src/scfx.h src/gsovrc.h src/all-arch.mak src/bfont.h src/idparam.c src/gsparams.c src/gdevbjcl.c src/gdevpsdu.c src/dvx-gcc.mak src/idparam.h src/gsparams.h src/gxblend.c src/gdevdsp2.h src/gp_mswin.c src/gdevbjcl.h src/gxblend.h src/gp_mswin.h src/gp_os2.c src/zcolor1.c src/math_.h src/gp_os2.h src/gxfunc.h src/gdevstc.c src/macos-fw.mak src/ialloc.c src/gdevstc.h src/ialloc.h src/gserrors.h src/sjpege.c src/gxsample.c src/gxfarith.h src/dxmainc.c src/gdevbmp.c src/gxsample.h src/gserror.h src/gdevbmp.h src/gdevsppr.c src/igcstr.c src/gdevn533.c src/idebug.c src/igcstr.h src/iccinit1.c src/idebug.h src/gsht.c src/ifont2.h src/gdevpsdf.h src/gdevm16.c src/gsht.h src/scantab.c src/gxfapi.c src/zfilter.c src/gstype42.c src/gxfapi.h src/iutilasm.asm src/gsfunc.c src/sbcp.c src/iref.h src/gsfunc.h src/sbcp.h src/gdevtrac.c src/gp_ntfs.c src/libpng.mak src/gdevatx.c src/zfproc.c src/gs_dll_call.h src/dmmain.c src/istream.h src/gs.c doc/Ps2epsi.htm src/zdevice2.c src/iscannum.c src/sjbig2.c src/gdevpdfb.c src/gscrdp.c src/gspmdrv.c src/iscannum.h src/dmmain.r src/sjbig2.h src/gsfemu.c src/gdevpdfb.h src/gscrdp.h src/gspmdrv.h src/inamestr.h src/gxclrast.c src/gdevxres.c src/zfile1.c src/zimage3.c src/istkparm.h src/gdevo182.c src/zarith.c src/zcspixel.c src/gximage1.c src/msvctail.mak src/gsfunc4.c src/isdata.h src/gxclpath.c src/gsfunc4.h src/gxcmap.c src/gxclpath.h src/icsmap.h src/gxcmap.h src/gpgetenv.h src/zpath.c src/ttload.c src/gsnorop.c src/gdevmrop.h src/gxfillsl.h src/zcolor3.c src/ttload.h src/tttype.h src/gxcpath.c doc/Unix-lpr.htm src/gxcpath.h src/gdevlxm.c src/gxp1impl.h src/rinkj/rinkj-epson870.c src/rinkj/rinkj-epson870.h src/gxgetbit.h src/gdevabuf.c doc/Source.htm src/md5.c src/gp_mac.c src/gdevsgi.c src/zcie.c src/md5.h src/gdevsco.c src/gp_mac.h src/stream.c src/gdevsgi.h src/gdevdflt.c src/stream.h src/gsdpnext.h src/gdev8510.c src/gxstroke.c src/gdevpxut.c src/zmisc2.c src/ttmisc.h src/zfunc3.c src/iparam.c src/zrelbit.c src/gdevpxut.h src/gxclist.c src/gdevxini.c src/iparam.h src/gxclist.h src/jbig2.mak src/gdevpsfu.c src/gdevlp8k.c src/gdevpdt.c src/ttfmemd.c src/gdevpdt.h src/gp_dosfs.c src/ttfmemd.h src/gpcheck.h src/jasper.mak src/ztype.c src/dwuninst.cpp src/gdevxxf.c src/shc.c src/zshade.c doc/Use.htm src/opcheck.h src/shc.h src/gdevpdfd.c src/gdevcfax.c src/zicc.c src/vdtrace.c src/gxdda.h src/iscan.c src/vdtrace.h src/iscan.h src/gsnotify.c src/gximage3.c src/srle.c src/gsnotify.h src/zfilterx.c src/gsdll2.rc src/gximage3.h src/iparray.h src/memory_.h src/gsuid.h src/gdevstc2.c src/ziodev2.c src/gsiodevs.c src/zmisc.c src/gsargs.c src/devs.mak src/gp_win32.c src/gsargs.h src/gsinit.c src/gxttfb.c src/wmin.mak src/gxttfb.h src/dscparse.c src/winplat.mak src/gdev3852.c src/dscparse.h src/gp_getnv.c src/gp_wgetv.c src/gdevpxen.h src/gdevadmp.c src/gdevpxat.h src/zchar2.c src/errno_.h src/slzwc.c src/gdevpdfu.c src/ttcommon.h src/gdevp14.c src/dwinst.h doc/Ps2ps2.htm src/sfilter.h src/gdevp14.h src/ifcid.h src/sisparam.h src/ifont.h src/zfmd5.c src/unixlink.mak doc/Psfiles.htm src/zrop.c src/gdevegaa.asm src/zfjpx.c src/gspaint.c src/gspaint.h src/sa85x.h src/gsalpha.c src/int.mak src/gsalpha.h src/icremap.h src/imainarg.c src/gp_dvx.c src/imainarg.h src/spprint.c src/gxcldev.h src/zbfont.c src/unix-gcc.mak src/spprint.h src/igstate.h src/unistd_.h src/version.mak src/dwtext.c src/sbwbs.c src/gxdevmem.h src/icharout.h src/gdevstc4.c src/dwtext.h src/sbwbs.h src/szlibd.c src/gdevpccm.c src/gdevdfax.c src/gdevdbit.c src/gdevpccm.h src/strimpl.h src/gsutil.c src/opextern.h src/gsutil.h src/zimage.c src/gdevcgm.c src/gdevtsep.c src/gsfont0c.c doc/Deprecated.htm src/gsht1.c src/gspcolor.c src/gxi12bit.c src/gsht1.h src/iddstack.h src/rinkj/rinkj-config.c src/gspcolor.h src/zfjbig2.c src/std.h src/rinkj/rinkj-config.h src/gdevs3ga.c src/slzwe.c src/scfdtab.c src/gscolor.c src/stdint_.h src/ztoken.c src/gxpaint.c src/seexec.c src/zchar32.c src/gdevm56.c src/gscolor.h src/icid.h src/spsdf.c src/gxpaint.h src/gsfname.c src/spsdf.h src/gsfname.h src/gxalpha.h src/md5main.c src/srlx.h src/gxclipsr.h src/gdevmac.c src/idisp.c src/jpeg.mak src/gdevmac.h src/idisp.h src/idstack.c src/gdevrinkj.c src/idstack.h src/gdevwdib.c src/gxoprect.c doc/Copying.htm src/gdevsunr.c src/gdevpdtc.c src/gxoprect.h src/gsfcmap1.c src/gswts.c src/gsstate.c src/gswts.h src/ichar1.h src/gxiparam.h src/gsstate.h src/gdevcljc.c doc/Ps2pdf.htm src/iscanbin.c src/gdevmiff.c src/iscanbin.h src/gp_mshdl.c src/zfcid.c src/zfont.c src/unixinst.mak src/iminst.h src/zarray.c src/gxdevcli.h src/fcntl_.h src/gdevpe.c doc/Humor.htm src/zdfilter.c src/write_t2.c src/zdps1.c src/write_t2.h doc/Commprod.htm src/zhsb.c src/gxsync.c src/zupath.c src/dstack.h src/gsccolor.h src/gxsync.h src/gdevpdtt.c src/gdevpbm.c src/gdevpdtt.h src/gdevmrun.c src/gsdllwin.h src/gconf.c src/gdevmrun.h src/gconf.h src/sdct.h src/zfbcp.c src/gsipar3x.h src/gzcpath.h src/scfetab.c src/gxstate.h src/gdevpcl.c src/gdevcmap.c src/zht2.c src/gxfmap.h src/gdevpdfj.c src/zfarc4.c src/gdevpcl.h src/ichar.h src/gdevcmap.h src/zht2.h src/gdevwprn.c src/gxpdash.c src/ztrap.c src/gxlum.h doc/Drivers.htm src/gdevpdte.c src/gdevdevn.c src/gsgcache.c src/gdevdevn.h src/gsgcache.h src/gsptype1.c src/gxclbits.c src/zfcid0.c src/gsptype1.h src/macos_classic_d_pre.h src/zgstate.c src/zfontenum.c src/ctype_.h src/inouparm.c src/rinkj/rinkj-screen-eb.c src/slzwx.h src/gstype1.c src/gxdhtres.h src/gdevmpla.c src/rinkj/rinkj-screen-eb.h doc/Testing.htm src/gstype1.h src/dwmain.rc src/gxcspace.h src/gdevmpla.h src/rinkj/evenbetter-rll.c src/watclib.mak src/rinkj/evenbetter-rll.h src/gxfcache.h src/gxclzlib.c src/istack.c src/zfont0.c src/gstparam.h src/istack.h src/gdevevga.c src/gdevhit.c src/gxclimag.c src/gsdfilt.c src/gxfillts.h src/gsdfilt.h src/gxht.c src/gxdcconv.c src/gdevpsdp.c src/gxcht.c src/openvms.mak src/gdevxalt.c src/gdevclj.c src/gxht.h src/gxdcconv.h src/zvmem2.c src/gdevpdtv.c src/contrib.mak src/rinkj/rinkj-device.c src/gdevpdtv.h src/lwf_jp2.mak src/gxclpage.c src/gsiparm3.h src/gxfont1.h src/rinkj/rinkj-device.h src/icontext.c src/gsdllos2.h src/gxclpage.h src/zstring.c src/icontext.h src/unix-aux.mak src/gzspotan.c src/zfont32.c src/ttfoutl.h src/gxclip2.c src/szlibxx.h src/gdevdrop.c src/gzspotan.h src/gxclip2.h src/scfd.c src/cfonts.mak src/gxiclass.h src/gdevcgml.c src/gdevcgml.h src/gdevpx.c src/windows_.h src/gdevl256.c doc/DLL.htm src/igcref.c src/zcharx.c src/gxtype1.c src/gxtype1.h src/gdevcp50.c src/idictdef.h src/gsmemret.c src/gxclip.c src/gsmemret.h src/sfilter1.c src/iname.c src/sddparam.c src/gxclip.h src/zmedia2.c src/iname.h src/gs.mak src/gxpcmap.c doc/News.htm src/gp_msdll.c src/gxcid.h src/gdevnfwd.c src/macos-mcp.mak src/ttobjs.c doc/History1.htm src/zcontrol.c src/ttobjs.h src/icclib.mak src/gsfcmap.c src/zfont2.c src/iimage2.h src/gxrplane.h src/gsfcmap.h src/gxp1fill.c src/imemory.h src/gsciemap.c src/dos_.h src/zdscpars.c src/gscdef.c src/gdevwpr2.c src/gxtmap.h src/gsbitcom.c src/zchar.c src/gdevsun.c src/gscrypt1.c doc/Fonts.htm src/gscrypt1.h src/ztrans.c src/dwmainc.c src/gxdht.h src/dvx-head.mak src/zcsindex.c src/zcidtest.c src/gdevrops.c src/gdevpdtx.h src/gdevijs.c src/icolor.h src/stdpn.h src/store.h src/gxfixed.h src/gstypes.h src/gsserial.c src/string_.h src/gdevcslw.c src/gsjmorec.h src/gsserial.h src/zfdctd.c src/zdps.c src/gxpcache.h src/scanchar.h src/lib.mak src/gdevdsp.c src/zmatrix.c src/sdctc.c src/gdevdsp.h src/gdevpipe.c src/gspmdrv.rc src/gdevsvga.c src/gdevpdti.c src/gdevsvga.h src/gdevpdti.h src/gdevepsn.c src/gsparam2.c src/gp_mktmp.c src/stat_.h src/zfsample.c src/zfdecode.c src/gsstruct.h src/gximag3x.c src/gsgc.h src/gscolor1.c src/gsnamecl.c src/dwtrace.c src/gdevmswn.c src/ierrors.h src/gxfcmap.h src/gdevjpeg.c src/gximag3x.h src/siinterp.c src/gscolor1.h src/gsnamecl.h src/dwtrace.h src/gdevmswn.h src/gdevbbox.c src/siinterp.h src/opdef.h src/gdevbbox.h src/iddict.h doc/History2.htm src/gp_stdin.c src/gdevtfax.c src/gdevpjet.c src/gendev.c src/gsexit.h src/gdevphex.c src/gp.h src/gslparam.h src/ivmspace.h src/gdevtfax.h src/gshtscr.c src/bench.c src/gsnogc.c src/gdevbmpa.c src/gsnogc.h src/stdio_.h src/tttables.h src/gdevemap.c src/gp_sysv.c src/gsrefct.h src/iastruct.h src/gdevbjc.h src/gdevpsf2.c src/gzht.h doc/Develop.htm src/gxcvalue.h src/sstring.c src/gxpath.c src/scfparam.c src/iconf.c src/gdevupd.c src/sstring.h src/gxpath.h src/interp.c src/zcrd.c src/iconf.h src/dwnodll.c doc/C-style.htm src/dwdll.c src/interp.h src/gdevm40.c src/dwdll.h src/gsiodisk.c src/sjpegd.c src/gspath2.h src/gdevpsim.c src/dvx-tail.mak src/errors.h src/gp_msprn.c src/gxino12b.c src/gdevmgr.c src/gdevpdfp.c src/gxacpath.c src/gslib.c src/ziodev.c src/gdevmgr.h src/iccinit0.c src/sdcte.c doc/Release.htm src/gxccache.c src/gslib.h src/ifont1.h src/zfunc0.c src/gxmatrix.h src/ifunc.h src/gxfdrop.c src/gp_unifs.c src/gxobj.h src/gxfdrop.h src/gxhintn.c src/gsiorom.c src/isstate.h src/gdevm2.c src/gxhintn.h src/gsiorom.h src/ifilter2.h src/gdevwddb.c src/gspath.c src/gxpcopy.c src/gscolor3.c src/gspath.h src/gdevdjet.c src/gscolor3.h src/rinkj/rinkj-dither.c src/zpath1.c doc/History3.htm src/gdevm24.c src/gp_unix.c src/rinkj/rinkj-dither.h src/inamedef.h src/ilocate.c src/gxdcolor.c src/gdevpm.c src/gscdefs.h src/vmsmath.h src/gscencs.c src/gxdcolor.h src/gzstate.h src/gdevbmpc.c src/gdevpm.h src/gschar0.c src/iht.h src/zdevice.c src/gscie.c src/gscencs.h src/ifapi.h src/gxi16bit.c src/zimage2.c src/gscie.h src/iastate.h src/pipe_.h src/gxbitops.h src/ipacked.h src/gpsync.h src/gsfunc3.c src/gdevperm.c src/gswin.rc src/gsccode.h src/gxpath2.c src/gsfunc3.h src/gp_strdl.c src/gxdevbuf.h src/genconf.c src/sa85d.c src/gscsel.h src/sa85d.h src/openvms.mmk src/zcolor2.c src/gp_stdia.c src/gdev3b1.c src/gxttf.h src/ttconf.h src/genht.c src/zgeneric.c src/gxarith.h src/gxclrect.c src/gsshade.c src/gsshade.h src/msvclib.mak src/gsicc.c src/zcid.c src/dwsetup.cpp src/gdevp2up.c src/gsicc.h src/dwuninst.rc src/gdevpdfr.c src/gdevppla.c src/zmisc1.c src/gsdevmem.c src/gdevppla.h src/wccommon.mak src/gxfcopy.c src/gdevpsft.c src/gxfcopy.h src/gsmisc.c src/gdevtfnx.c src/gdevm4.c src/gxicolor.c src/ldf_jb2.mak src/gxpageq.c src/winint.mak src/gsdparam.c doc/Make.htm doc/Details8.htm src/gxpageq.h src/gxdevrop.h src/gsstype.h src/gdevprn.c src/gdevcif.c src/gxdevndi.c doc/History4.htm src/gdevprn.h src/gxdevndi.h src/iesdata.h src/dxmain.c src/gdevpdfc.c src/iapi.c src/spngpx.h src/btoken.h src/gdevherc.c src/gdevpdfc.h src/iapi.h src/zcharout.c src/gdevepsc.c src/gxdevice.h src/gximage2.c src/srld.c src/zht.c src/gxshade4.c src/sjpx_luratech.c src/gxshade4.h src/iinit.c src/watcw32.mak src/gdevstc1.c src/gxbitmap.h src/sjpx_luratech.h src/gxccman.c src/iinit.h src/gsalphac.c src/gxshade.c src/sbtx.h src/zfunc.c src/gsclipsr.c src/gsalphac.h src/gxshade.h src/gsrop.c src/gsclipsr.h src/idict.c src/gxistate.h src/gsrop.h src/gscoord.c src/idict.h src/macos_carbon_d_pre.h src/gxcolor2.h src/gscoord.h src/genarch.c src/gscedata.c doc/Projects.htm src/gxcindex.h src/gscpm.h src/gscedata.h src/gp_nsync.c src/gdevdgbr.c src/gdevmr2n.c src/gdevdsha.c src/zlib.mak src/gdevxcf.c src/gxtext.h src/zchar1.c src/gscdevn.c src/gscdevn.h src/gdevpdft.c src/gdevpsdi.c src/shcgen.c src/gsiparam.h src/zmisc3.c src/zfapi.c src/zfunc4.c src/malloc_.h src/shcgen.h src/gscpixel.c src/gscpixel.h src/gdevplnx.c src/dirent_.h src/gdevplnx.h src/zfzlib.c src/Makefile.in src/gscsepr.c src/iutil2.c doc/History5.htm src/gscsepr.h src/gxwts.c src/ipcolor.h src/gsimage.c src/sjpeg.h src/iutil2.h src/gstext.c src/gxwts.h src/gsimage.h src/msvccmd.mak src/gstext.h src/gdevpdfe.c src/rinkj/rinkj-byte-stream.c src/gsflip.c src/rinkj/rinkj-byte-stream.h src/gsflip.h src/gdevdljm.c src/zdpnext.c src/geninit.c src/gdevdljm.h src/zusparam.c src/gxchrout.c src/gximage4.c src/gxchrout.h src/gxshade6.c src/gxcoord.h src/gdevpdf.c src/macosx.mak src/tttypes.h src/zpacked.c src/gdevstc3.c src/gsparamx.c src/gp_dosfe.c src/iutil.c src/szlibc.c src/gsparamx.h src/gdevpng.c src/iutil.h src/gzpath.h src/sfxstdio.c src/gxcdevn.h src/sjbig2_luratech.c src/gxropc.h src/gxfcid.h src/gxfont.h src/sjbig2_luratech.h src/gdevccr.c src/mkromfs.c src/gslibctx.c src/gdevdcrd.c src/unix-dll.mak src/gslibctx.h src/zbseq.c src/ziodevsc.c src/gdevdcrd.h src/gdevl31s.c src/zfrsd.c src/iosdata.h src/gdevdjtc.c src/gdevmacpictop.h src/gxino16b.c src/gdevpcx.c src/gdevpxop.h src/zfileio.c src/slzwd.c src/gdevpdfv.c src/gxpflat.c src/gxifast.c src/dwimg.c src/fapi_ft.c src/zsysvm.c src/gsimpath.c src/dwimg.h src/gdevx.c src/gsmemlok.c src/gsos2.rc src/gximage.c src/gdevx.h src/gsmemlok.h src/ziodevs.c src/unixansi.mak src/gdevpsfx.c src/gximage.h src/gscspace.c src/gdevmacttf.h src/gdevm8.c src/gdevpnga.c src/gscspace.h src/gsropc.c src/gsxfont.h src/ttfsfnt.h src/gsjconf.h src/gsfcid.c src/zstack.c src/gsfont.c src/gsropc.h src/gsfont.h src/isave.c doc/History6.htm src/isave.h src/gdevm64.c src/zdict.c src/gxfrac.h src/gx.h src/iccfont.c src/gdevpdfg.c src/png_.h src/gdevps.c src/gxcllzw.c src/gdevpdfg.h src/gxhttile.h doc/API.htm src/gdevpdtb.c src/gsdps1.c src/time_.h src/gdevpdtb.h src/ttfinp.c src/gshsb.c src/pcwin.mak src/vms_x_fix.h src/ziodevst.c src/smtf.c src/ttfinp.h src/x_.h src/gdevtifs.c src/gshsb.h src/smtf.h src/gdevtifs.h src/gximono.c src/fapiufst.c src/szlibe.c src/gxctable.c src/main.h src/gp_vms.c src/gp_iwatc.c src/ugcclib.mak src/gxctable.h src/gdev8bcm.c src/dwsetup.h src/gp_os9.c src/gdevbj10.c src/gxclipm.c src/gdev8bcm.h src/zpaint.c src/stdpre.h src/iplugin.c src/gxclipm.h src/gsgdata.c]
2006-03-12T20:26:06.745233Z leonardo
Fix : gx_path_merge_contacting_contours incorrectly released path segments. DETAILS : Bug 688591 "Garbager problem with -r72 ppmraw S2_Digitalproof-Forum_x3k.pdf". Path segments are always allocated in stable memory. EXPECTED DIFFERENCES : None.[src/gxpcopy.c]
2006-03-12T06:28:39.018444Z Ralph Giles
Set the executable property on the new search script.[toolbin/search-svn-revs]
2006-03-12T02:47:35.883320Z Ray Johnston
Add a bash script to search for the first svn rev. that succeeds. Binary search is used to decide which rev to try next. DETAILS: There is a 'usage' if no parameters are given. If Ghostscript exits with a non-zero exit code, then the 'test' operand is not needed. For example, if rev. 6170 corresponds to 8.53, and the current HEAD is 6647, then the following will find the first revision which succeeds (6579): search-svn-revs 6170 6647 'bin/gs -dBATCH -dNODISPLAY -dNOPAUSE -q coloraerial.pdf' The gs output is captured in 'test.log' so that output can be examined (for instance using 'grep') for status conditions where the gs exit code is not useful. Note that if this is run on casper, where the svn repository is local, then changing the "svn co ..." line to from "svn+ssh://svn.ghostscript.com/" to "file:///" will perform the checkout more quickly. There is a guess made for GS_LIB which is concatenated to the previous definition (if any), to ./lib:/home/regression/fonts which also works on casper or peeves.[toolbin/search-svn-revs]
2006-03-10T16:20:52.667102Z leonardo
Fix : Shading fill applied a wrong path adjustment. DETAILS : Bug 688568 "Shading fill applies a wrong path adjustment". See also the log message of the patch http://ghostscript.com/pipermail/gs-cvs/2006-February/006379.html 1. Removes the OLD_CODE_COMPATIBILITY flag. 2. An indeterministic bug while computing fill adjustment when gx_cpath_intersect_with_params is called (indirectly) from gs_shfill. 3. gs_shfill didn't apply fill adjustment. EXPECTED DIFFERENCES : "464-01-fixed.ps" "gradmesh.ai" "S2_Digitalproof-Forum_x3k.pdf" "shading_prob_800.ps" "SmoothShading.pdf" "STEUER-RollingMesh 1(linear).ai" "STEUER-RollingMesh 2(radial).ai" "Testform.v1.0.2.pdf"[src/gxcpath.c src/gxfill.c src/gscolor3.c]
2006-03-10T08:27:48.551311Z leonardo
pdfwrite : A simplified implementation for ColorConversionStrategy, continued 4. DETAILS : Fixing a crash with imagemask. EXPECTED DIFFERENCES : None.[src/gdevpdfi.c]
2006-03-09T23:15:58.290889Z Dan Coby
Add a description of the files which were added for the 'named color' callback.[doc/Develop.htm]
2006-03-09T22:59:58.579801Z Dan Coby
Set the Id keyword for the 'named color' files.[src/gsnamecl.h src/gsncdemo.c src/gsnamecl.c]
2006-03-09T22:24:34.708728Z Alex Cherepanov
Add missing initialization to the streams allocated on the stack or in raw memory. Bug 688572 DETAILS: The following code doesn't initialize all the fields in the stream structure. stream s; sread_string(&s, ...); but it initializes enough fields to be mostly working. The bug has been detected by Valgrind. DIFFERENCES: None[src/gdevpdfo.c src/gxfcopy.c src/gdevpdfc.c src/gxshade.c src/gdevpdfu.c src/gdevps.c src/gxclpath.c]
2006-03-09T11:09:19.401813Z leonardo
Fix : Cygwin/gcc warnings. DETAILS : 1. Removed unuseful variable in gstype42.c . 2. The compiler claims an unititialized variable due to its stupidity. Forced an initialization to quiet the misleading warning. EXPECTED DIFFERENCES : None.[src/gxhintn.c src/gstype42.c]
2006-03-09T11:05:49.196378Z leonardo
pdfwrite : A simplified implementation for ColorConversionStrategy, continued 3. DETAILS : 1. is_pattern2_allowed_in_stradegy was underimplemented. 2. Fixed the spelling in "stradegy". EXPECTED DIFFERENCES : None.[src/gdevpdfg.c]
2006-03-09T10:54:46.558875Z leonardo
pdfwrite : A simplified implementation for ColorConversionStrategy, continued 2. DETAILS : This implements color conversion for images. 1. make_device_color_space is factored out from psdf_setup_image_colors_filter, because the substituted color spase is needed for pdf_begin_write_image, which works before installing the image colors filter. 2. In pdf_begin_typed_image the new variables pcs_device and pcs_orig provide a right logics for the color space substitution. EXPECTED DIFFERENCES : None.[doc/Ps2pdf.htm src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]
2006-03-09T02:18:37.723914Z Alex Cherepanov
Work around an internal compiler error C1001 in MSVC 7.1.3088. Split expressionss with multiple type conversions into 2 expressions. Bug 688579 DIFFERENCES: None[src/gdevpdfe.c]
2006-03-08T08:06:00.462700Z leonardo
Fix : MSVC8 warnings. DETAILS : Type cast. EXPECTED DIFFERENCES : None.[src/imain.c src/zfile.c]
2006-03-08T01:15:50.548475Z Ralph Giles
Fix filename lookup in the %rom% device to match the lenth of the requested path, not just a common start.[src/gsiorom.c]
2006-03-08T00:21:56.952083Z Ralph Giles
Fix the unix install to include Fontmap.GS. This was the cause of 688567. DETAILS: The mkromfs utility uses the passed paths as templates for file enumeration, so EXTRA_INIT_FILES was added containing only 'Fontmap' and 'FAPI' as a shorthand for the collections "Fontmap*" and "FAPI*". However, this variable is also used in unixinst.mak as a literal list of files to install, and so only 'Fontmap' was actually being installed. This fix remains confusing, but in practice handles the install.[src/int.mak src/unixinst.mak]
2006-03-07T05:19:23.913236Z Ray Johnston
Handle yet another PDF that Acrobat Reader accepts silently that does not conform to the specification. In this case the /Subtype is /TrueType but the font is in the /FontFile, not the FontFile2 or FontFile3 stream. Bug #688585 for customer #780. DETAILS: As usual, we issue a descriptive pdfformaterror message complaining about the non-conformance.[lib/pdf_font.ps]
2006-03-06T21:55:46.036109Z Ralph Giles
Calculate the input image stride in the jbig2encode stream init procedure so the caller doesn't have to.[src/sjbig2_luratech.c]
2006-03-06T19:54:28.434131Z Ralph Giles
Fix a problem with CMYK JPXDecode filter image streams. DETAILS: The Luratech jp2 decoder does not return a general image size for CMYK images (this seems to be a bug) or for images with subsampled components. Therefore we use the dimensions of the zeroth component rather than querying the overall image (component -1). When the JPXDecode filter implementation is extended to pass the required Colorspace information from the image dictionary, it should also pass the specified width and height of the image, since this is the actual specification the filter must produce data for.[src/sjpx_luratech.c]
2006-03-05T21:28:16.082867Z Ray Johnston
Move init files on %rom% device to lib directory prefix (%rom%lib/). This prefix is used independent of the host OS. Requested by Ralph and Stefan. The -d destination prefix might be useful for adding other directories from other source directories to explicit locations in the %rom% device.[src/imain.c src/mkromfs.c src/int.mak]
2006-03-02T14:20:22.695510Z Ray Johnston
Increase the MSVC compiler heap size to allow compilation of large initializers for the %rom% device. The current setting worked with all Resource files, 35 PS Type 1 fonts and 17 CJK fonts, the largest of which was the 12.2Mb MOEKai-Regular.[src/msvccmd.mak]
2006-03-01T20:51:32.316771Z Ray Johnston
Fix opening of lib files so that %rom% files can be found. Previous code only worked for default (os) device. Change iccinit1 so that gs_init.ps is opened with .libfile allowing gs_init.ps to be changed even when COMPILE_INITS=1. Remove another vestige of the old 'static resource' approach that is no longer needed by COMPILE_INITS=1. DETAILS: This was a moderate amount of surgery, but was functionally extracted from the old lib_fopen_with_libpaths and merged into lib_open_file which now returns a PS file object. The lib_fopen now gets the FILE * pointer from the stream structure for use in processing @ files. Since the -I paths and the environment GS_LIB paths precede the %rom% device (present when COMPILE_INITS=1) it is now eay to supersede the init files, cidfmap, Fontmap, during development or debug, so there is little downside to running COMPILE_INITS=1 other than making the executable bigger (6.6Mb vs 3.3Mb with the current CMaps). Defining the GenericResourceDir string (using -s) on the command line also still works since the PS code in iccinit1.c only sets this if it is not predefined. The upside to having COMPILE_INITS=1 is that the gs executable is fully self contained and does not need to be 'installed'. If we built in the fonts (in the Resource/Fonts directory) then even these aren't needed externally. It might reduce some of the common newbie problems using Ghostscript. Then the executable grows to a healthy 9.9Mb (fonts don't compress hardly at all currently). EXPECTED DIFFERENCES. None.[src/imain.c lib/gs_res.ps src/iccinit1.c src/files.h src/zfile.c]
2006-03-01T19:23:16.175578Z Ray Johnston
Add missing files that were part of %rom% implementation.[doc/Develop.htm]
2006-03-01T02:23:08.031658Z Dan Coby
Clean up for the last commit for 688575. The previous commit had problems with the gcc compiler.[src/gsnamecl.h]
2006-03-01T01:53:29.361859Z Dan Coby
Implement enhancement 688575 Add a cal back mechanism for support of PANTONE or other special spot colors DETAILS: Ghostscript currently does not current have a mechanism for special handling of PANTONE or other special spot colors. Currently all spot colors, in either a DeviceN or a Separation color space, are either processed via the alternate tint transform for the color space, or treated as a separation (as in the tiffsep device). Obtaining the proper appearance of PANTONE or other special sets of spot colors, when custom inks are not available, usually depends upon values which are specific the devices inks, media, etc. This is not usually handled properly by the tint transform function. This enhancement adds a call back mechanism to allow custom processing of DeviceN and Separation color spaces by the calling application. A description of the implementation is present in the comment block at the start of src/gsnamecl.c. An example implementation is provided in src/gsncdemo.c. The example implemenation shows how to interface with the various Ghostscript structures and routines. The example implementation only contains a few demo colors. The entire implemenation is conditionally compiled by a switch called ENABLE_NAMED_COLOR_CALLBACK in src/gsnamecl.h. Currently this switch is set to disable the implementation.[src/lib.mak src/gscspace.h src/gxistate.h src/gsnamecl.h src/gsdparam.c src/gsncdemo.c src/int.mak src/gxdevice.h src/gscsepr.c src/gsnamecl.c src/gscdevn.c src/gxdevcli.h]
2006-02-28T21:52:39.567783Z Ralph Giles
Project the WIN32 assembly from compilation on WIN64.[jasper/src/libjasper/jpc/jpc_qmfb.c]
2006-02-28T21:21:30.311038Z Ralph Giles
Fix a problem with the jasper assembly code. Bug 688545.[jasper/src/libjasper/jpc/jpc_qmfb.c]
2006-02-28T20:51:29.732995Z Ralph Giles
Rough support for a JBIG2 encoder stream using the Luratech implementation.[src/sjbig2_luratech.h src/sjbig2_luratech.c]
2006-02-28T05:45:20.159028Z Ralph Giles
Report error codes returned by the lwf_jp2 library to allow better bug reports.[src/sjpx_luratech.c]
2006-02-28T01:17:35.281917Z Ray Johnston
Remove deprecated module. No longer used for MS Windows.[src/gp_msio.c]
2006-02-27T21:15:43.124755Z Ralph Giles
Output more debugging information with -Zw instead of switching on the special JBIG2_DEBUG preprocessor symbol.[src/sjbig2.c src/sjbig2_luratech.c]
2006-02-24T21:07:18.367421Z leonardo
Fix : A slow rendering of a colored halftone (2nd attempt). DETAILS : Bug 688537 "A very slow rendering to spotcmyk". The first attempt caused a regression with pkmraw and has been undone. This patch accounts pkmraw effects, which are explained below as "Auxiliary changes". This patch creates a special branch in gx_default_fill_path for filling a path with a colored halftone. It installs a clipper device and then renders a rectangle through it, using the halftone color painting method immediately. Auxiliary changes : The new branch in gx_default_fill_path calls gx_cpath_intersect for intersecting the filling path with the clipping path. The latter calls gx_default_fill_path again for converting a path into a rectangular clip list. Now we pass the fill adjastment parameters of the main gx_default_fill_path invocation to the inner invocation. Doing so because we need the intersection to be closer to what the regular algorithm fills. The new function gx_cpath_intersect_with_params works for that. Particularly it causes dropout prevention to work for clipping, when a character is filled with a halftone. The clip list accumulator device now sets gx_device::memory to a real memory manager. Before now it was NULL. The new code uses it to allocate working data for the dropout prevention code. Besides that, gx_cpath_intersect_with_params now applies fill adjustment in the special branch for a rectangular path intersection. The flag OLD_CODE_COMPATIBILITY minimizes raster differences for easier testing. It should be removed later, because we believe that the old code is not perfect : it doesn't pass fill adjustment through gx_cpath_intersect while filling with a shading color. EXPECTED DIFFERENCES : None.[src/lib.mak src/gxcpath.c src/gxacpath.c src/gxpath.h src/gxfill.c src/gzacpath.h]
2006-02-24T16:14:12.132166Z leonardo
Type 1 hinter : More improvements (continued 2). DETAILS : An indeterministic bug in the last patch. EXPECTED DIFFERENCES : normal 72 dpi : "Bug687845.ps" "japan.ps" normal 300 dpi : Bug687889.pdf pdfwrite 72 dpi : "Bug687603.ps" "Bug687845.ps" "Bug687889.pdf" "japan.ps" "NECPNTD.pdf" pdfwrite 300 dpi : "Bug687698.ps" "Bug687889.pdf" "japan.ps"[src/gxhintn.c]
2006-02-23T17:27:22.487919Z Ray Johnston
FIx output format handling for -sOutputFile string. Thanks to Gh Savulescu for the detailed analysis and patch. Bug 687621 for customers 670 and 770. --This line, and th se below, will be ignored-- M src/gsdevice.c M src/gdevupd.c M doc/Use.htm[src/gdevupd.c doc/Use.htm src/gsdevice.c]
2006-02-23T07:18:29.475220Z Dan Coby
Fix for 688551 Need to process transparency in annot appearance streams. DETAILS: The fix involves 2 pieces. 1. Add logic to pageusestransparency to detect if transparency is used inside of an annotation. As part of this effort, the logic for detecting the use of transparency inside of an ExtGState dict was separated into a separate procedure. 2. Move the drawing of annotations was moved into showpagecontents. This was done since there so that the draw annotation logic is inside of the push/pop pdf 1.4 transparency device logic.[lib/pdf_main.ps]
2006-02-23T01:02:15.987199Z Ray Johnston
Remove module that is no longer used by newer COMPILE_INITS method.[lib/gs_stres.ps]
2006-02-22T23:47:17.158224Z leonardo
Fix (gxfill) : Unwinding the revision 5699 change due to regressions. DETAILS : The patch http://ghostscript.com/pipermail/gs-cvs/2006-February/006361.html caused regressions with pkmraw -r72 154-01.ps in http://ghostscript.com/pipermail/gs-regression/2006-February/001856.html This reopens the bug Bug 688537 "A very slow rendering to spotcmyk". Note that another change was applied to gxfill.c between 5699 and now. EXPECTED DIFFERENCES : Should fix 2006-02-22 regressions.[src/gxfill.c]
2006-02-22T21:28:01.105887Z Ralph Giles
Document in the generated gsromfs.c which target endianness the file was built from, to make it easier to track down the source of non- portability.[src/mkromfs.c src/int.mak]
2006-02-22T19:28:07.197474Z Ray Johnston
Fix mkromfs to generate 32-bit big_endian values in memory, not native byte ordering. Corresponding change in gsiorom.c to always read big_endian 32-bit values.[src/mkromfs.c src/gsiorom.c]
2006-02-22T18:01:07.387840Z leonardo
Fix (gxfill) : The scanline algorithm could miss a spot boundary. DETAILS : Bug 688558 "Incorrect filled path rendering with .2 setflat". 1. merge_ranges wrongly computed the curve end point when the curve is scanned in the backward direction in gxfill.c (the real bug). 2. Propagates error code from step_al in gxfillsl.h (a minor fix). 3. Fixes a typoe in a comment in gxpflat.c . EXPECTED DIFFERENCES : None.[src/gxfill.c src/gxpflat.c src/gxfillsl.h]
2006-02-22T12:59:54.243717Z leonardo
Fix : An MSVC warning and C style in a recent patch. EXPECTED DIFFERENCES : None.[src/imain.c]
2006-02-22T12:10:10.472356Z leonardo
Type 1 hinter : More improvements (continued 2). DETAILS : Define PRESERVE_STEM_SLANT for easier experimenting with the "preserve stem slant" feature. See comment in code. This change is algorithmically equivalent. EXPECTED DIFFERENCES : None.[src/gxhintn.c]
2006-02-22T07:28:25.271395Z Ray Johnston
Remove CWD_PREFIX from makefiles -- mkromfs file list is reordered. Add the %rom% device to the LIBPATH list in imain.c so that .libfile works. Also export print_resource_usage for use in non-debug builds. Thanks to Ralph Giles for the suggestions.[src/openvms.mak src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/bcwin32.mak src/imain.c src/ugcclib.mak src/Makefile.in src/unix-gcc.mak src/msvc32.mak src/iccinit1.c src/macos-mcp.mak src/watclib.mak]
2006-02-22T04:53:42.526904Z Ralph Giles
Document the pexit_code and user_errors arguments to gsapi_run_string*() and provide an example for how to parse a PDF file from inside the interpreter. Bug 688549.[doc/API.htm]
2006-02-22T01:41:23.102136Z Ralph Giles
Remove the redundant Fixed type from the internal freetype code and replace uses of it with the TT_Fixed type. The un-namespaced version conflicts with system headers on MacOS.[src/ttfsfnt.h src/tttypes.h src/ttfmain.c]
2006-02-22T01:38:35.156952Z Ralph Giles
Use the uint32_t stdint type for the compiled initialization data representation. The previous code used 'unsigned long' but assumed this type was 32 bits, which isn't true on all platforms.[src/mkromfs.c src/gsiorom.c src/gsiorom.h]
2006-02-21T22:24:25.799346Z Ray Johnston
Fix missing declaration on Windows platforms.[src/mkromfs.c]
2006-02-21T22:01:15.379976Z Ray Johnston
Add a missing file from the commits for rev 6600. This was a new file that was not 'added' before that commit.[src/gsiorom.h]
2006-02-21T21:29:07.026481Z Ray Johnston
Implement %rom% IODevice and use it for the COMPILE_INITS=1 builds. Data is compressed and can include fonts as well as lib init files, Resource directories and other. The (%rom%) path is inserted as the first path on the LIBPATH list when COMPILE_INITS=1. The default GenricResourceDir is set to %rom%Resource/ unless the command line sets -sGenericReourceDir. Bug 687485. DETAILS: See gsiorom.* and mkromfs.c for details of the %rom% structure. The inital implementation creates a string buffer for the entire file (block by block) decompression is not yet implemented (a new stream type). The %rom% IODevice is not PostScript specific so it could be used by non PS interpreters (GhostPCL) but the creation of gsromfs.c by mkromfs needs to be performed elsewhere (hint in src/lib.mak). NOTES: Tested on unix and Windows. Mac, OS/2 and VMS will need attention as will non-MSVC tool chains. Since this replaces the old COMPILE_INIT method don't use COMPILE_INTIS=1 on those platforms unless you are working on fixing problems or just feel lucky. The insertion of the %rom% device as the first path in the LIBPATH list will make changing initfiles during debug more cumbersome, but using COMPILE_INITS=1 is really not intended for debugging or development anyway. EXPECTED DIFFERENCES: None. (we don't build with COMPILE_INITS).[src/openvms.mak src/mkromfs.c src/gsiorom.c src/macosx.mak src/int.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/lib.mak src/bcwin32.mak lib/winmaps.ps src/ugcclib.mak src/gs.mak src/Makefile.in src/iccinit1.c src/msvc32.mak src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/unixinst.mak src/msvctail.mak src/watclib.mak lib/gs_init.ps]
2006-02-21T13:43:42.400991Z leonardo
Fix : A slow rendering of a colored halftone. DETAILS : Bug 688537 "A very slow rendering to spotcmyk". This patch creates a special branch for filling a path with a colored halftone. It installs a clipper device and then renders a rectangle through it, using the halftone color painting method immediately. We're not sure, which color types should go through this branch. Passing it to our color specialist for review. Also we're not sure how to get test cases for this branch. EXPECTED DIFFERENCES : None.[src/gxfill.c]
2006-02-21T13:31:27.980844Z leonardo
Fix (shadings) : Save C stack space with removing rudimentary data. DETAILS : As a rudiment of the old shading algorithm, mesh_fill_state_common defined a big data field, which was placed on C stack and vever accessed. EXPECTED DIFFERENCES : None.[src/gxshade4.h]
2006-02-21T12:54:34.181498Z Alex Cherepanov
Repair incorrect ToUnicode CMap streams that have no CMapName key. Bug 688517 DETAILS: Ghostscript has been writing incorrect ToUnicode CMap without CMapName into the PDF since version 8.10 (rev. 3611) . This bug is fixed in version 8.54 (rev. 6201). DIFFERENCES: None[lib/pdf_font.ps doc/Ps2pdf.htm]
2006-02-21T12:42:26.666806Z leonardo
Type 1 hinter : More improvements (continued). DETAILS : 1. Adjusts t1_hint_range::end_pole if it refers an offcurve pole. 2. Regularizes the hint range adjustment logics (an algorithmically equivalent change). 3. The new function t1_hinter_fix_missed_flex works when a glyph doesn't define flex hints. Particularly it works for True Type fonts. It recognizes low curvity boundaries of a flex-like shape and size, and replaces them with a straight segment. See comments in code. Bug 688552 "A poor grid fitting when a flex hint is missing.". 4. When t1_hinter_fix_missed_flex works, we adjust those stem hint coordinates, which point to poles of a flex being unbended. For more information see comment in t1_hinter__adjust_stem_hints_by_missed_flex. 4. Improves the logic for obtaining a vdtrace device context in gzspotan.c . 5. t1_hinter__align_stem_poles summarizes alignment from all hint ranges. The old code does not do by a mistake. 6. t1_hinter__align_stem_poles now prefers hints, which have both sides applied. 7. The alignment at the stem middle is now applied only to stems, which are strongly vertical or horizontal in the design space. See comment in t1_hinter__find_stem_middle. EXPECTED DIFFERENCES : Massive : 97 of 484 comparefiles.[src/gxhintn.c src/gxhintn.h src/gzspotan.c]
2006-02-20T07:30:32.227346Z Dan Coby
Addition to the fix for 688177 Eliminate the 64 bit pixel size limit. DETAILS: A one line change was missed in the previous commit for this fix. Without this change, the maximum numbers of is 16.[src/gxcindex.h]
2006-02-18T18:37:24.764551Z Ray Johnston
Implement yet another hack for an invalid PDF file that Adobe handles. If a parameter is missing from the Page tree, check the Root Catalog. This case had MediaBox in the Root dict, but not anywhere in the Pages tree. Bug 688562 for customer 670. DETAILS: MicroPatent probably misinterprets the spec where it mentions "For example, a document might specify the same media box for all of its pages by including a MediaBox entry in the root node of the page tree." thinking that the Root Catalog is the Root of the Page tree, rather than the /Pages object from the Root. As is usual, I issue a pdfformaterror Warning when this is detected. EXPECTED DIFFERENCES: None.[lib/pdf_main.ps]
2006-02-17T20:23:52.826051Z Ralph Giles
Update the eventone screening url. artofcode.com has been taking by spammners.[src/rinkj/evenbetter-rll.c]
2006-02-17T07:12:46.743338Z Dan Coby
Fix for 688560 DeviceN with InDesign gradient causes segmentation fault. DETAILS: I am unable to reproduce the reported seg fault. This patch fixes the /rangecheck in --.sethalftone5-- The file was specifying a Gray halftone and also specifying the SeparationORder parameter to select only a Cyan colorant. This was creating confusion in the halftone install logic. The rangecheck was being generated when the Gray halftone was being confused as a second Default halftone. The fix consists of adding a check for the situation in which the device indicates that a color is supported by the device but not being used because of the SeparationOrder parameter. Note: There was already one check in the procedure for this situation but a second check is needed to handle the 'treat gray like black' etc. cases.[src/gsht.c]
2006-02-17T04:10:07.505527Z Alex Cherepanov
Fix recognition of executable names "if" and "ifelse" as valid operations in the calculator function. Bug 688547. DIFFERENCED: None[src/zfunc4.c]
2006-02-16T19:53:28.400151Z leonardo
Fix (pdfwrite) : Propagate error code from s_DCTE_put_params (continued). DETAILS : Remove an obsolete comment. EXPECTED DIFFERENCES : None.[src/gdevpsdu.c]
2006-02-15T07:33:41.943841Z Ralph Giles
Enable $Id keyword substitution on the new luratech integration source files.[src/sjbig2_luratech.h src/sjpx_luratech.h src/sjbig2_luratech.c src/ldf_jb2.mak src/lwf_jp2.mak src/sjpx_luratech.c]
2006-02-15T07:30:40.721233Z Ralph Giles
Update the "RCS" keyword check script to recognize SVN style as well as CVS style Id keyword lines. Bug 688554.[toolbin/tests/check_source.py]
2006-02-15T07:26:26.954211Z Ralph Giles
Turn on keyword substitution. This is confusing, since the script also outputs a $Id: Details8.htm 6778 2006-05-17 19:38:55Z giles $ line for the makefile it generates, but doesn't cause problems in practice.[toolbin/gen_ldf_jb2.py]
2006-02-13T20:28:55.328420Z leonardo
Type 1 hinter : Remove dead development branches. DETAILS : This change is syntactically equivalent. EXPECTED DIFFERENCES : None.[src/gxhintn.c src/gxhintn.h]
2006-02-13T00:05:28.577164Z leonardo
Type 1 hinter : More improvements. DETAILS : 1. Account StemShapH, StemShapW according to Adobe Technical Note #5049. The new array stem_snap_vote works for that. 2. Pixel size was wrongly computed with anisitropic CTM. 3. pixel_ox, pixel_oy were mixed with a transposed glyph. Fully reconsider OPPOSITE_STEM_COORD_BUG_FIX and remove it. 4. t1_hinter__align_stem_commands sometimes started pole enumeration with an off-curve pole. 5. Hint range was wrongly computed for some glyphs. 6. Dotsection didn't work at all. 7. Implements an opposite stem boundary length calculation, and accounts it for resolving alignment conflicts. new fields boundary_length* work for that. 8. Removed t1_hint_range::contour_index because it worked wrongly. Use t1_pole::contour_index instead. 9. A bug in the initialization of max_stem_snap_count : the initial value was too small, causing an extra memory allocated. Bug 687654 "t1_hinter__find_best_standard_width() always returns 0". Bug 688553 "A poor grid fitting when stems conflict". EXPECTED DIFFERENCES : Massive : 343 of 484 comparefiles.[src/gxhintn.c src/gxhintn.h]
2006-02-12T17:08:11.734787Z Ralph Giles
Correct the accidentally changed hardwired install prefix.[toolbin/tests/run_nightly]
2006-02-11T23:45:18.286490Z Ralph Giles
Have the update_ghostscript function return the new SVN revision number and include it at the head of the report for clarity. Also, when the complete report is trimmed from length, indicate so. Bug 688541.[toolbin/tests/run_nightly]
2006-02-11T23:42:25.162459Z Ralph Giles
Also add the regression log file required by run_nightly to the example config file.[toolbin/tests/testing.cfg.example]
2006-02-11T23:15:56.623144Z Ralph Giles
Correct a cut-and-paste error. The get_baselines script was listed under the diff_script key in the example config file.[toolbin/tests/testing.cfg.example]
2006-02-10T14:46:51.888781Z leonardo
Fix (pdfwrite) : Updating the list of standard CMap names. EXPECTED DIFFERENCES : None.[src/gdevpdtc.c]
2006-02-09T23:00:19.858380Z leonardo
Fix (PDF interpreter) : When emulating the text rendering mode 3, don't render the text to the target device. DETAILS : Bug 688534 "Text doubled in produced PDF". The old code executed 'charpath' with the target device just to move current point. It caused too heavy effect to the target device. Replacing with a lighter implementation. Strongly speaking, this patch is not necessary for the bug 688534, because the last patch fixed the undesirable effect for pdfwrite. But we prefer to fix the PDF interpreter to exclude the unpleasant effect for other high level devices in general. EXPECTED DIFFERENCES : None.[lib/pdf_ops.ps]
2006-02-09T23:00:06.441182Z leonardo
Fix (pdfwrite) : Handle charpath with default implementation. DETAILS : Bug 688534 "Text doubled in produced PDF". The old code handled 'charpath' as a high level operation, so that the effect to Postscript interpretation erroneusely appears empty, and the text was erroneusely written to the PDF output. EXPECTED DIFFERENCES : None.[src/gdevpdtt.c]
2006-02-09T18:03:38.118376Z leonardo
Fix (pdfwrite) : Propagate error code from s_DCTE_put_params. DETAILS : Bug 688544 "Error: /ioerror in --image--". The old code erroneusely applied DCT compression to DeviceN colors, causing an ioerror when the number of colorants is greater than 4. EXPECTED DIFFERENCES : None.[src/gdevpsdu.c]
2006-02-09T16:28:53.914553Z leonardo
Fix : Unwinding the change from rev 6573 to 6574 due to a pdfwrite problem. DETAILS : That change caused glyphs to dissapper when rendering a file conferted with pdfwrite. The effect may be indeterministc. As we could figure out, the change causes a wrong length of OS/2 table to be written into embedded True Type fonts. The problem happens when re-distilling 01_001.pdf, 159.pdf. We didn't test all files. Will reopen the bug 688536. EXPECTED DIFFERENCE : If a regression appeares with pdfwrite, it should recover.[src/gxttf.h src/gdevpsft.c]
2006-02-09T15:18:52.242524Z leonardo
pdfwrite : A simplified implementation for ColorConversionStrategy, continued. DETAILS : Bug 687628 "ProcessColorModel /DeviceCMYK does not work". This is a preliminary implementation of ColorConversionStrategy, the values UseDeviceIndependentColor and UseDeviceIndependentColorForImages. It also defines a new Ghostscript-specific value Gray. We don't care about performance due to low demand to this feature. Due to same reason a systematical testing was not done except regression testing with the default value LeaveColorUnchanged. We would appreciate users' help in testing new features. The value UseDeviceIndependentColorForImages actually works as UseDeviceIndependentColor. The old Ghostscript-specific value UseDeviceDependentColor is now depricated. It causes a warning is printed to stderr, and the valuse automaticly substitutes with sRGB, CMYK or Gray depending on ProcessColorModel. See also the documentation change included in the patch. EXPECTED DIFFERENCES : None.[src/gdevpdfp.c doc/Ps2pdf.htm src/gdevpdfc.c src/gdevpdfg.c src/gdevpsdf.h]
2006-02-09T13:16:28.615804Z Alex Cherepanov
Upgrade ttf_OS_2_t structure to support v.2 (96-byte) OS/2 table. Bug 688536. DETAILS: We don't use new fields in the 96-byte structure and continue to create 86-byte structures. The extra space is used as a buffer when we copy the structure intact. DIFFERENCES: None[src/gxttf.h src/gdevpsft.c]
2006-02-09T06:03:12.845053Z Ray Johnston
Clamp bbox rectangle to avoid q
[src/gdevp14.c]
2006-02-08T22:41:30.031403Z Ralph Giles
Remove two source files which in the normal build preprocess to nothing from our makefile. This means we can't buid with JB2_TEST, but the empty modules cause an error on the MSVC build.[src/ldf_jb2.mak]
2006-02-08T22:24:31.339253Z Ralph Giles
Add conditionals to the MSVC makefile to simplify switching between the Luratech and normal builds. With this patch it is sufficient to specify JPX_LIB=luratech and JBIG2_LIB=luratech on the nmake command line.[src/msvc32.mak]
2006-02-08T20:30:10.070290Z Alex Cherepanov
Calculate the last byte of the character code modulo 256 to prevent the final value exceed 256 and cause an rangecheck error. Bug 688535. DETAILS: The overflow and the proposed adjustment can happen only when the last element is 0xFF. The last value of the string is not used but discarded at the end of the loop. So the adjustment has no effect other than suppressing the error with the minimal changes in the existing code. EXPECTED DIFFERENCES: None[lib/pdf_font.ps]
2006-02-08T19:57:10.364799Z leonardo
pdfwrite : A simplified implementation for ColorConversionStrategy values CMYK and sRGB . DETAILS : Bug 687628 "ProcessColorModel /DeviceCMYK does not work". This is a preliminary implementation of ColorConversionStrategy, the values CMYK and sRGB . We don't care about performance due to low demand to this feature. Therefore some objects, which use an incompatible color space, are converted to low level objects. The new parameter values were not systematically tested due to low demand. We would appreciate users' help in testing them. For now the parameter values UseDeviceIndependentColor and UseDeviceIndependentColorForImages work as LeaveColorUnchanged, but the effect of UseDeviceIndependentColor may be obtained with specifying -dUseCIEColor . When specifying CMYK or sRGB, the value of ProcessColorModel must be DeviceCMYK or DeviceRGB cvorrespondingly. The color conversion to sRGB is performed with the default color conversion, which Ghostscript uses to convert to DeviceRGB color model. Therefore color transfer may be imperfect. Conversion to CMYK uses the default conversion also. EXPECTED DIFFERENCES : None.[src/gsptype2.c src/gdevpdfp.c src/gdevpdfc.c src/gsptype2.h src/gdevpdfg.c src/gdevpsdf.h src/gdevpdfg.h]
2006-02-08T16:17:13.078988Z Alex Cherepanov
Removes hexadecimal conversion from the code and pass the encrypted part of the type 1 font to eexec operator intact in all cases. Bug 688385 from customer 1110. DETAILS : The PDF specification states that Type 1 fonts always use binary form of the encrypted part, but some PDF producers embed fonts with hexadecimal encoding unchanged. The standard eexec operator recognizes and decodes them transparently. The only case that is not handled is a binary-encoded file that looks like a hexadecimal encoding to eexec. This case has not been observed in the wild. EXPECTED DIFFERENCES : None[lib/pdf_font.ps]
2006-02-08T13:52:40.832268Z Alex Cherepanov
Consume EOD character in the Hex stream when the stream length is > 0. Bug 688512 from customer 232. DETAILS : This makes our StartData procedure to be compatible with Distiller and CPSI. It is not clear from the TN #5014 whether an empty Hex stream should have an EOD character but Adobe doesn't accept it. For non-empty streams they appear to use an /ASCIIHexDecide filter. Our previous implementation used readhexstring operator, which didn't consume the trailing EOD characters by itself and required special code to move the current file past the EOD. EXPECTED DIFFERENCES : None[lib/gs_cidfn.ps]
2006-02-08T06:26:06.073966Z Ralph Giles
Copy the jasper-1.701.0-gs5 release tag into the Ghostscript trunk.[jasper]
2006-02-08T06:25:15.908588Z Ralph Giles
Remove the current jasper code to make way for the 1.701.0-gs5 release.[jasper]
2006-02-07T12:19:02.250776Z leonardo
Fix (pdfwrite) : 'shfill' doesn't write a shading's Background. DETAILS : Bug 687676 "pdfwrite : shading background can erroneusly appear". 1. pdf_put_shading_common now depends on gs_pattern2_instance_t::shfill. 2. gx_dc_pattern2_save_dc now stores gs_pattern2_instance_t::shfill to allow pdf_reset_color to account it with gx_hld_saved_color_equal. EXPECTED DIFFERENCES : A progression in pdfwrite with hsadings : 464-01-fixed.ps 483-01.ps 483-05-fixed.ps[src/gsptype2.c src/gsdcolor.h src/gdevpdfv.c]