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 -o switch 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: Details.htm 6777 2006-05-17 19:36:16Z 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]

2006-02-06T11:04:12.919537Z leonardo

Fix (pdfwrite) : Allow instandard glyph names when synthesising an Encoding for 'glyphshow'.

DETAILS :

Bug 688017 "ps2pdf problem with CFF fontset resources".

The old code emited 'rangecheck' when glyphshow uses a glyph name,
which doesn't appear in Postscript font Encoding.
It hapens so due to the old code forces standard glyph names,
because other old procedures were restricted with them.
As result, such glyphs converted to rasters.

The modern code is not restricted with standard glyph names,
so we simply pass instandard ones when can't find a standard one.

EXPECTED DIFFERENCES :

Bug688154.ps

[src/gdevpdtt.c]

2006-02-05T14:25:24.143977Z leonardo

Fix  : Removing 'assert' from gxccman.c (continued).

DETAILS :

Add missing braces in the error code propagation introduced in rev. 6555.

EXPECTED DIFFERENCES :

None.

[src/zfont.c]

2006-02-04T03:56:37.709032Z Alex Cherepanov

Following FreeType 2 implementation, ignore incorrect SHC command.
Bug 688501

EXPECTED DIFFERENCES :
None

[src/ttinterp.c]

2006-02-04T00:23:59.520737Z Dan Coby

Fix for 688177 Eliminate the 64 bit pixel size limit.

DETAILS:

This change implements a scheme for compressing colorant values into
a gx_color_index.  For details of the compression scheme, see comments
before the devn_encode_compressed_color in src/gdevdevn.c.  With this
change, a maximum of 64 colorants are supported.

[src/gdevpsd.c src/gdevdflt.c src/gsccolor.h src/gdevtsep.c src/gdevdevn.c src/gsovrc.c doc/Devices.htm src/devs.mak src/gdevdevn.h]

2006-02-03T23:42:57.853736Z Ralph Giles

Correct a typo in the previous commit. jas_dump_image must be protected 
by #ifdef DEBUG to prevent unused variable warnings.

[src/sjpx.c]

2006-02-03T23:30:24.204851Z Ralph Giles

Code cleanup. Remove unused headers and report decoded image parameters 
through -Zw instead of with general or -Zs debug prints.

[src/sjpx.c src/sjbig2_luratech.c src/sjpx_luratech.c]

2006-02-03T15:45:13.779132Z leonardo

Fix  : Removing 'assert' from gxccman.c .

DETAILS :

Doing so by Stefan's and Raph's requests.
Changes to other modules propagate error codes.

EXPECTED DIFFERENCES :

None.

[src/isave.h src/gxfcache.h src/imain.c src/zvmem.c src/gsfont.c src/gxccman.c src/zfont.c src/gsfont.h src/gxccache.c src/isave.c]

2006-02-03T15:40:42.652558Z leonardo

Fix  : Removing 'assert' from gzspotan.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gzspotan.c]

2006-02-03T15:39:14.475213Z leonardo

Fix  : Removing 'assert' from siscale.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/siscale.c]

2006-02-03T15:37:47.547536Z leonardo

Fix  : Removing 'assert' from gxcht.c, gxdhtserial.c

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gxcht.c src/siinterp.c src/zcfont.c]

2006-02-03T15:35:25.138745Z leonardo

Fix  : Removing 'assert' from gxdhtserial.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gxdhtserial.c]

2006-02-03T15:34:27.957959Z leonardo

Fix  : Removing 'assert' from gsfunc0.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gsfunc0.c]

2006-02-03T15:33:21.731016Z leonardo

Fix  : Removing 'assert' from gsfcmap.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gsfcmap.c]

2006-02-03T15:32:12.047666Z leonardo

Fix  : Removing 'assert' from gdevpsft.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gdevpsft.c src/gdevpxut.c]

2006-02-03T13:13:55.222042Z leonardo

Fix  : Removing 'assert' from the FreeType FAPI bridge.

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/write_t1.c src/write_t2.c src/fapi_ft.c]

2006-02-03T12:52:24.873880Z leonardo

Fix  : Removing 'assert' from gdevpsf1.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gdevpsf1.c src/gdevpdfc.c src/gdevddrw.c]

2006-02-03T12:40:42.456435Z leonardo

Fix  : Removing 'assert' from gxpflat.c .

DETAILS :

Doing so by Stefan's and Raph's requests.
Changes to other modules propagate errors form gxpflat.c .

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxfilltr.h src/gzpath.h src/gxfill.c src/gxpflat.c src/gxfillsl.h]

2006-02-03T12:39:01.222510Z leonardo

Fix  : Removing 'assert' from gdewddrw.c, gxdtfill.h .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevddrw.c]

2006-02-03T12:35:10.242248Z leonardo

Fix  : Removing 'assert' from gxshade1.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gxfdrop.c]

2006-02-03T12:34:09.374887Z leonardo

Fix  : Removing 'assert' from gxshade1.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gxshade1.c]

2006-02-03T09:55:00.285432Z leonardo

Fix (font machinery) : Remove the dependency of the graphics library code on the PS interpreter code.

DETAILS :

This change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/gxfont42.h src/gstype42.c src/zfont42.c]

2006-02-02T22:22:38.927751Z leonardo

Fix (pdfwrite) : Devcice parameters placed in a wrong memory space.

DETAILS :

Bug 688531 "Segmentation fault running pdfwrite from 219-01.ps".

1. See comment in code.
2. Inserted gs_device_pdf::pdf_memory initialization into gdev_pdf_put_params,
The old code initializad in pdf_open, which is called after gdev_pdf_put_params.
We keep the old initialization because the PCL intrepreter may use it.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfp.c]

2006-02-02T22:21:42.095676Z leonardo

Unwinding the last patch due to wrong log message.

[src/gdevpdfp.c]

2006-02-02T22:12:18.484170Z leonardo

Fix  : Removing 'assert' from gxshade6.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfp.c]

2006-02-02T20:00:35.433481Z Ray Johnston

Use the TT font 'Full Name' (name id #4) if the PS name (id #6) is not present.
Related to Bug 688523 for customer 580.

[lib/gs_ttf.ps]

2006-02-02T12:14:33.590232Z leonardo

Fix : A wrong CTM in clist after a create compositor command.

DETAILS :

When a create compositor command is written to clist,
the imager state copy was not updated in the clist writer device,
causing a further CTM desyncronization.
It caused a wrong clist playback for the bands affected by the compositor.

Debugged with GS_Stroke_error.pdf, bugsample.pdf, Bug687724.pdf 
with the patch for 688518 applied.
Have no tests for observibg this bug without the patch for 688518.

EXPECTED DIFFERENCES :

None,

[src/gxclimag.c]

2006-02-02T00:46:28.135273Z Ralph Giles

Update the makefiles for the lwf_jp2 source v1.03 and ldf_jb2 source v2.04.

[src/ldf_jb2.mak src/lwf_jp2.mak]

2006-02-01T22:27:32.766702Z Ralph Giles

Include for reference a script to generate ldf_jb2.mak from the source 
directories, since the file list fluctuates somewhat from version to 
version.

[toolbin/gen_ldf_jb2.py]

2006-02-01T21:13:48.761011Z leonardo

Fix  : Removing 'assert' from gxshade6.c .

DETAILS :

Doing so by Stefan's and Raph's requests.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2006-02-01T20:56:40.633246Z Ray Johnston

Make the initial summary line say "ERROR" instead of "DIFFER" if
we get a non-zero exit code during pdfwrite checking.

[toolbin/tests/gstestutils.py]

2006-02-01T18:47:36.861536Z Ralph Giles

Raise the limit of the size of the complete regression beyond which it is not included to 300 KB.

[toolbin/tests/run_nightly]

2006-02-01T18:19:21.935317Z Ralph Giles

Remove an unnecessary terminal '\' in the definition of JAS_EXCF_ which causes problems with make 
in SGI Irix. Closes bug 688529.

[src/jasper.mak]

2006-02-01T10:09:25.288062Z leonardo

Fix (font machinery) : Dereferenced NULL in gx_add_char_bits.

DETAILS :

Bug 688527 "A crash (a null pointer deref) in gx_add_char_bits".

Type 3 fonts are not included into the dir->orig_fonts list.
So the list may be empty.

EXPECTED DIFFERENCES :

None.

[src/gxccman.c]

2006-01-30T21:41:02.804104Z Ralph Giles

Rename HAVE_LDF_JB2 and friend to USE_LDF_JB2 since this is a directive
more than just an availability test.

[src/zfjbig2.c src/zfjpx.c]

2006-01-30T10:49:52.354325Z Ralph Giles

Move the definition of the 3rd party library include paths for the jbig2 
and jpeg2k implementations back into gs.mak.

DETAILS:

Although it makes more sense to define these in the makefile for each 
library, they are also needed for building the calling code in the 
graphics library and interpreter. This causes a circular dependency
with tools such as nmake which perform variable resolution in a 
single-pass.

[src/gs.mak src/jbig2.mak src/ldf_jb2.mak src/lwf_jp2.mak src/jasper.mak]

2006-01-30T10:30:53.447513Z Ralph Giles

Split the JPXDecode filter build at the interpreter level so the correct 
include path is used.

[src/int.mak]

2006-01-30T09:20:34.569051Z Ralph Giles

Correct build path errors in the Luratech makefiles.

[src/ldf_jb2.mak src/lwf_jp2.mak]

2006-01-30T08:51:04.157759Z Ralph Giles

Add the new Luratech makefiles to the MSVC and MacOS CodeWarrior builds.

[src/macos-mcp.mak src/winlib.mak]

2006-01-30T08:47:30.163980Z Ralph Giles

Rename jbig2_luratech.mak to ldf_jb2.mak to make upstream conventions.

[src/Makefile.in src/ldf_jb2.mak src/jbig2_luratech.mak]

2006-01-30T07:55:21.176824Z Ralph Giles

Initial check in of a makefile for building the Luratech LWF JPEG 2000 
CSDK source as part of Ghostscript, and add it to the autoconf build. 
Also associated cleanup.

[src/lib.mak src/Makefile.in src/lwf_jp2.mak src/jbig2_luratech.mak]

2006-01-30T06:41:14.593860Z Ralph Giles

Add hooks for passing license keys to the Luratech jpeg2k and jbig2 
implementations, for those linking against CSDK builds that require
this.

[src/sjbig2_luratech.c src/sjpx_luratech.c]

2006-01-30T06:39:50.565912Z Ralph Giles

Include jbig2_luratech.mak in the autoconf build.

[src/Makefile.in]

2006-01-30T06:39:02.652740Z Ralph Giles

Switch the choice of JBIG2Decode and JPXDecode stream implementations
based on a preprocessor define.

[src/zfjbig2.c src/zfjpx.c]

2006-01-30T06:37:31.179455Z Ralph Giles

Minor build variable rearrangement and clean up related to the Luratech 
JBIG2 decoder integration.

[src/lib.mak src/gs.mak src/int.mak src/jbig2.mak src/jasper.mak]

2006-01-30T05:34:32.468930Z Ralph Giles

Initial check in of a makefile for building the Luratech LDF JBIG2 CSDK
source as part of Ghostscript.

[src/jbig2_luratech.mak]

2006-01-29T23:54:46.647329Z Ralph Giles

Fix a missing dependency in the new sjbig2 build rules.

[src/lib.mak]

2006-01-29T23:36:18.372226Z Ralph Giles

Update the autotools makefile for the jbig2/jpeg2k indirection changes.

[src/Makefile.in]

2006-01-29T23:31:07.833789Z Ralph Giles

Introduce a level of indirection so the builds for the two different 
jbig2 and jpeg2k implementations can coexist. Also, add jasper to the 
OS/2 and OpenVMS builds, and update the OpenVMS makefiles now that the 
third-party libraries are included with the source release.

[src/openvms.mak src/watcw32.mak src/macosx.mak src/dvx-gcc.mak src/jbig2.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/openvms.mmk src/lib.mak src/ugcclib.mak src/gs.mak src/unix-gcc.mak src/msvc32.mak src/macos-mcp.mak src/wccommon.mak src/watclib.mak]

2006-01-29T21:58:57.475609Z Ralph Giles

Rename the jasper-oriented top-level makefile elements to the more
generic JPX.

[src/lib.mak src/gs.mak src/int.mak src/Makefile.in src/msvc32.mak src/macos-mcp.mak src/jasper.mak src/winlib.mak]

2006-01-29T21:04:26.485513Z leonardo

Fix (pdfwrite) : Avoid the dependency of a charproc on char code, step 6.

DETAILS :

This finally completes the fix for the bug 688513 "pdfwrite: redundant CharProcs elements.".
It repairs minor defects of last patches.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdtf.c src/gdevpdti.c src/devs.mak src/gdevpdti.h]

2006-01-29T19:35:26.757129Z Ralph Giles

Improve the documentation for the CAPOPT unix makefile variable.

[src/macosx.mak src/Makefile.in src/unix-gcc.mak]

2006-01-29T18:06:11.349450Z leonardo

Fix (pdfwrite) : Avoid the dependency of a charproc on char code, step 5.

DETAILS :

This completes the fix for the bug 688513 "pdfwrite: redundant CharProcs elements.".

1. Moving char_name from the charproc structure to pdf_char_proc_ownership_t,
because charprocs with different glyph names may have same command stream.

2. pdf_is_charproc_compatible is changed to a weaker condition
to allow to merge char procs with different names.
However we prefer fonts with a compatible encoding, which are attached to same PS font, 
in order to prevent mixing glyphs from various fonts.

3. charproc_compatibility_data_t is defined to reduce the gx_device_pdf::find_resource_param bogus.

4. pdf_char_widths_from_charprocs is a new function for reconstructing
real_width when a PDF Type 3 font is attached to another PS font.
Due to historical reason, real_width is a property of the attachment,
rather in novadays it should be a property of PDF font.
It happens because a PDF font may migrate to another PS font due to charproc merging,
especially in case of glyph variations.

5. The condition for involving pdf_find_same_charproc has been changed 
in pdf_end_charproc_accum to a weaker one, to allow to merge with charprocs from other fonts.
With the old condition a charproc didn't merge when appears in a font at the first time,
so it never merged with ones from other fonts.

6. Added a marking of glyph names in pdf_char_proc_ownership_t for the garbager.

7. Now we mark glyph names for garbager for all simple fonts,
except synthesised bitmap fonts (which use char codes instead glyph names).
The old code did for non-bitmap Type 3 only, and theretore it can have an indeterminizm
with other simple font types.

8. Minor change to gsstruct.c :
Added gs_*_st_strings1_ptrs4 and moved gs_*_st_strings1_ptrs1 
for a better code grouping.

This change causes a minor dirrefernce in raster with Bug687660a.ps with pdfwrite at 72 dpi.
It happens because the space glyph appears same for two fonts, which form a single text,
so that the font change appears some earier. However it causes the representation
of a glyph position to change from an absolute coordinate (in user points) 
to the Tj offset operand (in the 1000-unit scale). 
It causes a 1 pixel noize (the glyph shift) due to a different rounding.

EXPECTED DIFFERENCES :

pdfwrite at 72 dpi :
Bug687660a.ps 

[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdtf.c src/gsstruct.h src/gdevpdtw.c src/gdevpdti.c src/gdevpdtt.h src/devs.mak src/gdevpdti.h]

2006-01-29T17:48:58.910034Z leonardo

Fix (font machinery) : Inaccurate condition in zfont_mark_glyph_name.

DETAILS :

The old condition passes standard encoding indices as Postscript name indices.
It could cause a crash in the garbager.

EXPECTED DIFFERENCES :

None.

[src/int.mak src/zfont.c]

2006-01-29T08:08:11.685892Z Ralph Giles

Initial checkin of /JBIG2Decode filter support based on the
proprietary Luratech implementation.

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

2006-01-29T01:12:20.057028Z Ralph Giles

Initial checkin of /JPXDecode filter support based on the 
proprietary Luratech implementation.

This version uses the system malloc and only handles 8-bit-
per-component images without channel subsampling.

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

2006-01-29T01:04:43.551064Z Ralph Giles

Rearrange code for clarity.

[src/sjbig2.h]

2006-01-27T21:58:27.997608Z Ralph Giles

Make ps2epsi create a temporary file more securely in an owner-locked 
directory. Closes bug #687243.

[lib/ps2epsi]

2006-01-27T19:52:13.853680Z leonardo

Fix (pdfwrite) : Avoid the dependency of a charproc on char code, step 4.

DETAILS :

This is a preparation for the bug 688513 "pdfwrite: redundant CharProcs elements.".

This change moves char_code and the font reference from the charproc structure 
to pdf_char_proc_ownership_t.

The function pdf_is_same_charproc has been reorganized due to the data structure change,
and the condition become weaker - not accoutning character codes
and Postscript glyph id.

With this change pdf_end_charproc_accum performs an untrivial charproc substitution
with 238-01.ps due to a weaker condition for charproc equality
But we still have an example (t1.ps from the bug 238-01.ps),
which needs a further improvement.

Adding gx_dfevice_pdf::find_resource_param is bogus.
Would like to do without it, but don't want to enlarge the patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtt.c src/gsstruct.h src/gdevpdfb.h src/gdevpdti.c]

2006-01-27T17:55:49.774445Z Ray Johnston

Handle indirect object reference for CIDSystemInfo element. Bug 688515
for customer 870.

[lib/pdf_font.ps]

2006-01-27T09:45:38.491381Z leonardo

Fix (pdfwrite) : Avoid the dependency of a charproc on char code, step 3.

DETAILS :

This is a preparation for the bug 688513 "pdfwrite: redundant CharProcs elements.".

This change is algorithmically equivalent.
It defines a new type pdf_char_proc_ownership_t for
representing a many-to-many correspondence
of charprocs to fonts. But this patch still keeps
the old many-to-one constraint to simplify the testing.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdti.c src/gdevpdtf.h]

2006-01-27T08:12:27.899649Z leonardo

Fix (pdfwrite) : Remove pdf_begin_char_proc_generic.

DETAILS :

This is a preparation for the bug 688513 "pdfwrite: redundant CharProcs elements.".

This change is algorithmically equivalent.
It inlines pdf_begin_char_proc_generic.
pdf_begin_char_proc_generic is an old attempt to factor out
a common portion of code for bitmap (synthesised) and non-bitmap fonts,
but that attempt appeared unuseful.

EXPECTED DIFFERENCES :

None.

[src/gdevpdti.c]

2006-01-26T13:18:07.717021Z leonardo

Fix (pdfwrite) : Avoid the dependency of a charproc on char code, step 2.

DETAILS :

This is a preparation for the bug 688513 "pdfwrite: redundant CharProcs elements.".

This change is algorithmically equivalent.
It drops last asserts and simplifies the code with them.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2006-01-26T13:07:55.087988Z leonardo

Fix (pdfwrite) : Avoid the dependency of a charproc on char code, step 1.

DETAILS :

This is a preparation for the bug 688513 "pdfwrite: redundant CharProcs elements.".

This change is algorithmically equivalent.
It moves the Type 3 character code computation from pdf_text_set_cache
to a portion, which works before performing the interpreter callout
for executing a Postscript charproc. Doing so to exclude the necessity 
of storing the character code in pdf_char_proc_t.

We inserted additional asserts to define invariants explicitely.
We'll remove them after regression testing.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdtt.h]

2006-01-26T10:29:36.328224Z leonardo

Fix (pdfwrite) : Prevent extra encoding elements (continued).

DETAILS :

Bug 687669 "pdfwrite : extra encoding elements with a Type 3 font".
Cleaning Cygwin/gcc warnings from the last patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2006-01-26T10:21:40.117753Z leonardo

Fix (pdfwrite) : Prevent extra encoding elements.

DETAILS :

Bug 687669 "pdfwrite : extra encoding elements with a Type 3 font".

The old code created encoding elements for entire text
with no regard to font changes. Some fonts got extra encoding elements 
for glyphs, which were moved to another font.

1. Converting pdf_encode_string into pdf_encode_string_element
   with dropping the text characters cycle.

2. Call it in process_text_modify_width, process_text_return_width
   immediately before processing a character.

3. pdf_encode_process_string is renamed into pdf_process_string_aux
   (because now it is an auxiliary function for pdf_process_string).

4. Few function prototype changes done to pass necessary data
   to pdf_encode_string_element.

After this reorganization a part of scan_cmap_text
appars to duplicate a part of pdf_encode_string_element.
Delaying a further reorganization for better times. 

EXPECTED DIFFERENCES :

None.

[src/gdevpdtc.c src/gdevpdte.c src/gdevpdtt.h]

2006-01-26T08:20:39.942266Z leonardo

Fix (pdfwrite) : Optimize cos_dict_put_copy.

DETAILS :

The old implementation produced a lot of garbage due to redundant 
adding same key-value pair to a cos_dict_t instance.
It happens because cos_dict_put_copy first creates a copy of the value in the heap.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c]

2006-01-25T23:06:08.925944Z Ralph Giles

Correct a syntax error.

[toolbin/tests/run_nightly]

2006-01-25T22:14:19.978978Z leonardo

pdfwrite : Implementing composite fonts with Type 3 descendents (continued).

DETAILS :

Fixing a heap damage bug in the last patch,
which appeared due to inaccurate commitment of a wrong file state.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2006-01-25T21:51:22.137980Z leonardo

pdfwrite : Implementing composite fonts with Type 3 descendents.

DETAILS :

Bug 687875 "pdfwrite : Type 0 FMapType 9 font with a Type 3 descendent converts to bitmaps".
Bug 687298  "(pdfwrite) composite font with Type 3 descendent".

The old code converted such fonts into bitmap fonst.
The new code converts them into multiple Type 3 fonts ;

A. If a composite font uses a CMap mapping,
the Type 3 font descendent may use any CID from the CMap.
Therefore such single Type 3 font is being converted into
multiple Type 3 fonts, each of which is restricted
with 256 characters by the PDF specification.

B. If a composite font has multiple Type 3 descendents,
each descendent form a separate Type 3 font in the PDF output
(or multiple fonts if it falls into both cases (A) and (B)).

This is a case-driven implementation, which is done with adding special branches into 
scan_cmap_text and process_text_modify_width for handling the failed cases.
Other new cases (which we have no samples for) may may need further improvements.

EXPECTED DIFFERENCES :

pdfwrite :
020-01.ps
Bug687845.ps

[src/gdevpdfx.h src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdti.c src/gdevpdtt.h]

2006-01-25T21:29:44.622210Z leonardo

Fix (pdfwrite) : Incorrect computation of a FMapType 9 text size.

DETAILS :

The old code didn't update pte->current_font before calling pdf_update_text_state,
and the matrix computation in scan_cmap_text was bug-to-bug compatible.

This is a preparation for fixing the bug 687875 
"pdfwrite : Type 0 FMapType 9 font with a Type 3 descendent converts to bitmaps".

EXPECTED DIFFERENCES :

None.

[src/gdevpdtc.c]

2006-01-25T19:42:55.998332Z leonardo

Fix : A minor modularity improvement.

DETAILS :

This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/zchar.c]

2006-01-25T19:22:19.285423Z Ralph Giles

Remove the errpage.ps utility. It is not being used by developers and is no longer functional. 
Bug #688511.

[lib/errpage.ps]

2006-01-25T18:18:31.504275Z Ralph Giles

Include the complete list of regressions in the report if it is less than 40 KB.

[toolbin/tests/run_nightly]

2006-01-25T18:04:36.499424Z Ralph Giles

Improve error reporting.

[toolbin/tests/run_nightly]

2006-01-25T18:01:09.701817Z Ralph Giles

Add usage messages.

[toolbin/tests/make_two_versions toolbin/tests/make_two_pdfversions]

2006-01-25T04:50:25.532213Z Ray Johnston

Add required 'quit' execution to avoid prompt thus requiring a double 'quit'.
Bug 688497.

DETAILS:

This was inadvertently removed when I thought it was not needed and was a
result of a cut-and-paste mistake. This commit will now serve to document
that the extra line _is_ needed.

EXPECTED DIFFERENCES:

None.

[src/imain.c]

2006-01-23T20:25:12.430841Z Ralph Giles

Repeat the reference to autogen.sh in the Unix-specific build 
instructions. Bug #688504.

[doc/Make.htm]

2006-01-23T18:08:18.107243Z Ralph Giles

Use the local MAX() macro instead of the MSVC implicit max() in fuzzy.c 
for portability. Also, add parentheses to silence a GCC warning.

[toolbin/tests/fuzzy.c]

2006-01-23T17:39:54.710146Z Ralph Giles

Infix .pdf. in the output of make_two_pdfversions.

[toolbin/tests/make_two_pdfversions]

2006-01-23T13:29:30.215782Z leonardo

Fix (ps2write) : Incorrect xref offsets.

DETAILS :

Bug 688502 "Incorrect xref table in the PDF stream generated by ps2write".
The old code calculated offsets from the beginning of the PS file.
We generate xref to allow a verification with PDF viewers.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfu.c src/gdevpdfb.h]

2006-01-22T03:02:40.596096Z Alex Cherepanov

Add backward-compatible glyph names for new TTF glyphs. For instance,
/mu1 (micro symbol) is aliased to /mu (greek letter).
Bug 688265

EXPECTED DIFFERENCES :
None

[lib/gs_ttf.ps]

2006-01-21T17:32:17.337421Z Alex Cherepanov

Increase the halftone cache size to improve the performance of large
halftone cells.
Bug 687525

EXPECTED DIFFERENCES :
None


[src/gzht.h]

2006-01-20T08:20:17.716374Z leonardo

Fix : Unwinding the 6449 change (Fix detection of hexadecimal encoding in eexec portion of Type 1 fonts).

DETAILS :

The fix for the Bug 688385 caused a regression with fonttest.pdf.
Unwinding it now.

EXPECTED DIFFERENCES :

fonttest.pdf should restore.

[lib/pdf_font.ps]

2006-01-20T07:52:45.171824Z leonardo

Fix : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/gxi16bit.c src/gscdevn.h src/gxccman.c src/int.mak src/zfsample.c src/gxicolor.c src/gxclrast.c src/zcolor.c src/gxi12bit.c src/gdevp14.c]

2006-01-20T06:43:12.729752Z leonardo

Fix (pdfwrite, PDF/X) : Implement TrimBox, BleedBox and related Distiller parameters.

DETAILS :

Bug 688443 "TrimBox values should be customizable for PDF/X document".

Patch from Gunnar Ritter with minimal adoptation and a minimal testing.
We added sscanf to acquire TrimBox from Postscript.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm lib/gs_pdfwr.ps]

2006-01-20T06:38:30.009975Z leonardo

Fix (pdfwrite, PDF/X) : Implement TrimBox, BleedBox and related Distiller parameters, continued.

DETAILS :

Bug 688443 "TrimBox values should be customizable for PDF/X document".
Patch from Gunnar Ritter.


Adobe PDF Creation Settings, 7/27/05, p. 111:

[beg quote]
PDFXTrimBoxtoMediaBoxOffset

	Supported by: Distiller

	Type: array

	UI name: Set TrimBox to MediaBox with offsets (units)

	Default value: [0.00000 0.00000 0.00000 0.00000]

	If both the TrimBox and ArtBox entries are not specified
	in the page object, TrimBox is set to MediaBox with
	offsets. Offsets are specified as [left right top bottom].
	All numbers must be greater than or equal to 0.0. TrimBox
	offsets place TrimBox entirely inside MediaBox.

	NOTE:This setting is ignored if PDFXNoTrimBoxError is true.
[end quote]



EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2006-01-19T18:51:22.949228Z Ray Johnston

Previous patch had matrix1 matrix2 operands exchanged so scaling by cmmatrix was
wrong. This now works for resolutions other than 72. Bug 688485 for customer 850.

[lib/pdf_draw.ps]

2006-01-19T12:08:23.013531Z leonardo

Fix (pdfwrite) : Don't embed unused fonts.

DETAILS :

Bug 688106 "Unused fonts embedded in PDF".
Bug 688380 "pdfwrite: Type 3 fonts with empty CharStrings".


1. Delay font object id assignation until it is used with synch_text_state.
2. Same for font descriptors.
3. Writing a stream resource list, skip ones with no id.
4. Writing font descriptors, skip ones with no id.
5. Same for font objects.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdts.c src/gdevpdtd.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdfu.c src/gdevpdtw.c src/gdevpdtd.h src/gdevpdtf.h]

2006-01-19T00:21:28.720381Z Ralph Giles

Correct a typo in the usage.

[toolbin/tests/update_specific]

2006-01-19T00:18:05.626817Z Ralph Giles

Accept '-r ' as well as a date spec to the 
update_specific script. Bug 688498.

[toolbin/tests/update_specific]

2006-01-18T21:01:50.698782Z Alex Cherepanov

Print error messages, don't leave them on the stack.
Bug 688491

[lib/gs_ttf.ps]

2006-01-18T13:08:41.803688Z leonardo

Fix (pdfwrite, PDF/X) : Implement TrimBox, BleedBox and related Distiller parameters.

DETAILS :

Bug 688443 "TrimBox values should be customizable for PDF/X document".

Patch from Gunnar Ritter with minimal adoptation and a minimal testing.
We added sscanf to acquire TrimBox from Postscript.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c src/gdevpdfb.h]

2006-01-18T05:10:22.427953Z Ralph Giles

Apply assert patch for CMYK JPEG 2000 images from bug 688142.

[jasper/src/libjasper/jpc/jpc_dec.c]

2006-01-17T17:56:36.138363Z Ray Johnston

Apply a SubFileDecode filter to streams if the Length is valid. This prevents
reading past the end of data for filters that are not terminated, expecting
the PDF Length or 'endstream' to terminate the data. Bug 687435 for customers
780 and 870. Thanks to Alex Cherepanov for this patch.

DETAILS:
Since the Length on some broken PDF's is wrong (a warning will be issued),
this patch will not fix the case where the Length is wrong and the stream
is not terminated.

EXPECTED DIFFERENCES:

None. (according to Alex).


[lib/pdf_base.ps]

2006-01-17T13:43:24.915413Z leonardo

Fix (pdfwrite) : Loss of graphics with GraphicsAlphaBits > 1.

DETAILS :

Bug 688417 "Setting -dGraphicsAlphaBits when using -sDEVICE=pdfwrite causes loss of graphics".

1. Propagate error codes from psdf_get_bits through alpha buffer device methods.
2. Print error message in psdf_get_bits if GraphicsAlphaBits > 1.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdu.c src/gdevabuf.c src/gspaint.c]

2006-01-17T08:37:48.515251Z leonardo

Fix (type 1 interpreter) : c1_hsbw of the main subglyph was replaced with one from the glyph.

DETAILS :

Bug 688453 "gs8.53 renders certain fonts incorrectly".

EXPECTED DIFFERENCES :

normal : Bug687489.ps

[src/gstype1.c src/gxtype1.h]

2006-01-17T05:13:50.629958Z leonardo

Fix (type 1 interpreter) : Improve the mlodularity about seac data.

DETAILS :

This change is algorithmically equivalent.
It is a praparation for bug 688453.

1. seac_flag is moved from Type 1 hinter (gxhintn.h) to Type 1 interpreter (gstype1.h). 
2. Type 2 interpreter (gstype2.c) appears not depending on seac_flag.

EXPECTED DIFFERENCES :

None.

[src/gstype1.c src/gstype2.c src/gxhintn.c src/gxtype1.c src/gxhintn.h src/gxtype1.h]

2006-01-17T00:26:20.734768Z Ralph Giles

Use an explicit target for ps2write.dev, depending on pdfwrite.dev.

DETAILS:
 
Previously, the pdfwrite.dev target just created a dummy ps2write.dev
file without all the dependencies, since ps2write is just an extension
of pdfwrite and depends on much of the same source.

However, this caused problems with parallel builds, and failed badly if 
a user requested ps2write without pdfwrite in the top-level makefile.

[src/devs.mak]

2006-01-16T23:30:44.016752Z Ray Johnston

A better approach to avoid having uninstallpagedevice free a device that needs
closing. Bug 688494. Thanks to leo for the suggestion.

DETAILS:

Increment the rc_assign prior to the .uninstallpagedevice to insure that the
device is still around afterwards so we can call gs_closedevice on it. Many
devices don't need the closedevice, but some might.

[src/imain.c]

2006-01-16T19:08:58.896938Z Ralph Giles

Remove gsmalloc.h from source files that no longer use gs_malloc() or 
gs_memory_default.

[src/lib.mak src/zfdctd.c src/zfdcte.c src/int.mak src/sdctc.c src/sdctd.c src/sdcte.c src/szlibc.c src/szlibd.c src/szlibe.c]

2006-01-16T17:25:29.114707Z Ray Johnston

Make sure that the final gs_closedevice isn't called on a device that has been
freed during the final .uninstallpagedevice. Bug 688494.

DETAILS:

The overprint device or other compositors can (under some circumstances) have
a reference count of 1 when the gs_lib_finit is called, which means that the
'nulldevice' operator executed by the .uninstallpagedevice will free the
compositor when the rc_assign to the graphics state is performed.

To avoid an operation on a pointer to freed memory, don't attempt to close
the device if the ref_count prior to the unistallpagedevice was 1.

EXPECTED DIFFERENCES:

None.

[src/imain.c]

2006-01-16T14:06:57.132584Z leonardo

Fix (pdfx) : Registered printing conditions don't need an ICC profile.

DETAILS :

Bug 688476 "PDF/X-3 without ICC profile".

We could got more knowledge from http://www.color.org/IPA_2003-11_PDFX.pdf .
The main one is the RegistryName key, which we didn't see before. 

Rather PDFX_def.ps becomes complicated, currently we don't try to
simplify the user interface because we've got insufficient
information about user requirements to it.

EXPECTED DIFFERENCES :

None.

[lib/PDFX_def.ps doc/Ps2pdf.htm]

2006-01-16T11:48:41.730324Z leonardo

Fix (type 1 interpreter) : ce1_setcurrentpoint was wrong in a subglyph.

DETAILS :

Bug 688481 "wrong rendering of Type 1 font".

1. ce1_setcurrentpoint didn't account the position of a subglyph in the glyph.
   The bug was contributed with attaching the new Type 1 hinter
   (gstype1.c rev. 1.23, 1.13).
2. (minor change) A wrong condition for opening a visual trace in gxhintn.c . 

EXPECTED DIFFERENCES :

None.

[src/gstype1.c src/gxhintn.c]

2006-01-16T05:44:16.806614Z Ray Johnston

Update the PDF text matrix basis (TextSaveMatrix) when a 'cm' occurs within a
BT/ET section. Bug 688485 for customer #850.

DETAILS:

Apparently this is rare -- none of the previous regression tests had this case
(a 'cm' inside a BT/ET section). The 'missing' Arabic text was actually outside
the clipping path, so nothing was painted.

EXPECTED DIFFERENCES:

None. I ran the PDF subset of the regression suite and none of the files had
this.

[lib/pdf_draw.ps]

2006-01-16T05:22:18.914647Z leonardo

pdfwrite : Implementing DeviceN attributes, part 1.

DETAILS :

Bug 688406 "pdfwrite : wrong overprint color from Altona_Visual_1v2a_x3.pdf".

This is a partial implementation for DeviceN attributes in pdfwrite.
It is restricted with information, which the graphics library currently provides.
For a complete implementation need a complete fix for Bug 688413.

1. Added a writing of attributes Colorants in gdevpdfc.c .
2. Don't write a resource list for resourceOther, because they are not real PDF resources.

EXPECTED DIFFERENCES :

pdfwrite Bug687660a.ps 

[src/gdevpdfc.c src/gdevpdfu.c src/devs.mak]

2006-01-15T13:42:29.836501Z leonardo

Use a floating point representation for a huge Type 3 text width.

DETAILS :

Bug 687822 "/limitcheck in --setcharwidth--".

We guess the test document uses huge characters for metric computations
rather than for a real rendering.

When a text has a big width (and therefore it is not cached),
we use a new field gs_show_enum::wxy_float instead wxy,
because the latter overflows.
We implement it for Type 3 only due to no other test cases.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c src/gxchar.h]

2006-01-13T22:09:55.060982Z stefan

dprintf format string repair.

[src/zfcid0.c]

2006-01-13T21:59:13.702725Z stefan

Added printf format string argument checking under gcc to std.h

Corrected or commented existing errors.

NB: gx_color_index maybe 4 or 8 giving interesting results to printf
that choose to do:  "color is %lx", color  


[src/gdevxcmp.c src/gxi16bit.c src/std.h src/zfcid0.c src/gdevpsf2.c src/gsfcmap1.c src/gsmemory.c src/gxpflat.c src/gxicolor.c src/gxi12bit.c src/gdevp14.c src/stream.c]

2006-01-13T20:56:57.627440Z leonardo

Fix (pdfwrite) : Type 3 font indeterminizm.

DETAILS :

Bug 688379 pdfwrite: "an indeterministic behavior with Bug687660a.ps" from Comment #21. 

During a garbage collection Type 3 font glyph names were not marked.
Therefore they could be collected and later get different name indices.
Several fonts could be gererated from a single Type 3 font.

EXPECTED DIFFERENCES :

pdfwrite Bug687660a.ps 

[src/gdevpdtt.c src/gdevpdtf.c src/gdevpdtf.h]

2006-01-13T19:19:26.202800Z Ray Johnston

Minor cleanup to remove a line that was left in from a cut-and-paste when this
call was added. Discovered during bug 688487.

[src/imain.c]

2006-01-13T08:29:47.649971Z Dan Coby

Fix for 688487 A crash from garbage collector pointer validation.
This is an addition to 688413 DeviceN under implements 'attributes'

DETAILS:

The GC validation problem was caused by the DeviceN attribute list elements
not being freed.  These list elements contained Separation color spaces.
The color spaces contained a 'map' element which was being freed.  The
GC validation logic was detecting the that the color spaces were pointing
to a freed item.

The fix consists of adding a reference count to the gs_device_n_attributes
structure plus the appropriate logic for incrementing/decrementing.

The name of the DeviceN attributes list was changed to colorants per
Igor's request.

[src/gscspace.h src/gxcdevn.h src/gscdevn.c]

2006-01-12T12:02:56.192425Z Alex Cherepanov

Fix an out of range subscript in Gimp (XCF) export device and a few minor
issues identified by Intel C++ .
Bug 687292

[src/imain.c src/gxfcopy.c src/gdevxcf.c src/zcolor.c]

2006-01-12T11:43:04.185594Z Alex Cherepanov

Fix detection of hexadecimal encoding in eexec portion of Type 1 fonts.
Bug 688385

DETAILS:

The old code that detected hexadecimal encoding appeared to do the reverse.
It worked because PDF is defined to use binary encoding only in the eexec
portion of the font and conversion to hex won't spoil the binary stream.

However, conversion to hex breaks hexadecimal streams. The proposed patch
adds more precise checking for the hexadecimal encoding similar to
the checking algorithm in the eexec operator.

[lib/pdf_font.ps]

2006-01-12T07:10:34.762843Z Ralph Giles

Virtualize the global ctx pointer so it can be replaced by different 
implementations at the stream level.

[src/zfjbig2.c src/sjbig2.c src/sjbig2.h]

2006-01-12T07:09:08.418655Z Ralph Giles

Remove an unused funtion. This was used but the now removed ARCH_CACHE_* 
logic.

[src/genarch.c]

2006-01-12T00:42:19.645669Z Dan Coby

Fix for 688488 Since Jan 7 2006, many regression files get 'typecheck in --execfunction--'

DETAILS:

The commit for 688413 introduced a new problem.  If the attributes dictionary contains a reference to a separation color space which had already been resolved, then a conflict occured with the processing of the alternate tint transform function.  This patch eliminates the conflict by creating a new copy of the DeviceN color space array and the attributes array when the color space is resolved.

[lib/pdf_draw.ps]

2006-01-11T13:20:01.631161Z Alex Cherepanov

Move back-up CharString construction procedures (RD, ND, ...) to a special
dictionary and put it below userdict to avoid warnings when the font
defines them in userdict.
Bug 688464


DETAILS:

Some broken fonts forget to define CharString construction procedures because
non-PostScript font rasterizers don't detect this error. Ghostscript has
a back-up definitions of the procedures that do their job and issue a warning.

Other correct but old-fashioned fonts define CharString construction procedures
in userdict. We had the back-up procedures defined above userdict, where they
preempted the userdict definitions and issued a bogus warning. This patch moves
the definitions below userdict.

[lib/pdf_font.ps]

2006-01-06T23:27:45.066243Z Ralph Giles

Update the regression code to use the new SVN repository. This also includes some 
other minor fixes. The new version of update_specific hasn't been tested.

[toolbin/tests/run_nightly toolbin/tests/testing.cfg.example toolbin/tests/update_specific toolbin/tests/gstestgs.py]

2006-01-06T19:10:31.983184Z Dan Coby

Remove "#if 1" that crept into the last commit.

[src/gscdevn.c]

2006-01-06T19:08:06.688571Z Ralph Giles

Remove the lowercase versions of some of the less common arch.h #defines in favor 
of uppercase versions as per C-style.

[src/gxobj.h src/gxcmap.c src/gxbitmap.h src/gxfarith.h src/siscale.c src/imainarg.c src/gdevdbit.c src/iref.h src/gxclutil.c src/std.h src/gsmalloc.c src/zusparam.c src/gxfixed.h src/gxbitops.h src/ipacked.h src/gxbcache.h src/ibnum.c]

2006-01-06T19:01:15.497779Z Ralph Giles

Remove the check for files not listed in CVS.

DETAILS:

This no longer works since we've switched to subversion for version control. The 
check could of course be ported, but the object was the detect files that had 
either accidentally been left out of a commit, or files that might slip into a
release unintentionally. The 'svn status' command is an effective and more 
commonly used check for the former, and our policy of building releases from
a clean export of the tag eliminates the other.

[toolbin/tests/check_dirs.py]

2006-01-06T18:56:33.954639Z Dan Coby

Partial fix for 688413 DeviceN under implements 'attributes'

DETAILS:

This patch implements the passing of DeviceN attribute color spaces into the graphics library.  The patch consists of the following pieces:

1. In lib/gs_devn.ps:  Attribute color spaces are processed like another color space and then .attachattributecolorspace is called to associate the attribute color space with a DeviceN color space.

2. In lib/pdf_draw.ps: Logic wa added to resolve references to attribute color spaces in PDF DeviceN color spaces.

3. In src/zcsdevn.c and src/gscdevn.c: The implementation of the .attachattributecolorspace is done.

4. Header files were modified to add the attribute color space structures and fields.

5. GC enumeration and relocation logic was added.

[src/zcsdevn.c src/gscspace.h src/gxcdevn.h lib/gs_devn.ps lib/pdf_draw.ps src/gscdevn.c]

2006-01-06T18:54:32.653218Z Ralph Giles

Add the PDFA_def prefix file to the file documentation.

[doc/Psfiles.htm]

2006-01-06T12:27:00.677606Z Alex Cherepanov

Implementation of the remaining TN 5044 operators,
Bug 688268

[lib/gs_lev2.ps]

2006-01-04T22:01:24.416332Z Ralph Giles

Remove the unused ARCH_CACHE defines and the code in genarch.c that 
creates them. Bug 688469.

DETAILS:

The cache detection was both slow and unreliable, especially given the 
spread of cpu and memory speeds now available. Furthermore, no use was
being made of these attempted cache size measurements. We have therefore
removed them as a simplification.

Choosing the blocksize of large inner loops can indeed be a good 
technique, but this is a case of premature optimization. Moreover,
it's usually better to test at run time with the actual algorithm
in question than try to work from a general number.

[src/std.h doc/Make.htm src/genarch.c]

2005-12-30T20:35:22.773764Z Ralph Giles

Ignore generated files in the jasper subtree.

[jasper jasper/src/libjasper/pgx jasper/src/libjasper jasper/src/libjasper/include/jasper /trunk/gs jasper/src/libjasper/base jasper/src/libjasper/mif jasper/src/libjasper/jpc jasper/src/libjasper/bmp jasper/src/libjasper/jpg jasper/src/appl jasper/src/libjasper/include jasper/src jasper/src/libjasper/ras jasper/src/libjasper/pnm jasper/src/libjasper/jp2 jasper/src/msvc]

2005-12-29T01:11:43.615008Z Alex Cherepanov

Clean-up temporary parameter files created by batch files.
Bug 688471

[lib/ps2ps2.bat lib/ps2ps.bat]

2005-12-28T20:48:32.669903Z Ralph Giles

Apply Raph's patch to handle broken channel specifications.

[jpeg/jdmarker.c]

2005-12-28T20:46:39.574800Z Ralph Giles

Copy the IJG jpeg-6b source from /tags/.

[jpeg]

2005-12-28T20:45:24.158383Z Ralph Giles

Remove our local jpeg in favor of one copied from tags.

[jpeg]

2005-12-28T20:39:05.309532Z Ralph Giles

Copy in tagged zlib and libpng source.

[libpng zlib]

2005-12-28T20:37:11.865745Z Ralph Giles

Remove local copies of zlib and libpng in favor of ones copied from /tags/

[libpng zlib]

2005-12-28T20:11:05.093674Z Ralph Giles

Convert .cvsignore settings.

[src/.cvsignore ijs src .cvsignore contrib/pscolor/.cvsignore /trunk/gs contrib/pscolor ijs/.cvsignore]

2005-12-28T19:56:24.767413Z Ralph Giles

Enable Id keyword substitution on appropriate files.

[src/iplugin.h src/gdevm48.c src/gsgdata.h lib/pfbtopfa.ps src/configure.ac src/gdevmsxf.c src/gsropt.h src/gdevmem.c man/ps2epsi.1 src/gdevmem.h src/zvmem.c src/write_t1.c jasper/src/libjasper/base/jas_seq.c src/rm.cmd src/gstrap.c src/icstate.h src/gxxfont.h src/write_t1.h lib/gs_epsf.ps src/gstrap.h src/gzacpath.h src/gscssub.c src/gdevcgmx.h src/gp_msdos.c src/gdevlbp8.c src/gdevpdfx.h src/gdevdm24.c src/zcsdevn.c src/dwsetup.rc src/gxdhtserial.c src/icie.h src/zcontext.c src/gscssub.h zlib/contrib/ada/buffer_demo.adb jasper/src/libjasper/include/jasper/jas_malloc.h src/gdevpdts.c src/ccfont.h src/gxdither.h src/gxdhtserial.h src/cp.cmd lib/gslp.ps src/gdevpdts.h src/macsystypes.h src/gxclutil.c lib/font2c.cmd src/gxcomp.h lib/level1.ps src/echogs.c lib/lpgs.bat src/oper.h doc/History7.htm src/zchar42.c toolbin/tests/cmpi.py lib/gs_lev2.ps src/gscscie.c src/gsfont0.c src/zchar42.h src/icfontab.c src/zht1.c toolbin/gssubst src/zpcolor.c src/zdevcal.c src/gdevpdfi.c src/zcssepr.c doc/Install.htm src/ifont42.h src/sdcparam.c lib/markhint.ps zlib/uncompr.c src/bcwin32.mak doc/Issues.htm src/sdcparam.h jasper/src/libjasper/jpc/jpc_math.c src/gdevpdtd.c src/gdevokii.c src/zcfont.c src/gdevprna.c src/gdevpdtd.h toolbin/makefonts.tcl jasper/src/libjasper/include/jasper/jas_cm.h src/zcolor.c src/gxhtbit.c src/oparc.h jasper/src/libjasper/jp2/jp2_cod.c src/sfxfd.c src/gdevprna.h lib/caption.ps jasper/src/libjasper/jp2/jp2_cod.h src/gp_mspol.c src/dwuninst.h src/gpmisc.c src/ttconfig.h src/ireclaim.c toolbin/pdfinflt.ps src/gxstdio.h src/gsmemraw.h src/gpmisc.h lib/gs_cidcm.ps toolbin/split_changelog.py doc/Lib.htm src/gxline.h lib/bdftops.cmd lib/FAPIconfig doc/Ps-style.htm man/gslp.1 toolbin/tests/check_docrefs.py jbig2dec/Makefile.am lib/traceimg.ps src/ijs.mak src/gserver.c src/gp_psync.c toolbin/tests/update_baseline man/de/pdfopt.1 src/gp_os2pr.c src/gsiomacres.c src/gdevpsd.c src/gxclfile.c man/de/wftopfa.1 src/gxfilltr.h man/de/ps2ps.1 src/gdebug.h lib/viewpcx.ps toolbin/tests/gsconf.py src/zfile.c jasper/src/libjasper/jpc/jpc_bs.c src/gdev4693.c src/gxchar.c lib/gs_indxd.ps jasper/src/libjasper/jpc/jpc_bs.h src/gxchar.h src/gsfcid2.c src/gsline.c src/gsalloc.c doc/Helpers.htm lib/dumphint src/gsline.h src/gsalloc.h src/gsiparm2.h src/gxfont0.h lib/gs_ksb_e.ps lib/ps2pdf.cmd src/gdevmeds.c src/gs16spl.c src/gdev4081.c src/gdevmeds.h src/srdline.h src/dpmain.c src/wctail.mak src/winlib.mak jasper/src/libjasper/jp2/jp2_enc.c doc/History8.htm src/szlibx.h src/zmath.c jbig2dec/jbig2_image_png.c toolbin/tests/make_two_pdfversions src/gdevpdfk.c lib/jispaper.ps src/gxfont0c.h src/iimage.h jasper/src/libjasper/jp2/jp2_dec.c src/gxpcolor.h src/gdevpdtf.c doc/Xfonts.htm src/gp_unifn.c src/gdevddrw.c src/gschar.c src/gdevpdtf.h src/gdevddrw.h src/gdevpsfm.c src/sarc4.c lib/traceop.ps src/gschar.h src/gdevpsu.c src/gsptype2.c src/zfcid1.c src/sarc4.h src/gstrans.c src/gdevpsu.h src/gsptype2.h src/catmake zlib/crc32.c src/gstrans.h src/iestack.h src/gxbitfmt.h src/gxclio.h lib/pdf_rbld.ps src/gstype2.c src/itoken.h lib/pdf2ps.bat lib/gs_dscp.ps src/inameidx.h src/gxhldevc.c lib/gs_devn.ps zlib/contrib/iostream2/zstream.h src/gxhldevc.h lib/pdfopt.ps src/sfxboth.c src/gp_macio.c src/wrfont.c src/sbhc.c lib/viewps2a.ps src/gsdps.c src/zfont1.c src/wrfont.h src/sbhc.h doc/Maintain.htm jbig2dec/jbig2_priv.h man/de/gsnd.1 lib/gs_dbt_e.ps src/gsdps.h src/spngp.c src/ghost.h jbig2dec/jbig2dec.c toolbin/tests/check_all.py doc/gs.css toolbin/tests/gsutil.py src/gxalloc.h src/gsmatrix.c src/gxsamplp.h lib/cidfmap src/istruct.h src/gdevpsf.h src/gsmatrix.h src/zdouble.c src/dwreg.c jasper/src/libjasper/include/jasper/jas_getopt.h src/spdiff.c src/gxfcmap1.h lib/pf2afm.cmd jasper/src/libjasper/base/jas_string.c src/dwreg.h src/scommon.h src/gdevpdtw.c src/gdevpdtw.h src/unixhead.mak src/gsiparm4.h lib/ps2ascii.ps src/gxiscale.c lib/gs_ce_e.ps src/gxbcache.c src/dwinst.cpp src/gxbcache.h src/ibnum.c lib/gs_type1.ps lib/gsnup.ps src/gdevxcmp.c src/ibnum.h src/estack.h src/scfe.c ijs/configure.ac lib/eps2eps.cmd src/gscompt.h src/gsdcolor.h src/gxdtfill.h src/gdevxcmp.h lib/stocht.ps src/gdevlj56.c src/gdevhl7x.c src/gdevos2p.c src/gsparam.c src/gsbitops.c src/gdevmr8n.c lib/gs_pdfwr.ps 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 lib/gs_ccfnt.ps jasper/src/libjasper/base/jas_cm.c src/zfont42.c lib/Fontmap.ATB doc/Language.htm jasper/src/libjasper/pnm/pnm_cod.c src/smd5.c src/spdiffx.h jasper/src/libjasper/pnm/pnm_cod.h src/smd5.h src/gs16spl.rc src/gxhttype.h lib/Fontmap.ATM src/gspenum.h src/sjpx.c lib/unix-lpr.sh lib/ps2epsi.bat lib/decrypt.ps src/gxipixel.c src/sjpx.h src/sfilter2.c src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/gxmclip.c src/mv.cmd src/gxcie.h src/gsio.h lib/gs_cspace.ps src/gscrd.h src/gxmclip.h toolbin/suite.tcl lib/pftogsf.bat lib/uninfo.ps src/unix-end.mak jbig2dec/Makefile.in src/inobtokn.c toolbin/afmutil.py src/gp_mslib.c lib/Fontmap.Sol zlib/minigzip.c src/gsiodev.c src/gdevescp.c src/igc.c src/msvc32.mak src/gdevmacxf.c src/gsfunc0.c jbig2dec/jbig2_arith.c src/igc.h src/jerror_.h src/zdosio.c toolbin/tests/testdiff src/gsfunc0.h jbig2dec/jbig2_arith.h toolbin/jpxtopdf.c src/gdevpsf1.c src/gdevpsds.c src/siscale.c src/gdevpsds.h lib/gs_img.ps src/gsdsrc.c src/gxfill.c src/ilevel.h src/siscale.h src/gxclread.c src/gsdsrc.h src/gxfill.h toolbin/tests/gstestgs.py lib/pdf2ps src/iostack.h lib/gs_kanji.ps lib/stcolor.ps src/gsdll.c src/gdevmr1.c lib/Fontmap.Ult src/gspath1.c jasper/src/libjasper/pnm/pnm_enc.c doc/Details.htm src/gsdll.h src/sjpegc.c src/zfdcte.c lib/ps2ascii.bat src/zfcmap.c doc/Readme.htm src/gdevfax.c src/gdevbit.c toolbin/tests/check_source.py 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/gsdevice.h src/gdevsj48.c src/gdevpdfo.c jasper/src/libjasper/pnm/pnm_dec.c src/gsbittab.c src/gxclmem.h src/macos_carbon_pre.h src/sdctd.c src/gsmemory.c src/gshtx.h src/gdevpdfo.h src/gsbittab.h src/ifwpred.h src/gdevcdj.c doc/Devices.htm src/gsmemory.h man/de/ps2ascii.1 src/files.h src/gxband.h src/scfdgen.c src/ttinterp.c src/ttcalc.c src/gsbitmap.h src/gdevtknk.c toolbin/genfontmap.ps src/idsdata.h src/ttinterp.h src/ttcalc.h src/gxfont42.h src/scf.h src/gsroptab.c lib/gs_fntem.ps src/gxidata.c src/inames.h src/gsistate.c src/gdevm1.c src/os2.mak src/gscolor2.c lib/gs_cidfm.ps src/gzline.h src/gscolor2.h lib/bdftops src/gsmalloc.c src/ttfmain.c lib/errpage.ps src/ivmem2.h src/gsmalloc.h src/gscindex.h src/gxiodev.h toolbin/makewin.tcl src/gp_macpoll.c src/dwmain.c src/gdevpcfb.c jasper/src/libjasper/bmp/bmp_cod.c src/gdevvec.c src/dwmain.h src/gdevpcfb.h jasper/src/libjasper/bmp/bmp_cod.h lib/gs_statd.ps src/gdevvec.h src/ostack.h src/gsrect.h jasper/src/libjasper/jpc/jpc_qmfb.c src/sdeparam.c src/idosave.h src/gdevvglb.c src/gdevimgn.c src/ifrpred.h jasper/src/libjasper/jpc/jpc_qmfb.h lib/impath.ps src/gsmdebug.h zlib/contrib/ada/zlib-thin.adb src/gsovrc.c src/gxshade1.c lib/ps2ps src/gdevm32.c jbig2dec/jbig2_symbol_dict.c src/gsovrc.h src/scfx.h src/all-arch.mak lib/gs_init.ps jbig2dec/jbig2_symbol_dict.h src/gsparams.c src/bfont.h src/idparam.c src/gdevbjcl.c src/gdevpsdu.c src/dvx-gcc.mak src/gsparams.h src/idparam.h src/gp_mswin.c src/gdevdsp2.h src/gxblend.c zlib/contrib/ada/zlib-thin.ads src/gdevbjcl.h src/gp_mswin.h src/gxblend.h src/gp_os2.c src/zcolor1.c zlib/trees.c lib/ps2ps2.bat src/math_.h src/gp_os2.h lib/gs_resmp.ps src/gdevstc.c lib/printafm.ps src/gxfunc.h jbig2dec/jbig2_segment.c src/macos-fw.mak src/ialloc.c src/gdevstc.h src/ialloc.h jasper/src/libjasper/jpc/jpc_mqcod.c src/gserrors.h src/sjpege.c jasper/src/libjasper/jpc/jpc_mqcod.h man/de/pdf2dsc.1 zlib/ChangeLog 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 lib/pfbtopfa src/idebug.c src/igcstr.h src/rm.bat src/idebug.h toolbin/tests/run_regression src/gsht.c lib/gs_lgx_e.ps src/ifont2.h src/gdevpsdf.h src/gdevm16.c src/gsht.h src/scantab.c src/gxfapi.c src/zfilter.c jasper/src/libjasper/bmp/bmp_enc.c src/gstype42.c src/gxfapi.h src/iutilasm.asm src/gsfunc.c src/cp.bat src/sbcp.c jasper/src/libjasper/base/jas_image.c src/iref.h jbig2dec/jbig2_mmr.c src/gsfunc.h toolbin/encs2c.ps src/sbcp.h zlib/zconf.h lib/font2c.bat jbig2dec/jbig2_mmr.h src/gdevtrac.c src/gp_ntfs.c src/libpng.mak zlib/contrib/ada/zlib.adb src/gdevatx.c lib/docie.ps src/zfproc.c src/gs_dll_call.h src/dmmain.c lib/acctest.ps jasper/src/libjasper/bmp/bmp_dec.c src/istream.h doc/Ps2epsi.htm src/gs.c src/zdevice2.c jasper/src/libjasper/include/jasper/jas_types.h src/iscannum.c src/sjbig2.c src/gdevpdfb.c src/iscannum.h src/gscrdp.c src/gspmdrv.c zlib/contrib/ada/zlib.ads src/dmmain.r src/sjbig2.h toolbin/tests/gscheck_all.py src/gdevpdfb.h src/gsfemu.c src/inamestr.h src/gxclrast.c src/gdevxres.c src/gscrdp.h src/gspmdrv.h src/zfile1.c src/zimage3.c src/istkparm.h src/gdevo182.c src/zcspixel.c src/zarith.c src/gximage1.c lib/xlatmap src/msvctail.mak src/gsfunc4.c src/isdata.h src/gxclpath.c jasper/src/libjasper/jpc/jpc_mqenc.c jasper/src/libjasper/base/jas_malloc.c src/gsfunc4.h src/gxcmap.c src/gxclpath.h jasper/src/libjasper/jpc/jpc_mqenc.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 zlib/contrib/ada/mtest.adb src/tttype.h src/gxcpath.c jasper/src/libjasper/jpc/jpc_mqdec.c doc/Unix-lpr.htm src/gxcpath.h lib/bdftops.bat jasper/src/libjasper/jpc/jpc_mqdec.h src/gxp1impl.h src/gdevlxm.c man/ps2ps.1 lib/Fontmap.GS src/rinkj/rinkj-epson870.c jbig2dec/jbig2_generic.c lib/eps2eps src/rinkj/rinkj-epson870.h jbig2dec/jbig2_generic.h jasper/src/libjasper/jpc/jpc_cod.h jbig2dec/jbig2_image.c lib/gs_ciecs3.ps src/gxgetbit.h src/gdevabuf.c doc/Source.htm src/md5.c jbig2dec/jbig2_image.h src/gp_mac.c src/gdevsgi.c jasper/src/libjasper/jpg/jpg_cod.h src/zcie.c src/md5.h src/gdevsco.c src/stream.c src/gp_mac.h lib/pdf_main.ps src/gdevsgi.h src/gdevdflt.c src/stream.h src/gsdpnext.h src/gdev8510.c lib/pdfwrite.ps src/gxstroke.c src/gdevpxut.c src/zmisc2.c src/zfunc3.c src/ttmisc.h src/iparam.c toolbin/tests/dump_testdb src/zrelbit.c src/gdevpxut.h src/gxclist.c src/gdevxini.c src/iparam.h lib/printafm Resource/ColorSpace/DefaultCMYK src/gxclist.h src/jbig2.mak src/gdevpsfu.c src/gdevlp8k.c jbig2dec/jbig2_arith_iaid.c man/font2c.1 doc/Htmstyle.htm src/gdevpdt.c lib/gsnd.bat src/ttfmemd.c lib/ps2pdf.bat jbig2dec/jbig2_arith_iaid.h src/gdevpdt.h src/gp_dosfs.c src/ttfmemd.h lib/dumphint.ps src/gpcheck.h src/jasper.mak src/ztype.c src/dwuninst.cpp lib/ps2ascii src/gdevxxf.c src/shc.c src/zshade.c man/ps2ascii.1 Resource/ColorSpace/DefaultGray doc/Use.htm src/opcheck.h src/shc.h lib/gsndt.bat src/gdevpdfd.c toolbin/tests/gssum.py src/gdevcfax.c src/zicc.c src/vdtrace.c src/gxdda.h src/vdtrace.h src/iscan.c src/iscan.h src/gsnotify.c toolbin/precheck.tcl toolbin/errlist.tcl src/gximage3.c lib/wftopfa lib/pfbtopfa.bat src/srle.c lib/gs_icc.ps src/zfilterx.c Resource/ColorSpace/TrivialCMYK src/gsnotify.h src/gximage3.h src/gsdll2.rc man/gs.1 src/memory_.h src/iparray.h jasper/src/libjasper/jpc/jpc_enc.c lib/gs_wl1_e.ps src/gsuid.h jasper/src/libjasper/jpc/jpc_enc.h Resource/Decoding/Unicode src/gdevstc2.c src/ziodev2.c man/eps2eps.1 src/gsiodevs.c lib/gs_sym_e.ps src/zmisc.c src/gsargs.c src/devs.mak src/gp_win32.c lib/ppath.ps doc/gsdoc.el src/gsargs.h src/gsinit.c src/gxttfb.c src/wmin.mak jasper/src/libjasper/jpc/jpc_flt.h jasper/src/libjasper/jpc/jpc_dec.c src/gxttfb.h src/winplat.mak src/dscparse.c src/gdev3852.c jasper/src/libjasper/jpc/jpc_dec.h src/dscparse.h src/gp_getnv.c lib/gs_dps1.ps zlib/contrib/ada/test.adb jasper/src/libjasper/jpc/jpc_t1cod.c src/gp_wgetv.c src/gdevpxen.h jasper/src/libjasper/jpc/jpc_t1cod.h src/gdevadmp.c src/gdevpxat.h src/zchar2.c src/errno_.h lib/wrfont.ps src/slzwc.c src/gdevpdfu.c src/ttcommon.h src/gdevp14.c src/sfilter.h src/dwinst.h doc/Ps2ps2.htm lib/pf2afm.bat lib/gs_trap.ps src/gdevp14.h src/ifcid.h src/sisparam.h src/ifont.h src/zfmd5.c src/unixlink.mak doc/Psfiles.htm src/zrop.c lib/pdfopt.bat src/zfjpx.c src/gdevegaa.asm toolbin/tests/gscheck_pdfwrite.py src/gspaint.c doc/index.html src/gspaint.h src/sa85x.h src/gsalpha.c src/int.mak lib/eps2eps.bat src/gsalpha.h src/icremap.h src/imainarg.c src/gp_dvx.c src/imainarg.h jbig2dec/os_types.h src/spprint.c src/gxcldev.h src/zbfont.c lib/FAPIfontmap src/unix-gcc.mak src/spprint.h src/igstate.h lib/ps2ps.cmd jasper/src/libjasper/base/jas_getopt.c src/unistd_.h src/version.mak src/dwtext.c src/sbwbs.c lib/bdftops.ps src/gxdevmem.h jasper/src/libjasper/jpc/jpc_t1enc.c src/icharout.h lib/gsbj src/gdevstc4.c src/dwtext.h src/sbwbs.h jasper/src/libjasper/jpc/jpc_t1enc.h src/szlibd.c src/gdevdbit.c src/gdevdfax.c src/gdevpccm.c lib/ps2pdf src/gdevpccm.h src/strimpl.h src/mv.bat src/gsutil.c jasper/src/libjasper/jpc/jpc_t1dec.c jasper/src/appl/imginfo.c src/opextern.h src/zimage.c src/gsutil.h jasper/src/libjasper/jpc/jpc_t1dec.h src/gdevcgm.c jbig2dec/jbig2_metadata.c lib/gs_wl2_e.ps src/gdevtsep.c src/gsfont0c.c doc/Deprecated.htm jbig2dec/jbig2_metadata.h man/de/font2c.1 src/gsht1.c src/gspcolor.c src/gxi12bit.c src/iddstack.h src/gsht1.h src/zfjbig2.c src/rinkj/rinkj-config.c src/gspcolor.h src/std.h src/rinkj/rinkj-config.h lib/type1ops.ps src/gdevs3ga.c src/slzwe.c lib/ps2epsi.ps src/scfdtab.c src/gscolor.c src/stdint_.h src/ztoken.c src/gxpaint.c src/zchar32.c src/seexec.c zlib/deflate.c src/icid.h src/gdevm56.c src/gscolor.h src/spsdf.c src/gxpaint.h zlib/zutil.c src/gsfname.c zlib/deflate.h toolbin/tests/make_testdb lib/gssetgs.bat jasper/src/libjasper/jpc/jpc_t2cod.c src/spsdf.h zlib/zutil.h lib/gsdj src/gsfname.h jasper/src/libjasper/jpc/jpc_t2cod.h src/gxalpha.h src/md5main.c jbig2dec/jbig2_refinement.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 toolbin/makehist.tcl src/idstack.h src/gxoprect.c src/gdevwdib.c doc/Copying.htm src/gdevsunr.c src/gxoprect.h src/gdevpdtc.c src/gsfcmap1.c Resource/Decoding/StandardEncoding src/gswts.c lib/gs_diskf.ps lib/font2c.ps src/gsstate.c src/ichar1.h src/gswts.h src/gxiparam.h src/gsstate.h src/gdevcljc.c lib/pdf_base.ps doc/Ps2pdf.htm src/iscanbin.c src/gdevmiff.c lib/pphs.ps src/iscanbin.h src/gp_mshdl.c src/zfcid.c src/zfont.c jasper/src/libjasper/include/jasper/jas_math.h src/unixinst.mak src/zarray.c src/iminst.h src/gxdevcli.h src/fcntl_.h src/gdevpe.c doc/Humor.htm jasper/src/libjasper/jpc/jpc_t2enc.c src/zdfilter.c lib/Fontmap.SGI lib/gs_pdf_e.ps lib/prfont.ps jasper/src/libjasper/jpc/jpc_t2enc.h jasper/src/libjasper/include/jasper/jas_image.h src/write_t2.c src/zdps1.c src/write_t2.h doc/Commprod.htm lib/gs_css_e.ps src/zhsb.c toolbin/makemaster.tcl jasper/src/libjasper/jpc/jpc_t2dec.c toolbin/tests/revert_baseline src/zupath.c src/gxsync.c jasper/src/libjasper/jpc/jpc_t2dec.h src/dstack.h src/gxsync.h src/gsccolor.h src/gdevpdtt.c lib/ps2write.bat src/gdevpbm.c src/gdevpdtt.h src/gdevmrun.c src/gsdllwin.h lib/gs_typ32.ps src/gconf.c src/gdevmrun.h src/gconf.h src/sdct.h src/zfbcp.c src/gzcpath.h src/gsipar3x.h src/scfetab.c jbig2dec/jbig2.c src/gxstate.h jbig2dec/jbig2.h src/gdevpcl.c src/gdevcmap.c src/zht2.c src/gxfmap.h src/zfarc4.c src/gdevpcl.h src/gdevpdfj.c src/ichar.h lib/viewmiff.ps src/gdevcmap.h src/zht2.h src/gdevwprn.c src/gxpdash.c lib/gs_dps.ps src/ztrap.c src/gxlum.h toolbin/3way.tcl doc/Drivers.htm src/gdevdevn.c src/gdevpdte.c src/gsgcache.c src/gdevdevn.h src/gsgcache.h src/gsptype1.c src/zfcid0.c src/gxclbits.c src/zgstate.c src/macos_classic_d_pre.h src/gsptype1.h src/zfontenum.c lib/gs_setpd.ps src/ctype_.h lib/font2c src/inouparm.c src/rinkj/rinkj-screen-eb.c src/slzwx.h src/gstype1.c src/gxdhtres.h lib/gs_lgo_e.ps jasper/src/libjasper/include/jasper/jas_version.h src/gdevmpla.c src/rinkj/rinkj-screen-eb.h man/pdf2ps.1 src/gstype1.h src/dwmain.rc lib/ps2pdf12.cmd doc/Testing.htm lib/gs_fonts.ps src/gxcspace.h lib/gslj.bat lib/Fontmap.OS2 src/gdevmpla.h src/rinkj/evenbetter-rll.c man/wftopfa.1 src/watclib.mak src/rinkj/evenbetter-rll.h src/gxfcache.h src/istack.c src/gxclzlib.c src/zfont0.c lib/gs_l2img.ps src/istack.h src/gstparam.h lib/stcinfo.ps src/gdevevga.c src/gdevhit.c src/gxclimag.c src/gsdfilt.c lib/packfile.ps toolbin/many2pdf.tcl src/gxfillts.h src/gsdfilt.h toolbin/tests/run_nightly toolbin/tests/get_baselines toolbin/gsindent src/gxht.c src/gxdcconv.c src/gdevpsdp.c src/openvms.mak src/gxcht.c src/gdevclj.c src/gdevxalt.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/gsiparm3.h lib/gs_typ42.ps src/gxclpage.c lib/dumphint.bat src/gxfont1.h src/rinkj/rinkj-device.h lib/gslj src/icontext.c src/gsdllos2.h src/gxclpage.h src/zstring.c src/icontext.h lib/gslp 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 jasper/src/libjasper/jpc/jpc_cs.c src/gxclip2.h man/dvipdf.1 src/scfd.c jasper/src/libjasper/jpc/jpc_cs.h src/cfonts.mak src/gxiclass.h lib/pdf2dsc lib/ht_ccsto.ps src/gdevcgml.c src/gdevpx.c src/gdevcgml.h src/gdevl256.c jasper/src/libjasper/ras/ras_cod.c src/windows_.h doc/DLL.htm src/igcref.c src/zcharx.c src/gxtype1.c jasper/src/libjasper/ras/ras_cod.h src/gxtype1.h src/gdevcp50.c lib/gs_ciddc.ps src/idictdef.h src/gsmemret.c toolbin/bughunt.sh src/gxclip.c src/gsmemret.h lib/gsnd src/iname.c src/sfilter1.c lib/pdfopt src/gxclip.h src/sddparam.c src/zmedia2.c src/iname.h src/gs.mak src/gxpcmap.c doc/News.htm src/gp_msdll.c lib/gs_wan_e.ps lib/ps2pdf13.cmd jasper/src/libjasper/include/jasper/jas_stream.h src/gxcid.h src/gdevnfwd.c src/macos-mcp.mak src/ttobjs.c doc/History1.htm src/ttobjs.h src/zcontrol.c src/icclib.mak src/gsfcmap.c src/iimage2.h src/zfont2.c src/gsfcmap.h src/gxrplane.h src/gxp1fill.c src/imemory.h src/gsciemap.c src/dos_.h src/zdscpars.c src/gscdef.c lib/winmaps.ps src/gdevwpr2.c lib/landscap.ps src/gxtmap.h lib/gs_frsd.ps src/gsbitcom.c src/zchar.c lib/gs_devpxl.ps src/gdevsun.c lib/fixmswrd.pl src/gscrypt1.c doc/Fonts.htm toolbin/tests/gscheck_raster.py lib/gsdj500.bat src/gscrypt1.h jasper/src/libjasper/include/jasper/jas_tvp.h src/ztrans.c src/dwmainc.c src/gxdht.h src/dvx-head.mak lib/ps2ps2 src/zcsindex.c src/gdevrops.c src/zcidtest.c src/gdevpdtx.h src/gdevijs.c doc/gs-vms.hlp src/icolor.h src/gp_msio.c src/stdpn.h jasper/src/libjasper/ras/ras_enc.c src/store.h src/gstypes.h src/gxfixed.h src/gsserial.c src/string_.h src/gsserial.h src/gsjmorec.h src/gdevcslw.c src/zfdctd.c src/zdps.c jasper/src/libjasper/ras/ras_dec.c src/gxpcache.h src/scanchar.h man/de/pdf2ps.1 src/gdevdsp.c src/lib.mak src/zmatrix.c src/sdctc.c src/gdevdsp.h src/gdevpipe.c src/gspmdrv.rc zlib/compress.c src/gdevsvga.c src/gdevpdti.c lib/pf2afm src/gdevsvga.h src/gdevpdti.h src/gdevepsn.c src/gsparam2.c src/gp_mktmp.c src/stat_.h src/zfsample.c src/gsstruct.h jbig2dec/jbig2_huffman.c lib/gs_wl5_e.ps src/zfdecode.c src/gximag3x.c src/gsgc.h jbig2dec/jbig2_huffman.h src/gscolor1.c src/dwtrace.c src/gdevmswn.c src/gxfcmap.h src/ierrors.h src/gdevjpeg.c src/gximag3x.h src/siinterp.c src/gscolor1.h src/dwtrace.h src/gdevmswn.h src/gdevbbox.c src/opdef.h src/siinterp.h lib/opdfread.ps lib/ps2pdf14.cmd src/gdevbbox.h lib/gs_mex_e.ps src/iddict.h lib/gs_std_e.ps src/gp_stdin.c doc/History2.htm src/gsexit.h src/gendev.c src/gdevtfax.c src/gdevpjet.c src/gdevphex.c src/gslparam.h src/gp.h src/ivmspace.h src/gshtscr.c src/gdevtfax.h jbig2dec/jbig2_image_pbm.c src/bench.c src/gsnogc.c src/gsnogc.h src/gdevbmpa.c src/stdio_.h src/tttables.h src/gdevemap.c src/gp_sysv.c jasper/src/libjasper/include/jasper/jas_debug.h src/gsrefct.h src/iastruct.h toolbin/tests/revert_pdfbaseline man/de/dvipdf.1 src/gdevbjc.h lib/gs_mro_e.ps lib/ps2ps.bat src/gdevpsf2.c jbig2dec/jbig2_arith_int.c src/gzht.h doc/Develop.htm src/gxcvalue.h jbig2dec/jbig2_arith_int.h lib/mkcidfm.ps src/sstring.c lib/cid2code.ps src/gxpath.c src/scfparam.c src/gdevupd.c src/iconf.c src/sstring.h src/gxpath.h src/interp.c src/zcrd.c src/dwnodll.c src/iconf.h doc/C-style.htm src/gdevm40.c lib/gs_cff.ps lib/zeroline.ps src/dwdll.c src/interp.h man/ps2pdfwr.1 src/dwdll.h src/gsiodisk.c src/sjpegd.c src/gspath2.h lib/rollconv.ps src/gdevpsim.c src/dvx-tail.mak lib/lp386.bat src/errors.h src/gp_msprn.c lib/lprsetup.sh src/gxino12b.c src/gdevmgr.c src/gdevpdfp.c src/gxacpath.c src/gslib.c src/gdevmgr.h src/ziodev.c src/iccinit0.c src/sdcte.c doc/Release.htm src/gslib.h lib/gs_dpnxt.ps lib/pdf_draw.ps src/gxccache.c src/ifont1.h src/zfunc0.c src/gxmatrix.h src/gxfdrop.c src/ifunc.h src/gp_unifs.c zlib/contrib/ada/read.adb src/gxfdrop.h src/gxobj.h toolbin/tests/update_pdfbaseline src/gsiorom.c src/gxhintn.c src/isstate.h jbig2dec/jbig2_text.c jbig2dec/jbig2_hufftab.h src/gdevm2.c src/gxhintn.h src/ifilter2.h src/gspath.c src/gdevwddb.c src/gxpcopy.c src/gspath.h src/gscolor3.c src/gdevdjet.c man/gsnd.1 lib/ps2pdf12 src/gscolor3.h lib/ps2pdf13 lib/ps2pdf14 lib/pdf2dsc.ps lib/gs_pfile.ps src/rinkj/rinkj-dither.c src/zpath1.c src/gdevm24.c doc/History3.htm src/gp_unix.c src/rinkj/rinkj-dither.h src/inamedef.h jbig2dec/config_win32.h lib/gs_rdlin.ps 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/gschar0.c src/gdevpm.h src/gdevbmpc.c Resource/ColorSpace/DefaultRGB src/iht.h src/zdevice.c src/gscie.c src/gscencs.h lib/gs_cidfn.ps doc/Changes.htm lib/addxchar.ps src/gxi16bit.c src/ifapi.h src/zimage2.c src/gscie.h src/iastate.h src/pipe_.h src/gxbitops.h src/ipacked.h lib/font2pcl.ps lib/PDFA_def.ps src/gsfunc3.c src/gpsync.h src/gdevperm.c src/gswin.rc src/gsccode.h src/gsfunc3.h src/gxpath2.c src/gp_strdl.c src/genconf.c src/gxdevbuf.h lib/gs_ciecs2.ps toolbin/tests/gsparamsets.py lib/lpr2.bat lib/lp386r2.bat src/sa85d.c src/gscsel.h man/pdf2dsc.1 toolbin/tests/update_specific lib/gsbj.bat src/openvms.mmk src/sa85d.h src/gp_stdia.c src/zcolor2.c doc/Hershey.htm src/gdev3b1.c lib/wmakebat.bat lib/gst.bat src/gxttf.h src/ttconf.h src/genht.c src/zgeneric.c lib/type1enc.ps lib/dvipdf man/de/printafm.1 src/gxarith.h src/gxclrect.c src/gsshade.c lib/pdf_sec.ps src/gsshade.h src/msvclib.mak src/gsicc.c src/zcid.c src/dwsetup.cpp src/gdevp2up.c lib/pv.sh src/gsicc.h src/dwuninst.rc lib/PDFX_def.ps lib/viewjpeg.ps lib/image-qa.ps src/gdevpdfr.c src/gdevppla.c autogen.sh jasper/src/appl/jasper.c toolbin/gsmake src/zmisc1.c src/gsdevmem.c src/gdevppla.h src/wccommon.mak jasper/src/libjasper/include/jasper/jas_string.h src/gxfcopy.c src/gdevpsft.c lib/ps2epsi src/gxfcopy.h src/gsmisc.c src/gdevtfnx.c lib/wftopfa.ps src/gdevm4.c src/gxicolor.c src/gxpageq.c lib/ps2ai.ps src/gsdparam.c lib/pdf2ps.cmd src/winint.mak jasper/src/libjasper/include/jasper/jas_seq.h man/ps2pdf.1 doc/Make.htm doc/Details8.htm src/gxpageq.h src/gsstype.h src/gxdevrop.h src/gdevprn.c src/gdevcif.c lib/gs_resst.ps src/gxdevndi.c doc/History4.htm toolbin/tests/check_comments.py src/gdevprn.h src/gxdevndi.h jasper/src/libjasper/base/jas_tvp.c src/iesdata.h src/dxmain.c lib/gs_sepr.ps src/gdevpdfc.c src/iapi.c lib/gstt.bat src/spngpx.h src/gdevpdfc.h src/gdevherc.c src/btoken.h src/iapi.h src/zcharout.c toolbin/tests/gscheck_fuzzypdf.py src/gdevepsc.c toolbin/drawafm.ps lib/gs_il1_e.ps src/gxdevice.h src/gximage2.c src/srld.c src/zht.c src/gxshade4.c lib/gs_stres.ps src/gxshade4.h src/iinit.c src/gdevstc1.c src/gxbitmap.h src/gxccman.c src/watcw32.mak lib/ps2pdfxx.bat src/iinit.h src/gsalphac.c src/gxshade.c toolbin/pre 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 jbig2dec/memcmp.c src/idict.h doc/Public.htm lib/ps2pdf12.bat src/gxcolor2.h src/macos_carbon_d_pre.h zlib/example.c src/gscoord.h jasper/src/libjasper/jpc/jpc_tsfb.c toolbin/pre.tcl src/genarch.c jasper/src/libjasper/jpc/jpc_tsfb.h src/gscedata.c doc/Projects.htm lib/viewcmyk.ps src/gscpm.h src/gxcindex.h src/gscedata.h src/gp_nsync.c src/gdevmr2n.c src/gdevdgbr.c src/gdevdsha.c src/gdevxcf.c src/zlib.mak lib/gs_fapi.ps src/gxtext.h src/zchar1.c src/gscdevn.c lib/pf2afm.ps src/gscdevn.h jasper/src/libjasper/jpc/jpc_fix.h src/gdevpdft.c src/gdevpsdi.c zlib/adler32.c src/shcgen.c src/gsiparam.h lib/pphs src/zmisc3.c src/zfapi.c src/zfunc4.c lib/gsdj500 src/malloc_.h src/shcgen.h src/gscpixel.c lib/pdf_font.ps lib/viewgif.ps lib/gs_diskn.ps src/gscpixel.h lib/gs_btokn.ps lib/ps2epsi.cmd toolbin/tests/check_dirs.py toolbin/gsmake.tcl src/gdevplnx.c lib/lines.ps src/dirent_.h src/gdevplnx.h jasper/src/appl/imgcmp.c src/zfzlib.c lib/FAPIcidfmap src/Makefile.in src/gscsepr.c src/iutil2.c doc/History5.htm src/gscsepr.h src/gsimage.c src/gxwts.c src/ipcolor.h src/iutil2.h src/sjpeg.h src/gstext.c src/gsimage.h lib/gs_fform.ps src/gxwts.h src/msvccmd.mak src/gstext.h src/gsflip.c src/gdevpdfe.c src/rinkj/rinkj-byte-stream.c src/gsflip.h src/rinkj/rinkj-byte-stream.h jasper/src/libjasper/jpc/jpc_mct.c src/gdevdljm.c src/zdpnext.c src/geninit.c jasper/src/libjasper/jpc/jpc_mct.h src/gdevdljm.h lib/gs_ll3.ps src/zusparam.c man/pfbtopfa.1 src/gxchrout.c src/gximage4.c src/gxchrout.h src/gxshade6.c src/gxcoord.h jbig2dec/jbig2_page.c src/gdevpdf.c src/macosx.mak src/tttypes.h src/zpacked.c toolbin/tests/gstestutils.py src/gsparamx.c src/gdevstc3.c src/gp_dosfe.c src/iutil.c src/szlibc.c toolbin/maketars.tcl src/gsparamx.h lib/gs_cmdl.ps lib/gs_cmap.ps src/gdevpng.c src/iutil.h jasper/src/libjasper/include/jasper/jas_fix.h jbig2dec/test_jbig2dec.py lib/gs_il2_e.ps src/gzpath.h zlib/zconf.in.h src/gxcdevn.h src/sfxstdio.c lib/ps2pdf13.bat lib/ps2pdfwr src/gxropc.h toolbin/makeset.tcl src/gxfcid.h src/gxfont.h lib/gs_agl.ps src/gdevccr.c lib/ps2ascii.cmd src/mkromfs.c zlib/contrib/ada/zlib-streams.adb src/gslibctx.c zlib/gzio.c src/gdevdcrd.c src/unix-dll.mak src/gslibctx.h src/zbseq.c src/ziodevsc.c src/gdevdcrd.h src/instcopy src/gdevl31s.c man/de/ps2pdf.1 src/zfrsd.c src/iosdata.h src/gdevmacpictop.h src/gdevdjtc.c lib/showchar.ps src/gxino16b.c toolbin/tests/rasterdb.py zlib/contrib/ada/zlib-streams.ads src/gdevpcx.c src/gdevpxop.h src/zfileio.c jasper/src/libjasper/jpc/jpc_tagtree.c src/slzwd.c src/gdevpdfv.c lib/pcharstr.ps src/gxifast.c src/gxpflat.c jasper/src/libjasper/jpc/jpc_tagtree.h src/dwimg.c src/fapi_ft.c lib/pdf_ops.ps src/zsysvm.c src/gsimpath.c src/dwimg.h src/gdevx.c src/gsmemlok.c src/gsos2.rc lib/gs_cidtt.ps lib/gs_dps2.ps src/gximage.c src/gdevx.h man/printafm.1 src/gsmemlok.h src/ziodevs.c src/unixansi.mak jasper/src/libjasper/pgx/pgx_cod.h src/gdevpsfx.c ijs/Makefile.am src/gximage.h src/gscspace.c src/gdevmacttf.h src/gdevm8.c lib/gsdj.bat src/gdevpnga.c lib/gs_mgl_e.ps examples/waterfal.ps src/gsropc.c src/gscspace.h src/gsxfont.h src/ttfsfnt.h src/gsjconf.h man/pdfopt.1 toolbin/tests/make_two_versions src/gsfcid.c src/zstack.c src/gsfont.c jasper/src/libjasper/base/jas_stream.c src/gsropc.h src/gsfont.h lib/gs_ttf.ps lib/unprot.ps src/isave.c lib/gslp.bat lib/align.ps doc/History6.htm src/gdevm64.c src/isave.h src/zdict.c toolbin/leaks.tcl src/gxfrac.h toolbin/tmake.tcl src/gx.h jasper/src/libjasper/jpc/jpc_util.c src/iccfont.c src/gdevpdfg.c lib/markpath.ps src/gdevps.c lib/pdf2dsc.bat src/png_.h src/gxcllzw.c src/gdevpdfg.h lib/gs_patrn.ps doc/API.htm src/gxhttile.h toolbin/smoke.ps src/gdevpdtb.c src/gsdps1.c lib/gs_res.ps 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/gshsb.h src/gdevtifs.c src/x_.h lib/gs_devcs.ps man/pf2afm.1 src/smtf.h src/gdevtifs.h src/gximono.c src/fapiufst.c Resource/Decoding/Latin1 lib/viewpbm.ps src/szlibe.c lib/ps2ps2.cmd src/gxctable.c src/main.h toolbin/headers.tcl src/gp_vms.c src/gp_iwatc.c src/gxctable.h src/ugcclib.mak src/gdev8bcm.c src/gp_os9.c src/dwsetup.h src/gdevbj10.c src/gxclipm.c src/gdev8bcm.h src/zpaint.c lib/ps2pdf14.bat src/stdpre.h src/iplugin.c src/gxclipm.h src/gsgdata.c]

2005-12-26T22:36:16.000000Z Ray Johnston

Enable use of "Bold" in BaseFont name when doing font substitution from PDF
files that don't embed all fonts. Bug 688432 for customer 670.

DETAILS:

There is not really a 'Bold' flag in the FontDescriptor Flags (the ForceBold
infers a Bold font, but is not present for all Bold fonts since it has a
different meaning).

The pdf_font.ps logic had logic for "Narrow" in the font name, but not "Bold".
Enabling recognition of "Bold" works for this file and probably most others.

EXPECTED DIFFERENCES.

unknown, but if so progressions will be updated.

[lib/pdf_font.ps]

2005-12-26T14:38:15.000000Z Alex Cherepanov

Latest CMap files from ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe
Bug 688412

[Resource/CMap/78-H Resource/CMap/Hojo-H Resource/CMap/GB-RKSJ-H Resource/CMap/CNS06-RKSJ-H Resource/CMap/UniHojo-UCS2-V Resource/CMap/CNS2-H Resource/CMap/RKSJ-H Resource/CMap/78-V Resource/CMap/Hojo-V Resource/CMap/TCVN-RKSJ-H Resource/CMap/CNS2-V Resource/CMap/Hiragana Resource/CMap/RKSJ-V Resource/CMap/Roman Resource/CMap/UniKS-UTF32-H Resource/CMap/KSCpc-EUC-V Resource/CMap/CNS05-RKSJ-H Resource/CMap/UniHojo-UTF8-H Resource/CMap/CNS15-RKSJ-H Resource/CMap/Adobe-Korea1-0 Resource/CMap/Adobe-Korea1-1 Resource/CMap/Adobe-Korea1-2 Resource/CMap/78-RKSJ-H Resource/CMap/HKdlb-B5-V Resource/CMap/UniKS-UTF32-V Resource/CMap/KSC2-RKSJ-H Resource/CMap/UniHojo-UTF32-H Resource/CMap/UniHojo-UTF8-V Resource/CMap/HKscs-B5-H Resource/CMap/78-RKSJ-V Resource/CMap/GBT-RKSJ-H Resource/CMap/HKgccs-B5-V Resource/CMap/Add-H Resource/CMap/Adobe-GB1-0 Resource/CMap/UniHojo-UTF32-V Resource/CMap/EUC-V Resource/CMap/Adobe-GB1-1 Resource/CMap/Adobe-GB1-2 Resource/CMap/UniGB-UCS2-V Resource/CMap/Adobe-GB1-3 Resource/CMap/HKm471-B5-V Resource/CMap/Adobe-GB1-4 Resource/CMap/HKscs-B5-V Resource/CMap/CNS04-RKSJ-H Resource/CMap/Adobe-GB1-5 Resource/CMap/UniCNS-UTF32-H Resource/CMap/Add-V Resource/CMap/Hojo-EUC-H Resource/CMap/UniJISPro-UCS2-V Resource/CMap/GBT-H Resource/CMap/UniKS-UTF8-H Resource/CMap/UniCNS-UTF32-V Resource/CMap/Ext-RKSJ-V Resource/CMap/Hojo-EUC-V Resource/CMap/UniGB-UTF8-H Resource/CMap/GBT-V Resource/CMap/Adobe-Japan1-0 Resource/CMap/GBK-EUC-V Resource/CMap/Adobe-Japan1-1 Resource/CMap/UniKS-UTF8-V Resource/CMap/Adobe-Japan1-2 Resource/CMap/UniKS-UTF16-H Resource/CMap/CNS03-RKSJ-H Resource/CMap/Adobe-Japan1-3 Resource/CMap/Adobe-Japan1-4 Resource/CMap/Adobe-Japan1-5 Resource/CMap/Adobe-Japan1-6 Resource/CMap/UniJIS-UTF32-H Resource/CMap/B5-H Resource/CMap/UniGB-UTF8-V Resource/CMap/UniKS-UTF16-V Resource/CMap/UniJIS-UCS2-H Resource/CMap/UniHojo-UTF16-H Resource/CMap/V Resource/CMap/KSC-H Resource/CMap/UniJIS-UTF32-V Resource/CMap/B5-V Resource/CMap/UniJISPro-UTF8-V Resource/CMap/Katakana Resource/CMap/CNS02-RKSJ-H Resource/CMap/UniHojo-UTF16-V Resource/CMap/KSC-V Resource/CMap/GBK2K-H Resource/CMap/UniCNS-UTF16-H Resource/CMap/HKdla-B5-V Resource/CMap/UniGB-UTF32-H Resource/CMap/GBKp-EUC-V Resource/CMap/GBK2K-V Resource/CMap/UniCNS-UTF16-V Resource/CMap/UniGB-UTF32-V Resource/CMap/Adobe-CNS1-0 Resource/CMap/Adobe-CNS1-1 Resource/CMap/UniJIS-UTF8-H Resource/CMap/Adobe-CNS1-2 Resource/CMap/UniCNS-UCS2-V Resource/CMap/Adobe-CNS1-3 Resource/CMap/Adobe-CNS1-4 Resource/CMap/GB-H Resource/CMap/Adobe-CNS1-5 Resource/CMap/Adobe-Japan2-0 Resource/CMap/CNS01-RKSJ-H Resource/CMap/UniJISX0213-UTF32-H Resource/CMap/UniJIS-UTF8-V Resource/CMap/UniJIS-UTF16-H Resource/CMap/GB-V Resource/CMap/UniJISX0213-UTF32-V Resource/CMap/UniJIS-UTF16-V Resource/CMap/UniCNS-UTF8-H Resource/CMap/UniJIS-UCS2-HW-H Resource/CMap/HKm314-B5-V Resource/CMap/Hankaku Resource/CMap/UniCNS-UTF8-V Resource/CMap/WP-Symbol Resource/CMap/NWP-H Resource/CMap/CNS1-H Resource/CMap/Hojo-RKSJ-H Resource/CMap/UniGB-UTF16-H Resource/CMap/78-EUC-H Resource/CMap/NWP-V Resource/CMap/CNS1-V Resource/CMap/UniGB-UTF16-V Resource/CMap/78-EUC-V Resource/CMap/KSC-RKSJ-H Resource/CMap/ETHK-B5-H Resource/CMap/Ext-H Resource/CMap/KSC-Johab-H Resource/CMap/CNS07-RKSJ-H Resource/CMap/78ms-RKSJ-H Resource/CMap/HK-RKSJ-H Resource/CMap/GBTpc-EUC-H Resource/CMap/ETHK-B5-V Resource/CMap/Ext-V Resource/CMap/KSC-Johab-V Resource/CMap/78ms-RKSJ-V Resource/CMap/UniJISPro-UCS2-HW-V Resource/CMap/GBTpc-EUC-V]

2005-12-23T20:26:00.000000Z leonardo

Fix handling of broken TrueType fonts that have a loca table that is not in order (continued 2).

DETAILS :

Bug 688461 "TrueType-Problem with Core-Dump (Solaris)".

This is a further improvement of the patch for
Bug 687889  "/rangecheck in --string--".

The last patch erroneusely computed loca_size,
causing a string length problem when running pdfwrite with
the test file of the bug 688461.

EXPECTED DIFFERENCES :

None.

[src/gstype42.c]

2005-12-23T15:39:07.000000Z leonardo

Fix handling of broken TrueType fonts that have a loca table that is not in order (continued).

DETAILS :

Bug 688461 "TrueType-Problem with Core-Dump (Solaris)".

This is a further improvement of the patch for
Bug 687889  "/rangecheck in --string--".

1. Inserted a code for ignoring excessive data at end of 'loca' - see comment in code.
2. When (1) works, a warning is printed to stderr (in debug build only).
3. Fixed C coding style in gstype42.c revision 1.49.

We're not sure that this patch is good for any incorrect TrueType font,
because the old code keeps some artifacts without enough explanation.
We inserted a debug printing to study related cases better.

EXPECTED DIFFERENCES :

None.

[src/gstype42.c]

2005-12-22T18:46:45.000000Z leonardo

Fix (pdfwrite) : CID fonts got incorrect FontBBox.

DETAILS :

Bug 688467 "pdfwrite device creates incorrect PDF from EPS with CIDFont".
This fixes the 1st part of the bug 688467.
See the bug about the 2nd part.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c]

2005-12-22T06:47:17.000000Z Alex Cherepanov

Recursively enumerate filter parameters and resolve indirect objects.
Bug 688415 from customer 670.

[lib/pdf_base.ps]

2005-12-22T06:40:13.000000Z Alex Cherepanov

Correct a few typos in 16-bit pixel differencing filter.
Bug 687986

DETAILS :
This is a partial fix for a dead code. The patch fixes simple typos in 16-bit
code, which are difficult to spot because of the nested macroses.  Assignment
ss->prev[0] = s0 is needed because the code for handling leftover bytes uses
ss->prev[0]. The filter still falls into an infinite loop sometimes, but this
fix doesn't address this problem.

[src/spdiff.c]

2005-12-22T06:10:31.000000Z Alex Cherepanov

Move ReadString and related procedures from systemdict to local environment
to avoid a name conflict in a file that defines ReadString in userdict.
Bug 687848 from customer 1120

[lib/gs_cidfn.ps]

2005-12-21T03:57:16.000000Z Alex Cherepanov

Add missing ps2write device to Makefile.in
Bug 688420

[src/Makefile.in]

2005-12-21T03:36:12.000000Z Alex Cherepanov

Fix serious warnings generated by GCC 3.2 on Cygwin.
Bug 687622

[src/gdevxini.c src/gdevpdtb.c src/gdevpdfe.c]

2005-12-20T22:57:52.000000Z Ralph Giles

Commit Raph's patch to ignore invalid channel mappings. This gives
better behaviour on a common file breakage with CMYK jpeg images in PDF.

[jpeg/jdmarker.c]

2005-12-20T14:36:30.000000Z leonardo

Fix (pdfwrite) : A tolerance to a long 'head' table of a TrueType font.

DETAILS :

Bug 688409 "regression cvs 11/14/2005 ps2pdf fails with "Error: /invalidfont in --xshow--"".

Ignore and skip data beond the end of 'head' table.

EXPECTED DIFFERENCES :

None.

[src/gdevpsft.c]

2005-12-19T15:22:47.000000Z leonardo

Fix (pdfwrite) : Can't skip identity ToUnicode CMap for a composite font.

DETAILS :

Bug 688447 "ps->pdf korean english mixed text fails to text extract english correctly.".

Not sure why old code skips identity ToUnicode CMap -
likely it was taken from scratch and now appears incorrect.

With Type 0 fonts the PDF specification allows to skip ToUnicode only
when a font has a predefined CMap name as a value Encoding entry.
However we don't recognize standard CMap because our PS interpreter
doesn't provide a neccessary data - see bug 688459.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtw.c]

2005-12-18T18:11:25.000000Z Ralph Giles

Correct an incorrect return value. Thanks to Leonardo for pointing this
out.

[jbig2dec/jbig2_text.c]

2005-12-17T09:11:10.000000Z Ralph Giles

Pass the CFLAGS makefile variable when building auxiliary programs on
MSVC. This is necessary to that genarch sees the GX_COLOR_INDEX_TYPE
define to calculate the corresponding sizeof define. This is already
the case in the autoconf/unix build. Bug 687523.

[src/msvccmd.mak]

2005-12-17T02:08:58.000000Z Ralph Giles

Document the change synchronization issue with the two
GX_COLOR_INDEX_TYPE fallbacks. Bug 687523.

[src/gxcindex.h src/genarch.c]

2005-12-17T02:04:33.000000Z Ralph Giles

Have genarch define ARCH_SIZEOF_GX_COLOR_INDEX in arch.h. Bug 687523.

DETAILS:

One can't use the sizeof operator in preprocessor directives, so there's
been no way to do compile-time codepath choice based on the chosen size
of the color index type, which is quite important for performance.
Therefore we add a test to genarch.h to make this runtime test available
throughout the code when Ghostscript is built.

Note that this is a little fragile since the GX_COLOR_INDEX_TYPE define
is set by the toplevel makefiles. If nothing is set, the code in
gxcindex.h falls back to 'unsigned long int'. genarch.c now has the same
fallback, but obviously those should be kept in sync.

[src/genarch.c]

2005-12-17T01:56:04.000000Z Ralph Giles

Merge latest jbig2dec trunk into cvs. This is not released code.

[jbig2dec/config_win32.h jbig2dec/jbig2_metadata.c jbig2dec/jbig2_image_pbm.c jbig2dec/jbig2.c jbig2dec/jbig2_generic.h jbig2dec/jbig2_image.c jbig2dec/jbig2.h jbig2dec/jbig2_metadata.h jbig2dec/jbig2_priv.h jbig2dec/jbig2_image_png.c jbig2dec/jbig2_image.h jbig2dec/jbig2dec.c jbig2dec/os_types.h jbig2dec/configure.ac jbig2dec/jbig2_arith.c jbig2dec/jbig2_symbol_dict.c jbig2dec/jbig2_arith.h jbig2dec/jbig2_page.c jbig2dec/jbig2_symbol_dict.h jbig2dec/jbig2_arith_int.c jbig2dec/jbig2_text.c jbig2dec/jbig2_hufftab.h jbig2dec/jbig2_huffman.c jbig2dec/jbig2_arith_int.h jbig2dec/jbig2_huffman.h jbig2dec/jbig2_mmr.c jbig2dec/jbig2_refinement.c jbig2dec/jbig2_arith_iaid.c jbig2dec/jbig2_mmr.h jbig2dec/test_jbig2dec.py jbig2dec/memcmp.c jbig2dec/jbig2_segment.c jbig2dec/jbig2_arith_iaid.h jbig2dec/Makefile.am jbig2dec/jbig2_generic.c]

2005-12-16T22:16:02.000000Z Ralph Giles

Remove references to little-used mailing lists.

[doc/Release.htm]

2005-12-16T22:12:59.000000Z Ralph Giles

Remove references to the bug-gs mailing list in the manpages, and add
references to bugs.ghostscript.com to gs and ps2pdf. Also list Artifex
as an author before artofcode.

[man/pf2afm.1 man/dvipdf.1 man/ps2ascii.1 man/printafm.1 man/eps2eps.1 man/de/font2c.1 man/de/gsnd.1 man/de/pdfopt.1 man/de/pdf2ps.1 man/de/ps2pdf.1 man/gsnd.1 man/font2c.1 man/pdfopt.1 man/ps2pdf.1 man/pdf2ps.1 man/de/wftopfa.1 man/de/ps2ps.1 man/pfbtopfa.1 man/de/dvipdf.1 man/de/ps2ascii.1 man/gslp.1 man/wftopfa.1 man/ps2pdfwr.1 man/ps2ps.1 man/de/printafm.1 man/gs.1]

2005-12-16T21:52:51.000000Z Ralph Giles

Remove the bug report instructions from the documentation. Clearly no
one is using this, and just pointing people at the tracker is simplest.

[doc/Readme.htm doc/Bug-form.htm doc/Bug-info.htm]

2005-12-15T21:21:50.000000Z leonardo

Fix (TT interpreter) : Uninitialized data access while interpreting a high subglyph tree (continued).

DETAILS :

Bug 688421 "Ghostscript deadloop when processing PDF".
The last latch missed a return code in one branch.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2005-12-15T19:55:41.000000Z Alex Cherepanov

Skip '+' character in real numbers during CFF font generation.
Ignore the reserved nibble 0xd in encoded real numbers in CFF fonts.
Bug 688449

[src/gdevpsf2.c lib/gs_cff.ps]

2005-12-15T12:21:17.000000Z leonardo

Fix : Iproving the coding style.

DETAILS :

An indentation was confusing in gs_pdfwr.ps .

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-12-15T07:54:30.000000Z Ray Johnston

Continuation of previous patch for another branch to handle the /URI key
in a pdfmark, moving it into the /A (Action) dict with /S key value /URI.
Bug 688414 for customer 515.

[src/gdevpdfm.c]

2005-12-14T21:33:39.000000Z Alex Cherepanov

Normalize the BBox value in the shading dictionary.
Bug 688433

[lib/pdf_draw.ps]

2005-12-14T18:44:45.000000Z Ralph Giles

Provide more specific fonts for the headers since CJK Windows, uses a
bitmap font for just 'sans-serif'. Closes bug 688442.

[doc/gs.css]

2005-12-14T18:12:59.000000Z Ralph Giles

Improve the wording of two error messages. Related to bug 688451.

[src/gxttfb.c]

2005-12-14T15:44:51.000000Z leonardo

Fix (TT interpreter) : Uninitialized data access while interpreting a high subglyph tree.

DETAILS :

Bug 688421 "Ghostscript deadloop when processing PDF".

Actually the behavior was indeterministic due to
BuildGlyphOutlineAux wrongly computed a points array offset
while concatinating point lists of subglyphs.
The error happened only with subglyphs, which
include subglyphs (i.e. when a subglyph tree height
is greater than 2). The test document embeds a font
with such glyph.

1. The core of the change is in ttfmain.c :
   it fixes the incorrect offset computation.

2. An assertion added into gxpflat.c for an earlier
   detection of an incorrect behavior.
   Without this assertion another assertion
   fails in same module few moments later,
   and the analyzis appears some complicated.

3. Check and propagate a return code from
   gx_flattened_iterator__init in gxfill.c .


EXPECTED DIFFERENCES :

None, because our test base doesn't contain such cases.
Will add one after this fix is committed.

[src/ttfmain.c src/gxpflat.c src/gxfill.c]

2005-12-14T15:07:49.000000Z Alex Cherepanov

Fix a spelling error in an error message, s/fhe/the/ .
Bug 688451

[src/gxttfb.c]

2005-12-13T13:38:12.000000Z leonardo

Fix (pdfwrite) : Upgrade the PDF/X version identifier.

DETAILS :

Adobe Acrobat 7 Preflight Tool doesn't accept PDF/X-3:2001.

EXPECTED DIFFERENCES :

None.

[lib/PDFX_def.ps]

2005-12-12T14:40:29.000000Z leonardo

Fix (font machinery) : Improve the font-matrix cache management.

DETAILS :

Bug 688422 "Assertion failed! in gxccman.c".

This patch restricts the probability of failure
with a reasonable limit - 200 faces per BuildChar.
Ratrher it doesn't fix the bug completely,
the failure won't happen in practical cases.

This patch maintains a list of font-matrix pairs in the order
of accessing them. When cache overflows, it drops
the pair, which was not accessed a long time ago.
See comments in code for more details.

If one needs to drop the constraint for the number of
font-matrix pairs per charproc, entire cache algorithm to be
revised. First, it needs to lock font-matrix pairs
while they are referred by a text enumerator,
which executes a charproc. Second, need a workaround
for the case of 200 "nested" charprocs,
which exceed entire cache with locked pairs.

This patch adds new 'assert' statements into code.
We cannot replace them with return codes,
because a container function is being called
by the garbager as a part of a finalization routine
of font objects, with no way to propagate an error code.

EXPECTED DIFFERENCES :

None.

[src/gxfcache.h src/gxccman.c src/gxccache.c]

2005-12-12T09:48:09.000000Z leonardo

Fix (font machinery) : Provide an additional debug data about text enumeration.

DETAILS :

This relates to Bug 688422 "Assertion failed! in gxccman.c".
It doesn't fix the bug, simplifies its analyzis.
We decided to make this change permanent because
in the past we spent many efforts for anayzis of such kind.

Rather text_enum_id is not used with release build,
it is still defined to keep same structure size.

EXPECTED DIFFERENCES :

None.

[src/gxfcache.h src/gstext.c src/gsfont.c src/gxtext.h src/gxfont.h]

2005-12-10T11:08:05.000000Z leonardo

Fix : Remove 'assert' from gxccman.c .

DETAILS :

Bug 688422 "Assertion failed! in gxccman.c".

It doesn't fix the bug, but avoids harmful effects,
which 'assert' implementation causes on some embedded systems.
The assertion in gsccman.c failed too frequently during last 2 years.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c src/gxccman.c src/gxchar.h src/gxccache.c]

2005-12-09T18:39:09.000000Z Alex Cherepanov

Work around a compile error on Solaris 9 (Sun C 5.5).
Bug 688411

DETAILS :
Solaris 9 (Sun C 5.5) compiler cannot initialize a 'const' array unless it is
'static const'.

[src/gxshade6.c]

2005-12-08T21:13:22.000000Z Alex Cherepanov

Work around a bug in PDF files produced by SPIRIT 12.30.
Create the missing root of the page tree when /Pages entry in the
document root points directly to the 1st page instead of the /Pages node.
Fix bug 688419 from customer 850.

[lib/pdf_main.ps]

2005-12-07T19:55:35.000000Z leonardo

Fix (pdfwrite) : Imprecise clipping.

DETAILS :

Bug 688407 "pdfrwrite : A shading displaced converting Altona_Visual_1v2a_x3.pdf".

When a clipping path is a single rectangle,
rounded coordinates were written into PDF,
because the internal representation rounds them to device pixels.
This doesn't comply with complex cases, in which clipping path
is written as a high level object with unrounded coordinates.
After scaling the generated PDF visual defects appeared.

EXPECTED DIFFERENCES :

pdfwrite 300dpi :

"Altona-Testsuite_p2_S_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"Bug688308.ps"
"test.pdf"

[src/gdevpdfd.c]

2005-12-07T12:53:30.000000Z leonardo

Fix (pdfwrite) : A coding style improvement.

DETAILS :

This change is syntacticly equivalent.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-12-05T19:14:22.000000Z Ray Johnston

Change handling of /URI key/value pair in pdfmark parameters to move it
from the upper level Annot dict down into the /A (Action) dict with a
/A (Subtype)i value of /URI so that Adobe Reader will recognize it as a
hyperlink to a web site. Bug 688414 for customer 515.

DETAILS:

The URI key/value pair from the pdfmark list would ordinarily go into
the upper level Annot dict. Instead this is deferred and processed with
the /Action (/A) into the /A dict. A /S key with value /URI is also added
into the /A dict. This is done prior to processing keys that may have
been present in the /Action key, so that any /S (or /Subtype) and any
/URI from the pdfmark /A list will replace the one we move from the
Annot dict. This may not be exactly what Distiller does in the event
of such a conflict.

EXPECTED DIFFERENCES:

None. (doesn't change the appearance, just the action when viewed with
Adobe Reader).

[src/gdevpdfm.c]

2005-11-30T16:56:01.000000Z leonardo

Fix (pdfwrite) : ToUnicode CMap was written with incorrect Postscript.

DETAILS :

CMapName was undefined in the ToUnicode CMap stream.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtw.c src/gdevpsfm.c]

2005-11-29T12:32:57.000000Z leonardo

Fix : Dangling pointers after a font cache overlow.

DETAILS :

Bug 688392 "Crash after font enumeration."

When a scaled font is being removed from the font cache,
the old code released its UID. However other fm pairs
in the cache could store copies of same UID.
Those copies got dangling pointers to UID data.

We're not sure why the old copy resets UID of a font
when a font is being excluded from cache.
Likely it is an incorrect hack.

This patch disables the hack and documents our
understanding of the old code. See comments in code.

EXPECTED DIFFERENCES :

None.

[src/gsfont.c]

2005-11-26T04:26:31.000000Z Ray Johnston

Handle yet enother possibly invalid PDF where the /Subtype of a FOnt is
/ (and empty name). BUg 688398 for customer 850.

DETAILS:

This was checked for in one path, but not both.

[lib/pdf_font.ps]

2005-11-25T20:22:19.000000Z leonardo

Fix : Prevent a crash with an invalid FontInfo.

DETAILS :

Bug 688355 "Segmentation fault occurs in rendering Japanese text".

The test document defines a Type 3 font, in which FontInfo has a string value.
That isn't a correct Postscript, but we prefer to make it not crashing.

EXPECTED DIFFERENCES :

None.

[src/zbfont.c]

2005-11-25T15:01:52.000000Z Alex Cherepanov

Fix a SEGV in ps2pdf conversion of imagemask when -dConvertCMYKImagesToRGB=true
Fix bug 688390

[src/gdevpdfi.c]

2005-11-23T18:09:40.000000Z Raph Levien

Fix: Remove attempt to cleanup GS state at gs_abort(), because the
attempt to cleanup often triggers a recursive abort. Fixes bug #603934.

[src/imain.c]

2005-11-23T17:44:37.000000Z Ray Johnston

Regularize the use of signalerror (a private Ghostscript operator used to
report errors from within PS procedures) so that standard PS operators
use the systemdict version (which is usually defined with 'odef') so that
the error message is not misleading. Fix one instance of a missing operator
name below the error name on the stack. Bug 687806.

DETAILS:

There is still some possibly confusing usage of signalerror where the
operator operand is of the form /pseudo_operator cvx /errorname signalerror.
I did not change these.

[lib/gs_devcs.ps lib/gs_dps.ps lib/gs_diskn.ps lib/gs_res.ps lib/gs_l2img.ps lib/gs_ll3.ps lib/gs_btokn.ps lib/gs_fapi.ps lib/gs_pfile.ps lib/gs_setpd.ps lib/gs_cmap.ps lib/gs_devpxl.ps lib/gs_init.ps]

2005-11-23T14:09:22.000000Z leonardo

pdfwrite : Provide a PDF/A document conformity.

DETAILS :

This patch is a part of the PDF/A project.
Provide object conversion when PDF/A doean't allow
a specific object type :

- Check device parameters compatibility (gdevpdfp.c).
- Skip transfer functions (gdevpdfg.c).
- Skip image interpolation (gdevpdfj.c).
- Convert transparency into bitmaps (gdevpdft.c).
- Execute /PS pdfmark streams (gs_pdfwr.ps), and fix a bug (stack balance) in there.
- Add a sample PDF/A definition file.
- Update the user manual with PDF/A generation.

Minor change :
- Fix a comment in PDFX_def.ps .

EXPECTED DIFFERENCES :

None.

[lib/PDFX_def.ps src/gdevpdfp.c doc/Ps2pdf.htm src/gdevpdft.c src/gdevpdfg.c lib/PDFA_def.ps src/gdevpdfj.c lib/gs_pdfwr.ps]

2005-11-23T06:51:22.000000Z Dan Coby

Fix for 688348 transparency image smask bug.  The test file used PDF 1.4
transparency and had an SMask which was a type 1 image with 16 bits per
component.  The SMask logic assumed a maximum of 8 bits.  There was a
second problem with the image enumerator structure not being initialized
with the imager state.

[src/ztrans.c src/gximag3x.c]

2005-11-21T19:50:07.000000Z leonardo

pdfwrite : Extract FontInfo information from TrueType font data.

DETAILS :

This patch provides font metadata for the PDF/A project for
True Type fonts, which have insufficient FontInfo data.

The new function gs_type42_font_info is a special method
for True Type font subclasses. It extracts data from the 'name' table
of a True Type font data. pdfwrite calls it when creating a stable copy
of a Type 11 or a Type 42 font. Later the data
is being accounted by pdf_write_font_metadata.

Note that PDF True Type fonts are not necessarily include a 'name' table.
Therefore re-distilling a PDF may give insufficient Metadata
for the PDF/A format.

Minor change : fix Cygwin/gcc warnings in gdevpdfe, gdevpdtb;
some dependencies were missed in devs.mak .

EXPECTED DIFFERENCES :

None.

[src/gdevpdtb.c src/gxfont42.h src/gstype42.c src/gdevpdfe.c src/zfont42.c src/devs.mak]

2005-11-21T19:46:11.000000Z Raph Levien

Fix: Disable run-length grouping of identical pixels when image is rotated
or skewed, as numerical problems at T-joins of rectangles can cause
dropouts. Fixes bug #688362 and #688179.

[src/gxicolor.c]

2005-11-21T19:00:45.000000Z Ray Johnston

Clarify the Ps2pdf usage, particularly the use of array and dictionary
distiller options when using the script/batch 'helper' files and the
limitations imposed by the simple script. Bug 687373. Thanks to Richard
Yeh, Alex Cherepanov and Ralph Giles for suggestions.

[doc/Ps2pdf.htm]

2005-11-20T20:21:18.000000Z Alex Cherepanov

Fix an error in Unicode to ASCII conversion when the font name is empty string.
Fix bug 687938

DETAILS :
This problem is caused by a TrueType font that has no PostScript font name,
for instance urdunast.ttf. GS 8.10 added Unicode to ASCII conversion for the
font name but the code assumed that the name length > 0 . This patch skips
Unicode to ASCII conversion for empty names.

[lib/gs_fonts.ps]

2005-11-18T02:16:00.000000Z Ray Johnston

Add capability to display text Value strings in Widget Annotations. Multi
line support is not yet implemented, but basic Tx types are supported with
/DA appearance string (used to select font and color, etc.) as well as /Q
(quadding == justinfication) properly supported. Bug 688368 for customer
#670.

DETAILS:

This is an initial implementation sufficient for the customer's immediate
requirement. NYI includes handling Flag (/F and /Ff) bits, one of which
is supposed to make the rendering "invisible".

Note that if the /AP keyword is present, that appearance will be used to
render the Annotation rather than the /V value based rendering. This was
needed to properly render the 01_001.pdf where both keys are present.
Presumably, the /AP appearance was 'baked in' by the form filling application.

Also note that the /DA string in the sample file used "/FontName scale Tf"
which required making the /Tf implementation handle both a font dictionary
(usual case) as well as a font name (pdf_ops.ps change).

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

2005-11-17T02:09:09.000000Z Alex Cherepanov

Use .bind operator (instead of bind) in the image interpolation logic because
it is nor affected by -dDELAYBIND or -dNOBIND flags. The redefinition logic
assumes that all operators, including .interpolate are bound, i.e. requires
a working bind operator.
Fix bug 688231

[lib/gs_init.ps]

2005-11-16T22:17:29.000000Z Alex Cherepanov

Pacify Valgrind warnings, initialize the image buffer overshot area.
Partial fix for bug 688379

[src/scfe.c]

2005-11-16T21:18:37.000000Z Alex Cherepanov

Insert a space character before "%%" or "%!" in ASCII85Encode filter
to avoid confusion with DSC comments.
Fix bug 688079

DETAILS :
ASCII85Encode filter has a special treatment of some output lines that looks
like DSC line, (ie. lines that begins with %% or %! are broken after first
percent). This didn't work when the last line of encoded stream begins with %%
and input stream was ended not on full 4-tuple.

EXPECTED DIFFERENCES :
None

[src/sfilter2.c]

2005-11-16T20:33:57.000000Z Alex Cherepanov

Work around a bug in PDF files produced by Enfocus PitStop 3.1. Handle
annotation border object depending on the actual type of the object, not the
key name.
Fix bug 688013

DETAILS :
Enfocus PitStop 3.1 generates bad PDF files, which have annotation border
dictionary on /Border key (instead of /BS). PitStop is a well-known application
and GS can easily work around this bug.

EXPECTED DIFFERENCES :
None

[lib/pdf_draw.ps]

2005-11-16T20:00:06.000000Z Alex Cherepanov

Improve error reporting in the jpeg driver. Initialize report_error member of
jpeg encoding stream and propagate stream exceptions to the interpreter level.
Fix bug 688005

[src/gdevjpeg.c]

2005-11-16T16:34:51.000000Z leonardo

pdfwrite : Generate a font Metadata.

DETAILS :

This patch provides font metadata for the PDF/A project.
True Type fonts need a further improvement -
need to get Coipyright, Owner from the TT data.

1. Define a new device parameter PDFA. It is not yet documented
because PDF/A project isn't complete.
2. gx_device_pdf::uuid_time keeps an unique time for all UUIDs
to minimize an indeterminizm.
3. Made pdf_base_font_s be public : moved to gdevpdtf.h .
4. pdf_write_embedded_font computes an MD5 sum of the font
for generating an instance id for the font.
5. The new function pdf_font_metadata perform the main work.

Foe now pdf_write_font_metadata uses some inaccurate coding with
copy&replace. Doing so because we don't know the final structure yet.
Will factor out common subfunctions later.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c src/gdevpdtb.c src/gdevpdfe.c src/gdevpdfb.h src/devs.mak src/gdevpdtf.h src/gdevpdfg.h]

2005-11-15T22:48:46.000000Z leonardo

pdfwrite : Generate document Metadata (continued 1).

DETAILS :

It fixes an indeterminizm in the recent code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfe.c]

2005-11-15T13:27:17.000000Z leonardo

Fix : An unitialized data access.

DETAILS :

We detected sevral problems with running comparefiles with pdfwrite with
enabling floating point interrupts (patch IM866).
This patch fixes an unitialized data access, or inaccurate type casts.
These problems may relate to Bug 688379
"pdfwrite: an indeterministic behavior with Bug687660a.ps",
rather we could not get a proof for that
due to instability of the effect in the old code.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/ztrans.c src/gdevpsft.c src/gxhldevc.c src/gdevpdfg.c src/gdevpdti.c src/zchar1.c]

2005-11-14T20:22:47.000000Z leonardo

Fix (pdfwrite) : /BP pdfmark could create dead PDF objects (continiued).

DETAILS :

Bug 687560 "Invalid PDF if /BP pdfmarks with non-unique /_objdef".

Changes to gdevpdfm.c :
1. The new function pdfmark_bind_named_object provides a correct association
   of an object with an object name, accounting forward references
   and duplicate objects. Now it is used in pdfmark_SP and pdfmark_EP.
   as an uniforem method for such association.
2. pdfmark_PS objects are now written when created. The old code missed them.
3. Add a comment about an important constraint in pdfmark_BP,
   which is a consequence of basic assumptions.
4. Issue rangecheck if an object is attempted to modify after it is written.

Chanes to gdevpdfu.c :

pdf_find_same_resource now works for named resources.

Changes to gdevpdfo.c :

Since pdf_substitute_resource in pdfmark_EP can associate one object
with multiple names, the freeing logic is improved
to avoid crashes due to dual freeing of objects.

General consequences :

1. The new code writes an object whenever it is defined,
with no regard whether it is referred or not.
If one needs an optimization with skipping
unreferenced objects, the named object handling logics
to be changed dramaticly with distinguishing a storage for
all objects and a storage for currently named objects.
An object must get special mark whenever it is referred
(it would be a big distrubuted change through the code).
Writing all objects to be delayed until the document end,
and a garbage collection to be implemented for that storage.

2. We do not reproduce a part of Adobe Distiller behavior,
which allows to modify objects when they are being created between
pdfmark_BP and pdfmark_EP. Particularly this prohibits self-referenced objects.
This is a strong consequence of (1).
(Note that the bug 687560 examples miss a big class of cases when
the creating object is referenced with /PUT pdfmark during its creation.
Those examples show only cases when it is being modified.).

3. Users should not define "pdfmark libraries" with multiple object definitions,
which are not really used. We realize that such libraries may be useful
for a better modularity of document creation algorithms.
However we do not have enough engineering resources to
develop this area, and we have no real customer demand on it.
Instead that object definitions to be included into source PS code
only if they are really used in the document.

Thanks to SaGS for supplied test cases.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfo.c src/gdevpdfu.c]

2005-11-14T11:40:53.000000Z leonardo

Fix (pdfwrite) : Generate ToUnicode CMap data from 'uniXXXX' character names.

DETAILS :

Bug 688373 "Text does not extract with correct codes".

We guess it's another undocumented feature of Adobe Distiller.
Some Type 1 fonts appear to contain Korean glyphs with
glyph names in the format uniXXXX, where X is a hexadecimal character.
Adobe Distiller 6 looks to recognize them when generating ToUnicode.
Now we do same.

We're not sure on what condition the recognition may happen.
For now we do whenever a simple font (Type 1,2,42) has no GlyphNames2Unicode entry
for the given glyph.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtc.c src/gdevpdte.c src/gdevpdtt.h src/gdevpdti.c]

2005-11-13T17:44:21.000000Z leonardo

Fix (TT font parser) : An incorrect Encoding entry type appeared.

DETAILS :

When a glyph index past end of 'post' table,
the old code produced Encoding entries of integer type.

Bug 688370 "pdfwrite segfault with TT font cmap warnings post is incomplete".

EXPECTED DIFFERENCES :

None.

[lib/gs_ttf.ps]

2005-11-13T17:42:07.000000Z leonardo

Fix (pdfwrite) : Prevent a crash due to an incorrect Encoding of a Type 42 font.

DETAILS :

When a Typoe 42 font has Encoding entries of the integer type,
the old code crashed with GPF.

1. Check Encoding entry type and return invalidfont on error (gxfcopy.c, hunk 1).
2. Propagate return codes (gdevpdtb.c, gdevpdtt.c).
3. When creating a complete copy of a Type 42 font, ignore pending Encoding entries
   since 033-52-5873.pdf and 159.pdf include some (gxfcopy.c).
   (This supposes that the document doesn't refer them. If it does,
   another error will happen when creating the font subset.)

This is a partial fix for the bug 688370
"pdfwrite segfault with TT font cmap warnings post is incomplete".

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/gdevpdtb.c src/gdevpdtt.c]

2005-11-13T14:59:01.000000Z leonardo

Fix (pdfwrite) : The DestOutputProfile stream dictionary requires the N entry (improved).

DETAILS :

This improves the last patch : a lesser input data required,
because N computes from ProcessColorModel.

EXPECTED DIFFERENCES :

None.

[lib/PDFX_def.ps]

2005-11-13T09:18:37.000000Z leonardo

Fix (pdfwrite) : The DestOutputProfile stream dictionary requires the N entry.

DETAILS :

Adobe Reader 7 could not open files generated with PDFX option.
The PDF specification defines the N entry as a required one.

EXPECTED DIFFERENCES :

None.

[lib/PDFX_def.ps]

2005-11-11T16:32:47.000000Z Ray Johnston

Nightly regression cannot tolerate '_' instead of '-' in GS_PRODUCT string.
Revert to '-' so that change_gsproduct works.

[src/gscdef.c]

2005-11-11T12:35:37.000000Z leonardo

pdfwrite : Generate document Metadata.

THIS IS INCOMPATIBLE CHANGE.

Adobe Distiller 5 generates metadata according to Adobe XMP speification
iff the distiller parameter ParseDSCCommentsForDocInfo or PreserveEPSInfo is true.
Old versions of Ghostscript does not do that.
New versions of Ghostscript do when CompatibilityLevel >= 1.4 (default).
Generated PDF documents become longer in about 1.5 kilobytes.

See the documentation change about new command line options and distiller parameters.

DETAILS :

It's a part of the PDF/A project.

This is an initial commit for the subject.
It generates Document metadata as Adobe Distiller 6 does
for a simple file (Genoa test 001-01.ps).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/smd5.h src/gdevpdfp.c src/gdevpdf.c doc/Ps2pdf.htm src/gdevpdfe.c src/gdevpdfb.h src/devs.mak src/smd5.c src/gdevpdfg.h]

2005-11-09T18:37:29.000000Z Ray Johnston

Bump version to 8.54 CVS PRE-RELEASE after the 8.53 release.

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

2005-11-09T17:27:24.000000Z Ray Johnston

Improve documentation of -d and -c switches (slightly). Thanks to Chapman
Flack for his suggestions. Bug 688321.

[doc/Use.htm]

2005-11-09T12:55:45.000000Z leonardo

Fix (pdfwrite) : Provide Resources dictionary for Type 3 fonts.

DETAILS :

Bug 688357 - epstopdf does not include /Resources in Type3 fonts

The PDF specification defines Resources dictionary of a Type 3 font
to be  "optional but strongly recommended".
Linux Acrobat Reader Version 7.0.1 07/27/2005 appears not handling the "optional" case.
Now we provide explicit Resources sinse that reader version is widely distributed.

The Resources dictionary of a Type 3 font is a PDF 1.2 feature.
To provide a compatibility to PDF 1.1,
the old code implemented a special mechanizm for transmitting resources of
a Type 3 font to pages, which use the font.

This patch disables that mechanizm when CompatibilityLevel >= 1.2 in gdevpdte.c .
Instead that it creates Resources of a Type 3 font as a cos_dict_t instance
in gdevpdtf.h, gdevpdtt.c, and writes it out when the font is being written
in gdevpdtw.c .

gdevpdti.c now installs Resources dictionary of a Type 3 font
to accumulate resources of its charproc streams.
Note that the name substream_Resources does not longer reflects
its semantics perfectly : for a charproc stream it is Resources of
the font, rather than Resources of the charproc stream
(the pdf spec doesn't define the latter).
Keeping the old name to simplify the patch.

In the old mechanizm we replace used_resources and relatives with Resources,
because those two things are similar. The goal is to simplify data structures and logics.
For doing so we implement new functions cos_dict_forall, process_resources1, process_resources2.
This appears some less effective due to searches in process_resources1, process_resources2,
but we consider the performance low important because PDF 1.1 isn't highly useful in the modern world.
Also removed the related accessor pdf_register_charproc_resource.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdfo.h src/gdevpdtf.c src/gdevpdtw.c src/gdevpdti.c src/devs.mak src/gdevpdtf.h src/gdevpdfj.c]

2005-11-06T19:21:07.000000Z Ray Johnston

Make sure procedure target of an Encode filter gets called with the end
of data condition, i.e., 'false' condition. Bug 688326.

DETAILS:

When a procedure is a data target, it is signalled that it has been closed by
one final callback with a possibly empty string containing any final buffered
data, and the boolean false.

When 'last' was true if the count was 0, the previous code would not return
CALLC status which is needed to call the procedure with the 'false' status.
If ss->eof is already true, then the call has already been done.

This condition is not checked in any of the Genoa test suites.

EXPECTED DIFFERENCES:

none.

[src/zfproc.c]

2005-11-02T13:17:58.000000Z leonardo

Fix (pdfwrite) : Safely close the output file when the device initialization fails.

DETAILS :

Bug 688345 "Keeping output PDF file open when quitting".


EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c src/gdevvec.c]

2005-10-25T09:17:45.000000Z Russell Lang

Add the jpeg, libpng and zlib libraries to the list of files
needed for building a Windows release.

[doc/Release.htm]

2005-10-24T17:52:21.000000Z Ray Johnston

Fix for regression introduced with patch for 688182 (rev 1.46). The /Length
entry is required in stream dicts to prevent undefined in --get-- errors.
If the Length is invalid, set it to 0 to prevent using the incorrect value.
Fixes bug 688347 for customer 770.

EXPECTED DIFFERENCES:

None.

[lib/pdf_base.ps]

2005-10-20T23:41:48.000000Z Dan Coby

Fix for 688344 Error: /invalidaccess in --setfileposition-- after finding
bad XREF.

DETAILS:

The test file contains xref table entries that have locations beyond the
end of the file.  When the xref table entries were being verified, this
would cause an attempt to seek beyond the end of the file.  This closed
the file.  The attempt to rebuild the xref table then crashed.

The fix consists of adding a check for xref entry locations being within
the file.

[lib/pdf_main.ps]

2005-10-20T20:14:37.000000Z Ray Johnston

Final updates to Change logs and History prior to 8.53 release.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2005-10-20T19:46:55.000000Z Ray Johnston

Update doc files and version files for 8.53 release.

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

2005-10-20T19:42:18.000000Z Ray Johnston

Remove trailing ^M () characters.

[src/slzwd.c src/gdevbmp.c]

2005-10-20T18:51:13.000000Z Raph Levien

Fixes broken compile on amd64 platforms (see bug #688047 for details).
This patch should be safe on all platforms with 32-bit longs, and is
my best guess as to the right thing to do on Tru64 (where long is 64
bits).

[src/tttypes.h]

2005-10-20T13:04:16.000000Z leonardo

Fix (pdfwrite) : Suppress floating point number format in pdfmark operands (continued 2).

DETAILS :

Bug 688167 "change of real number fomat from fixed to exponential format".

The last patch doesn't correctly handle numbers between 1e-7 and 1e-2.

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-10-18T20:31:59.000000Z leonardo

Fix (pdfwrite) : Suppress floating point number format in pdfmark operands (continued).

DETAILS :

Bug 688167 "change of real number fomat from fixed to exponential format".

This improves the patch
http://ghostscript.com/pipermail/gs-cvs/2005-September/005717.html
with writing small reals in a fixed point number format.

We did it after Raph's request in Comment #5 of the bug 688167.
But we don't see a visible difference against the old implementation with any viewer.
Therefore we believe that we shouldn't have done it (as we did before the implementation).
Storing it now mainly for archiving purpose.

If this change causes a problem, the author has no objection for unwinding it.

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-10-18T09:05:58.000000Z leonardo

Fix (pdfwrite) : Indexed colors were distorsed with encryption.

DETAILS :

Bug 688313 "pdfwrite : image colors depend on encryption".

The old code applied encryption with a wrong (zero) object id to
the palette of the indexed color space. After a viewer decrypts
the palette with a right object id, colors appear wrong.

1. Use the PS string encoding instead the hexadecimal string encoding
while converting the palette to PDF format (gdevpdfc.c).
It provides a correct work of the part 3 below.
See also part 4 below.

2. Don't apply encryption when adding the palette
to cos object (gdevpdfc.c, devs.mak).
The old code was hacky, and new one is based on a general convention.

3. Apply encryption with a right object id
to the string which represents the palette
when writing the cos object to the output PDF file.
This is an implicit consequence of
using the PS string encoding in the part 1
due to a general convention about
applying encryption when writing cos objects to the output file.

4. Disable writing hexadecimal strings because their
encryption is not yet implemented (gdevpdfu.c).

The generated PDF may become longer in 1-2 kilobytes per palette
due to PS encoding is less effective for palettes.
This could be optimized with implelenting an encryption method
for hexadecimal encoded strings in pdf_put_encoded_hex_string,
and undo the part 1. The method should apply 3 filters :
hexadecimal string decode, arc4 encode, hexadecimal string encode,
because cos object stores strings in the outer format.
Delaying this optimization for better times.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c src/gdevpdfc.c src/gdevpdfu.c src/devs.mak]

2005-10-18T07:58:42.000000Z leonardo

Fix (pdfwrite) : Propagate error codes from pdf_write_value.

DETAILS :

This is a preparation for fixing the bug
688313 "pdfwrite : image colors depend on encryption".

In cases when no error happens, this code is algorithmocally equivalent.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfo.c src/gdevpdfu.c]

2005-10-17T19:23:44.000000Z leonardo

Fix (pdfwrite) : /BP pdfmark could create dead PDF objects (continiued).

DETAILS :

Bug 687560 "Invalid PDF if /BP pdfmarks with non-unique /_objdef".

1. Prevent a potential crash while dereferencing NULL.
2. Don't put unnamed objects into local_named_objects.

Thanks to SaGS for pointing these problems out.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2005-10-12T17:59:55.000000Z leonardo

Fix : Don't instantiate pattern when rendering to null device.

DETAILS :

Bug 688308 "Error: undefined; OffendingCommand: .type1execchar".

The test case executes cshow or kshow with intrevene changing
the current color space, causing a color load callout from fill_with_rule
_after_ the callout completes. After that the check
ctile->depth == dev->color_info.depth in gx_pattern_cache_lookup fails
(not sure why - probably due to gsave-grestore in the pattern procedure).
This patch skips entire character drawing when the device is null,
so that those cumbersome stuff isn't envolved.

EXPECTED DIFFERENCES :

None.

[src/gspaint.c src/gsdevice.c src/gxdevcli.h]

2005-10-12T11:05:11.000000Z leonardo

Implementing a pointer stability validation in the garbager, continued.

DETAILS :

This patch is currently disabled, so the change is syntactically equivalent.

Bug 688226 "The garbager must check a pointer stability.".

This fixes a minor bug in the last patch.

EXPECTED DIFFERENCES :

None.

[src/ilocate.c]

2005-10-12T10:45:21.000000Z leonardo

Implementing a pointer stability validation in the garbager.

DETAILS :

This patch is currently disabled, so the change is syntacticly equivalent.

Bug 688226 "The garbager must check a pointer stability.".

This patch extends the object header with a space order number field,
and compares the origin and the destination order numbers for each pointer
while validating the heap. The enhanced object header is still
within 16 bytes with the 32-bits architecture. See ialloc_validate_pointer_stability
about the order number definition.

This patch detected so many problems while running any document,
as we can't enable it now. It is disabled with IGC_PTR_STABILITY_CHECK
macro defined in gxobj.h .

EXPECTED DIFFERENCES :

None.

[src/gxobj.h src/gxalloc.h src/ilocate.c src/ialloc.c src/gsalloc.c]

2005-10-12T08:16:50.000000Z leonardo

Fix (pdfwrite) : Skip a clip path, which is set by setcachedevice (continued after July 28 205).

DETAILS :

Bug 687678 "pdfwrite : A Type 3 character cut-off".
Bug 688327 "incorrect masking fill in pdfwrite".

The old patch for this problem appears to define a too weak
condition for recognizing a clipping set by setcachedevice, sectachedevice2.

Now we think that a special stuff for this condition isn't needed because
the condition may be united with the contition for "setcharwidth" :
both things need to skip the clipping path, which was set exactly by
setcachedevice, sectachedevice2 or setcharwidth.
Checking the rectangle coordinates is not relevant.

Therefore the change consists of 2 parts :
1. Unwinding the patch http://ghostscript.com/pipermail/gs-cvs/2005-July/005625.html (IM1358)
   (see also http://ghostscript.com/pipermail/gs-cvs/2005-July/005626.html).
2. Remowing the (control == TEXT_SET_CHAR_WIDTH) check from pdf_text_set_cache,
   so that the "caching" clipping path will be skipped in any case.

Will add Bug688327.ps to comparefiles.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdfd.c src/gdevpdti.c src/gdevpdfb.h]

2005-10-11T10:04:28.000000Z leonardo

Fix (PS interpreter) : Allocate gs_screen_enum in same space as its components.

DETAILS :

Bug 688330 "A dangling pointer in gx_screen_enum.".

The old code allocates gs_screen_enum in current memory space and frees to
the memory space of its components, which is obtained from
the 'setscreen' operand (the spot function).
In the test case the first memory space is local, and the second one is global.
We guess the last statement became true after a recent change to the PDF interpreter.

This patch allocates gs_screen_enum in same space as its components.
The pritotype of zscreen_enum_init has been changed due to no method for
obtaining a space attribute value for iref from a gs_memory_t instance
(well, generally it is impossible, but one could solve if the memory
allocator is a PS interpreter's allocator except stable ones).

We noticed that components of gs_screen_enum have pointers to memory
allocator structures, but don't list them in the related memory descriptors.
We're not sure whether a memory allocator structure may relocate or not -
our investigation through code didn't give an unique answer.
For now we leave component descriptors as they were before the patch.

EXPECTED DIFFERENCES :

None.

[src/zht.c src/zht1.c src/zht2.c src/iht.h]

2005-10-10T19:09:30.000000Z leonardo

Fix: Cygwin/gcc warninhs.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfb.c src/devs.mak]

2005-10-10T18:58:18.000000Z leonardo

Optimizing the transparency compositor.

DETAILS :

Bug 688255 "ai7 pdf fails on 7.03, runs for ten + minutes on 8.51".

The old code always allocates a transparency buffers for entire band.
The new code accounts group bbox to minimize buffers.
Due to that buffers appear empty for many of bands.
The time consumption for the test case of the bug 688255 is dropped in about 100 times
(from 8000 seconds to 71 seconds on a 3.07GHz machine, measured with debug build).

1. The transparency bbox computes in pdf14_begin_transparency_group from
   the group bbox and the CTM (gdevp14.c).
2. Handle an empty buffer pdf14_buf_new, pdf14_pop_transparency_group (gdevp14.c).
3. Fixed a bug in the rectangle clipping in
   pdf14_mark_fill_rectangle, pdf14_mark_fill_rectangle_ko_simple.
   The old code didn't sense it because bbox always covered entire band (gdevp14.c).
4. Write the bbox to clist in c_pdf14trans_write and read it in c_pdf14trans_read.
5. The pdf14 compositor needs CTM to transform the group bbox to the device space.
   Forced the writing of CTM to clist before writing the compositor in clist_create_compositor.
   (Sorry, it appears some ugly due to pcte->type->procs.write creates a body
   of a command, but we need to create a set of two commands;
   Another minor optimization - a narrowing the set of bands - is delayed,
   see comments in code in clist_create_compositor) (gxclimag.c).
6. New functions cmd_write_ctm_return_length, cmd_write_ctm are factored out for (5)
   (gxclpath.c, gxclpath.h). This part of the change is algorithmically eqiuivalent.
7. Minor change : fixed coding style of "} else {" in gdevp14.c .

EXPECTED DIFFERENCES :

None.

[src/gxclpath.h src/gxclpath.c src/gdevp14.c src/gxclimag.c]

2005-10-07T19:49:25.000000Z Ray Johnston

Add missing space in CVS PRE-RELEASE string.

[src/gscdef.c]

2005-10-07T19:46:35.000000Z Ray Johnston

Bump version after the 8.52 release (to 8.53 CVS PRE-RELEASE).

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

2005-10-07T18:58:40.000000Z Ray Johnston

Commit final documentation that is automatically created by release scripts.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2005-10-07T18:35:42.000000Z Ray Johnston

Update to final release date for 8.52

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

2005-10-07T18:09:38.000000Z Ray Johnston

Remove this script that is no longer used in the release process. We now
use cvs2cl.pl third party script.

[toolbin/cvs2hist.py]

2005-10-07T18:02:22.000000Z Ray Johnston

Fix serious bit rot for building History# and Details# from Changes and
Details created by split_changelog.py. Allows the instructions in Release.htm
to actually work. This file invoked by toolbin/makehist.tcl.

DETAILS:

This script really hasn't worked since we changed to the new format Changes
that is created by cvs2cl.pl (instead of the now deprecated cvs2hist.py)

For all releases after the aforementioned change, the History#.htm and
Details#.htm were being hand edited. Hopefully the format created by
this script will appear consistent with that created manually.

[toolbin/makeset.tcl]

2005-10-05T14:37:59.000000Z Ray Johnston

Two changes needed to fix a single bug. First, the GC 'limit' logic was
collecting too frequently. Second, the PDF ICCBased colorspace logic was
repeatedly creating a ReusableStreamDecode filter for the DataSource
element. Fixes bug #687117 for customer #850.`

DETAILS:

The 'limit' value used to trigger a GC process was sometimes set to a
number smaller than the 'inheritied' value. This resulted in a GC scan
on every interpreter loop past the gc_signal check.

Even with this fixed, the file ran slower than the -dNOGC case because
the PDF interpreter 'csset' logic would set the ICCBased colorspace that
would create a new ReusableStreamDecode filter from the DataSource on
every 'Do' of the many images used to paint the logo (line by line).
The reusablestreamdecode logic would allocate a 64000 byte string (only
3144 bytes of which were actually retained) so after about 8 images the
allocations would exceed the limit and another GC would run (freeing up
the space used by those 8 large strings and 7 of the small ones along
with miscellaneous stuff).

The fix for the second issue was to check if the ICCBased colorspace
had already been 'resolved' (was a dicttype instead of a procedure that
was an indirect reference). Since the initial processing of the ICCBased
colorspace created a ReusableStreamDecode filter for the DataSource we
are able to skip all of this preparation logic.

EXPECTED DIFFERENCES.

None (except a speed increase). The regression I ran reduced from 9000 sec
to 8700 sec.

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

2005-10-04T19:24:49.000000Z Ray Johnston

Update change logs for 8.52 release.

[doc/Changes.htm doc/Details.htm]

2005-10-04T17:51:52.000000Z Ray Johnston

Tolerate 'null' as a single argument form of setcustomcolor. This is not
documented in TN5044, but older Adobe ProcSets apparently use this mode.
Fixes 'misc/cnurse.ps' of the smoke test used prior to release.

[lib/gs_lev2.ps]

2005-10-04T06:30:02.000000Z Ray Johnston

Fix (some of) the gcc compiler warnings (at least the really easy ones).

[src/gsiorom.c src/zfcmap.c src/zdps1.c src/ztrans.c src/genht.c src/zdevice2.c]

2005-10-04T01:07:20.000000Z Ray Johnston

Commit updates for 8.52 release -- documentation dates and GS_PRODUCT

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

2005-10-01T04:40:18.000000Z Dan Coby

Fix for 688316 SeparationOrder device parameter causes "/undefined in
--get--".

DETAILS:

The fix for 688192 created a problem with the handling of the
SeparationOrder device parameter.  That fix changed when device parameter
values were updated into the device structure.  This caused a problem
when checking the colorant names for the SeparationOrder parameter.

[src/gdevdevn.c src/gdevdevn.h]

2005-09-30T19:11:23.000000Z Ray Johnston

Add missing documentation for lib/PDFX_def.ps.

[doc/Psfiles.htm]

2005-09-29T18:35:18.000000Z leonardo

Fix (pdfwrite) : Improve DCT compression quality with a hewristic choice of DCT encoding parameters (continued 3).

DETAILS :

The first patch for the subject used an incompatible type for
representation of HSamples, VSamples in the intermediate parameter list.
It caused another compiler dependent effect when choosing DCT parameters.

Also changed the dominatrion factor to pass color spaces of Altona-Testsuite_p2_S_x3.pdf
as RGB-like ones.

EXPECTED DIFFERENCES :

None with Windows/MSVC2005.
On Linux may fix more 2005-09-23 regressions, which left on 2005-09-29.

[src/gdevpsdi.c]

2005-09-29T15:24:53.000000Z leonardo

PDF interpreter now processes ToUnicode CMaps when the target device is pdfwrite (continued).

DETAILS :

This minor fix removes an unintended debug printing.

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps]

2005-09-29T08:36:00.000000Z leonardo

Fix (pdfwrite) : Improve DCT compression quality with a hewristic choice of DCT encoding parameters (continued 2).

DETAILS :

The first patch for the subject defined an incorrect condition for matrix diagonal domination.

In same time, the regression test tool detected differences on Linux, which are not appeared
while testing on Windows. We found out that Windows and Linux builds apply
different DCT encode parameters.

We guess that the reason is that the patched code accesses
the [2][3]th element of a [4][3] array. Such element doesn't exist theoretically,
so the effect may be compiler dependent (rather we're wonder what exactly does it access on Linux,
because [2][3] is still inside the array memory area).

So now we fix the incorrect condition and then will check regressions again.


EXPECTED DIFFERENCES :

None with Windows/MSVC2005.
May fix the 2005-09-23 regressions on Linux.

[src/gdevpsdi.c]

2005-09-28T04:33:27.000000Z Dan Coby

Fix for 688310 pdf open error in op_show_continue.

DETAILS:

This is another example of a file with a singular CTM while processing
text.  There already was some logic in pdf_ops.ps for handling this
sort of situation.  However it did not properly handle this case.  The
fix consists of extending the logic for handling singular CTMs.

[lib/pdf_ops.ps]

2005-09-26T08:20:56.000000Z leonardo

Fix (pdfwrite) : High level pattern handling was incomplete.

DETAILS :

Bug 688307 (the bug title is misleading).

gdev_pdf_fill_mas must not call gx_default_fill_mask with a pattern color,
which is dummy due to high level pattern handling.
Actually it's a missed code branch since high level pattern were implemented.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfb.c src/devs.mak]

2005-09-23T18:21:23.000000Z Ray Johnston

Change reporting of some noisy (irritating) Warnings generated from many
PDF files that don't strictly follow the spec. Bug 688229.

DETAILS:

The "fonts with Subtype = /TrueType" and "Embedded font uses undefined proc"
messages could occur MANY times in PDF files. I'm sure users will get the
point as well with this approach that only gives the warnings once at the
end of processing, with the list of offensive printed once. Particularly
for the TrueType font issue it might make it easier to figure out which
fonts are missing (and thus substituted) since each font is only listed
once and the list is sorted (which will collect font families together).

EXPTECTED DIFFERENCES.

None (execpt the gs-stderr log will now be shorter).

[lib/pdf_main.ps lib/pdf_font.ps]

2005-09-22T16:11:37.000000Z Ray Johnston

Fix handling of TrueType fonts with zero length name tables. Bug 688305
for customer 870.

DETAILS:

This worked with a very old gs_ttf.ps, but since we didn't have any such
files in our regression suite, whatever caused the regression is unknown.
Detecting zero length name tables and returning false is straightforward.

EXPECTED DIFFERENCES.

None (ran existing regression suite).

[lib/gs_ttf.ps]

2005-09-21T17:03:43.000000Z Ray Johnston

MSVC 6 cannot convert from int64 to double (not yet implemented error).
Truncate to int prior to conversion to float.

[src/gdevpsdi.c]

2005-09-21T03:24:16.000000Z Ray Johnston

Fix handling of EOD sequences when decoding CCITT data with EndOfBlock
false. Bug 688306 for customer 780.

DETAILS:

Although the PLRM implies that the CCITT EOD sequence(s) will not be present
when EndOfBlock is false (the default is 'true'), Adobe Acrobat will create
PostScript with EOD sequences after the CCITT even when EndOfBlock is false.

There was a comment in the CCITT decoder about this, but once 'rows_left'
went to zero, any EOD sequence was not consumed by the CCITTFaxDecode filter.

The fix checks for and consumes any trailing EOD sequence even when the
EndOfBlock parameter is false. IMHO, this is a really sloppy behaviour
by Adobe Acrobat since they seem to just copy the CCITT data from the input
PDF, but explicitly put EndOfBlock false even though the PDF did not have
the parameter to the filter (defaulting to EndOfBlock true).

EXPECTED DIFFERENCES:

None. Regression test OK.

[src/scfd.c]

2005-09-20T11:35:22.000000Z leonardo

Fix (pdfwrite) : Improve DCT compression quality with a hewristic choice of DCT encoding parameters.

DETAILS :

Bug 687174 "(pdfwrite) DCT compression quality problem".

It implements Raph's suggestion about choosing DCT parameters for 3-component images
depending on the image color space.
If color space looks like RGB, set ColorTransform to 1.
If color space looks like Lab, set ColorTransform to 0.
Otherwise set /HSamples [1 1 1 1] /VSamples [1 1 1 1].
See a motivation in the bug 687174.
See comments in code about details of the hewristic.

Minor change : pdf_setup_masked_image_converter called a memory allocator with
a wrong client name.

EXPECTED DIFFERENCES :

test.pdf

[src/gdevpdfd.c src/gdevpsdi.c src/devs.mak]

2005-09-19T14:12:33.000000Z leonardo

Fix: /SP pdfmark must synchronize the clipping path (continued).

DETAILS :

Bug 688167 "change of real number fomat from fixed to exponential format".

This improves the clipping path synchronization as SaGS suggested
(see the bug 688167 Comment #4).

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-09-16T19:01:30.000000Z Ray Johnston

Fix for double 'endstream' in a Content stream. Now endstream terminates
the object the same way 'endobj' would. Bug 688303 for customer 670.

EXPECTED DIFFERENCES:

None (case did not exist in regression suite).

[lib/pdf_base.ps]

2005-09-16T06:17:34.000000Z Ray Johnston

Fix handling of paths so that 'cm' will affect pending path operations (fill
stroke or clip). Verified that with this patch we do as Acrobat Reader from
4 through 7 does. Bug 688299 for customer 870.

DETAILS:

The basics of using 'upath', then 'uappend' to capture, then replay the
path after the 'concat' done by 'cm' is straightforward, but since the path
may not be used, there may be coordinates that are WAY out-of-range after
an arbitrary 'cm' so we execute the 'uappend' inside a 'stopped' context.

EXPECTED DIFFERENCES:

None. I did a check of all PDF's in the regression suite -- none had
any differences.

[lib/pdf_draw.ps]

2005-09-16T04:03:01.000000Z Ray Johnston

Correct edit problem with previous commit (copy/paste didn't get totally
changed for src/gsiorom.c).

[doc/Develop.htm]

2005-09-16T03:59:44.000000Z Ray Johnston

Add missing documentation in Develop.htm and remove dead code commented out
with C++ style comments to eliminate regression test squawks.

[src/mkromfs.c doc/Develop.htm]

2005-09-14T07:13:51.000000Z Ray Johnston

Add a common case to an optimization check in the memflip function.

[src/gsutil.c]

2005-09-14T07:09:50.000000Z Ray Johnston

Prevent accessing past end of estack block which could occur if screen
enum was not in the current estack block.

EXPECTED DIFFERENCES.

None. (this was only encountered in rare circumstances).

[src/zht.c]

2005-09-12T11:52:33.000000Z leonardo

ps2write : Implementing a generation of PDF/X-3 (continued).

DETAILS :

This change improves the documentation.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm]

2005-09-12T11:34:50.000000Z leonardo

ps2write : Implementing a generation of PDF/X-3.

DETAILS :

This implements the new feature, which is being coontrolled
with a new command line option PDFX, and a new pdfwrite device paramewter with same name.

1. A documentation change, which explains the new feature.
2. A Postscript code change : the DeviceRGB color space substitution, a special handling of /PS pdfmark.
3. A new sample file gs/lib/PDFX_def.ps with default PDF/X-3 definitions.
4. A C code change : force CompatibilityLevel 1.3, force embedding all fonts,
   skip halftone phases and transfer functions, write TrimBox.

EXPECTED DIFFERENCES :

None.

[lib/gs_devcs.ps src/gdevpdfx.h lib/PDFX_def.ps src/gdevpdfp.c src/gdevpdf.c doc/Develop.htm doc/Ps2pdf.htm src/gdevpdtf.c src/gdevpdfg.c src/gdevpdfb.h lib/gs_pdfwr.ps]

2005-09-08T17:32:40.000000Z leonardo

Fix (ps2write) : Suppress floating point number format in pdfmark operands.

DETAILS :

Bug 688167 "change of real number fomat from fixed to exponential format".

An unobvious point in this bug was to find that the coversion happens in
Postscript code of the pdfmark handler rather than in C code of the PDF writer.

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-09-07T20:43:36.000000Z leonardo

Fix (ps2write) : Adjust the graphic state before executing a Form XObject.

DETAILS :

Bug 688293 "opdfread: Wrong graphics state when painting a Form XObject".
Patch from SaGS (see Bug 688293).

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-09-07T18:08:40.000000Z Ray Johnston

Change to accept PDF with names that mis-use the '#" escape character when
characters following the # are not hex (AR 7 does this). Bug 688297.

EXPECTED DIFFERENCES:

none.

[lib/pdf_base.ps]

2005-09-06T22:21:14.000000Z leonardo

Fix (pdfwrite) : Handling transparency as a high level objects, part 12 (fix 2).

DETAILS :

The old code wrote a scratch data for the key /G of a soft mask dictionary,
because the referent was freed earlier. Debugged with -Z?$@ SoftMaskDict.pdf .

EXPECTED DIFFERENCES :

None.

[src/gdevpdft.c]

2005-09-06T20:04:28.000000Z leonardo

Fix (ps2write) : The vector device virtual function dorect was not clipped by page.

DETAILS :

Bug 688279 "ps2write : maybe an incorrect sbstack bottom condition.".

This change fixes a minor problem, which appears in ps2write only.
Doing it almost for a clarity of the code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-09-06T17:18:43.000000Z leonardo

Fix (pdfwrite) : /BP pdfmark could create dead PDF objects.

DETAILS :

Bug 687560 "Invalid PDF if /BP pdfmarks with non-unique /_objdef".

This change relates to pdfmark BP, EP, SP and PS.

1. Delay the object ID assignation untill the stream accumulation is completed.
2. Drop redundant equal objects, substituting references to an old one
   (Equal BP...EP objects appear when BP...EP portion is executed with _same_ graphic state).
3. Delay the storing in the named resource dictionary untill the stream accumulation is completed
   and redundant object is substituted.
4. gx_device_pdf::objname stores the last name for (3).
   It is being saved and restored in the substream stack.
5. The memory descriptor of gx_devoce_pdf is enhanced with objname,
   which is a pointer to string.
6. gsstruct.h adds another memory descriptor macro for (4).
7. Forward references mentioned in the bug 687560 are not supported and cause "undefined".

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdf.c src/gsstruct.h src/gdevpdti.c src/gdevpdfb.h]

2005-09-06T16:22:15.000000Z leonardo

Fix (garbager) : Provide a method for relocating a parameter string and use it in the pdfwrite device (continued).

DETAILS :

The last patch for the subject appears incomplete.
This one adds macros for parameter strings for pointer enumeration.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gsstruct.h]

2005-09-06T13:47:10.000000Z leonardo

Fix (ps2write) : pdf_substitute_resource was misspelled.

DETAILS :

This a cosmetic syntaxical change.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdft.c src/gdevpdfu.c src/gdevpdfg.c src/gdevpdfj.c]

2005-09-05T14:18:27.000000Z leonardo

ps2write : Compact the output file.

DETAILS :

1. Strip whitespaces and comments when writing procsets to the output file.
2. A new device parameter CompressEntireFile allows to apply LZWEncode
   either to the procset or to entire file.
3. When HaveTrueTypes is false, the related part of the procset is being skipped

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h doc/Ps2ps2.htm src/gdevpdfp.c src/gdevpdf.c src/gdevpdfu.c src/gdevpdfb.h]

2005-09-05T14:18:27.000000Z leonardo

Fix (garbager) : Provide a method for relocating a parameter string and use it in the pdfwrite device.

DETAILS :

We occasionally detected that gdev_pdf_put_params wrongly handled the OPDFReadProcsetPath parameter :
the old code modifies the next field after gx_device_pdf::OPDFReadProcsetPath.
It happens because c_param_write assumes the parameter type is gs_param_string
(and doesn't check it neither at the compile time, nor at runtime),
but the actual field type is gs_string, which is smaller in 4 bytes.

When we fix the type of gx_device_pdf::OPDFReadProcsetPath,
a problem appears in the garbager descriptor : a warning about a type cast appears.
Analyzing it so far we found that in this case the garbager may relocate "persistent" parameter string,
which is not allocated in the heap.

For fixing the latter we define a new garbager method igc_reloc_param_string
and few accessors to it, and use them in the gx_device_pdf memory descriptor.
We choose this way because we know that other devices need same method for separation names.

This patch consists of 2 parts :

1. The enhancement for the garbager, which also moves the definition of gs_param_string
   to the scope visible the garbager. This part modifies the files igc.c, igcstr.c, gsparam.h,
   gsstruct.h, gstypes.h, igcstr.h

2. The improvement for the pdfwrite device, which modifies other files :
   gdevpdfb.h, gdevpdfx.h, gdevpdf.c, gdevpdfu.c .

Other devices may need a revision.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-09-05T13:58:55.000000Z leonardo

Fix (garbager) : Provide a method for relocating a parameter string and use it in the pdfwrite device.

DETAILS :

We occasionally detected that gdev_pdf_put_params wrongly handled the OPDFReadProcsetPath parameter :
the old code modifies the next field after gx_device_pdf::OPDFReadProcsetPath.
It happens because c_param_write assumes the parameter type is gs_param_string
(and doesn't check it neither at the compile time, nor at runtime),
but the actual field type is gs_string, which is smaller in 4 bytes.

When we fix the type of gx_device_pdf::OPDFReadProcsetPath,
a problem appears in the garbager descriptor : a warning about a type cast appears.
Analyzing it so far we found that in this case the garbager may relocate "persistent" parameter string,
which is not allocated in the heap.

For fixing the latter we define a new garbager method igc_reloc_param_string
and few accessors to it, and use them in the gx_device_pdf memory descriptor.
We choose this way because we know that other devices need same method for separation names.

This patch consists of 2 parts :

1. The enhancement for the garbager, which also moves the definition of gs_param_string
   to the scope visible the garbager. This part modifies the files igc.c, igcstr.c, gsparam.h,
   gsstruct.h, gstypes.h, igcstr.h

2. The improvement for the pdfwrite device, which modifies other files :
   gdevpdfb.h, gdevpdfx.h, gdevpdf.c, gdevpdfu.c .

Other devices may need a revision.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gsparam.h src/gdevpdf.c src/igcstr.h src/igc.c src/gstypes.h src/gsstruct.h src/gdevpdfu.c src/gdevpdfb.h src/igcstr.c]

2005-09-04T20:42:53.000000Z leonardo

Type 1 hinter : Improve the criterion for stem recognition.

DETAILS :

Bug 687727 "Type 1 hinter : A horizontal line condition maybe too strong".

Patch from Igor Melichev.

1. Many fonts, including URW TimesRoman, needs to apply alignemnt zones
to upper or lower corners of a glyph. An example is '1' in TimesRoman.
This patch detect upper and lower corners as local extremes by Y,
and pass them to t1_hinter__find_zone.

2. After the change (1) we detected, that the document comparefiles/LD.pdf
renders much worse. Analyzing it so far, we detected that the top of the left vertical arm
of 'm' applies same hint as horizontal arc stems. To avoid this,
this patch computes a "stem boundary quality", which is the tangent of the stem boundary,
and use it as a priority for choosing a pole for stem alignment
(the lower tangent, the higher priority).

After the change (2) we detected that most Genoa test render differently.
The reason appears that the old code erroneusely aligned a diagonal pole
of the character 'm', which is placed between the right vertical arm and
the nearest upper arc stem. This patch fixes that due to other (right) poles
get a better priority, but to our apologies this progression causes
numerous differences in rasters.

EXPECTED DIFFERENCES :

Almost ALL FILES with a text RENDER DIFFERENTLY.

"normal" :

N "000040cf.000_60.pdf"
N "001-01.ps"
N "001-13.ps"
N "001-25.ps"
N "002-09.ps"
N "002-21.ps"
N "002-33.ps"
N "012-01.ps"
N "012-05.ps"
N "012-09.ps"
N "012-13.ps"
N "013-01.ps"
N "013-05.ps"
N "013-09.ps"
N "013-13.ps"
N "014-01.ps"
N "014-05.ps"
N "014-09.ps"
N "014-13.ps"
N "015-01.ps"
N "015-05.ps"
N "015-09.ps"
N "016-01.ps"
N "017-01.ps"
N "018-01.ps"
N "01_001.pdf"
N "020-01.ps"
N "023-01.ps"
N "027-01.ps"
N "027-05.ps"
N "027-09.ps"
N "028-01.ps"
N "031-01.ps"
N "031-05.ps"
N "032-01.ps"
N "032-07.ps"
N "033-01.ps"
N "033-52-5873.pdf"
N "034-01.ps"
N "034-10.ps"
N "035-01.ps"
N "035-07.ps"
N "036-01.ps"
N "038-01.ps"
N "039-01.ps"
N "040-01.ps"
N "045-01.ps"
N "055-01.ps"
N "083-01.ps"
N "083-05.ps"
N "083-09.ps"
N "083-13.ps"
N "084-01.ps"
N "091-01.ps"
N "093-01.ps"
N "094-01.ps"
N "096-01.ps"
N "102-01.ps"
N "103-01.ps"
N "104-01.ps"
N "109-01.ps"
N "110-01.ps"
N "113-01.ps"
N "118-01.ps"
N "119-01.ps"
N "119-10.ps"
N "119-16.ps"
N "119-23.ps"
N "119-35.ps"
N "119-41.ps"
N "119-47.ps"
N "120-01.ps"
N "123-01.ps"
N "123-05.ps"
N "123-09.ps"
N "124-01.ps"
N "129-01.ps"
N "136-01.ps"
N "141-01.ps"
N "148-01.ps"
N "148-05.ps"
N "148-11.ps"
N "148-16.ps"
N "149-01.ps"
N "149-05.ps"
N "150-01.ps"
N "154-01.ps"
N "158-01.ps"
N "159.pdf"
N "162-01.ps"
N "165-01.ps"
N "166-01.ps"
N "169-01.ps"
N "169-05.ps"
N "169-09.ps"
N "169-13.ps"
N "170-01.ps"
N "175-01.ps"
N "176-01.ps"
N "181-01.ps"
N "184-01.ps"
N "192-01.ps"
N "194-01.ps"
N "200-01.ps"
N "205-01.ps"
N "205-05.ps"
N "205-09.ps"
N "205-13.ps"
N "206-01.ps"
N "212-01.ps"
N "213-01.ps"
N "214-01.ps"
N "215-01.ps"
N "219-01.ps"
N "220-01.ps"
N "220-07.ps"
N "222-01.ps"
N "222-05.ps"
N "222-09.ps"
N "222-13.ps"
N "223-01.ps"
N "226-01.ps"
N "227-01.ps"
N "231-01.ps"
N "233-01.ps"
N "237-01.ps"
N "238-01.ps"
N "244-01.ps"
N "245-01.ps"
N "245-07.ps"
N "245-13.ps"
N "245-17.ps"
N "246-01.ps"
N "250-01.ps"
N "251-01.ps"
N "255-01.ps"
N "257-01.ps"
N "258-01.ps"
N "260-01.ps"
N "263-01.ps"
N "264-01.ps"
N "268-03.ps"
N "268-04.ps"
N "268-05.ps"
N "268-06.ps"
N "269-01.ps"
N "270-01.ps"
N "272-01.ps"
N "276-01.ps"
N "281-01.ps"
N "282-01.ps"
N "289-01.ps"
N "296-01.ps"
N "297-01.ps"
N "298-01.ps"
N "298-05.ps"
N "298-09.ps"
N "299-01.ps"
N "303-01.ps"
N "304-01.ps"
N "307-01.ps"
N "307-07.ps"
N "307-13.ps"
N "308-04.ps"
N "310-04.ps"
N "311-03.ps"
N "313-01.ps"
N "316-07.ps"
N "320-01.ps"
N "321-01.ps"
N "321-05.ps"
N "321-09.ps"
N "325-01.ps"
N "327-01.ps"
N "330-01.ps"
N "334-01.ps"
N "335-01.ps"
N "336-01.ps"
N "401-01.ps"
N "405-01.ps"
N "409-01.ps"
N "415-01.ps"
N "421-01.ps"
N "430-01.ps"
N "442-01.ps"
N "450-01.ps"
N "455690.pdf"
N "460-01.ps"
N "463-01.ps"
N "464-01-fixed.ps"
N "468-01-fixed.ps"
N "476-01-fixed.ps"
N "476-01.ps"
N "478-01.ps"
N "483-05-fixed.ps"
N "541.pdf"
N "541_623.pdf"
N "687572.pdf"
N "86554321.pdf"
N "acrobat.pdf"
N "adesso1.pdf"
N "adesso3.pdf"
N "adesso7.pdf"
N "ADOBE1-4.pdf"
N "AdobeLic.pdf"
N "alphabet.ps"
N "Altona-Testsuite_p2_S_x3.pdf"
N "Altona.Page_3.2002-09-27.pdf"
N "Altona_Measure_1v1.pdf"
N "Altona_Technical_1v1_x3.pdf"
N "Altona_Visual_bb_1v1_x3.pdf"
N "Altona_Visual_sb_1v1_x3.pdf"
N "besttest.pdf"
N "bla.ps"
N "brochurep1.pdf"
N "bug-gstest.pdf"
N "Bug687044.ps"
N "Bug687111.ps"
N "Bug687311.pdf"
N "Bug687546.ps"
N "Bug687603.ps"
N "Bug687672.pdf"
N "Bug687698.ps"
N "Bug687724.pdf"
N "Bug687828.pdf"
N "Bug687840.pdf"
N "Bug687845.ps"
N "bulletin.pdf"
N "chartab.pdf"
N "chess.ps"
N "Dave_Barry.pdf"
N "Fixed_Original.pdf"
N "fonts.pdf"
N "fonttest.pdf"
N "H00216q.pdf"
N "HeiseiMinStd.pdf"
N "japan.ps"
N "js.pdf"
N "kazmir.pdf"
N "keyboard.pdf"
N "KozukaB-ILEmbed.pdf"
N "laballade.pdf"
N "LD.pdf"
N "MagicEye.pdf"
N "ngnews.pdf"
N "ngnews1.pdf"
N "NIL_0003.pdf"
N "Openhuis_pdf_zw.pdf"
N "Original.pdf"
N "pdfopt_bug.pdf"
N "pdftops.pdf"
N "PixelisAd.pdf"
N "prfmm.pdf"
N "prob.pdf"
N "pstopdf.pdf"
N "pstopdfO3.pdf"
N "PT.ps"
N "QA_Inv.pdf"
N "RealCities.pdf"
N "RodinCIDEmbed.pdf"
N "S2_Digitalproof-Forum_x3k.pdf"
N "smdf.90441.102.pdf"
N "Svd.pdf"
N "test-hyperref.pdf"
N "test.pdf"
N "TextRize.pdf"
N "time1.pdf"
N "tpc2.ps"
N "Type3stringwidth.ps"
N "type42_glyph_index.ps"
N "waterfal.ps"
N "womanface.pdf"
N "xgfddg.pdf"



pdfwrite :

P "0.pdf"
P "000040cf.000_60.pdf"
P "01_001.pdf"
P "001-01.ps"
P "001-13.ps"
P "001-25.ps"
P "002-09.ps"
P "002-21.ps"
P "002-33.ps"
P "012-01.ps"
P "012-05.ps"
P "012-09.ps"
P "012-13.ps"
P "013-01.ps"
P "013-05.ps"
P "013-09.ps"
P "013-13.ps"
P "014-01.ps"
P "014-05.ps"
P "014-09.ps"
P "014-13.ps"
P "015-01.ps"
P "015-05.ps"
P "015-09.ps"
P "016-01.ps"
P "017-01.ps"
P "018-01.ps"
P "01_001.pdf"
P "020-01.ps"
P "023-01.ps"
P "027-01.ps"
P "027-05.ps"
P "027-09.ps"
P "028-01.ps"
P "031-01.ps"
P "031-05.ps"
P "032-01.ps"
P "032-07.ps"
P "033-01.ps"
P "033-52-5873.pdf"
P "034-01.ps"
P "034-10.ps"
P "035-01.ps"
P "035-07.ps"
P "036-01.ps"
P "038-01.ps"
P "039-01.ps"
P "040-01.ps"
P "045-01.ps"
P "055-01.ps"
P "083-01.ps"
P "083-05.ps"
P "083-09.ps"
P "083-13.ps"
P "084-01.ps"
P "091-01.ps"
P "093-01.ps"
P "094-01.ps"
P "096-01.ps"
P "102-01.ps"
P "103-01.ps"
P "104-01.ps"
P "109-01.ps"
P "110-01.ps"
P "113-01.ps"
P "118-01.ps"
P "119-01.ps"
P "119-10.ps"
P "119-16.ps"
P "119-23.ps"
P "119-35.ps"
P "119-41.ps"
P "119-47.ps"
P "120-01.ps"
P "123-01.ps"
P "123-05.ps"
P "123-09.ps"
P "124-01.ps"
P "129-01.ps"
P "136-01.ps"
P "141-01.ps"
P "148-01.ps"
P "148-05.ps"
P "148-11.ps"
P "148-16.ps"
P "149-01.ps"
P "149-05.ps"
P "150-01.ps"
P "154-01.ps"
P "158-01.ps"
P "159.pdf"
P "162-01.ps"
P "165-01.ps"
P "166-01.ps"
P "169-01.ps"
P "169-05.ps"
P "169-09.ps"
P "169-13.ps"
P "170-01.ps"
P "175-01.ps"
P "176-01.ps"
P "181-01.ps"
P "184-01.ps"
P "192-01.ps"
P "194-01.ps"
P "200-01.ps"
P "205-01.ps"
P "205-05.ps"
P "205-09.ps"
P "205-13.ps"
P "206-01.ps"
P "212-01.ps"
P "213-01.ps"
P "214-01.ps"
P "215-01.ps"
P "219-01.ps"
P "220-01.ps"
P "220-07.ps"
P "222-01.ps"
P "222-05.ps"
P "222-09.ps"
P "222-13.ps"
P "223-01.ps"
P "226-01.ps"
P "227-01.ps"
P "231-01.ps"
P "233-01.ps"
P "237-01.ps"
P "238-01.ps"
P "244-01.ps"
P "245-01.ps"
P "245-07.ps"
P "245-13.ps"
P "245-17.ps"
P "246-01.ps"
P "250-01.ps"
P "251-01.ps"
P "255-01.ps"
P "257-01.ps"
P "258-01.ps"
P "260-01.ps"
P "263-01.ps"
P "264-01.ps"
P "268-03.ps"
P "268-04.ps"
P "268-05.ps"
P "268-06.ps"
P "269-01.ps"
P "270-01.ps"
P "272-01.ps"
P "276-01.ps"
P "281-01.ps"
P "282-01.ps"
P "289-01.ps"
P "296-01.ps"
P "297-01.ps"
P "298-01.ps"
P "298-05.ps"
P "298-09.ps"
P "299-01.ps"
P "303-01.ps"
P "304-01.ps"
P "307-01.ps"
P "307-07.ps"
P "307-13.ps"
P "308-04.ps"
P "310-04.ps"
P "311-03.ps"
P "313-01.ps"
P "316-07.ps"
P "320-01.ps"
P "321-01.ps"
P "321-05.ps"
P "321-09.ps"
P "325-01.ps"
P "327-01.ps"
P "330-01.ps"
P "334-01.ps"
P "335-01.ps"
P "336-01.ps"
P "401-01.ps"
P "405-01.ps"
P "409-01.ps"
P "415-01.ps"
P "421-01.ps"
P "430-01.ps"
P "442-01.ps"
P "450-01.ps"
P "455690.pdf"
P "460-01.ps"
P "463-01.ps"
P "464-01-fixed.ps"
P "468-01-fixed.ps"
P "476-01-fixed.ps"
P "476-01.ps"
P "478-01.ps"
P "483-05-fixed.ps"
P "541.pdf"
P "541_623.pdf"
P "687572.pdf"
P "86554321.pdf"
P "acrobat.pdf"
P "adesso1.pdf"
P "adesso3.pdf"
P "adesso7.pdf"
P "adesso8.pdf"
P "ADOBE1-4.pdf"
P "alphabet.ps"
P "Altona-Testsuite_p2_S_x3.pdf"
P "Altona.Page_3.2002-09-27.pdf"
P "Altona_Measure_1v1.pdf"
P "Altona_Technical_1v1_x3.pdf"
P "Altona_Visual_bb_1v1_x3.pdf"
P "Altona_Visual_sb_1v1_x3.pdf"
P "annots.pdf"
P "besttest.pdf"
P "bla.ps"
P "brochurep1.pdf"
P "bug-gstest.pdf"
P "Bug687044.ps"
P "Bug687111.ps"
P "Bug687311.pdf"
P "Bug687546.ps"
P "Bug687603.ps"
P "Bug687672.pdf"
P "Bug687698.ps"
P "Bug687724.pdf"
P "Bug687828.pdf"
P "Bug687840.pdf"
P "Bug687845.ps"
P "bulletin.pdf"
P "chartab.pdf"
P "chess.ps"
P "Dave_Barry.pdf"
P "Fixed_Original.pdf"
P "fonts.pdf"
P "fonttest.pdf"
P "H00216q.pdf"
P "HeiseiMinStd.pdf"
P "japan.ps"
P "js.pdf"
P "kazmir.pdf"
P "keyboard.pdf"
P "KozukaB-ILEmbed.pdf"
P "LD.pdf"
P "MagicEye.pdf"
P "ngnews.pdf"
P "ngnews1.pdf"
P "NIL_0003.pdf"
P "Openhuis_pdf_zw.pdf"
P "Original.pdf"
P "p2b-100.pdf"
P "pdfopt_bug.pdf"
P "pdftops.pdf"
P "PixelisAd.pdf"
P "prfmm.pdf"
P "prob.pdf"
P "pstopdf.pdf"
P "pstopdfO3.pdf"
P "QA_Inv.pdf"
P "RealCities.pdf"
P "RodinCIDEmbed.pdf"
P "S2_Digitalproof-Forum_x3k.pdf"
P "smdf.90441.102.pdf"
P "Svd.pdf"
P "t.pdf"
P "test-hyperref.pdf"
P "test.pdf"
P "test_multipage_prob.pdf"
P "TextRize.pdf"
P "time1.pdf"
P "tpc2.ps"
P "type42_glyph_index.ps"
P "waterfal.ps"
P "womanface.pdf"
P "xgfddg.pdf"

[src/gxhintn.c src/gxhintn.h]

2005-09-04T05:44:43.000000Z Dan Coby

Fix for 688275 Overprint problems in Display driver - Gs 8.50 and Gs 8.51.

DETAILS:

The cause of the problem was that gx_default_get_bits_rectangle did not
properly handle a situation in which GX_RETURN_POINTER was not specified
for a get_bits operation.  The overprint logic is one of the few situations
in which this option is not specified.  The display device is one of the
few situations that uses the default get_bits logic. This is the second
problem that has been found in this combination.

[src/gdevdsp.c src/gdevdgbr.c]

2005-09-02T05:54:03.000000Z leonardo

Fix (pdfwrite) : Handling transparency as a high level objects, part 11 (fix 1).

DETAILS :

The ps2write device was broken with recent patches. Fixing it now.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h]

2005-09-01T22:04:37.000000Z stefan

Formatting cleanup for the printing of the Font samples.

Fixes bug 688281
Thanks to: SaGS5495@hotmail.com

[lib/prfont.ps]

2005-09-01T00:05:07.000000Z Alex Cherepanov

Fix incorrect detection of the end of input data during processing of
(next_code == lzw_decode_max) branch in s_LZWD_process(). Return the error
status only when there's not enough data in the buffer and the buffer
cannot be refilled.
Fix bug 688287

[src/slzwd.c]

2005-08-31T18:34:46.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 10, final.

DETAILS :

This completes the fix for the bug 687168
"(pdfwrite) Transparency as a high level object"

It switches on the new code by changing the default value for the HaveTransparency option.

EXPECTED DIFFERENCES :

pdfwrite :

ai2.pdf
dina3_watermark.pdf
SoftMaskGroup.pdf

[src/gdevpdfb.h]

2005-08-31T18:31:01.000000Z Igor Melichev

pdfwrite : Upgrading the default CompatibilityLevel to 1.4 .
THIS IS INCOMPATIBLE CHANGE.

We believe that CompatibilityLevel=1.3 is now obsolete,
because most viewers can handle PDF 1.4 .
If an user needs to create a document for older viewers,
he should specify CompatibilityLevel explicitly.
Note that PDFSETTINGS parameter lists have been upgraded also.

EXPECTED DIFFERENCES :

None.

[lib/ps2pdf lib/ps2pdf.cmd src/gdevpdf.c lib/ps2pdf.bat doc/Ps2pdf.htm lib/gs_pdfwr.ps]

2005-08-31T15:29:40.000000Z Ray Johnston

Update map_cmyk_color function to modern version (was old style). This
should complete jpegcmyk for correct behaviour.

[src/gdevjpeg.c]

2005-08-31T14:31:27.000000Z Ray Johnston

Add jpegcmyk device (module missed in previous commit).

[src/gdevjpeg.c]

2005-08-31T12:35:24.000000Z Igor Melichev

Documenting the new pdfwrite device paramentr HaveTransparency.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm]

2005-08-31T11:18:48.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 9.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

It simplifies the logic of the HaveTransparency flag.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfp.c src/gdevpdft.c]

2005-08-31T11:07:25.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 8.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

It applies pdf_substitue_resource to transparency-related objects.

EXPECTED DIFFERENCES :

None.

[src/gdevpdft.c]

2005-08-31T11:02:56.000000Z Igor Melichev

Fix (pdfwrite) : A code restructurisation : factor out pdf_substitue_resource.

DETAILS :

This change is algorithmicly equivalent.
pdf_substitue_resource is a new function, which replaces redundant code fragments.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfu.c src/gdevpdfg.c src/gdevpdfj.c]

2005-08-31T07:40:52.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 7.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

1. Restructurize the code in gdevpdft.c .
2. Provide a delayed obgect ID assignation in gdevpdft.c .
3. gdevpdfb.h, gdevpdfx.h slightly changed for (2).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdft.c src/gdevpdti.c src/gdevpdfb.h]

2005-08-31T05:59:58.000000Z Ray Johnston

Remove inadvertent commit that included png48 device.

[src/msvc32.mak]

2005-08-31T05:52:32.000000Z Ray Johnston

Add jpegcmyk device.

[src/bcwin32.mak src/openvms.mak src/macosx.mak src/watcw32.mak src/unix-gcc.mak src/msvc32.mak src/unixansi.mak src/macos-mcp.mak src/devs.mak src/os2.mak]

2005-08-31T03:41:24.000000Z Dan Coby

Fix for 688252 Signal 11 in set_color_ht_le_4 on AMD64.  The fix comes
from Alex Cherepanov.  Add a cast for force signed math when working
with a signed and unsigned value.

[src/gxcht.c]

2005-08-30T23:26:49.000000Z Alex Cherepanov

Encode the indication that the EPS file has been cropped into
EPSBoundingBoxState and suppres subsequent messages about cropping the file.
The warning is false when BoundingBox preceeds HiResBoundingBox and BoundingBox
causes cropping but HiResBoundingBox doesn't.
Fix bug 688062

[lib/gs_epsf.ps]

2005-08-30T23:19:01.000000Z Ray Johnston

Fix handling of zero length input files so that .peekstring does not give
a rangecheck error. Bug 688199.

DETAILS:

Following Russell Lang's suggestion, the zpeekstring function appeared to
have been (at one time) designed so that EOFC returned an empty string, but
the check for requested len > bsize had priority, and when the file was
closed, the 'bsize' was reset to 0. I removed the "HACK" check to after the
check for status == EOFC.

[src/zfileio.c]

2005-08-30T19:12:19.000000Z Ray Johnston

Fix for large 'loca' table counts in TrueType fonts causing stackoverflow.
Bug 688277 for customer 870.

DETAILS:

While the MaxOpStack userparam (default value 50000 in gs_init.ps) could
work around this problem, a cleaner and more efficient solution is to
create the array for the 'loca' values, then fill it.

[lib/gs_ttf.ps]

2005-08-30T17:32:13.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 6.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

The last patch was commited with errors.
This patch fixes that.

EXPECTED DIFFERENCES :

None.

[src/ztrans.c]

2005-08-30T17:08:55.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 5.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

The last patch was commited with errors.
This patch fixes that.

EXPECTED DIFFERENCES :

None.

[src/gstrans.h src/gdevp14.c]

2005-08-30T16:49:34.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 4.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

This patch debugs soft mask groups.

1. The pdf14 device appears to use soft mask Background converted into DeviceGray.
We believe it is incorrect, but we don't want to fix it now.
To provide the correct data for high level devices we added a new field
GrayBackground, which keeps the Background color converted into DeviceGray.
Background now keeps the original Background, specified in the blend color space.

2. Do not use gsave-grestore when creating a soft mask with .begintransparencygroup,
because high level devices need to modify the graphic state with storing the sift mask ID.
The new code uses currentcolorspace-setcolorspace instead gsave-grestore.

EXPECTED DIFFERENCES :

None.

[src/int.mak src/ztrans.c src/gstrans.c src/gstparam.h src/gdevpdft.c lib/pdf_draw.ps src/gdevp14.c]

2005-08-30T13:01:03.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 3.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

This patch completes the graphic state synchronization.
A new field soft_mask_id is added to gs_imager_state.
High level devices use it for storing an ID of the current soft mask.
Currently it doesn't affect low level devices.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gxistate.h src/gstrans.c src/gdevpdft.c src/gdevpdfg.c]

2005-08-30T10:49:34.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects, part 2.

DETAILS :

This is a continuation of the fix the bug 687168
"(pdfwrite) Transparency as a high level object"

This patch provides an accumulation of a transparency mask group as a PDF command stream,
a creation of SMask dictionaries and a synchronization of the graphic state with them.

The graphic state synchronization is incomplete due to
insufficient data supplied by the graphics library
when executong a grestore. It will be fixed later.

pdf_substream_save_s::soft_mask_dict is added to handle nested mask groups.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gsstruct.h src/gdevpdft.c src/gdevpdti.c src/gdevpdfb.h]

2005-08-30T09:06:01.000000Z Igor Melichev

Fix (device intervace, PDF interpreter) : High level devices need to know whether the mask is an image or a group.

DETAILS :

This is the fourth preparation for fixing the bug 687168
"(pdfwrite) Transparency as a high level object"

A high level device needs to know whether a transparency mask is
a group or an image. To provide this data we split the operator
.begintransparencymask into .begintransparencymaskgroup and
.begintransparencymaskimage, which should be invoked in appropriate cases.
The structure gs_pdf14trans_params_s passes a new flag mask_is_image.

EXPECTED DIFFERENCES :

None.

[src/ztrans.c src/gstrans.c lib/pdf_draw.ps src/gstrans.h doc/Language.htm lib/pdf_ops.ps]

2005-08-30T06:38:44.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

DETAILS :

This fixes some Cygwin/gcc warnings and improves few comments.

EXPECTED DIFFERENCES :

None.

[src/gdevpsd.c src/gdevpdf.c src/gdevtsep.c src/gdevdevn.c src/gsistate.c src/gxpcopy.c src/zmedia2.c]

2005-08-29T19:59:23.000000Z Ray Johnston

Invalid xref was not detected causing some objects to be defined as 'null'
which could cause 'typecheck' or other errors. Bug 688285 for customer #870.

DETAILS:

The xref subsection count was one too small, so there was one xref entry
that was being interpreted as a new subsection. Detect the trailing 'n'
garbage (any non-whitespace) and signal an error so that the 'rebuild'
logic can recover the correct xref.

EXPECTED DIFFERENCES.

none (tested all pdf files in comparefiles).

[lib/pdf_main.ps]

2005-08-29T18:21:57.000000Z Igor Melichev

Fix (pdfwrite) : Handling transparency as a high level objects.

DETAILS :

This is an initial commit for the high level handler to pdfwrite.
It fixes the bug 687168
"(pdfwrite) Transparency as a high level object"

It defines a new distiller parameter HaveTransparency.
When it is false (default), the behavior is equivalent to the old one -
the transparency is being converted into a plane image.

The value true only works with CompatibilityLevel>=1.4 .
In this case transparency is being written to output as high level objects.
The writtemn objects are not necesserily repear the structure of the
input document, because the PDF interpreter performs some simplifications,
which can't be recovered by the pdfwrite device.

The main conversion happens in gdevpdft.c . See comments in there.
Two new resource types are being added - resourceSoftMaskDict,
resourceGroup. Doing so to allow a further optimization
with merging duplicated objects of such types.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c doc/Develop.htm src/gdevpdft.c src/gdevpdfu.c src/gdevpdfg.c src/gdevpdfb.h src/devs.mak src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2005-08-29T18:12:34.000000Z Igor Melichev

Fix (PDF interpreter) : Provide a bbox for .begintransparencygroup (issue 2).

DETAILS :

This is the second attempt of the second preparation for fixing the bug 687168
"(pdfwrite) Transparency as a high level object"
The last patch about the bbox appear incorrect due to
the device transparency handler receives the image bbox data
when CTM is concatenated with the image matrix.

This patch almost restores the old code except
image bbox is changed from 0 0 0 0 to 0 0 1 1,
which is the right rectangle in the image coordinates.

EXPECTED DIFFERENCES :

None.

[lib/pdf_draw.ps]

2005-08-29T15:58:30.000000Z Igor Melichev

Fix: Validate the number of transparency Background components.

DETAILS :

The old code never checked whether a transparency Background has a proper number of components.
It could cause an indeterministic behavior with incorrect documents.

EXPECTED DIFFERENCES :

None.

[src/gstrans.c src/gdevp14.c]

2005-08-29T15:25:54.000000Z Igor Melichev

Fix (device interface): Provide an access for the number of transparency Background components for high level devices, part 2.

DETAILS :

This continues the third preparation for fixing the bug 687168
"(pdfwrite) Transparency as a high level object"

The last patch has a minor inaccuracy :
the field Background_components defined as bool.
It must be int.

EXPECTED DIFFERENCES :

None.

[src/gstparam.h src/gstrans.h]

2005-08-29T15:18:44.000000Z Igor Melichev

Fix (device interface): Provide an access for the number of transparency Background components for high level devices.

DETAILS :

This is a third preparation for fixing the bug 687168
"(pdfwrite) Transparency as a high level object"

This change is algorithmically equivalent.

The member has_Background is now replaced with Background_components,
which stores the number of Background components.
It is visible for devices when the create_compositor method
is called with PDF14_BEGIN_TRANS_GROUP.

The clist file format has been slightly changed :
the field Background_components is now written into a
separate byte, and unused Background components are being skipped.

EXPECTED DIFFERENCES :

None.

[src/ztrans.c src/gstrans.c src/gstparam.h src/gstrans.h src/gdevp14.c]

2005-08-29T14:05:06.000000Z Igor Melichev

Fix (PDF interpreter) : provide a bbox for .begintransparencygroup .

DETAILS :

This is a second preparation for fixing the bug 687168
"(pdfwrite) Transparency as a high level object"

The old code calls .begintransparencygroup with zero bbox
when processing a Type 3 image with SMask.
This patch computes the bbox from the image coordinates
in order to provide data for the high level transparency handler.

EXPECTED DIFFERENCES :

None.

[lib/pdf_draw.ps]

2005-08-29T12:51:57.000000Z Igor Melichev

Fix (pdfwrite) : Use DeviceGray when writing SMask image.

DETAILS :

This is a preparation for fixing the bug 687168
"(pdfwrite) Transparency as a high level object"

The old code tried to use DevicePixel while writing a SMask image.
Currently this branch never executes because the current code always converts
transparency to a plain image.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfb.h src/gdevpdfi.c]

2005-08-25T15:34:08.000000Z Ray Johnston

Change ResusableStreamDecode filter implementation to avoid using .bigstring
so that languagelevel 3 is not required for this filter. Patch thanks to
mat. Gheorghe Savulescu. Bug 688150.

DETAILS:

In general, running at Language Level 2 by using .setlanguagelevel is not
supported when using features that are part of LanguageLevel 3, such as
filters that are part of LL3, but this patch is simple and low risk so
I am adding it and closing the bug.

[lib/gs_frsd.ps]

2005-08-24T19:02:22.000000Z Ralph Giles

Partial support for a compressed %rom% iodevice. It is enabled by
adding romfs.dev to FEATURE_DEVS in the top-level Makefile.

This also includes a C commandline-utility 'mkromfs' that takes
a directory and creates a compressed image of it as a file. Currently
the %rom% iodevice in gsiorom.c reads this directly.

The compressed image is a list of paths with offset pointers,
each offset pointing to the beginning of a series of zlib-
compressed blocks comprising the file. This gets us pretty
good (typically 50% or better) compression of the support
files while still allowing relatively fast seek and random
access.

TODO:

1. Have mkromfs trace through the include directives in lib/
so that only those postscript files required by Ghostscript are
included, the same as geninit does now. Resources/ and fonts/
can still be included as-is.

2. Have mkromfs (or a separate tool) general a C file (or sequence
of them, so the data can be compiled directly into the Ghostscript
executable. And of course modify gsiorom.c to pull its data from
there instead of a literal file.

3. Integrate mkromfs into the build system and replace the existing
geninit code. Setting COMPILE_INITS=1 in the top-level Makefile
should automatically construct and compile in the compressed image
and enable the romfs FEATURE_DEV

4. Switch to a b-tree for the block pointer index, so that file
access remains fast if someone dumps in a huge number of Resources
or fonts. Right now it does a linear search, which is fast enough
for the current complement but will cause a problem as some point.

[src/lib.mak src/mkromfs.c src/gsiorom.c src/Makefile.in]

2005-08-24T17:04:21.000000Z Raph Levien

Cleanup of error message "printquit" calls in pf2afm, mostly to add
missing newlines. Thanks to Paul Vojta for the patch.

[lib/pf2afm.ps]

2005-08-24T17:03:48.000000Z Igor Melichev

Fix (the device interface) : High level devices need an access to a transparency transfer function object.

DETAILS :

It adds  "gs_function_t *transfer_function" to gs_pdf14trans_params_s and
enhances a garbager descriptor st_pdf14trans.

We think that such pointer is alvays have a correct stability,
because the transparency only comes from the PDF interpreter,
which doesn't create graphic states in the global memory.
Otherwise the function object must be global as well.
Unfortunately we don't have a validation mechanizm right now,
but likely it will appear with fixing the bug 688226.

EXPECTED DIFFERENCES :

None.

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

2005-08-23T19:26:47.000000Z Igor Melichev

Fix (pdfwrite) : Improve the logic of combining a text rotation with ViewingOrientation.

DETAILS :

Bug 687800 "%%ViewingOrientation not processed by pdfwrite".

We can't say that we perfectly understand what rules Adobe uses to combine them,
becaue the explanation in "Technical Note #5151
Version :Acrobat 6.0 Acrobat Distiller Parameters" page 50 is incomplete.
But with this change the result looks more compatible to Adobe.

EXPECTED DIFFERENCES :

"Bug687044.ps"
"Bug687603.ps"

[src/gdevpdf.c]

2005-08-23T17:34:29.000000Z Igor Melichev

Fix (Type 1 hinter) : Allow degenerate CTM by a rendering with no hinting.

DETAILS :

This is a fix for a part of the bug 688065
"incorrect handling of type 1 fonts at 0 0 scale",
which relates to "1 0 scale".
The case "0 0 scale" was fixed earlier.

With degenerate CTM the old code fails with 'rangecheck'
due to the hinter logics needs an inverse CTM.
However some documents set "1 0 scale" to compute text width.
The new code does render a text with degenerate CTM with no hinting.
We could implement an optimized algorithm for this with
a simple rendering of a line which is a projection of the glyph,
but we have no engineering resources for this optimization.
We believe that such optimisation isn't much useful.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2005-08-23T12:58:45.000000Z Igor Melichev

Fix (pdfwrite and other vector devices) : A compatibility to Adobe when stroking with a degenerate CTM.

DETAILS :

Bug 687901 '"wrong operand type" error'.
See comment in code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-08-23T11:26:26.000000Z Igor Melichev

Fix (pdfwrite and other vector devices) : Indeterministic result when stroking a path with a degenerate CTM.

DETAILS :

It fixes the indeterministic habavior with the test document of the
Bug 687901 '"wrong operand type" error',
but doesn't fix the bug.

EXPECTED DIFFERENCES :

None.

[src/gdevvec.c]

2005-08-22T21:30:58.000000Z Igor Melichev

Fix: /SP pdfmark must synchronize the clipping path.

DETAILS :

Bug 687558 "Wrong clipping path with /SP pdfmark".

This patch consists of 2 parts :

1. A hack for synchronizing the clipping path in 'pdfmark'.
We need to use a hack, because the implementation of 'pdfmark'
is based on the device method put_params, and
there is no regular way to pass the imager state or the clipping path through it.
The hack paints something outside the device bbox,
so that the painting doesn't appear in the output.

2. An improvement to the pdfwrite device,
which skips a stroking, if it appears entirely outside the clipping box.
That improvement appears some imperfect due to a compatibility
to the hack (1) - see comment in code. The imperfection is
the synchronization of a clipping path when a document strokes outside
the clipping box. We believe that such cases are rare,
so the imperfection isn't important.

A progression appears while a charproc accumulation :
the old code accumulated strokes outside the bounding box
set by 'setcachedevice', but the new one does not.
The new one appears compatible to Adobe Distiller 5.

EXPECTED DIFFERENCES :

pdfwrite 72 dpi :
015-09.ps

[src/gdevpdfd.c lib/gs_pdfwr.ps]

2005-08-22T21:29:12.000000Z Igor Melichev

The filling algorithm : optimize paths with many subpaths (continued).

DETAILS :

The last patch can cause a dangling pointer subpath_current.
Rather we don't use it, it may be harmful for the garbager.
This patch fixes that.

Minor change : removed an unuseful type case and empty line.

EXPECTED DIFFERENCES :

None.

[src/gxpcopy.c]

2005-08-22T14:29:18.000000Z Igor Melichev

The filling algorithm : optimize paths with many subpaths.

DETAILS :

Bug 686996 "Orientation has massive effect on render time".
It fills a path consisting of 4440 subpaths,
each of which is a quasi-rectangle
(or a rectangle with a fixed_fraction noise).

If a path has over 50 subpaths,
we try to merge subpaths by common vertical lines.
This works around a poor 3d party software,
which generates a path as a huge number of contacting rectangles.

An additional complexity happens due to the sample document defines multiple
quasi-colinear lines instead colinear ones. An example : {{362254, 42905},
{362253, 204152}} and {{362253, 42881},{362253, 204152}}.
We believe that with a huge number of contours the precision of the rendering
doesn't need to be so strong as with a small number.
Therefore we replace quasi-colinear lines with colinear ones.

Another smart point is which pairs of lines to be checked for colinearity.
Obviousely checking all pairs would be too slow. Probably we can assume that the
Postscript writer orders rectangles by the trasversal direction, so
colinear pairs appear in the path within a small window, which roughly is the
number of spot holes multiplied by 4. (Well, one can construct a worse path,
but unlikely it is practical). This patch hardcodes few arbitrary
constants, which may need further improvements.

See commnmets in code for more details.

EXPECTED DIFFERENCES :

None.

[src/gxpath.h src/gxfill.c src/gxpcopy.c]

2005-08-18T08:07:08.000000Z Igor Melichev

ps2write : Improve the documentation about Policies.PageSize .

EXPECTED DIFFERENCES :

None.

[doc/Ps2ps2.htm]

2005-08-17T21:54:55.000000Z Igor Melichev

PDF interpreter now processes ToUnicode CMaps when the target device is pdfwrite.

DETAILS :

Bug 685335 "PDF interpreter doesn't process ToUnicode".

The PDF interpreter now converts ToUnicode CMaps into FontInfo.GlyphNames2Unicode,
which PS interpreter passes to high level devices,
and the pdfwrite device converts it again into ToUnicode.
Therefore re-distilling a PDF file with GS|pdfwrite
preserves the searchability. Before now it was lost.

Currently this stuff works only when the output device is pdfwrite.
Doing so to save the processor time with raster devices.
In future the condition in .processToUnicode may need an enhancement.

We found that some documents define ToUnicode incorrectly.
For now we skip cases, in which ToUnicode is defined to a name,
because the PDF specification requires it to be a stream.

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps lib/gs_cmap.ps]

2005-08-17T18:30:06.000000Z Ray Johnston

Previous change for ignoring 0 area clip path was not sufficient and made
other files misbehave. Fixes bugs 688121 and 688259, reopen 687136.

DETAILS:

Thanks to Dan for identifying the change that caused 688259 to fail. I had
coincidentally been looking in the same area for 688121.

687136 will require more analysis and a different patch, and the patch will
need to be tested against the files for 688121 and 688259 along with the
full regression suite.
`

[lib/pdf_ops.ps]

2005-08-17T14:40:13.000000Z Igor Melichev

Fix : Unconforming line join.

DETAILS :

Ghostscript Bug 688126 "Wrong line join".

1. The old code applied a bewel join while flattening a curve.
   Such behavior appears incompatible to Adobe CPSI 3010.105.
   Language.htm said that it was done with .setcurvejoin
   for a compatibility to Adobe implementations.
   We believe that modern Adobe implementations are not such,
   and therefore we change the default value of .setcurvejoin to -1,
   which actually disables a curve join by default.
   The documentation is being updated accordingly.

2. Since round join always paints a full circle (see comment in add_round_cap),
   and since such circle doesn't appear when CPSI paints a flattened curve,
   we conclude that round join isn't applied to flattened curves.
   Therefore we change the condition in gxstroke.c
   to replace round join with bevel join for flattened curves.

   Note that PDF 1.5 requires to paint a "pieslice-shaped figure",
   rather than PDF 1.4 and PLRM3 does a round.
   Thus, GS code appears some obsolete, and we'll open a
   separate bug 688269 about that.


EXPECTED DIFFERENCES :

Visible differences at 300dpi with  034-01.ps, 123-05.ps.

Numerous single pixel differences stroking curves.

normal, 72 dpi :

"012-05.ps"
"012-13.ps"
"013-05.ps"
"013-13.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-05.ps"
"015-09.ps"
"027-09.ps"
"034-01.ps"
"034-10.ps"
"083-05.ps"
"083-13.ps"
"123-05.ps"
"176-01.ps"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"289-01.ps"
"298-09.ps"
"308-04.ps"
"316-07.ps"
"321-09.ps"
"ai2.pdf"
"Bug687812.ps"
"bugsample.pdf"
"messenger16.pdf"
"Openhuis_pdf_zw.pdf"
"tiger.eps"



normal,300dpi :

"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-05.ps"
"015-09.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"045-01.ps"
"083-05.ps"
"083-09.ps"
"083-13.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"136-01.ps"
"148-16.ps"
"149-05.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"176-01.ps"
"192-01.ps"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"220-01.ps"
"220-07.ps"
"237-01.ps"
"245-13.ps"
"251-01.ps"
"255-01.ps"
"258-01.ps"
"269-01.ps"
"281-01.ps"
"289-01.ps"
"297-01.ps"
"298-09.ps"
"308-04.ps"
"316-07.ps"
"321-09.ps"
"86554321.pdf"
"adesso8.pdf"
"ai2.pdf"
"besttest.pdf"
"Bug687044.ps"
"Bug687489.ps"
"Bug687724.pdf"
"Bug687812.ps"
"Bug687840.pdf"
"bugsample.pdf"
"ca.pdf"
"chartab.pdf"
"Clarke Tate Manns Chinese.ai"
"escher.ps"
"golfer.eps"
"messenger.pdf"
"messenger16.pdf"
"Openhuis_pdf_zw.pdf"
"p2b-100.pdf"
"si_tg_brochure.pdf"
"Svd.pdf"
"t.pdf"
"tiger.eps"



pdfwrite, 72dpi :

"012-05.ps"
"012-13.ps"
"013-05.ps"
"013-13.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-05.ps"
"015-09.ps"
"027-01.ps"
"027-09.ps"
"034-01.ps"
"034-10.ps"
"083-05.ps"
"083-13.ps"
"176-01.ps"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"220-07.ps"
"237-01.ps"
"298-09.ps"
"308-04.ps"
"316-07.ps"
"321-09.ps"
"adesso8.pdf"
"ai2.pdf"
"annots.pdf"
"Bug687812.ps"
"chartab.pdf"
"messenger.pdf"
"messenger16.pdf"
"Openhuis_pdf_zw.pdf"
"tiger.eps"


pdfwrite, 300dpi :

"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-05.ps"
"015-09.ps"
"017-01.ps"
"020-01.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"039-01.ps"
"045-01.ps"
"083-05.ps"
"083-09.ps"
"083-13.ps"
"104-01.ps"
"123-09.ps"
"136-01.ps"
"148-16.ps"
"154-01.ps"
"158-01.ps"
"165-01.ps"
"176-01.ps"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"220-01.ps"
"237-01.ps"
"244-01.ps"
"245-07.ps"
"255-01.ps"
"269-01.ps"
"281-01.ps"
"298-09.ps"
"308-04.ps"
"316-07.ps"
"321-09.ps"
"86554321.pdf"
"ai2.pdf"
"besttest.pdf"
"Bug687044.ps"
"Bug687489.ps"
"Bug687724.pdf"
"Bug687812.ps"
"Bug687840.pdf"
"bugsample.pdf"
"ca.pdf"
"chartab.pdf"
"escher.ps"
"golfer.eps"
"messenger.pdf"
"messenger16.pdf"
"Openhuis_pdf_zw.pdf"
"p2b-100.pdf"
"si_tg_brochure.pdf"
"t.pdf"
"tiger.eps"

[src/gxstroke.c doc/Language.htm src/gxline.h]

2005-08-11T17:10:17.000000Z Igor Melichev

Fix (pdfwrite) : Exit a text context before resetting a clip.

DETAILS :

Bug 688094 "error converting PostScript document".

The test document caused a wrong balance of
pdf_save_viewer_state / pdf_restore_viewer_state due to a clipping
was reset in a text context of a form XObject created with /BP pdfmark.

The patch changes pdf_unclip so that it exits a text context
when a clipping needs to reset with 'Q'.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2005-08-11T15:38:38.000000Z Igor Melichev

Fix : Clipping was missed while stroking a path with a pattern color.

DETAILS :

Bug 688211 "Gradient not rendered".

EXPECTED DIFFERENCES :

None.

[src/gxstroke.c]

2005-08-10T19:36:11.000000Z Igor Melichev

Fix : Divide long lines while flattening a path.

DETAILS :

Bug 688228 "ps2pdf appears to infinite loop processing a document".

The old code didn't check for fixed overflow while computing a segment span
while flattening a path for the filling algorithm. Due to that
it got a wrong coordinate of a line intersection point, and fallen into an infinite cycle.

The new code subdivides a line segment if the segment span is greater than max_fixed.
See comment in code.

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2005-08-10T19:32:38.000000Z Igor Melichev

Fix : Develop.htm must reference all relevant files (continued).

[doc/Develop.htm]

2005-08-10T19:31:01.000000Z Igor Melichev

Fix : Develop.htm must reference all relevant files (continued).

[doc/Develop.htm]

2005-08-09T22:38:23.000000Z Dan Coby

Fix for 688250 Another overprint problem with the tiffsep and psdcmyk
devices.  The fix ensures that the various bit mask and shift fields in
the device's color_info structure is set for the tiffsep, psdcmyk, and
spotcmyk devices.

[src/gdevpsd.c src/gdevtsep.c src/gdevdevn.c]

2005-08-09T20:23:07.000000Z Ralph Giles

Port the 4-bit EGA device to the new DeviceN color mapping. After
a patch from William Bader. Fixes bug #687795.

[src/gdevpcfb.c]

2005-08-08T23:24:56.000000Z Ralph Giles

Remove a generated file that was causing build portability problems.

[jasper/src/libjasper/include/jasper/jas_config_ac.h]

2005-08-04T17:38:45.000000Z Alex Cherepanov

Fix calculation of the row width on 64-bit platforms. Remove bitmap_raster()
macro because Windows bitmap is not affected by the source platform alignment
constrains. Initialize padding bytes to 0.
Fix bug 688247

[src/gdevbmp.c src/gdevbmpc.c]

2005-08-04T09:32:25.000000Z Igor Melichev

Fix (TT font reader) : Allow 'post' over 65536 bytes.

DETAILS :

Bug 688154 "TTF file fails to load".

It applies .readbigtable to 'post' and then use new accessors
get_from_stringarray, getinterval_from_stringarray, string_array_size
to decode it.

The change should be algorithmically eqiovalent except for the 'post' size limitation.
A further optimizatrion of calls to first_post_string may be useful.

EXPECTED DIFFERENCES :

None.

[lib/gs_ttf.ps]

2005-08-03T16:36:27.000000Z Igor Melichev

Fix (ps2write) : A workaround for an HP LaserJet 1320 bug in 'resourcestatus'.

DETAILS :

See comments in code.
The problem happened with the following files :

017-01.ps
020-01.ps
045-01.ps
327-01.ps
336-01.ps
Bug687603.ps

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-08-02T11:12:32.000000Z Igor Melichev

Fix (TT interpreter) : Optimize the debug support.

DETAILS :

Bug 688253 "TT interpreter : too heavy debug support".

In the debug build the old code of TT interpreter allocates a copy of points arrays and
checks for any point change after TT instruction.

The new code checks whether the DebugPrint method is available,
and skips all the debug support otherwise. The method is set only if
-ZY option is specified. In the release build the debug support
compiles to empty.

We do not bring if_debug macros to the TT interpreter
because we want to keep it close to the original FreeType code.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/ttfmain.c src/ttfoutl.h src/ttload.c src/ttinterp.c]

2005-08-01T20:58:18.000000Z Igor Melichev

Fix (TT interpreter) : Skip TT instructions if the font program or the cvt program fails.

DETAILS :

Bug 688236 "/invalidfont in -show-".
This patch maps any TT bytecode interpreter error to "fBadInstruction",
if the error happens during the font instantiation or during the face instantiation.
As usual, fBadInstruction disables TT instructions for the font and prints a warning to stderr.

EXPECTED DIFFERENCES :

None.

[src/ttfmain.c]

2005-08-01T19:40:59.000000Z Igor Melichev

Fix : Develop.htm must reference all relevant files.

[doc/Develop.htm]

2005-07-30T02:39:45.000000Z Alex Cherepanov

Replace memcpy() with overlapping intervals to memmove() in Type 2 font
generator. The old code violated the C spec and failed on HP aC++ compiler
with +Olibcalls option. Thanks to Hin-Tak Leung for the patch.
Fix bug 687360

[src/gdevpsfx.c]

2005-07-29T02:49:52.000000Z Alex Cherepanov

Remove the check for 0 CTM in the type 1 font hinter to support PDF files
with 0-size fonts or 0 CTM. 
Fix bug 688237

[src/gxhintn.c]

2005-07-28T15:24:29.000000Z Alex Cherepanov

Pacify Valgrind: don't copy memory on itself. 
Partial fix for bug 688225.

[src/gsiodev.c src/zcie.c]

2005-07-27T22:34:40.000000Z Igor Melichev

Fix : Maybe line breaks are broken by the last patch. Commit it again with right line breaks for sure.

[src/gdevpdfx.h src/gxcpath.c src/gxpath.h src/gdevpdfd.c src/gdevpdfb.h src/gdevpdti.c]

2005-07-27T22:09:37.000000Z Igor Melichev

Fix (pdfwrite) : Skip a clip path, which is set by setcachedevice.

DETAILS :

Bug 687678 "pdfwrite : A Type 3 character cut-off".

The setcachedevice clipping must not be written to a charproc.
The old code wrote it, causing a character cut-off with several viewers,
including Adobe Reader 6.

The patch saves a 'setcachedevice' bbox in the pdfwrite device structure
and checks it whenever a clip path needs to be written out.
See gdevpdfx.h about the new data definition.
The box is being saved and restored while entering and exiting a substream.

EXPECTED DIFFERENCES :

pdfwrite :

"012-09.ps" 
"013-09.ps" 
"014-09.ps" 
"015-09.ps" 
"017-01.ps" 
"020-01.ps" 
"045-01.ps" 
"083-09.ps" 
"093-01.ps" 
"123-09.ps" 
"136-01.ps" 
"165-01.ps" 
"205-09.ps" 
"212-01.ps" 
"213-01.ps" 
"214-01.ps" 
"226-01.ps" 
"238-01.ps" 
"260-01.ps" 
"264-01.ps" 
"281-01.ps" 
"298-09.ps" 
"321-09.ps"

[src/gdevpdfx.h src/gxcpath.c src/gxpath.h src/gdevpdfd.c src/gdevpdti.c src/gdevpdfb.h]

2005-07-27T11:24:38.000000Z Igor Melichev

Fix : Ignore XUID if Metrics[2] has been changed.

DETAILS :

Bug 674418 "093-01.ps : Wrong text".

When a fong is being cached, the metric data for a glyph is being taken from the cache.
If a font have a valid XUID, the XUID is used as the cache key.
Consequently, if Metrics[2] has been changed after a font is cached,
the font renders with the wrong (unchanged) metric.

This patch checks whether another registered font has same XUID
and another Metrics[2] dictionary. If so, the XUID is dropped,
and it not used as a cache key.

EXPECTED DIFFERENCES :

Normal :

093-01.ps.

[src/gsfont.c src/zbfont.c src/gsfont.h]

2005-07-26T23:49:49.000000Z Ralph Giles

Improve wording of the new p2ps2 script documentation.

[doc/Ps2ps2.htm]

2005-07-26T20:50:23.000000Z Igor Melichev

Fix (pdfwrite) : Delay the assignation of object id to a color space until its creation is completed.

DETAILS :

Bug 687712 "ps2pdf silently generates bad PDF in 1.2 mode".

The old code reserved an objewct id for a color space when starting its creation.
If the creation fails (for example, with CompatibilityLevel <= 1.2),
the related graphics is being converted into low level objects.
In that case the reserved object id doesn't appear in the output PDF,
causing an incorrect xerf.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfc.c]

2005-07-26T00:59:39.000000Z Dan Coby

Fix for 688052 Segv with test file for 687980 and the psdcmyk device.

DETAILS:

The 'put_param' routines for the routines which implement the handling of
the SeparationOrder, SeparationColorNames, and the MaxSeparation device
parameterswere always resetting the number of device components
(num_components in the color_info structure) when they were called.  This
can cause problems with the PDF 1.4 transparency since the transparency
processing can have its own process color model.  The fix involves only
changing the number of device components when one of the three device
parameters changes value.  This should only occur at the start of a page.
The PDF 1.4 process color model is only active during the processing of
a page.

[src/gdevpsd.c src/gdevdevn.c]

2005-07-21T19:50:40.000000Z Alex Cherepanov

Use memmove() instead of memcpy() in Ins_MINDEX() because of the overlapping
memory blocks.
Fix bug 688224.

[src/ttinterp.c]

2005-07-21T19:32:06.000000Z Alex Cherepanov

Fix off-by-one error in Decode array testing.
Fix bug 688223.

[src/gxipixel.c]

2005-07-21T18:19:50.000000Z Dan Coby


Fix for 688218 gdevpng.c(148) : A harmful warning from MSVC8.  The warning
message was due to a math overflow for the dither_grays and dither_colors
fields in the device color_info structure.  This occured due to the
addition of the png48 device which has 16 bit components.  The fix is to
increase the field size to a uint (typically 32 bits).

[src/gxdevcli.h]

2005-07-21T18:13:19.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Merge equal function resources.

DETAILS :

Bug 688195  "pdfwrite,ps2write : Redundant function objects".

This patch applies the usual merging method for function objects :
a delayed assignation of object id, search for equal object,
replace redundant one with an old equal one.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2005-07-21T16:04:18.000000Z Igor Melichev

Fix (ps2write) : Some of Widths elements could be missed.

DETAILS :

This is the fourth partial fix for the bug 688169 "ps2write : text dissappears".
It relates to Comment #6 of the bug 688169.

Some elements of Widths array could be missing if the encoding defines
several codes for samne character, and only the first code is used.
The old code scanned Encoding and put a Metrics dictionary element
for each element of Encoding. However Encoding could contain dummy
elements witrh the value 0, and the value 0 replaced an useful value defined earlier.

This fix assumes that ps2write renames glyphs if they have several occurances in Encoding,
and more than one occurance is used. Under this assumption,
if only one occurance is used, other accurances will get the value 0
(using exactly 0 in this case is another ps2write feature being assumed here).
So is Metrics already has a non-zero value, it shouldn't be replaced with zero,
and the logic is pretty simple : don't replace non-zero values.

This patch causes ps2write progressions :

687572.pdf
86554321.pdf
Jahr2000.pdf
rf1025.pdf

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-07-21T09:53:42.000000Z Igor Melichev

Fix : Move character raster buffers into the memory space of gx_show_enum.

DETAILS :

Bug 688222 "Another crash in igc_reloc_struct_ptr".

This is a partial change for the problem.
It fixes exactly the case that happened in the bug report.

However there is another harmful case, which we want to fix separately
due to it requires a big change. The case is
running 'show' in the global allocation mode while
the current font is local. We open a separate bug 688227 for it.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c]

2005-07-20T18:14:04.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Synthesized bitmap fonts had zero character width in charprocs.

DETAILS :

1. The Wx operand of d1 always got the zero value
when a font is being converted into a bitmap font.

2. The Width array was wrongly computed
when a font is being converted into a bitmap font.

3. Computing Metrics, Widths values to be scaled with the FontMatrix,
to account an unusuial FontMatrix of Type 1 fonts,
which were created by 3d parties from TrueTypes.

4. Metrics was not set to a font due to a bad stack balance.

Bug 688172 "ps2write : CID text displacement".

This patch gives a numerous progressions when ps2write runs with a small resolution -r72.
In same time with this patch few files regress when ps2write runs with a small resolution -r72 :

687572.pdf
86554321.pdf
Jahr2000.pdf

EXPECTED DIFFERENCES :

pdfwrite 72dpi :

"020-01.ps"
"093-01.ps"
"Bug687845.ps"

pdfwrite 300dpi :

"020-01.ps"
"093-01.ps"
"405-01.ps"
"450-01.ps"
"Bug687845.ps"

[src/gdevpdtt.c src/gdevpdfb.c lib/opdfread.ps]

2005-07-20T14:46:16.000000Z Ray Johnston

Fix undefined in -get- caused by previous (1.38) patch that ignored zero
length tables in TT font. Previous fix for 687457. Bug 688220 for customer
580.

DETAILS:

Some tables, such as 'glyf' are required by the ttf code even if they are
zero length. The 687457 bug omitted these tables since their position is
arbitrary, but they could cause false 'overlap' conditions, potentially
truncating a non-zero length table to zero length. The simplest solution
is to place all zero length tables at offset 0 (the offset is arbitrary
for zero length tables).

EXPECTED DIFFERENCES:

Regression testing showed no problems. The file for 687457 is now added
to the regression suite as will a test file with a zero length 'glyf'.

[lib/gs_ttf.ps]

2005-07-20T08:20:55.000000Z Igor Melichev

Fix (ps2write) : Initial commit of the ps2ps2 documentation.

EXPECTED DIFFERENCES :

None.

[doc/Ps2ps2.htm doc/Readme.htm]

2005-07-20T07:22:01.000000Z Igor Melichev

Fix (ps2write) : The default value for MaxInlineImageSize was incorrect.

DETAILS :

It was too small for real images.
May improve the printer prerformance.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c src/gdevpdfb.h]

2005-07-20T06:17:06.000000Z Igor Melichev

Fix (ps2write) : Bring the script to the traditional form (continued).

DETAILS :

Rename the distiller settings PSPrinter with a more meanful name PSL2Printer.

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-07-20T06:10:13.000000Z Igor Melichev

Fix (ps2write) : Bring the script to the traditional form.

DETAILS :

Bug 688190 "ps2write : improve the ps2ps2 script".

Since ps2write actually is a clone of pdfwrite,
we define special distiller settings named PSPrinter.
After this device parameters are gone from the script,
and the ps2ps2 script looks similarly to ps2ps .

EXPECTED DIFFERENCES :

None.

[doc/Use.htm doc/Develop.htm doc/Psfiles.htm]

2005-07-20T06:00:54.000000Z Igor Melichev

Fix (ps2write) : Bring the script to the traditional form.

DETAILS :

Bug 688190 "ps2write : improve the ps2ps2 script".

Since ps2write actually is a clone of pdfwrite,
we define special distiller settings named PSPrinter.
After this device parameters are gone from the script,
and the ps2ps2 script looks similarly to ps2ps .

EXPECTED DIFFERENCES :

None.

[lib/ps2ps2.bat lib/ps2ps2 lib/ps2ps2.cmd lib/gs_pdfwr.ps]

2005-07-19T19:31:19.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Tj must account the Widths rounding when converting to a bitmap font.

DETAILS :

Bug 688170 "ps2write : text displacement".
An imprecise text width happened when distillation uses a low resolution
to convert a font into a bitmap font. Important for CompatibilityLevel <= 1.2 .

EXPECTED DIFFERENCES :

None.

[src/gdevpdti.c]

2005-07-18T05:51:57.000000Z Ray Johnston

Skip CFF tables at 0 or negative offset because some CFF fonts put empty tables
at offset 0. Bug 688160. Thanks to Alex Cherepanov for this patch.

[lib/gs_cff.ps]

2005-07-18T05:33:12.000000Z Ray Johnston

Fix handling of Some Type1C (CFF) font subsets where the tables may not
be completely contiguous. Seen with PDFs created by pdflib. Bug 688216
and 688040 for customer 562.

DETAILS:

The example subset CFF had the "Private" data about 30,000 bytes after
the end of the previous (CharStrings) data. While we try to process the
CFF file sequentially, there is no reason we cannot skip bytes. If we
encounter a CFF where positioning (backwards) is required, we will have
to further change the code to set us a "ResuableStreamDecode" file so
we can replace the "pos sub nextstring pop" with "f fileposition" which
will work forwards or backwards.

A CFF that requires this will get an error when loading the font from the
-string- operator (rangecheck). Since we have not seen one yet, we will
wait until this surfaces.

[lib/gs_cff.ps]

2005-07-15T05:59:18.000000Z Ray Johnston

Remove the arbitrary limit of 256 max_colors from the dci_ macros. This is
related to bug 688204 and allows shadings (gradients) to have more than
256 steps for high precision color devices.

DETAILS:

Note that the default smoothness is set to 0.02 in lib/gs_ll3.ps and unless
this is set smaller with the setsmoothness operator (or the PDF 'SM' op),
the max_error used in src/gxshade.c may still be too large to see REALLY
smooth gradients. The next part of the changes is to modify the setting
of max_error when the device has > 256 levels.

[src/gxdevcli.h]

2005-07-15T05:23:43.000000Z Ralph Giles

Add a 48 bit RGB PNG raster device for testing deep color output code
paths. The new device is called 'png48'. Note that this is a different
naming scheme from the the other PNG devices, which use number of colors
instead of the log of the number of colors to distinguish between the
different output formats. Related to bug 688204.

[src/configure.ac src/devs.mak src/gdevpng.c]

2005-07-15T03:36:03.000000Z Dan Coby

Fix for 688209 Incorrect equiv color for 'Dark Blue' in test file.

DETAILS:

The problem was caused by an error in evaluting a sampled function with
32 bits per component.  The maximum value for a sample was calculated
as being (1 << bps) - 1.  This calculation has a problem on x86 CPUs
when bps is 32.  No shifting is done and the result ends up being 0
instead of 0xffffffff.

The fix involves checking for bps being equal to (or greater than)
the size of an uint.  If so then the max_uint value is used instead.

[src/gsfunc0.c]

2005-07-14T19:56:55.000000Z Alex Cherepanov

Don't use Length value in the stream dictionary when it's incorrect. All
filtered streams are self-terminated. Unfiltered streams are most often occur
as contents streams. Their processing is terminated by execution of endstream
operator. Unfiltered image streams will only read the data required by
the image.
Fix bug 688182.

[lib/pdf_base.ps]

2005-07-14T16:10:43.000000Z Igor Melichev

Fix (ps2write) : Don't replace Encoding for standard fonts.

DETAILS :

This is the third partial fix for the bug 688169 "ps2write : text dissappears".

1. Regarding 093-01.ps :

Before a font is loaded from a font file object,
need to check whether there exists a standard font with same name and
save it for possible use in future from other font resource objects.

2. Regarding 336-01.ps :

The implementation of the operator ' was incomplete.

This patch causes ps2write progressions:

"093-01.ps"
"336-01.ps"
"adesso7.pdf"
"ADOBE1-4.pdf"
"brochurep1.pdf"
"ca.pdf"
"ccc.pdf"
"Jahr2000.pdf"
"js.pdf"
"prfmm.pdf"
"rf1025.pdf"

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-07-14T15:14:39.000000Z Alex Cherepanov

Increade the limit on the .libfile operand length from 200 to the full
gp_file_name_sizeof . The OS also limits the length of the file name,
for instance, on WinNT, NTFS to 252 characters.
Fix bug 688198.

[src/zfile.c]

2005-07-14T13:20:33.000000Z Igor Melichev

Fix (ps2write) : Don't replace Encoding for standard fonts.

DETAILS :

This is the second partial fix for the bug 688169 "ps2write : text dissappears",
related to the file aaon97_p7.pdf .

When a standard font is being loaded, the old code replaced Encoding with StandardEncoding.
However the Dingbats font has a different Encoding.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-07-14T10:27:59.000000Z Igor Melichev

Fix (ps2write) : Embed standard fonts, which use extention glyphs due to encoding conflicts.

DETAILS :

This is a partial fix for the bug 688169 "ps2write : text dissappears",
which is related to the problem with ADOBE1-4.pdf .

When Widths array defines several widths for same glyph,
the PDF interpreter duplicates glyphs inserting extended glyph names.
However if the font name is standard, the font was not embedded and the
extended glyph names were missed. This patch forces embedding
the fonts what have extended glyph names.

This problem doesn't happen with pdfwrite, because it collapses
extended glyph names back to original ones.

Note that there exists a case, in which a font has extended glyphs but
they are not used in the document. In this case the font embedding is not necesary,
but ps2write does embed it. This happens because the current architecture
does not allow to detect such case, because the decision about a font embedding
is being made before a text is processed. Dalaying it until the end of the text would
need to delay object ID assignation for the font descriptor and for the font file.
This change would be too deep, so we don't do it now.

If an user strongly needs to minimise the output when
a standard font uses extended glyph name,
we recommend to perform a 2-pass distillation :
the first pass computes exact font subsets,
and the second pass won't receive unused glyphs.
We believe that such need is pretty rare.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtf.c src/devs.mak]

2005-07-13T21:21:47.000000Z Dan Coby

Fix for 688206 rangecheck in --setcolorspace--.  Actually there is a
problem with the PDF test files.  The 'fix' is to make Ghostscript more
tolerant of errors.

DETAILS:

The problem is an error in the file.  The file contains an Indexed color space:
 [ /Indexed /DeviceGray 255 (\000%Mr\r2[\300\320\303\000\b\f\021\026\034"\)UMB9
\201%Ns\r2[\016\035,:\036-

[src/zcsindex.c]

2005-07-13T18:18:07.000000Z Ray Johnston

Font scanning would miss OpenType fonts (OTTO header).

[lib/gs_ttf.ps]

2005-07-13T17:21:22.000000Z Igor Melichev

Fix (TT grid fitting) : A missed glyph needs cached_fm_pair_s.

DETAILS :

Bug 688164 "segfault after warning for missing required cmap in embedded TT font; pdf".

The embedded TT font missed a glyph, so that a "notdef" (glyph_index = 0)
to be used instead. However when performing a grid fitting,
an cached_fm_pair_s is used to pass an access to the font.
The problem happens due to "notdef" forced no glyph caching
and therefore cached_fm_pair_s was not created.

The fix moves the check for "notdef" for the point after creating an cached_fm_pair_s.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c]

2005-07-13T10:37:10.000000Z Igor Melichev

Fix (ps2write) : EOT marker was missed.

DETAILS :

Bug 688186 "ps2write: EOT is missing".
The old code writes it after the file is closed.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2005-07-13T00:39:50.000000Z Ralph Giles

Cast color components to type gx_color_index before shifting when
composing a chunked index color in gx_default_rgb_map_rgb_color().
Partial fix for bug 688204.

DETAILS:

Without the explicit casts, color components were only promoted to
the default int type before the shifts were applied. On 32 bit machines
this means that 16 bpc output generated nonsense, shifting the high
channel entirely out of the word, and only promoting to a 64 bit type
on assignment. With the explicit casts, the promotion to a 64 bit type
(assuming a 64 bit gx_color_index) happens first so that the shift logic
is correct for deep devices.

With this change the "24 bit RGB" default mapping works for 48 bit
color as well as for other spaces in-between. 24 bits remains special
cased; rough benchmarking showed no significant advantage to special
casing 48 bits as well.

[src/gxcmap.c]

2005-07-12T17:54:55.000000Z Igor Melichev

Fix : MSVC8 Beta 2 doesn't handle the compiler option Gi.

DETAILS :

The new distribution of the MSVC compiler claims the option Gi is depricated.
Since the nmake file uses a single value 8 of the variable MSVC_VERSION
for both Beta 1 and Beta 2, we cannot distinguish these releases,
so now we drip the option Gi fore both releases.
Beta 1 is now obsolete, so users must either upgrade for Beta 2
or live with no incremental compilation. The latter only increases the build time.

EXPECTED DIFFERENCES :

None.

[src/msvccmd.mak]

2005-07-11T22:08:30.000000Z stefan

Fix MSVC compile error

DETAILS:

MSVC prevents dynamic structure initialization
gcc is more liberal.

Final code is simpler using a function call.

[src/gdevpxut.c]

2005-07-08T22:06:30.000000Z Dan Coby

The gdevdsp.c file was missed in the previous commit for the fix for 688192.

[src/gdevdsp.c]

2005-07-08T22:04:31.000000Z Dan Coby

Fix for 688192 Resolution dependant problems with tiffsep.  Note:  The
actual problem is related to garbage collection.

DETAILS:

The names of the separations are being lost when the garbage collection
logic is attempting to relocate the names.

The fix consists of storing the names in a byte array instead of using a
gs_param_string.

[src/gdevpsd.c src/gdevtsep.c src/gdevdevn.c src/gsequivc.c src/gdevdevn.h src/devs.mak]

2005-07-07T16:44:17.000000Z stefan

Add support for manual feed and media source or tray selection
to pxl output devices.  This allows postscript input to use
InputAttributes dictionary selection mechanisms to choose a tray.

The pxl tray numbers in the PXL file are the PS MediaSource numbers
to "map" correctly an input attributes dictionary needs to be present
and needs to match the tray contents/numbering of the pxl printer.

postscript manual feed /ManualFeed is directly mapped to PXL this
will override any tray selection.

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

2005-07-06T20:54:07.000000Z stefan

Bug fix for 688196.

CCITTFAX decode filter had number of rows limited to 32000.
Test file with 40000 found, limit is now 1,000,000

[src/scfparam.c]

2005-07-05T17:56:55.000000Z Igor Melichev

Fix (ps2write) : Allow .HWMargins in the printer's userdict.

DETAILS :

Testing with HP LazerJet 1320 we found that it defines a PageSize bigger than
the real page. Allowing a method for an user to compensate that.
The method is to define .HWMargins to the printer's userdict.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-07-04T09:03:48.000000Z Igor Melichev

Fix (ps2write) : CIEBased* images must use DecodeABC as Decode (continued).

DETAILS :

The last patch appears incomplete.
Bug 688174 ps2write: black page
CompleteImage was underimplemented.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-06-29T23:46:24.000000Z Dan Coby

Fix for 688144 Overprint problem wtih emitting a single separation from
tiffsep.  The overprint logic assumed that overprinting was never applied
if there is only one component in the output device.  This is true for a
DeviceGray process color model.  However it is possible for there to only
be a single output component in other process color models (like CMYK) if
the SeparationOrder device parameter is used to select a subset of the
device's colorants.  This fix removes the undesired optimization.

[src/gsovrc.c]

2005-06-29T20:46:20.000000Z Igor Melichev

Fix (ps2write) : CIEBased* images must use DecodeABC as Decode.

DETAILS :

Bug 688174 ps2write: black page
CompleteImage was underimplemented.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-06-29T18:21:44.000000Z Igor Melichev

Fix (ps2write) : Imagemask incorrectly synchronized color in the !HaveStrokeColor mode.

DETAILS :

Bug 688171 "ps2write : wrong frame color".
The !HaveStrokeColor mode was underimplemented.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfb.c]

2005-06-29T14:21:27.000000Z Ralph Giles

Remove a duplicate file in the installation target list.

[src/unixinst.mak]

2005-06-29T14:12:14.000000Z Igor Melichev

Fix : A dangling pointer from pdf_image_enum.

DETAILS :

Bug 688156 "Reference to free object : pdfwrite -r72 -Z?$@ 035-07.ps".

After pdf_make_alt_stream pdf_image_enum::writer.binary[1].target left a pointer to
a cos_object_t instance, which is later freed by pdf_choose_comprtession.
Thus it caused a dangling pointer. It was not harmful unless running with -Z? .

EXPECTED DIFFERENCES :

pdfwrite crashed with -Z?$@ :
035-07.ps.
FIG3.eps

[src/gdevpdfj.c]

2005-06-29T10:54:20.000000Z Ralph Giles

Fix some additional typos in the documentation install rules. Closes bug
688158.

[src/unixinst.mak]

2005-06-28T23:00:00.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : A recognition of Type 3 glyph variations was inaccurate.

DETAILS :

Bug 688168 pdfwrite, ps2write : incorrect barcode Bug687472.ps
Bug 687472 barcode wrongly converted to type3 font

1. The condition in pdf_find_same_charproc was not a strong equality.
   When searching in same font, the comparizon of object streams was missed
   (debugged with Bug687472.ps).

2. When creating an alternative font due to glyph wariations,
   the fonmt matrix was equal to one from the scaled font
   instead the original font, causing an imprecise coordinates.
   Replaced with the original font matrix.
   (debugged with Bug687472.ps).

3. pcp->font was not adjusted when desided to start a new font due to
   a new glyph variation obtained. Due to that some glyphs
   were replaced with wrong glyph variations
   (debugged with Bug687660a.ps, page 4, the text
   "et al. [11] Y. Nakamura et al.", the 3d occurance of 'a' was wrong
   (search for "( al)" in the old generated PDF file)).

4. Exiting from a substream, flattness was not restored
   (debugged with muur.eps).

EXPECTED DIFFERENCES :

pdfwrite :

"Bug687472.ps"
"Bug687660a.ps"
"Bug687832.pdf"
"STEUER-RollingMesh 3(Final).ai"

[src/gdevpdfx.h src/gdevpdfg.c src/gdevpdti.c]

2005-06-28T11:44:23.000000Z Ralph Giles

Add two new multiply-included templating files to the exclusion list for
the multiple-inclusion regression check.

[toolbin/tests/check_source.py]

2005-06-28T06:19:27.000000Z Dan Coby

Fix for 687989 PDF to any format raises /invalidfont in /R21.  The test
file was created by an imposition program.

DETAILS:

The given file (the one with the four pages imposed together) has:

1.  A Page dict with form Xobjects and the /R21 font is not in the
    Resources/Font dict.
2.  The Pg3 form XObject has the /R21 font in the Resources/Font dict.
3.  /R19 is a Type3 font.  There is not a Resources entry in the dict.  This
    font uses both the /R13 ExtGState and the /R21 font.

To find the /R13 and the /R21 resources, Ghostscript is first looking in
the /R19 font.  Since it is not present (no Resources in /R19), Ghostscript
then searches the Page dict.  Once again the resources are not found and then
the InvalidFont error is generated.  (Ghostcript is silent about the missing
ExtGState /R13.)

From page 391 of the PDF REference, version 1.6 on the entries in the dict for
a Type3 font:

"Resources  dictionary (Optional but strongly recommended; PDF 1.2) A list of
the named resources, such as fonts and images, required by the glyph
descriptions in this font (see Section 3.7.2, "Resource Dictionaries"). If any
glyph descriptions refer to named resources but this dictionary is absent, the
names are looked up in the resource dictionary of the page on which the font
is used. (See implementation note 64 in Appendix H.)"

This implies that Ghostscript is following the correct path for finding the
resources /R13 and /R21.  (However one can make a case for a 'liberal'
interpretation of the spec. that implies that the form XObject resources
should also be checked.)

This fix checks the current resources when the Resources dictionary is not
present in a type 3 font.

I do not know why Acrobat 6.0 Pro does not find /R13 but does find /R21.  If
Acrobat is not checking the Resources for the Pg3 form XObject then it should
find neither.  If it is checking Pg3 Resources then both should be found.

[lib/pdf_font.ps]

2005-06-23T07:35:30.000000Z Igor Melichev

Fix : A global restore was applied at save level 1.

DETAILS :

Bug 688157 "'invalidrestore' in pkmraw -r72 -Z?$@ tpc2.ps".
Bug 688161 "A dangling pointer with pkmraw -r72 -Z?$@ -c false 0 startjob pop -f - <113-01.ps".

The last patch appears incorrect. This one fixes that.

Bug 688157 happened because
tpc2.ps failed with 'invalidrestore' because
the global restore was applied at the level 1.
This happened because the last but one patch
appears incomplete - after that change the check for 'global'
in alloc_is_since_save become incorrect.
It assumed that mem->saved == save && mem->saved->save_level == 1 implies
save->state.save_level == 0. But with the last but one patch not it doesn't.

Bug 688161 happened due to same check, because alloc_is_since_save
is also used in restore_fix_stack to fix string and file objects,
which exist on stack and which would become invalidated due
to the restore. 'zrestore' do not check such objects on estack
(restore_check_stack is called with 'false'). Such objects appear when
'startjob' is called from a command argument (and establishes
a save level 0), and later another command line argument
is executed with '.runstdin', which executes .subfiledecode
at save level 1 and keeps the filter object on estack while
.runexec works (keeping the file for .runexec2).
So running the file 113-01.ps invoked 'exitserver', which executes a 'restore',
which unwinded the file object, and caused a heap inconsistency
(because restore_check_stack is called with 'false')
due to estack keeps the unwinded file object.

This change replaces it with (as we believe) the correct and simple check :
  save->state.save_level == 0 /* Restoring to save level 0 */
which restores the consistency of restore_fix_stack to restore_check_stack.


EXPECTED DIFFERENCES :

Fixes a crash with 113-01.ps .

[src/isave.c]

2005-06-22T20:15:50.000000Z Igor Melichev

Fix : A global restore was applied at save level 1.

DETAILS :

Bug 688157 "'invalidrestore' in pkmraw -r72 -Z?$@ tpc2.ps".

With the last patch memory problems gone avay,
but tpc2.ps failed with 'invalidrestore'.
We found that the global restore was applied at the level 1 -
a guess as a rudiment of code before NOOUTERSAVE is code.

When tpc2.ps issued a restore, with neither startjob nor NOOUTERSAVE
it appears at level 1 (due to gs_init.ps executes 'save')
but at that moment dstack contains some dictionaries,
created by the document. Those dictionaries cause 'invalidrestore',
because they are created after the 'save' issued by gs_init.ps .

At first time we wonderewd why this problem doesn't happen with
other documents. The answer is : they don't keep dicts
on dstack when execute the outermost 'restore'.

EXPECTED DIFFERENCES :

Fixes 'invalidrestore' in tpc2.ps .
113-01.ps crashes due to another problem, which we'll open another bug for.

[src/isave.c]

2005-06-22T15:36:23.000000Z Igor Melichev

Fix : Dangling pointers due to 'restore' left an internal save level.

DETAILS :

Bug 688153  "Reference to free object : ppmraw -r72 -Z?$@ Bug687489.ps"

Running :
    gs sOutputFile=t.ppm sDEVICE=ppmraw -r72 -Z?$@ Bug687489.ps"
got :
    Reference to free object 0xaf9e40(100), in chunk 0x3eca48!

The reason is that a gs_show_enum instance was created in some 'save' level,
and when it is released the 'save' level appears a higher one and the
memory manager left it unreleased until a further 'restore' does that.
However that instance pointed to a gx_path instance with a bigger 'save' level.
So when the garbager was invoked, the gs_show_enum instance had a 'path' field
pointed to a structure, which was already released by a 'restore'.

Analyzing it so far, we found that 'save' and 'restore' may
leave an extra level on the 'save' stack. More precisely,
alloc_save_state sometimes creates an "invisible" 'save' level,
which appears on the 'save' stack, but it has no save id and
it doesn't add to the 'save' level counter. The problem happened
when 'restore' finds its 'save' stack element. In that case
alloc_find_save returns the second additional 'save' stack element,
rather than the first one created by 'save'. Therefore
a consecutive execution of 'save restore' could add
one element on the 'save' stack (without increasing the save_level counter)
and cause dangling pointers as explained above.

We believe that the bug lived in alloc_save_state.
Really, a comment in alloc_save_state reads :
   /* Do a second, invisible save. */
and in same time the code makes the first 'save' to be invisible,
and moves the id from the first 'save'. Thus the code does not
comply to the comment. We believe that the comment is correct,
and the code is buggy. Therefore we change the code so
that the second (internal) 'save' to be really invisible.

EXPECTED DIFFERENCES :

Fixes memory problems (June 16 regressions) with the following files :

"257-01.ps"
"Bug687396.ps"
"Bug687489.ps"
"Bug687603.ps"
"Bug687698.ps"

[src/isave.c]

2005-06-22T15:24:37.000000Z Ralph Giles

Fix typos in the the jasper makefile. Closes bug 688148.

[src/jasper.mak]

2005-06-22T14:11:01.000000Z stefan

Added documentation note that gc doesn't collect
around a reference to a sub interval in an array.
Rather it gc's arrays as objects.

[doc/Language.htm]

2005-06-21T19:58:38.000000Z Igor Melichev

Fix : Reference count for gx_clip_path::path_list was incorrect.

DETAILS :

Bug 688147 "Wrong reference count with ppmraw -Z?$@ -r72 257-01.ps".

gx_cpath_assign_preserve didn't adjust the reference count.

EXPECTED DIFFERENCES :

May fix some of pkmraw, pgmraw regressions appeared on June 16.

[src/gxcpath.c]

2005-06-21T16:50:51.000000Z Igor Melichev

Fix : Always place the image enumerator into local memory (continued 2).

DETAILS :

The previous patch inserted a 'const' by a mistake.
Removing it.

EXPECTED DIFFERENCES :

None.

[src/gsimage.c src/gsimage.h]

2005-06-21T16:25:50.000000Z Igor Melichev

Fix : A wrong allocator was used to release the glyph cache.

DETAILS :

Bug 688146 "heap corruption with ppmraw -r72 -Z?$@ 055-01.ps".

A structure was allocated in a non-stable memory and
released to a stable memory.

EXPECTED DIFFERENCES :

May fix some of pkmraw, pgmraw regressions appeared on June 16.

[src/gsgcache.c]

2005-06-21T13:12:00.000000Z Igor Melichev

Fix : Always place the image enumerator into local memory (continued).

DETAILS :

Bug 688140 "A heap corruption in imagemask".
Bug 688145 "Segmentation fault : normal 244-01.ps (pkmraw/300/noband)"

The patch
http://ghostscript.com/pipermail/gs-cvs/2005-June/005567.html
appears incomplete.
This ine fixes that.

1. gs_image_common_init must not change penum->memory since it is set by
   gs_image_enum_alloc for a compatibility with gs_image_cleanup_and_free_enum.

2. gs_image_enum_init is removed from the graphics library interface
   because after the change (1) it becomes potentially harmful.
   We noticed that the PCL interpreter never calls it directly,
   so making it be local against a potantial harm.

3. The memory argument of gs_image_common_init has been removed
   because it became unuseful.

4. We notice that gs_image_common_init initializes an instance of gs_image_enum,
   and gs_image_begin_typed initializes gx_image_enum_common_t.
   We wonder with the assymmetry of using the word "common"
   in these identifiers. It appears much confusible.
   For now leave them as they are, rather we'd like to clean them up.

EXPECTED DIFFERENCES :

Should fix pkmraw, pgmraw regressions appeared on June 16.

[src/gsimage.c src/gsimage.h]

2005-06-21T00:58:02.000000Z Dan Coby

Partial fix for 688132 WTS crash with pdf input.  Ghostscript does not
serialize a WTS halftone.  (This is required for clist processing.)  As a
result, an error code is being returned.  The error code was not being
properly returned.  We then seg faulted due to a pointer not being set in
the error case.  This fix corrects the problem with returning the error
code.  The problem with WTS serializaton remains.

[src/gdevp14.c]

2005-06-20T08:59:23.000000Z Igor Melichev

Fix : Factor out any dependence on sizeof(gx_color_index) .

DETAILS :

This change is algorithmically equivalent.
We factor out this dependence because we intend to change the
gx_color_index definition to an array of components.
In that case sizeof(gx_color_index) would give the size of a pointer
rather we need the size of the array.

Minor change : Fixed an unitialized debug-purpose variable prev_count
in 3 device drivers gdevm40.c, gdevm48.c, gdevm64.c .

EXPECTED DIFFERENCES :

None.

[src/gdevm64.c src/gdevpsd.c src/gdevdsp.c src/gxcindex.h src/gsdparam.c src/gdevm48.c src/gxiscale.c src/gxdcolor.c src/gdevtsep.c src/gdevpdfb.c src/gdevpdfv.c src/gdevxcf.c src/gdevm40.c src/gxdevcli.h src/gxoprect.c]

2005-06-19T21:10:58.000000Z Igor Melichev

Fix : zchar.c needs a prototype of z1_set_cache.

DETAILS :

It fixes a cygwin/gcc warning.

EXPECTED DIFFERENCES :

None.

[src/int.mak src/zchar.c]

2005-06-19T21:03:32.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Type 42 fonts got wrong Width (continued).

DETAILS :

Need a prototype for z1_glyph_info_generic since we call it in zfont42.c .

EXPECTED DIFFERENCES :

None.

[src/ichar1.h src/int.mak src/zfont42.c]

2005-06-19T20:45:57.000000Z Igor Melichev

Fix : Remove an unreasonably big array type definition related to color index.

DETAILS :

This change is algorithmically equivalent.
An array type in gxcht.c was defined with 65536 elements
but actually used the first 32 elements only.
We believe it was an inaccurate coding.

EXPECTED DIFFERENCES :

None.

[src/gxcht.c]

2005-06-16T06:53:15.000000Z Igor Melichev

Fix (Ps2pdf.htm) : ConvertCMYKImagesToRGB was wrongly documented.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm]

2005-06-15T18:40:08.000000Z Igor Melichev

Fix : Always place the image enumerator into local memory.

DETAILS :

Bug 688140 "A heap corruption in imagemask".

The core of the change is in zimage.c :
!     /* Always place the image enumerator into local memory,
!        because pie may have local objects inherited from igs,
!        which may be local when the current allocation mode is global. */

Other changes provide a correct allocator while freing the enumerator.

Note : In gxccache.c the old code did not apply gx_image_cleanup
when exiting on error. The new code does. The new code is more smooth,
but we don't expect a significant difference in behavior.

EXPECTED DIFFERENCES :

None.

[src/gsimage.c src/gsptype1.c src/zimage.c src/gsimage.h src/gxccache.c]

2005-06-15T00:31:29.000000Z Igor Melichev

Fix (ps2write) : A bug while computing an n-argument m-result function type 0.

DETAILS :

FunctionToProc_x0n synthesized a function which applies an extra 'roll' at the end of computation.

Minor change : Improved a debug printing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-06-14T17:13:09.000000Z Ralph Giles

Link to the relevent section of Use.htm for details about the GS_LIB env
variable. Fixes bug 688051.

[doc/Install.htm]

2005-06-14T17:07:28.000000Z Ralph Giles

Add some newer documentation files to the unix install target.
Fixes bug 688049.

[src/unixinst.mak]

2005-06-14T16:53:31.000000Z Ralph Giles

Fix a documentation typo: NeverEnbed vs NeverEmbed.

[doc/Ps2pdf.htm]

2005-06-14T11:19:58.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Type 42 fonts got wrong Width.

DETAILS :

Bug 688128 "pdfwrite: imprecise Width".

pdfwrite did not account Metrics, Metrics2 of Type 42 fonts.

EXPECTED DIFFERENCES :

pdfwrite 72dpi :

"01_001.pdf"
"adesso2.pdf"
"adesso7.pdf"
"adesso8.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"
"annots.pdf"
"budget2_ai87.pdf"
"Bug687660a.ps"
"Bug687724.pdf"
"bugsample.pdf"
"Faktura.pdf"
"fonts.pdf"
"MagicEye.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"
"Testform.v1.0.2.pdf"


pdfwrite 300 dpi :

"01_001.pdf"
"159.pdf"
"adesso2.pdf"
"adesso7.pdf"
"adesso8.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"
"budget2.pdf"
"budget2_ai87.pdf"
"Bug687724.pdf"
"bugsample.pdf"
"Faktura.pdf"
"fonts.pdf"
"MagicEye.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"
"Testform.v1.0.2.pdf"

[src/zfont42.c]

2005-06-13T18:43:56.000000Z Igor Melichev

Fix : Interleaved images could miss Decode, step 4.

DETAILS :

Adding the new file gxsamplp.h to Develop.htm .


EXPECTED DIFFERENCES :

None.

[doc/Develop.htm]

2005-06-09T19:47:18.000000Z Ray Johnston

Add ManualFeed to the set of keys evaluated for media source matching.
Needed to allow forcing a ManualFeed tray selection even when another
media of the right type exists in another tray.

[lib/gs_setpd.ps]

2005-06-09T07:29:57.000000Z Igor Melichev

ps2write : Implementinmg the ps2write device (continued 3).

DETAILS :

Removed a rudimentary code from gs_pdfwr.ps .

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-06-09T07:15:07.000000Z Ralph Giles

Throw an error when JBIG2 decoding fails in the library
instead of segfaulting. Bug 688053.

[src/sjbig2.h]

2005-06-09T07:15:07.000000Z Ralph Giles

Throw an error when JBIG2 decoding fails in the library instead of segfaulting. Bug 688053.

[src/sjbig2.c]

2005-06-09T05:26:48.000000Z Igor Melichev

ps2write : Implementinmg the ps2write device (continued 2).

DETAILS :

Fixing a name in gs_pdfwr.ps .

EXPECTED DIFFERENCES :

None.

[lib/gs_pdfwr.ps]

2005-06-08T14:38:21.000000Z Igor Melichev

Fix : Interleaved images could miss Decode, step 3.

DETAILS :

Fixes the bug 688127 "CMYK image ignores Decode".

1. The sample unpacking function templates are generalized
   for a case of interleaved samples with different decode maps (gxsamplp.h).

2. Generated functions for the interleaved samples
   using the templates (gxsample.c).

3. Used those function in appropriate cases (gxipixel.c).

4. repack_bit_planes was called with a wrong map
   (0-th instead i-th) (gxidata.c).

EXPECTED DIFFERENCES :

Some images are rendered with a different (correct) color.

The change appears to have no effect to the 'normal' rendering,
because our testbase doesn't include images with "/MultipleDataSources false"
and a non-trivial Decode. But such ones do appear after converting
few files with pdfwrite.

pdfwrite :

"148-01.ps"
"148-05.ps"

[src/lib.mak src/gxsamplp.h src/gxsample.c src/gxidata.c src/gxsample.h src/gxipixel.c]

2005-06-08T14:16:03.000000Z Igor Melichev

Fix : Interleaved images could miss Decode, step 2.

DETAILS :

This change is algorithmically equivalent.

This is a second preparation for fixing the bug 688127 "CMYK image ignores Decode".
It moves bodies of sample unpacking functions to a new file
gxsamplp.h and converts them into templates.
It is just a code restructurization.
We apply it separately in order to simplify the next step.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxsamplp.h src/gxsample.c]

2005-06-08T14:00:32.000000Z Igor Melichev

Fix : Interleaved images could miss Decode, step 1.

DETAILS :

This change is algorithmically equivalent.

This is a preparation for fixing the bug 688127 "CMYK image ignores Decode".
It changes the SAMPLE_UNPACK_PROC function prototype to provide
an access to a vector of maps in sample decoding functions.
The new argument num_components_per_plane passes the length of the vector.
The argument "const sample_lookup_t * ptab" is replaced with
"const sample_map *smap" to pass the vector.

With this patch only the 0th component of the passed vector is being used
in order to provide the equivalense to the old code.
Dropping this feature will be a next step.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxi16bit.c src/gxsample.c src/gxidata.c src/gxsample.h src/gximage.h src/gxi12bit.c]

2005-06-08T06:56:05.000000Z Igor Melichev

ps2write : Implementinmg the ps2write device (continued).

DETAILS :

1. Do not copy procsets when pdfwrite is invoked in the ForOPDFRead mode
   with no OPDFReadProcsetPath specified (gdevpdfu.c).
   This is done to simplify debugging with checking the PDF
   generated in the ForOPDFRead mode with a reference PDF viewer.

2. Fixed a Cygwin/gcc warning in gdevpdfu.c .

3. Provided a customization of the procset to be written with ps2write
   using -sOPDFReadProcsetPath=string .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c lib/gs_pdfwr.ps]

2005-06-08T06:42:23.000000Z Dan Coby

Fix for 688116 DeviceN spot colours are corrupt in display device.

DETAILS:

The overprint device is one of the few devices that uses the GB_RETURN_COPY
option to the get_bits procedures without also using the GB_RETURN_POINTER
option.  Thus the overprint device is bringing up problems in this option
combination.  The fix for 687935 "rangecheck in stroke while overprinting
on the display device" brought this problem to the surface.

The problem was that an incorrect buffer pointer was being used for the
source for the data to be copied.

[src/gdevdgbr.c]

2005-06-07T19:24:33.000000Z Ray Johnston

Fix for the BeginPage and EndPage procedures used for N-up processing.

DETAILS:

The BeginPage called the previous BeginPage (stored in .BP) at the wrong
time, so that rotation/translation of individual pages would not work
correctly.

The EndPage incremented the .Pn value even on 'device deactivation' calls
(mode == 2) so the page count was off if the input PS did 'setpagedevice'.

This probably is not widely used since it was broken. It's a little better
now, but still needs improvement (IMHO) such as setting a 'clip' before
the indivual pages. Try running two examples/tiger.eps to see why.

[lib/gsnup.ps]

2005-06-07T18:33:57.000000Z Igor Melichev

ps2write : Implementinmg the ps2write device.

DETAILS :

1. The ps2write device is a clone of the pdfwrite device.
   We define a new file gdevpdfb.h and move the device static data to there
   as a device template (gdevpdf.c, gdevpdfb.h).

2. pdf_open_document now writes out the copy opdfread.ps and few encodings
   (gdevpdfu.c).

3. Propagated a return code from pdf_open_document.

4. A new device parameter OPDFReadProcsetPath handles a list of
   files to be copied in the step (2) (gdevpdfx.h, gdevpdf.c, gdevpdfu.c, gdevpdfp.c).

5. pdf_close writes out the 0x04 character when working in the ForOPDFRead mode
   and OPDFReadProcsetPath is set.

6. A number of makefiles are changed to include the ps2write device.

7. In lib\gs_pdfwr.ps added the handling of distiller parameters with ps2write device.

8. In lib\gs_pdfwr.ps added an automatic setting of the OPDFReadProcsetPath
   device parameter for ps2write.

9. Added a new script ps2ps2.bat, which invokes Ghostscript with the ps2write devices.
   The old script ps2write.bat still invokes the Ghostscript with the pdfwrite device
   in the ForOPDFREad mode. It helps to debug ps2write with generating a PDF file
   in the ForOPDFRead mode.

10. In the documentation added references to the new files lib/ps2ps2.bat, src/gdevpdfb.h .
    (Develop.htm, Psfiles.htm).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/openvms.mak src/gdevpdf.c src/macosx.mak src/watcw32.mak doc/Develop.htm src/unixansi.mak src/gdevpdfb.h src/devs.mak doc/Psfiles.htm src/os2.mak lib/gs_pdfwr.ps lib/ps2ps2.bat src/bcwin32.mak src/gdevpdfp.c src/unix-gcc.mak src/msvc32.mak src/gdevpdfu.c src/macos-mcp.mak]

2005-06-07T16:41:24.000000Z Igor Melichev

Fix (pdfwrite) : The memory descriptor of gx_device_pdf missed some strings.

DETAILS :

The bug was introduced when implementing the PDF encryption.

Minor change : the string data change the type from gs_const_string to gs_string
to comply with memory management macros.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c]

2005-06-06T19:06:57.000000Z Igor Melichev

ps2write : Handle TT cmap 00030000.

DETAILS :

Not sure why Ghostscript writes it since old wersions.
A comment in lib/ttf_cmap reads :

	% Try another cmap format 3,0 -- Adobe doesn't mention it, but does
	% use it apparently (empirically determined).

For now we do same in opdfread.
Debugged with comparefiles\type42_glyph_index.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-06-06T15:32:22.000000Z Igor Melichev

ps2write : A named resource maintenance.

DETAILS :

Since named resources (such as psdfmarkBP) may be used on any page,
they conflich with the viewer resource management discipline,
which drops resources per page. This patch implements an exception
for that discipline.

1. (opdfread.ps) At page end don't drop resources marked with /.Global .

2. (opdfread.ps) Handlinging Form XObject.

3. Provide the /.Global mark for those resources,
   which are used in a named resource. (dgevpdfj.c, gdevpdfm.c, gdevpdtw.c).

4. The flag pdf_resource_t::global marks resources,
   which are used while accumulating a named resource object stream,
   to provide (3) (gdevpdti.c, gdevpdfx.h).

5. gx_device_pdf::accumulating_a_global_object is added to designate the
   state for (4). It is saved and restored while enterin or exiting a substream
   (gdevpdfx.h, gdevpdfm.c, gdevpdti.c).

6. Removed 'const' from some function pritotypes to allow
   pdf_add_resource to set pdf_resource_t::global (gdevpdfi.c, gdevpdfo.c, gdevpdfx.h).

7. Minor change : improved a condition for writing the /.CleanResources flag (gdevpdf.c).

8. Removed a confusing comment in pdfmark_PS (gdevpdfm.c).

Debugged with pdfmarkPS.ps, Bug687350.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdfo.c src/gdevpdf.c lib/opdfread.ps src/gdevpdtw.c src/gdevpdfu.c src/gdevpdti.c src/gdevpdfi.c src/gdevpdfj.c]

2005-06-04T15:21:04.000000Z Dan Coby

Removed extra && and space from last commit (fix for 687973).

[src/scfd.c]

2005-06-03T20:03:54.000000Z Ray Johnston

Fix to allow CCITT data without EOFB when EndOfBlock is true (the default)
to return normal end-of-file (EOFC) status instead of ioerror (ERRC) as
long as the row count given by Rows is satisfied. Bug 687973.

DETAILS:

This bug was reported by a potential customer. The fix is minimal and
returns EOFC instead of ERRC if the count given by Rows has been read.
This seems to be the closest to what is implied by the Adobe description
about EndOfBlock in that the filter WILL continue to process data past
the Rows value if EndOfBlock is true (the default) as long as no error
is seen. This means that PostScript programs that depend on this action to
consume extra data will still operate correctly.

Expected Differences:

None (I ran all of the comparefiles).

[src/scfd.c src/scfx.h]

2005-05-31T20:42:19.000000Z Igor Melichev

ps2write : Fixed problems with Separation color spaces.

DETAILS :

Allocation mode was incorrect at several points.

Debugged with comparefiles\Altona_Technical_1v1_x3.pdf .

Minor change : Improved a bebug printing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-31T19:25:09.000000Z stefan

Update a few of the paper sizes used in reading/writing PXL.
Fixes bug 688118.

[src/gdevpxen.h]

2005-05-31T13:05:20.000000Z Igor Melichev

Fix : TT interpreter had problems on 64 bit platforms.

DETAILS :

It compiled with wrong integer data sizes.
Patch from Hin-Tak Leung .

EXPECTED DIFFERENCES :

None.

[src/tttype.h src/tttypes.h src/ttfoutl.h]

2005-05-31T11:04:59.000000Z Igor Melichev

ps2write : Implementing the SetPageSize mode (continued).

DETAILS :

With the recent patch opdfread sets a graphic state,
which was saved before setting a page size.
As a consequence the page was erased
when the initial graphic state is set.
This patch recreates PDFR_InitialGS when setpagedevice is invoked to change a page size.

Debugged with comparefiles\012-09.ps .

Minor change : Improved a bebug printing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-31T10:56:57.000000Z Igor Melichev

Fix : A failed pattern color could cause a crash in vector devices.

DETAILS :

When a pattern color was set and was not used,
it was not remapped and causaed a crash in gx_dc_pattern_save_dc.
Detected occasionally when running an incorrect PS file.

EXPECTED DIFFERENCES :

None.

[src/gsptype1.c src/gxhldevc.c]

2005-05-30T21:00:33.000000Z Igor Melichev

ps2write : Implementing the SetPageSize mode.

DETAILS :

1. SetPageSize mode enables changing a page size in the
   target printer. This mode is implemented mainly to simplify testing
   with Ghostscript|ppmraw. We need same page size of 'normal' and
   'ps2write' rasters to simplify the automated comparizon.

2. (A minor change) Apply immediate binding to FitPages, RotatePages.

3. Allow more parameterization in ps2write.bat .

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat lib/opdfread.ps]

2005-05-30T16:41:26.000000Z Igor Melichev

ps2write : Implementing the font type MMType1.

DETAILS :

1. MMType1 to be handled as Type 1 due to the PDF format specifics.
2. Minor change : A comment for 'TrueType' was not good.
3. An implementation for 'sh' is saved for future use,
   rather it was coded in ps2write by an error
   (never usewd with ps2write, will be with ps3write).

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-29T19:29:11.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Skip empty images when converting a shading into a bitmap.

DETAILS :

When converting a shading to a bitmap, a zero size image
could be written due to a typoe in gdev_pdf_fill_path.

Debugged with -r720 "Clarke Tate Manns Chinese-.ai" .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-05-27T05:43:24.000000Z Dan Coby

Fix for 688113 null ptr crash in gdevp14.c.  With the -rXXXxYYY switch
specified and high resolution PDF 1.4 transparency files, GS would crash.

DETAILS:

The logic for deteriming band sizes was being bypassed if the -rXXXxYYY
switch was specified on the command line.

Specifying resolution on the command line was forcing the calculation of
band size.  This occured before the determination that PDF 1.4 transparency
was being made.  The band size was not being recalculated when the
determination was being done.  The fix consists of including the
'page_uses_transparency' as part of the logic for determining when the
band size is recalculated.

[src/gdevprn.c src/gdevprn.h src/gdevijs.c]

2005-05-26T17:22:17.000000Z Igor Melichev

Fix : 'strokepath' could generate wrongly oriented contours (continued 2)

DETAILS :

Bug 688114 "Worse frame rasterizing a distilled Bug687546.ps".

The main change is gxstroke.c ln 853 : the line width rounding
depended on the line direction. Rather the problem is old,
before the patch http://ghostscript.com/pipermail/gs-cvs/2005-May/005519.html
it was not so important because vertical and horizontal lines always had
a positive direction. After the mentioned patch, that it not so.
Thus this patch completes the mentioned patch.

Other (minor) changes inprove visual trace instructions for round caps.

EXPECTED DIFFERENCES :

Normal 72 dpi :

"110-01.ps"
"169-05.ps"
"169-09.ps"
"222-05.ps"
"260-01.ps"
"289-01.ps"
"297-01.ps"
"298-01.ps"
"298-05.ps"
"298-09.ps"
"321-01.ps"
"321-05.ps"
"adesso8.pdf"

normal 300dpi :

pdfwrite 72dpi :

"012-13.ps"
"013-13.ps"
"014-05.ps"
"014-13.ps"
"015-05.ps"
"169-05.ps"
"169-09.ps"
"222-05.ps"
"260-01.ps"
"297-01.ps"
"316-07.ps"
"adesso8.pdf"
fail ppmraw/hdr "Bug687846.ps"
"Bug687846.ps"
fail ppmraw/cur "Bug687894.ps"
fail pdfwrite/hdr "Bug687894.ps"
fail ppmraw/hdr "Bug687894.ps"
"Bug687894.ps"
"file.pdf"


pdfwrite 300dpi :
"012-13.ps"
"013-13.ps"
"015-05.ps"
"027-09.ps"
"169-05.ps"
"222-05.ps"
"298-05.ps"
"307-01.ps"
"320-01.ps"
"ai2.pdf"

[src/lib.mak src/gxstroke.c src/gxpath.c]

2005-05-26T07:35:52.000000Z Igor Melichev

Fix : 'strokepath' could generate wrongly oriented contours (continued)

DETAILS :

The patch
http://ghostscript.com/pipermail/gs-cvs/2005-May/005519.html
brake a debug check.
Bug 688115 "Many new error/warning messages from gxstroke.c".

EXPECTED DIFFERENCES :

None.

[src/gxstroke.c]

2005-05-25T21:58:40.000000Z Ray Johnston

Fix VM space for userparams. Problem and patch courtesy of Paul Vojta.
Bug 688107.

DETAILS:

Also thanks to Alex Cherepanov for a reporducible test case. The original
problem file 'epstest.eps' did not actually show a problem. I tested this
against the comparefiles to validate that there were no unexpected changes,
but generally it was an obvious problem that an array might be created
in a VM space that was not the same local/gloabl as the strings it contained.

[lib/gs_lev2.ps]

2005-05-25T15:57:58.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Wrong shading coordinates when converting to PDF 1.2 .

DETAILS :

1. Do not write "W n" when cvd->has_background == true,
  because we do not write a clipping path in this case.

2. When a shading is being converted into a bitmap with a downsampling,
   coordinate formulas in gdev_pdf_fill_path were wrong.
   The new logic is :

   sx,sy := the bitmap offset;
   Scale down the color and the CTM;
   Scale down the path to be filled;
   The pdf_lcvd_t instance performs a shift of the shading coverage path with
        path_offset := {sx,sy};
   A sacale up and shift back matrix is written into PDF as a 'cm' argument.
   {m.tx,m.ty} is same as the bitmap offset {sx, sy};

3. gx_dc_pattern2_has_background must account whether the shading
   is instantiated with a shfill. In this case Background is being ignored.

4. In R_tensor_annulus, the assignation of curve[i].straight
   was wrong when the patch boundasries applied a cyclic shift
   with 'inside'.

5. In patch_fill, the computation of the shading contour sign was not correct.
   Rather it gave a right sign for most cases,
   we replaced it with a right general formula
   (assuming a non-self-overlapped patch).

EXPECTED DIFFERENCES :

None.

[src/gsptype2.c src/gdevpdfd.c src/gxshade1.c src/gxshade6.c]

2005-05-23T22:33:22.000000Z Dan Coby

Fix for 688010 Errors in overprint with halftoned output.

DETAILS:

The PDF overprintmode can be used to specify overprinting when the  value
of an input color is zero.  The problem was caused by an error in
determining when an input color was zero.  The problem was only apparent
with a 'binary' halftone.  Ie.e one in which on a single component is
being halftoned.  The earlier logic would overprint all components which
were not being halftoned.  The example case involved 100% black and 50%
cyan.  The black component was treated like it was 0%.

[src/gxht.c]

2005-05-23T18:24:59.000000Z Igor Melichev

Fix (pdfwrite, ps2write) : Shading background was missed in PDF1.2 .

DETAILS :

Bug 688109 "pdfwrite : shading background can erroneusly disappear".

1. A new function gx_dc_pattern2_has_background allows to know whether
   a pattern color has a background.

2. If it has, when converting a shading to a bitmap, entire bitmap
   is being filled, so the shading coverage is trivial,
   and it doesn't need to convert into a masked image or
   into a clipped image. Implemented with defining a new flag
   pdf_lcvd_t::has_background .

3. Minor change : defined the identifier pdf_lcvd_s .

4. In gdevpdfb.c, applied lossles filters to an image,
   if it is not big. The old code did in the
   ForOPDFRead mode only. So now it works for pdfwrite.
   It improves the view of patterns (including shadings),
   rather the compressed iomage size is bigger.
   The old code caused significant distorsions with applying DCT
   to shadings (distorsions appear at patch boundaries and/or
   at the shading coverage boundary).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gsptype2.c src/gdevpdfb.c src/gsptype2.h src/gdevpdfd.c]

2005-05-23T14:59:28.000000Z Igor Melichev

Fix : 'setcachewdevice' must always clip characters.

DETAILS :

Bug 688096 " setcachedevice must clip characters".

'setcachedevice' establises a clipping box when rendering a glyph to a cache.
In same time, when rendering with no caching, the old code did not clip.
As a result, some glyphs were clipped, and some others were not,
depending on the glyph size.

This patch clips Type 3 and Type 10 charactrers when rendering with no cache,
and behaves as the old code with other font types.
We doing so to optimze the performance using the assumption that
"outline" (FontType != 3 && FontType != 10) fonts must not paint outside FontBBox,
which to be used for clipping in those cases.
Besides that, the patch rounds Type 3 and Type 10 charactrer
coordinates when renderingh with no cache, to provide
an uniform coordinate assignation with the cached mode.

The patch defines a new variant CACHE_DEVICE_NONE_AND_CLIP,
which is defined almost for clarity. Actually the code never
checks for this specific value.

For more details see comments in code.

EXPECTED DIFFERENCES :

Normal 72dpi :

Not detected.

Normal 300dpi :

"027-13.ps"
"032-07.ps"
"205-09.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"264-01.ps"
"289-01.ps"
"298-09.ps"
"321-09.ps"


pdfwrite 72 dpi :

None.

pdfwrite 300dpi :

None.

[src/gxchar.c src/gscpm.h]

2005-05-23T10:49:25.000000Z Igor Melichev

Fix : 'strokepath' could generate wrongly oriented contours.

DETAILS :

Bug 688103 "The dashing direction depends on the initial device CTM determinant".
Bug 688097 "A wrong clipping with 298-01.ps"

The patch computes initial_matrix_reflected = true iff
the initial device CTM has a negative determinant.
Then it is accounted to orient stroke outlines
to a proper direction : they must form positive contours in the user space.
For doing so we properly orient dash caps
in gx_stroke_path_only_aux, and then compensate it in line_join_points.
Several local function prototype were changed to pass
the value of initial_matrix_reflected to line_join_points.

Minor change : moved some visual trace instructions to
a more general function, which is called from several places.

EXPECTED DIFFERENCES :

Normal 72dpi :

"012-13.ps"
"013-13.ps"
"014-05.ps"
"014-13.ps"
"015-05.ps"
"027-09.ps"
"034-10.ps"
"169-05.ps"
"169-09.ps"
"169-13.ps"
"205-13.ps"
"222-05.ps"
"222-13.ps"
"260-01.ps"
"289-01.ps"
"297-01.ps"
"298-01.ps"
"298-05.ps"
"298-09.ps"
"308-04.ps"
"316-07.ps"
"321-01.ps"
"321-05.ps"
"321-13.ps"
"adesso8.pdf"
"file.pdf"
"golfer.eps"


Normal 300dpi :

"014-05.ps"
"015-05.ps"
"027-09.ps"
"034-01.ps"
"159.pdf"
"169-05.ps"
"222-05.ps"
"231-01.ps"
"260-01.ps"
"281-01.ps"
"289-01.ps"
"298-01.ps"
"298-05.ps"
"307-01.ps"
"321-01.ps"
"321-05.ps"
"86554321.pdf"
"adesso7.pdf"
"Bug687546.ps"

pdfwrite 72 dpi :

"012-13.ps"
"013-13.ps"
"014-05.ps"
"014-13.ps"
"015-05.ps"
"034-10.ps"
"169-05.ps"
"169-09.ps"
"169-13.ps"
"222-05.ps"
"222-09.ps"
"222-13.ps"
"260-01.ps"
"297-01.ps"
"316-07.ps"
"adesso8.pdf"
"file.pdf"
"golfer.eps"

pdfwrite 300dpi :

"014-05.ps"
"015-05.ps"
"027-09.ps"
"169-05.ps"
"222-05.ps"
"307-01.ps"
"316-07.ps"
"320-01.ps"

[src/gxstroke.c]

2005-05-19T16:39:06.000000Z Ray Johnston

Fix for yet another broken PDF that Adobe Reader handles without complaint.
Circular references in Resources are now detected and handled (with a
warning). Bug 687946 for customer 580. Thanks to Alex Cherepanov for this fix

DETAILS:

A dictionary is used to detect the looping and if found a pdfformaterror is
emitted and the checking for transparency halts (returning false). This
does mean that a file with this problem may be incorrectly classified and
will be processed as if NOTRANSPARENCY was in effect.

The performance penalty for the extra checking is negligble (tested with
the 1236 page PDF 1.6 Reference Manual.

[lib/pdf_main.ps]

2005-05-18T19:59:10.000000Z Igor Melichev

ps2write : Improving the script with NOOUTERSAVE.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-05-18T19:51:38.000000Z Igor Melichev

ps2write : Passing NumCopies to the output.

DETAILS :

1. In the ForOPDFRead mode Page objects will have a NumCopies entry
   iff NumCopies in the input isn't null.
   With ForOPDFREad=false it is being ignored.

2. opdfread.ps applies copypage to provide the requested number of copies.
   Zero and negative values are being ignored.

Thus, if a PS document multiplies specific pages,
they will be printed in the requested number.
In same time, entire document can be copied with setting
the NumCopies device parameter to the printer.
This behavior is some different than pswrite.

Debugged with 268-03.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c lib/opdfread.ps]

2005-05-18T10:21:44.000000Z Igor Melichev

Fix (pdfwrite) : A wrong line join with 'stroke'.

DETAILS :

This patch affects all vector devices.
The old code wrongly recognizes closed rectangular paths,
so that unclosed rectangles were converted into closed ones with 'stroke'.

EXPECTED DIFFERENCES :

pdfwrite :

260-01.ps
adesso1.pdf

[src/gdevvec.c]

2005-05-17T20:56:46.000000Z Ralph Giles

Update a comment to correctly describe the jasper stream object struct.

[src/sjpx.h]

2005-05-17T20:40:03.000000Z Igor Melichev

Fix (ps2write) : Complete supporting vierws which have no stroke color.

DETAILS :

Color was not synchronized when painting with a low level color.
Debugged with 035-01.ps, 148-01.ps, 148-05.ps, 148-11.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-05-17T17:40:17.000000Z Igor Melichev

opdfread : Implementing HalftoneType 3,6,10.

DETAILS :

1. A bug in ComputeFunction_n0 : s/size/length
2. A bug in ComputeFunction_n0 scaled argument must compare with array size rather than with 1.
3. Creating halftone Thresholds from stream with CreateHalftoneThresholds.
4. Resolve SpotFunction independently on IsObjRef.
5. Resolve TransferFunction for some halftone types.
6. Convert HalftoneType 6 into HalftoneType 3.
7. Ignore HalftoneType > 6 (which are not allowed in Postscript level 2) and print a warning.
   We would like to convert them, but it's too complex.

Debugged with 258-01.ps, 476-01.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-17T12:04:17.000000Z Igor Melichev

Fix (opdfread) : Some glyphs were substituted with .notdef .

DETAILS :

It was broken when implementing a workaround for broken filters in HP LaserJet 1320 :
endstream was never called, so that definefont_hook was skipped.

1. Moved the processing from 'endstream' to a new procedure HookFont.
2. Imple,mented an 'endobj' daemon with .endobj_daemon,
   which is a property of an object.
3. ReadFontProcs procedures create instances of .endobj_daemon,
   which call HookFont.
4. definefont_hook has been removed forever.
5. 'wendstream' is now an empty procedure,
   which actually is never called due to the HP filter problem.

Debugged with 01_001.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-17T08:41:02.000000Z Igor Melichev

ps2write : Improving the script.

DETAILS :

1. Restricted the source line width with inserting temporary variables.
2. Provided the 'jobserver' option with an environment variable to simplify running Genoa tests.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-05-17T08:19:44.000000Z Igor Melichev

opdfread : Improving the discipline for function resolving.

DETAILS :

1. Impolemented a general object reference recognizer in IsObjRef.
2. ResolveFunctionSafe is another helper.
3. Used it in function resolving.
4. Replaced ResolveSpotFunction with a general ResolveFunction.
5. Removed an unintended debug printing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-16T23:25:45.000000Z Igor Melichev

opdfread : Implementing n-arguments linear sampled functions in BG, UCR, TR, BG2, UCR2, TR2, HT.

DETAILS :

1. Fixed the stack balanse in ScaleArgN.
2. ComputeFunction_n0 Was not implemented.
3. FunctionToProc_x01 did not properly scale the argument from the Domain.
4. Added the FunctionToProc20 dispatch.
5. Renamed FunctionToProc2 into FunctionToProc12.
6. Renamed FunctionToProc4 into FunctionToProc14.
7. spotfunctions mark copied from pdf_draw.ps
8. ResolveFunction defines an uniform convention for function resolving.
9. Fixed SetTransfer with new convension of function resolving.
10. Implemented BG, UCR, TR, BG2, UCR2, TR2, HT with the new methods for 2-argument functions.

Debugged with 246-01.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-05-13T12:28:26.000000Z Alex Cherepanov

Fix a typo in a comment.

[src/msvc32.mak]

2005-05-12T19:26:17.000000Z Igor Melichev

Fix (ps2write) : Did not write halftone, color transfer, and some other graphic state parameters.

DETAILS :

See comment in code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfg.c]

2005-05-12T02:01:32.000000Z Alex Cherepanov

Increase the artificial limits in the spot analyzer device
to accomodate Xterra-Regular font.
Fix bug 688077.

[src/gzspotan.c]

2005-05-10T16:19:36.000000Z Igor Melichev

Fix (pdfwrite) : Properly encrypt the document Info values.

DETAILS :

Bug 688076 "encrypted pdf document properties are garbled".

This patch unwinds the part 7 of the patch
http://ghostscript.com/pipermail/gs-cvs/2005-April/005485.html .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c]

2005-05-10T13:22:40.000000Z Ray Johnston

Fix overly agressive xref format checking that was tripped up by double
 instead of . Bug 688082 for customer 580.

DETAILS:

The xref did have 20 character entries, but as mentioned, a double 0x0d
resulted in the second line being read as an empty line. Go back to the
older method of reading 20 character strings, then add format verification
that only allows white space characters after the 'f' or 'n'.

There may be an underlying problem in the rebuild logic, or the file may
be damaged beyond repair although it does now open. There is a warning
issued about stream EOL that may have confused the rebuild logic.

[lib/pdf_main.ps]

2005-05-07T22:56:56.000000Z Ray Johnston

Handle non-integer font size and stop after last page processed.

[lib/gslp.ps]

2005-05-05T05:35:22.000000Z Dan Coby

Partial fix for 687814 dithering artifacts.  The given test file shows
some faint halftone dots in the background when rasterized using the
bmp256 device.

DETAILS:

The problem is caused by a combination of factors that aggravate the
situation plus some things in the color look up logic that cause minor
errors in the calculations.

The aggravating factors:

By default, Ghostscript uses a 16x16 halftone cell for low resolutions,
i.e. below 150 dpi.  (I do not know the reasons why and it seems like a
poor choice to me.  However for now, I am not changing the halftone.)
The bmp256 device utilizes a 6x6x6 RGB color cube.  Thus there are 1281
levels ((16 x 16 x 5) + 1) for each halftoned colorant.  This gives a step
size between each level of 0.00078.  Thus even very small errors in the
calculations become visible as faint halftone dots.

The given test file is using a CalRGB color space.  The WhitePoint is
[ 0.9505 1 1.089 ] which is the standard D65 white point.  However with
the given CalRGB parameters and a pure white RGB input (1 1 1). the
resulting XYZ is [0.9505 0.99999 1.089] which has a very small error in
the Y value.  (However the error is small enough that one would not expect
it to be visible.)

The calculations in Ghostscript's halftoning logic for determining the
halftone level truncate values.  With an RGB process color model, this
means that only a pure white is not halftoned.  Thus the small error
mentioned in the previous paragraph becomes visible.  Note:  The truncation
effects work the other way in a CMYK process color model, which is why
we do not see this problem with shades that are nearly white in CMYK
halftoned output.

The calculation errors:

To save CPU time, the color look up logic did not interpolate table
entries which were closer that 0.01.  Thus output values could have an
error as large as 0.01.

The color look up logic clipped table entries to the specified output
range.  This can cause errors with interpolated values when the interpolation
involves one table entry that is clipped and one entry that is not clipped.


The changes in this fix:

The calculations that determine the halftone levels was modified.  Actually
it was simplified.  Prior to the DeviceN changes (in revision 8.00) there
were three separate calculations for halftone levels.  There was a separate
calculation for Gray, RGB, and CMYK color spaces.  Revision 8.00 changed
the halftoning to be based upon the device's process color model (instead
of the color space) and merged the RGB and CMYK calculations.  The two
separate calculations were kept to minimize regressions during the DeviceN
effort.  This change basically keeps the logic that had been used for Gray
process color models.  This version of the calculation does not have the
truncation problems that were present in the RGB/CMYK calculation.  Another
simplification was removal of some logic that was checking for additive
versus subtractive process color model.  Once again this logic was present
only to minimize regressions compared to pre 8.00 results.  The final
result is that this calculation is much simpler, faster, and gives a better
result.

The 'do not interpolate' criteria was reduced to 0.001.  Once again this
can add to the CPU time.

Changes which are not in this fix:

The clamping of look up table entries was not changed.  Changing this
requires that the we would have to clamp the output after the table lookup.
The errors are small but they are large enough that problems are still
seen with the bmp256 device and a 16x16 halftone cell.  There are several
different paths through this logic and thus the probability of creating
worse errors is relatively high.  This change would add slightly to the
CPU time but is required to get the correct result.


EXPECTED DIFFERENCES:

This change produces small changes in the halftone levels.  The changes in
the 'do not interpolate' value affects many files which use CIE or ICC
color spaces.  Between these two changes, this fix affects 165 files.

[src/gscie.h src/gxcmap.c src/gxdither.h src/gxdevndi.c]

2005-05-03T10:50:48.000000Z Igor Melichev

Speed up shadings : a minor optimization for the monotonity check of a stitching function.

DETAILS :

It returned false (wrong, must be true) if entire interval falls to the end of the domain.
Speeds up ps2write with "Clarke Tate Manns Chinese.ai".

EXPECTED DIFFERENCES :

Not observed in a local testing with arbitrary devices.
May cause a minor difference with some devices.

[src/gsfunc3.c]

2005-05-03T10:41:56.000000Z Igor Melichev

ps2write : Set device parameters to preserve colors.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-05-03T09:10:28.000000Z Igor Melichev

ps2write : Fix problems with shadings.

DETAILS :

1. gdev_pdf_fill_rectangle_hl_color did not implement a shading conversion
   when called with a shading color.

2. The "convert_to_image" branch of gdev_pdf_fill_path had a problem with
clipping path when called fron the operator 'fill' (rather than 'shfill').

3. In the "convert_to_image" branch of gdev_pdf_fill_path
   improved the balance of Q/q in case of errors.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-04-29T16:58:04.000000Z Ray Johnston

Handle CIDCount value of 65536 which might be seen with Identity CMap.
Fix for customer 562.

DETAILS:

while a multiple string approach had been previously implemented to allow
CIDCount > 32767, with 65536 a 'rangecheck in --string-- would result
when trying to create a string of 65538 bytes (32769 * 2). I chose a
arbitrary break point of 22000 CID's so that three strings would be
enough for 66000 total.

[lib/gs_cidtt.ps]

2005-04-27T16:40:45.000000Z Igor Melichev

Fix (pdfwrite) : Properly account FontMatrix of a CID font with 'glypshow', 'cshow'.

DETAILS :

Bug 688000 "PDF writer produces misplaced characters".

When a CID font is used with 'glypshow' or with 'show' in a 'cshow' procedure,
pdfwrite creates a Type 0 font for wrapping the CID font according to the PDF standard.
Doing so, the old code created a single type 0 font for all occurances of
the CID font, rather those occurances may have different values of FontMatrix.
The new code creates so many type 0 fonts as many various values of
FontMatrix is used with the CID font.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtc.c src/gsfont.c src/gsfont.h]

2005-04-26T21:36:35.000000Z Dan Coby

Fix for 687883 tiff32nc device and PDF transparency and for 687980
image missing with psdcmyk driver.

DETAILS:

The absence of the images was caused by an error in the handling of PDF 1.4
transparency soft masks (SMask).  The mask data is monochrome.  However it
is saved (like all PDF 1.4 transparency related colors) in the blending
color space.  Currently the process color model of the output device is
being used for the PDF 1.4 blending space.

The fix consists of inverting the image mask data when a subtractive
blending color space is being used.

[src/gdevp14.c]

2005-04-26T21:28:16.000000Z Dan Coby

Fix for 688048 ijs driver broken in 8.51 for ProcessColorModel=Gray versus 8.50

DETAILS:

There were a few minor problems with the gdevijs.c file.

1.  The file has been corrupted with extra ^M's at the end of lines.  (These
cause problems with the MSVC debugger since MSVC gets confused about which
source line is being debugged..  They can also cause problem with the Borland
Compiler.)  This a reoccurring problem and I am getting tired of seeing it.

Unfortunately they are not visible in the diff shown below or in the MSVC
debugger.

2.  The routine gsijs_read_string_malloc has some problems.  The call to
gs_free has str as a parameter when it should have been *str.  (str is a
pointer to a pointer.)  This is the major cause of the reported problem.
The routine only released the old string when the new one needed to be
larger however it always allocated a new string.  Since this is non GC memory,
this causes a leak.

[src/gdevijs.c]

2005-04-25T12:28:49.000000Z Igor Melichev

Fix (pdfwrite) : Uninitialized variable when encrypting a string from a pdfmark.

DETAILS :

Bug 687809 "pdfwrite: A wrong encryption of bookmarks".

This bug may become another classic example,
which demonstrates a bad coding style.
The function s_PSSD_init incompletely performed the action,
which it is designed for. The reason is that the macro
s_PSSD_init_inline was made especially for optimizing
scan_token, and its name doesn't reflect its action.
When coded s_PSSD_init, its action was forgotten.
As a result we've got an indeterministic behavior.

This fix renames s_PSSD_init_inline into s_PSSD_partially_init_inline
for a better reflection of its action, completes s_PSSD_init,
and makes the letter be public for a regular initialization.
Particularly using it gdevpdfr.c to fix another indeterministic bug,
which persists since the repository was created.

EXPECTED DIFFERENCES :

None.

[src/iscan.c src/sstring.h src/gdevpdfr.c src/sstring.c]

2005-04-25T02:23:58.000000Z Igor Melichev

Fix (pdfwrite) : font file objects encryption was broken when worked on ps2write.

DETAILS :

Bug 688045 "gs 8.51 cannot create encrypted pdf file correctly".

1. With CompatibilityLevel == 1.2 did not create an uniquie font name.
   Removing pdf_begin_fontfile and open the data stream
   with reserving the object ID before font name is being computed (gdevpdtb.c).
   Detected occasionally, and it is not related to the bug.
   Fixed to establish a correct order of processing,
   setting a proper context for other changes.

2. pdf_write_embedded_font must not set DATA_STREAM_ENCRYPT
   because the font object is being written into the temporary file pdev->streams.
   It will be encrypted when copyed from the temporary file to the output file.
   See comment in pdf_begin_encrypt.

   The old code actually encrypted it twice, what is equivalent to no encryption.
   We guess it was broken while working on ps2write,
   due to writing font descriptor object before font file object.

3. pdf_write_cmap had same problem as pdf_write_embedded_font.

4. pdf_write_contents_cid2 had same problem with CIDToGIDMap.

5. In pdf_encrypt_encoded_string, the PSSD filter did not move
   the cursor of the underlying stream when closing by EOD.
   We believe that it worked when it was coded,
   and we guess it was broken relatively recently.
   As a workaround, setting close_at_eod = false,
   because this mode appears to move the underlying stream.
   We didn't analyze why PSSD moved it a long ago and doesn't longer move now.

6. pdf_write_cid_system_info_to_stream must not encrypt
   when called from pdf_write_cmap due to (3).

7. Don't encrypt the DocumentInfo dictionary items because Adobe readers
   don't decrypt them.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c src/gdevpdtb.c src/gdevpdfu.c src/gdevpdtw.c src/gdevpdti.c]

2005-04-24T22:01:09.000000Z Ralph Giles

Initial revision

[jasper/src/libjasper/jpc/jpc_cs.c jasper/configure.ac jasper/src/libjasper/bmp/bmp_cod.c jasper/src/libjasper/pgx/pgx_enc.c jasper/src/libjasper/jpc/jpc_cs.h jasper/src/libjasper/include/Makefile.in jasper/src/libjasper/pgx/Makefile.am jasper/src/libjasper/pgx/pgx_enc.h jasper/src/libjasper/include/jasper jasper/src/libjasper/bmp/bmp_cod.h jasper/src/libjasper/Makefile.am jasper/data/images/goldenears_gray.pnm jasper/src/libjasper/jpc/jpc_qmfb.c jasper/configure jasper/src/libjasper/pgx/Makefile.in jasper/src/libjasper/base/jas_seq.c jasper/src/libjasper/ras/ras_cod.c jasper/src/libjasper/Makefile.in jasper/src/libjasper/jpc/jpc_qmfb.h jasper/src/libjasper/jpg/jpg_val.c jasper/src/libjasper/jpc/jpc_fix.h jasper/src/libjasper/ras/ras_cod.h jasper/src/appl/jasper_sdl.c jasper/src/libjasper/pgx/pgx_dec.c jasper/src/libjasper/jp2 jasper/README jasper/src/libjasper/include/jasper/jas_getopt.h jasper/src/libjasper/include/jasper/jas_init.h jasper/src/libjasper/jpc/jpc_enc.c jasper/src/libjasper/base/jas_string.c jasper/src/Makefile.am jasper/data/colorprofiles/greyromm.icm jasper/src/libjasper/include/jasper/jas_malloc.h jasper/data/colorprofiles/esrgb.icm jasper/doc jasper/src/libjasper/jpc/jpc_enc.h jasper/src/libjasper/jpg/jpg_enc.c jasper/src/Makefile.in jasper/src/libjasper/jpg/jpg_enc.h jasper/src/libjasper/mif jasper/acaux/install-sh jasper/src/appl/imgcmp.c jasper/src/libjasper/include jasper/src/libjasper/jpc/jpc_flt.h jasper/src/libjasper/include/jasper/jas_math.h jasper/src/libjasper/jpc/jpc_dec.c jasper/src/libjasper/include/jasper/jas_stream.h jasper/acaux/depcomp jasper/src/libjasper/bmp/Makefile.am jasper/src/libjasper/jpc/jpc_dec.h jasper/src/appl/Makefile.am jasper/src/libjasper/jpg/jpg_dec.c jasper/src/libjasper/jpc/jpc_mqcod.c jasper/src/libjasper/ras/Makefile.am jasper jasper/src/msvc/imgcmp.dsp jasper/src/libjasper/bmp/Makefile.in jasper/src/libjasper/jpc/jpc_mqcod.h jasper/src/appl/Makefile.in jasper/src/libjasper/jpc/jpc_t1cod.c jasper/src/libjasper/jpc/jpc_t2enc.c jasper/src/msvc/Makefile.am jasper/data/colorprofiles/grey.icm jasper/src/libjasper/ras/Makefile.in jasper/src/libjasper/jpc/jpc_t1cod.h jasper/src/libjasper/jpc/jpc_t2enc.h jasper/src/msvc/imginfo.dsp jasper/src/msvc/jiv.dsp jasper/src/libjasper/jpc/jpc_mct.c jasper/src/libjasper/dummy.c jasper/src/libjasper/jpc jasper/src/libjasper/include/jasper/jas_image.h jasper/data/images/goldenears.jpg jasper/src/msvc/Makefile.in jasper/src/libjasper/jpg jasper/jasper.spec.in jasper/src/libjasper/jpc/jpc_mct.h jasper/src/README jasper/src/libjasper/jpc/jpc_math.c jasper/data/images/small_16x1.pgm jasper/src jasper/src/libjasper/jpc/jpc_math.h jasper/src/libjasper/base/jas_cm.c jasper/src/libjasper/include/jasper/jas_icc.h jasper/src/libjasper/include/jasper/jas_cm.h jasper/src/libjasper/pnm/pnm_cod.c jasper/src/libjasper/jpc/jpc_t2dec.c jasper/src/libjasper/jp2/jp2_cod.c jasper/src/libjasper/README jasper/src/libjasper/pnm/pnm_cod.h jasper/src/libjasper/jpc/jpc_t2dec.h jasper/acaux jasper/doc/README jasper/src/libjasper/jp2/jp2_cod.h jasper/data/images/example.mif0 jasper/src/libjasper/bmp/bmp_enc.c jasper/src/libjasper/include/jasper/jas_tvp.h jasper/data/images/feep2.pnm jasper/src/libjasper/bmp/bmp_enc.h jasper/data/images/stawamuschief.pnm jasper/src/libjasper/mif/README jasper/src/libjasper/base/jas_image.c jasper/data/images jasper/src/libjasper/include/jasper/jas_fix.h jasper/src/libjasper/ras/ras_enc.c jasper/LICENSE jasper/src/appl jasper/data/images/goldenears.ras jasper/src/libjasper/ras jasper/data/colorprofiles/sgray.icm jasper/src/libjasper/ras/ras_enc.h jasper/acaux/compile jasper/src/libjasper/bmp/bmp_dec.c jasper/data/colorprofiles jasper/src/msvc/README jasper/acaux/config.sub jasper/src/libjasper/mif/mif_cod.c jasper/src/msvc jasper/data/colorprofiles/srgb.icm jasper/src/libjasper/include/jasper/jas_types.h jasper/src/libjasper/mif/mif_cod.h jasper/src/libjasper/ras/ras_dec.c jasper/Makefile.am jasper/data/images/README jasper/NEWS jasper/src/libjasper/base/jas_version.c jasper/Makefile.in jasper/src/libjasper/base/jas_iccdata.c jasper/data/Makefile.am jasper/src/libjasper/jpc/jpc_tagtree.c jasper/data/images/feep.pnm jasper/src/libjasper/jpc/Makefile.am jasper/src/appl/jasper.c jasper/data/images/goldenears.pnm jasper/src/libjasper/jpg/Makefile.am jasper/data/colorprofiles/esrgbgrey.icm jasper/src/libjasper/jpc/jpc_tagtree.h jasper/src/libjasper/pnm jasper/src/libjasper/base/jas_getopt.c jasper/src/libjasper/jpc/jpc_mqenc.c jasper/src/libjasper/jpg/jpg_dummy.c jasper/src/libjasper/jpc/jpc_bs.c jasper/src/libjasper/jpc/Makefile.in jasper/doc/jasper.pdf jasper/src/libjasper/base/jas_malloc.c jasper/src/libjasper/include/jasper/jas_string.h jasper/src/libjasper/jpc/jpc_mqenc.h jasper/doc/jpeg2000.pdf jasper/src/libjasper/jpg/Makefile.in jasper/src/libjasper/pgx/pgx_cod.c jasper/src/libjasper/jpc/jpc_bs.h jasper/src/libjasper/jpc/jpc_t1enc.c jasper/src/msvc/jasper.dsp jasper/src/libjasper/pgx/pgx_cod.h jasper/src/libjasper/jpc/jpc_t1enc.h jasper/acaux/missing jasper/src/libjasper/base jasper/data/colorprofiles/romm.icm jasper/aclocal.m4 jasper/src/msvc/jasper.dsw jasper/src/libjasper/include/jasper/jas_version.h jasper/src/libjasper/include/jasper/jas_seq.h jasper/src/libjasper/jpc/jpc_mqdec.c jasper/src/libjasper/base/jas_stream.c jasper/data/images/test.pnm jasper/src/libjasper/base/jas_icc.c jasper/src/libjasper/jpc/jpc_mqdec.h jasper/src/libjasper/jpc/jpc_t1dec.c jasper/src/appl/jiv.c jasper/src/libjasper/pnm/pnm_enc.c jasper/src/appl/imginfo.c jasper/acaux/ltmain.sh jasper/src/libjasper/jp2/jp2_enc.c jasper/src/libjasper/pgx jasper/src/libjasper/jpc/jpc_t1dec.h jasper/src/libjasper/pnm/pnm_enc.h jasper/data/images/goldenears_gray.jpg jasper/src/libjasper jasper/data/colorprofiles/sycc.icm jasper/src/libjasper/base/jas_tvp.c jasper/src/libjasper/include/jasper/jas_config_ac.h jasper/src/libjasper/jpc/jpc_cod.h jasper/src/libjasper/jpc/jpc_util.c jasper/data jasper/data/colorprofiles/erimm.icm jasper/jasper.spec jasper/src/libjasper/jpc/jpc_util.h jasper/src/libjasper/jpg/jpg_cod.h jasper/src/libjasper/pnm/pnm_dec.c jasper/src/libjasper/include/jasper/Makefile.am jasper/src/libjasper/include/jasper/jas_debug.h jasper/src/libjasper/include/jasper/jas_config_win32.h jasper/data/images/example.mif jasper/src/libjasper/jp2/jp2_dec.c jasper/src/libjasper/jpg/jpg_jpeglib.h jasper/src/libjasper/jp2/jp2_dec.h jasper/src/libjasper/include/jasper/Makefile.in jasper/data/images/stawamuschief_gray.pnm jasper/src/libjasper/base/jas_init.c jasper/src/libjasper/include/jasper/jas_config.h jasper/data/images/small_1x1.pgm jasper/src/libjasper/pnm/Makefile.am jasper/src/libjasper/jp2/Makefile.am jasper/src/libjasper/jpc/jpc_t2cod.c jasper/INSTALL jasper/data/images/goldenears_gray.ras jasper/COPYRIGHT jasper/src/libjasper/include/jasper/jas_config_ac.h.in jasper/src/libjasper/jpc/jpc_t2cod.h jasper/data/images/goldenears.bmp jasper/src/libjasper/pnm/Makefile.in jasper/src/libjasper/jp2/Makefile.in jasper/src/libjasper/jpg/README jasper/src/libjasper/bmp jasper/src/libjasper/base/jas_debug.c jasper/src/libjasper/include/jasper/jasper.h jasper/src/libjasper/base/Makefile.am jasper/src/libjasper/mif/Makefile.am jasper/data/colorprofiles/README jasper/src/libjasper/jpc/jpc_tsfb.c jasper/acaux/config.guess jasper/src/libjasper/include/Makefile.am jasper/src/libjasper/base/Makefile.in jasper/src/libjasper/jpc/jpc_tsfb.h jasper/src/msvc/libjasper.dsp jasper/src/appl/dummy.c jasper/src/libjasper/mif/Makefile.in]

2005-04-24T21:58:09.000000Z Ralph Giles

Initial revision

[jbig2dec/sha1.c jbig2dec/aclocal.m4 jbig2dec/config_win32.h jbig2dec/jbig2.c jbig2dec/install-sh jbig2dec/jbig2_image_pbm.c jbig2dec/jbig2_metadata.c jbig2dec/config_types.h jbig2dec/jbig2_generic.h jbig2dec/jbig2_image.c jbig2dec/configure jbig2dec/sha1.h jbig2dec/Makefile.in jbig2dec/jbig2_metadata.h jbig2dec/jbig2.h jbig2dec/jbig2_priv.h jbig2dec/getopt.c jbig2dec/jbig2_image_png.c jbig2dec/snprintf.c jbig2dec/jbig2_image.h jbig2dec/depcomp jbig2dec/getopt.h jbig2dec/compile jbig2dec/jbig2dec.c jbig2dec/os_types.h jbig2dec/configure.ac jbig2dec/getopt1.c jbig2dec/jbig2_arith.c jbig2dec/jbig2_symbol_dict.c jbig2dec/COPYING jbig2dec/jbig2_arith.h jbig2dec/jbig2_page.c jbig2dec/jbig2_symbol_dict.h jbig2dec/msvc.mak jbig2dec/jbig2_arith_int.c jbig2dec/jbig2_huffman.c jbig2dec/LICENSE jbig2dec/jbig2_text.c jbig2dec/jbig2_hufftab.h jbig2dec/jbig2_arith_int.h jbig2dec/config_types.h.in jbig2dec/jbig2_huffman.h jbig2dec/jbig2_mmr.c jbig2dec/jbig2_refinement.c jbig2dec/jbig2_arith_iaid.c jbig2dec/README jbig2dec/jbig2_mmr.h jbig2dec/memcmp.c jbig2dec/test_jbig2dec.py jbig2dec/jbig2_arith_iaid.h jbig2dec/jbig2_segment.c jbig2dec jbig2dec/config.h.in jbig2dec/missing jbig2dec/Makefile.am jbig2dec/jbig2_generic.c]

2005-04-24T21:46:26.000000Z Ralph Giles

Initial revision

[libpng/projects/netware.txt libpng/scripts/makefile.gcmmx libpng/contrib/gregbook/writepng.c libpng/contrib/pngminus/makevms.com libpng/contrib/gregbook/readpng2.c libpng/contrib/gregbook/writepng.h libpng/contrib/gregbook/Makefile.unx libpng/scripts/makefile.msc libpng/scripts/makefile.sgi libpng/contrib/gregbook/readpng2.h libpng/projects/beos/x86-shared.txt libpng/contrib/visupng/VisualPng.dsp libpng/KNOWNBUG libpng/projects/cbuilder5/libpng.readme.txt libpng/scripts/makefile.watcom libpng/contrib/visupng/VisualPng.dsw libpng/scripts/makefile.linux libpng/scripts/makefile.acorn libpng/contrib/pngsuite/basn3p01.png libpng/scripts/makefile.elf libpng/projects/visualc71/zlib.vcproj libpng/scripts/pngw32.rc libpng/contrib/gregbook/toucan.png libpng/scripts/makefile.mips libpng/projects/visualc71/libpng.sln libpng/pngrio.c libpng/contrib/gregbook/makevms.com libpng/contrib/gregbook/rpng-win.c libpng/projects/cbuilder5/libpngstat.bpf libpng/projects/visualc6 libpng/contrib/pngsuite/basn0g02.png libpng/README libpng/contrib/gregbook libpng/contrib/pngsuite/basn0g04.png libpng/projects/cbuilder5/libpngstat.bpr libpng libpng/contrib libpng/contrib/pngsuite/basn4a08.png libpng/libpngpf.3 libpng/contrib/pngsuite/basn0g08.png libpng/contrib/pngminus/makefile.tc3 libpng/TODO libpng/scripts/descrip.mms libpng/contrib/visupng/VisualPng.ico libpng/scripts/makefile.solaris libpng/projects/cbuilder5/zlib.readme.txt libpng/pngwtran.c libpng/scripts/makefile.hp64 libpng/contrib/pngminus/png2pnm.sh libpng/contrib/pngminus/pnm2png.sh libpng/contrib/gregbook/wpng.c libpng/pngnow.png libpng/scripts/makefile.bc32 libpng/contrib/gregbook/README libpng/projects/visualc71/pngtest.vcproj libpng/scripts/makefile.vcwin32 libpng/contrib/gregbook/rpng2-win.c libpng/projects/beos/x86-static.proj libpng/scripts/pngw32.def libpng/pngget.c libpng/scripts/makefile.os2 libpng/contrib/pngminus/makefile.std libpng/projects/cbuilder5 libpng/scripts/makefile.sunos libpng/projects/wince.txt libpng/libpng.3 libpng/contrib/visupng/cexcept.h libpng/pngtrans.c libpng/scripts/makefile.ibmc libpng/contrib/gregbook/rpng2-x.c libpng/pngwrite.c libpng/contrib/gregbook/LICENSE libpng/pngset.c libpng/scripts/makefile.dj2 libpng/projects/visualc71/README.txt libpng/LICENSE libpng/projects/visualc71/libpng.vcproj libpng/contrib/visupng/VisualPng.png libpng/png.5 libpng/pngwutil.c libpng/scripts/makefile.openbsd libpng/scripts/makefile.gcc libpng/contrib/visupng/VisualPng.rc libpng/scripts/makevms.com libpng/scripts/libpng.pc.in libpng/contrib/pngminus/pngminus.sh libpng/pngrtran.c libpng/scripts/makefile.freebsd libpng/scripts/makefile.hpgcc libpng/scripts/makefile.sco libpng/scripts libpng/libpng.txt libpng/scripts/pngos2.def libpng/scripts/makefile.tc3 libpng/contrib/pngminus/README libpng/contrib/gregbook/Makefile.sgi libpng/scripts/makefile.vcawin32 libpng/contrib/gregbook/readpng.c libpng/contrib/pngsuite/basn2c16.png libpng/contrib/pngminus libpng/contrib/pngsuite/basn6a16.png libpng/pngmem.c libpng/png.c libpng/contrib/gregbook/readpng.h libpng/scripts/makefile.64sunu libpng/scripts/libpng-config-head.in libpng/contrib/pngsuite/basn3p02.png libpng/projects/beos/x86-static.txt libpng/png.h libpng/contrib/pngsuite/basn3p04.png libpng/contrib/pngsuite/basn3p08.png libpng/Y2KINFO libpng/pngpread.c libpng/scripts/makefile.netbsd libpng/projects/beos/x86-shared.proj libpng/pngwio.c libpng/pngrutil.c libpng/projects/visualc6/libpng.dsp libpng/contrib/pngminus/pnm2png.bat libpng/contrib/pngminus/png2pnm.bat libpng/contrib/gregbook/Makefile.w32 libpng/scripts/makefile.darwin libpng/scripts/makefile.hpux libpng/projects/cbuilder5/libpng.bpf libpng/pngbar.jpg libpng/scripts/makefile.sggcc libpng/projects/cbuilder5/libpng.bpg libpng/projects libpng/contrib/gregbook/rpng-x.c libpng/projects/visualc6/libpng.dsw libpng/contrib/pngsuite/basn0g01.png libpng/scripts/makefile.std libpng/contrib/pngsuite libpng/projects/visualc71/README_zlib.txt libpng/contrib/pngminus/pnm2png.c libpng/contrib/pngminus/png2pnm.c libpng/scripts/makefile.32sunu libpng/projects/cbuilder5/libpng.bpr libpng/contrib/pngminus/pngminus.bat libpng/contrib/visupng/README.txt libpng/projects/visualc71/PRJ0041.mak libpng/pngerror.c libpng/configure libpng/scripts/makefile.aix libpng/contrib/visupng/VisualPng.c libpng/pngvcrd.c libpng/scripts/makefile.bor libpng/scripts/SCOPTIONS.ppc libpng/contrib/visupng libpng/scripts/makefile.beos libpng/contrib/pngsuite/basn4a16.png libpng/projects/visualc6/README.txt libpng/contrib/visupng/PngFile.c libpng/pngread.c libpng/scripts/makefile.ne12bsd libpng/contrib/pngsuite/basn0g16.png libpng/contrib/visupng/PngFile.h libpng/scripts/libpng-config-body.in libpng/INSTALL libpng/pngtest.png libpng/pnggccrd.c libpng/contrib/visupng/resource.h libpng/CHANGES libpng/example.c libpng/scripts/makefile.so9 libpng/scripts/makefile.intel libpng/pngconf.h libpng/projects/beos libpng/scripts/makefile.amiga libpng/contrib/pngsuite/README libpng/pngbar.png libpng/scripts/makefile.knr libpng/projects/visualc6/pngtest.dsp libpng/scripts/makefile.dec libpng/scripts/libpng.icc libpng/contrib/pngsuite/basn2c08.png libpng/scripts/makefile.atari libpng/scripts/makefile.cygwin libpng/projects/cbuilder5/libpng.cpp libpng/contrib/pngsuite/basn6a08.png libpng/pngtest.c libpng/ANNOUNCE libpng/projects/visualc71 libpng/scripts/smakefile.ppc]

2005-04-24T21:39:36.000000Z Ralph Giles

Initial revision

[zlib/contrib/dotzlib/DotZLib/UnitTests.cs zlib/contrib/iostream3/zfstream.h zlib/contrib/minizip/iowin32.c zlib/contrib/vstudio/vc7 zlib/amiga/Makefile.pup zlib/contrib/delphi/ZLibConst.pas zlib/contrib/vstudio/vc7/zlib.rc zlib/contrib/minizip/iowin32.h zlib/contrib/ada/readme.txt zlib zlib/contrib zlib/old/descrip.mms zlib/win32 zlib/contrib/inflate86/inffas86.c zlib/contrib/masmx86/gvmat32.asm zlib/contrib/vstudio/readme.txt zlib/contrib/ada/zlib-thin.adb zlib/adler32.c zlib/amiga zlib/contrib/puff/puff.c zlib/contrib/asm586 zlib/contrib/dotzlib/DotZLib.chm zlib/contrib/ada/read.adb zlib/contrib/iostream3/zfstream.cc zlib/win32/VisualC.txt zlib/zlib.h zlib/contrib/puff/puff.h zlib/qnx/package.qpg zlib/contrib/ada/buffer_demo.adb zlib/contrib/minizip/miniunz.c zlib/contrib/dotzlib/DotZLib/DotZLib.cs zlib/projects zlib/contrib/blast/blast.c zlib/contrib/ada/zlib-thin.ads zlib/as400/compile.clp zlib/win32/Makefile.bor zlib/projects/visualc6/minigzip.dsp zlib/contrib/testzlib zlib/contrib/blast/blast.h zlib/trees.c zlib/algorithm.txt zlib/projects/visualc6/example.dsp zlib/qnx zlib/contrib/dotzlib/DotZLib/Deflater.cs zlib/trees.h zlib/contrib/iostream3/TODO zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs zlib/contrib/puff/Makefile zlib/projects/README.projects zlib/contrib/masmx86/readme.txt zlib/contrib/minizip/minizip.c zlib/contrib/delphi/readme.txt zlib/amiga/Makefile.sas zlib/contrib/asm586/match.S zlib/msdos/Makefile.bor zlib/contrib/iostream zlib/msdos zlib/projects/visualc6 zlib/ChangeLog zlib/contrib/infback9/inffix9.h zlib/contrib/ada/test.adb zlib/contrib/puff/zeros.raw zlib/contrib/testzlib/testzlib.sln zlib/contrib/inflate86/inffast.S zlib/old/Makefile.riscos zlib/contrib/puff/README zlib/win32/zlib.def zlib/contrib/minizip/ioapi.c zlib/contrib/asm686/README.686 zlib/uncompr.c zlib/contrib/iostream2 zlib/contrib/iostream3 zlib/contrib/minizip/ioapi.h zlib/FAQ zlib/contrib/gzappend zlib/contrib/iostream3/test.cc zlib/contrib/masm686/match.asm zlib/Makefile zlib/old zlib/contrib/vstudio/vc7/zlibvc.sln zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs zlib/old/os2 zlib/Makefile.in zlib/contrib/pascal/zlibd32.mak zlib/contrib/asm686 zlib/contrib/delphi/zlibd32.mak zlib/win32/zlib1.rc zlib/contrib/infback9 zlib/contrib/dotzlib/DotZLib/CodecBase.cs zlib/contrib/minizip/ChangeLogUnzip zlib/README zlib/contrib/iostream/zfstream.cpp zlib/old/os2/Makefile.os2 zlib/win32/Makefile.msc zlib/contrib/asm586/README.586 zlib/zconf.h zlib/contrib/minizip/unzip.c zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs zlib/contrib/untgz zlib/INDEX zlib/msdos/Makefile.tc zlib/zconf.in.h zlib/contrib/minizip/unzip.h zlib/contrib/ada/zlib.adb zlib/inffast.c zlib/old/os2/zlib.def zlib/contrib/pascal/readme.txt zlib/inffast.h zlib/contrib/asm686/match.S zlib/inffixed.h zlib/msdos/Makefile.msc zlib/contrib/ada/zlib-streams.adb zlib/gzio.c zlib/contrib/ada/zlib.ads zlib/contrib/README.contrib zlib/old/Make_vms.com zlib/contrib/blast/test.pk zlib/contrib/masmx86/inffas32.asm zlib/contrib/blast/README zlib/contrib/minizip/zip.c zlib/contrib/minizip/crypt.h zlib/contrib/minizip/zip.h zlib/minigzip.c zlib/contrib/ada/zlib-streams.ads zlib/contrib/dotzlib zlib/contrib/dotzlib/DotZLib/GZipStream.cs zlib/contrib/iostream2/zstream_test.cpp zlib/compress.c zlib/contrib/ada/zlib.gpr zlib/infback.c zlib/contrib/pascal/example.pas zlib/contrib/masmx86/mkasm.bat zlib/contrib/testzlib/testzlib.c zlib/old/zlib.html zlib/contrib/dotzlib/readme.txt zlib/contrib/vstudio/vc7/zlibvc.def zlib/contrib/iostream/test.cpp zlib/contrib/untgz/Makefile zlib/contrib/dotzlib/DotZLib/Inflater.cs zlib/contrib/infback9/inflate9.h zlib/as400 zlib/contrib/vstudio/vc7/zlibvc.vcproj zlib/contrib/vstudio/vc7/zlibstat.vcproj zlib/contrib/testzlib/testzlib.vcproj zlib/as400/readme.txt zlib/contrib/masmx86 zlib/contrib/ada/mtest.adb zlib/win32/Makefile.emx zlib/contrib/dotzlib/DotZLib.sln zlib/projects/visualc6/zlib.dsp zlib/contrib/vstudio/vc7/minizip.vcproj zlib/contrib/dotzlib/DotZLib zlib/contrib/minizip zlib/projects/visualc6/zlib.dsw zlib/contrib/blast/Makefile zlib/contrib/dotzlib/DotZLib/DotZLib.csproj zlib/contrib/ada zlib/msdos/Makefile.emx zlib/contrib/infback9/inftree9.c zlib/contrib/infback9/infback9.c zlib/contrib/vstudio zlib/projects/visualc6/README.txt zlib/contrib/infback9/inftree9.h zlib/contrib/infback9/infback9.h zlib/contrib/blast/test.txt zlib/inflate.c zlib/contrib/iostream/zfstream.h zlib/contrib/blast zlib/contrib/minizip/mztools.c zlib/inflate.h zlib/win32/Makefile.gcc zlib/contrib/minizip/mztools.h zlib/contrib/dotzlib/DotZLib.build zlib/msdos/Makefile.dj2 zlib/configure zlib/deflate.c zlib/contrib/vstudio/vc7/miniunz.vcproj zlib/contrib/delphi/ZLib.pas zlib/zutil.c zlib/contrib/pascal/zlibpas.pas zlib/deflate.h zlib/contrib/minizip/Makefile zlib/crc32.c zlib/zutil.h zlib/as400/zlib.inc zlib/contrib/untgz/untgz.c zlib/contrib/inflate86 zlib/contrib/puff zlib/inftrees.c zlib/contrib/gzappend/gzappend.c zlib/contrib/masm686 zlib/zlib.3 zlib/crc32.h zlib/as400/bndsrc zlib/contrib/iostream3/README zlib/contrib/pascal zlib/inftrees.h zlib/contrib/delphi zlib/contrib/untgz/Makefile.msc zlib/contrib/dotzlib/LICENSE_1_0.txt zlib/contrib/masmx86/gvmat32c.c zlib/old/README zlib/example.c zlib/old/visual-basic.txt zlib/contrib/iostream2/zstream.h zlib/win32/DLL_FAQ.txt zlib/contrib/infback9/README]

2005-04-24T21:31:02.000000Z Ralph Giles

Initial revision

[jpeg/jpeglib.h jpeg/makefile.bcc jpeg/rdjpgcom.1 jpeg/jconfig.sas jpeg/rdtarga.c jpeg/testimg.ppm jpeg/jconfig.wat jpeg/install.doc jpeg/djpeg.c jpeg/jdpostct.c jpeg/jmemsys.h jpeg/cdjpeg.c jpeg/makefile.manx jpeg/cdjpeg.h jpeg/makefile.vc jpeg/rdbmp.c jpeg/wrppm.c jpeg/ansi2knr.1 jpeg/cjpeg.1 jpeg/jfdctfst.c jpeg/jcmaster.c jpeg/testimg.bmp jpeg/config.guess jpeg/jdmaster.c jpeg/jidctfst.c jpeg/wrgif.c jpeg/makefile.sas jpeg/jquant2.c jpeg/makefile.wat jpeg/makefile.mms jpeg/jmemname.c jpeg/jdct.h jpeg/jdatasrc.c jpeg/jmemdosa.asm jpeg/jconfig.manx jpeg/jcapistd.c jpeg/jdapistd.c jpeg/jversion.h jpeg/rdjpgcom.c jpeg/README jpeg/jdmerge.c jpeg/makvms.opt jpeg/ansi2knr.c jpeg/cjpeg.c jpeg/jdcolor.c jpeg/install-sh jpeg/testorig.jpg jpeg/jdatadst.c jpeg/jconfig.vms jpeg/jdtrans.c jpeg/wrtarga.c jpeg/structure.doc jpeg/jconfig.st jpeg/change.log jpeg/makefile.ansi jpeg/rdswitch.c jpeg/makelib.ds jpeg/jconfig.dj jpeg/jccolor.c jpeg/jconfig.mac jpeg/jfdctflt.c jpeg/makefile.vms jpeg/jidctflt.c jpeg/jctrans.c jpeg/jcprepct.c jpeg/jutils.c jpeg/testimg.jpg jpeg jpeg/rdppm.c jpeg/jconfig.mc6 jpeg/ckconfig.c jpeg/wizard.doc jpeg/makeproj.mac jpeg/makdjpeg.st jpeg/jcmainct.c jpeg/jpegtran.1 jpeg/jdmainct.c jpeg/jcapimin.c jpeg/testimgp.jpg jpeg/wrrle.c jpeg/rdgif.c jpeg/jdapimin.c jpeg/jconfig.cfg jpeg/jcdctmgr.c jpeg/jddctmgr.c jpeg/makljpeg.st jpeg/configure jpeg/jerror.c jpeg/maktjpeg.st jpeg/jdhuff.c jpeg/jerror.h jpeg/jmemnobs.c jpeg/jdhuff.h jpeg/config.sub jpeg/makefile.mc6 jpeg/jcinit.c jpeg/makcjpeg.st jpeg/wrbmp.c jpeg/usage.doc jpeg/makefile.cfg jpeg/example.c jpeg/jmemdos.c jpeg/libjpeg.doc jpeg/jconfig.vc jpeg/jfdctint.c jpeg/cderror.h jpeg/wrjpgcom.1 jpeg/jidctint.c jpeg/jpegtran.c jpeg/makefile.unix jpeg/jccoefct.c jpeg/jdcoefct.c jpeg/jcomapi.c jpeg/makeapps.ds jpeg/jdphuff.c jpeg/makefile.dj jpeg/jidctred.c jpeg/filelist.doc jpeg/jmemansi.c jpeg/jchuff.c jpeg/djpeg.1 jpeg/coderules.doc jpeg/jmemmac.c jpeg/jchuff.h jpeg/transupp.c jpeg/ltmain.sh jpeg/jcparam.c jpeg/transupp.h jpeg/jquant1.c jpeg/jconfig.bcc jpeg/ltconfig jpeg/jcphuff.c jpeg/wrjpgcom.c jpeg/jmemmgr.c jpeg/jcmarker.c jpeg/jcsample.c jpeg/jdsample.c jpeg/jdmarker.c jpeg/rdcolmap.c jpeg/jmorecfg.h jpeg/jconfig.doc jpeg/jinclude.h jpeg/testprog.jpg jpeg/jpegint.h jpeg/rdrle.c jpeg/jdinput.c]

2005-04-22T10:08:55.000000Z Russell Lang

Correct typo.

[man/ps2ascii.1]

2005-04-21T10:11:12.000000Z Igor Melichev

Speed up shadings : a minor optimization for the color monotonity check.

DETAILS :

Bug 687948 "Performance of shading fill much worse than 8.00" (a 8th partial fix).

The color monotonity has been cached, but was not taken from the cache.
It caused extra calls to is_monotonic.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2005-04-21T09:28:23.000000Z Igor Melichev

Speed up shadings : fixed a crash with unlinear color devices.

DETAILS :

Bug 688050 "C stack overflow with 464-01-fixed.ps (pbmraw/72dpi/noband)".
Bug 687948 "Performance of shading fill much worse than 8.00" (a 7th partial fix).


The C stack overflow happened due to quadrangle_color_change
didn"t account the quadrangle size, causing an infinite
subdivision in case of a non-contiguous color function.
This happened with unlinear color devices only,
because otherwise the quadrangle was mapped to 
a linear color fill device function, which doesn"t
perform a subdivision by color.

1. Passed the quadrangle size information to quadrangle_color_change.

2. Used it with unlinear color devices.

3. Trying to use it with a linear color device doesn`t
   give a speed up. Disabling this branch
   but saving it for historical purpose.

4. Inserted a check against the C stack overflow to
   simplify the debugging and the diagnostics.


EXPECTED DIFFERENCES :

1. Fixes a crash with pkmraw, pbmraw 446-01-fixed.ps.

2. Minor differences in rasters with pkmraw, pbmraw @ 72 dpi :
"446-01-fixed.ps" 
"464-01-fixed.ps" 
"483-05-fixed.ps" 
"BEST8-99-Path.fh7.pdf" 
"chilis_black.pdf" 
"Clarke Tate Manns Chinese.ai" 
"gradmesh.ai" 
"SmoothShading.pdf" 
"STEUER-RollingMesh 3(Final).ai" 
"Testform.v1.0.2.pdf" 

3. Minor differences in rasters with pkmraw, pbmraw @ 300 dpi :

"446-01-fixed.ps" 
"464-01-fixed.ps" 
"483-05-fixed.ps" 
"Altona_Visual_sb_1v1_x3.pdf" 
"BEST8-99-Path.fh7.pdf" 
"Clarke Tate Manns Chinese.ai" 
"gradmesh.ai" 
"SmoothShading.pdf" 
"STEUER-RollingMesh 3(Final).ai"

[src/gxshade6.c]

2005-04-20T20:05:41.000000Z Ray Johnston

Use the OrigFontName from an embedded font's FOntInfo dictionary since this
is where Windows PostScript dirver puts the real font name when embedding
fonts. Bug 688006 for customer 32.

[src/zbfont.c]

2005-04-20T08:44:12.000000Z Igor Melichev

Speed up shadings with optimizing fn_Sd_is_monotonic.

DETAILS :

This change is a fifth partial fix for the bug 687948
"Performance of shading fill much worse than 8.00".

Implemented a new function fn_Sd_1arg_linear_monotonic,
which optimizes fn_Sd_is_monotonic in the case of
1-argument linear sampled function.
It doesn't use the pole cache and the tensor-based algorithm,
saving significant time from the cache allocation,
which otherwise happens once per shfill.

We would like to optimise 1-argument cubic sampled function.
For now delaying it due to the absence of practical cases
which need a high performance.

Minor change : Renamed fn_is_monotonic into fn_Sd_is_monotonic_aux.

EXPECTED DIFFERENCES :

None.

[src/gsfunc0.c]

2005-04-20T06:13:11.000000Z Ray Johnston

Prevent out of range ImageType 4 mask array entries from causing an error
as Adobe Acrobat Reader does. Bug 687611 for customer 870.

DETAILS:

When the Mask array values are beyond the max allowed by the BitsPerComponent,
a rangecheck error must be generated by PostScript, but Adobe Acrobat Reader
ignores the Mask in this case and effectively treats the image as ImageType 1.
This patch generates a pdfformaterror Warning when the problem is seen.

[lib/pdf_draw.ps]

2005-04-19T21:22:54.000000Z stefan

Added dependancies for gdevpdfj.c

[src/devs.mak]

2005-04-19T14:35:12.000000Z Igor Melichev

Speed up shadings with removing fn_domain_is_monotonic.

DETAILS :

1. The function fn_domain_is_monotonic was called when creating any
sampled function object, and its result was not used.
Actually it is a rudiment from the !NEW_SHADINGS code.
This change is a fourth partial fix for the bug 687948  
"Performance of shading fill much worse than 8.00".

2. In gxshade1.c removed few rudiments of the !NEW_SHADINGS code.

EXPECTED DIFFERENCES :

None.

[src/gxfunc.h src/gxshade1.c src/gsfunc.c src/gsfunc0.c src/gsfunc3.c src/gsfunc4.c src/gsfunc.h]

2005-04-19T12:22:08.000000Z Igor Melichev

Removing the !NEW_SHADINGS branch.

DETAILS :

This change is algorithmically equivalent.

1. Removed the obsolete code
NEW_SHADINGS 0 and NEW_RADIAL_SHADINGS 0,
which was disabled a long ago.

2. Removed stacks and few other unused fields from
Fb_fill_state_s, A_fill_state_s, R_fill_state_s.

EXPECTED DIFFERENCES :

None.

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

2005-04-19T09:48:27.000000Z Igor Melichev

Faster shadings with dividing some quadrangles into 2 triangles.

DETAILS :

It's a third partial fix for the bug 687948
"Performance of shading fill much worse than 8.00".

When a quadrangle color doesn't depend on one axis,
subdivide the quadrangle into 2 triangles.
The old code did into 4 triangles.

1. Renamed 'triangles' into 'triangles4'.
2. Added 'triangles2'.
3. Added 'color_change_bilinear'.

EXPECTED DIFFERENCES :

"442-01.ps"
"446-01-fixed.ps"
"464-01-fixed.ps"
"483-01.ps"
"483-05-fixed.ps"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"BEST8-99-Path.fh7.pdf"
"Bug687840.pdf"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"Openhuis_pdf_zw.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"self-intersect2.ps"
"shading_prob_800.ps"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"
"Testform.v1.0.2.pdf"

[src/gxshade6.c]

2005-04-19T08:36:38.000000Z Igor Melichev

Faster shadings with setting a stronger clipping box.

DETAILS :

It's another partial fix for the bug 687948
"Performance of shading fill much worse than 8.00".

The old code computed a shading clipping box
as an transform of the shading BBox
to device coordinates. However with a rotation matrix
it significantly expanded the box,
so that more shading parts appear inside the paint region.
The new code sets clipping box equal to the bbox
of the clipping path, so that the rasterization
covers a smaller part of the shading, and the
shading becomes faster.

SHADING_FILL_RECTANGLE_PROC changes the prototype.
The new prototype adds a clipping rectangle in device coordinates,
which provides a stronger clipping of the paint region.
Probably we could drop the old argument "prect",
but leaving it untill the NEW_SHADINGS cleanup.

EXPECTED DIFFERENCES :

None.

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

2005-04-19T07:27:32.000000Z Igor Melichev

Faster shadings with a better function monotonity check.

DETAILS :

It's a partial fix for the bug 687948
"Performance of shading fill much worse than 8.00".
If an axial or radial shading use a sampled function
with many samples, the shading speeds up in 1.2 - 2.5 times.

1. The old code returned an unknown monotonity when the
interval covers several cells of a sampled function.
The new code summarizes the monotonity through multiple cells.

Rather shadings need 1- and 2-dimensional functions only,
we developed an N-dimensional algorithm for
a future use with color spaces and color renderings.

1.1. Generalized the function sample cache to linear functions
(the old code cached cubic ones only).

1.2. Made the branch POLE_CACHE to be permanent.

1.3. The new function is_lattice_monotonic
summarizes the monotonity through multiple cells.

1.4. The virtual function is_monotonic
now returns a mask about a monotonity by each coordinate.

2. The shading decomposition is adopted to the new monotonity check.

2.1. When decomposing a patch into stripes,
the color monotonity doesn't matter,
because further decomposition accounts it.

2.2. When decomposing a quadrangle,
the decomposition axis is being chosen according
to the function monotonity along each axis.

3. In the shading decomposition,
cached the monotonity separately from the linearity
with a new flag linear_color.

EXPECTED DIFFERENCES :

A minor difference in shading color with all devices and resolutions :

"442-01.ps"
"446-01-fixed.ps"
"464-01-fixed.ps"
"478-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"Bug687840.pdf"
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"Openhuis_pdf_zw.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"

[src/gxshade4.h src/gxshade1.c src/gsfunc.c src/gsfunc0.c src/gsfunc3.c src/gsfunc4.c src/gxshade6.c src/gsfunc.h src/gsfunc0.h]

2005-04-19T04:28:33.000000Z Ralph Giles

Bump the version numbers post-release.

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

2005-04-19T00:29:50.000000Z stefan

Fix for bug 687984.

Incomplete data stream gets artifical data for both DCTE and now
also for PNGPE streams.

Note that it would be nice if all streams either handled missing data
or didn't.

[src/gdevpdfj.c]

2005-04-18T18:38:22.000000Z Ralph Giles

Update changelogs for final 8.51 release.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2005-04-18T18:26:32.000000Z Ralph Giles

Update final release date.

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

2005-04-15T06:13:10.000000Z Igor Melichev

Psfiles.htm : Documanting a recently addad lib file.

DETAILS :

Fixes a Apr 11 05:15:10 PDT 2005 regression (which actually appeared some time ago).

EXPECTED DIFFERENCES :

None.

[doc/Psfiles.htm]

2005-04-14T19:10:14.000000Z Raph Levien

Fix: use identity matrix (rather than scaling by font matrix) to prepare
parameters for CDevProc procedure in pdfwrite code path. Fixes bug
#688033.

DETAILS

The problem in the 688033 test file was that the CDevProc procedure
for the font was getting called with values that were already scaled
down by .001, even though the PLRM3 says "all of the numeric values
are expressed in the glyph coordinate system of the font." (5.9.2,
p. 350)

My proposed fix is to pass in the identity matrix, instead of the font
matrix, to the gs_default_glyph_info procedure. This patch was tested
with both the 688033 test file and the test file from 687681, which was
the bug that motivated the changes to pdfwrite CDevProc handling. The
patched code also passed a full local regression.

[src/zchar1.c]

2005-04-13T23:13:04.000000Z Russell Lang

Add additional files to the Windows source distribution.

[doc/Release.htm]

2005-04-13T20:04:46.000000Z Ray Johnston

Fix a SEGV when ImageType 4 has MaskColor values outside the range.
Detected with the PDF file from bug 687611 for customer 870.

DETAILS:

The rangecheck error was being thrown with the gx_image_enum allocated
but with many pointers not initialized so the SEGV happened when the
garbage collector tried to enumerate the image_enum.

The fix is simple and low-risk -- free the penum before returning the
rangecheck error.

[src/gximage4.c]

2005-04-12T22:53:50.000000Z Ralph Giles

Update changelogs for the 8.51 release.

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]

2005-04-12T22:21:21.000000Z Ralph Giles

Remove a spurious blockquote.

[doc/News.htm]

2005-04-12T22:11:08.000000Z Ralph Giles

Propagate release date changes to the other documentation files.

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

2005-04-12T22:05:40.000000Z Ralph Giles

Update copyright dates and release notes for 8.15.

[src/dwsetup.rc src/winint.mak doc/News.htm src/gscdef.c src/version.mak]

2005-04-12T21:20:20.000000Z Ray Johnston

Fix for SEGV when PreserveHalftoneInfo=true is given as a pdfwrite
option. Bug 688018.

DETAILS:

The initial problem was that the num_comp was not being looked at
when HalftoneType 5 was written and if num_comp was 3, the 4th
element of ht_ids[] was being used (UMR-wise). The solution to
this was to only write the three halftones and to use the 'Green'
halftone (arbitrarily) for Default.

After fixing the SEGV, another problem surfaced because the object
dictionary was not being terminated with the ">>".

Since I suspected that the threshold_halftone writers were also
broken I tested with 258-01.ps and found more problems. This
code was also quite broken. Since the Threshold array is the
stream data for HalftoneType 6 and 16, I changed this a lot to
emit valid PDF.

EXPECTED DIFFERENCES:

None, since we don't set PreserveHalftoneInfo.

[src/gdevpdfg.c]

2005-04-12T00:43:37.000000Z Russell Lang

Make the OS/2 device list almost match that of Windows, with the only
differences being IJS and the Windows or OS/2 specific devices.

[src/os2.mak]

2005-04-08T23:55:13.000000Z Dan Coby

Fix for 688019  /configurationerror in --setpagedevice--.  The PDF
interpreter was incorrectly determining the size of the page.

DETAILS:

The test file specifies the following media box:

/MediaBox [ 0 1080 1620 0 ]

The PDF 1.6 specification says the following about media box rectangles:

"3.8.4 Rectangles
Rectangles are used to describe locations on a page and bounding boxes for a
variety of objects, such as fonts. A rectangle is written as an array of four
numbers giving the coordinates of a pair of diagonally opposite corners.
Typically, the array takes the form
[llx lly urx ury]
specifying the lower-left x, lower-left y, upper-right x, and upper-right
coordinates of the rectangle, in that order. The other two corners of the
rectangle are then assumed to have coordinates (llx, ury) and (urx, lly).

Note: Although rectangles are conventionally specified by their lower-left and
upperright corners, it is acceptable to specify any two diagonally opposite
corners. Applications that process PDF should be prepared to normalize such
rectangles in situations where specific corners are required."


The PDF interpreter was assuming that the MediaBox and the CropBox were
in the 'typical' form.  This fix consists of creating a pair of procedures
for converting rectangles into the typical form and then using the
procedures.

[lib/pdf_main.ps]

2005-04-08T23:31:24.000000Z Dan Coby

Removed some extra cntl-M at the end of lines.  These caused problems with
the Borland compiler.

[src/gdevtfax.c]

2005-04-07T09:12:15.000000Z Igor Melichev

Fix : An MSVC8 warning.

DETAILS :

MSVC claims an implicit type case introduced by the last patch.

EXPECTED DIFFERENCES :

None.

[src/gdevdjet.c]

2005-04-07T08:44:53.000000Z Igor Melichev

Drivers.htm : Improving the documentation about linear color device virtual functions.

DETAILS :

Bug 688016 "Color(s) that define a gradient fill".

EXPECTED DIFFERENCES :

None.

[doc/Drivers.htm]

2005-04-06T16:45:18.000000Z Raph Levien

Conveys input tray selection info (/ManualFeed and /MediaPosition)
setpagedevice requests to PCL devices. Fixes bug #687899.

DETAILS

1. The behavior of MediaPosition is changed significantly. Previously,
   it was ignored (i.e. omitted altogether from setpd merging). Just
   adding it to setpd merging would not be good - if set at the PS
   level, then it would get checked for equality at the C level (by
   zmatchmedia), and fail horribly if it didn't match. In accordance
   with the PLRM3 text (it will be honored provided it can satisfy the
   normal media matching), in the new version a mismatch simply adds a
   .001 penalty to the matching score.

2. The ljet4 device now contains ManualFeed and MediaPosition fields,
   with appropriate putparams logic to set them.

3. The MediaPosition and ManualFeed strings now create an ESC & l H
   init string, according to the following logic. ManualFeed sends
   ESC & l 2 H; if ManualFeed is false (or not set), then MediaPosition
   0 sends ESC & l 5 H, and MediaPosition1 sends ESC & l 1 H. If none
   of these are set, then no extra init string is generated.

   Obviously, for this feature to be useful, there needs to be an
InputAttributes dictionary in effect, for which the PageSize of
positions 0 and 1 match the PageSize of the setpagedevice request.
[Actually, if only ManualFeed is desired, then there is no need to
fiddle with InputAttributes].

   I think these changes bring our media selection more in line with
what Adobe intended, and could be useful for embedded PS projects as
well. I believe the risk of unwanted changes is small, but considering
the delicacy of the setpagedevice logic, review and testing is
warranted.

[src/gdevdjet.c lib/gs_setpd.ps src/zmedia2.c]

2005-04-05T19:37:22.000000Z Ralph Giles

Disable non-fatal jbig2 debug messages unless JBIG2_DEBUG is defined in the
C preprocessor. Previously, all messages were reported in the general gs
debug build, which was distracting.

Also, initialize the global context pointer to NULL. This isn't necessary
in the standard call order, but is extra insurance against an improper free.

[src/sjbig2.c]

2005-04-05T16:17:15.000000Z Igor Melichev

ps2write : Fix problems with encodings.

DETAILS :

1. Since we don't want to include numerous encodings in the output,
   opdfread.ps needs Differences to be computed against StandardEncoding.
   gdevpdtw.c is changed to provide a compatibility.

2. Fixed a bug in opdfread.ps when invresing an encoding in which
   a glyph name appears multiple times. Debugged with comparefiles\01_001.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps src/gdevpdtw.c]

2005-04-05T15:44:44.000000Z Igor Melichev

pdfwrite : Implementing a viewer's resource memory control, part 3.

DETAILS :

Fixed a memory management problem in pdfwrite :
a reference to a freed object happened due to
font descriptor components are not explicitely released.
Debugged with ps2write comparefiles\01_001.pdf .
This patch provides a minimal change against that,
rather there are other components,
which would be useful to release explicitly.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c src/gdevpdtw.c src/gdevpdfu.c src/gdevpdtd.h src/devs.mak]

2005-04-05T11:29:16.000000Z Igor Melichev

ps2write : Implementing a viewer's resource memory control, part 2.

DETAILS :

1. opdfread.ps :
Defined the new procedure CleanAllResources and called it after each page,
which defines /.ClearResources /All.
Currently it cleans all objects and all non-standard fonts.
Daemons, if they are stored in the Registry, are not cleaned.
(BTW, daemons may contain a reference to an object,
but we believe that currently unresolved daemons never appear
in Registry when ClearAllResources is being called).

2. ps2write.bat : Updated to involve the resource memory control.
See the log message of the previous patch for more information.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat lib/opdfread.ps]

2005-04-05T09:48:46.000000Z Igor Melichev

pdfwrite : Implementing a viewer's resource memory control, part 1.

DETAILS :

This patch implements a primitive viewer's resource memory control.

A new device parameter MaxViewerMemorySize specifies the number of bytes
available for storing resources in the viewer's memory.
This parameter defined almost for future extensions.

Currently we distinguish two cases only : if the parameter is greater
than 10000000 bytes, no resource control is being applied,
i.e. pdfwrite assumes that the viewer can store all resources of entire document.
Othervise pdfwrite assumes that the viewer can store resources of a single page.

In the second case pdfwrite cleans internal resource caches after each page,
so that any new resource usage will generate another resource instance
in the output PDF file.

To inform the viewer that the resources may be cleaned,
we add a new key to a page contents stream dictionary.
This is our extension to the PDF specification in order to control
the resource management in the viewer.
The new key name is /.CleanResources.
Currently we provide only the value /All. It means that resources
may be cleaned *after* ending the contents stream.

In future on necessity we can split a page contents stream into substreams
and provide a finer control by resource types with providing
more values for the key /.CleanResources.

When the viewer is informed with allowing to clean resources,
it is not obliged to do so. Further resource appearences simply replace
old ones, if they have same resource name.
Actually now this happens only with font and CID font resources.
Other resource instances may persist in the viewer's memory until
the viewer's garbager frees them when they are not
referred from resource tree dictionaries.

The resource control is mainly intended for ps2write.
An implementation of the viewer's side (in opdfread.ps) will be a separate patch.

Note that when a resource control is being applied,
the output document size may increase significantly.

Currently we don't add MaxViewerMemorySize to user's documentation,
because it depends on another undocumenmted parameter ForOPDFRead
through the ResourcesBeforeUsage flag. First we need to take a decision
whether ps2write will become a new Ghostscript device or it stays a tool
represented with a script. The latter gives more flexibility to users
about composing the header procsets of the generated Postscript document.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c src/gdevpdtt.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdfu.c src/gdevpdti.c src/gdevpdtf.h]

2005-04-04T23:00:24.000000Z Igor Melichev

Fix : LZWEncode filtyer template didn't provide a set_defaults method.

DETAILS :

A problem happens when converting comparefiles\PT.ps with ps2write :
an encoded stream could not decode. The reason is that pdf_flate_binary
did not set defaults to LZWE template.

1. Provided a set_defaults method (fixes pdf_flate_binary).

2. Used it instead an old hack in gdevpsdi.c (a minor improvement).

EXPECTED DIFFERENCES :

None.

[src/slzwe.c src/gdevpsdi.c]

2005-04-04T20:33:39.000000Z Igor Melichev

pdfwrite : Improve the font handling options.

DETAILS :

1. Made the ps2write code be permanent with removing the configuration switch PS2WRITE.

2. Renamed OrderResources into ForOPDFRead for a better reflection of its semantics.

3. Defined new flags for a better code readability :

    ResourcesBeforeUsage
    HavePDFWidths
    HaveStrokeColor
    HaveCFF

They are set when ForOPDFRead is true and used to control particular features.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-04-04T20:28:27.000000Z Igor Melichev

pdfwrite : Improve the font handling options.

DETAILS :

1. Made the ps2write code be permanent with removing the configuration switch PS2WRITE.

2. Renamed OrderResources into ForOPDFRead for a better reflection of its semantics.

3. Defined new flags for a better code readability :

    ResourcesBeforeUsage
    HavePDFWidths
    HaveStrokeColor
    HaveCFF

They are set when ForOPDFRead is true and used to control particular features.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gsshade.c src/gdevpdf.c src/gdevpdfb.c src/gdevpdtt.c src/gx.h src/gdevpdfd.c src/gdevpdtw.c src/gdevpdfj.c src/gdevpdfg.h src/gdevpdtb.c src/gdevpdfp.c src/gdevpdfu.c src/gdevpsdf.h src/gxshade6.c src/gxdevcli.h]

2005-04-04T16:20:06.000000Z Igor Melichev

ps2write : Improve the font handling options.

DETAILS :

1. The option HaveCIDSystem is propagated from ps2write to pdfwrite.
   It is still not implemented.

2. The option HaveTrueTypes is added for controlling the availability of TrueTypes.

3. The option PSVersion is removed due to low usefullness after (2).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfp.c src/gdevpdtt.c doc/Ps2pdf.htm src/gdevpsdf.h]

2005-04-04T14:38:23.000000Z Igor Melichev

pdfwrite : When generating a PDF 1.2, convert PSLL3 images and shadings into PSLL2 images

DETAILS :

This change propagates recent code from ps2write to pdfwrite.
The old code converts PSLL3 images and shadings into lots of rectangles.
The new code does into an imagemask with a pattern color
(when PatternImagemask == true),
or into a clipped image (when PatternImagemask == false, default).
Note that the latter misses the mask interpolation.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm src/gdevpdfd.c src/gdevpdfi.c src/gdevpdfj.c]

2005-04-04T11:53:10.000000Z Igor Melichev

ps2write : Convert shadings into a clipped image (continued 7).

DETAILS :

1. Check for empty bbox before pdf_setup_masked_image_converter,
   because memory devices with empty bbox fail.

2. Create a copy of a path_intersection before scaling it,
   because it may be shared.

3. Fixed the client name gdev_pdf_fill_path when calling some path functions.

Debugged with 478-01.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-04-04T10:42:16.000000Z Igor Melichev

pdfwrite : Don't use Indexed with a spacial base color space generating a PDF 1.2.

DETAILS :

1. Indexed over a special base color space is a PDF 1.3 feature.

2. Improving the last patch comparing CompatibilityLevel with 1.3 for making
   such checks more uniform through code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfc.c src/gdevpdfu.c]

2005-04-04T10:14:31.000000Z Igor Melichev

pdfwrite : Don't use FlateDecode generating a PDF 1.2.

DETAILS :

FlateDecode is a PDF 1.3 feature.
The change is important for ps2write.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2005-04-04T10:11:51.000000Z Igor Melichev

ps2write : Improving a debug printing.

DETAILS :

1. The errorhandler should print -mark- to simplify the analysis.

2. Removing an unintended 'pstack' that caused HP LaserJet 1320 to discontinue the interpretation.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-04-04T09:32:26.000000Z Igor Melichev

ps2write : Convert shadings into a clipped image (continued 6).

DETAILS :

Fixed a unitialized variable.
Debugged with 468-01-fixed.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-04-04T08:53:07.000000Z Igor Melichev

ps2write : Dropping the code !PDFW_DELAYED_STREAMS.

DETAILS :

PDFW_DELAYED_STREAMS now becomes a permanent feature.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtb.c src/gdevpdf.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdfu.c src/gdevpdtb.h src/gdevpdti.c src/gdevpdtw.h]

2005-04-03T18:33:09.000000Z Igor Melichev

ps2write : Convert shadings into a clipped image (continued 5).

DETAILS :

1. Fixed the problem with
<>,
which was mentioned in the last log message.

The shading and masked image conversion now looks complete.

2. Fixed a minor problem with 'const'.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-04-01T17:42:38.000000Z stefan

Fixed null pointer access in pdfwrite.

pdf_put_uncolored_pattern() sets pres to null when it selects a solid color.
It's clients must check for this null as it indicates a
done writing the pattern state.

[src/gdevpdfg.c]

2005-03-31T20:46:30.000000Z Igor Melichev

ps2write : Convert shadings into a clipped image (continued 4).

DETAILS :

Implement a downsampling when converting a shading into bitmap.

1. A new device parameter MaxShadingBitmapSize controls the downsampling.
   Shadings, which give a (uncompressed) bitmap over the specified size,
   will be scaled down.

2. The scaling algorithm goes to gdevpdfd.c .
   It appears pretty tricky because we need to setup a device with a smaller
   resolution than the target device. Due to that we need to scale paths and colors,
   which are represented in the device space. The function scale_path works for it.

3. The scaling creates a local copy of a device color (which handles the shading)
   and scales the color. Since we can't access further spatial transformations of the color,
   we apply some unusual operation : multiply matrices in the reverse order
   than usual 'concat' does. This makes some useful equations to be soluble
   due to the offset is being scaled as well.

4. A code portion was copied from gx_default_fill_path
   (see comment in code).
   We're unhappy about uncomfortable code structurization.

5. path_scale is implemented with floating point for a debug purpose,
   but in production we use only integers being a power of 2.

6. There is a problem with
   <>
   The problem happens when dividing the scaled bitmap in smaller ones
   due to clip path overflow. This mode to be debugged separately.
   For now set either smaller bitmap size of bigger clip path size.
   Default settings work fine for most cases.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/spprint.c src/gdevpdf.c src/gdevpdfp.c src/gdevpdfd.c src/devs.mak]

2005-03-31T06:12:42.000000Z Dan Coby

Fix for 688011 Segment fault with -r150 and the mswindll device.

DETAILS:

The routine gx_image_cached_char creates a mono bit memory device with
the memory structure pointer set to 0.  It then passes this device to
win_render_char which seg faults when it tries to allocate memory for
a bit map.

The fix consists of using the parent device's memory structure for the
mono bit memory device.

[src/gxccache.c]

2005-03-31T02:34:32.000000Z Jack Moffitt

Fix bug where raster lookups failed on new files causing the regression
tool to stop.  Also, skip processing for files without previous rasters
to compare.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_pdfwrite.py]

2005-03-30T16:33:13.000000Z Raph Levien

Add a discussion of the libjpeg6b component id issue to Issues.htm,
pointing people to a patch. Resolves bug #686980.

[doc/Issues.htm]

2005-03-30T14:06:33.000000Z Igor Melichev

ps2write : Convert type 3,4 image into a clipped image (continued 3).

DETAILS :

Apply loseless filters for images smaller than 500 Kbytes
(Useful for images like 468-01-fixed.ps).

We would like to apply the compression chooser.
Dalaying it until users request so.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfb.c]

2005-03-30T13:43:08.000000Z Igor Melichev

ps2write : Convert type 3,4 image into a clipped image (continued 2).

DETAILS :

1. Optimisation: Merge equal lines while converting a mask into clip path.
2. Bug : When the mask has a bigger resolution, scale up the data image and the mask 
   to allow the mask to rasterize in the natural resolution
   (debugged with 468-01-fixed.ps).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c src/gdevpdfi.c]

2005-03-30T12:48:08.000000Z Igor Melichev

ps2write : Convert type 3,4 image into a clipped image (continued).

DETAILS :

1. Improved the prototype of pdf_setup_masked_image_converter.
2. Renamed 'autorelease' into 'write_on_close' for a better reflection of its meaning.
3. Renamed gx_device_pdf::image_mask_matrix into gx_device_pdf::converting_image_matrix.
3. Type 3 images now convert with no scaling to the device space (int pdf_begin_typed_image).
   The mask image of the typoe 3 image is scaled to the size of the data image.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfd.c src/gdevpdfi.c]

2005-03-29T21:33:17.000000Z Igor Melichev

ps2write : Convert type 4 image into a clipped image.

DETAILS :

Since HP LaserJet 1320 unsatisfactory handles imagemask with a pattern color,
now we implement an alternative method for type 4 imege representation.
The method creates a clipping path and an image rendered with it.
See http://ghostscript.com/pipermail/gs-cvs/2005-March/005356.html
for additional details.

1. Fixed a typoe in lcvd_get_clipping_box_from_tadget.
   The new correct name is lcvd_get_clipping_box_from_target.
2. Fixed choices of allocators in pdf_setup_masked_image_converter.
3. pdf_image_cvd_enum_procs, pdf_image_end_image_cvd work for cleaning up temporary devices
   after a type 4 image has been processed with pdf_setup_masked_image_converter.
4. Added a branch into pdf_begin_typed_image to work with
   pdf_setup_masked_image_converter when
   pdev->OrderResources && !pdev->PatternImagemask.

We still use OrderResources as a general switch for the ps2write mode.
To be improved later.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c src/gdevpdfi.c]

2005-03-29T17:31:58.000000Z Igor Melichev

ps2write : Convert type 3 image into a clipped image.

DETAILS :

Since HP LaserJet 1320 unsatisfactory handles imagemask with a pattern color,
now we implement an alternative method for type 3 imege representation.
The method creates a clipping path and an image rendered with it.
See http://ghostscript.com/pipermail/gs-cvs/2005-March/005356.html
for additional details.

1. Moved pdf_lcvd_t to the pdfwrite scope gdevpdfx.h .
2. pdf_lcvd_t::mask is being allocated dymacially for a compatibility to gx_image3_end_image.
3. Made a garbager discriptor for pdf_lcvd_t since it is allocated dynamically
   for a compatibility with gx_image3_end_image.
4. Applied pdf_put_matrix for writing matrices.
5. Renamed dump_image into pdf_dump_converted_image.
6. Replaced gs_point pdf_lcvd_t::p with gs_matrix pdf_lcvd_t::m.
7. Factored out pdf_setup_masked_image_converter and pdf_remove_masked_image_converter.
8. Added branches to pdf_image3_make_mid and pdf_image3_make_mcde
   to work with pdf_setup_masked_image_converter.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfd.c src/devs.mak src/gdevpdfi.c]

2005-03-29T14:26:26.000000Z Igor Melichev

Fix : Propagate return codes truoug gx_image3_end_image.

DETAILS :

The change is important for ps2write.
We don't consider it to te a part of the ps2write project,
because it is generallly useful.

EXPECTED DIFFERENCES :

None.

[src/gximage3.c]

2005-03-28T14:03:31.000000Z Igor Melichev

ps2write : Convert shadings into a clipped image.

DETAILS :

Since HP LaserJet 1320 unsatisfactory handles imagemask with a pattern color,
now we implement an alternative method for shadings representation.
The method creates a clipping path and an image rendered with it.


The new device parameter PatternImagemask specifies whether
imagemask with a pattern color is allowed. Now it defaults to false.
When false, a conversion to a clipped image happens.

The new device parameter MaxClipPathSize specifies a restriction
for clip path segments. When a mask converts into a too big clipping path,
the image and the mask are being subdivided into smaller chunks.

Minor change : Moved the flag OrderResources to gx_device_pdf_s
(it had a too general scope).

A conversion of Type 3 images into clipped images will be a separate patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c src/gdevpdfd.c src/gdevpsdf.h]

2005-03-25T21:26:33.000000Z Igor Melichev

ps2write : A misprint in option list.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-03-25T20:13:54.000000Z Igor Melichev

ps2write : Don't set a pattern space when it is already set (continued 2).

DETAILS :

The previous patch caused a problem with 3d party interpreters.

This patch provides a compatibility to gs3.70 and HP LaserJet 1320.
Since we duplicate color commands for stroking and non-stroking colors,
a dup of 'setpattern' caused a problem, because it tried
to setup a pattern over a pattern.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-25T19:31:07.000000Z Igor Melichev

ps2write : Don't set a pattern space when it is already set (continued).

DETAILS :

The previous patch caused a problem with some files,
which set a non-stroke color first.

This patch provides a compatibility to gs3.70 .
Since we duplicate color commands for stroking and non-stroking colors,
a dup of 'setpattern' caused a problem, because it tried
to setup a pattern over a pattern.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-25T18:00:03.000000Z Igor Melichev

ps2write : Don't set a pattern space when it is already set.

DETAILS :

This patch provides a compatibility to gs3.70 .
Since we duplicate color commands for stroking and non-stroking colors,
a dup of 'setpattern' caused a problem, because it tried
to setup a pattern over a pattern.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-25T17:38:17.000000Z Igor Melichev

ps2write : Implementing the RotatePages and the FitPages options (continued).

DETAILS :

.HWMargins caused a problem with 3d party interpreters.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-25T13:07:56.000000Z Igor Melichev

ps2write : Create contents streams for empty pages.

DETAILS :

opdfread can't handle pages with no contents due to object ordering.

Minor change : propagated return codes from pdf_open_contents in pdf_close_contents.
This minor change also affects pdfwrite.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c src/gdevpdfu.c]

2005-03-25T11:13:25.000000Z Igor Melichev

ps2write : Work around HP LaserJet 1320 bugs (continued).

DETAILS :

A previous patch fails when no filters applied.
This one fixes that.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-25T10:11:29.000000Z Igor Melichev

ps2write : Improve the handling of encodings.

DETAILS :

1. Fixed a bug in GetMacRomanEncodingInverse.
2. Dropped some unused encodings.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat lib/opdfread.ps]

2005-03-25T08:22:06.000000Z Igor Melichev

ps2write : Implementing the RotatePages and the FitPages options.

DETAILS :

This is a further improvement of the last patch.

When RotatePages is defined in the target device,
the opdfread procset rotates pages for a better fitting
into the page size.

When FitPages is defined in the target device,
the opdfread procset scales pages for a better fitting
into the page size.

Note thet if both options are specified,
the procset first rotates and then scales a page.

No rotations happen if a page fits with no rotation or
if a rotation doesn't improve the fitting.

Rather the RotatePages option looks similar to
the distiller parameter AutoRotatePages,
it affects a PS interpreter in the target printer
rather than the distiller in the ps2write host.

Thge implementation accounts /.HWMargins,
which is Ghostscript specific feature.
It is useful when the printer embeds Ghostscript.

Since now the options may appear either in systemdict,
or in userdict, or in globaldict of the printer.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-24T21:37:13.000000Z Igor Melichev

ps2write : Implementing the RotatePages option.

DETAILS :

When RotatePages is defined in the target device,
the opdfread procset rotates pages for a better fitting
into the page size.

Rather the RotatePages option looks similar to
the distiller parameter AutoRotatePages,
it affects a PS interpreter in the target printer
rather than the distiller in the ps2write host.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-24T19:34:32.000000Z Igor Melichev

ps2write : Fixing problems with TrueType fonts.

DETAILS :

1. The old code tried to position a non-positionable file reading cmap subtables.
The new code read cmap subtables in the order of the file.

2. 'sfnts' array got an exctra element 'true' causing 'invalidfont' with 3d party interpreters.

3. Improved the debug printout of a Type 42 font dictionary.
The old code printed too big strings causing a problem with CPSI.

Debugged with comparefiles\Bug687597.ps and HP LaserJet 1320.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-23T19:45:15.000000Z Dan Coby

Fix for 687434, 687835, and 687982.  These reports are  /vmerror in
--eofill-- or --fill--.  They are caused by the pattern accumulation
device trying to allocate excessively large buffers.

DETAILS:

The pattern accumulation device allocates an image buffer for holding
patterns.  The size of the pattern buffer (prior to this fix) is based
upon the bounding box specified with the pattern.  For the problem files,
the pattern bounding boxes are excessively large.  The vmerrors are the
result.

This fix consists of comparing the pattern bounding boxes to the size
of the page to be imaged.  (All of the files have bounding boxes which
are much larger than the page.)  We determine which part of the pattern
will actually be used and limit the pattern accumulation to the area
which is needed.  Most of this fix consists of stepping the pattern to
check the intersection between the pattern and the page.  The major
complication in this process is simply due to the arbitrary transform
matrix which can be applied between the coordinate space used to define
the pattern and the coordinate frame of the output page.

This fix significantly reduces the buffer sizes required for these
test files.  However it is still possible for a pattern buffer to
exceed available memory.  It is possible to create a solution using some
version of a band list.  However my estimate on that task keeps getting
larger as I look at the details.

[src/gsptype1.c]

2005-03-23T18:40:06.000000Z Raph Levien

Set PJL RENDERMODE to GRAYSCALE or COLOR depending on whether device is
pxlmono or pxlcolor, respectively. Fixes bug #687990. Thanks to Jonathan
Kamens for the patch.

[src/gdevpxut.c]

2005-03-23T17:41:48.000000Z Ralph Giles

Add the missing ijs-config.1 manpage so our distributed ijs tree
builds cleanly as a separate package. Include other sync changes
to the 0.35 release. Closes bug 687991.

[ijs/configure.ac ijs/ijs_spec.pdf ijs/ijs-config.1 ijs/Makefile.am ijs/README]

2005-03-18T19:52:31.000000Z Igor Melichev

Fix (pdfwrite) : Don't apply ASCII85Encode to page contents streams which appear to be already ASCII (continued 2).

DETAILS :

Last two patches are incomplete - font streams were not ASCII encoded.
This one fixes that (All 3 to be applied).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfu.c src/gdevpdti.c]

2005-03-18T17:48:49.000000Z Ralph Giles

Clean up a remaining link to the New-user documentation.

[doc/Bug-info.htm]

2005-03-18T17:38:24.000000Z Igor Melichev

Fix (pdfwrite) : Don't apply ASCII85Encode to page contents streams which appear to be already ASCII (continued).

DETAILS :

The last patch was buggy. This one fixes that (both to be applied).

It's a bug introduced when implementing PDFW_DELAYED_STREAMS.
Restoring the old behavior now.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2005-03-18T17:28:47.000000Z Ralph Giles

Link to Commprod for the difference between GPL and AFPL Ghostscript.

[doc/Readme.htm]

2005-03-18T17:26:22.000000Z Ralph Giles

Remove the out-of-date 'new user' documentation. Most of this is covered by
the readme and the website.

[doc/Fonts.htm doc/Use.htm doc/Readme.htm doc/Helpers.htm doc/New-user.htm doc/Install.htm]

2005-03-18T17:15:59.000000Z Ralph Giles

Remove the obsolete Tester.htm documentation file.

[doc/Readme.htm doc/Tester.htm]

2005-03-18T16:15:25.000000Z Igor Melichev

ps2write : Work around HP LaserJet 1320 bugs.

DETAILS :

HP LaserJet 1320 appears to have problems with streams -
see comments in code.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-18T14:48:32.000000Z Igor Melichev

Fix (pdfwrite) : Don't apply ASCII85Encode to page contents streams which appear to be already ASCII.

DETAILS :

It's a bug introduced when implementing PDFW_DELAYED_STREAMS.
Restoring the old behavior now.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2005-03-18T12:15:32.000000Z Igor Melichev

ps2write : Improve the error handler.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-18T11:21:42.000000Z Igor Melichev

ps2write : Add EndOfTask character at the end of a task.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-03-18T10:36:43.000000Z Igor Melichev

ps2write : Add EndOfTask character at the end of a task.

EXPECTED DIFFERENCES :

None.

[lib/EndOfTask.ps lib/ps2write.bat]

2005-03-17T15:45:52.000000Z Igor Melichev

ps2write : Don't write empty elements of Subrs.

DETAILS :

gdevpsf1.c created an incorrect Type 1 font file due to
'readstring' causes a rangecheck with empty string.
Skipping empty elements of Subrs against that.

An empty element of Subr isn't a correct code since
it must contain at least a 'ret' instruction.
Thus empty element actually means "no element".

EXPECTED DIFFERENCES :

None,
because normally pdfwrite doesan't call this code portion.

[src/gdevpsf1.c]

2005-03-17T13:08:37.000000Z Igor Melichev

Fix : Building GS with MSVC, use a proper CRTL version (debug|nodebug).

EXPECTED DIFFERENCES :

None.

[src/msvc32.mak]

2005-03-17T13:06:38.000000Z Igor Melichev

ps2write : Write pages in the proper order.

DETAILS :

Bug 687923 "New ps2write inverts the page order".

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfu.c]

2005-03-17T10:52:29.000000Z Igor Melichev

fuzzy.c : Fixing the error message format.

[toolbin/tests/fuzzy.c]

2005-03-17T10:45:49.000000Z Igor Melichev

ps2write : Fixing an initial matrix bug.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-16T23:04:07.000000Z Alex Cherepanov

Keep the operands of knownoget_safe pseudo-operator on the stack to ensure
proper restoration of the operands when it fails. Correctly adjust the stack
in the caller when knownoget_safe fails.
Fix bug 687473 from the customer 780.

[lib/pdf_main.ps]

2005-03-16T14:57:42.000000Z Igor Melichev

Fix : MSVC8 warning.

DETAILS :

This change is algorythmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/sjpx.c src/spdiff.c]

2005-03-16T12:27:42.000000Z Igor Melichev

Fix : Coding style and MSVC8 warning in gsciemap.c .

DETAILS :

This change is algorythmically equivalent.

The old code applies macros to generate 3 expressions like this :

(8 >= ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) :
(10))) ? (((pcrd->caches.EncodeABC[0].fixeds.ints.values)
[((tabc[0]) >> ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10)))] +
(frac)(((long)((pcrd->caches.EncodeABC[0].fixeds.ints.values)
[((tabc[0]) >> ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10))) + 1] -
(pcrd->caches.EncodeABC[0].fixeds.ints.values)[((tabc[0]) >> ((((1 << 2) * 8 - 9 - 2) < (10)) ?
((1 << 2) * 8 - 9 - 2) : (10)))]) * ((int)(tabc[0]) & ((1 << ((((1 << 2) * 8 - 9 - 2) < (10)) ?
((1 << 2) * 8 - 9 - 2) : (10))) - 1))) >> (((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) :
(10))))) << (8 - ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10)))) :
(((pcrd->caches.EncodeABC[0].fixeds.ints.values)
[((tabc[0]) >> ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10)))] +
(frac)(((long)((pcrd->caches.EncodeABC[0].fixeds.ints.values)
[((tabc[0]) >> ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10))) + 1] -
(pcrd->caches.EncodeABC[0].fixeds.ints.values)
[((tabc[0]) >> ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10)))]) *
((int)(tabc[0]) & ((1 << ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) :
(10))) - 1))) >> -(8 - ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) :
(10))))) >> (((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10))))

(the other 2 ones replace "[0]" with "[1]" and "[2]").

We gues that MSVC8 is not enough intelligent to prove that the static (sub)expression
((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10))
is always within the interval [0, 10] and therefore it claims a possible error.
This patch replaces it with a dynamic constant 's',
so that the warning doesn't appear.
In any case we believe that the huge expression above isn't a
good coding style since humans need to read the code sometimes.

For ones who wish a further simplification,
we're happy to bring some useful definitions :

XXX = ((((1 << 2) * 8 - 9 - 2) < (10)) ? ((1 << 2) * 8 - 9 - 2) : (10))
YYY = ((int)(tabc[0]) & ((1 << XXX) - 1))
ZZZ = ((tabc[0]) >> XXX)
TTT = (pcrd->caches.EncodeABC[0].fixeds.ints.values)

Using them the expression reduces to :

(8 >= XXX) ? ((TTT[ZZZ] + (frac)(((long)(TTT[ZZZ + 1] - TTT[ZZZ]) * YYY) >> (XXX))) << (8 - XXX))
           : ((TTT[ZZZ] + (frac)(((long)(TTT[ZZZ + 1] - TTT[ZZZ]) * YYY) >> (XXX))) >> -(8 - XXX))


EXPECTED DIFFERENCES :

None.

[src/gsciemap.c]

2005-03-16T09:47:43.000000Z Igor Melichev

ps2write : Don't drop extension glyphs writing an embedded font.

DETAILS :

The pdf interpreter creates glyph copies with unique_name
to resolve glyph name conflicts while converting Widths to Metrics.
Then pdfwrite drops the extended glyph names (made with unique_name),
to aviod font expansion in the output PDF.

We do not wont to port unique_name and related stuff
to opdfread.ps in order to simplify the latter.
Therefore the drop_extension_glyphs and related things must not be called
when pdfwrite works in the ps2write mode.

We still use OrderResources as a general switch for the ps2write mode.
This should be improved later.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtb.c src/gdevpdtw.c]

2005-03-16T09:38:13.000000Z Igor Melichev

ps2write : Improving the processing of True Type encodings.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-15T14:14:46.000000Z Igor Melichev

ps2write : Fit a page with MediaBox.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-15T11:36:37.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c src/gdevpdtc.c src/gstype42.c src/gxshade6.c]

2005-03-15T11:21:08.000000Z Igor Melichev

ps2write : Fixing minor problems with text placing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-03-14T18:08:39.000000Z Dan Coby

Fix for 687696 PDF 1.4 transparency can use large chunks of memory.
Prior to this fix the handling of PDF 1.4 transparency features used one
or more full size image buffers.  With high resolutions and large images,
these buffers can be multiple gigabytes.  As a result, we were not able
to handle these files.

DETAILS:

PDF 1.4 transparency is handled by a device which is inserted into the
device chain.  Prior to this fix, this device was via the 'device filter'
logic.  With this fix, the PDF 1.4 transparency device is inserted via
the compositor device mechanism.  This change was made since the device
filter logic did not allow other devices to control where the PDF 1.4
transparency device is placed in the device chain.  There is a device
proc which implements the create compositor action.  This allows more
control than the device filter logic.

The first step in this fix was to convert the PDF 1.4 transparency
logic to use the create compositor mechanism.  For situations in which
the clist logic is not being used, the PDF 1.4 transparency device is
created and placed in the same location in the device chain as it was put
by the device filter logic.  In this situation, there is very little
logical difference in the operation of the PDF 1.4 transparency.

For situations in which the clist is used, there are two PDF 1.4
compositing devices created.  There is one device before the clist when the
clist is being written.  There is a second device after the clist when
the clist data is being read.

The device before the clist serves two purposes, it provides a means for
implementing the process color model for the PDF 1.4 compositing.  (The
PDF 1.4 compositing may used a different process color model from the output
device.)  Thus this device has color_info and encode/decode color procs
which match the PDF 1.4 blending color space.  This device also ensures
that the PDF 1.4 blending parameters (blend mode, shape, opacity, etc.)
are passed through the clist to the second PDF 1.4 device.

The second PDF 1.4 device (the one when the clist is being read) is the
same PDF 1.4 compositing device which is used when the clist is not being
used.  This is the device which does the blending operations.  Since the
device is after the clist, the buffers that it needs are the size of a
single band instead of the full page.  This device is placed prior to
the memory device which is used for drawing the raster data.

Two changes were made in the 'create compositor' logic.  The imager state
was being passed as a 'const'.  It is no longer const since the PDF 1.4
transparency compositing changes the cmap procs in the imager state to not
use transfer functions during color calculations.  The transfer functions
are applied later (and the cmap procs restored) when blended image data
is output from the PDF 1.4 compositing buffers.

The second change to the create compositor logic is the addition of two
more procedures to the gs_composite_type_t.procs list.  These procedures
are used by the clist device create compositor routines.  The first
is used to create the PDF 1.4 clist write device.  The second saves and
restores the color_info field for the clist device (see below).

Default versions of the added gs_composite_t.procs were also added for
use by the other compositor devices.  The defaults are no-ops.

The clist logic has a few changes.  Since the PDF 1.4 compositor device
may use a different process color model from the output device, the number
of colorants and the depth (bits per pixel) can be different for the PDF
1.4 compositor and the output device.  Thus changes were needed in parts
of the clist logic which assumed that these items were constant during the
processing of the clist.  An extra field was added to the device halftone
to indicate the number of colorants in effect when the device halftone was
created.  This data is included when the halftone is serialized for the
clist.  (Fortunately the PDF 1.4 compositing does not use halftones or
transfer functions.  So the device halftones and transfer functions do
not need to be changed when the PDF 1.4 compositor is installed.)

As previously mentioned the create compositor procedures for the clist
writer and reader now call a couple of compositor specific routines.  These
allow the compositor to implement actions related to the clist device.
(The PDF 1.4 compositor uses these routines to create the 'write clist'
PDF 1.4 compositor and to save and restore the clist device color info.
The color_info field of the clist device is changed to match the process
color model of the PDF 1.4 compositor while the PDF 1.4 compositor is active.

A additional device parameter (PageUsesTransparency) was added.  This
parameter is sent by the PDF interpreter to indicate if PDF 1.4 transparency
will be used on the page.  The banding/no banding decision and the size
of a band includes an estimate of the size of the PDF 1.4 blending buffers
if this parameter is true.  Note:  The estimate of the size of the
blending buffers is not exact since this calculation is made before the
actual number of buffers, the number of blending colors and alpha channels
is known.  Fixed values are used for the estimated buffer size.  This is
still much better than the pervious situation, in which the only the
output raster size was being used.  The blending buffers can easily be
30 or more times larger than the raster buffer.

This fix also involves the removal of the PDF 1.4 'marking' devices.
The marking devices were used to actually implement the pixel marking.
The marking devices were created at the start of each high level drawing
operation and deleted after the completion of the operation.  The marking
device action has been merged into the primary PDF 1.4 compositing device.
This change eliminates some device creation overhead.  The overhead would
have been worse since most information about high level drawing operations
is not passed through the clist.  As a result it would have been necessary
to create marking devices for each low level operations.



The following issues are not included in this fix but need to be considered.

1)  The device filter logic is no longer used.  It may be desired to remove
this logic.

2)  We currently have a 'create_compositor' device proc.  However there
is not a 'delete_compositor' device proc.  As a result, compositor devices
can stay in the device chain even when they are no longer needed.  The
current fix turns the PDF 1.4 compositor into a 'forwarding' device.  This
is the same method used by the overprint compositor device.  I do not like
leaving these devices since there is some extra overhead and there may be
possible side effects.  (Testing has been done to try to find side effects
and none has been found with the current code.)

3)  This change only affects devices which can use the clist logic.  This
excludes the 'high' level devices.  These include the 'display', 'x11',
and 'pdfwrite' devices.  Thus these device will continue to use a full
image buffer.  It is possible to extend this fix to use a clist device
for the PDF 1.4 device for these devices.

[src/gstparam.h src/gdevmem.c src/gxclrast.c src/gxclimag.c src/zdpnext.c src/lib.mak lib/pdf_main.ps src/gdevdflt.c src/gxcldev.h src/gxdevice.h src/gsovrc.c src/gsht.c lib/pdf_draw.ps src/gxband.h src/gdevp14.c src/gxclist.c src/gxdhtserial.c src/gdevp14.h src/gxcmap.c src/ztrans.c src/gstrans.c src/gxdevmem.h src/gdevpsdu.c src/gxclist.h src/gsalphac.c src/gsistate.c src/gxdht.h src/gstrans.h src/gxclutil.c src/gsropc.c src/gxistate.h src/gdevbbox.c src/gxcomp.h src/gdevnfwd.c src/gdevprn.c src/gxdevcli.h src/gdevprn.h]

2005-03-14T17:46:46.000000Z Igor Melichev

ps2write : Assume same color for stroking and non-stroking operations.

DETAILS :

An improvement to opdfread.ps with maintaining different colors
for stroking and non-stroking operations would too complicated.
So we patch pdfwrite against it.

We still use OrderResources as a general switch for ps2write mode.
It should be improved later.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c]

2005-03-10T16:34:41.000000Z Igor Melichev

Fix (type 1 hinter) : Inconsistent transform coefficients after the dynamic glyph scaling.

DETAILS :

Bug 687939 "Fixed precision problems".

t1_hinter__adjust_matrix_precision did not adjust rational transform coefficients.
Due to that, t1_hinter__align_stem_to_grid caused glyph distortions.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2005-03-10T14:57:23.000000Z Alex Cherepanov

Initialize ColorSpace parameter in ijs driver to DeviceRGB. This
prevents a PostScript error in "currentpagedevice setpagedevice"
and similar code when ColorSpace is not explicitly initialized.
Fix bug 687013.

[src/gdevijs.c]

2005-03-10T13:01:01.000000Z Alex Cherepanov

Add FillOrder device parameter to TIFF fax devices and document the
changes in Devices.htm .
Fix bug 687324

DETAILS :
This fix changes the default from FillOrder = 2 to FillOrder = 1.
According to the TIFF 6.0 specification, Section 8, page 32, support of
FillOrder = 2 is not required in a Baseline TIFF compliant reader.

Support of FillOrder will be addressed to tiffpack and tifflzw devices as
a part of bug 614298 resolution.

EXPECTED DIFFERENCES :
None. TIFF devices are not tested by the regression test.

[doc/Devices.htm src/gdevtfax.c]

2005-03-09T12:21:34.000000Z Igor Melichev

Fix (pdfwrite) : Equal image merging could break the Mask object of a type 3 image.

DETAILS :

Bug 687926 "ps2pdf13 Segfaults on eps figure".

The old code set a reference to a Mask object,
which was freed while the equal image merging.
Delay adding the "Mask" entry into a type 3 image dictionary
until the mask is completed and merged
(maybe replaced with an equal one).

Minor change : fixed a typoe in "pdf_image_useage_t".

EXPECTED DIFFERENCES :

None.

[src/gdevpdfi.c]

2005-03-09T09:01:27.000000Z Igor Melichev

Fix (pdfwrite) : Don't create a CMap resource list.

DETAILS :

Old revisions created an object for CMap resource list.
That object is not required by the PDF specification,
and it was left unreferenced.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtw.c]

2005-03-09T08:43:02.000000Z Igor Melichev

Fix : MSVC 8 debug build was broken.

DETAILS :

Since msvccmd.mak version 1.25 a debug build compiles with no debug info.
This patch restores necessary compiler options.

Particularly msvccmd.mak version 1.25 reads :

     # MSVC 8 does not support debug compile and continue /Gi /ZI.

Don't know where it comes from. My copy of MSVC 8
does support it and I do use it.

EXPECTED DIFFERENCES :

None.

[src/msvccmd.mak]

2005-03-08T07:40:45.000000Z Ralph Giles

Add uncompr.c which supplies the uncompress() zlib utility routine to our
makefile. This routine isn't currently used by ghostscript, but was available
prior to the source re-arrangement in the zlib 1.2.x releases.

[src/zlib.mak]

2005-03-04T22:12:50.000000Z Russell Lang

Correct HTML error in documentation.

[doc/Use.htm]

2005-03-04T22:02:23.000000Z Russell Lang

Set the default paper size with DEFAULTPAPERSIZE in gs_init.ps,
which only affects devices that default to A4 or letter paper.
This avoids inappropriately setting the bbox device to
A4 or letter size.

DETAILS:
Some linux distributions change the default paper size
to A4 by uncommenting the following line in gs_init.ps.
  % Optionally choose a default paper size other than U.S. letter.
  % (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse

Unfortunately this sets the default paper size for all devices,
including the bbox device for which this is not appropriate.
If the bbox device is set to A4 paper and drawing occurs
outside this area, the bbox device will report an incorrect
bounding box.  There may be custom printer devices which don't
support A4 or letter paper.

The default paper size is now set with DEFAULTPAPERSIZE,
which sets PAPERSIZE only if the paper size is not otherwise
set, the device defaulted to A4 or letter.

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

2005-03-04T22:00:22.000000Z Russell Lang

The display device row alignment must be equal to or greater than
the pointer size, since this is a requirement of the memory devices.
Problem noticed on 64-bit builds.

[src/gdevdsp.c src/gdevdsp.h]

2005-03-04T21:58:55.000000Z Russell Lang

Compile Ghostscript for 64-bit Windows with AMD64 processor.
Change the default install directory to "c:\program files\gs".

DETAILS:
Microsoft Visual Studio .NET 2003 with Windows Server 2003 DDK,
or Microsoft Visual Studio 8 (.NET 2005 beta) are required
to compile for 64-bits.

Dialog boxes return type INT_PTR not BOOL.

Install to the "Program Files" directory as default,
instead of c:\gs.  This allows 32-bit and 64-bit
versions to be installed in separate locations.
For 32-bit GS on 32-bit Windows, "c:\Program Files\gs"
For 32-bit GS on 64-bit Windows, "c:\Program Files (x86)\gs"
For 64-bit GS on 64-bit Windows, "c:\Program Files\gs"
The " (x86)" is added by Windows when a 32-bit program asks
for the "Program Files" folder on 64-bit Windows.
Other languages will translate "Program Files".

The programs still have "32" in their names: gswin32c.exe,
gswin32.exe and gsdll32.dll.  They are distinguished from
the 32-bit versions by their install location.
This avoids changes to many batch files.

The registry entries written by the installer do not
conflict between 32 and 64-bit.
For 32 on 32, or 64 on 64, the location is
  HKLM\Software\AFPL Ghostscript\N.NN
For 32 on 64, Windows adds "WoW6432Node\" to make it
  HKLM\Software\Wow6432Node\AFPL Ghostscript\N.NN

If the "Program Files" folder has a " (x86)" suffix,
this is used as a suffix on the Start Menu items.  This
allows 32-bit and 64-bit GS to be installed without
conflict.  The start menu item for 32-bit GS on 64-bit
Windows is "Ghostscript N.NN (x86)".

Building 64-bit GS on 32-bit Windows can be done
by the usual method - either execute genconf.exe on
a 64-bit platform or hand edit arch.h.

A separate patch will fix the display device DisplayHandle
parameter which is currently truncated to 32-bits.

There is a warning from the linker about exports being
defined multiple ways.  This is not a problem with the
32-bit compile.  This is due to the C code
specifying export and the module definition file
also specifying the export.  Removing the function
names from the module definition file would make the
warning message go away, but may affect 32-bit compiles.

[src/dwsetup.rc src/winint.mak doc/Make.htm src/msvccmd.mak src/gp_mswin.c src/msvc32.mak src/gsdll32.def src/gp_mswin.h src/msvctail.mak src/dwuninst.cpp src/dwsetup.cpp]

2005-03-04T21:56:06.000000Z Russell Lang

Change display device parameter DisplayHandle from an integer
to a string, to add support for 64-bit platforms.

DETAILS:
The display device passes a (void *) handle to callback functions.
The handle is set before the device is opened, and attempting to
change it afterwards is an error.
The handle may be used by the caller to identify an instance of
the display device, for example it may point to the display instance
object in the caller.
This handle was set using a PostScript integer which is 32-bits long,
typically with -dDisplayHandle.
The existing code will not work correctly on 64-bit architectures.

The display device is changed to return a string as the
DisplayHandle parameter.
Previously the handle would be set using -dDisplayHandle=1234.
The changed code allows it to be passed as
 -dDisplayHandle=1234
 -sDisplayHandle=1234
 -sDisplayHandle=10#1234
 -sDisplayHandle=16#04d2
This should be backward compatible, since users of the
display device will most likely only set the DisplayHandle,
not read its value.

The ghostscript example code in dw*.c, dx*.c and dp*.c
does not use DisplayHandle, so is unaffected by this change.
GSview does use DisplayHandle and will require this
change for operation on 64-bit platforms.

It is assumed that size_t is an integer with the same size
as a pointer.

For HEAD, GS_8_1X

[src/gdevdsp.c src/gdevdsp.h]

2005-03-04T14:42:53.000000Z Igor Melichev

Unwinding the last patch, which was erroneusely aplied to a wrong branch.

[src/gdevpdfj.c]

2005-03-04T14:40:07.000000Z Igor Melichev

pdfwrite : ASCII encoding was not applied to some images when requested.

DETAILS :

It fixes a bug, which has been put when implementing the compression chooser.
This is a part of ps2write development, which is also important for pdfwrite.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfj.c]

2005-03-04T14:38:13.000000Z Igor Melichev

pdfwrite : ASCII encoding was not applied to some images when requested.

DETAILS :

It fixes a bug, which has been put when implementing the compression chooser.
This is a part of ps2write development, which is also important for pdfwrite.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfj.c]

2005-03-04T10:27:39.000000Z Russell Lang

Fix bug #687958 gswin32: Assertion fails due to a bug in dwtext.c.
Keep argument to isprint() within 0-255.

[src/dwtext.c]

2005-03-03T19:05:41.000000Z Ray Johnston

Eliminate a performance problem when a TT font has a large 'loca' table.
A fix for 687889 used .sort on the 'loca' table but this takes a long
time if the table is large. Only run the .sort if the table is out of
order which is rare since the TT font spec requires an in-order table.
Bug 687968.

DETAILS:

Apparently our conversion of the 'japan.ps' file creates a TT font with
a loca table that has 20458 entries (even though the original font
in japan.ps didn't have that many). This is needed because there are
many glyphs that are not present, but we need loca table slots that
represent the missing glyphs (same starting offset as next glyph).

The time was being spent doing the '{ lt } .sort' of the array  :-(

I added logic that checked the order as the loca table was converted
to an array so that the .sort could be skipped as long as the table is
in order (which it *should* be for a valid TT font). After this change,
the HEAD time is 1.16 CPU seconds versus 1.08 seconds for gs8.50.
(with the .sort, the time was 257 seconds).

I suppose that we could optimize the .sort (put it into 'C') but
for now I'll just avoid it most of the time.

Note that since the .sort has a procedure callout for the ordering test,
it might not speed up that much in 'C'. That's the other reason that it
is worthwhile to avoid the .sort when possible.

[lib/gs_ttf.ps]

2005-03-03T13:15:55.000000Z Igor Melichev

pdfwrite : Use character codes instead CIDs when creating a ToUnicode CMap.

DETAILS :

Bug 687954 "copy and pasting asian text problems".

The problem depends on what a Postscript printer driver
puts into the GlyphNames2Unicode table.

GlyphNames2Unicode is an undocumented feature, which PScript5.dll uses to
communicate with Adobe Distiller. A long ago from its name
we concluded that it maps character names to Unicode, and it was
confirmed with multiple documents. Now we got a document
(the test case of the bug 687954), which uses character codes instead CIDs,
(CIDs are usually interpreted as "glyph names" in the case of CID fonts).
In the test document CIDs are not equal to character codes due to the embedded CMap
named WinCharSetFFFF-H2. We did not notice this problem before
due to most old documents from PScript5.dll use an identity CMap WinCharSetFFFF-H,

Now we change Ghostscript with using character codes instead CIDs
as keys to GlyphNames2Unicode. We have no technology for a regression test
of the related behavior. We will pass this revision to users in order to study
consequences of this patch from users' responses.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtc.c src/gdevpdte.c]

2005-03-03T07:50:15.000000Z Igor Melichev

ps2write : Write "/Type/CMap" to a CMap resource dictionary.

DETAILS :

Bug 687955 "ghostscript generated pdf causes error in adobe reader"

EXPECTED DIFFERENCES :

None.

[src/gdevpdtw.c]

2005-03-02T18:08:38.000000Z Raph Levien

Fix: Move setting of #copies userdict entry outside restore operation
so it doesn't get clobbered. Fixes bug #687964. Thanks to Leon Sha for
the patch.

[src/gdevpsu.c]

2005-03-01T20:44:01.000000Z Ray Johnston

Fix a problem with .dividesfnts for large Type42 fonts introduced with the
previous commit. Also replace macro with C-Style compliant inline function.

DETAILS:

The previous code constructed a single 'locatable' string of 4 byte entries
from the sorted array of loca entries. This would fail if the original
was 2 byte (u16) offsets, as seen with 'fonts.pdf' in the regression suite.

The new code constructs the "splitarray" list using the sorted array so
that the string is never created (it wasn't used afterwards).

Also, the related file src/gstype42.c was changed to avoid adding another
macro that doesn't follow C-Style. I intentionally left the ACCESS macro
since this would need at least two lines to replace each ACCESS line.

[src/gstype42.c lib/gs_ttf.ps]

2005-02-28T10:00:15.000000Z Igor Melichev

ps2write : Reset the clipping path before starting a page.

DETAILS :

Bug 687952 "Clipping path is ignored on pages after first page of PDF output".
Patch from SaGS.
Actually it resets the clipping path before the first page and after each page.
Resetting it after the last page saves few memory for PDF completion.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2005-02-27T05:56:59.000000Z Ray Johnston

Fix handling of broken TrueType fonts that have a loca table that is not
in order. Bug 687889 for customer 670.

DETAILS:

This is clearly a questionable TT font since the Apple TT font reference
manual clearly states that the length of glyphs can be inferred from
the difference in successive offsets.

Note that the PostScript code only needs to deal with the sorted 'locatable'
in order to decide where to split the glyf strings in the sfnts array
(in the .dividesfnts proc). Otherwise the PostScript code doesn't care.

If the .dividesfnts uses a sorted locatable, but doesn't replace the 'loca'
table written into the sfnts, then the VMerror occurs because the C code
in 'default_get_outline' calculated the glyph_length for the gs_alloc
using loca table entries that might be out of order.

In order to effect the entire fix, I sorted the 'locatable' for the PS
code in .dividesfnts as well as creating a new 'len_glyphs' array in
the gs_type42_data structure that holds the actual glyph lengths.
The glyph lengths are calculated once when the font is initialized in
gs_type42_font_init. If the 'loca' table is in order, then nothing
changes, but if it is out of order, we get the lengths by finding the
next higher glyph offset anywhere in the loca table.

These changes let the file run and show the same glyphs as Adobe Acrobat
Reader.

[src/gxfont42.h src/gstype42.c lib/gs_ttf.ps]

2005-02-26T21:00:04.000000Z Igor Melichev

ps2write : Fixing minor problems with debug printing.

DETAILS :

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-02-26T18:07:43.000000Z Igor Melichev

ps2write : Implementing a conversion of images into ProcessColorModel, step 3 (final).

DETAILS :

1. Attached the "image colors" filter and
provided appropriate color conversions.

2. Changed function prototype to pass filter parameters.

3. Removed all related stubs.

EXPECTED DIFFERENCES :

None.

[src/gdevpsds.c src/gdevpsds.h src/gdevpsdi.c src/devs.mak src/gdevpsdf.h src/gdevpdfi.c]

2005-02-26T13:32:56.000000Z Igor Melichev

ps2write : Implementing a conversion of images into ProcessColorModel, step 2.

DETAILS :

This step generalizes the "image to mask" filter into
a general image color conversion filter.
Also improved return codes from s_image_colors_process
in complience to constraints defined in strimpl.h .

EXPECTED DIFFERENCES :

None.

[src/gdevpsds.c src/gdevpsds.h src/gdevpsdi.c]

2005-02-25T21:08:22.000000Z Igor Melichev

ps2write : Implementing a conversion of images into ProcessColorModel, step 1.

DETAILS :

This patch defines overall logic and data exchange for converting images to
ProcessColorModel color space. For a while, the real convertion is stubbed
with conversion into a bitmask (a 1 bit per sample image).

1. When pdf_begin_typed_image calls pdf_color_space,
a failure means that the image can't represent in the output PDF.
Then we setg up a n image color conversion filter with
psdf_setup_image_colors_filter.

2. The function psdf_setup_image_colors_filter currently is stubbed
with etting up the "image_to_mask" filter instead a general color conversion filter.
Implementing the general filter will be the next step.

3. When conversion happens, pdf_begin_typed_image writes
a ProcessColorModel colore space instead the image color space.
Currently it is stubbed with gs_color_space_index_DeviceGray
to comply with the stub in psdf_setup_image_colors_filter.

4. Multiple bugs (mainly the order of bits in the stream,
and row to tyte alignment) have bin fixed in s_image_to_mask_process.

5. We continue to use pdev->OrderResources as a general switch
for the ps2write mode, rather it's not fully correct.
The new code will be useful for pdfwrite with CompatibilityLevel < 1.3,
so later we'll need to remove the switch from pdf_begin_typed_image.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpsds.c src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]

2005-02-25T14:02:24.000000Z Igor Melichev

pdfwrite : Simplify data exchange for pdf_color_space.

DETAILS :

1. The old code assumes a constraint explained in the comment :
	/* SRZB 2001-04-25/Bl
	 * Since psdf_setup_image_filters may change the color space
	 * (in case of pdev->params.ConvertCMYKImagesToRGB == true),
	 * we postpone the selection of the PDF color space to here:
	 */
Implement this dependence implicitly with defining a new function
psdf_is_converting_image_to_RGB, in order to cancel the "postpone" constraint.

2. Call pdf_color_space before setting up image filters.
This allows a proper check of the color space compatibility
before image filters are set.
This is important since we'll apply a filter
for the image color space conversion.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]

2005-02-25T07:58:50.000000Z Igor Melichev

ps2write : Unwind the last patch (disallow ICCBased color spaces when writing a ps2write output).

DETAILS :

When applied the last patch,
we decided to convert ICC profile into a CIEBased color space.
But ICC profiles (especially ones coming from PDF documents from wild)
may contain a general lookup table, and a general lookup
table can't convert into M1*T*M2 transformation,
where Mi are 3D linear transformations, and and
T is unlinear 3-component transformation.
Since a CIEBased color space is restricted with
M1*T*M2 transformation, in a general ICC profile
can't convert into a CIEBased.

Besides that, the ICC-based method can't apply to DeviceN spaces.

Therefore now we choose another implementation strategy.
Single colors will be converted into low level colors in
the ps2write step, and images will be filtered to convert
into low level color spaces.
Will implement a special filter for that.

Due to all above, the last patch appears wrong.
Unwinding it now.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfk.c]

2005-02-24T19:46:58.000000Z Igor Melichev

ps2write : Allow ICCBased color spaces when writing a ps2write output.

DETAILS :

Since CIEBased is not a PDF 1.2 object, we need to convert it somehow.

One possible way is to write CIEBased into PDF.
We do not choose this way because (1) it will generate an invalid PDF
so that we'll not be able to verify the output with PDF readers;
(2) we have no code for writing a CIEBased color space to PDF or Postscript,
but we do have one for ICCBased.

Another way is to write ICCBased into the ps2write output
and to implement a parsing of ICC profile in opdfread.ps .
We prefer this way since a part of this algorithm (an ICC writer)
already presents in Ghostscript.

Strongly saying, a PDF with ICCBased is not a valid PDF 1.2 document.
But as we noticed before, Adobe PDF viewers simply ignore
pdf level from the document header. So we'll be able to view it
as it is or after a small modification of the header.

We continue to use the flag OrderResources as a general switch for
ps2write mode. Doing so because we still have no
a perfect decision about the list and logics of configuration options.
Later we'll need to bring more order to this field.
Possibly writing a "restricted PDF1.3" would be better that
writing an "extended PDF 1.2".

By the way, pdfwrite appears to have a rudimentary branch
pdf_convert_cie_to_lab, which currently is a stub,
which always fails. We think that this conversion isn't possible
in general due to Lab restricts with a very special class of
transformations. So lakely this branch will never be implemented
and it must always fail.

Please note that with this patch ps2write successfully converts
a smaller class of input files then before it,
because the writer becomes inconsistent with
the reader coded in opdfread.ps . But we do need this step
in the develoipment technology. Actually the files outside the class
were converted into a too long PDF.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfk.c]

2005-02-24T11:26:09.000000Z Igor Melichev

Fix (pdfwrite) : Improving the heap consistensy with compression chooser.

DETAILS :

When a compression chooser is being installed,
s_add_fimter may insert another NullEncode filter to comply the buffering
between the compression chooser and its target.
After the compression chooser is closed, the old code
left the NullEncode filter unreleased in the heap,
so that the heap consistency check claimed a reference
from it to a freed object, which is the target of the
NullEncode. It's not a real bug sisnce NullEncode was never referred,
But running with -Z? got a failure in the heap consistency check.

This patch generalizes the code with closing all filters in the chain
(including the NullEncode) without a dependence on
features of specific filters.

BTW, we're unappy of all this stuff,
becauase actually the compression chooser filter doesn't need any target.
A dummy one was inserted only to work around a crash in
s_add_filter, in the check of the buffer size compliance,
and now we fix a problem with the dummy thing.
Maybe a simpler way would be patching s_add_filter
to allow NULL target (I mean no target at all,
rather than a null filter as the target),
but we don't want to modify that fundamental thing,
which is handled by another engineer.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c src/gdevpdfj.c]

2005-02-23T15:10:39.000000Z Igor Melichev

ps2write : Improving the compatyibility to another PSLL2 interpreter 5D PDF Creator.

DETAILS :

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-02-23T10:48:53.000000Z Igor Melichev

ps2write : A wrong data were set to sfnts defining a Type 42 font.

DETAILS :

It attached an encoded data.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-02-23T10:08:32.000000Z Igor Melichev

Fix : Erase all pointers initializing a font structure.

DETAILS :

Bug 687951 "Inconsistent heap after 'definefont' fails.".

EXPECTED DIFFERENCES :

None.

[src/gsfont.c]

2005-02-23T09:57:45.000000Z Igor Melichev

Fix (pdfdwrite) : Don't apply FlateEncode generating a PDF 1.2.

DETAILS :

FlateEncode is a PDF 1.2 and PSLL3 feature.
This patch is important for ps2write project.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c]

2005-02-22T15:41:42.000000Z Igor Melichev

A new implementation of shadings, step 89.

DETAILS :

This is a partial fix for the bug 687948
"Performance of shading fill much worse than 8.00".

This patch improves the decision how to subdivide a quadrangle patch.

EXPECTED DIFFERENCES :

normal, 72dpi :

"442-01.ps"
"464-01-fixed.ps"
"478-01.ps"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"S2_Digitalproof-Forum_x3k.pdf"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"

normal, 300dpi :

"442-01.ps"
"464-01-fixed.ps"
"478-01.ps"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"S2_Digitalproof-Forum_x3k.pdf"
"SmoothShading.pdf"

[src/gxshade6.c]

2005-02-18T20:38:34.000000Z Russell Lang

Fix conformance problems in ghostpdf.ppd.  Now tested with cupstestppd.

[lib/ghostpdf.ppd]

2005-02-17T21:40:06.000000Z Igor Melichev

ps2write : A compatibility to a PSLL@ interpreter gs3_70.

DETAILS :

1. With  GS HEAD 'makepattern' always returns a local dictionary, but
with gs3_70 it depends on current allocation mode.
Forced the local allocation mode for any case.

2. Fixed the file name in the error handler message.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-02-16T22:05:31.000000Z Igor Melichev

ps2write : Fix problems with hex encodings (continued).

DETAILS :

The old code sometimes corrupted data when pdfwrite applies /ASCII85EncodePages true .
The data corruption happened while applying ASCII85Decode filter
together with another filter for inline images or embedded fonts.
The reason is that two instances of the stream dumper shared same buffer.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2005-02-16T15:29:33.000000Z Igor Melichev

ps2write : Implementing a conversion of type 4 images into an 'imagemask' with a pattern color.

DETAILS :

The mask is being generated with a new 4th alternative stream of pdf_image_writer.
Note it's a completely different way than image type 3.

1. Fixed a typo in 'pdf_image_writer_num_alt_streams'.

2. pdf_image_writer_num_alt_streams is increased to 4,
   and added pdf_image_writer::pres_mask.

3. Garbager methods of pdf_image_writer are updated with (2) in gdevpdfj.c .

4. Factored out pdf_begin_image_data_decoded (an equivalent code change).

5. Factored out pdf_end_and_do_image (an equivalent code change).

6. pdf_begin_write_image now may be called at 2nd time to set up the 4th alternative stream.
   The branches for mask==true work for that.

7. Implenented a new filter image_to_mask for converting a colored
   image with MaskColors into an imagemask (gdevpsds.h, gdevpsds.c).

8. psdf_setup_image_to_mask_filter helps for (7). (gdevpsdf.h, gdevpsdi.c)/

9. pdf_begin_typed_image now creates 4th alternative image stream with
   applying the image_to_mask filter - see the branch
   "if (pic->type->index == 4 && pdev->CompatibilityLevel < 1.3)".
   See comment in there.

10. pdf_image_end_image_data handles the 4th stream
   with the branch "if (pie->writer.alt_writer_count == 2)".

11. pdf_choose_compression_cos preserves the 4th alternative stream (gdevpdfj.c).

EXPECTED DIFFERENCES :

None.

[src/gdevpsds.c src/gdevpsds.h src/gdevpsdi.c src/gdevpsdf.h src/devs.mak src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2005-02-16T11:11:18.000000Z Igor Melichev

Fix (pdfwrite) : Improve garbager methods of pdf_image_writer.

DETAILS :

This change should be algorithmically equivalent,
rather the order of pointer enumeration is changed slightly.
The goal is to simplify the ps2write project.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfj.c src/gdevpdfg.h]

2005-02-16T09:13:06.000000Z Igor Melichev

Fix (pdfwrite) : Implement an explicit initialization of pdf_image_writer.

DETAILS :

This change should be algorithmically equivalent,
rather it initializes more data, which were left uninitiaized
(and hopely unused) by the old code.
The goal is to simplify the ps2write project.

The patch simplifies the logics of pdf_begin_write_image,
and drops its argument, which was added when implementing
the compression chooser.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfb.c src/gdevpdfv.c src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2005-02-16T06:31:10.000000Z Ray Johnston

Add a pdfformaterror Warning for the case where an outline link destination
does not exist (so that the resulting PDF will not have dangling links).

[lib/pdf_main.ps]

2005-02-16T06:28:49.000000Z Ray Johnston

Tolerate non-printing garbage characters prior to the %PDF header of a PDF
file. Bug 687942 for customer 670.

DETAILS:

This is yet another example of PDF's that Acrobat Reader can handle that
don't quite meet the spec. AR has the advantage that they don't have to
'auto-sense' PostScript, EPS and PDF and they can just ignore garbage
before the %PDF header. We don't have that advantage.

We've had previous proposals to operate the way AR does, but this would
require a command line switch to force PDF language mode (akin to the
PJL ENTER LANGUAGE functionality of PCL).

This is a simple enough patch and does solve at least one customer's
issue so I'm committing this patch. We can always improve on it later.

Note that skipping initial non-printing characters doesn't interfere
with PostScript or EPS recognition or processing (and may help).

[lib/pdf_main.ps]

2005-02-16T05:01:17.000000Z Raph Levien

Fix: make sure that transfer functions and spot functions are permuted
to the same order as the other halftoning parameters. Fixes bug #687916.

[src/zht2.c]

2005-02-15T14:47:37.000000Z Igor Melichev

Fix (the filling algorithm) : Drpouts could appear at Y-extremes of the path (continued).

DETAILS :

This is a continuation of the patch
http://ghostscript.com/pipermail/gs-cvs/2005-January/005180.html .

Bug 687940 "Infinite loop in spot_into_scan_lines_fd".

EXPECTED DIFFERENCES :

None.

[src/gxfillsl.h]

2005-02-14T02:37:24.000000Z Ray Johnston

Provide more robust handling of errors in an attempt to prevent badly
formed error handlers defined in the PS file from causing nested errors
(and the infamous dump-like "Unexpected interpreter error").
Refer to bug 687925.

DETAILS:

Note that broken error handlers are fairly common, so running them in a
.internalstopped context makes sense. The .internalstopped is used to
avoid side effects such as modifying the $error dict contents.

Also note that the -dJOBSERVER may often be needed to actually see the
error message since this forces the use of the "standard" error reporting
to stdout.

Expected Differences:

None.

[lib/gs_init.ps]

2005-02-13T21:31:07.000000Z Ray Johnston

Fix a problem with the initial matrix when the InputAttributes has a page
size range (four element array) with the lower bounds greater than 0.
Patch submitted by Till Kamppeter for bug 687902.

DETAILS:

The logic was clearly broken. There was an arbitrary MIN_MEDIA_SIZE #define
that was used to allow setting the media size correctly (to the request
instead of the range maximum). The corrected logic determines that a range
is being used when the medium.p{x|y} is not the same as medium.q{x|y}.

Expected Differences:

Since the default InputAttributes only has a single range page size slot,
and the minimum values are 0, 0, this won't change the default behaviour.

[src/zmedia2.c]

2005-02-12T20:29:56.000000Z Ray Johnston

Fix so that outline links to non-existent pages do not get processed or
included in the outline passed to pdfwrite (via pdfmark). Bug 687917.

DETAILS:

Broken links cause a 'rangecheck in --get--' in the pdfpagenumber proc.
called from 'linkdest'. We now catch errors (any) using stopped and simply
omit the link from the outline that we write.

[lib/pdf_main.ps]

2005-02-10T23:13:04.000000Z Dan Coby

Fix for 687935 rangecheck in stroke while overprinting on the display device.

DETAILS:

This fix corrects a problem in gx_default_get_bits_rectangle.  The fix
forces the 'actual_data' parameter to NULL when the GB_RETURN_POINTER
option is not included in the parameter options.  A value of NULL in the
actual_data parameter forces the get_bits routine to copy data instead of
simply returning a pointer to the data.

The default implementation of overprinting uses the device get_bit_rectangle
proc to retrieve the current pixel data.  This one of the few situations that
only uses the 'GB_RETURN_COPY' option to the get_bits routine.  (Most cases
use both GB_RETURN_COPY and GB_RETURN_POINTER.)

[src/gdevdgbr.c]

2005-02-09T19:42:01.000000Z Igor Melichev

ps2write : Fix problems with heh encodings.

DETAILS :

The old code failed when pdfwrite applies /ASCII85EncodePages true .
This patch fixes that.

When reading the generated PS file with Ghostscript,
we observe a problem with ASCII85Decode filter :
images and fonts appear corrupt,
and embedded fonts cause an access violation on Windows.
In same time Adobe Reader reads them fine.
This secondary problem shouldn't be important for the Postscript generation.
It will be fixed separately.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat lib/opdfread.ps]

2005-02-09T18:30:21.000000Z Ray Johnston

Revert to the redistributable Identity-H and Identity-V CMaps (same as
the CVS revision 1.1). Bug 687933.

[Resource/CMap/Identity-H Resource/CMap/Identity-V]

2005-02-09T16:36:57.000000Z Igor Melichev

ps2write : Implementing a conversion of type 3 images into an 'imagemask' with a pattern color.

DETAILS :

1. The main worker is use_image_as_pattern.

2. pdf_image_end_image_object2 transfers the condition for calling use_image_as_pattern.

3. pdf_image_end_image_data handles more cases, including the new USE_AS_PATTERN.
   See comment in code near it. Other 2 cases are equivalent to old ones.

4. Don't write the Mask key when the image is used as the pattern color.

5. New fields are added into pdf_device_s to provide a data transfer for use_image_as_pattern.

6. pdf_do_image is splitted into 2 functions. A further simplification
   would be useful, but we delay it in order to simplify this patch.
   See new comments in code.

7. A comment is inserted into gdevpdfd.c to provide a reference to a similar
   code fragment. Maybe we should factor out a common function.
   Delaying to simplify this patch.

8. Added a 'const' to a pdf_add_resource argument,
   since this patch calls it with a constant.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfd.c src/gdevpdti.c src/devs.mak src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2005-02-08T16:52:41.000000Z Igor Melichev

Implementing a conversion of a shading to a raster image for high level devices (continued 2).

DETAILS :

1. When a patch possibly is self-overlapping, patch_fill passes an empty path
(instead the patch boundary) to the device. Receiveing an empty path, the device
knows that it must convert the coverage area into a mask.

2. pdfwrite converts self-overlapping patches into an imagemask with a colored pattern color,
which paints the shading image. See the new code and comments in gdevpdfd.c.

3. An auxiliary function is added to gsptype2.c .

4. Probably we'll need to break big patterns into small ones
against the printer RAM overflow. Delaying for a while.

EXPECTED DIFFERENCES :

None.

[src/gsptype2.c src/gsptype2.h src/gdevpdfd.c src/devs.mak src/gxshade6.c]

2005-02-08T15:57:44.000000Z Igor Melichev

ps2write : Allow image compression.

EXPECTED DIFFERENCES :

None.
3

[lib/ps2write.bat]

2005-02-07T06:38:02.000000Z Dan Coby

Fix for 687849 Unrecoverable error, converting PDF to TIF.  Igor determined
that the file has a problem that that causes the XREF rebuilding logic to
be invoked and that object 74 0 was not being found.  With this fix, we are
able to rebuild the file.

DETAILS:

The XREF rebuild logic uses a working string while searching for objects.
Object 74 0 was not being found because it is larger than the working
string.  This fix increases the working string size to 65535 bytes (the
maximum size for a string).

[lib/pdf_rbld.ps]

2005-02-06T21:32:40.000000Z Ray Johnston

Update the currentpoint after processing invisible text. BUg 687860.

DETAILS:

This could be more efficient, but invisible text is not assumed to be
very performance sensitive. I tested the bugs related to this one
(see the bug report) and this patch still works for those.

Expected Differences:

None.

[lib/pdf_ops.ps]

2005-02-03T05:40:50.000000Z Ray Johnston

Fix for miterlimit value that is smaller than PostScript PLRM allows.
Bug 687895. Somewhat based on patch from Alex Cherepanov.

DETAILS:

The patch from Alex issued a pdfformaterror *** Warning but reading the
PDF specification, the minimum value of 1 given in the PostScript ref
manual is NOT stated, so we clamp the value to a lower bound of 1 silently.

[lib/pdf_draw.ps]

2005-01-31T15:39:37.000000Z Ray Johnston

Some dependencies were missing that caused the build to fail when a subset
of DEVICE_DEVS were included. Specifically, zlib and the 'display' device
were problems. Bug 687920 for customer #580.

DETAILS:

Apparently the needed modules for zlib have changed, but when a 'png'
device was included, the crc32 module was included anyway.

The display device didn't include several dependencies for the new DeviceN
and Spot Color support: gdevdevn.obj gsequivc.obj gdevdcrd.obj

[src/zlib.mak src/devs.mak]

2005-01-31T03:08:44.000000Z Igor Melichev

Implementing a conversion of a shading to a raster image for high level devices (continued).

DETAILS :

1. In pdf_copy_color_data, allowed the new value 2 for the parameter for_pattern.
In this case non-lossless filters are allowed.

2. In gdev_pdf_fill_path, fixed the grouping of clip paths for all
meshes|patches of a shading.

3. In gdev_pdf_fill_path, used the shading BBox to minimize
the size of the raster image.

4. In gdevpdfp.c allowed CompatibilityLevel=1.1 .
Now this is done mainly for debug purpose,
but likely we'll use it in ps2write when the target doesn't handle TT fonts.

5. The new function gx_dc_pattern2_get_bbox works for (3).

6. The function shade_bbox_transform2fixed has been renamed into
gx_dc_pattern2_shade_bbox_transform2fixed with making its scope bigger
to work for (5). It has been moved into gsptype2.c,
which is mode fundamental than gxshade.c .
The following changes happened due to that : gsptype2.c, gsptype2.h,
gsshade.c, gxshade.c, gxshade1.c, gxshade4.c.
We would like to do more cleanup with replacing it with
gx_dc_pattern2_get_bbox, but currently we delay that to simplify this patch.

7. Introduced a new field patch_curve_t::straight to know whether a patch
boundary is a straight line. patch_fill uses it when passing the
shading coverage area.

8. mesh_triangle now passes the coverage area.
An auxiliary function mesh_triangle_rec is factored out for that.

9. patch_fill checks for self-overlapoped patches
and prints a warning is the patch appears suspicious.
Comments in patch_fill about that have been improved.

10. patch_fill and mesh_triangle check the sign odf the coverage area,
and change the contour direction for making all contours be positive.
This works for proper clipping.

11. Fixed compressed streams in opdfread.ps .

EXPECTED DIFFERENCES :

None.

[src/gxshade4.h src/lib.mak src/gsptype2.c src/gsshade.c src/gdevpdfp.c src/gdevpdfb.c src/gsptype2.h src/gxshade.c src/gdevpdfd.c lib/opdfread.ps src/gxshade1.c src/gxshade4.c src/gxshade.h src/gxshade6.c]

2005-01-31T02:02:58.000000Z Igor Melichev

Fix (pdfwrite) : Improving the check for a degenerate curve.

DETAILS :

This is a minor optimization for the case when a curve degenerates to a dot.
The old code converted it into the PDF instruction 'y', which looks uneven.

EXPECTED DIFFERENCES :

pdfwrite :
"Openhuis_pdf_zw.pdf"

[src/gdevpsdu.c]

2005-01-30T23:49:27.000000Z Igor Melichev

A new implementation of shadings, step 88.

DETAILS :

The function is_bended could give a wrong result (false instead true) when
the first vector product is zero. This could cause insufficient subdivision.

EXPECTED DIFFERENCES :

normal, 72dpi :

"442-01.ps"
"446-01-fixed.ps"
"483-05-fixed.ps"

normal, 300dpi :

"442-01.ps"

pdfwrite 72dpi :

"442-01.ps"

normal 300dpi :

"442-01.ps"

[src/gxshade6.c]

2005-01-30T20:59:05.000000Z Igor Melichev

Fix (pdfwrite) : Uninitialized variables when applying LZWEncode.

DETAILS :

Normally pdfwrite doesn't apply LZWEncode since it prefers FlateEncode.
Meanwhile ps2write needs LZWEncode, and we found unitialized variables in there.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c]

2005-01-28T19:11:07.000000Z Igor Melichev

Implementing a convertion of a shading to a raster image for high level devices.

DETAILS :

If a high level device can't handle a shading,
it is being converted to a raster image.

This patch implements it only in OrderResources mode.
A generalization to "normal" mode will be done in a separate patch.

The generated bitmap sometimes appears too big since it
doesn't accout a bbox of a real shading coverage.
An optimization is coming soon.

1.The device virtual function pattern_manage now handles
a new request pattern_manage__shading_area.
If it returns 1, the graphics library will pass
the shading area as a special call to fill_path,
with passing NULL images\r state and NULL clipping path.
Such call immediately follows pattern_manage(...., pattern_manage__shading_area).
Currently it goes only to a special converter device (see below),
other devices and the default implementation return 0
for pattern_manage(...., pattern_manage__shading_area).

2. A new local type pdf_lcvd_t implements a subclass for
memory device, which is used especially for converting shadings
to raster image. It is defined locally in pdfwrite.
The subcalss redefines 4 device methods :

2.1. fill_rectangle with shifting the device space.
It is used to mapo the shading and its paths to the image coordinate system.

2.2. get_clipping_box returns the target clipping box,
to deceive a cut-off condition in the shading algorythm.

2.3. pattern_manage returns 1 for pattern_manage__shading_area.

2.4. fill_path is used only for handling the shading area.
It sets a clipping when instantiating the bitmap.

3. gdev_pdf_fill_path implements the convertion with (2).

4. gs_shading_fill_path doesn't set up a clipper device
when it works with the shading convertion device.
Instead that the clipping path is being passed through (2.4).

5,. patch_fill in gxshade6.c checks if the devices needs the
shading area, and if so, passes the area throuhg the special call to
fill_path.

EXPECTED DIFFERENCES :

None.

[src/gsshade.c src/gdevpdfb.c src/gx.h src/gdevpdfd.c src/devs.mak src/gdevvec.h src/gdevpdfi.c src/gxshade6.c src/gxdevcli.h src/gdevpdfg.h]

2005-01-28T18:51:32.000000Z stefan

fix memory leak for indexed color space data when banding.

In gxclrast.c::clist_playback_band()
color_space.params.indexed.lookup.table.data
leaked on a per band basis.  table.size indicates allocated memory
which is freed at the end of the routine.
The reallocate case when multiple colorspaces are used per band was
correctly handled.

Using a more descriptive client name of "color_space indexed table".

[src/gxclrast.c]

2005-01-28T18:11:05.000000Z Igor Melichev

Fix : gx_forward_pattern_manage missed a return code.

EXPECTED DIFFERENCES :

None.

[src/gdevnfwd.c]

2005-01-26T18:48:58.000000Z Raph Levien

Fix: Resolve indirect object references in Widths array. Fixes bug
#687906.

[lib/pdf_font.ps]

2005-01-26T16:39:57.000000Z Jack Moffitt

Fix update_specific so that it gets the correct parameters for pdfwrite
testing.  It was previously using the superset of raster parameters.

[toolbin/tests/update_specific]

2005-01-25T22:22:28.000000Z Igor Melichev

(pdfwrite) : Don't skip white color while painting a pattern (continued 2).

DETAILS :

This change is important for ps2write only.
It is algorithmically equivalent for other invocations.

1. The patch http://ghostscript.com/pipermail/gs-cvs/2005-January/005163.html
broke the OrderResources mode. Fixed in gdevpdfu.c .
This is another fix to that.

2. Removed the hack about writing non-eexec fonts
because PDF specification doesn't allow it.
Rather ps2write can handle them, we use a PDF viewer
to debug the writer.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtb.c src/gdevpdfu.c]

2005-01-25T21:23:01.000000Z Igor Melichev

Fix (PDF interpreter) : A minor change for fixing the repository consistency.

DETAILS :

A wrong revision of pdf_font.ps was committed by error and then removed.
This minor change in a space provides a right repository synchronization.

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps]

2005-01-25T20:40:38.000000Z Ray Johnston

Fix for an infinite loop in a PDF file that uses Patterns. Bug 687802
for customer #850.

DETAILS:

The problem was that the DefaultQstate used when making a Pattern
was the device *BEFORE* the pdf14 device filter was inserted as
the device. If the underlying device had a different 'depth' than
the PDF14 device, the pattern cache lookup would always fail which
would then cause the fill to return e_RemapColor and perform the
PaintProc again. The 'depth' comparison is in gsptype1.c in the
gx_pattern_cache_lookup	function.

The fix is to set the DefaultQstate *AFTER* the pushpdf14devicefilter
is performed (and of course also reset it after popdevicefilter
is done).

Expected Differences:

None (we didn't have any regression tests that use Patterns in pages
with transparency). In fact, we only had two pages with ANY transparency:
ai2.pdf and dina3_watermark.pdf.

[lib/pdf_main.ps]

2005-01-25T20:28:06.000000Z Igor Melichev

ps2write : Improving the output file structure (continued).

DETAILS :

Removed a debug option that was added unintentionally.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-01-25T18:39:18.000000Z Igor Melichev

ps2write : Improving the output file structure (continued).

DETAILS :

Removed a debug option that was added unintentionally.

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat]

2005-01-25T18:33:38.000000Z Igor Melichev

ps2write : Improving the output file structure.

DETAILS :

1. Merge opdfread.ps and opdferrh.ps .
2. Fix a header commant in opdfread.
3. Remove opdferrh.ps from ps2write.bat and from documentation.
4. Change the documentation since ps2write is not a "device".

EXPECTED DIFFERENCES :

None.

[lib/ps2write.bat lib/opdfread.ps lib/opdfrerh.ps doc/Psfiles.htm]

2005-01-25T18:26:51.000000Z Igor Melichev

(pdfwrite) : Don't skip white color while painting a pattern (continued).

DETAILS :

1. The patch http://ghostscript.com/pipermail/gs-cvs/2005-January/005163.html
broke the OrderResources mode. Fixed in gdevpdfu.c .
2. Error codes were wrongly propagated in gdevpdfd.c .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c src/gdevpdfu.c]

2005-01-25T11:18:42.000000Z Igor Melichev

Fix (the filling algorithm) : Drpouts could appear at Y-extremes of the path.

DETAILS :

Bug 687717 "Dropouts at Y-extremes when filling a path".

EXPECTED DIFFERENCES :

Normal, 72pdi :

"0.pdf"
"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"017-01.ps"
"020-01.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"031-01.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"036-01.ps"
"039-01.ps"
"045-01.ps"
"083-01.ps"
"083-05.ps"
"083-09.ps"
"083-13.ps"
"104-01.ps"
"109-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"136-01.ps"
"148-16.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"165-01.ps"
"169-01.ps"
"169-05.ps"
"169-09.ps"
"169-13.ps"
"176-01.ps"
"181-01.ps"
"192-01.ps"
"1_2001.pdf"
"1_pct_50_bang.pdf"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"220-01.ps"
"220-07.ps"
"222-01.ps"
"222-05.ps"
"222-09.ps"
"222-13.ps"
"223-01.ps"
"226-01.ps"
"244-01.ps"
"245-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"250-01.ps"
"251-01.ps"
"255-01.ps"
"258-01.ps"
"260-01.ps"
"264-01.ps"
"269-01.ps"
"270-01.ps"
"281-01.ps"
"289-01.ps"
"297-01.ps"
"303-01.ps"
"307-01.ps"
"307-07.ps"
"308-04.ps"
"311-03.ps"
"316-07.ps"
"320-01.ps"
"335-01.ps"
"336-01.ps"
"446-01-fixed.ps"
"455690.pdf"
"687572.pdf"
"86554321.pdf"
"a.pdf"
"adesso1.pdf"
"adesso6.pdf"
"adesso8.pdf"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Measure_1v1.pdf"
"Altona_Technical_1v1_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"BEST8-99-Path.fh7.pdf"
"besttest.pdf"
"budget2.pdf"
"budget2_ai87.pdf"
"Bug1344.ps"
"Bug687044.ps"
"Bug687207.ps"
"Bug687396.ps"
"Bug687546.ps"
"Bug687603.pdf"
"Bug687603.ps"
"Bug687660.ps"
"Bug687660a.ps"
"Bug687698.ps"
"Bug687724.pdf"
"Bug687812.ps"
"Bug687828.pdf"
"Bug687840.pdf"
"bugsample.pdf"
"BW0696FOLD1FRONT.pdf"
"ca.pdf"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"
"colorcir.ps"
"DisplayedGood.pdf"
"DisplayedWrong.pdf"
"escher.ps"
"file2.pdf"
"golfer.eps"
"gs.anotherfailure.pdf"
"gs5.98-dragon.pdf"
"gs6.0-dragon.pdf"
"gslandscape.pdf"
"H00216q.pdf"
"InstandardBuildChar.ps"
"john_clippedimage.pdf"
"knight.pdf"
"LMG-40-7161-RU-DUC-01.pdf"
"messenger.pdf"
"messenger16.pdf"
"motor.pdf"
"muur.eps"
"Openhuis_pdf_zw.pdf"
"Page01.pdf"
"PixelisAd.pdf"
"probe3.pdf"
"PT.ps"
"ridt91.eps"
"RodinCIDEmbed.pdf"
"S2_Digitalproof-Forum_circles.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"shading_prob_800.ps"
"si_tg_brochure.pdf"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"
"test.pdf"
"tiger.eps"
"time1.pdf"
"type3xshow.eps"
"unihaken-color.pdf"
"vasarely.ps"
"vsem0093.pdf"


Normal, 300dpi :

"0.pdf"
"001-13.ps"
"002-09.ps"
"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"017-01.ps"
"01_001.pdf"
"020-01.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"027-13.ps"
"031-01.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"035-07.ps"
"036-01.ps"
"039-01.ps"
"045-01.ps"
"083-01.ps"
"083-05.ps"
"083-09.ps"
"083-13.ps"
"102-01.ps"
"103-01.ps"
"104-01.ps"
"109-01.ps"
"118-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"136-01.ps"
"148-16.ps"
"149-05.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"165-01.ps"
"169-01.ps"
"169-05.ps"
"169-09.ps"
"169-13.ps"
"175-01.ps"
"176-01.ps"
"181-01.ps"
"192-01.ps"
"1_2001.pdf"
"1_pct_50_bang.pdf"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"220-01.ps"
"220-07.ps"
"222-01.ps"
"222-05.ps"
"222-09.ps"
"222-13.ps"
"223-01.ps"
"226-01.ps"
"231-01.ps"
"237-01.ps"
"244-01.ps"
"245-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"250-01.ps"
"251-01.ps"
"255-01.ps"
"257-01.ps"
"258-01.ps"
"260-01.ps"
"264-01.ps"
"269-01.ps"
"270-01.ps"
"281-01.ps"
"289-01.ps"
"297-01.ps"
"298-01.ps"
"298-05.ps"
"298-09.ps"
"303-01.ps"
"307-01.ps"
"307-07.ps"
"308-04.ps"
"310-04.ps"
"311-03.ps"
"316-07.ps"
"320-01.ps"
"321-01.ps"
"321-05.ps"
"321-09.ps"
"321-13.ps"
"327-01.ps"
"334-01.ps"
"335-01.ps"
"336-01.ps"
"442-01.ps"
"446-01-fixed.ps"
"687572.pdf"
"86554321.pdf"
"a.pdf"
"adesso8.pdf"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Measure_1v1.pdf"
"Altona_Technical_1v1_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"BEST8-99-Path.fh7.pdf"
"besttest.pdf"
"budget2.pdf"
"budget2_ai87.pdf"
"Bug1344.ps"
"Bug687044.ps"
"Bug687207.ps"
"Bug687396.ps"
"Bug687472.ps"
"Bug687489.ps"
"Bug687546.ps"
"Bug687598.ps"
"Bug687603.pdf"
"Bug687603.ps"
"Bug687660.ps"
"Bug687660a.ps"
"Bug687698.ps"
"Bug687724.pdf"
"Bug687812.ps"
"Bug687828.pdf"
"Bug687832.pdf"
"Bug687840.pdf"
"bugsample.pdf"
"bulletin.pdf"
"BW0696FOLD1FRONT.pdf"
"ca.pdf"
"CAT_LOGO.ps"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"
"colorcir.ps"
"DisplayedGood.pdf"
"DisplayedWrong.pdf"
"doretree.ps"
"Es001-01.pdf"
"escher.ps"
"file.pdf"
"file2.pdf"
"Fixed_Original.pdf"
"golfer.eps"
"gs.anotherfailure.pdf"
"gs5.98-dragon.pdf"
"gs6.0-dragon.pdf"
"H00216q.pdf"
"InstandardBuildChar.ps"
"john_clippedimage.pdf"
"knight.pdf"
"LMG-40-7161-RU-DUC-01.pdf"
"messenger.pdf"
"messenger16.pdf"
"motor.pdf"
"mspro.pdf"
"muur.eps"
"non-sepqxd2distiller.pdf"
"Openhuis_pdf_zw.pdf"
"Original.pdf"
"p2b-100.pdf"
"Page01.pdf"
"PixelisAd.pdf"
"probe3.pdf"
"PT.ps"
"QA_Inv.pdf"
"ridt91.eps"
"RodinCIDEmbed.pdf"
"rotate0.pdf"
"rotate180.pdf"
"rotate270.pdf"
"rotate90.pdf"
"S2_Digitalproof-Forum_circles.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"shading_prob_800.ps"
"si_tg_brochure.pdf"
"SmoothShading.pdf"
"Svd.pdf"
"test.pdf"
"tiger.eps"
"time1.pdf"
"Type3stringwidth.ps"
"type3xshow.eps"
"unihaken-color.pdf"
"UnusualFontMatrix.ps"
"vasarely.ps"
"vsem0093.pdf"

pdfwrite,72dpi :

"0.pdf"
"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"017-01.ps"
"01_001.pdf"
"020-01.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"031-01.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"039-01.ps"
"045-01.ps"
"083-01.ps"
"083-05.ps"
"083-09.ps"
"083-13.ps"
"093-01.ps"
"103-01.ps"
"104-01.ps"
"109-01.ps"
"118-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"136-01.ps"
"148-16.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"165-01.ps"
"169-01.ps"
"169-05.ps"
"169-09.ps"
"169-13.ps"
"176-01.ps"
"181-01.ps"
"192-01.ps"
"1_2001.pdf"
"1_pct_50_bang.pdf"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"220-01.ps"
"220-07.ps"
"222-01.ps"
"222-05.ps"
"222-09.ps"
"222-13.ps"
"223-01.ps"
"226-01.ps"
"237-01.ps"
"244-01.ps"
"245-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"250-01.ps"
"251-01.ps"
"255-01.ps"
"258-01.ps"
"260-01.ps"
"264-01.ps"
"269-01.ps"
"270-01.ps"
"281-01.ps"
"297-01.ps"
"303-01.ps"
"307-01.ps"
"307-07.ps"
"308-04.ps"
"311-03.ps"
"316-07.ps"
"320-01.ps"
"335-01.ps"
"336-01.ps"
"446-01-fixed.ps"
"455690.pdf"
"687572.pdf"
"86554321.pdf"
"a.pdf"
"adesso1.pdf"
"adesso6.pdf"
"adesso8.pdf"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Measure_1v1.pdf"
"Altona_Technical_1v1_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"annots.pdf"
"BEST8-99-Path.fh7.pdf"
"besttest.pdf"
"budget2.pdf"
"budget2_ai87.pdf"
"Bug1344.ps"
"Bug687044.ps"
"Bug687207.ps"
"Bug687396.ps"
"Bug687546.ps"
"Bug687603.pdf"
"Bug687603.ps"
"Bug687660.ps"
"Bug687660a.ps"
"Bug687698.ps"
"Bug687724.pdf"
"Bug687812.ps"
"Bug687828.pdf"
"Bug687832.pdf"
"Bug687840.pdf"
"bugsample.pdf"
"bulletin.pdf"
"BW0696FOLD1FRONT.pdf"
"ca.pdf"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"
"colorcir.ps"
"DisplayedGood.pdf"
"DisplayedWrong.pdf"
"escher.ps"
"file2.pdf"
"golfer.eps"
"gs.anotherfailure.pdf"
"gs5.98-dragon.pdf"
"gs6.0-dragon.pdf"
"gslandscape.pdf"
"GS_Stroke_error.pdf"
"H00216q.pdf"
"InstandardBuildChar.ps"
"john_clippedimage.pdf"
"knight.pdf"
"LMG-40-7161-RU-DUC-01.pdf"
"messenger.pdf"
"messenger16.pdf"
"motor.pdf"
"mspro.pdf"
"muur.eps"
"Openhuis_pdf_zw.pdf"
"Page01.pdf"
"PixelisAd.pdf"
"probe3.pdf"
"PT.ps"
"RodinCIDEmbed.pdf"
"rotate180.pdf"
"S2_Digitalproof-Forum_circles.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"shading_prob_800.ps"
"si_tg_brochure.pdf"
"SmoothShading.pdf"
"test.pdf"
"tiger.eps"
"time1.pdf"
"type3xshow.eps"
"unihaken-color.pdf"
"vasarely.ps"
"vsem0093.pdf"

pdfwrite 300dpi:

"0.pdf"
"001-13.ps"
"002-09.ps"
"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"017-01.ps"
"01_001.pdf"
"020-01.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"027-13.ps"
"031-01.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"035-07.ps"
"036-01.ps"
"039-01.ps"
"045-01.ps"
"083-01.ps"
"083-05.ps"
"083-09.ps"
"083-13.ps"
"093-01.ps"
"102-01.ps"
"103-01.ps"
"104-01.ps"
"109-01.ps"
"118-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"136-01.ps"
"148-16.ps"
"149-05.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"165-01.ps"
"169-01.ps"
"169-05.ps"
"169-09.ps"
"169-13.ps"
"175-01.ps"
"176-01.ps"
"181-01.ps"
"192-01.ps"
"1_2001.pdf"
"1_pct_50_bang.pdf"
"205-01.ps"
"205-05.ps"
"205-09.ps"
"205-13.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"220-01.ps"
"220-07.ps"
"222-01.ps"
"222-05.ps"
"222-09.ps"
"222-13.ps"
"223-01.ps"
"226-01.ps"
"231-01.ps"
"237-01.ps"
"244-01.ps"
"245-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"250-01.ps"
"251-01.ps"
"255-01.ps"
"257-01.ps"
"258-01.ps"
"260-01.ps"
"264-01.ps"
"269-01.ps"
"270-01.ps"
"281-01.ps"
"297-01.ps"
"298-01.ps"
"298-05.ps"
"298-09.ps"
"303-01.ps"
"307-01.ps"
"307-07.ps"
"308-04.ps"
"310-04.ps"
"311-03.ps"
"316-07.ps"
"320-01.ps"
"321-01.ps"
"321-05.ps"
"321-09.ps"
"321-13.ps"
"327-01.ps"
"334-01.ps"
"335-01.ps"
"336-01.ps"
"442-01.ps"
"446-01-fixed.ps"
"483-05-fixed.ps"
"687572.pdf"
"86554321.pdf"
"a.pdf"
"adesso1.pdf"
"adesso7.pdf"
"adesso8.pdf"
"Altona-Testsuite_p2_S_x3.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Measure_1v1.pdf"
"Altona_Technical_1v1_x3.pdf"
"Altona_Visual_bb_1v1_x3.pdf"
"Altona_Visual_sb_1v1_x3.pdf"
"BEST8-99-Path.fh7.pdf"
"besttest.pdf"
"budget2.pdf"
"budget2_ai87.pdf"
"Bug1344.ps"
"Bug687044.ps"
"Bug687207.ps"
"Bug687396.ps"
"Bug687472.ps"
"Bug687489.ps"
"Bug687546.ps"
"Bug687598.ps"
"Bug687603.pdf"
"Bug687603.ps"
"Bug687660.ps"
"Bug687660a.ps"
"Bug687698.ps"
"Bug687724.pdf"
"Bug687812.ps"
"Bug687828.pdf"
"Bug687832.pdf"
"Bug687840.pdf"
"bugsample.pdf"
"bulletin.pdf"
"BW0696FOLD1FRONT.pdf"
"ca.pdf"
"CAT_LOGO.ps"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"
"colorcir.ps"
"DisplayedGood.pdf"
"DisplayedWrong.pdf"
"doretree.ps"
"Es001-01.pdf"
"escher.ps"
"file.pdf"
"file2.pdf"
"Fixed_Original.pdf"
"golfer.eps"
"gs.anotherfailure.pdf"
"gs5.98-dragon.pdf"
"gs6.0-dragon.pdf"
"GS_Stroke_error.pdf"
"H00216q.pdf"
"InstandardBuildChar.ps"
"john_clippedimage.pdf"
"knight.pdf"
"LMG-40-7161-RU-DUC-01.pdf"
"messenger.pdf"
"messenger16.pdf"
"motor.pdf"
"mspro.pdf"
"muur.eps"
"ngnews.pdf"
"ngnews1.pdf"
"non-sepqxd2distiller.pdf"
"Openhuis_pdf_zw.pdf"
"Original.pdf"
"p2b-100.pdf"
"Page01.pdf"
"PixelisAd.pdf"
"probe3.pdf"
"PT.ps"
"QA_Inv.pdf"
"RodinCIDEmbed.pdf"
"rotate0.pdf"
"rotate180.pdf"
"rotate270.pdf"
"rotate90.pdf"
"S2_Digitalproof-Forum_circles.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"shading_prob_800.ps"
"si_tg_brochure.pdf"
"SmoothShading.pdf"
"Svd.pdf"
"test.pdf"
"test3.pdf"
"tiger.eps"
"time1.pdf"
"Type3stringwidth.ps"
"type3xshow.eps"
"unihaken-color.pdf"
"UnusualFontMatrix.ps"
"vasarely.ps"
"vsem0093.pdf"
"xngnews.pdf"

[src/gxfilltr.h src/gxfill.c]

2005-01-25T01:19:34.000000Z Ralph Giles

Always rebuild the jasper autoconf header when configure is run to prevent
the persistence of stale versions. Closes bug 687852.

[src/configure.ac]

2005-01-24T16:03:40.000000Z Igor Melichev

Fix (pdfwrite) : Register charproc XObjects with a page (continued);

DETAILS :

Fixing cygwin/gcc warnings in the last patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c src/gdevpdtx.h src/gdevpdfg.h]

2005-01-24T15:37:48.000000Z Igor Melichev

Fix (pdfwrite) : Register charproc XObjects with a page.

DETAILS :

If an XObject is uzed in a charproc,
it has to be added to the page resource list.

Bug 687894 "Wrong handling of Type 3 fonts (?)"

Generalized pdf_font_resource_t::used_fonts, pdf_register_charproc_font and
pdf_used_charproc_fonts for any resource type.

EXPECTED DIFFERENCES :

None.

[src/gdevpdts.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtf.h src/gdevpdfj.c src/gdevpdtx.h]

2005-01-24T12:19:15.000000Z Igor Melichev

Fix (pdfwrite) : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdte.c]

2005-01-24T12:00:41.000000Z Igor Melichev

Define more CMap resources.

DETAILS :

Adding more 4 redistributable Adobe CMaps.

EXPECTED DIFFERENCES :

None.

[Resource/CMap/Adobe-GB1-4 Resource/CMap/Adobe-Japan1-4 Resource/CMap/Adobe-Korea1-2 Resource/CMap/Adobe-CNS1-3]

2005-01-20T05:10:06.000000Z Dan Coby

Add switch -dNO_TN5044 to disable the TN 5044 pusedo operators.  These
operators are needed from some QuarkXpress files but cause probems with
some Illustrator 88 and Corel 9 files.  Also add documentation to Use.htm.
This is part of bug 687884.

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

2005-01-20T00:26:06.000000Z Ray Johnston

Add the "Identity-" CMaps to the decode list.

[lib/gs_ciddc.ps]

2005-01-20T00:21:59.000000Z Ralph Giles

Correct a comment typo.

[src/sjbig2.h]

2005-01-19T00:24:07.000000Z Dan Coby

Fix for 687897 There are still devices not switched to new API.
This change implements the DeviceN color related changes in the device
API four these four source files.  These devices are not normally part of
the Ghostscript build but they are present in the GS sources.

[src/gdevccr.c src/gdevcp50.c src/gdevifno.c src/gdevmgr.c]

2005-01-17T17:36:24.000000Z Ralph Giles

Add new files to the documentation listing.

[doc/Develop.htm doc/Psfiles.htm]

2005-01-17T14:58:31.000000Z Igor Melichev

(pdfwrite) : Don't skip white color while painting a pattern.

DETAILS :

Bug 687890 "pattern misconverted".

1. Don't skip white color while painting a pattern (gdevpdfd.c).

2. The "%PDF-" file tag was erroneusely written into the pattern stream (gdevpdfu.c).

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c src/gdevpdfu.c]

2005-01-13T17:07:02.000000Z Igor Melichev

(ps2write) : Convert unsupported font types into bitmap fonts (continued).

DETAILS :

This patch is a part of ps2write project.
It has no effect with "usual" invocation of Ghostscript.

1. A code for setting the device parameter HaveCIDSystem was missed from the last patch.
Adding it now.

2. Replace a magic constant with a meanful name psdf_version_ll3.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfp.c src/gdevpsdf.h]

2005-01-13T16:58:07.000000Z Igor Melichev

(ps2write) : Convert unsupported font types into bitmap fonts.

DETAILS :

This patch is a part of ps2write project.
It has no effect with "usual" invocation of Ghostscript.

1. If the target device doesn't support Postscript version 2010,
convert Type 42 fonts into bitmap fonts.

2. Ever convert Type1C into bitmaps since Postscript
level 2 can't handle Type 2 charstrings.

3. Convert CIDFontType0 into bitmap if the target device has no
CID system installed or the font has Type 2 subfonts.

4. Convert CIDFontType2 into bitmap if the target device has no
CID system installed or it doesn't support Postscript version 2010.

5. A new device parameter HaveCIDSystem is defined to the pdfwrite device
to provide information for (3), (4).

A new function gs_cid0_has_type2 is defined to implement (3).

Also fixed a header comment gs_cid0_indexed_font, which was entirely wrong.

EXPECTED DIFFERENCES :

None.

[src/gsfcid.c src/gdevpdtt.c src/gdevpsdf.h src/gxfcid.h]

2005-01-13T12:26:35.000000Z Igor Melichev

(ps2write) : Require lesser encoding resources.

DETAILS :

This patch is a part of ps2write project.
It has no effect with "usual" invocation of Ghostscript.

1. Defined a new device parameter PSVersion to the pdfwrite device.
   It is being ignored without OrderResources.
   Reserved for future development.

2. pdf_refine_encoding_index allows lesser encodings with OrderResources.

3. MacRomanEncoding and MacGlyphEncoding are still needed for True Type fonts.
Their access has been simplified in lib/opdfread.ps, lib/opdfrerh.ps .

4. Created gs/lib/ps2write.bat to simplify the further maintenance
   of the file list to be concatenated.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfp.c src/gdevpdtt.c lib/ps2write.bat lib/opdfread.ps src/gdevpsdf.h lib/opdfrerh.ps]

2005-01-12T18:46:17.000000Z Ralph Giles

Update broken Adobe documentation links. Closes bug 687892.

[doc/Use.htm doc/Readme.htm doc/Ps2pdf.htm doc/Ps2epsi.htm]

2005-01-12T18:02:28.000000Z Ralph Giles

Correct a typo in the installation file list. Closes bug 687891.

[src/unixinst.mak]

2005-01-12T10:23:29.000000Z Igor Melichev

(ps2write) : Provide a compatibility to Adobe CPSI.

DETAILS :

This patch is a part of ps2write project.
It has no effect with "regular" invocation.

1. Defined an error handler and necessary GS-specific operators in a new file opdfrerh.ps .
2. Defined the missed debug switch TTFDEBUG.
3. Defined a debug printing 'printdict', 'printfont'.
4. Fixed an unconformity in FunctionToProc4 with 'run'.
5. Fixed an unconformity: encoding must not be packed arrays ('packedarray' in opdfrerh.ps).

A minor massive change : inserted a space between '=' to
distinguish temporary and permanent debug printing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps lib/opdfrerh.ps]

2005-01-12T10:09:36.000000Z Igor Melichev

Fix (pdfwrite) : Wrong options were passed to psf_write_type1_font.

DETAILS :

This patch is a part of ps2write project.
It has no effect with "regular" invocation (when OrderResources=false).

EXPECTED DIFFERENCES :

None.

[src/gdevpdtb.c]

2005-01-11T12:34:46.000000Z Igor Melichev

[Log message beg]
Fix : Unimplemented CIDFont feature with a Type 3 font descendent (continued).

DETAILS :

This is a partial fix for the bug 687875
"pdfwrite : Type 0 FMapType 9 font with a Type 3 descendent converts to bitmaps".

The old code created two fonts and duplicated the text.
With this path the font still converts to bitmaps,
but the text duplication is fixed.

EXPECTED DIFFERENCES :

pdfwrite Bug687845.ps

[src/gdevpdtt.c]

2005-01-10T14:54:53.000000Z Alex Cherepanov

Ignore / as a name of BaseEncoding; recover broken PDF files generated 
by J.D.Edwards OneWorld (B7333).
Fix bug 687786 from customer 220.

[lib/pdf_font.ps]

2005-01-10T14:33:54.000000Z Igor Melichev

Fix (the new filling algorithm) : Prevent painting outside the clipping box.

DETAILS :

Bug 687872 "access violation in GS 8.50".

When a trapesoid degenerates to a rectangle,
the old code wrongly truncated it with the clipping box.

Minor change : Moved ybot, ytop definitions closer to their usage.

Due to another known bug 687717, this patch may sometimes cause a regression,
which looks as another missed pixel at a path's Y extreme.
Such regression, when it appears with this patch,
to be considered as a part of the problem 687717.
Expected differences are such cases.

EXPECTED DIFFERENCES :

Normal, 300 dpi :

"Clarke Tate Manns Chinese.ai"
"doretree.ps"
"gs5.98-dragon.pdf"
"gs6.0-dragon.pdf"
"QA_Inv.pdf"
"shading_prob_800.ps"

pdfwrite 300 dpi :

"doretree.ps"
"gs5.98-dragon.pdf"
"gs6.0-dragon.pdf"
"QA_Inv.pdf"

[src/gxfilltr.h]

2005-01-10T11:32:06.000000Z Igor Melichev

Fix : CDevProc|Metrics|Metrics2 did not work with CIDFontType 0 (continued 2).

DETAILS :

Bug 687832 (PDF interpreter) : CID Font in PDF

The CDevProc output was transformed with w CID font leaf's FontMatrix.
See comment in code.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c]

2005-01-06T17:45:45.000000Z Ray Johnston

Fix for possibly non-compliant PDF where the /DecodeParms for a stream is
an array, but the /F consists of a single filter name. Bug 687861 for
customer 700.

[lib/pdf_base.ps]

2004-12-25T10:49:23.000000Z Alex Cherepanov

Search the whole PDF file for the last occurrence of %%EOF string starting
from the last 1024 bytes. Following Acrobat example, accept invalid PDF files
that have large number of junk bytes at the end.
Fix bug 687474 from customer 580.

[lib/pdf_main.ps]

2004-12-23T23:48:59.000000Z Igor Melichev

Fix : CDevProc|Metrics|Metrics2 did not work with CIDFontType 0 (continued).

DETAILS :

Bug 687846 "parenthesis misplaced and text strings too long with vertical text".
The bug title is mosleading - actually all glyphs were shifted,
but parenthesis were shifted in another direction due to a different WMode.

We didn't pass actual glyph width to CDevProc when
use_FontBBox_as_Metrics2 is true - see the patch.
I reacll that I wrote this portion of code from scratch 3 years ago.
Our test base did not include test cases for it.
Now we got one.

EXPECTED DIFFERENCES :

None.

[src/zchar1.c]

2004-12-22T18:52:23.000000Z Igor Melichev

Fix : Unimplemented CIDFont feature with a Type 3 font descendent.

DETAILS :

Bug 645316 Quark EPS file with CID fonts
Bug 687845 text doesn't appear from embedded japanese font
Bug 687847 text missing from CIDFont

From PLRM3 section 5.11 page 389 :

Under special conditions, a CID can be used when the descendant is a Type 3
base font. The font's BuildGlyph or BuildChar procedure is invoked to render a
character whose code is the last byte originally extracted from the show string.
If this procedure executes setfont to establish a CIDFont as the current font
and then executes a show operation on a string consisting of just that character
code, the code is ignored; instead, the CID determined by the earlier CMap
mapping is used to look up the glyph in the CIDFont. This special case exists
for compatibility with applications that substitute Type 3 fonts for base fonts
in a composite font hierarchy to achieve certain special effects.

This patch fixes the PS interpreter,
but pdfwrite processing needs a separate improvement,
which is described in the new bug 687875.

EXPECTED DIFFERENCES :

None.

[src/gstext.c src/int.mak src/zchar.c src/gxtext.h]

2004-12-21T20:13:41.000000Z Igor Melichev

Fix (TT interpreter) : Provide a tolerance to the FDef array overflow.

DETAILS :

Bug 687858  /invalidfont in --charpath--.
A buggy TT fopnt defines more functions than the max profile specifies.

EXPECTED DIFFERENCES :

None.

[src/ttobjs.c]

2004-12-21T11:27:27.000000Z Igor Melichev

Fix (PDF interpreter) : The interpretation must not depend on the font subset prefix.

DETAILS :

Bug 687856 "PDF interpretation depends on the font subset prefix.".

1. Remaned pdfcachefont into pdffindcachedfont for a better reflection of its function.
2. Defined pdfaddcachedfont.
3. Used it immediately when an embedded font is loaded.
4. Added a comment to code. See it for more details.

EXPECTED DIFFERENCES :

pdfwrite tpc2.ps

[lib/pdf_font.ps]

2004-12-21T08:53:28.000000Z Igor Melichev

Fix (pdfwrite) : Propagate error code from setup_image_compression.

DETAILS :

Bug 687854 "-dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode" doesn't work .

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c]

2004-12-20T22:35:07.000000Z Igor Melichev

Fix : Targets gconfxx.h and ld.tr had an incorrect dependence in the makefile.

DETAILS :

Bug 687059 "Re-building a ready gswin32.exe".

The old rule

 $(ld_tr) : $(gconfig_h)

wrongly established a dependence opposite to the file modification order.
Diagnosed with inserting "echo xxxxxxxxxxx" after the rule above.
Made the order of targets to be same as the order of
file modifications when they are created with genconf.exe and echogs.exe .

EXPECTED DIFFERENCES :

None.

[src/gs.mak]

2004-12-20T22:22:44.000000Z Igor Melichev

Fix : Restore missed dependencies on gconfxx.h .

DETAILS :

This is a preparation for fixing the bug
Bug 687059 "Re-building a ready gswin32.exe".

We prefer to commit it separately, since it's definitely an independent bug.

EXPECTED DIFFERENCES :

None.

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

2004-12-20T22:17:39.000000Z Igor Melichev

Fix : Completely remove the platform dependent target lib.tr from makefiles.

DETAILS :

This is a preparation for fixing the bug
Bug 687059 "Re-building a ready gswin32.exe".
The file lib.tr was created for old linkers,
which can't handle objs and libs in a single list file.

This change affects FAPI, which only uses a list of libs,
and only on Windows and OS/2 platforms.
We did not test Borland and Watcom compilers,
but unlikely FAPI is compiled with them.

EXPECTED DIFFERENCES :

None.

[src/bcwin32.mak src/winint.mak src/genconf.c src/gs.mak src/watcw32.mak src/msvccmd.mak src/msvc32.mak src/msvclib.mak src/os2.mak]

2004-12-19T17:24:50.000000Z Igor Melichev

Fix (pdfwrite) : The "NeverEmbed" logics was broken (continued 2).

DETAILS :

Bug 687836 "Crash with -dNeverEmbed".
Fixes a cast in the previous patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c]

2004-12-19T17:19:44.000000Z Igor Melichev

Fix (pdfwrite) : The "NeverEmbed" logics was broken (continued).

DETAILS :

Bug 687836 "Crash with -dNeverEmbed".
Fixes 'const' in the previous patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c]

2004-12-19T17:10:56.000000Z Igor Melichev

Fix (pdfwrite) : The "NeverEmbed" logics was broken.

DETAILS :

Bug 687836 "Crash with -dNeverEmbed".
It was an inaccuracy (incomplete testing) when implementing
PDFW_DELAYED_STREAMS for the ps2write project.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c]

2004-12-17T20:57:05.000000Z Ray Johnston

Fix for invalid (zero width) BBox in PDF Form Xobject or Annotation.
Bug 687862 for customer 770.

[lib/pdf_draw.ps]

2004-12-16T12:34:56.000000Z Igor Melichev

Fix (PDF interpreter) : Prefer 'post' to cmap 1.0, because obsolete PDF writers misuse the latter.

DETAILS :

Bug 687828 "pages retain some of earlier pages displayed/"

The bug title above is misleading.
Real problem is missing characters and rendering .notdef instead.

This patch improves hewristics for choosing an encoding
for True Type fonts. Obsolete versions of Distiller and Ghostscript
wrote a cmap 1.0 (Macintosh Roman) into a PDF, which really uses a
random encoding. For example, the test case of the bug 687828
encodes Arabian characters with cmap 1.0.

Thits patch prefers to use 'post' table instead cmap 1.0,
when a 'post' table presents, and font resource dictionary
doesn't specify Encoding.

Also improved a debug printing.

EXPECTED DIFFERENCES :

None.

[lib/gs_ttf.ps lib/gs_typ42.ps]

2004-12-15T23:21:33.000000Z Igor Melichev

Fix : A hang adding over 256 glyphs for a stable font copy.

DETAILS :

Bug 687816 "Hang in named_glyph_slot_hashed".

1. Added gs_copied_font_data_s::num_glyphs to monitor
the current number of glyphs in a stable font copy (gxfcopy.c).

2. copy_glyph_data maintains gs_copied_font_data_s::num_glyphs (gxfcopy.c).

3. gs_copied_can_copy_glyphs checks whether the preallocated
size of the glyphs array doesn't exceed (gxfcopy.c).

4. copy_glyph_data is fixed to return error code when
trying to add a glyph over the preallocated size of the glyphs array (gxfcopy.c).

5. pdf_obtain_font_resource_encoded is changed to handle the case when
new glyphs overflow the font copy (gdevpdtt.c).

The changes above fix the bug, but we also provide an additional optimization
with GLYPHS_SIZE_IS_PRIME 1 (gxfcopy.c):

6. Preallocate at least 257 ghyphs rather than 256 ones by the old code;
This coners a font of 256 glyphs and 1 .notdef  (gxfcopy.c).
(Well, that could fix the hang in the sample case of the bug 687816,
but generally there exist other cases due to the font merging,
which require the changes 1-5 above.

7. Use primes numbers for the size of glyphs array instead powers of 2
against unprodactive expense of RAM (gxfcopy.c).

When the changes 5 was done, a regression happened with tpc2.ps :
pdfwrite generated an incorrect PDF. To fix that, we forced to do more changes :

8. pdf_register_charproc_font recieved a gs_id of the PS font instead
the PDF object id. It caused a problem with multiple muster fonts,
because MM instances have same id as the MM font.
pdf_encode_string is changed to pass a correct resource id (gdevpdte.c),

9. Since tpc2.ps generates hundreds of MM font instances, the field
pdf_font_resource_s::u.s.used_fonts may not have a staticly defined size.
replaced with a dynamicly allocated array (gdevpdtf.h, gdevpdte.c).

10. Garbager descriptor for pdf_font_resource_s is changed to maintain (9).

11. A new function pdf_find_resource_by_resource_id is defined for
the correct implementation of pdf_used_charproc_fonts (gdevpdfu.c).

After it another tpc2.ps regression persisted : the character 'y'
dissapperaed in some words. The following changes are done to fix that :

12. Improved thge hash function in pdf_add_subset_prefix (gdevpdtb.c).

13. Defined FINE_GLYPH_USAGE 1 for a better precision of the font subset,
in the case when a PS interpreter callout happens fro CDevProc or for a Type 3 BuildChar
(gdevpdfx.h, gdevpdte.c). Currently it works for non-CID fonts only.

14. Improved the diagnistics for the missed glyph in a Type 1 font (gs_type1.ps).

Actually the last regression reflects another problem in the PDF interpreter,
which is described in a new bug 687856.

EXPECTED DIFFERENCES :

pdfwrite :

test-setweightvector.ps
tpc2.ps

The distilled tpc2.ps gets 1 progression and 1 regression.
The progression is the glyph width. The regression is an ununiform
stem width while rendering the PDF due to problem in the PDF interpreter.
We describe that problem in the new bug 687857.

[src/gdevpdfx.h src/gdevpdtb.c src/gxfcopy.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdfu.c src/gdevpdtf.h lib/gs_type1.ps]

2004-12-14T12:42:18.000000Z Igor Melichev

Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 5).

DETAILS :

Interval boundaries for subfunctions of a stitching function got an
artithmetic error, which caused the interval to move outside the
subfunction domain. Bug 687840 "/rangecheck in --fill--".
The effect only appeared with MSVC6 release build.

The hunk #2 of this patch fixes the particular problem, but
we prefer to provide a better safety with the hunk #3.

EXPECTED DIFFERENCES :

None.

[src/gsfunc3.c]

2004-12-14T09:32:58.000000Z Igor Melichev

Fix (TT grid fitting) : An assertion failed in the spot analyzer (continued).

DETAILS :

A condition for a stem prolongation was too weak.
Bug 687823 "assert in gzspotan.c with ttcf2cid font".

This re-applies the resent patch, which was reverted before 8.50 release. See
http://ghostscript.com/pipermail/gs-cvs/2004-December/005087.html
http://ghostscript.com/pipermail/gs-cvs/2004-December/005091.html

EXPECTED DIFFERENCES :

The list of differences, which are caused by the patch, is applied below.
Meanwhile the baseline was already upgraded with them :
http://ghostscript.com/pipermail/gs-regression/2004-December/001324.html,
and then the patch was reverted. When the patch was reverted,
the reverse difference should have appeared in the regression report,
but it did not appear for an unclear reason.

72dpi :

01_001.pdf
159.pdf
289-01.ps
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Altona_Technical_1v1_x3.pdf
Bug687603.ps
Bug687724.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
japan.ps
keyboard.pdf
korea.ps
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf
type42_glyph_index.ps

normal, 300dpi :

01_001.pdf
159.pdf
289-01.ps
adesso2.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Altona_Technical_1v1_x3.pdf
Bug687603.ps
Bug687724.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
japan.ps
keyboard.pdf
korea.ps
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf



pdfwrite 300 dpi :


01_001.pdf
159.pdf
adesso2.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Altona_Technical_1v1_x3.pdf
Bug687603.ps
Bug687724.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
japan.ps
keyboard.pdf
korea.ps
shading_prob_800.ps
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

[src/gzspotan.c]

2004-12-13T17:54:22.000000Z Ralph Giles

Bump the version after the 8.50 release.

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

2004-12-11T00:31:31.000000Z Ralph Giles

Update changelogs for release.

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]

2004-12-10T23:48:48.000000Z Ralph Giles

Update 3rd party library versions to match the latest releases.

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

2004-12-10T23:29:13.000000Z Ralph Giles

Propagate release date and version changes to the documentation.

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

2004-12-10T23:22:44.000000Z Ralph Giles

Update version and date for the 8.50 release. Also some additions to the
release notes.

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

2004-12-10T23:00:59.000000Z Ralph Giles

Disable JPXDecode support in the default MacOS Codewarrior build, pending
resolution of some functional issues. The autoconf gcc build can be used
as a workaround.

[src/macos-mcp.mak]

2004-12-10T00:34:12.000000Z Ralph Giles

Correct an ambiguous '#if DEBUG' to an '#ifdef DEBUG'. Part of the fix
for bug 687830.

[src/vdtrace.c]

2004-12-09T08:27:30.000000Z Ralph Giles

Additional clean up for the MacOS CodeWarrior build. Adds a dependency
on gconfigd.h so it gets built when the project file is generated, and
include a search path for the jasper library headers.

[src/macgenmcpxml.sh src/macos-mcp.mak]

2004-12-09T08:24:28.000000Z Ralph Giles

Update the MacOS test framework to current code.

[src/dmmain.r src/dmmain.c]

2004-12-09T03:47:52.000000Z Ralph Giles

Use #ifdef DEBUG instead of the ambiguous #if DEBUG.

[src/gp_macio.c]

2004-12-09T02:43:37.000000Z Ralph Giles

Add a missing dependency on the DeviceN code to the tiffsep device.

[src/devs.mak]

2004-12-09T00:59:59.000000Z Ralph Giles

Modify the MacOS polling implementation to use the new libctx accessor
for the callbacks.

[src/gp_macpoll.c]

2004-12-08T22:30:41.000000Z Ralph Giles

Update the jbig2 makefile for the latest release. We now require
jbig2dec 0.7 if you want to compile in the jbig2dec source instead
of linking to the shared library.

[src/jbig2.mak]

2004-12-08T21:35:13.000000Z stefan

Delaying changes for assertions and gzspotan.c till after 8.50 release.

[src/gxcht.c src/gxdhtserial.c src/gdevpsf1.c src/gslibctx.c src/gsfcmap.c src/gxccman.c src/gdevpsft.c src/gdevpdfc.c src/gsmisc.c src/gserror.h src/siinterp.c src/write_t1.c src/write_t2.c src/gxshade1.c src/gsfunc0.c src/gxpflat.c src/gzspotan.c src/gdevddrw.c src/gendev.c src/fapi_ft.c src/gxfdrop.c src/gxshade6.c]

2004-12-08T19:52:23.000000Z Ralph Giles

Mention the need to run autogen.sh to generate the configure script when
building from CVS.

[doc/Make.htm]

2004-12-08T19:47:30.000000Z Ralph Giles

MacOS platform build cleanup.

DETAILS:

Since the libctx changes, stdio hasn't been directly available.
Therefore we no longer support '-' as a special filename in
(the obsolete) gp_open_printer(). We change an fprintf(stderr,...)
to an eprintf() which is more correct in any case.

This change also removes the fprintf() and fputs() implementations
in the MacOS build. Metrowerks CW libc has for some time provided
implementations, but they're even less needed now that we're being
a proper library.

[src/gp_macio.c]

2004-12-08T18:09:38.000000Z Igor Melichev

Fix (TT grid fitting) : An assertion failed in the spot analyzer.

DETAILS :

A condition for a stem prolongation was too weak.
Bug 687823 "assert in gzspotan.c with ttcf2cid font".

EXPECTED DIFFERENCES :

72dpi :

01_001.pdf
159.pdf
289-01.ps
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Altona_Technical_1v1_x3.pdf
Bug687603.ps
Bug687724.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
japan.ps
keyboard.pdf
korea.ps
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf
type42_glyph_index.ps

normal, 300dpi :

01_001.pdf
159.pdf
289-01.ps
adesso2.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Altona_Technical_1v1_x3.pdf
Bug687603.ps
Bug687724.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
japan.ps
keyboard.pdf
korea.ps
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf



pdfwrite 300 dpi :


01_001.pdf
159.pdf
adesso2.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Altona_Technical_1v1_x3.pdf
Bug687603.ps
Bug687724.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
japan.ps
keyboard.pdf
korea.ps
shading_prob_800.ps
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

[src/gzspotan.c]

2004-12-08T05:04:29.000000Z Ralph Giles

Convert gs_malloc() calls in the MacOS gp_* code to unwrapped libc malloc()
now that gs_malloc() requires a memory pointer, which is not available.

Partial fix for bug 687830.

DETAILS:

Only the call in getenv() is active; the one in gp_init() is not used.

This may have been what the earlier libctx patch was trying to do when
it touched gp_macio.c, changing the function call, but not the arguments,
and breaking the

[src/gp_macio.c src/gp_mac.c]

2004-12-08T01:20:07.000000Z stefan

Pulled silly macro to try to disuade the direct use of assert()

[src/gserror.h]

2004-12-08T00:31:35.000000Z Alex Cherepanov

Provide back-up definitions of /-| /RD /|- /ND /| /NP for the benefit of
embedded PDF fonts that forget to define them. Issue a warning when they are
used. Don't fix PS interpreter because Distiller doesn't accept such fonts
either.
fix bug 687824

[lib/pdf_font.ps]

2004-12-08T00:18:55.000000Z stefan

forgot an #undef to correctly disable assert()

[src/gsmisc.c]

2004-12-08T00:06:14.000000Z stefan

Moved include outside of function body to fix MSVC compile error.

[src/gsmisc.c]

2004-12-07T23:25:04.000000Z stefan

Added macros for assertions:

GS_ASSERT(false)
returns -1 in a release system
asserts in a debug system

GS_DBG_ASSERT(false)
is a NOP in a release system
asserts in a debug system

Both versions will printf to stderr first.

Raw assert() should not be used.
GS_ASSERT will not compile in a void function, as it returns -1.
This means you can not use assertions to change the standard error return
exception handline mechanism in Ghostscript.
You can use them to catch programmer usage errors in a debug build.

gs_misc::gs_assert() is the one place the operating system's assert is called.
This can be modified in a embedded system, again assert is only called in
a debug build.

[src/gxcht.c src/gxdhtserial.c src/gdevpsf1.c src/gslibctx.c src/gsfcmap.c src/gxccman.c src/gdevpsft.c src/gdevpdfc.c src/gsmisc.c src/gserror.h src/siinterp.c src/gdevpx.c src/write_t1.c src/write_t2.c src/gxshade1.c src/gsfunc0.c src/gxpflat.c src/gzspotan.c src/gdevddrw.c src/fapi_ft.c src/gendev.c src/gxfdrop.c src/gxshade6.c]

2004-12-07T10:24:52.000000Z Igor Melichev

Fix : Disable an unuseful warning from MSVC8.

[src/msvccmd.mak]

2004-12-07T05:28:11.000000Z Ralph Giles

Correct an incorrect cast in the jpx filter. Bug 687831.

[src/sjpx.c]

2004-12-07T05:03:37.000000Z Ralph Giles

Add a const qualifier to the jpx filter memory contest. Corrects an error
with Metrowerks CodeWarrior 8.

[src/sjpx.h]

2004-12-07T02:29:49.000000Z Ralph Giles

Remove the calls to set the TEXT filetype for the source files. This
has not been necessary for the last few versions of CodeWarrior, and
doing it correctly for the hierarchical jasper source is tedious.

[src/macos-mcp.mak]

2004-12-07T02:25:16.000000Z Ralph Giles

Add jasper.mak to the MacOS CW build.

[src/macos-mcp.mak]

2004-12-06T18:02:31.000000Z Ralph Giles

Enable compilation of the jasper library source for JPEG 2000 image stream
support in the MacOS Code Warrior build.

[src/macos-mcp.mak]

2004-12-06T13:17:35.000000Z Igor Melichev

Fix : Improvinmg documentation for recently improced algorythms.

DETAILS :

This patch only changes comments in C code.

EXPECTED DIFFERENCES :

None.

[src/gxfilltr.h src/gzspotan.c src/gxfill.c src/gxshade6.c src/gxfillsl.h]

2004-12-03T06:41:15.000000Z Ralph Giles

Decide to run a recursive configure for the jasper source based on
existence of the new jas_config_ac.h instead of the old jas_config.h

We now require the 1.701.0-gs2 (or later) release to build out of the
box. Other versions can still be used by running their configure
manually and touching this file, or by building a separate shared
library.

[src/configure.ac]

2004-12-01T20:02:11.000000Z Ray Johnston

Add JPXDecode filter to the default Windows MSVC build. This is based on
the "jasper" source and must be at least version 26 from the svn repository
using svn co http://svn.ghostscript.com:8080/jasper/trunk jasper

DETAILS:

This is a fairly minor modification to the gs MSVC makefiles, but it did
require changing our jasper version (that had accumulated many changes)
to hook in the correct jas_config***.h file and to avoid using windows.h
(so we can build with /Za). See the jasper svn for details of the changes.

EXPECTED DIFFERENCES:

none. (we didn't have any PDF 1.5 files with JPEG2000 images in the
comparefiles).

[src/msvc32.mak src/winlib.mak]

2004-12-01T17:57:32.000000Z Raph Levien

Fix: in implementation of n operator in clip mode, put pathbbox in stopped
context so that completely empty paths have the same behavior as paths
with empty bbox, rather than causing an error. Fixes bug #687820.

DETAILS

   The test file has a "n W n" sequence, which is a request to clip to
a totally empty path. The error comes from code added to pdf_ops.ps v
1.33 to handle the case where a path is defined but has an empty
bbox. See bug 687136 for more details on this change. Comment #8 of
that bug report suggests that our PDF interpreter always maintains a
currentpoint, which would justify the use of an unprotected
pathbbox. However, that assumption seems to be false. This fix wraps
the pathbbox added in the 1.33 change in a stopped context.

[lib/pdf_ops.ps]

2004-12-01T08:17:20.000000Z Ralph Giles

Add a platform-specific JASPERCFLAGS makefile variable to assist with
proper compilation of the jasper jpeg2k library. Set this variable
correctly in the autoconf build.

DETAILS:

The jasper library natively supports building under both autoconf+cc and
MSVC, but expects a preprocessor define to be set to distinguish the
two. While we do carefully construct a special JAS_CC for compiling the
jasper source into Ghostscript, as with all the other 3rd party
libraries, there is only a facility to set special CFLAGS globally.

This change adds a new top-level makefile variable for passing
platform-specific CFLAGS into gs.mak for addition to that global
set.

Also, set JASPERCFLAGS=-DJAS_CONFIGURE in Makefile.in so that the jasper
sourcr expects the autoconf generated configuration header when
compiling as part of Ghostscript.

[src/gs.mak src/Makefile.in]

2004-11-30T20:31:54.000000Z Russell Lang

Return error code when using -f filename.
Fix bug #687811 strange behavior with -f.

[src/imainarg.c]

2004-11-29T23:18:55.000000Z Russell Lang

When doing a Windows debug build, link against the debug run time libraries.

[src/msvccmd.mak]

2004-11-29T03:25:25.000000Z Russell Lang

Correct the SubfontID values in the example substitutions.

[doc/Use.htm]

2004-11-24T20:09:01.000000Z Russell Lang

Correct errors in .buildnativefontmap procedure.

DETAILS:
The enumeration of fonts returned by .getnativefonts
was being given "array true" which was causing a
typecheck in forall because of a missing exch.
It should have been "true array".

Also, .findfontname was returning a name rather than a
string, so cvn was failing because it was already a name.

[lib/gs_fonts.ps]

2004-11-24T08:12:18.000000Z Russell Lang

When using CJK Windows TrueType fonts, add the Windows fonts
directory to the GS_LIB registry variable to allow access to this
directory when SAFER is used.

[src/dwsetup.cpp]

2004-11-23T12:18:29.000000Z Igor Melichev

Fix (TT interpreter) : The component 'usage' buffer size was wrongly computed.

DETAILS :

Bug 687810 "/invalidfont in --@0x1e36c".

Note that the error message appears some misleading due to sbx, sby is placed in ostack
for type42_finish. Rather we could fix it in this particular case in type42_finish,
a complete fix appears too complicated. So for now leave it as it is.

EXPECTED DIFFERENCES :

None.

[src/ttfmain.c]

2004-11-23T07:44:15.000000Z Igor Melichev

Fix (type 1 hinter) : Bugs in 'flex' with disabled hinting.

DETAILS :

Bug 687812 "Distortion in charpath outline".

1. Wrong poles were exported from the hinter when 'flex' works with disabled hinting.
2. Improved vdtrace commands for a disabled hinting.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2004-11-22T19:36:06.000000Z Ralph Giles

Null the DEVICE_DEVS_EXTRA variable when calling the link line. This
works around env space limitations on some vendor unicies when a large
set of devices are passed from the make command line through this
variable. Bug 687804.

[src/unixlink.mak]

2004-11-22T19:25:57.000000Z Ralph Giles

Cast the gx color index to an int inside the switch argument to
avoid problems with the HP-UX 10 compiler which does not accept
64 bit arguments to switch(). Bug 687804.

[src/gdevstc.c]

2004-11-22T06:47:07.000000Z Ralph Giles

Bump the version number after the 8.33 beta release.

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

2004-11-20T05:14:05.000000Z Ralph Giles

Update changelog for release.

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]

2004-11-20T04:44:39.000000Z Ralph Giles

Propagate release date to all documentation.

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

2004-11-20T04:41:02.000000Z Ralph Giles

Correct a typo in the reference to the cmpi script.

[doc/Testing.htm]

2004-11-20T04:40:08.000000Z Ralph Giles

Update release date and product name.

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

2004-11-20T04:33:53.000000Z Ralph Giles

Define SHARE_JASPER=0 by default in the windows build. This doesn't
enable anything, but makes it easier to get going.

[src/winlib.mak]

2004-11-19T19:56:45.000000Z Ray Johnston

Due to an oversight, JBIG2Decode was omitted from the windows build.
Now it is included in the default FEATURE_DEVS although in the future
this should probably be moved to the pdf.dev

[src/msvc32.mak]

2004-11-19T04:39:11.000000Z Ray Johnston

Add some missing initializers for glyph_data_t->memory. Related to the
687459 fix.

[src/gsfcid.c src/gdevpsf1.c src/zfcid0.c src/gxfcopy.c src/gdevpsf2.c src/zfcid1.c src/gxtype1.c src/gstype42.c src/gdevpsfu.c src/zchar1.c]

2004-11-19T01:44:52.000000Z Raph Levien

Copies over new-style color procs when making a null device with a
target, to avoid inconsistent states. Fixes bug #687770.

DETAILS

The problem was a null device (for implementing stringwidth) with
inconsistent color info; the color_info struct specified 4 components,
but the get_color_mapping_procs was
gx_default_DevGray_get_color_mapping_procs, which is the desired value
for null devices instantiated through gs_copydevice
(i.e. -sDEVICE=null). As a result, cm_comps[1] through [3] were left
uninitialized, and, when negative, would crash the halftone logic.

This patch copies over the new-style color mapping procs (the
old-style were already copied) in the gs_make_null_device routine. A
strong argument could be made for changing the logic in
gx_device_copy_color_procs() instead, but it was felt that this change
was more localized.

Dan reviewed this patch during a phone conversation, so I am going ahead
and committing. I'm also opening a new bug to encourage a closer look
at other uses of gx_device_copy_color_procs() to see whether a change
there is beneficial or harmful.

[src/gsdevice.c]

2004-11-18T17:09:16.000000Z Ray Johnston

Fix regression created by previous patch for bug 687752.

[lib/pdf_draw.ps]

2004-11-18T11:04:44.000000Z Russell Lang

Update Windows installer to use the current name for the license file,
Public.htm not the older PUBLIC.

[src/winint.mak]

2004-11-18T06:48:41.000000Z Russell Lang

Add utility mkcidfm.ps to create a cidfmap file based on fonts
found in a directory.
Change MS-Windows installer to optionally update lib/cidfmap
with the CJK fonts found in the Windows font directory.

DETAILS:
Ghostscript does not ship with CJK fonts.
If support for Chinese, Japanese or Korean is added to MS-Windows,
CJK TrueType fonts and font collections are added to the MS-Windows
fonts directory.  These can be used by ghostscript by specifying
mapping and aliases in the lib/cidfmap file.
This patch looks in the MS-Windows fonts directory for known
CJK fonts, and if present it appends appropriate mappings or
aliases to the lib/cidfmap file.
The font names and aliases are currently fixed, but can
be changed by editing mkcidfm.ps.

A new checkbox is added to the installer dialog
"Use Windows TrueType fonts for Chinese, Japanese and Korean"
Only if the user selects this will lib/cidfmap will be updated.
The default behavior is that lib/cidfmap is unchanged.

[src/dwinst.h src/dwsetup.rc src/dwsetup.h src/dwinst.cpp doc/Psfiles.htm lib/mkcidfm.ps src/dwuninst.cpp src/dwsetup.cpp]

2004-11-18T02:20:25.000000Z Ray Johnston

Fix a missing part of the JOBSERVER implementation that makes the ^D a
self-delimitting token. Fixes bug 687779.

[src/iscan.c]

2004-11-18T01:44:35.000000Z Ray Johnston

Fix for unlimited recursion in 'cs/CS' implementation (actually in a
certain path in 'resolvecolorspace'. Fixes bug 687752 for Artifex
customer 190.

[lib/pdf_draw.ps]

2004-11-17T19:48:01.000000Z Ray Johnston

Fix bug 687777 to remove the makefile dependency of dscparse from the
pdfwrite device. This allows non-PS to include the pdfwrite.dev in the
build. Also updated zdscpars.c to add needed 'mem' pointer.

[src/int.mak src/devs.mak src/zdscpars.c]

2004-11-16T02:53:06.000000Z Igor Melichev

Fix (pdfwrite) : Page context stream was not properly formed when starts with an invisible text.

DETAILS :

Bug 687797 "pdfwrite generates invalid pdf".
The improved condition made consistent with gdevpdte.c ln 501.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2004-11-15T01:12:06.000000Z Ray Johnston

Fix for Bug 687459 (SEGV) addressing several problems: (i) Elements
fetched from a font dictionary have to be dereferenced into a ref
since pointers change if the dictionary is resized (to add entries);
(ii) The glyph_cache used by gs_font_cid2 fonts needs to be in stable
memory since elements might be added after a 'save' and the list will
still be refereced by the font, so cannot be freed by 'restore';
(iii) The gs_glyph_cache__release was never being called so creating
a memory leak -- font notification (called by gs_font_finalize) is
now used to free the cache list; (iv) The gs_glyph_cache__release
did not work (probably was never tested since it was not being used).

DETAILS:

Using stable_memory means that the objects created need to be freed
properly, that's why the font_notify mechanism was used. This fixes
the problem reported by the bug and doesn't seem to have created
any other problems (regression test passed).

A 'memory' element was added to the gs_glyph_data_s structure so
that the 'bits' can be allocated using the desired memory (stable
memory in the case that we are using the cache). This was deemed
preferable to always using the pfont->memory->stable_memory since
changing to this might cause other problems. This did create a
fair number of changes since every place the get_outline was used,
the glyph_data structure needed to have the 'memory' element set.
We could have used 'NULL' to signal pfont->memory, but this might
have masked uninitialized memory issues that can be tracked with
tools such as valgrind.

The gs_glyph_cache__release was totally broken, and since it was
not previously used, fixing and testing it presents no risk of
other clients relying on broken behaviour.

The implementation of the cache is VERY RUDIMENTARY -- a linked
list of elements with a hard-coded number (32767) limit to the
size of the cache. The size is too small to be useful for Asian
fonts, but making it bigger will result in a lot of time spent
finding a 'miss' condition. At least the current logic has LRU
slot re-use behaviour (which should be retained). Fixing this,
and making the cache limit larger are left for a later change
(post 8.50 release).

EXPECTED DIFFERENCES:

None.

[src/gxttfb.c src/gsgdata.h src/zfcid0.c src/gxfcopy.c src/zfcid1.c src/gstype42.c src/zbfont.c src/gdevpsft.c src/gsgcache.c src/gsgcache.h]

2004-11-14T01:41:58.000000Z Russell Lang

Add missing header include for setting the display device callback.

[src/imain.c]

2004-11-13T22:08:14.000000Z Igor Melichev

Fix : toolbin/pdfinflt.ps did not decompress some streams (continued).

DETAILS :

The 2nd Patch from SaGS for the bug 687746
"gs\toolbin\pdfinflt.ps doesn't unpack a stream"

The previous patch contained on over-optimization that leaded to a corrupted
operand stack. "{ [ {proc} {proc} ] }" (note: 2 identical inner procs)
can be optimized:
either as "{ [ {proc} dup    ] }" - use VM for only 1 copy of "{proc}"
or as	  "{ { {proc} {proc} } }" - the 2-element array is allocated
				    only once, by the parser, not at
				    each execution of the enclosing proc
but we cannot apply both these optimizations at the same time.

This error affects PDF files that include a /Filter and/or /DecodeParams
specified as 1-element arrays. PDFs for which these entries are a single
name (for /Filter) or dict (for /DecodeParams) or arrays with 2 or more
elements are not affected.


EXPECTED DIFFERENCES :

None.

[toolbin/pdfinflt.ps]

2004-11-12T21:28:30.000000Z Russell Lang

Spelling corrections.

[doc/Use.htm]

2004-11-08T16:56:10.000000Z Ralph Giles

Add the new image comparison tool to the file index in the documentation.

[doc/Testing.htm]

2004-11-07T21:09:29.000000Z Igor Melichev

Fix : Improve the resource path customization and the related documentation (continued).

DETAILS :

This fixes some minor ambiguities.

[doc/Use.htm]

2004-11-07T19:57:32.000000Z Igor Melichev

fuzzy.c : Implementing multipage image files.

DETAILS:

Report will contain a line per different page.
Thus the report file may contain multiple lines.

The output image file contains only the the first page difference
due to a restricted capability of available viewers.

Bug 687765 "fuzzy.c : multipage documents unsupported.".

[toolbin/tests/fuzzy.c]

2004-11-07T19:25:07.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

DETAILS :

Cygwin/gcc claims an undefined result in spdiff.c
due to possibly undefined order of evaluation of operands of a binary operation.
The hunk #2 now sets 'ti', rather the old code does not.
But we believe that the change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxdevndi.c src/ttinterp.c src/spdiff.c]

2004-11-06T22:20:10.000000Z Ralph Giles

Remove some obsolete assert calls which caused problems on some
platforms due to incorrect string quoting in assert.h.

[src/gxhintn.c]

2004-11-06T19:30:08.000000Z Ray Johnston

Fix: Python opens files in text mode unless "rb" is needed.

[toolbin/tests/cmpi.py]

2004-11-06T06:38:05.000000Z Ray Johnston

Add an interactive image compare tool written in Python by a Python
neophyte. Not quite ready for prime-time, but an interesting enough start
to commit. Even though there are bugs in the differencing, responsiveness
and memory usage, it is still sometimes useful. If a version # were to be
applied to this, I would call it 0.1 (at least it is a positive number).

[toolbin/tests/cmpi.py]

2004-11-05T17:03:17.000000Z Ralph Giles

Update the MacOS X platform-specific makefile. Remove -traditional-cpp.
This was added to work around bugs in earlier releases of Apple's gcc,
but it is not necessary with more recent releases, and conflicts with
newer cpp features used by more recent Ghostscript code. Partial fix
for bug 687787.

[src/macosx.mak]

2004-11-04T20:32:33.000000Z Russell Lang

Improve documentation for CID fonts.

[doc/Use.htm]

2004-11-03T17:46:16.000000Z Ralph Giles

Include stdio_.h instead of the system header according to C style.

[src/lib.mak src/gslibctx.h]

2004-11-03T08:23:17.000000Z Ray Johnston

Add handling for missing EOL following the %PDF-#.## string in the header.
Yet another bad file that Acrobat Reader handles. Bug 687781.

DETAILS:

If we get an error doing the 'cvr' to get the version #, trim a character
from the end of the string and try again. Stop if the string becomes empty.

[lib/pdf_main.ps]

2004-11-03T07:34:03.000000Z Ralph Giles

Add missing opening quotes to the error printouts. This typo came in
as part of an earlier bug fix and prevented compilation. Bug 687784.

[src/gdevsppr.c]

2004-11-01T21:21:15.000000Z Jack Moffitt

Fixes Bug#687762.  Includes the date specification of the CVS checkout
in the baseline update log.  This then gets propagated to the daily
reports.

[toolbin/tests/update_specific]

2004-11-01T21:09:08.000000Z Igor Melichev

Fix (pdfwrite) : Forget cancelled resources.

DETAILS :

Bug 687749 "PS to PDF generates very large PDF document"

1. An indeterministic bug fixed in gdevpdfi.c, hunk #1.

2. Implemented a recognition of equal patterns in gdevpdfi.c
and provided a PDF pattern substitution.
We caould not provide a substitution in the PS interpreter
because an accumulated pattern instance doesn't point
to the corresponding client color.

3. pdf_forget_resource is applied when a resource is cancelled and
is not longer needed. This applies to all redundant resources except patterns,
because patterns keep the substitution data.
We would like to save memory from substitured patterns with
a special substitution table,
but we have no time for such optimization now.

4. The function pdf_forget_resource is some slow
because the data structure was not designed for
removing resources from lists.
We would like to implement dual linked lists,
but we have no time for such optimization now.

5. Since pdf_forget_resource is not applied to patters,
we need to prevent a big growth of the number of stored patterns.
We implemented pdf_drop_resources for that purpose
and drop all substitured pattrens after 300 ones
have been accumulated, but not frequenter than once per page.
This solution isn't perfect, but should work for most cases.
If a substituted pattern is dropped erroneusely,
it will be accumulated again, maybe causing some slowdown.

6. Implemented a new device parameter PrintStatistics.
The new function pdf_print_resource_statistics
prints a statistics to stdout.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c src/gdevpdtt.c src/gdevpdfu.c src/gdevpdfv.c src/gdevpdfg.c src/gdevpdti.c src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2004-11-01T18:21:50.000000Z Ralph Giles

Exempt three new files from the multiple-include protect check. Like the
previous exemptions, these are templates that must be instantiated multiple
times to function properly.

[toolbin/tests/check_source.py]

2004-11-01T09:15:40.000000Z Ralph Giles

We now implement job server behavior. This is no longer an open issue.

[doc/Issues.htm]

2004-11-01T09:15:06.000000Z Ralph Giles

Mention the issue with polygon overlap in antialiased rendering.
Closes bug 687742.

[doc/Use.htm]

2004-10-29T01:04:31.000000Z Russell Lang

Documentation update to fix some dead links.

[doc/Readme.htm]

2004-10-29T00:07:16.000000Z Russell Lang

Documentation fixes, due to changes in iapi.h.

[doc/API.htm doc/Lib.htm]

2004-10-28T17:34:34.000000Z Igor Melichev

Fix (pdfwrite) : Font size was wrong when definefont applied to a scaled font.

DETAILS :

Bug 687615 "ps2pdf squeezes glyph strings".

This continues the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-August/003487.html (igor486).

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c]

2004-10-28T11:58:17.000000Z Igor Melichev

Fix (vdtrace.c) : Fix gcc warnings and improve C-style.

DETAILS :

This change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/vdtrace.c]

2004-10-28T09:26:11.000000Z Igor Melichev

Fix (gswin32) : Opened a window outside the desctop area.

DETAILS :

When the Tracer window was opened with a clean Registry
(particularly at a first run after the operating system instalaton),
the window placement got big negative coordinates.

EXPECTED DIFFERENCES :

None.

[src/dwimg.c]

2004-10-28T08:39:21.000000Z Igor Melichev

Fix (type 1 interpreter) : Replaced Metrics was missed.

DETAILS :

Bug 687614 "mirrored glyph is rendered at incorrect position".

This patch fixes the problem for raster devices.
Without -dNOCACHE the behavior was indeterministic due to
uninitialized cxs.use_FontBBox_as_Metrics2 in zchar1.c.

We ported the change from gstype1.c to gstype2.c with no special testing
because we have no practical examples of Type 2 with a replaced lsb.
It happens so because Type 2 only appears in PDF, which doesn't replace lsb.

EXPECTED DIFFERENCES :

None.

[src/gstype1.c src/gstype2.c src/zchar1.c]

2004-10-28T07:25:16.000000Z Igor Melichev

Fix (pdfwrite) : Glyph positions were wrong for vertical CID fonts (continued 2).

DETAILS :

Bug 687614 "mirrored glyph is rendered at incorrect position".

The new code implements the improved logics :

    /* With WMode 1 v-vector is (WMode 1 origin) - (WMode 0 origin).
       The glyph shifts in the opposite direction.  */
    /* With WMode 0 v-vector is (Metrics sb) - (native sb).
       The glyph shifts in same direction.  */

Also improved the related comments.

EXPECTED DIFFERENCES :

pdfwrite 093-01.ps .

[src/gdevpdte.c]

2004-10-27T10:56:22.000000Z Igor Melichev

Fix (resource machinery) : Improve the resource path customization and the related documentation (continued).

DETAILS :

A wrong paragraph removed form the documentation.

EXPECTED DIFFERENCES :

None.

[doc/Use.htm]

2004-10-26T17:28:00.000000Z Ralph Giles

Bump the version info after the 8.32 release.

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

2004-10-26T17:07:18.000000Z Igor Melichev

Fix (resource machinery) : Improve the resource path customization and the related documentation.

DETAILS :

1. Explained the resource locator's logics in Use.htm .
Bug 687767 "Adding -Ic:\windows\fonts breaks CJK fonts".

2. The old code missed some directories when the user specifies a non-absolute
path as GenericResourcePath.

EXPECTED DIFFERENCES :

None.

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

2004-10-26T09:44:54.000000Z Igor Melichev

Fix (PDF interpreter) : Improve the font substitution and the CID font substitution.

DETAILS :

1. A new procedure .remove_font_name_prefix removes the subset font name prefix
   when computing a substitute font name.
2. Improved a warning when substituting a CID font resource.
3. Improved the documentation about CID font substitution if the PDF interpreter

Bug 687747 "PDF tries substituting but throws /undefinedresource in --findresource--".

EXPECTED DIFFERENCES :

None.

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

2004-10-26T05:30:33.000000Z Ralph Giles

correct an documentation link

[doc/History8.htm]

2004-10-26T05:26:04.000000Z Ralph Giles

Update changelogs for release.

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]

2004-10-26T04:31:05.000000Z Ralph Giles

Move a dependency out of order so it's available when needed.

[src/lib.mak]

2004-10-26T04:25:47.000000Z Ralph Giles

Update version and release date in the documentation.

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

2004-10-26T04:24:11.000000Z Ralph Giles

Update libpng version to the latest release. There are security
issues with 1.2.5, so upgrading is recommended.

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

2004-10-26T04:08:59.000000Z Ralph Giles

Back out double-include protection for gxfill*.h. Contrary to C-style,
these are templates that are configured and included multiple times.
They should probably be .c files rather than .h.

[src/gxfilltr.h src/gxfillts.h src/gxfillsl.h]

2004-10-26T03:51:16.000000Z Ralph Giles

Add double-include protection to four files that needed it. Also
correct a comment typo in a related file's protection.

[src/gp_os2.h src/gxfilltr.h src/gxfillts.h src/gxfillsl.h src/gxfill.h]

2004-10-26T03:43:35.000000Z Ralph Giles

Add a new-style RCS Id line to the re-instated LZWEncode filter.

[src/slzwe.c]

2004-10-26T03:41:41.000000Z Ralph Giles

Commute a C++ style comment.

[src/main.h]

2004-10-26T03:38:25.000000Z Ralph Giles

Exempt the rinkj CVS directories from the documentation reference check.

[toolbin/tests/check_docrefs.py]

2004-10-26T03:16:33.000000Z Ralph Giles

Revert jbig2 makefile update accidentally included in the last commit.
We want to maintain compatibility with 0.6 for this release.

[src/jbig2.mak]

2004-10-26T03:12:43.000000Z Ralph Giles

Add the new gsutil.py source to the file catalog

[doc/News.htm doc/Testing.htm]

2004-10-26T03:12:43.000000Z Ralph Giles

Update notes and dates for the 8.32 release.

[src/jbig2.mak src/gscdef.c src/version.mak]

2004-10-26T02:50:56.000000Z Ralph Giles

Add libctx memory pointers where required in the compiled-fonts code. This
was missed in the initial commit. Also, add the OBJ directory to the include
path when compiling the font data, since stdpre.h now requires the generate
arch.h header. Closes bug 687758.

[src/cfonts.mak src/iccfont.c]

2004-10-25T15:11:37.000000Z Igor Melichev

Fix : CIDFont-CMap construction didn't work with substituted CID font resources.

DETAILS :

Bug 687766 "CJK cidfmap ignores aliases".

This patch fixes the problem (the change to gs_cidfm.ps)
and provides a debug printing in various modules
related to CID font substitution.

EXPECTED DIFFERENCES :

None.

[lib/gs_resmp.ps lib/gs_fntem.ps lib/gs_cidcm.ps lib/gs_cidfm.ps lib/gs_init.ps]

2004-10-22T08:07:59.000000Z Raph Levien

Fixes copying of paths into clipping path list so that it works even
when the path is allocated with local_segments. Fixes bugs #687401,
#687612, and #687750.

[src/gxcpath.c]

2004-10-21T17:57:17.000000Z Igor Melichev

Fix (TT interpreter) : Subglyphs were positioned wrongly (continued).

DETAILS :

This fixes the log message of the previous patch in the "expected differences" section.
Bug 687589 "A composite glyph renders wrongly".
Bug 687768 "umlauts misplaced in eps file".

EXPECTED DIFFERENCES :

Testform.v1.0.2.pdf"

[src/ttfmain.c]

2004-10-21T17:52:18.000000Z Igor Melichev

Fix (TT interpreter) : Subglyphs were positioned wrongly.

DETAILS :

Bug 687589 "A composite glyph renders wrongly".
Bug 687768 "umlauts misplaced in eps file".

EXPECTED DIFFERENCES :

None.

[src/ttfmain.c]

2004-10-21T15:05:13.000000Z Igor Melichev

Fix (TT interpreter) : A tolerance to bad TT instructions.

DETAILS :

Bug 687764 "/invalidfont in .type42execchar".
Since we met several fonts with bad TT instructions,
we print a warning and continue with ignoring instructions.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxfont42.h src/gstype42.c src/ttfmain.c src/ttfoutl.h]

2004-10-20T15:58:56.000000Z Igor Melichev

Fix (pdfwrite) : Glyph positions were wrong for vertical CID fonts (continued).

DETAILS :

Bug 687603 "vertical text misplaced after distilling", reopened.
Bug 687753 "Text not aligned when viewed with Acrobat Reader", re-testing.

Disposition :
D1. The PDF spec requires X-compomenent of v-vector always equals to half glyph width.
D2. AR5 appears to use W|DW to compute the X-component of the v-vector of WMode 1.

The previous patch fixed most problems, but one left unfixed.
When a glyph is used with WMode 0, and later with WMode 1,
the second usage doesn't store Width and V due to the 'used' flag is already set.
This patch introduces 2 separate sets of flags for WNode 0 and WMode 1.

Changes :
1. Defined a new field 'used2' fro WMode 1 in gdevpdtf.h .
2. Allocated the used2 array, provided garbager methods,
   and a resizing on demand in gdevpdtf.c .
3. gdevpdtc.c sets used2.
4. Improved the computation of the v-vector in gdevpdtt.c .
   Now pdf_glyph_widths should be conforming to (D1) and (D2).
5. The coordinate adjustment in gdevpdte.c is not longer useful
   due to (4). Removed.
6. When writing W, W2, glyphs are being enumerated with used, used2
   correspondingly (gdevpdtw.c).
7. The accedd to Widths2 sometimes was incorrect. Now fixed (gdevpdtf.c).
8. gdevpdtc.c misused Widths2 as Widths when storing the WMode 0 width
   as a component of theWMode 1 v-vector. Now fixed.

EXPECTED DIFFERENCES :

Bug687603.ps

[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdtf.h]

2004-10-20T02:52:04.000000Z Jack Moffitt

Remove quotes from input filenames.

[toolbin/tests/update_specific]

2004-10-20T01:30:37.000000Z Igor Melichev

Fix (pdfwrite, PDF interpreter) : Glyph positions were wrong for vertical CID fonts.

DETAILS :

Bug 687753 "Text not aligned when viewed with Acrobat Reader".

Disposition :
D1. The PDF spec requires X-compomenent of v-vector always equals to half glyph width.
D2. AR5 appears to use W|DW to compute the X-component of the v-vector of WMode 1.

Changes :
1. With WMode 1, pdf_obtain_cidfont_widths_arrays obtains both Widths and Widths2 arrays
   (gdevpdtf.c, gdevpdtf.h, gdevpdtc.c).
2. For CID fonts gdevpdtc.c computes both WMode 1 and WMode 2 width
   when WMode 1 is requested.
3. Due to (D1), must compensate the half width when computing a glyph position
   in gdevpdte.c (hunk #2).
4. In gdevpdte.c internal data glyph_origin_shift used opposite signs for
   CID and non-CID fonts. Now made uniform.
5. The Type 0 font matrix and the descendent CID font matrix were applied
   in a wrong order in gdevpdte.c .
6. To satisfy (D2) when WMode 1 is only requested,
   write DW 0 when WMode 1 is only requested.
7. After fixing all above, from the test file of the bug 687753 pdfwrite
   generated a PDF, which GS failed interpret due to a curious failure
   with e_dictfull while checking for an absent key /File in the font dictionary.
   Patched zfcid1.c to provide a tolerance.
   Meanwhile we're not sure that it's the best way for fixing that,
   so if someone can bring a better method, feel free to improve.
8. The PDF interpreter is patched to comply with (D2) - pdf_font.ps, hunk #2 .
9. Fixed a bug in .pdfMakeInternalMTXArray : W2 arraytype elements wrongly
   computed the range (debugged with re-distilled Bug687603.ps).

EXPECTED DIFFERENCES :

Bug687603.ps

besides that, it generates an improved PDF for japan-.ps, Type11CDevProc.ps,
but rasters appear same because a change to the PDF interpreter compensates
changes to the PDF writer.

[lib/pdf_font.ps src/zfcid1.c src/gdevpdtc.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdtf.h]

2004-10-18T15:23:20.000000Z Igor Melichev

Fix : Degenerate segments must not paint when caps is not round.

DETAILS :

Bug 687720 "Zero length lines must not stroke".
See comment in code.


EXPECTED DIFFERENCES :

Normal 72 dpi :

"012-05.ps"
"013-05.ps"
"014-05.ps"
"015-01.ps"
"015-05.ps"
"027-01.ps"
"027-09.ps"
"032-01.ps"
"034-01.ps"
"034-10.ps"
"083-05.ps"
"123-05.ps"
"169-05.ps"
"192-01.ps"
"222-05.ps"
"298-05.ps"
"307-01.ps"
"321-05.ps"
"file2.pdf"

Normal 300 dpi :

"012-05.ps"
"014-05.ps"
"015-01.ps"
"015-05.ps"
"027-01.ps"
"027-09.ps"
"034-01.ps"
"034-10.ps"
"123-05.ps"
"169-05.ps"
"192-01.ps"
"222-05.ps"
"298-05.ps"
"307-01.ps"
"321-05.ps"
"a.pdf"
"file2.pdf"

pdfwrite 72 dpi :

"012-05.ps"
"013-05.ps"
"014-05.ps"
"015-01.ps"
"015-05.ps"
"027-01.ps"
"027-09.ps"
"032-01.ps"
"034-01.ps"
"034-10.ps"
"083-05.ps"
"123-05.ps"
"169-05.ps"
"192-01.ps"
"222-05.ps"
"298-05.ps"
"307-01.ps"
"321-05.ps"
"ai2.pdf"
"file2.pdf"

pdfwrite 300 dpi :

"012-05.ps"
"014-05.ps"
"015-01.ps"
"015-05.ps"
"027-01.ps"
"027-09.ps"
"034-01.ps"
"034-10.ps"
"083-05.ps"
"123-05.ps"
"169-05.ps"
"192-01.ps"
"222-05.ps"
"298-05.ps"
"307-01.ps"
"321-05.ps"
"a.pdf"
"file2.pdf"

[src/gxpdash.c src/gxstroke.c]

2004-10-18T08:43:43.000000Z Igor Melichev

Fix (Type 1 hinter) : Don't align glyph width to pixels.

DETAILS :

See comment in code.
Bug 687719 "PDFWRITE corrupts letter spacing/placement".

When porting this patch to GS_8_1X please note that the default value
of AlignToPixels is different in HEAD andf GS_8_1X.
Therefore this patch may cause differences witg GS_8_1X.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2004-10-15T18:24:31.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 9).
Check the Encoding compatibility while merging Type 3 glyph variations.

DETAILS :

Fixes the reopened bug 687660
"incorrect font rendering/missing glyphs from ps2pdf".

pdf_is_same_charproc1 now checks whether we try to replace
a charproc with one taken from a font with a compatible Encoding.
Before now the encoding was ingnored,
causing a subsequent failure (due to an encoding conflict)
when adding glyphs to the font copy, and an infinite loop.
As usual, the encoding compatibility
is being checked within the list of characters of a current text.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdti.c src/gdevpdtt.h]

2004-10-15T18:18:32.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 8).
Allocate a single character list per text.

DETAILS :

This change is algorithmically equivalent.
It's a preparation for fixing the reopened bug 687660
"incorrect font rendering/missing glyphs from ps2pdf".

For 1-byte fonts now we allocate a singe instance of
pdf_char_glyph_pairs_t for storing the character list for entire text.
Now it is done once per text as an extention to pdf_text_enum_t.
The intention is to provide an access to it from pdf_find_same_charproc.

CID text is still processed in chunks, which
are delimited by font changes or CDevProc callouts.
It may cause a searchability problem with some viewers,
when converting a composefont with a Type 3 descendent.
But unlikely we'll met such case in practice,
due to we have no exmples of composefont with a Type 3 descendent.

We would like to improve the CID text processing sometimes with
with building a complete character list for a text portion
delimited with font changes. The new algorithm for scan_cmap_text
should be like this : first delimit a single font portion,
then construct the character list for the portion,
and then process the portion with possible CDevProc and charproc callouts.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gxfcopy.h src/gdevpdtt.h src/gdevpdtf.h]

2004-10-15T08:55:02.000000Z Igor Melichev

Fix : toolbin/pdfinflt.ps did not decompress some streams.

DETAILS :

Patch from SaGS for the bug 687746
"gs\toolbin\pdfinflt.ps doesn't unpack a stream"

Current version of pdfinflt.ps uncompresses only streams that have a single
filter applied, and only if that single filter is /FlateDecode. Proposed
patch (attached) ads support for procesing streams with multiple filters.

However, not all decompressing filters can be removed, and not in all cases
it would be desirable to remove them. The /filterstoremove dictionary lists
filters that are to be processed, and omits filters that are to be preserved
in the output. For streams with multiple filters chained together, the new
version of pdfinflt.ps removes all filters from the first in the
decompressing chain up to, but excluding, the first filter that is to be
preserved. The list of preserved filters, with the reason why these are not
removed, follows:

/RunLengthDecode, /CCITTFaxDecode, /DCTDecode:
These are normaly used for compressing raster images. I assume the main
purpose of this tool is to decompress page streams for debugging, and
decompressing images only adds a huge amount of binary data, making harder
to find and examine content streams. If this is not the case, and getting
raw image data is necessary, simply uncomment the lines corresponding to
these filters.

/JBIG2Decode, /JPXDecode:
There's no (standard) PostScript filter that corresponds to these PDF
filters. (I think) GhostScript implements these filters in the PostScript
interpreter, but not for all platforms, so I added some detection code for
them. The preceding paragraph applies too, so I left the lines corresponding
to these filters commented out.

/Crypt (PDF1.5-specific):
This is a generic interface with decryption plug-ins, and has no PostScript
counterpart (and I don't see how it could have one).

EXPECTED DIFFERENCES :

None.

[toolbin/pdfinflt.ps]

2004-10-14T18:32:44.000000Z Ray Johnston

Add logic to capture the ENTIRE regression report to a rotating log file.
As before the ENTIRE regression report is only emailed on Mondays.

[toolbin/tests/run_nightly]

2004-10-14T17:28:51.000000Z Igor Melichev

Fix (pdfwrite) : Fixing some Type 3 encoding problems.

DETAILS :

We found that Encoding compatibility was insufficiently checked
with Type 3 glyph variations.

It's a preparation for fixing the reopened bug 687660
"incorrect font rendering/missing glyphs from ps2pdf".

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdti.c]

2004-10-13T15:31:59.000000Z Igor Melichev

Fix (pdfwrite, PDF interpreter) : Correctly handle different widths for same glyph (continued).

DETAILS :

This patch continues a long story about the handling of different widths for same glyph
in a PDF embedded font.
The last patch in this series was
http://www.ghostscript.com/pipermail/gs-cvs/2004-September/004834.html

That patch caused a problem with pdfwrite,
which needs to write an original glyph name
rather than a substituted one.

This change establish a new discipnile for
passing the original glyph name from the PDF interpreter to pdfwrite
inside a substituted glyph name, with using an
implementation specific separator (~GS~).

Before writing a font, we apply copied_drop_extension_glyphs
to remove extended glyph names. We don't like to
modify the font, but choose this minimal solution for now.
A better solution would be to introduce another flag to glyph slots
to mark ones, which to be skipped when writing the embedded font.

Bug 687740 "(pdfwrite) A character dissappeared in ADOBE1-4.pdf".

EXPECTED DIFFERENCES :

pdfwrite :

ADOBE1-4.pdf

[lib/pdf_font.ps src/gdevpdtb.c src/gxfcopy.c src/gxtype1.c src/gxfcopy.h src/gdevpdtw.c src/gxfont.h]

2004-10-12T23:08:30.000000Z Ray Johnston

Fix LZWEncode filter to use the EarlyChange parameter and also correct the
tifflzw device to initialize EarlyChange to the proper value (1).
Bug 687726.

DETAILS:

The LZWEncode filter failed to use the EarlyChange param but the LZWDecode
did honor this setting. The LZWEncode always acted as if EarlyChange = 1
which since that was the default, worked as long as the Decoder wasn't set
for EarlyChange == 0.

Also, now that the Encoder honors EarlyChange = 0, the tifflzw device needed
to have the flag set correctly (it needs EarlyChange == 1).

EXPECTED DIFFERENCES:

430-01.ps

[src/slzwe.c src/gdevtfax.c]

2004-10-08T22:55:16.000000Z Igor Melichev

Fix (pdfwrite) : *bfrange boundaries may differ in the last byte only.

DETAILS :

The PDF specification requires so.
Bug 687737 "can't select text in distilled pdf".

EXPECTED DIFFERENCES :

None.

[src/gsfcmap.c]

2004-10-08T13:27:21.000000Z Igor Melichev

Fix (pdfwrite) : The function same_type42_hinting was indeterministic.

DETAILS :

It compares few TrueType tables for equality,
but didn't work out the case when a table is absent.
In that case the bahavior was indeterministic.

Bug 687736 "pdfwrite hangs (or takes really long) on input file".
It created too many font copies and spent lots of time
for garbage collection.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c]

2004-10-07T21:12:28.000000Z Alex Cherepanov

Don't overwrite CFLAGS variable if it is already defined.
Bug 687739

[src/msvc32.mak]

2004-10-07T05:18:34.000000Z Ray Johnston

Fix initialization of C stack streams that did not perform s_init().
Bug 687709 that could result in a Segmentation Fault (SEGV)

DETAILS:
The normal s_alloc() streams included s_init() on the allocated stream,
but C stack streams could have uninitialized elements in the stream struct.
Since this was UMR related, and affected the clist mode, the jpeg device
and the pswrite device (and possibly some pdfwrite data), this would be
different on different platforms.

The premature 'CloseTarget' action when the stream->close_strm was not
initialized as 0 (false) would show up as a SEGV when the -Z@ was used.
Other problems that this patch fixes are not linked to a test file at
the current time.

This change also corrects a trivial typo and a NUL character found in
src/gxtype1.c as a header file related warning in src/imain.c

[src/gdevpsu.c src/gdevpsim.c src/gxfcopy.c src/gdevpsf1.c src/gdevpsf2.c src/gdevpsft.c src/gdevpdfc.c src/gdevpdtw.c src/iccfont.c src/gdevlj56.c src/imainarg.c src/gxclrast.c src/gdevps.c src/gxclread.c src/gxclimag.c src/gdevjpeg.c src/stream.c src/gdevpdfm.c src/imain.c src/gdevpdtb.c src/gxtype1.c src/gsfunc4.c src/gxclpath.c]

2004-10-06T14:12:01.000000Z Ralph Giles

Add a missing dependency on version.mak to the generation of gconfigd.h.
Without this the revision number isn't correctly updated in an incremental
build. Closes bug 687733.

[src/gs.mak src/version.mak]

2004-10-06T11:32:17.000000Z Igor Melichev

Fix (TrueType interpreter) : Calls to user defined instructions were not implemented.

DETAILS :

This implements IDEF and user defined instructions calls
according to the TrueType specification by Apple
http://developer.apple.com/fonts/TTRefMan/ .

EXPECTED DIFFERENCES :

None.

[src/ttobjs.c src/ttinterp.c src/ttobjs.h]

2004-10-05T12:45:29.000000Z Igor Melichev

Fix : The 'gslibctx' patch had broken FAPI.

DETAILS :

A memory context pointer was added with no initialization.

EXPECTED DIFFERENCES :

None.

[src/zfapi.c]

2004-10-05T10:24:36.000000Z Igor Melichev

Fix (Type 1 hinter) : 'int32' conflicts with AIX compiler standard types.

DETAILS :

Bug 687723 "type conflicts in gxhintn.h"

EXPECTED DIFFERENCES :

None.

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

2004-10-04T17:28:34.000000Z Igor Melichev

Fix : Optimize gs_c_decode with a binary search.

DETAILS :

Bug 687102 "Optimize gs_c_decode".
Patch from John Desrosiers.

EXPECTED DIFFERENCES :

None.

[toolbin/encs2c.ps src/gscedata.h src/gscencs.c src/gscedata.c]

2004-10-02T01:45:27.000000Z Alex Cherepanov

Add TrivialCMYK color space, which simulates standard PostScript CMYK
to RGB conversion on device-independent level.
Fix bug 687711

[DETAILS]
Recent versions of Adobe Acrobat simulate on screen the appearance
of printed documents when the color of an object is specified
in DeviceCMYK color space. The resulting dark colors can be undesirable
for presentation graphics. TrivialCMYK can help when the user had
RGB colors in mind, but for some reason used CMYK colors instead in the
document.

[Resource/ColorSpace/DefaultCMYK Resource/ColorSpace/TrivialCMYK Resource/ColorSpace/DefaultRGB]

2004-10-01T23:36:53.000000Z Russell Lang

Change OS/2 gx_color_index from 32 to 64 bits to allow better
support for DeviceN.

[src/os2.mak]

2004-10-01T23:35:02.000000Z Russell Lang

Fix for 687706 Display device 8-bit native incorrectly dithers grays.
This is a partial fix and also needs Dan Coby's fixes to the post
DeviceN halftoning.  The DeviceRGBK color model is added.

DETAILS:
Prior to GS 8, the display device 8-bit native format would use 32
gray levels to avoid halftoning, and a 4x4x4 color cube which did use
halftoning.  The halftoning logic was changed with the introduction
of DeviceN and in GS 8 both grays and colors were being halftoned.

The DeviceRGBK color model is added and used by the display device
native 8-bit format.  The RGB color space to RGBK color model
conversion converts pure RGB grays to the K (black/gray additive)
component.  This allows the 32 gray levels to be recognised by the
halftoning logic as being sufficient to avoid halftoning.

[src/gdevdsp.c src/gxcmap.c src/gxcmap.h src/zcolor.c]

2004-10-01T03:40:35.000000Z Dan Coby

Fix for 687718 The tiffsep device fails when the size of gx_color_index is 32 bits

DETAILS:

The comments on bug 687705 "Compile of 8.31 fails on OS/2" point out that the
tiffsep device fails during device initialization if the size of
gx_color_index is 32 bits.

This is due to a recent change which made the default number of components for
this device equal to 8.  This works if the size of gx_color_index is 64 bits.
But it fails with 32 bits.

This fix changes the default number of components for this device to be
based upon the size of gx_color_index.  It also changes the psdcmyk device
to use the same logic for its default number of components.

This fix also includes changes to doc/Devices.htm which explains that the number
of components will differ based upon the size of gx_color_index (and a link
giving more details on gx_color_index).  More information about the parameters
for the tiffsep device is given including an example command line.

[src/gdevpsd.c src/gdevtsep.c doc/Drivers.htm]

2004-09-30T17:31:11.000000Z Igor Melichev

Fix : Moving type1_cis_get_metrics to the graphics library.

DETAILS :

Doing so since copied_type1_glyph_outline calls it.
This change is algorithmically equivalent.
Thanks to Stefan for pointing this out.

EXPECTED DIFFERENCES :

None.

[src/gxtype1.c src/zchar1.c]

2004-09-30T06:37:01.000000Z Dan Coby

This is a partial fix for 687706 Display device 8-bit native incorrectly
dithers grays.  Russell Lang is improving the 8-bit (256 color) display
device to allow more shades of gray.  This change is required for that
effort.

DETAILS:

The pre 8.00 release had more gray levels for the 8-bit display device
but the pre 8.00 release had other related problems in halftoning.  The
fix for those problems eliminated the extra gray levels.

Russell's effort dug up some problems with the handling of halftones
for devices in which the max_color and max_gray values are different
and gray_index is set to an actual component number.  This fix corrects
those problems.

Russell has a patch for the remainder of the effort.  His changes
involve changing the 256 color display device to use a DeviceRGBK process
color model:  red, green, blue and an additive black (gray).  New
device color mapping procs also have been created for this process color
model.  (This is the first example of this process color model in
Ghostscript.)

[src/gxdevice.h src/gxdevndi.c]

2004-09-29T21:36:56.000000Z Igor Melichev

Fix (the filling algorithm) : Unite trapezoids if they have a common side.

DETAILS :

Bug 687716 "Assertion fails in gzspotan.c".
The spot analyzer can't reconstruct the topology when there are
two trapezoids with a common side.

We patched the spot decomposition algorithm with
uniting such trapezoids, because (1) it's too hard to
unite them in the "spotan" device, and (2)
the post-condition of the spot decomposer simplifies.

For more details see a new comment in code.

This patch causes a rendering difference.
We believe that a big part of differences happens due to the bug 687717,
which is currently unfixed due to the QA overload.

If the bug 687717 is fixed before this patch,
a small rendering difference can also appear,
because we unite trapezoids by the equality of x_current, x_next,
which have an arithmetic error. Therefore ununited trapezoids
may have a pixel center between them, which is not painted,
but shifting a boundary to x_current, x_next the pixel center
may fall into a trapezoid, then it is covered by the union and painted.

Besides that, with dropout prevention, a pixel set for the union of
two trapezoids may differ from the union of pixel sets for ununited trapezoids
when at least one of the trapezoids is narrow.
Particularly, two narrow trapezoids may paint 2 pixels,
but its (narrow) union does a single pixel.
Contacting trapesoids are not regular in characters,
which only use a dropout prevention,
but the test file of the bug 687698 (same as for 687667)
demonstrates some ones in a CJK TT font,
which composes hieroglyphs from subglyphs with a deformation and shifting.

EXPECTED DIFFERENCES :

normal 72dpi :

"181-01.ps"
"222-05.ps"
"222-09.ps"
"289-01.ps"
"307-07.ps"
"86554321.pdf"
"bulletin.pdf"
"KozukaB-ILEmbed.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"waterfal.ps"

normal 300dpi :

"012-05.ps"
"012-09.ps"
"013-05.ps"
"013-09.ps"
"123-05.ps"
"123-09.ps"
"222-09.ps"
"289-01.ps"
"307-07.ps"
"86554321.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"

pdfwrite 72dpi :

"181-01.ps"
"222-05.ps"
"222-09.ps"
"307-07.ps"
"86554321.pdf"
"Bug687603.ps"
"bulletin.pdf"
"KozukaB-ILEmbed.pdf"
"S2_Digitalproof-Forum_x3k.pdf"

pdfwrite 300dpi :

"012-05.ps"
"012-09.ps"
"013-05.ps"
"013-09.ps"
"123-05.ps"
"123-09.ps"
"222-09.ps"
"307-07.ps"
"86554321.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"

[src/gxfilltr.h]

2004-09-29T19:10:27.000000Z Igor Melichev

Fix (pdfwrite) : Handle more than 32 TrueType subglyphs.

DETAILS :

Bug 687698  "Cannot extract the embedded font" error message

1. The old code run out an implementation limit MAX_GLYPH_PIECES.
2. Error code was not propagated.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c]

2004-09-29T11:34:08.000000Z Igor Melichev

Fix : Don't apply fill adjustment when stroking a character.

DETAILS :

Bug 687667 "Line width in a Type 1 stroked font".


EXPECTED DIFFERENCES :

-r300 CAT_LOGO.ps

[src/zchar1.c]

2004-09-28T21:45:35.000000Z Igor Melichev

Fix : Pattern metrics was imprecize.

DETAILS :

Bug 687581 "A pattern truncated".
This bug is a regression since the December 09 2003 revision.

We still think that we insufficiently understand the Adobe's method,
but now we've got one closer to CPSI than it was before the December 09 2003 revision.
Particularly the pattern step now appears better than on December 09 2003.

This patch includes a change, which is well defined by the math :
the usage of float2fixed_rounded instead float2fixed.
It is a part of the PRECISE_CURRENTPOINT stuff.

The rest of the patch is a kind of hewristic.
We guessed that a pattern size should always round up to allow
a similar logics as for a clipping - "any part of pixel inside".

As before December 09 2003, we improved the case with neither skewing nor rotation.
A further work on the general case may be useful.

At last, some old problems, which existed on December 09 2003,
are still unfixed. An example is -r300 298-09.ps :
a line appears outside the pattern box.
For now living them as they are, because
the primary purpose of this patch is to fix regressions.

EXPECTED DIFFERENCES :

normal 72 dpi :

"176-01.ps"
"255-01.ps"
257-01.ps"  (A dashed line became wider due to a CTM
             coefficient slightly increased,
             and therefore it now looks contiguous.
             It's not a regression.)
"269-01.ps"
"289-01.ps"
"296-01.ps"
"303-01.ps"
"Bug687396.ps"


normal 300 dpi :

"012-09.ps"
"013-09.ps"
"014-09.ps"
"015-09.ps"
"027-13.ps"
"034-10.ps"
"035-07.ps"
"045-01.ps"
"083-09.ps"
"103-01.ps"
"118-01.ps"
"123-09.ps"
"169-09.ps"
"176-01.ps"
"192-01.ps"
"205-09.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"222-09.ps"
"231-01.ps"
"250-01.ps"
"257-01.ps"
"264-01.ps"
"269-01.ps"
"289-01.ps"
"297-01.ps"
"298-09.ps"
"307-07.ps"
"310-04.ps"
"311-03.ps"
"468-01.ps"
"Bug687396.ps"
"mspro.pdf"


pdfwrite 72 dpi :

"176-01.ps"
"212-01.ps"
"214-01.ps"
"257-01.ps" (same as above)
"269-01.ps"
"303-01.ps"
"Bug687396.ps"

pdfwrite 300 dpi :

"012-09.ps"
"013-09.ps"
"014-09.ps"
"015-09.ps"
"017-01.ps"
"027-13.ps"
"034-10.ps"
"035-07.ps"
"045-01.ps"
"083-09.ps"
"103-01.ps"
"118-01.ps"
"123-09.ps"
"169-09.ps"
"176-01.ps"
"192-01.ps"
"205-09.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"222-09.ps"
"231-01.ps"
"244-01.ps"
"245-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"250-01.ps"
"255-01.ps"
"257-01.ps"
"258-01.ps"
"264-01.ps"
"269-01.ps"
"270-01.ps"
"297-01.ps"
"298-09.ps"
"307-07.ps"
"310-04.ps"
"311-03.ps"
"321-09.ps"
"327-01.ps"
"468-01.ps"
"Bug687396.ps"
"mspro.pdf"

[src/gsptype1.c]

2004-09-28T05:34:29.000000Z Ralph Giles

Export the prototype for gcst_get_memory_ptr() which is now used by
ilocate.c as well as igc.c to igc.h so it is available in both files.
Remove the cast that was papering over the warning this causes.
Completes the fix for bug 687617.

[src/ilocate.c src/igc.c src/igc.h]

2004-09-28T02:26:45.000000Z Alex Cherepanov

Remove a comment about LZW-compatible code that is no longer apply.
Bug 687554.

[src/Makefile.in src/openvms.mmk]

2004-09-28T00:45:26.000000Z Ralph Giles

Cast the read standard illuminant to icIlluminant instead of
icStandardFlare inside icmMeasurement_read() inside the icc
library. Not really our code, but resolves an enum mis-match
warning. Bug 687694.

[icclib/icc.c]

2004-09-28T00:35:14.000000Z Ralph Giles

Add string_.h to some files missing prototypes. Bug 687694.

[src/lib.mak src/gxpflat.c src/devs.mak src/gdevps.c]

2004-09-28T00:25:45.000000Z Ralph Giles

Add stdio_.h to the makefile dependencies for gslibctx.c.

[src/lib.mak]

2004-09-28T00:08:21.000000Z Ralph Giles

Properly include the portability version of the stdio error. Corrects
type confict problems on HP-UX. Closes bug 687689.

[src/gslibctx.c]

2004-09-27T21:14:00.000000Z Russell Lang

Fix bug #687705 Compile of 8.31 fails on OS/2.

[src/gdevos2p.c src/gp_os2.c src/os2.mak]

2004-09-27T13:13:02.000000Z Igor Melichev

Fix (Type 1 hinter) : A further improvement of the glyph rendering quality, step 3.

DETAILS :

Don't reset zone alignment.
Bug 687578 "T1 hinter disturbs stem width", Comment #8.


EXPECTED DIFFERENCES :

normal 72 dpi :

"045-01.ps"     ("s" now aligns with the upper zone).
"Bug687603.ps"


normal 300 dpi :

"CIDembedded.pdf"  ("b", "d" now aligns with the bottom zone).

pdfwrite 72 dpi :

"045-01.ps"

pdfwrite 300 dpi :

"chess.ps" (a sloped line hints better).
"CIDembedded.pdf"

[src/gxhintn.c]

2004-09-27T04:55:00.000000Z Ray Johnston

Fix SEGV caused by premature free of the bbox device with high level
devices that use the bbox_device of the vector high level device.
Bug 687631.

DETAILS:

The vector device allocated a bbox device, but never incremented the
reference count past zero, so any use of the device that added a forwarding
device with that bbox_device as the target would free the bbox device
when that forwarding device closed. This happens with clipped images
or images that use ROP's since a clipping ROP forwarding could be used.

[src/gdevvec.c]

2004-09-26T21:17:45.000000Z Ray Johnston

Add missing source file (it hadn't been 'added', so it did not get included
on the previous LZWEncode commit.

[src/slzwe.c]

2004-09-26T16:19:27.000000Z Ray Johnston

Add the LZWEncode filter that actually compresses using the LZW method,
rather than the dummy encoder in slzwce.c that expanded the input, but
that avoided the patent issues. Bug 687554.

Also fix a long standing issue in filter closing that failed to flush the
target stream after the final s_process_write_buf with 'last' == true.
Bug 224134.

DETAILS:

The LZWEncode filter was moved over from an older version of Ghostscript
that actually had a working LZWEncode.

The s_filter_close logic (discussed at length in bug 224134) was fixed
to be consistent with the specification and with Adobe. While the
target stream is not closed (per the specification unless CloseTarget is
true), the specification *DOES* call for an automatic 'flushfile' which
is supposed to be propagated down the filter chain.

[src/openvms.mak doc/Projects.htm src/macosx.mak src/watcw32.mak src/dvx-gcc.mak doc/Ps2pdf.htm doc/Develop.htm src/unixansi.mak src/msvclib.mak src/os2.mak src/stream.c src/lib.mak src/bcwin32.mak doc/Issues.htm src/zfilter2.c src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak src/slzwce.c]

2004-09-25T21:48:29.000000Z Jack Moffitt

Fix error with automatic baseline creation for files which contain spaces
in their names.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_pdfwrite.py]

2004-09-25T20:27:25.000000Z Ralph Giles

Remove the 'makegnu' utility. It is out of date, and recent changes to
the documentation structure have rendered its automation more-or-less
unnecessary. The appropriate steps to convert releases are now
documented in doc/Release.htm.

[toolbin/makegnu.tcl]

2004-09-25T20:24:00.000000Z Ralph Giles

Toolbin cleanup. Remove the extensionless shell wrappers for convenience
utilities, except for gsmake where is aesthetically reasonable. Typing
the script extensions for these little-used commands isn't a hardship.

[toolbin/tmake toolbin/cvs2hist toolbin/makehist toolbin/makegnu toolbin/maketars toolbin/makefonts toolbin/makeset toolbin/makemaster toolbin/makewin]

2004-09-25T20:19:01.000000Z Ralph Giles

Update some remaining occurances of 'GNU Ghostscript' to 'GPL
Ghostscript'.

[doc/Readme.htm doc/Make.htm doc/Public.htm doc/Commprod.htm doc/New-user.htm]

2004-09-22T15:35:36.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/zchar1.c]

2004-09-22T15:32:59.000000Z Igor Melichev

Fix (pdfwrite) : Alwasys write the file ID in hexadecimal encoding.

DETAILS :

Bug 687688  "PDF file identifier uses non-alphanumeric characters".
The previous patch was committed by error.
This one fixes that, unwinding the last patch.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c src/gdevpdfu.c]

2004-09-22T15:23:44.000000Z Igor Melichev

Fix (pdfwrite) : Alwasys write the file ID in hexadecimal encoding.

DETAILS :

Bug 687688  "PDF file identifier uses non-alphanumeric characters".

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2004-09-22T14:15:18.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/ichar1.h]

2004-09-22T13:52:36.000000Z Igor Melichev

CDevProc|Metrics|Metrics2 did not work with CIDFontType 0.

DETAILS :

Bug 687681 "Character spacing incorrect".
The old implementation, which comes from the gs-cjk team,
has a bug accessing the replaced metrics of a CIDFontType 0 font,
which effectively caused the replaced metric to be ignored with CIDFontType 0 fonts.

1. Bug : With CIDFontType 0, CDevProc|Metrics|Metrics2 was searched
   in the descendent type 1 or 2 font rather than in the parent type 9 font.

   1.1. A Type 9 font needs to be accessed via a descendent Type 1|2 font
        in pfont->procs.glyph_info. Added a new field gs_type1_data_s::parent,
        and provided an access through it with a new function gs_font_parent.

   1.2. Metrics|Metrics2 is now accessed through gs_font_parent.

   1.3. To access CDevProc implemented a new function zchar_get_CDevProc,
        which also works through gs_font_parent.

   1.4. gs_type1_data_s::parent needs to reset while a type 9 font finalization,
        due to a reason, which we could not understand for sure.
        Likely descendent fonts appear to have a bigger lifetime than
        their parent type 9 font. Probably the descendents are pointed from
        somewhere besides FDArray (maybe the font registry ?
        or maybe after scaling the type 9 font from a type 9 copy ?),
        and we think it's not good.
        We believe that they should be released together with the type 9 font.
        For now leaving it as it is, working around with a hack notify_remove_font_type9.

   1.5. In stable font copies gs_type1_data_s::parent is set to NULL
        to simplify the finalization. They are not used now.

2. Bug : In some cases the glyph bytecode was used instead the CID
   as a key for searching a Metrics|Metrics2 element (zchar1.c).

3. Bug : The PDF interpreter wrongly scaled W,W2,DW,DW2 for CIDFontTYpe0 (pdf_font.ps).

4. pdfwrite : Improved the generation of W, W2 for CID fonts,
   because after implementing (1) re-distilled 401-01.ps rendered incorrectly.

   4.1. Prefer a non-zero width when computing DW, DW2 (gdevpdtw.c)
        (debugged with 401-01.ps).

   4.2. Don't skip zero W, W2 elements. The old code recognized zeros as
        unused glyphs, but must do with the real glyph set in the font copy
        (debugged with the test file of the bug 687681).

5. zcharstring_outline still ignores CDevProc. We believe that it is correct,
   because it is used to compute font features with no dependence on
   the relaced metrics.

6. pdfwrite : Allowed a CDevProc callout for CIDFontType 0, because
   pdfwrite needs to know replaced widths, as well as it was done a half year ago
   for CIDFontType2. Actually after implementing (1) pdfwrite stopped
   to work correctly when re-distilling a PDF file with CIDFontType0,
   due to now it uses W,W2,DW,DW2.

   6.1. A new function z1_set_cache is defined for this purpose
        similarly to zchar42_set_cache.

   6.2. gs_font_procs::glyph_outline now retrieves the side bearing and width.
        Added a new argument 'sbw' to all implementations.

      6.2.1. Currently this function extension is implemented for charstring fonts only,
          which need to interpret a charstring to retrieve the info :
          type 1,2,9, because we don't want to run the type 1 interpreter 2 times
          for getting sbw and bbox. Other font types retrieve zeros,
          which currently are not used.

      6.2.2. type1_cis_get_metrics has been made public.

7. We believe that the implementation of W,W2,DW,DW2 in the PDF interpreter,
   which was contributed by the gs-cjk team, is unreasonably overcomplicated,
   because it is based on CDevProc, which needs an interpreter callout,
   which appears extremily hard from pdfwrite.
   For now leaving it as it is (except a small improvement in (3)).
   We would like to generate Metrics, Metrics2 instead that.
   Note that a small part of this patch (the part (1)) is necessary
   for generating Metrics, Metrics2 for CIDFontTYpe 0.

EXPECTED DIFFERENCES :

Almost all differences are a single pixel glyph shift.

normal 72dpi :

"Altona.Page_3.2002-09-27.pdf"
"HeiseiMinStd.pdf"
"KozukaB-ILEmbed.pdf"
"Openhuis_pdf_zw.pdf"
"RodinCIDEmbed.pdf"

normal 300dpi :

"289-01.ps"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"
"CIDembedded.pdf"
"HeiseiMinStd.pdf"
"KozukaB-ILEmbed.pdf"
"Openhuis_pdf_zw.pdf"
"RodinCIDEmbed.pdf"

pdfwrite 72dpi :

"Altona.Page_3.2002-09-27.pdf"
"HeiseiMinStd.pdf"
"KozukaB-ILEmbed.pdf"
"Openhuis_pdf_zw.pdf"
"RodinCIDEmbed.pdf"

pdfwrite 300dpi :

"CIDembedded.pdf"
"HeiseiMinStd.pdf"
"KozukaB-ILEmbed.pdf"
"Openhuis_pdf_zw.pdf"
"RodinCIDEmbed.pdf"

[src/ichar1.h lib/pdf_font.ps src/gxfcopy.c src/zfcid0.c src/zfcid1.c src/gstype42.c src/zfont1.c src/gdevpdtt.c src/icharout.h src/gdevpdtw.c src/zchar1.c src/gxfont1.h src/zcharout.c src/gsfont.c src/gxtype1.c src/zfont42.c src/gxtype1.h src/zchar.c src/gxfont.h]

2004-09-22T00:37:12.000000Z Dan Coby

Move the definition of gs_overprint_t from gsovrc.c to gsovrc.h.  This
makes this structure definition available to future devices which may
want to define their own overprint compositor.

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

2004-09-21T22:30:35.000000Z Dan Coby

Correct some gcc warnings.

[src/gdevdevn.c src/zcolor.c]

2004-09-21T10:00:40.000000Z Igor Melichev

Fix (pdfwrite) : Generate an error message when pdfmark points beyond the last page.

DETAILS :

Fixes the bug 687693 "A dangling reference from DOCVIEW pdfmark".
We want to return error code, but currently we don't due to
bug 687686 "Ghostscript creates bad xref from ADOBE1-4.pdf".


EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdf.c]

2004-09-20T23:28:24.000000Z Dan Coby

Partial fix for 687657 Text in transparency mask yields rangecheck in
discardtransparencymask.

DETAILS:

Three problems have been found with this file.

The rangecheck is actually a secondary effect.  The actual problem
was a typecheck in setrgbcolor.  However that error occurred inside
a stopped context.

1) The file has a mask group.  This group specifies a color space (CS).
The previous code set the current color space to the given value.
However the FillColorSpace and StrokeColorSpace were not set.  As a
result, a DeviceRGB color space was being used instead of the specified
DeviceGray color space.  This resulted in a mismatch in the number
of operands when the color as set (1 versus 3).  The fix consists of
setting both StrokeColorSpace and FillColorSpace when a mask group
contains a CS value.

2) The file uses scn for setting color values for a DeviceGray color
space.  FillColor and StrokeColor can contain wither a single numeric
value (which is common but not required for DeviceGray) or an array
of values for all other color spaces.  The scn and SCN operators were
always assuming that these values always contained arrays.  The fix
consists of checking for the non array cases in the operators.

3) The appearance produced by Ghostscript with the test file does not
match Adobe.  A solid magenta rectangle is produced by Ghostscript.
Adobe shows magenta text.  This problem is NOT fixed by this patch.
Note:  If the test file is opened with Illustrator CS and then saved,
Ghostscript does produced the same appearance as Adobe for the saved
file.  The reason for the differences are not currently known.  However
there are some more details in the bug report on this issue.

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

2004-09-20T22:14:59.000000Z Dan Coby

Fix for 687403 Poor halftoning for 16 color (4 bit) devices.

DETAILS:

This bug is a brother to bug 687390.  That bug was for 256
color (8 bit) devices.  Russell Lang suggested testing the 4 bit
devices and they were found to have problems caused by the same
logical error.  The halftoning logic assumes that all components
for a device have the same number of shades.  This was not true
for the implementations of the 4 and 8 bit color devices.
This fix converts the 16 color devices to using a 2x2x2 cube.

Note:  A possible future enhancement would be to convert these
devices to using a 4 level gray for shades of pure gray (R = G
= B).

[src/gdevdsp.c src/gdevpccm.h src/gdevpcfb.c src/gdevpcx.c src/gdevpm.c src/gdevbmp.c src/gdevpccm.c src/gdevpng.c src/gdevmswn.c src/gdevmgr.c]

2004-09-20T21:42:12.000000Z Dan Coby

Fix for 687664 tiffsep sometimes producing apparently corrupt files
sometimes.

DETAILS:

The tiffsep device did not properly handle multiple page input files.
This change adds multiple page handling to the tiffsep device.  Most
of the various tiff related routines already properly handled multiple
pages so changes were only required inside the tiffsep device.

The changes consists of:

1.  Moving several variables which were local to tiffsep_print_page
into the tiffsep device structure and adding initialization.  These
variables provide state information to the general tiff handling
routines and the file pointers for the separation files.

2.  Add logic for determining if the output file name includes a
numeric format specification.  If so then we create individual separation
files for each page.  If not then we create a single file for each
separation.

3.  A device close procedure was added to ensure that the separation
files were closed.

[src/gdevtsep.c]

2004-09-20T16:21:28.000000Z Igor Melichev

Fix (pdfwrite) : Could merge fonts with insufficient subrs.

DETAILS :

Bug 687675 "ps2pdf13 gives ERROR -15 closing the device"
happened due to an inaccurate computation of Subrs array inclusion.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c]

2004-09-20T13:06:10.000000Z Igor Melichev

Fix : Degenerate curves could cause a too big number of flattened curve segnments.

DETAILS :

Bug 687653 "-dNOTRANSPARENCY still allocates large buffers".
Actually the problem happens due to the bbox device
sets a high resolution, and degenerate curves with zero X or Y variation
use "the conservative method" in gx_curve_log2_samples.
With this change degenerate curves will render as line segments.

EXPECTED DIFFERENCES :

golfer.eps At 72dpi (a 2 pixels difference).

[src/gxpcopy.c]

2004-09-20T10:50:54.000000Z Russell Lang

Fixes bug #687690 MSVC6 warning in dwimg.c.

[src/dwimg.c]

2004-09-20T09:59:29.000000Z Igor Melichev

Fix : vd_save caused a yntax error in a release build.

DETAILS :

See the comment added to vdtrace.h :
   /* NOTE :
  	    Use vd_save at end of the definition group of a  block,
  	    because in release build it compiles to the empty operator. */

EXPECTED DIFFERENCES :

None.

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

2004-09-20T06:48:29.000000Z Raph Levien

Changes bbox device forwarding logic so that get_page_device requests
are always forwarded to the target. Fixes bug #687421. Note: this change
backs out a change made to gdevnfwd.c between GS 4.70 and 4.80, with a
confusing explanation in the change notes. Changes to the page device
behavior in forwarding devices would not be surprising. See the code
review notes linked from the bug for more details.

[src/gdevbbox.c src/gsovrc.c src/gdevnfwd.c]

2004-09-20T06:13:03.000000Z Ray Johnston

Fix handling of CMaps to be able to handle large number of CMap entries
seen with some (Adobe) CMap files. Also fix name of a CMap file and
remove garbage at the end of one of our CMap files. Bug 687555.
Thanks to Alex Cherepanov for the changes to allow large CMaps.

[Resource/CMap/Adobe-Korea1-H-Mac src/zfcmap.c Resource/CMap/Adobe-CNS1-ETenms-B5 lib/gs_cmap.ps Resource/CMap/Adobe-CNS1-ETen-B5]

2004-09-20T00:19:14.000000Z Jack Moffitt

Sets explicit umask for nightly regression run.  Fixes Bug #687648.

[toolbin/tests/run_nightly]

2004-09-19T23:56:53.000000Z Jack Moffitt

Fix support for filenames that include spaces.  Also add '.ai' as a PDF
type extension.

[toolbin/tests/gstestgs.py]

2004-09-19T23:55:08.000000Z Jack Moffitt

Fix a typo made by someone's previous commit.

[toolbin/tests/gscheck_pdfwrite.py]

2004-09-19T17:05:21.000000Z Jack Moffitt

Added new gsutil module for utility functions.  Changed all file extension
checks to use new gsutil.check_extension().  Added support for '.ai' as
a file extension.  This should fix the problem of several files in
comparefiles not making it into the nightly runs.

[toolbin/tests/gsutil.py toolbin/tests/update_pdfbaseline toolbin/tests/gscheck_raster.py toolbin/tests/make_testdb toolbin/tests/gscheck_pdfwrite.py toolbin/tests/revert_pdfbaseline toolbin/tests/update_baseline toolbin/tests/revert_baseline]

2004-09-19T16:32:28.000000Z Jack Moffitt

Add log rotation for the Ghostscript stdout and stderr logs.  Fixes
Bug #687574.

[toolbin/tests/run_nightly toolbin/tests/testing.cfg.example]

2004-09-18T22:00:38.000000Z Russell Lang

Fixes bug #687683 "gswin32c : Ctrl+C doesn't stop the application".
Make Ctrl+C in the image window act the same as Ctrl+C in the
console window, which generates a signal to exit the process.

[src/dwimg.c]

2004-09-17T06:14:16.000000Z Dan Coby

Fix for 687625 Incorrect spot color behavior in tiffsep.  Garbage
text was being printed for the spot color names.

DETAILS:

The problem was with the allocation and GC enumeration logic for the
storage for the storage for the spot color names.  Thus the problem
was only apparent after the GC relocation logic had executed.

The fix involves adding enumeration logic for the gs_param_string
structure and correcting the allocation of storage for the data.

Note:  The file src/gdevdevn.c was missed in the previous commit on
this topic.

[src/gdevdevn.c]

2004-09-17T05:55:57.000000Z Dan Coby

Fix for 687625 Incorrect spot color behavior in tiffsep.  Garbage
text was being printed for the spot color names.

DETAILS:

The problem was with the allocation and GC enumeration logic for the
storage for the storage for the spot color names.  Thus the problem
was only apparent after the GC relocation logic had executed.

The fix involves adding enumeration logic for the gs_param_string
structure and correcting the allocation of storage for the data.

[src/gsparam.h]

2004-09-17T05:42:19.000000Z Ralph Giles

Use PSOBJDIR as a staging area for the name-rewritten scripts at unix
install time. We previously used 'sed -i' to modify the installed file
in place, but this option is a recent extension and insufficiently
portable. The install script also isn't capable enough to accept files
through pipes, so we much have an intermediate staging area. PSOBJDIR
should be a safe place to write to for this purpose. Fix for 686863.

[src/unixinst.mak]

2004-09-16T15:14:53.000000Z Igor Melichev

Fix (PDF interpreter) : Correctly handle different widths for same glyph.

DETAILS :

Bug 687672  "incorrect font rendering".

An Encoding may specify various character codes for same glyph, and
Widths may specify different widths for those codes.
Thus same glyph may be used with different widths.

This patch continues a long story about the handling of different widths for same glyph,
which includes my old hacks (pdf_font.ps Revision 1.22 and 1.26)
and Alex's change pdf_font.ps Revision 1.57 .
Alex defines new glyph names for same glyph to resolve the widths conflict.
After the Alex's change my old hacks appear low useful, and can be removed.

This patch
1. Removes the hacks;
2. Improves the Alex's change with the case when CharStrings has no referred glyph
   (debugged with 1_2001.pdf)
3. Improves the Alex's change with minimizing a number of newly generated names,
   because the test file of the bug 687672 maps many charcodes to .notdef with various widths.

Here is a list of bugs related to this change :

687672
623292
467492
517474
444366

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps lib/pdf_ops.ps]

2004-09-16T08:03:56.000000Z Igor Melichev

Fix : A library context was not provided for bbox device.

DETAILS :

BBox device needs a library context for gs_next_id called from gx_image_enum_common_init.
It was not provided when the bbox device has no target.

We assume that the bbox device behavior doesn't depend on availability of a memory pointer -
likely it is so from reading the code.

Bug 687671 "epswriter it's not working at all."

EXPECTED DIFFERENCES :

None.

[src/gslib.c src/gdevbbox.c src/gdevvec.c src/gdevbbox.h src/gximag3x.c]

2004-09-16T07:46:14.000000Z Ralph Giles

Fix a typo in and earlier commit.

[src/unixinst.mak]

2004-09-16T06:57:43.000000Z Igor Melichev

Fix : A syntax error in a recent patch.

EXPECTED DIFFERENCES :

None.

[src/gdevbbox.c]

2004-09-15T19:41:01.000000Z Ray Johnston

Remove trailing ^M on lines in several commits by alexcher.

[src/dwimg.h src/iscannum.c src/dwtrace.h src/dwmain.c src/gdevbbox.c src/dwmainc.c src/zdevice.c src/gs.c src/unistd_.h src/gdevwdib.c src/stream.c]

2004-09-15T11:46:41.000000Z Alex Cherepanov

Fix the problems reported by HP aC++/C compiler but unrelated to the crash.
Partial fix for 687643

[DETAILS]
gs.c, int.mak - include the prototype of gs_malloc_init()
ttfmain.c - fix partly initialized FixMatrix m;
gdevpsd.c - allocate 4 elements for CMYK, not 3

[src/gdevpsd.c src/int.mak src/ttfmain.c src/gs.c]

2004-09-15T07:59:18.000000Z Igor Melichev

A new implementation of shadings, step 87.

DETAILS :

Contrary to PLRM3 page 689, Background was not ignored with shfill.
Adding gs_pattern2_instance_s::shfill for that.
Bug 687673 "Axial shadings differ from Adobe".

EXPECTED DIFFERENCES :

Background isn't painted with 'shfill' (a progression) :
"464-01.ps"
"483-01.ps"
"483-05-fixed.ps"

[src/lib.mak src/gsptype2.c src/gsptype2.h src/gscolor3.c]

2004-09-15T07:21:01.000000Z Igor Melichev

A new implementation of shadings, step 86.

DETAILS :

1. Implemented gx_shade_background with a compatible INTERPATCH_PADDING logic
   for filling a background.
2. The clipping logic in gdevdsha.c must be "any ppart of pixel inside",
   as it is in other places.
3. Dont need adjust_swapped_boundary for clipping rectangles (gxshade6.c).
4. INTERPATCH_PADDING is enlarged to half pixel. See comment in code.
5. Optimized with a better clipping in gx_shade_trapezoid.

Completes the fix for 687585 "A shading renders narrower than its background".

EXPECTED DIFFERENCES :

Shadings render slightly different :

"442-01.ps" 
"446-01-fixed.ps" 
"464-01.ps" 
"478-01.ps" 
"483-01.ps" 
"483-05-fixed.ps" 
"Altona-Testsuite_p2_S_x3.pdf" 
"BEST8-99-Path.fh7.pdf" 
"chilis_black.pdf" 
"chilis_red.pdf" 
"Clarke Tate Manns Chinese.ai" 
"gradmesh.ai" 
"Openhuis_pdf_zw.pdf" 
"S2_Digitalproof-Forum_x3k.pdf" 
"self-intersect2.ps" 
"shading_prob_800.ps" 
"SmoothShading.pdf" 
"STEUER-RollingMesh 1(linear).ai" 
"STEUER-RollingMesh 2(radial).ai" 
"STEUER-RollingMesh 3(Final).ai" 
"Testform.v1.0.2.pdf"

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

2004-09-14T21:38:41.000000Z Russell Lang

Add custom page size to PostScript Printer Description file.

[lib/ghostpdf.ppd]

2004-09-14T06:45:55.000000Z Russell Lang

Fixes bug 687542 Print with pswrite gives 'Could not open the
file \\spool\yourprinter'. Add a %printer% IODevice for OS/2,
which opens to a temporary file then later copies it to the
print spooler.  This will need "%printer%yourprinter",
not "\\spool\yourprinter".
This is needed to make pswrite write to a printer queue.

[src/gp_os2.h doc/Develop.htm src/gp_os2.c src/os2.mak src/gp_os2pr.c]

2004-09-14T06:42:32.000000Z Russell Lang

Add support for 4-bit/pixel CMYK to the display device clients for
Windows and gtk+.

[src/gdevdsp.c src/dxmain.c src/dwimg.c]

2004-09-13T22:33:15.000000Z Ray Johnston

Ignore MediaPosition when selecting a media type. Adobe CPSI does it this
way, and the PLRM suggests that this is advisory only. Bug 687547 for
customer 780.

DETAILS:

Adobe CPSI also ignores this parameter without generating any error or
warning. The PLRM says:

  This parameter does not override the normal media selection process
  described in the text, but if specified it will be honored�provided it can
  satisfy the input media request in a manner consistent with normal media
  selection�even if the media source it specifies is not the best available
  match for the requested attributes.

Since an input PS file is unlikely to have a PPD that accurately reflects
the 'slot' numbers of our InputAttributes dictionary, we also ignore this
option and instead give the 'best fit' based on size and orientation (and
other parameters that may exist).

[lib/gs_setpd.ps]

2004-09-13T22:08:16.000000Z Ray Johnston

Handle CS/cs PDF operators that have a colorspace array as an operand
instead of a name as the specification requires (yet another broken PDF
that Acrobat Reader handles without complaint). Issue pdfformaterror when
bad CS operands are seen. Bug 687610 for customer 770.

[lib/pdf_draw.ps]

2004-09-13T18:32:23.000000Z Igor Melichev

A new implementation of shadings, step 85.

DETAILS :

Propagate error codes from shade_bbox_transform2fixed.

EXPECTED DIFFERENCES :

None.

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

2004-09-13T16:01:16.000000Z Igor Melichev

A new implementation of shadings, step 84.

DETAILS :

Fixed a Cygwin/gcc warning.

EXPECTED DIFFERENCES :

None.

[src/gsshade.c]

2004-09-13T15:52:49.000000Z Igor Melichev

A new implementation of shadings, step 83.

DETAILS :

This is a partial fix for the bug
687585 "A shading renders narrower than its background".
It fixes various secondary problems :

1. gx_default_fill_linear_color_scanline could miss pixels at the end of the scanline
   (bug 687585 "A shading renders narrower than its background", the right boundary).

2. decompose_linear_color could miss pixels when swapping axes of the clip rectangle.
   (bug 687585 "A shading renders narrower than its background", the top boundary).
   Defined adjust_swapped_boundary and applied for this purpose.

3. mesh_padding cauld miss pixels  when swapping axes of the padding.
   Defined adjust_swapped_boundary and applied for this purpose.

4. Moved the fill adjustment from gx_dc_pattern2_fill_path to gsshade.c
   and disabled it in the NEW_SHADINGS build, because NEW_SHADINGS build never
   needs it. Instead that it applies mesh_padding.
   The new function gx_dc_pattern2_fill_path_adjusted access the new functionality
   from outside gsshade6.c .
   Also renamed gx_dc_pattern2_fill_path_adjusted with gx_dc_pattern2_fill_path
   for a better reflection of its new purpose.

5. Implemented VD_TRACE_DOWN in try_device_linear_color.
   The old code did a misleading drawing.

6. Fixed a conflict of the 's' flag in the -T argument.
   Changed the documentation to reflect that.

EXPECTED DIFFERENCES :

Shading render slightly different :

72 dpi :
"446-01-fixed.ps"
"483-01.ps"
"483-05-fixed.ps"
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"Openhuis_pdf_zw.pdf"  (a strong progression)
"SmoothShading.pdf"
"STEUER-RollingMesh 3(Final).ai"

300dpi :

"442-01.ps"
"446-01-fixed.ps"
"464-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"BEST8-99-Path.fh7.pdf"  (a strong progression)
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"Openhuis_pdf_zw.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai" (a strong progression)

[src/lib.mak src/gsptype2.c src/gsshade.c doc/Use.htm src/gsptype2.h src/gsshade.h src/gdevdsha.c src/gxfill.c src/gxstroke.c src/gxshade6.c]

2004-09-13T07:13:35.000000Z Igor Melichev

Fix : Improve the error reporting about a dangling resource map record.

DETAILS :

When a resource map record pointed to an undefined resource,
it printed "undefinedresource in GetSize". With this inprovement
it prints the substituted resource name instead GetSize.

EXPECTED DIFFERENCES :

None.

[lib/gs_cidfm.ps]

2004-09-12T19:12:16.000000Z Igor Melichev

A new implementation of shadings, step 82.

DETAILS :

The preceeding patch was incorrect in the point (1)
"constant_color_quadrangle painted a triangle when the quadrangle is degenerate.".
There exist cases when quadrangle degenerates to a triangle, and
the patched code skipped it. This putch fixes that.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-09-09T21:01:31.000000Z Igor Melichev

Fix : Type 3 charproc must inherit flattnes from the text context.

DETAILS :

Bug 687582 "Flatness in a Type 3 font".
The feature has been tested with Adobe CPSI.

EXPECTED DIFFERENCES :

"012-09.ps"
"013-09.ps"
"014-09.ps"
"015-09.ps"
"020-01.ps"
"027-05.ps"
"032-07.ps"
"045-01.ps"
"083-09.ps"
"093-01.ps"
"103-01.ps"
"118-01.ps"
"136-01.ps"
"165-01.ps"
"192-01.ps"
"205-09.ps"
"231-01.ps"
"233-01.ps"
"238-01.ps"
"251-01.ps"
"281-01.ps"
"289-01.ps"
"298-09.ps"
"308-04.ps"
"311-03.ps"
"321-09.ps"
"409-01.ps"
"a.pdf"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"
"Bug687207.ps"
"Type3stringwidth.ps"

[src/lib.mak src/gxpaint.c]

2004-09-09T20:52:51.000000Z Ray Johnston

Fixes for security problems not fixed in previous commit and fixes for
other problems identified by SaGS in bug report -- detecting recursion,
allowing r/w strings in procedures (but not in PermitFile arrays).
Bug 687559.

[lib/gs_lev2.ps]

2004-09-09T17:47:06.000000Z Igor Melichev

A new implementation of shadings, step 81.

DETAILS :

1. constant_color_quadrangle painted a triangle when the quadrangle is degenerate.
2. rangecheck happened if the path lies entirely within an Extend area of an axial shading.
3. Due to a poor precision of t0, t1, Extend areas were painted when they have a zero width.
Bug 687646  .

EXPECTED DIFFERENCES :

"442-01.ps"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"

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

2004-09-09T12:44:37.000000Z Igor Melichev

fuzzy.c : Improving the return codes.

DETAILS:

Return 2 on "out of window",
return 1 with a difference within the window,
return 0 otherwize (files equal).

[toolbin/tests/fuzzy.c]

2004-09-09T11:33:13.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 7).

DETAILS :

A flag to be reset when going to the next character.
Bug 687660 "incorrect font rendering/missing glyphs from ps2pdf"

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2004-09-09T11:24:02.000000Z Igor Melichev

Fix (Type 1 hinter) : A further improvement of the glyph rendering quality, step 2.

DETAILS :

Switch on the new code in gxhintn.h, gxhintn.c .
See the preceeding log message about the configuration flags :
http://www.ghostscript.com/pipermail/gs-cvs/2004-September/004792.html .
Fixes bugs
687578 "T1 hinter disturbs stem width"
687579 "Type 1 hinter disturbs glyph height"
687588  "A CJK TT rendering worse"


EXPECTED DIFFERENCES :

A massive glyph rendering difference :
about 50% of files at 72dpi, and about 95% of files at 300dpi.

[src/gxhintn.h]

2004-09-08T10:13:39.000000Z Igor Melichev

Fix (Type 1 hinter) : A further improvement of the glyph rendering quality, step 1.

DETAILS :

This change is algorithmically equivalent,
because new code is disabled wirth configuration switches
listed below.

1. FINE_STEM_COMPLEXES
   1.1. Stem complex could miss a common boundary.
   1.2. Stem width could be distorsed due to a common boundary missing
        (Bug 687578 "T1 hinter disturbs stem width".).
   1.3. Overall hint (if presents) should have a bigger priority.
2. ALIGN_BY_STEM_MIDDLE
   2.1. A stem middle could be shifted too much due to
        independent grid-fitting of boundaries and the change 1.2 -
        see 'i' in ccc-.pdf attached to Bug 687578.
        Fixed with an improved alignment with t1_hinter__align_stem_to_grid.
   2.2. This isn't applicable for top|bottom zones from the TT stem recognizer,
        because we want to force outer boundaries to keep the glyph height.
   2.3. 033-52-5873.pdf defines "pseodo-stem" hints,
        which have only one boundary corresponding to real poles.
        recognize them with t1_hinter__mark_existing_stems,
        and don't apply the improved alignment,
        because those stems designate outer glyph boundaries,
        which we want to force the uniform glyph height.
        Apparently fixes Bug 687579 "Type 1 hinter disturbs glyph height".
3. OPPOSITE_STEM_COORD_BUG_FIX
   Aligning a stem width, the resolutions by X and Y were exchenged.
4. TT_AUTOHINT_TOPZONE_BUG_FIX
   topzone and botzone were mixed when come from the TT stem recognizer.

Also improved general comments in gxhintn.c .

EXPECTED DIFFERENCES :

None (the new code disabled).

[src/gxhintn.c src/gxhintn.h]

2004-09-08T09:36:16.000000Z Igor Melichev

fuzzy.c : Improving the report message.

DETAILS:

Print report message if any difference found.
Before now it was printed only if out of window.
Return error code only if out of window,
as it was before.

[toolbin/tests/fuzzy.c]

2004-09-08T07:00:15.000000Z Ralph Giles

Translate the name of the gs executable stored in the utility scripts at
install-time on unix. Closes bug 686863.

DETAILS:

The autoconf build supports a --with-gs= option for setting the
name of the Ghostscript executable, which is stored in the makefiles as
'$(GS)', but scripts such at ps2pdf that expect to make invoke
Ghostscript made no use of this variable, causing version skew at best,
complete failure of that popular utility at worst. We therefore now
rewrite the hard-coded name each time we install the utility scripts.

[src/unixinst.mak]

2004-09-08T06:28:04.000000Z Ralph Giles

Propagate autotools build system changes from the GS_8_1X branch. Use
the proper macro for the 'rm' function, and a more specific test for
locating the local libpng library source.

[src/Makefile.in src/configure.ac]

2004-09-06T21:23:39.000000Z Ray Johnston

Change regression test flags to use new JOBSERVER flag. Older flags are
retained to allow older regression testing to still use this module.

[toolbin/tests/gstestgs.py]

2004-09-06T07:26:41.000000Z Ray Johnston

Add some job server related support. The -dJOBSERVER option defines the
^D to start a new encapsulated job, and the ^D is changed to be a self-
delimitting token in the scanner. Fixes 687079.

DETAILS:

For backward compatibility, -dNOOUTERSAVE is retained, but this does
*NOT* define the ^D to start a new encapsulated job. As specified in the
updates to doc/Use.htm, in order to avoid an /invalidrestore error,
the input should be from stdin otherwise the restore done as part of the
new job encapsulation (restore returns to the server state) will encounter
a file object that was created after the encapsulation save.

This allows 289-01.ps to complete IFF the -dJOBSERVER option is used
during regression testing. Thus the only (eventual) regression change
will be:

289-01.ps

[lib/gs_lev2.ps doc/Use.htm src/scantab.c lib/gs_init.ps]

2004-09-03T20:23:10.000000Z Ray Johnston

Add missing memory argument in 'I' interp debug printing. Also remove
local prototype for debug_print_ref in favor of using idebug.h. Fixes
SEGV when using -ZI or (I) true .setdebug.

[src/int.mak src/interp.c]

2004-09-02T21:49:05.000000Z Ralph Giles

Use the MTIME define from the stat module rather than a numerical index
to specify the modification time in python. Propagates a similar change
from gscheck_raster.py.

[toolbin/tests/gscheck_pdfwrite.py]

2004-09-02T21:30:53.000000Z Ralph Giles

Propagate memory pointer gs_malloc() changes to the optional lj3100sw
device. Patch from Harald Koenig. Closes bug 687636.

[src/gdevl31s.c]

2004-09-02T08:26:30.000000Z Igor Melichev

Fix : Unwind an unintentional change to setup_image_compression.

DETAILS :

I guess that gdevpsdi.c revision 1.30 was unintentionally modified with the patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-August/004681.html

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c]

2004-08-31T22:07:39.000000Z Dan Coby

Fix for 687640 Unable to set default halftones for PDF.

DETAILS:

To support both PS level 1 and PS level 2 interpreting modes,
Ghostscript defines two routines for setting a default halftone.
PS level 1 does not support resources.  Thus for PS 1 we have
.setdefaultscreen which sets a default halftone which is defined
inside of gs_init.ps.  For PS 2, we have .setdefaulthalftone
which is similar to .setdefaultscreen except that it also checks
for a default halftone resource.

The PDF interpreter's handler for the /HT gstate parameter
called .setdefaultscreen if the parameter value was /Default.
This fix changes the handler to use .setdefaulthalftone instead.
This results in the PDF interpreter using the default halftone
resource if it is present.

[lib/pdf_draw.ps]

2004-08-31T20:36:40.000000Z Ray Johnston

Fix ResourceForAll Category procedure to make sure that the path given
by GenericResourceDir systemparam is included in the enumeration.
Bug 687641.

[lib/gs_res.ps]

2004-08-31T20:05:12.000000Z Ralph Giles

Bump version after the 8.31 beta release.

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

2004-08-31T19:23:14.000000Z Alex Cherepanov

Trap C stack overflow exception on Borland C and MSVC. Without the
trap the application silently terminates when C stack overflows.
Fix bug 687461

[DETAILS]
Watcom C 1.2 doesn't need the trap. It is also the only compiler tested 
that converts trailing recursion to iteration. GCC 3.2 on Windows still 
generates programs that fail silently but I don't know how to fix this. 
GCC 2.95 on Linux reports the stack overflow.

[src/winint.mak src/windows_.h src/dwmain.c src/dwmainc.c]

2004-08-31T13:49:33.000000Z Igor Melichev

Fix : Arcs were imprecise (continued).

DETAILS :

A previous patch had a minor portability defect :
PRECISE_CURRENTPOINT was used before defined.

EXPECTED DIFFERENCES :

None.

[src/gxmatrix.h]

2004-08-31T13:23:16.000000Z Igor Melichev

Fix : Arcs were imprecise.

DETAILS :

Bug 687584 "An extra element painting a circle.".

The problem happened due to the PRECISE_CURRENTPOINT patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-March/004333.html
appears incomplete : arcs were not improved.
This patch fixes that.

1. Applied gs_point_transform2fixed_rounding in arc_add
to be consistent with the precise current point.

2. Renamed float2fixed_rounding with float2fixed_rounded
and made it global.

3. Moved the definition of PRECISE_CURRENTPOINT
to the appropriate scope.

We leave many places in code, in which
the unrounded transform is still applied,
but those places do not deal with the current point.

EXPECTED DIFFERENCES :

Massive difference with acrs :

normal, 72 dpi :
"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"027-05.ps"
"031-01.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"035-07.ps"
"103-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"148-16.ps"
"149-05.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"192-01.ps"
"237-01.ps"
"244-01.ps"
"289-01.ps"
"298-09.ps"
"308-04.ps"
"311-03.ps"
"321-09.ps"
"Bug687207.ps"
"vasarely.ps"

normal 300 dpi :

"213-01.ps"
"214-01.ps"
"244-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"258-01.ps"
"270-01.ps"
"289-01.ps"
"014-01.ps"
"014-01.ps"
"014-13.ps"
"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"027-05.ps"
"031-01.ps"
"032-01.ps"
"034-01.ps"
"034-10.ps"
"035-07.ps"
"103-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"148-16.ps"
"149-05.ps"
"150-01.ps"
"154-01.ps"
"158-01.ps"
"192-01.ps"
"237-01.ps"
"244-01.ps"
"298-09.ps"
"308-04.ps"
"311-03.ps"
"321-09.ps"
"Bug687207.ps"
"vasarely.ps"

pdfwrite, 72 dpi :

"012-01.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"032-01.ps"
"034-10.ps"
"123-01.ps"
"123-05.ps"
"192-01.ps"
"298-09.ps"
"321-09.ps"
"vasarely.ps"

pdfwrite 300 dpi :

"012-01.ps"
"012-05.ps"
"012-09.ps"
"012-13.ps"
"013-01.ps"
"013-05.ps"
"013-09.ps"
"013-13.ps"
"014-01.ps"
"014-05.ps"
"014-09.ps"
"014-13.ps"
"015-01.ps"
"015-05.ps"
"015-09.ps"
"027-05.ps"
"032-01.ps"
"032-07.ps"
"034-01.ps"
"034-10.ps"
"109-01.ps"
"123-01.ps"
"123-05.ps"
"123-09.ps"
"192-01.ps"
"220-01.ps"
"237-01.ps"
"245-17.ps"
"251-01.ps"
"255-01.ps"
"258-01.ps"
"269-01.ps"
"270-01.ps"
"298-09.ps"
"308-04.ps"
"321-09.ps"
"442-01.ps"
"446-01.ps"
"Bug687207.ps"
"vasarely.ps"

[src/gsmatrix.c src/gxfixed.h src/gxstate.h src/gspath.c src/gspath1.c src/gxmatrix.h]

2004-08-31T09:07:56.000000Z Igor Melichev

Implementing Visual Trace for 'stroke'.

DETAILS :

It is necessary for analyzing the Bug 687584,
and it is useful in general.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/vdtrace.h doc/Use.htm src/gxfill.c src/gxstroke.c]

2004-08-30T21:45:48.000000Z Dan Coby

Fix for 687607   Text missing with TextALphaBits=2 and tiffsep device.

DETAILS:

The TextAlphaBits and GraphicsAlphaBits device parameters were not working
for devices with a depth of more than 32 bits.  The fix involves replacing
the copy_alpha device procs in the 40, 48, 56, and 64 bit memory devices
with the gx_default_copy_alpha routine.  These devices previously had a
copy_alpha routine which did nothing.  This was a mistake from when these
devices were created as part of the DeviceN work.

[src/gdevm64.c src/gdevm56.c src/gdevm48.c src/gdevm40.c]

2004-08-30T16:45:04.000000Z Ray Johnston

Fix for security problems with user parameters, in particular the
/PermitFileReading array. Also corrects handling of parameter arrays
that contain a 'mark'. Fixes bug 687559. Thanks to mat. Gh. Savulescu
(SaGS) for the bug report and for a suggested patch.

[lib/gs_lev2.ps]

2004-08-29T02:07:29.000000Z Ralph Giles

Update changelogs for release.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2004-08-28T22:10:59.000000Z Ralph Giles

Update the version and date on the VMS help file.

[doc/gs-vms.hlp]

2004-08-28T21:54:16.000000Z Ralph Giles

Update release date on documentation.

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

2004-08-28T21:47:47.000000Z Ralph Giles

Change the product name to BETA RELEASE

[src/gscdef.c]

2004-08-28T21:47:01.000000Z Ralph Giles

Add recent new files to the listings in the documentation.

[doc/Develop.htm doc/Psfiles.htm]

2004-08-28T21:28:16.000000Z Ralph Giles

Update release notes and open bug list for the 8.31 beta release. Bump
the release date as well.

[doc/News.htm src/version.mak]

2004-08-26T09:13:08.000000Z Russell Lang

Fix half-toning for display device, bug 687629.

DETAILS:
Prior to DeviceN, dither_gray/max_gray were used if ncomp==1.
With DeviceN, dither_gray/max_gray are used if gray_index >= 0.
The display device was not correctly setting gray_index for
native 1-bit/pixel format.

[src/gdevdsp.c]

2004-08-26T00:15:19.000000Z Ray Johnston

Fix for image matrix having negative values.  Thanks to Len Sorenson
for submitting this patch (author unknown).  Bug #687411.

DETAILS:

The error is using floor to round a value without checking if it might
be negative first. There were actually two places that did this even
though the patch that was originally submitted only was for one of them.

[src/gximag3x.c]

2004-08-26T00:04:48.000000Z Ray Johnston

Close the font file after the font has been processed (loaded into VM).
This prevents a problem with using up too many file handles detected on
Solaris. Thanks to Alex Cherepanov for the patch. Bug #687066.

DETAILS:

The patch has no effect on the cache. There is no point of not closing
the file after the content has been copied to memory.

On GNU/Linux GS has 250K VMThreshold and 1024 handles. That's enough.
On Windows GS has 1M VNThreshold and 512 handles. This is still OK.
On Solaris GS has 1M VMThreshold and 256 handles. Handles can be used up
before garbage collection starts. The following program fails on Solaris.

(a)(w) file closefile
1000 { (a)(r) file pop } repeat

Dependence on VMThreshold indicates that GC is not activated by
open(2) failing with EMFILE . This is a real bug, the patch is
just a work around that we may need to fix later, but not likely to
be a problem.

[lib/gs_type1.ps]

2004-08-25T23:52:37.000000Z Ray Johnston

Fix to close streams at EOF (not only filter streams), as required by
the PLRM. Thanks to Alex Cherepanov for this patch. Bug #687505.

DETAILS:

This is similar to a patch that I had developed and tested prior to
Alex's patch. I had tested my patch, then Alex's against the regression
suite and determined that it does not cause any differences.

Alex's patch conforms to my analysis of the problem and the fix.

[src/stream.c]

2004-08-25T15:56:29.000000Z Alex Cherepanov

Bind all operators in DefaultGray, DefaultRGB, DefaultCMYK color spaces.
Partial fix for the bug 687608

[Resource/ColorSpace/DefaultGray Resource/ColorSpace/DefaultCMYK Resource/ColorSpace/DefaultRGB]

2004-08-24T17:51:31.000000Z Igor Melichev

Fix (pdfwrite) : A page compression type change could cause a crash.

DETAILS :

Bug 687626 "A crash in pdfwrite".
It crashed after the compression is changed from none to Flate
with setdevparams inside a page.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfu.c]

2004-08-24T15:36:19.000000Z Igor Melichev

Fix : gs_lib_ctx was wrongly accessed while looking up a dictionary stack extension.

DETAILS :

Bug 687623  A crash in the interp.c

EXPECTED DIFFERENCES :

Fixes crash with re-distilled files :
251-01.ps
Bug687044.ps
Bug687489.ps
test-setweightvector.ps,
tpc2.ps

[src/idstack.c]

2004-08-24T15:36:08.000000Z Igor Melichev

Fix : gs_lib_ctx was not accessible while clist_playback_band.

DETAILS :

Bug 687624 "A crash in gp_check_interrupts".


EXPECTED DIFFERENCES :

Fixes crash with re-distilled files :
Svd.pdf
test.pdf

[src/gxclread.c]

2004-08-24T12:52:38.000000Z Igor Melichev

Fix (TT interpreter) : Provide a tolerance to an inconsistent cvt length.

DETAILS :

Bug 687604 "/invalidfont in --show-- error".

We analyzed UFST and Free Type 2.
UFST has same problem.
FreeType 2 provides a tolerance, which we port now.
Note that now we don't port a tolerance for other CVT commands.

EXPECTED DIFFERENCES :

None.

[src/ttinterp.c]

2004-08-24T10:58:38.000000Z Igor Melichev

Fix (TT interpreter) : A minor portability problem.

DETAILS :

A preprocessor statement didn't start in the first column.
Occasionally discovered readin the code.
Some time ago it was claimed as non-portable.

EXPECTED DIFFERENCES :

None.

[src/ttload.c]

2004-08-24T09:10:22.000000Z Igor Melichev

Fix : Makefiles missed a dependency.

DETAILS :

After rebuilding the last revision got a crash due to gp_mspol.c
was not recompiled. Found out that gslibctx_h was
wrongly defined in lib.mak .
Also changed the including of stdio.h in gslibctx.h to
a C library file (IMO it should be so).

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gslibctx.h]

2004-08-23T09:57:21.000000Z Russell Lang

Allow the display device row alignment to be changed from the
default 4 bytes to 8, 16, 32 or 64 bytes.

DETAILS:
If the image is allocated in video display memory, an alignment
such as 16 bytes (128-bit memory) may be required.
This is implemented by making the underlying memory device
use a larger width than the display device.

[src/gdevdsp.c src/gdevdsp.h]

2004-08-19T21:52:20.000000Z Russell Lang

Changed iapi to use a void* instead of a gs_main_instance pointer.

[src/dxmain.c src/dwmainc.c src/dxmainc.c src/dmmain.c src/dpmain.c]

2004-08-19T19:33:09.000000Z stefan

Changed iapi to use a void* instead of a gs_main_instance pointer.
Cleaned up warning related to function pointer signature miss-matches.

DETAILS:

iapi.h no longer defines a type for gs_main_instance *
This will likely need to be put back in for backward compatibility.

The iapi interface now uses a void * instance handle reflecting
that it is an opaque type to the outside world.

Note that function pointer argument miss-matches generate warnings in
msvc but not in gcc.  These have been fixed.

[src/zchar32.c src/gsccode.h src/gxfcache.h src/gscpixel.c src/gslibctx.c src/dwmain.c src/ilocate.c src/gxccman.c src/zpacked.c src/iapi.c src/gscpixel.h src/gdevpdtw.c src/gslibctx.h src/gsalloc.c src/iutil.c src/iapi.h src/gscspace.c src/gsdevice.c src/zcssepr.c src/iutil.h src/idict.c src/zfont.c src/sdctc.c src/gdevpsf.h src/gdevpsfm.c]

2004-08-19T10:50:17.000000Z Russell Lang

Add a PPD for PostScript to be used by ghostscript ps2pdf.

[lib/ghostpdf.ppd doc/Ps2pdf.htm doc/Develop.htm lib/ghostpdf.inf]

2004-08-19T07:38:05.000000Z Russell Lang

Enable progressive updates for the image window of
the MS-Windows ghostscript command line program.
Change update method to use a Windows timer.

DETAILS:
In the MS-Windows GUI executable (i.e. text window managed by
ghostscript rather than using a system console window), the image
window is progressively updated every second or so as each page
is drawn.  The console executable did not do this.

The update code for both GUI and console executables is changed to
use a timer.  The display update code is called whenever particular
device drawing operations happen, and if a timer is not already
running, it starts an update timer.  The minimum update interval
is shortened from 1s to 100ms. The time to refresh the window is
measured, and the update interval may be increased to make sure
that updates account for no more than 10% of processing.
The update interval is decreased if subsequent updates are
much quicker.  The timer is stopped by any sync.

[src/dwimg.h src/dwmainc.c src/dwimg.c]

2004-08-18T22:25:54.000000Z stefan

Fixed dependancies for gslibctx.h

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

2004-08-18T22:24:47.000000Z stefan

Removed redundant include.

[src/gsmalloc.c]

2004-08-18T20:44:46.000000Z Igor Melichev

Fix (pdfwrite) : Check for glyph name conflicts while font merging.

DETAILS :

Bug 687597  pdf created by pdfwrite has garbled text (spr 3994)

1. When a document embeds 2 fonts with same name, same hinting
and same glyph names but different charstrings, the old code
didn't compare charstrings and erroneusely merged fonts.

2. pdf_obtain_font_resource_encoded didn't compare the hinting
because same_type1_hinting computed a too strong condition
(this change is not strongly neccessary for the bug).

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/gdevpdtt.c]

2004-08-18T14:40:52.000000Z Igor Melichev

Fix (pdfwrite) : Wrong glyph positions with CIDFontType2 with no vmtx.

DETAILS :

Bug 687603  vertical text misplaced after distilling .

1. When computing the glyph position, must account that we write
DW2[0 0] when there is no vmtx.

2. Computing a DW2, the advance got a wrong sign.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2004-08-18T04:48:56.000000Z Dan Coby

Implementation of 687496 transparency and CMYK support.

DETAILS:

This change extends our current implementation of the PDF 1.4
transparency to include blending in a DeviceCMYK color space.
There is also a partial implementation of a DeviceGray blending
space.  However I do not have a method of generating test data
for a DeviceGray blending space.  Currently the choice of a
blending color space is based upon the process color model of
the output device.

Note:  There two differences expected in the regression testing.
These are with ai2.pdf and dina3_watermark.pdf.

[src/lib.mak src/gxblend.c src/gdevp14.c]

2004-08-17T20:21:16.000000Z Ray Johnston

Add PDFSTEP debug aid. Prints a step number at end of PDFDEBUG line, and
sync's the display, then reads a number of steps to skip ( == single
step). This is rudimentary but somewhat useful. Invoked with -dPDFSTEP.

[lib/pdf_base.ps]

2004-08-17T19:56:04.000000Z Ralph Giles

Bump the version number after the last beta release.

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

2004-08-17T19:39:34.000000Z Ralph Giles

Remove references to the FreeType license. Artifex Software, Inc. has
purchased rights to the FreeType 1 code and the work included here is
relicensed under the same terms as with the rest of the Ghostscript code.

[doc/FTL.txt LICENSE]

2004-08-17T18:59:35.000000Z Ray Johnston

Add support for PDF single stepping debug aid (PDFSTEP). Actual interpreter
changes made separately.

[lib/gs_init.ps]

2004-08-17T17:53:13.000000Z Ray Johnston

Handle invalid PDF's that use 0.0 font scaling (Tf operator). Fixes bug
687606 for customer number 780.

DETAILS:

If the font scale is 0.0, then just use a very small value. This may result
in a small unwanted dot, but that is probably not an issue since it is
an invalid value. The better approach for 'invisible' text is to use
TextRenderingMode 3. The 'pdfformaterror' function is used to complain
about this so the problem might get fixed by the PDF Creator.

[lib/pdf_ops.ps]

2004-08-14T02:06:18.000000Z Russell Lang

Correct the previous MSVC 8 updates to allow compilation with debugging.

[src/msvccmd.mak src/msvc32.mak]

2004-08-13T12:59:03.000000Z stefan

Added missing parameter types to prototype.

[src/gpcheck.h]

2004-08-13T04:57:17.000000Z Russell Lang

Detect the version of Microsoft Visual C++ from the version of nmake.

[doc/Make.htm src/msvc32.mak]

2004-08-13T00:16:09.000000Z Russell Lang

Add support for compiling with the beta of Microsoft Visual
Studio 2005, also known as MSVC 8.

DETAILS:
Add new MSVC_MINOR_VERSION=1 to distinguish Microsoft Visual
Studio .NET 2003 (MSVC 7.1) from Microsoft Visual Studio .NET
(MSVC 7.0)
Add new MSVC_VERSION=8 for Microsoft Visual Studio 2005
Ignore deprecated warnings from MSVC 8 with /wd4996, because
insecure CRTL functions like strcpy and sprintf are now
marked as deprecated.
Remove /Ze which is always the default and is unknown to MSVC 8.
Replace /O with /O2.  The former is not documented for MSVC 5 - 8
and is unknown to MSVC 8.
Remove /Gs and /Ge for MSVC 8.  Stack checking is now always done.

[doc/Make.htm src/msvccmd.mak src/msvc32.mak]

2004-08-11T14:33:02.000000Z stefan

Added memory pointers to gsmalloc use by jpg2000 interface.

DETAILS:

Added jpx_memory to the stream state since the memory pointer
in a normal stream object in often NULL indicating a stack object.

[src/zfjpx.c src/sjpx.c src/sjpx.h]

2004-08-11T13:36:58.000000Z Ray Johnston

When scaling factors of /ImageMatrix in a image mask for ImageType3 are
negative, translation offset values for image mask rendering are
incorrect and it makes abnormal output (eg. white lines).
This patch fixes this bug #686843. Thanks to Len Sorensen for the analysis.

[src/gximage3.c src/gximag3x.c]

2004-08-11T12:58:06.000000Z Ray Johnston

Fix bug 687038 that resulted in a crash if the initial device was not
pdfwrite.

DETAILS:

This was almost fixed by recent changes to gs_pdfwr.ps and
gs_setpd.ps for bugs 687325, 687436 and 687458.

Unfourtunately, the initialization of parameters only occurred
if the initial device was pdfwrite. A second patch removing
the initial device constraint on the '1010' .schedule_init
process was committed and fixes the problem.

Note that there was a work-around that if -dPDFSETTINGS=... was
given on the command line, it also worked.

EXPECTED DIFFERENCES:

none, since we don't test for this usage.

[lib/gs_pdfwr.ps]

2004-08-10T13:02:36.000000Z stefan

Added memory_t pointers to gs_malloc() gs_free() calls in
devices that aren't normally built.

[src/gdevccr.c src/gdevcp50.c src/gp_macio.c src/gdevcslw.c src/gdevlp8k.c src/gdevwddb.c src/gdevadmp.c src/gdevsgi.c src/gdevhl7x.c src/gdevos2p.c src/gdevsppr.c src/gdev3b1.c src/gdevmgr.c src/gdevwprn.c src/gdevsunr.c src/gdevsj48.c src/gdevn533.c src/gdevo182.c src/gdevimgn.c src/gdevokii.c src/gdevpsdi.c src/gdevlxm.c src/gdevcif.c src/gdevphex.c src/gdevp14.c]

2004-08-10T12:59:53.000000Z stefan

fixed bug with iapi, removed gs_lib_finit()'s call of gs_malloc_release.

DETAILS:

The problem is that single instance and multi instance interfaces
both call gs_to_exit() with different meanings.

If gs_lib_init0 was called then it should malloc_release
single instance exit library means free all.

If the iapi interface was used then the memory
should not be freed since gs_lib_finit() and gs_to_exit()
are called when the interpreter is exited but there is a
seperate delete_instance call that should free the memory

[src/gsinit.c]

2004-08-09T17:02:44.000000Z stefan

Fixed uninitialized fstdio2 pointer.

[src/gslibctx.c]

2004-08-05T20:17:17.000000Z stefan

Fixed incorrect function pointer prototype,
const gs_memory_t *  argument was missing.

[src/gxfcache.h src/gxfcopy.c]

2004-08-05T20:15:09.000000Z stefan

Valid memory pointer used create a tile_clip device instead of NULL.

Details :

This needs to be leak checked.

[src/gxp1fill.c]

2004-08-05T17:02:36.000000Z stefan

Windows only:
check_interrupts() with a mem pointer to access the poll function.

DETAILS :

This is windows specific since only windows uses the polling
function in check_interrupts() macros.  If the gs_dll interface
is used then a single instance is forced since the design of that
interface forces one thread per process.  The iapi interface can not
but enabled for more than one thread until the stream calling check_interrupts()
calls are fixed.

process_interrupts(NULL) calls are currently hacked to access a global memory
pointer intended for access to stderr.  This is a place holder until the
stream object changed that guarantee a valid memory pointer in process_stream
calls are committed.  Basically it is common to allocate a stream object on the
stack and use it in a functional manor with an uninitialized memory pointer in the
object.

[src/gp_mslib.c src/gdevwprn.c src/gp_macpoll.c src/gdevwpr2.c src/gp_mspol.c src/gxdtfill.h src/gp_mswin.c src/sfxstdio.c src/gdevddrw.c src/gxclrast.c src/gdevdbit.c src/gxclread.c src/sfxfd.c src/gxclutil.c]

2004-08-04T23:40:41.000000Z stefan

fixed typo in last commit.

[src/gpcheck.h]

2004-08-04T23:33:29.000000Z stefan

gs_memory_t pointer additions for msvc build.

DETAILS :

Mostly gs_malloc() and gs_free() additions of a gs_memory_t argument.

Not gsdll.c forces a single instance.

[src/gdevdm24.c src/gp_mspol.c src/gdevmsxf.c src/gsmisc.c src/gsargs.c src/main.h src/gdevmswn.c src/gxclutil.c src/gdevdsp.c src/gdevwpr2.c src/gdevescp.c src/interp.c src/gdev4081.c src/imain.h src/sfxstdio.c src/gdev8510.c src/msvc32.mak src/gsdll.c src/gxccache.c src/gdevpjet.c src/gpcheck.h src/gdev4693.c]

2004-08-04T19:36:13.000000Z stefan

Addition of a Library Context to start the process of removing globals.

DETAILS :

The goals is to remove globals from the system, this includes static
globals that would hinder multiple threads from running at once.

gs_lib_ctx is intended to be used as the opaque "handle" object
that a client would use to associate with a thread running through
the library.  Independent of a gs or a language switch build, this
needs a new iapi2.h that allows the use of better job control from the
client side.

gs_lib_ctx is stashed under the gs_memory_t object and all memory objects
used by a thread refer to the same gs_lib_ctx.  This storage location was
choosen as a convenence since a memory_t pointer is common throughout the
system.  Most of the turmoil is adding memory_t pointers to functions that
used global variables but didn't have a memory pointer.

FILE stdin, stdout, stderr are one per process by default.
stdin and stdout may be changed but stderr may not.
FILE stderr is one per process and shouldn't be changed.
Note the stderr_fn is also one per process, changing this function pointer
will not help as most users of stderr printing do not have a thread handle.
Changing to a thread local storage mechanism can solve this.

gs_id's  are currently per thread with each thread starting over at  1.
This can be moved to per process with mutexes if so desired.

A library context has a pointer to the top_of_system the intent is that this
a void handle avaliable to make top of the system calls without knowing the
data type.  In a postscript only  build this would be gs_main_instance but
in a language switched build this would be an object above that main_universe.

Other members of gs_lib_ctx_t are nothing more than global objects relocated
to this "bag".  gs_name_table, dict_autoexpand  are examples of this.  There
are a few more globals that will be moved.

At the moment iapi is still constrained to one thread, since some of the
globals haven't been removed yet.

The display device's callback function setting is supported for now
but this interface should be changed to a sDEVICE style call.

gs_memory_t is the base type the abstract type gs_raw_memory_t is gone,
this means that all memory types must derive from gs_memory_t.
In addition to a pointer to the gs_lib_ctx there is a pointer to a
non_gc_memory this will always point to a non garbage collected memory,
it maybe the current object or an object below the current gargabe
collected memory space.  This can be used were the previous code
used the global gs_malloc_memory.  gs_malloc() now takes a memory pointer,
it finds the non-gc memory from a valid memory pointer and allocates from it.

The gdevbit device has an improved algorthym for converting from cmyk to rgb,
this is never used by postscript but for pcl rops it puts the k plane into rgb.

[src/iplugin.h src/zshade.c src/zfont1.c src/idstack.c src/gdevvec.c src/zicc.c src/zchar1.c src/gscdevn.c src/iscan.c src/gxalloc.h src/zvmem.c src/igcref.c src/gxacpath.c src/zcharx.c src/gslib.c src/gsfcmap1.c src/icstate.h src/gsovrc.c src/ifont1.h src/gslib.h src/gxccache.c src/gdevpsdi.c src/zmisc3.c src/zfapi.c src/zfunc4.c src/gsstate.c src/zcsdevn.c src/bfont.h src/idparam.c src/icie.h src/gxdhtserial.c src/gscpixel.c src/zcontext.c src/idparam.h src/gscpixel.h src/gsiodevs.c src/gsmemret.c src/zmisc.c src/iscanbin.c src/devs.mak src/gdevplnx.c src/gscolor3.c src/zmedia2.c src/gsinit.c src/gxttfb.c src/iname.h src/gxpcmap.c src/gdevstc.c src/zfont.c src/ialloc.c src/gscsepr.c src/ialloc.h src/iminst.h src/zarray.c src/gxdevcli.h src/ibnum.c src/zcontrol.c src/gsimage.c src/gdevxcmp.c src/ibnum.h src/gscscie.c src/gsfcmap.c src/ilocate.c src/zfont2.c src/gdevpxen.h src/gdevpxat.h src/zpcolor.c src/gdevpdfi.c src/zdevice.c src/zcssepr.c src/ifont42.h src/imain.c src/ifapi.h src/idebug.c src/zdps1.c src/zusparam.c src/idebug.h src/gsht.c src/zfont42.c src/gdevprna.c src/zchar.c src/zcolor.c src/gdevp14.c src/zupath.c src/gsccode.h src/dstack.h src/ztrans.c src/zpacked.c src/ifont.h src/iutil.c src/szlibc.c src/zcsindex.c src/gsmemraw.h src/iutil.h src/gdevijs.c src/gscrd.c src/gs_dll_call.h src/zgeneric.c src/gsio.h src/gscrd.h src/gs.c src/zdevice2.c src/gxclrect.c src/gslibctx.c src/zdps.c src/gdevpdfb.c src/gdevdcrd.c src/gslibctx.h src/ziodevsc.c src/zht2.c src/imainarg.c src/gxclrast.c src/zfrsd.c src/zcid.c src/ichar.h src/lib.mak src/zht2.h src/zmatrix.c src/zimage3.c src/sdctc.c src/zfileio.c src/zcspixel.c src/zbfont.c src/igc.c src/gdevpdfv.c src/gdevpdti.c src/igc.h src/zfile.c src/gdevepsn.c src/gsptype1.c src/gsmemlok.c src/gxfcopy.c src/gxclbits.c src/zfcid0.c src/gximage.c src/gsfcid2.c src/zgstate.c src/gsstruct.h src/icharout.h src/ziodevs.c src/gsalloc.c src/gsmisc.c src/zfontenum.c src/gximag3x.c src/ttload.c src/gscspace.c src/gscolor1.c src/gxclread.c src/gsalloc.h src/gxfcmap.h src/gscspace.h src/gxcpath.c src/gsfont.c src/gxcspace.h src/gsstype.h src/gdevprn.c src/gsutil.c src/isave.c src/gsexit.h src/gsutil.h src/isave.h src/zimage.c src/zdict.c src/zfont0.c src/zfcmap.c src/iapi.c src/gdevpdfc.c src/gsht1.c src/gsequivc.c src/gp_mac.c src/gdevpdfg.c src/gspcolor.c src/gsdevice.c src/gdevpdfk.c src/zcie.c src/gdevpdfg.h src/gscparam.c src/gshtx.c src/zcharout.c src/std.h src/gdevepsc.c src/iimage.h src/gsmemory.c src/gxdevice.h src/gdevcdj.c src/gsmemory.h src/files.h src/zmisc2.c src/gscolor.c src/zfunc3.c src/iparam.c src/gxht.c src/ztoken.c src/zrelbit.c src/iinit.c src/gxcht.c src/icid.h src/gxht.h src/gxccman.c src/zfcid1.c src/gzht.h src/gsalphac.c src/gsistate.c src/zfunc.c src/idict.c src/gdevupd.c src/zstring.c src/idict.h src/gsmalloc.c src/interp.c src/gdevbj10.c src/zcrd.c src/zfont32.c src/gsmalloc.h src/iplugin.c src/gdevxxf.c src/ztype.c]

2004-08-04T01:00:11.000000Z Ralph Giles

add a .cvsignore list for generated files

[contrib/pscolor/.cvsignore contrib/pscolor]

2004-08-04T00:55:46.000000Z Ralph Giles

Add variable declaration for the path to the ghostscript executable to
the unix wrapper scripts. This simplifies changing the invocation name.
Partial fix for bug 686863.

[lib/eps2eps lib/ps2epsi lib/gsbj lib/pdf2dsc lib/unix-lpr.sh lib/gsdj lib/dumphint lib/gsnd lib/font2c lib/pdfopt lib/pdf2ps lib/pv.sh lib/gslj lib/bdftops lib/pfbtopfa lib/gslp lib/wftopfa lib/ps2pdfwr lib/ps2ps lib/pphs lib/pf2afm lib/dvipdf lib/gsdj500 lib/ps2ascii]

2004-08-02T03:33:45.000000Z Igor Melichev

Fix : .OrigFont was not provided when an embeded font is defined.

DETAILS :

Bug 687598 "Courier CE font problems".
The test case embeds a font with an instandard FontMatrix [ 0.00039 0 0 0.00039 0 0 ].
For passing it to pdfwrite, the procedure .completefont adds the
/.OrigFont key to the font dictionary. However the key was added after
.buildfont1 is called, and the device did not recieve the information at the time.
This patch moves the .OrigFont setting ahead to the .buildfont* call.

EXPECTED DIFFERENCES :

None.

[lib/gs_fonts.ps]

2004-07-30T21:32:36.000000Z Dan Coby

More work upon 687551 Implement the remaining TN 5044 procedures.
This commit implements the setcmykoverprint procedure.

DETAILS:

We received a posting against 687551.  This posting indicated that some
files in arXiv.org were failing with the current version of Ghostscript
but worked with older versions.  The files were all created by a package
called Canvas by Deneba Systems.  They failed because setcmykoverprint
was not defined.

Evidently the people at Deneba Systems did not read the following comment
from page 15 of TN 5044:

"Note The setcmykoverprint operator has not been adopted by the industry.
It remains on the list of color convention operators because it has some
perceived usefulness, but it is not supported by any shipping host-based
separation applications today."

The even stranger detail is that the Deneba Systems people have a
dummy version of this procedure that does not implement overprinting.
Thus if they do not need overprinting, they have no need to use this
procedure.

The files also fail with Distiller 6.0, Illustrator CS, and Photoshop 6.0.
However this change allows these files to work with current Ghostscript.

The change consists of putting in a dummy version of the setcmykoverprint
procedure.  This version does not actually implement overprinting.

[lib/gs_lev2.ps]

2004-07-29T19:19:07.000000Z Igor Melichev

Fix : True Type font loader : numLoca run out the PS string size limit.

DETAILS :

Bug 687599 "/rangecheck in --string--".
This patch increases the maximal 'loca' size to 64528 bytes,
which is enough for the customer's file.
A further improvement would be to allow more 'loca' segments
(currently arbitrary restricted with 2 for a minor code simplification).

EXPECTED DIFFERENCES :

None.

[lib/gs_ttf.ps]

2004-07-29T17:46:38.000000Z Igor Melichev

1. Fix (PS interpreter) : The FontBBox validation check was too strong.
2. Fix (pdfwrite) : Explicitely set line parameters in a charproc.

DETAILS :

Bug 687594 "Barcode Width".
See comments in the new code.

This solution is a partial one.
With the current architecture of the Postscript interpreter,
a device can't recognize whether a PS charproc sets line parameters or not.
Therefore we copy to PDF the values, which appear at a first use
within a charproc. The old code copied only values, which differ from defaults.
The new behavior appears closer to Adobe Distiller.

A complete solution should copy the PS behavior to PDF,
i.e. the PDF charproc should set those and only those parameters,
which are set by the PS charproc. For doing that we need flags in the graphic state structure
per each graphic state parameter, reset all them before running a charproc,
and set whenever a parameter is changed. Without the flag, when the charproc sets
a value equal to the old one (which was inherited from the context of
the glyph usage), the event of setting is lost and causes a line width and other problems.
We don't want such a deep change now, and go with the partial solution,
because the partial solution appears enough for customer's needs.
Likely Adobe Distiller have same architectural problem, and resolves it in same manner.

EXPECTED DIFFERENCES :

pdfwrite, 72dpi :
012-09.ps
013-09.ps
014-09.ps
015-09.ps
083-09.ps
123-09.ps
205-09.ps
250-01.ps
296-01.ps
298-09.ps
321-09.ps

pdfwrite 300dpi :

012-09.ps
013-09.ps
014-09.ps
015-09.ps
027-05.ps
032-07.ps
034-10.ps
083-09.ps
093-01.ps
123-09.ps
169-09.ps
205-09.ps
212-01.ps
213-01.ps
214-01.ps
222-09.ps
238-01.ps
250-01.ps
296-01.ps
298-09.ps
307-07.ps
321-09.ps

[src/gdevpdtt.c src/zchar.c src/gslparam.h]

2004-07-28T19:46:59.000000Z Ralph Giles

test commit; verifying the cvs announcement list is working.

[src/Makefile.in]

2004-07-28T10:09:20.000000Z Igor Melichev

Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 4).

DETAILS :

FunctionType 3 did not account stitches with reversed interval boundaries : lower > upper.
Also added a tolerance to a small noise.
687573 Error: /rangecheck in --.shfill--

EXPECTED DIFFERENCES :

None.

[src/gsfunc3.c]

2004-07-26T23:33:22.000000Z Dan Coby

Fix for 687572 AFPL Ghostscript 8.14 fails with some PDF files.

DETAILS:

The given file uses the scn operator inside of a form.  The scn
operator is used for defining a color with DeviceN color spaces.
The scn operator uses .pdfcount (inside of scresolve) to determine
the number of parameters.  However inside a form, there is an extra
dictionary on the stack.

The fix consists of adjusting pdfemptycount (which is used by .pdfcount)
to match the stack depth while executing a form.  After the form is
executed, pdfemptycount is returned to its previous value.

[lib/pdf_draw.ps]

2004-07-26T23:21:31.000000Z Dan Coby

Fix for 687591 Overprint Preview is not documented.  This change adds
documentaion for how Ghostscript handles overprinting and spot colors
to Use.htm.

[doc/Use.htm]

2004-07-24T08:12:30.000000Z Igor Melichev

ps2write step 39 : Implementing embedded TrueType fonts (continued).

DETAILS :

This fixes the problem with True Type encoding :
account 'post' when 'cmap' can't give a character mapping.
Debugged wit 159.pdf , the character /registered.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
UnusualFontMatrix.ps, 159.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-23T19:11:04.000000Z Igor Melichev

ps2write step 39 : Implementing embedded TrueType fonts.

DETAILS :

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
UnusualFontMatrix.ps, 159.pdf .

Embedded fonts work, but there exist an encoding problem with 159.pdf .
The PS reader must have AdobeGlyphList and MacRomanEncoding.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-22T17:35:40.000000Z Igor Melichev

ps2write step 38 : Implementing embedded Type 1 fonts.

DETAILS :

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps,
UnusualFontMatrix.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-22T13:04:20.000000Z Igor Melichev

ps2write step 38 : Write font data after the font descriptor.

DETAILS :

opdfread.ps will use this constraint to provide
a proper context for interpreting font data.
Rather we need this constraint with ps2write only,
we always implement it to simplify the code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtb.h]

2004-07-22T11:08:25.000000Z Igor Melichev

ps2write step 37 : Don't convert Type 1 into CFF when generating ps2write output.

DETAILS :

1. Applied the Type 1 font writer.
2. Rather Type1C is a PDF 1.2 feature, we can't write it into a ps2write output.
   We use the OrderResources parameter to decide about (not)converting Type 1
   into Type1C (i.e. into CFF), because we want to write some PDF1.2 objects
   into a ps2write output (for example - function objects,
   because we don't want to convert them in C code).
3. The parameter OrderResources isn't a good switch for deciding about CFF
   due to the parameter name, but currently we don't want to define one more parameter.
   Maybe will improve it later.
4. Fixed a bug, which wrote "/Length1 -1" with Type1C.
5. CONVERT_CFF_TO_TYPE1 is reserved for further development.
6. Fixed Cygwin/gcc warnings in gdevpdfg.c .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtb.c src/gdevpdfg.c]

2004-07-22T07:56:48.000000Z Igor Melichev

ps2write step 36 : Switching on the new code DELAYED_STREAMS, PS2WRITE.

DETAILS :

See log messages of previous patches.

EXPECTED DIFFERENCES :

None.

[src/gdevvec.h]

2004-07-20T07:08:20.000000Z Ray Johnston

Fix to make sure that device deactivation is invoked before final close
of the device when exit. Bug #687557.

DETAILS:

It is not known whether or not this ever worked, but this change does
make sure that the .uninstalldevice gets invoked before the final
closedevice on exit.

EXPECTED DIFFERENCES.

None detected with regression suite.

[src/imain.c]

2004-07-17T18:44:35.000000Z Ray Johnston

Fix so that compiled fonts have the dictionary permissions set correctly.
Bug 687444 for customer #531.

DETAILS:

Previously the 'dict_attrs' parameter was ignored. I compared the attrs
of the compiled font to a font loaded from a PFB file using:

%! -------------------------------------------------------------------------
% Procedure to check attributes of all elements of a dictionary
% used to check Font dict contents.

/dumpattrs {    % object dumpattrs -
  dup { rcheck } stopped { pop (?) } { { (r) } { (-) } ifelse } ifelse print
  dup { wcheck } stopped { pop (?) } { { (w) } { (-) } ifelse } ifelse print
  dup { xcheck } stopped { pop (?) } { { (x) } { (-) } ifelse } ifelse print
  (    ) print type = flush
} bind def

/chkattrs {     % dict chkattrs -       and lots of formatted output
  (Dictionary:     ) print dup dumpattrs
  { exch
    (    /                    ) dup dup 4 -1 roll
    20 string cvs
    5 exch putinterval print
    (    /                    ) 0 exch putinterval
    dumpattrs
  } forall
} bind def

/Helvetica findfont chkattrs
quit

%--------------------------------------------------------------------------

[src/iccfont.c]

2004-07-16T22:14:26.000000Z Igor Melichev

Fix (pdfwrite) : Provide a delayed stream writing.

DETAILS :

The ps2write requires length of streams to be written before the stream.
This implements pdf_begin_data_stream with opening a stream object in a temporary file,
using a methgod similar to pdf_enter_substream.
With the new mechanizm the output file doesn't need to be positionable,
and the generated PDF appears more effective because the number of objects is smaller.

Also fixed a bug in gdevpdfu.c : crashed when encrypted with no page compression.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtb.c src/gdevpdf.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdfu.c src/gdevpdti.c src/gdevpdtw.h]

2004-07-15T16:39:08.000000Z Igor Melichev

Fix (pdfwrite) : Discard the output file seekability requirement in the /PS pdfmark implementation.

DETAILS :

The ps2write requires length of streams to be written before the stream.
The implementation of /PS pdfmark wrote a length in a separate object after the stream.
Now /PS pdfmark is implemented with pdf_enter_substream,
which writes the length directly into the object dictionary.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-07-15T12:37:49.000000Z Igor Melichev

Fix (pdfwrite) : text.operation was inconsistent after replacing TEXT_FROM_GLYPHS.

DETAILS :

Bug 687563 "segfault during pdfwrite".
text.operation became inconsistent after replacing
TEXT_FROM_*_GLYPH* with TEXT_FROM_STRING.
Declared a stronger constraint for process_text_modify_width,
and documented the trick with text indices in process_plain_text.

EXPECTED DIFFERENCES :

pdfwtite -r300 tpc2.ps

[src/gdevpdtc.c src/gdevpdte.c]

2004-07-14T18:21:24.000000Z Ray Johnston

Sort the output in filename order to make comparison of daily db's easier.

[toolbin/tests/dump_testdb]

2004-07-14T17:57:35.000000Z Igor Melichev

ps2write step 35 : Fixing more problems with color spaces.

DETAILS :

The alternative space of [/Indexed [/Separation ...] ...] was not resolved.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 473-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-14T17:57:23.000000Z Igor Melichev

Fix (pdfwrite) : Don't write DeviceN, DevicePixel colors with CompatibilityLevel<=1.2 .

DETAILS :

PDF 1.2 doesn't define DeviceN, DevicePixel.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfc.c src/gdevpdfg.c]

2004-07-14T15:59:51.000000Z Ralph Giles

Include string_.h for missing prototypes of strlen() &c. Bug 687541.

[src/lib.mak src/gsfcmap.c src/int.mak src/gsht1.c src/gscdevn.c src/zfile1.c]

2004-07-14T15:38:24.000000Z Ralph Giles

Cast pointer type to avoid a warning. Bug 687541.

[src/sjpx.c]

2004-07-14T15:34:25.000000Z Ralph Giles

Correct some types to unsigned to match the gp_file_name_combine() prototype.
Partial fix for bug 687541.

[src/gp_unix_cache.c]

2004-07-14T14:24:46.000000Z Ray Johnston

Fix to pdfwrite initialization to make sure initial distiller params are
incorporated into the device. Also add collection of distillerparams when
building currentpagedevice. Fixes bugs 687325, 687436 and 687458.

DETAILS:

Earlier change to use .putdeviceparamsonly in gs_pdfwr.ps so that the
use of setdistillerparams does not reinitialize the device caused the
initial parameter settings to not be set in the device. The change to
gs_pdfwr.ps accomplishes this.

Part of the investigation by Igor Melichev discovered that the values of
disillerparams would not be correctly reflected in the pagedevice. The
change to gs_setpd.ps collects the currentdistillerparams when the device
is pdfwrite and merges new values into the pagedevice dictionary. The
method is similar to that used for the dynamicppkeys such as PageCount
that can be changed by the device. For the distillerparams, the values
are changed dynamically by setdistillerparams.

EXPECTED DIFFERENCES.

Rotation of several files is restored to the correct value given by
gs8.11:

541.pdf
mspro.pdf
new_rect_nr.pdf
pstopdf.pdf
xes2ps-problem.pdf

[lib/gs_setpd.ps lib/gs_pdfwr.ps]

2004-07-13T19:52:37.000000Z Igor Melichev

ps2write step 34 : Applying filters to the page contents stream.

DETAILS :

Due to the device parameter problem in the PS interpreter,
the distilled PT.ps had a filtered contents stream in spite of we disabled filters.
Fixing it now to avoid the dependence on another project.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf, PT.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-13T19:31:51.000000Z Igor Melichev

ps2write step 33 : Fixing problems with color spaces in image XObjects.

DETAILS :

1. The Separation color space needs to resolve and substitute the alternative color space.
2. The Pattern color space needs to resolve and substitute the base color space.
3. Removed an obsolete temporary debug printing.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf, bulletin.pdf, test.pdf .

EXPECTED DIFFERENCES :

None.
`

[lib/opdfread.ps]

2004-07-13T18:58:36.000000Z Igor Melichev

ps2write step 32 : Fixing problems with color spaces in inline images.

DETAILS :

Inline images use local allocation mode for image data.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps,
148-01.ps, 245-01.ps, 415-01.ps, 477-03.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-13T15:58:32.000000Z Igor Melichev

ps2write step 31 : Implementing DecodeParms for filters.

DETAILS :

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 245-01.ps, 415-01.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-13T15:13:19.000000Z Igor Melichev

ps2write step 30 : Continue the implementation of color spaces.

DETAILS :

1. Implemented Lab.
2. A pattern color space specification can contain an indirect reference.
3. Moved the StreamDumperBuffer definition to the proper place.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 245-01.ps,
0.pdf, 000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-13T13:44:38.000000Z Igor Melichev

ps2write step 29 : The inplementation of FunctionType 4 was wrong.

DETAILS :

The test case 245-01.ps .
Also implemented a debug printing of the uncompressed data steram.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-13T12:38:57.000000Z Igor Melichev

Fix (pdfwrite) : Don't write shadings with CompatibilityLevel<=1.2 .

DETAILS :

Bug 687567 "pdfwrite : Shadings are written with CompatibilityLevel=1.2" :
Shadings are not allowed in PDF 1.2 .
This patch simply forwards to the default implementation,
causing a shading to decompose into thousands of constant color areas.

Probably a convertion to an image would be a better solution -
delaying it for a while, because our current goal is to make
ps2write working somehow.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfd.c src/gdevpdfg.c]

2004-07-13T12:02:36.000000Z Igor Melichev

Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark (continued).

DETAILS :

Fixing a misprint in the patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-May/004502.html
Thanks to SaGS for pointing it out.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-07-13T11:09:02.000000Z Igor Melichev

Fix (pdfwrite) : Dont create the alternative image compression if a loseless compression is only allowed.

DETAILS :

It is an optimization.
The problem was occasionally found when working on the bug 687325,
rather that bug is irrelevant. It created 2 alternative streams with same filters.
This change rejects the creation of the second stream in such cases.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c src/gdevpdfi.c]

2004-07-10T08:55:39.000000Z Igor Melichev

ps2write step 28 : Fixing tab characters in the source code (continued).

DETAILS :

This change is syntactically equivalent.
Also removed an unuseful comment.
Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-10T08:04:50.000000Z Igor Melichev

ps2write step 27 : Implemented FunctionType 4.

DETAILS :

245-01.ps contains one.
Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-09T20:54:02.000000Z Igor Melichev

ps2write step 26 : Fixing tab characters in the source code.

DETAILS :

This change is syntactically equivalent.
Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-09T20:28:37.000000Z Igor Melichev

ps2write step 25 : Fixing various problems in functions and color spaces.

DETAILS :

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf,
000040cf.000_60.pdf acrobat.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-09T16:52:06.000000Z Igor Melichev

ps2write step 24 : An initial implementation of functions.

DETAILS :

1-argument FunctionType 0 is converted to a Postscript procedure.
The Order is ignored. 3d order functions interpolate as 1st order.
Maybe we'll convert them in C in pdfwrite.
N-argument FunctionType 0 are coded but not tested yet.
Other function types are not coded.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-08T17:15:17.000000Z Igor Melichev

ps2write step 23 : Implementing Indexed and Separation (continued).

DETAILS :

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-08T15:28:31.000000Z Igor Melichev

ps2write step 22 : Implementing Indexed and Separation.

DETAILS :

SubstitutePDFColorSpace factored out from ResolveColorSpace.
Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps, 0.pdf, 000040cf.000_60.pdf .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-08T14:00:42.000000Z Igor Melichev

ps2write step 20 : Implementing CalGray, CalRGB.

DETAILS :

- implemented the color space cache PDFColorSpaces;
- improved the procedure 'error';
- a bug in Register : s|gt|ge;
- moved color procedures before image procedures;
- a bug in the CompleteOutlineImage comment.
- ResolveColorSpace now converts CalGray, CalRGB.

Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps 148-01.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-08T11:12:25.000000Z Igor Melichev

ps2write step 20 : The implementations of Q,q,CharProc were incomplete.

DETAILS :

Minor change : collected work data definitions in a single place.
Tested with Bug687546.ps, 017-01.ps, 035-01.ps, 035-07.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-08T10:06:54.000000Z Igor Melichev

ps2write step 17 : Implementing Patterns.

DETAILS :

Tested with Bug687546.ps, 035-01.ps, 035-07.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-08T08:03:22.000000Z Igor Melichev

ps2write step 18 : Fix : Length was written to a wrong file position.

DETAILS :

Fixes a bug in the patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-July/004607.html .
Thanks to Ray Johnston for pointing it out.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-07-07T15:19:45.000000Z Igor Melichev

ps2write step 17 : Image XForm implementation.

DETAILS :

Tested with Bug687546.ps, 035-01.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-07T14:24:43.000000Z Igor Melichev

ps2write step 16 : Inline image implementation.

DETAILS :

Tested with Bug687546.ps, TESTIMG.PS .
The interpretation completes, but some images render wrongly.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-07T11:42:07.000000Z Igor Melichev

ps2write step 15 : Fix : ObjectRegistry expansion code was wrong.

DETAILS :

Tested with Bug687546.ps, 148-01.ps .
148-01.ps still fails due to unimplemented images.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-07T11:00:57.000000Z Igor Melichev

ps2write step 14 : Fix : fonts may have no Encoding.

DETAILS :

Tested with Bug687546.ps, 148-01.ps .
148-01.ps still fails due to unimplemented images.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-07T10:40:56.000000Z Igor Melichev

ps2write step 13 : Implementing Type 3 fonts.

DETAILS :

A minor restructurization of the code and a debug printout improvement.
Tested with Bug687546.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-07T10:19:37.000000Z Igor Melichev

ps2write step 12 : Implementing Type 3 fonts.

DETAILS :

1. Implemented a delayed stream interpretation.
2. Implemented Type 3 fonts.
3. Renamed UnRefD with ResolveD.
4. Debug switches are bound.

Tested with Bug687546.ps - now it renders fine.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-07T09:33:19.000000Z Russell Lang

Fixes bug 687451 "default resolution for display device"
Set the display resolution from the MS-Windows display resolution,
using a device parameter -dDisplayResolution=DPI.

DETAILS:
The initial resolution must be set in display_put_params.
Setting it in display_open is too late because this leaves
the device resolution and currentpagedevice reporting
different values.  Callbacks can't be used in display_put_params
because the callback structure is not yet initialized.
This leaves a device parameter on the command line as
the cleanest implementation.
If HWResolution is set (e.g. from -r72), then use that.
Otherwise, if DisplayResolution is set, use that in the
initial display_put_params.  After that, ignore all further
use of DisplayResolution.
The Windows client adds -dDisplayResolution=DPI to the
command lines, similar to the existing -dDisplayFormat.
The Windows client gets the resolution from the GDI.
The default Windows display resolution is 96dpi (the same
as the display device).  This can be changed to 120dpi by
selecting "large fonts", or other values in recent versions
of Windows.

[src/gdevdsp.c src/dwmain.c src/gdevdsp.h src/dwmainc.c src/gdevdsp2.h doc/Devices.htm]

2004-07-07T09:09:27.000000Z Russell Lang

Fixes bug 687562 "vector devices close output file incorrectly".
Vector devices open the output file with gx_device_open_output_file,
so should close it with gx_device_close_output_file, not fclose.
This was preventing pswrite from correctly closing special
files such as "%printer%Printer Name" on Windows and OS/2.

[src/gdevvec.c]

2004-07-07T09:07:35.000000Z Russell Lang

In the Windows %printer% IODevice, the existing thread handle
is closed automatically when the thread finishes.  Duplicate
the thread handle so we always have a valid handle for waiting
and closing.

DETAILS:
When the thread finishes, the CRTL _endthread is closing
the existing handle.  During debugging, it was found that
waiting on the thread handle was Ok because the thread
was still running, but by the time CloseHandle ran the
thread handle was invalid.

IODevices are effectively static, so iodev->state is initialized
once at the start of the interpreter.  There is no need to
test if iodev->state is valid.

[src/gp_msprn.c]

2004-07-06T22:15:09.000000Z Dan Coby

Fix for 687565 Incorrect equiv color for Orange in Altona test file.
The altona test file Altona_Visual_bb_1v1_x3.pdf contains a spot color
called Orange.  An incorrect equivalent CMYK color is being determined for
this spot color.  The result is that the spot color is being displayed as
black for the devices which handle spot colors and attempt to determine
equivalent CMYK colors for the spot colors.  These are the psdcmyk,
tiffsep, and display (with -dDisplayFormat=16#a0800) devices.

DETAILS:

The Orange spot color is used in two different DeviceN color spaces.  The
first color space has components named 'None'.  These components are used
as part of a special feature described in section 4.5 of the PDF 1.5 spec.
This feature uses the None components as a means for passing values to
the color space's alternate tint transform function.  In the example in
the spec., these values are an equivalent color in the alternate color
space.

Our logic for determining an equivalent CMYK color for a spot colorant
sets all color components except for the desired spot color to zero and
then uses the tint transform function to form an alternate color.  This
results in the equivalent CMYK color being black since the None values
contain the real information for the tint transform function.

This change consists of check for the presence of DeviceN color space
components named None.  If any are detected then the equivalent CMYK
color logic exits rather than determine an invalid color.  This is
sufficient for this case since the second color space which contains
the Orange spot color does not have the None components.  For the
general case, a solution needs to be found which samples colors given
actual values for the None components.

[src/gsequivc.c]

2004-07-06T19:27:30.000000Z Igor Melichev

ps2write step 11 : Implementing Metrics for Type 1,2,42 fonts (continued).

DETAILS :

The previous patch appeares incomplete due to MissingWidth. Now fixing.
CID fonts and Type 3 fonts are still stubbed.
Tested with Bug687546.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-06T19:04:18.000000Z Igor Melichev

ps2write step 10 : Implementing Metrics for Type 1,2,42 fonts.

DETAILS :

CID fonts and Type 3 fonts are still stubbed.
Tested with Bug687546.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-06T17:44:01.000000Z Igor Melichev

ps2write step 9 : Implementing Encoding for Type 1,2,42 fonts.

DETAILS :

CID fonts and Type 3 fonts are still stubbed.
Tested with Bug687546.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-06T13:48:03.000000Z Igor Melichev

ps2write step 8 : Implementing ExtGState.

DETAILS :

Function objects are subbed yet.
Debugged with Bug687546.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-06T12:05:41.000000Z Igor Melichev

ps2write step 7 : Implementing text rendering operastors.

DETAILS :

Font loading is stubbed yet.
Debugged with Bug687546.ps .
TextRenderingMode!=0 isn't debugged yet.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-05T21:16:26.000000Z Igor Melichev

ps2write step 6 : :Providing a page stream execution context.

DETAILS :

Most operators are eother stubbed or unimplemented,
but the interpretation runs and prints a trace.
Debugged wioth Bug687546.ps .

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-05T17:03:39.000000Z Igor Melichev

ps2write step 5 : Page streams must interpret immediately.

DETAILS :

This works against a huge memory consumption.
Also improved comments, the module structurization and error processing.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-05T17:03:28.000000Z Igor Melichev

ps2write step 4 : Stream data length must preceed the stream.

DETAILS :

The new code is disabled with PS2WRITE 0 in gdevvec.h .

pdf_begin_data_stream, pdfmark_PS wrote a stream data length after the stream object.
With OrderResources true we write a direct object instead that.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdfu.c]

2004-07-05T12:55:20.000000Z Igor Melichev

ps2write step 3 : Initial commit for the Ordered PDF Reader.

DETAILS :

This revision only reads PDF objects into VM.

EXPECTED DIFFERENCES :

None.

[lib/opdfread.ps]

2004-07-03T10:51:14.000000Z Russell Lang

Log Message:
Fixes bug 686956 Display device does not support separations.
Add support for separations to display device.
This requires a change to the display callback structure.
Support is maintained for clients using version 1 of the structure.

DETAILS:
Add support for a new color format, DISPLAY_COLORS_SEPARATION,
which supports CMYK and spot colors.  A new callback
display_separation() is used to tell the client about
the names and CMYK equivalents of each separation.
The callback structure version number is incremented to 2
to show that has changed.  The display devices checks
whether it is passed the older v1 structure or the newer
v2 structure, and only calls the new separation callback
if it was given a v2 structure.
Only 8-bit/pixel, up to 8 components and 64-bit depth are supported.
In the Windows and gtk+ clients, a subset of these 8 separations
can be selected for display.
The new code is based on the tiffsep device.

[src/dwimg.h src/gdevdsp.c doc/API.htm src/dwmain.c src/dxmain.c src/gdevdsp.h src/dwmainc.c src/gdevdsp2.h doc/Devices.htm src/dwimg.c src/idisp.c]

2004-07-01T19:23:15.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 6).

DETAILS :

Bug 687546 pdfwrite : Type 3 glyph variations (was: ps2pdf segfaults)
Relates to 687044, 687472, 687489, 687546.
charproc_just_accumulated was not properly initialized on some circumstances.

EXPECTED DIFFERENCES :

Bug687546.ps (new)

[src/gdevpdtt.c]

2004-07-01T18:27:14.000000Z Dan Coby

Correct some warnings from the MSVC compiler.

[src/gzht.h src/gsht.c src/gscsepr.c src/gscdevn.c]

2004-07-01T04:41:38.000000Z Dan Coby

This change creates common routines for handling the DeviceN related
device parameters (SeparationColorNames, SeparationOrder, and
MaxSeparations).  The change also splits up some common routines that
were assuming that the device was a 'printer' device.

[src/gdevpsd.c src/gxcmap.c src/gdevtsep.c src/gdevdevn.c src/gdevnfwd.c src/gxcmap.h src/gdevxcf.c src/devs.mak src/gdevdevn.h]

2004-06-30T17:37:41.000000Z Raph Levien

Fixes nonportable code in the vasarely.ps example file so that keeps
to reasonable page size values even when default clippath is very
large (as is the case with the bbox device). Fixes bug #687549.

[examples/vasarely.ps]

2004-06-30T14:55:25.000000Z Igor Melichev

Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts (continued).

DETAILS :

Fixing a compiler error with PS2WRITE 1.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2004-06-30T14:50:52.000000Z Igor Melichev

Fix (pdsfwrite) : Compression of XObjects implicitely depended on CompressFonts.

DETAILS :

This patch makes the dependence explicit.
Have no idea which distiller parameter must controll patterns and forms,
so keeping the old dependence.
With OrderResources=true pages now depend on CompressPages.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdfu.c src/gdevpdti.c src/gdevpdfi.c]

2004-06-30T14:35:37.000000Z Igor Melichev

ps2write part 2 : Delay writing pages.

DETAILS :

The new code is disabled with PS2WRITE 0 in gdevvec.h .

With OrderResources=true it writes pages at the end of the document,
after all resources are written to PDF.
Before that pages are accumulated in a temporary file.

OrderResources has been moved from distiller parameters to device parameters.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpsdp.c src/gdevpdfp.c src/gdevpdf.c src/gdevpdfu.c src/gdevpdfg.c src/gdevpsdf.h]

2004-06-30T11:54:51.000000Z Igor Melichev

ps2write part 1 : starting the project.

DETAILS :

Define a new temporary configuration switch PS2WRITE.
The new code is disabled with PS2WRITE 0 in gdevvec.h .

Our development strategy is to make pdfwrite to generate an output,
which a PS interpreter can handle with a special procset.
For a while we'll not define a new ps2write device,
but enhance the pdfwrite device with a new feature.

A new temporary distiller parameter OrderResources will make pdfwrite
to keep a proper resource ordering for generating a PS output.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdp.c src/gdevpsdf.h src/gdevvec.h]

2004-06-30T08:15:21.000000Z Igor Melichev

Fix : MSVC compiler warning.

EXPECTED DIFFERENCES :

None.

[src/gdevtsep.c]

2004-06-29T22:46:20.000000Z Dan Coby

Fix for 687553 rangecheck in .sethalftone5 and SeparationOrder.

DETAILS:

If a file specifies a type 5 halftone and the SeparationOrder device
parameter is specified then a rangecheck can occur.  This happens when
the halftone includes two or more colorants that are not in the
SeparationOrder parameter or one colorant and a 'Default' value.

The problem occurs because the get_color_comp_index device procs use
GX_DEVICE_COLOR_MAX_COMPONENTS to indicate colorants which are not
being imaged due to the colorant not be included in the list for the
SeparationOrder device parameter.  However the
gs_color_name_component_number routine was using the same value to
indicate 'Default' halftones.

The fix consists of modifying gs_color_name_component_number to look
for GX_DEVICE_COLOR_MAX_COMPONENTS from the get_color_comp_index
device proc.  If found then the component is treated the same as
a component that is not present in the device.  The halftoning
logic is only concerned with the colorants which are actually being
used by the device.

[src/gsht.c]

2004-06-29T22:27:14.000000Z Dan Coby

Correct spelling in a comment.

[src/gxcmap.h]

2004-06-29T21:01:41.000000Z Dan Coby

Change the default handling of the MaxSeparations device parameter.  This
parameter is only used by some of the DeviceN mode devices (which have
their own handling of this parameter).  The default handler now simply
ignores this parameter.  However it does read the parameter.  Not reading
the parameter was causing problems with PDF files and page devices.

[src/gsdparam.c]

2004-06-29T01:05:50.000000Z Ralph Giles

Add contributed pscolor utility by Carsten Hammer. This splits a ps
document into two, one consisting only of black and white pages, and
one of color pages. Useful for printing on separate devices.

Submitted under bug 602263.

The Makefile needs updating for the new location.

[contrib/pscolor/Makefile contrib contrib/pscolor contrib/pscolor/test.c contrib/pscolor/instream.yy]

2004-06-28T17:13:16.000000Z Igor Melichev

Fix : True Type grid fitting must not apply to FAPI fonts.

DETAILS :

Bug 687543 "FAPI: Type 42 is broken".

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxccman.c]

2004-06-24T10:10:17.000000Z Igor Melichev

Fix : A dangling pointer from TExecution_Context could cause a memory corruption.

DETAILS :

The pointed area was never used and the pointer was not listed in the garbager descriptor.
Due to the latter it was not relocated and a wrong object was released through it.
Bug 687533  "segmentation fault on this PS file"

We still keep the pointer defined, because we don't want to change FreeType structures.
But now we don't allocate the area for its referent.

Minor change (ttinterp.c) : skip allocating a debug data of zero size.

EXPECTED DIFFERENCES :

None.

[src/ttfmemd.c src/ttobjs.c src/ttinterp.c]

2004-06-24T09:51:02.000000Z Igor Melichev

Fix: Unwinding the recent change to gsdparam.c becauase it breaks the PDF interpreter.

DETAILS :

All comparefiles/*.pdf failed with -sDEVICE=ppmraw after the change
http://www.ghostscript.com/pipermail/gs-cvs/2004-June/004575.html .

EXPECTED DIFFERENCES :

See DETAILS.

[src/gsdparam.c]

2004-06-24T07:20:57.000000Z Dan Coby

Add source file src/gdevtsep.c.  This file is part of the implementation
687440 and 542629.

[src/gdevtsep.c]

2004-06-24T06:54:49.000000Z Dan Coby

Add the src/gdevtsep.c file.  This contains the tiffgray, tiff32nc, and
tiffsep devices.

[doc/Develop.htm]

2004-06-24T06:51:22.000000Z Igor Melichev

Fix (TT interpreter) : The implementation of INSTCTRL did not follow the TT specification by Apple.

DETAILS :

Bug 687526 /invalidfont in --show--
See http://developer.apple.com/fonts/TTRefMan/RM05/Chap5.html#INSTCTRL
The old implementation comes from FreeType.

EXPECTED DIFFERENCES :

None.

[src/ttinterp.c]

2004-06-24T06:48:27.000000Z Dan Coby

This change implements the enhancements described in 542629 CMYK
tiff driver and 687440 Support for outputting PDF separations
separately.  This change implements three devices:  tiffgray
which produces an 8 bit gray output with uncompressed data,
tiff32nc which produces 32 bit CMYK with uncompressed data, and
tiffsep which produces a tiffgray file for each separation
(CMYK and spot colors) and it also produces a CMYK output file
which is created using the CMYK image data plus the spot
colors image data.  The spot colors are converted to CMYK using
the logic in 687431.

DETAILS:

This change requires that 687504 be included in the sources.

The tiffgray and tiff32nc devices are logically similar to the
tiff24nc device except for the use of gray and CMYK process
color models.

The tiffsep device uses much of the logic which has been created
for the psdcmyk and spotcmyk devices.  These include logic for
implementing the SeparationOrder setpagedevice parameter 687423,
logic for determining an equivalent CMYK color to spot colors
687431, and automatically detecting spot colors (without requiring
that they be specified via the SeparationColorNames setpagedevice
parameter 687504.

The tiffsep device also prints the names of any spot colors
detected within a document to stderr.  (stderr is also use for the
output from the bbox device.)  For each spot color the name of
the color is printed preceded by '%%SeparationName:  '.  This
provides a mechanism for external applications to be informed about
the names of spot colors with a document.

Due to the 64 bit pixel size limitation, the tiffsep can handle
a maximum of 8 colorants per pass.  However it is possible to
handle more than 8 colorants by doing multiple passes.  For each
pass after the first one, the names of all of the separations need
to be specified via the SeparationColorNames parameter and the
names of the desired separations need to be specified via the
SeparationOrder parameter.  When colorants are selected via the
SeparationOrder parameter, the composite CMYK output contains
the equivalent CMYK data only from the selected colorants.  It is
possible to create an overall CMYK composite for more than 8
colorants by then adding together (via an external application like
imagemagick) the composite CMYK output files from the individual
Ghostscript passes.

Internally each spot color is assigned a spot color number.  These
numbers start with 0 for the first spot color.  The spot color
numbers are assigned in the same order as the names are printed to
stderr (see above).  This order also matches the ordering in the
SeparationColorNames list, if this parameter is specified.  The
spot color numbers are not affected by the SeparationOrder parameter.

This device creates multiple output files.  The file specified
via the OutputFile command line parameter is used to contain the
composite CMYK equivalent.  File names for the separations for the
CMYK planes are created by appending '.Cyan.tif', '.Magenta.tif'
'.Yellow.tif' or '.Black.tif' to the to the end of the file name
specified via the OutputFile parameter.  File names for the spot
color separation files are created by appending '.sn.tif' (where n
is the spot color number) to the end of the file name specified via
the OutputFile parameter.

The src/gdevtsep.c source file does have a compile time option for
including/not the '.tif' at the end of the created file name.  It
also has a compile time option for using the name of the spot color
as part of the file name.  However this is not enabled since there
may be conflicts with spot color names (in which Adobe allows almost
anything) and the operating system's conventions on file naming.

This change consists of the new source module src/gdevtsep.c,
changes to devs.mak for defining the new devices, changes to the
various top level make files for including these devices in their
DEVICE_DEVS definitions, and changes to the documentation files.

[src/openvms.mak src/gsdparam.c src/watcw32.mak src/Makefile.in src/dvx-gcc.mak src/unix-gcc.mak src/msvc32.mak src/unixansi.mak src/macos-mcp.mak doc/Devices.htm src/devs.mak src/gdevdevn.h src/os2.mak]

2004-06-24T06:47:36.000000Z Igor Melichev

A new implementation of shadings, step 80.

DETAILS :

A stronger prevention of a tiny decomposition of a color.
It works against glitches in function|color monotonity|linearity checks.

EXPECTED DIFFERENCES :

72dpi :
Altona-Testsuite_p2_S_x3.pdf
Clarke Tate Manns Chinese.ai
S2_Digitalproof-Forum_x3k.pdf


300dpi :
Clarke Tate Manns Chinese.ai
S2_Digitalproof-Forum_x3k.pdf

[src/gxshade6.c]

2004-06-24T05:03:36.000000Z Dan Coby

Fix for 687534 Unable to determine equivalent CMYK for spot colors
that are only used with overprint.

DETAILS:

The given test file uses spot colors.  However the psdcmyk device
was creating output files which did not contain equivalent CMYK
colors for the spot colors.  The cause was that the previous
version of the logic was capturing the equivalent CMYK colors
when the psdcmyk device's high drawing procs were called.  However
if overprinting is enabled, then the overprint device was inserting
its own versions of these routines.  Since it only took one call
to a high level drawing handler, the previous logic would capture
the equivalent CMYK colors if there were any drawing operations
with a spot color that did not have overprinting enabled.

The fix consists of moving the capturing of the equivalent CMYK
colors to a new device proc.  This new device proc is called
update_spot_equivalent_colors.  This device proc is called whenever
a Separation or a DeviceN color space is installed.

The default version of the proc does nothing.  Thus there is only
a small amount of overhead added for the installation of Separation
and DeviceN color spaces for devices which do not need the equivalent
CMYK colors for spot colors.

Most of the change consists of the standard details of adding a
new device proc.  There are several places that have to be updated
when this is done.  The documentation in doc/Drivers.htm was updated
to include this new proc.  The high level drawing handlers in the
psdcmyk devices were removed and a new psd_update_spot_equivalent_colors
procedure was added.  Some minor changes were made in the logic in
gsequivc.c since it is no longer necessary to scan through base and
alternate color spaces looking for Separation and DeviceN color spaces.
The comments at the beginning of gsequivc.c was changed to reflect
the changes in the logic for capturing equivalent CMYK colors for
spot colors.

[src/gxclist.c src/gxclip.c src/gsequivc.c src/gdevrops.c src/gscdevn.c src/gsequivc.h src/gdevpsd.c src/gdevdflt.c src/gdevbbox.c doc/Drivers.htm src/gxclipm.c src/gxdevice.h src/gdevnfwd.c src/gdevprn.c src/gscsepr.c src/gxclip2.c src/gxdevcli.h]

2004-06-24T03:17:45.000000Z Ray Johnston

Minor change to avoid a spurious compiler warning about 't' used before
initialized. Fixes bug #687412.

DETAILS:

This is an invalid warning, since 't' is always initialized before use,
however the extensive use of macros confuses some compilers. IMO, this
is an abuse of macros, but this is endemic in the older GS code.

[src/spdiff.c]

2004-06-23T20:37:51.000000Z Alex Cherepanov

Disable idiom recognition feature during execution of .bindnow
because it has no effect except burning a few seconds of CPU time.
Fix bug 687521

[lib/gs_init.ps]

2004-06-23T18:57:15.000000Z stefan

Fixed CMYK to RGB conversion.

Used in rop code where RGB -> CMYK -> RGB needs to work correctly
in the black and white cases.

[src/gdevbit.c]

2004-06-23T18:50:19.000000Z stefan

Fix macro to use it's arguments.  Platform specific, under exersized code.

[src/gxfarith.h]

2004-06-23T09:04:17.000000Z Igor Melichev

Fix (ps2ascii) : Provide a tolerance to old versions of dvips output.

DETAILS :

Bug 531300  "ps2ascii chokes on ch-xoff and ch-* routines".
Patch from Mike attached to the bug.

EXPECTED DIFFERENCES :

None.

[lib/ps2ascii.ps]

2004-06-19T04:01:27.000000Z Ray Johnston

Add new CMaps and update older ones to latest. Bug #687470. Thanks to
A. Cherepanov for providing part of the newer files.

[Resource/CMap/Identity-H Resource/CMap/UniJIS-UCS2-V Resource/CMap/GBKp-EUC-H Resource/CMap/GBK2K-H Resource/CMap/Adobe-Japan1-90pv-RKSJ Resource/CMap/Adobe-CNS1-UCS2 Resource/CMap/GBK-EUC-UCS2 Resource/CMap/90pv-RKSJ-H Resource/CMap/HKdla-B5-V Resource/CMap/Adobe-GB1-UCS2 Resource/CMap/Identity-V Resource/CMap/Adobe-Japan1-UCS2 Resource/CMap/UniCNS-UCS2-H Resource/CMap/GBKp-EUC-V Resource/CMap/KSCpc-EUC-H Resource/CMap/Adobe-GB1-H-CID Resource/CMap/GBK2K-V Resource/CMap/90pv-RKSJ-V Resource/CMap/UCS2-ETen-B5 Resource/CMap/GBT-EUC-H Resource/CMap/Adobe-CNS1-H-Host Resource/CMap/UniCNS-UCS2-V Resource/CMap/HKdlb-B5-H Resource/CMap/Adobe-Japan1-H-Host Resource/CMap/KSCms-UHC-H Resource/CMap/Add-RKSJ-H Resource/CMap/UCS2-GBK-EUC Resource/CMap/UniKS-UCS2-H Resource/CMap/GBT-EUC-V Resource/CMap/HKgccs-B5-H Resource/CMap/HKdlb-B5-V Resource/CMap/83pv-RKSJ-H Resource/CMap/KSCms-UHC-HW-H Resource/CMap/Adobe-CNS1-H-Mac Resource/CMap/KSCms-UHC-V Resource/CMap/HKm314-B5-H Resource/CMap/EUC-H Resource/CMap/Add-RKSJ-V Resource/CMap/UniGB-UCS2-H Resource/CMap/Adobe-CNS1-B5pc Resource/CMap/HKscs-B5-H Resource/CMap/HKm471-B5-H Resource/CMap/Adobe-Japan1-H-CID Resource/CMap/Adobe-GB1-GBpc-EUC Resource/CMap/90msp-RKSJ-H Resource/CMap/UniKS-UCS2-V Resource/CMap/HKgccs-B5-V Resource/CMap/UCS2-90ms-RKSJ Resource/CMap/GBpc-EUC-H Resource/CMap/UniJIS-UCS2-HW-H Resource/CMap/KSCms-UHC-HW-V Resource/CMap/Adobe-Korea1-H-Mac Resource/CMap/HKm314-B5-V Resource/CMap/B5pc-H Resource/CMap/EUC-V Resource/CMap/KSC-EUC-H Resource/CMap/90pv-RKSJ-UCS2 Resource/CMap/UniGB-UCS2-V Resource/CMap/HKscs-B5-V Resource/CMap/HKm471-B5-V Resource/CMap/90pv-RKSJ-UCS2C Resource/CMap/90msp-RKSJ-V Resource/CMap/KSCpc-EUC-UCS2 Resource/CMap/GBpc-EUC-V Resource/CMap/UniJIS-UCS2-HW-V Resource/CMap/KSCpc-EUC-UCS2C Resource/CMap/B5pc-V Resource/CMap/Ext-RKSJ-H Resource/CMap/KSC-EUC-V Resource/CMap/UCS2-GBpc-EUC Resource/CMap/GBK-EUC-H Resource/CMap/UCS2-B5pc Resource/CMap/Adobe-GB1-H-Mac Resource/CMap/Adobe-Korea1-UCS2 Resource/CMap/Adobe-Korea1-KSCpc-EUC Resource/CMap/KSCms-UHC-UCS2 Resource/CMap/90ms-RKSJ-UCS2 Resource/CMap/Ext-RKSJ-V Resource/CMap/Adobe-Japan1-90ms-RKSJ Resource/CMap/UCS2-90pv-RKSJ Resource/CMap/GBK-EUC-V Resource/CMap/Adobe-GB1-H-Host Resource/CMap/CNS-EUC-H Resource/CMap/90ms-RKSJ-H Resource/CMap/Adobe-Korea1-KSCms-UHC Resource/CMap/GB-EUC-H Resource/CMap/UCS2-KSCpc-EUC Resource/CMap/Adobe-Japan1-PS-H Resource/CMap/H Resource/CMap/Adobe-Korea1-H-Host Resource/CMap/Adobe-GB1-GBK-EUC Resource/CMap/Adobe-CNS1-H-CID Resource/CMap/GBpc-EUC-UCS2 Resource/CMap/CNS-EUC-V Resource/CMap/UniJIS-UCS2-H Resource/CMap/GBpc-EUC-UCS2C Resource/CMap/90ms-RKSJ-V Resource/CMap/B5pc-UCS2 Resource/CMap/Adobe-Japan1-H-Mac Resource/CMap/GB-EUC-V Resource/CMap/Adobe-Japan1-PS-V Resource/CMap/V Resource/CMap/B5pc-UCS2C Resource/CMap/UCS2-KSCms-UHC Resource/CMap/Adobe-CNS1-ETen-B5 Resource/CMap/Adobe-Korea1-H-CID Resource/CMap/HKdla-B5-H]

2004-06-18T17:46:50.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 5).

DETAILS :

pdf_set_charproc_attrs went out the pw array range,
and caused an indeterministic behavior with Bug687044.ps .

EXPECTED DIFFERENCES :

Not detected on Windows, but the old revision was indeterministic.

[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdti.c]

2004-06-18T07:00:47.000000Z Dan Coby

687504 Enhancement: Imaging spot colors without using the
SeparationColorNames parameter.

DETAILS:

The purpose of this enhancement is to provide an example of how
to implement imaging spot colors without requiring that they be
specified in advance via the SeparationColorNames setpagedevice
parameter.  Note:  Spot colors are only supported on a few devices
which have output file formats which allow for spot colors.  These
are currently the psdcmyk, spotcmyk, and xcfcmyk devices.

This commit only implements this feature on the psdcmyk, spotcmyk
and devicen devices.

In order to implement this feature, a device needs to be able to
allocate image buffer memory for each colorant and to detect when
a new colorant is being used inside of a color space.  The
implementation has the following pieces:

1.  The handling of the MaxSeparation setpagedevice parameter was
extended.  Previously this parameter was always set to one.  For
most devices it now indicates the number of colorants being used
by the device.  For most devices this is a fixed quantity, however
for the psdcmyk device, this parameter can be used to tell the
device to allocate image buffer memory for up to eight colorants.
(The eight colorant limit is due to the fact that the psdcmyk
device uses 8 bits per colorant and we currently have a 64 bit
maximum pixel size.)

2.  The devices already have a 'get_color_comp_index' routine which
is used to query if a colorant is supported by the device.  However
this routine is used for both real components in color spaces and also
for some special cases.  For instance, the same halftone may be used
either for a cyan or a red colorant.  To handle this case, the halftoning
setup logic will query the get_color_comp_index routine to check if
cyan is supported by the device.  If not then a query is made to see
if the device supports red.  By monitoring the names of the components
passed to get_color_comp_index routine, a device can detect when a new spot
color is being used.  However it is necessary to be able to detect
the special cases so that the device does not believe that it has a
'red' spot color.  To do this the third parameter of the
get_color_comp_index device proc was logically modified to indicate
if a name represents a name actually in a color space or one of the
special case situations.  Previously this parameter was not being used.

3.  The get_color_comp_index routine for the psdcmyk device was
modified to look for new spot colors and to add then to its list of
colorants if there was space available.  Note:  This also required
that the psdcmyk device have its own structure descriptor, pointer
enumeration and relocation procedures.  The macro which was used to
define the psdcmyk and psdrgb devices needed to be changed since the
previous macro used the st_device_printer structure descriptor instead
of the new structure descriptor for the psd devices.

[src/gdevpsd.c src/gsdparam.c src/gxcmap.c src/gdevdevn.c src/gdevnfwd.c src/gxcmap.h src/gsht.c src/gscsepr.c src/gdevxcf.c src/gdevdevn.h src/gscspace.c src/gdevperm.c src/gscdevn.c]

2004-06-17T21:42:53.000000Z Ralph Giles

Protect genarch's test for sizeof(long long) with and #ifdef HAVE_LONG_LONG
since a number of platforms (particularly MSVC) do not support this type.

[src/genarch.c src/stdint_.h]

2004-06-17T13:05:16.000000Z Alex Cherepanov

Round elements of Mask array to the nearest integer following implementation
of AR4, AR5, AR6.
Fix bug 687494 from customer 580.

[lib/pdf_draw.ps]

2004-06-17T11:14:31.000000Z Igor Melichev

Fix : Arithmetic errors could cause a function monotonity misrecongition.

DETAILS :

Bug 687511 "shadinds: infinite recursion".

EXPECTED DIFFERENCES :

Not detected on Windows.
On Linux expecting a difference with :
Altona-Testsuite_p2_S_x3.pdf
S2_Digitalproof-Forum_x3k.pdf

[src/gsfunc0.c]

2004-06-16T20:01:59.000000Z Alex Cherepanov

Fix parsing of -2147483648.5, min_int followed by a fractional part.
Fix bug 687500

[src/iscannum.c]

2004-06-16T11:22:08.000000Z Igor Melichev

Fix (pdfwrite) : Allow named object reference in the Action key of /ANN pdfmark.

DETAILS :

Bug 687386  "-dEmbedAllFonts does not work".

It's a PDF 1.5 feature. We still incompletely support PDF 1.5 .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-06-16T09:27:10.000000Z Ralph Giles

Try to use long long as a 64 bit type in the genarch fallback stdint definitions. Fix for bug 687514.

[src/genarch.c src/stdint_.h]

2004-06-16T09:27:10.000000Z Ralph Giles

Protect against cache values containing spaces. This shouldn't be a problem, the change is more for consistency.

[src/configure.ac]

2004-06-15T20:28:48.000000Z Igor Melichev

Fix (pdfwrite) : A wrong CFF string index randiomization.

DETAILS :

Bug 687507 "pdfwrite device closes with -15".

1. Randomization parameters for cff_string_index were computed wrongly,
causing the search to skip some items. As a consequence,
some strings were added to the table many times, causing
a groth of the table while CFF size estimation iterations,
and psf_write_type2_font returned error due to "offset > End_offset".

2. If an error happened writing a font after pdf_begin_fontfile is done,
unconditionally call pdf_end_fontfile to provide a consistent stream state.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gdevpdtb.c src/gdevpsf2.c]

2004-06-15T15:27:57.000000Z Alex Cherepanov

Make pdf_dominant_rotation() return unknown text rotation for the file
without text. It returned 0 rotation before, which excluded consideration
of DSC comments later on.
Fix bug 687515

[src/gdevpdf.c]

2004-06-10T19:09:50.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 4).

DETAILS :

Recent changes about charproc variations caused an appearence of idle entries
in the xref table. Those entries pointed to zero length objects
and were never referred.

Idle entries appeared due to the substream accumulator reserved an object id
before entering a substream, but later the object (a charproc) was cancelled.

This patch delays the reservation of an object id until we decide
that the object won't be cancelled. Added a new argument of pdf_enter_substream
for this purpose.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdti.c src/gdevpdfi.c]

2004-06-10T16:41:59.000000Z Igor Melichev

A new implementation of shadings, step 80.

DETAILS :

Propagated error codes from is_color_monotonic, is_color_linear.
Should fix the bug 687511 "shadinds: infitite recursion".

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-06-09T20:47:50.000000Z Igor Melichev

Fix (type 1 hinter) : an indeterministic bug in t1_hinter__simplify_representation.

DETAILS :

Bug 687508 "segfault with cvs head".

1. An old defect in the code :
when contour_count is greater than hint_count,
and the hinting is disabled by one axis,
random hints could appear,
causing indeterministic effects.

2. this->grid_fit_x ans this->grid_fit_y were erroneusely exchanged.

EXPECTED DIFFERENCES :

72dpi :

036-01.ps
Bug687044.ps
Faktura.pdf
kazmir.pdf
RealCities.pdf
test.pdf
xgfddg.pdf

[src/gxhintn.c]

2004-06-09T12:09:20.000000Z Igor Melichev

Fix (type 1 hinter) :
1. Ever align the Y-coordinate of a glyph origin to pixels.
2. Improve the unaligned pole interpolation;
3. Set a waeaker angle threshold in t1_hinter__is_stem_hint_applicable.
4. Allow an offset fuzz in t1_hinter__is_stem_hint_applicable.
5. Align upper/lower horizontal stems by the upper/lower edge.
6. A dependency was missed in lib.mak .

DETAILS :

Bug 687419 "poor font rendering on X11 with gs 8.14".

The intention of this change is to improve the rendering quality
with TextAlphaBits > 1, but actually it modifies glyph rendering in all cases.

1.
The test file of the bug 687419 shows that we had 3
inconsistent requirements :
- the analigned glyph origin;
- uniform glyph size;
- and contrast stems.
Since an uniform glyph height looks critical,
we drop the analygned Y-coordinate of the glyph origin.
In other words, now we ever align
the Y-coordinate of the glyph origin to pixels.
This also reduces the number of glyph raster variants in the cache.

2.
The old interpolation algorithm could cause
significant distortions with flex-like serifs, which are not marked with flex.
The character 'L' in the test document of the bug 687419 demonstrates that.
If the path goes outside the interpolation interval
and have no turns, now we shift the "outer" parts rather than
breaking the path at extremal poles. (We wanted this change
a long ago but haven't got a strong reason for it.)

3.
The threshold in t1_hinter__is_stem_hint_applicable changed from
1/3 to 9/10. This makes more stems to recognize. The reason for that
is the same character "L".

4.
Allowed a blue_fuzz offset t1_hinter__is_stem_hint_applicable.
Debugged with comparefiles/tpc2.ps .

5. In the test file of the bug 687419 the small font has no
upper alignment zone for lowercase. This caused an uniform glyph height
due to wide and norrow horizontal stems aligned ocasionally
by top or bottom. Implemented a choice of the aligned edge
depending on the Y-coordinate of stem middle relative to
the glyph middle.

6. gxhintn_h was defined in lib.mak after it is used at once.

EXPECTED DIFFERENCES :

Almost all comparefiles render differently.

[src/gxchar.c src/lib.mak src/gxhintn.c src/gxhintn.h]

2004-06-08T11:43:04.000000Z Igor Melichev

Fix (pdfwrite) : Merge equal ExtGState objects.

DETAILS :

Bug 687487 "(pdfwrite) redundant ExtGState objects".

Now we represent ExtGState objects as cos_dict_t instances,
and perform a full comparizon before writing them into the output PDF.
Redundant equal objects are being substituted and skipped.

This patch consists of 4 parts :

1. Creting an ExtGstate object, replaced old calls to stream functions
with calls to cos_dict_t functions.

2. Implemented the comparizon/substitution logic in pdf_end_gstate.

3. pdf_prepare_drawing now doesn't pass keys to
pdf_update_halftone, pdf_update_transfer, pdf_write_transfer_map,
because we don't want them to become a part of a value.
Instead that we made them to be keys of the cos_dict_t instance.

4. Defined new functions cos_dict_put_c_key_bool and cos_dict_put_string_copy
to simplify the new code.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c src/gdevpdfo.h src/gdevpdfg.c]

2004-06-03T17:12:07.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 3).

DETAILS :

Must check FontMatrix when deciding about same charproc.

EXPECTED DIFFERENCES :

None.

[src/gdevpdti.c]

2004-06-02T17:45:30.000000Z Igor Melichev

Fix (pdfwrite) : 1. After used a process color, continue using it for same client color space.
2. A bug in pdf_set_initial_color could miss some color commands.

DETAILS :

1. Bug 687197 "ps2pdf creates incorrect PDF".
Defined nad maintained new flags pdev->fill_used_process_color and pdev->stroke_used_process_color
for vector devices. The function pdf_reset_color use them when the cclient color space
isn't embeddable.

2. Occasionally found that pdf_set_initial_color set saved colors to pdev->vg_initial
rather than to argument pointers. This could loose some color commands with a small probability,
so that some objects could get a wrong color.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdfb.c src/gdevpdtt.c src/gdevpdfd.c src/gdevpdfg.c src/gdevvec.h src/gdevpdfg.h]

2004-06-02T13:19:15.000000Z Igor Melichev

Fix (pdfwrite) : ConvertCMYKImagesToRGB crashed.

DETAILS :

Bug 687428 "ConvertCMYKImagesToRGB does not produce a PDF-File".
It made a pointer from global memory to C stack.
Fixed with allocating the structure dinamically.
It produces a small garbage, which is not critical in pdfwrite.

EXPECTED DIFFERENCES :

None.

[src/gdevpsdi.c]

2004-06-02T12:14:43.000000Z Igor Melichev

Fix : 'midpoint' formula was wrong.

DETAILS :

Bug 687463 "The 'midpoint' formula is wrong".

EXPECTED DIFFERENCES :

I didn't detect any on Windows.
After recent changes this stuff works only with curves,
which can't flatten with 2^12 segments,
and which are not a part of a shading,
so likely the probability of a difference is small.

[src/gxpflat.c src/gxshade6.c]

2004-06-02T00:37:02.000000Z Ralph Giles

Correct a typo. Thanks to Russell for catching this one.

[doc/Make.htm]

2004-06-01T21:13:04.000000Z Dan Coby

Fix for 687477 Bad incremental update to a PDF file.

DETAILS:

The given test file had a bad incremental update.  This update
has two problems:

1.  The trailer dict only had a Prev entry.  None of the required
entries were present.  To fix this problem, entries from previous
trailer dicts are placed into the initial trailer dict if there is
no entry with the same key in the initial trailer dict.

2.  The update had an xref table with two entries.  One of them
was bad.  (Not a very good percentage.)  To fix this problem,
all entries in the composite xref table are scanned to verify that
they point to a valid objects.  If not then the rebuild logic is
used to attempt to recover the xref data.  This can be disabled
by adding -dNoVerifyXref to the command line.  In most cases,
the verification time is not noticeable but I did find a file with
104,000 xref entries and it took about 2 seconds to verify the
xref table.

[lib/pdf_main.ps lib/pdf_base.ps lib/pdf_rbld.ps]

2004-06-01T17:20:44.000000Z Igor Melichev

Fix : A Cygwin/gcc warning.

DETAILS :

The prefious patch appeared incomplete. Now fixing.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h]

2004-06-01T17:06:25.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued 2).

DETAILS :

This is a final step of fixing the bug 687489
"pdfwrite creates invalid Type3 font -- missing characters".

This patch provides a check whether a color was changed while
a PS charproc interpretation. A color command is written
into the PDF charproc if and only if the PS charproc changed the color.

This patch discovers a bug in Adobe Acrobat Reader 5 :
with the test document of the bug 687489 it paints an "invisible" text in the 4th page.
That text isn't visible when viewing with Adobe reader 6 and with GS.
The text is painted with a white color, but AR 5 erroneusly paints it with black.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdfd.c src/gdevpdfg.c src/gdevpdfg.h]

2004-06-01T17:03:48.000000Z Igor Melichev

High level devices may need a device color while executing stringwidth.

DETAILS :

This is second step of fixing the bug 687489
"pdfwrite creates invalid Type3 font -- missing characters".
The problem happens due to the old code could run a charproc while
executing a stringwidth, when device color is not evaluated.

This patch provides the device color loading with no dependence
on the text operation.
dev_proc(dev, text_begin) now receives a device color in any case.
THIS IS AN INCOMPATIBLE CHANGE : if an old device depends on
a device color ability, it will malfunction.

EXPECTED DIFFERENCES :

None.

[src/gstext.c]

2004-06-01T13:42:44.000000Z Igor Melichev

(pdfwrite) : Implementing a dynamic recongnition for Type 3 charproc variations (continued).

DETAILS :

This is a preparation for fixing the bug 687489
"pdfwrite creates invalid Type3 font -- missing characters".
The problem happens due to the old code could run a charproc while
executing a stringwidth, when the PDF viewer state isn't syncronized
with the PS graphic state.
We don't synchronize in this case because stringwidth doesn't paint.

Our intention is to know whether a charproc changes graphic state parameters :
current color, line width, etc. For doing so we need
(1) to save the viewer state in the viewer state stack,
and then (2) synchronize with the PS graphic state without
writing commands to the PDF. This patch does provide (1)
but does not implement (2) because we want to check
the change (1) for no regressions.
The change (2) will be a separate step.

Saving a viewer state in a stack when entering a charproc
was contributed with the recent patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-May/004507.html
as an improvement of pdf_enter_substream, which was called from
pdf_install_charproc_accum called from pdf_text_set_cache.
In other words, the viewer state saving was deferred until setcachedevice/setcharwidth.
However we need to save the viewer state in the beginning of a PS charproc.

This patch moves the call to pdf_enter_substream from pdf_install_charproc_accum
to the TEXT_PROCESS_RENDER branch of pdf_text_process.
We believe that the new logic is more straight :
we start the charproc stream accumulation immediately before the PS interpreter
enters a charproc interpretation.

Minor changes :

1. Defined pdf_start_charproc_accum as a symmetric one for pdf_end_charproc_accum.
2. Renamed pdf_install_charproc_accum into pdf_set_charproc_attrs.
3. Improved the argument list of pdf_prepare_text_drawing.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtt.c src/gdevpdti.c]

2004-06-01T02:37:04.000000Z Alex Cherepanov

Aviod a PostScript error in ps2ascii when the source file uses composite fonts.
For now, dump the strings in the unmodified encoding when the corresponding
font is composite.
Fix bug 687466.

[lib/ps2ascii.ps]

2004-05-31T06:20:24.000000Z Ralph Giles

Add a last commit to the changelogs.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2004-05-31T06:09:16.000000Z Ralph Giles

Update the changelogs for the 8.30 release.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2004-05-31T06:02:00.000000Z Dan Coby

Correct various compiler warnings from MSVC and gcc.  Fix for 687441.

[src/gdevpsd.c src/gdevdevn.c src/gsequivc.c src/gdevdevn.h]

2004-05-31T05:34:16.000000Z Ralph Giles

JPXDecode support is only enabled for the autoconf build. Mention this
in the release notes, and add some brief notes to the MSVC makefile
about how to make it build.

[doc/News.htm src/msvc32.mak]

2004-05-31T05:08:26.000000Z Ralph Giles

Update the open bug list in the release notes.

[doc/News.htm]

2004-05-30T09:50:05.000000Z Russell Lang

Enable separable_and_linear and separable for the display device.
Fixes bug #687442.

DETAILS:
Enable separable_and_linear for gray, RGB and CMYK formats.
The display device needs to explicitly call check_device_separable
because it is closed and reopened when the callback is set,
which causes linear_and_separable to be reset.
Set the gray_index which is not set by check_device_separable.
Prevent the unimplemented DISPLAY_ALPHA_FIRST and
DISPLAY_ALPHA_LAST from being used.
Make it clear that the display_map_rgb_color_rgb and
display_map_color_rgb_rgb functions only work with 8bits/pixel.

[src/gdevdsp.c]

2004-05-29T21:07:48.000000Z Raph Levien

Added more news items, in preparation for 8.30 release.

[doc/News.htm]

2004-05-29T02:19:36.000000Z Ralph Giles

Relocate the gxhldevc_h macro out of order so all its dependencies are
available.

[src/lib.mak]

2004-05-29T02:10:44.000000Z Ralph Giles

Correct a dependency typo.

[src/lib.mak]

2004-05-29T01:22:08.000000Z Ralph Giles

Update documenation dates and version category for release.

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

2004-05-29T01:11:48.000000Z Ralph Giles

Add new rinkj driver files to the index in Develop.htm.

[doc/Develop.htm]

2004-05-28T23:58:53.000000Z Raph Levien

Add sample setup file for Rinkj driver, more documentation.

[doc/Devices.htm lib/rinkj-2200-setup]

2004-05-28T23:50:38.000000Z Raph Levien

Adds basic documentation for Rinkj driver, update copyright banners.

[src/rinkj/rinkj-dither.h src/rinkj/rinkj-device.h src/rinkj/evenbetter-rll.h src/rinkj/rinkj-config.c src/rinkj/rinkj-epson870.h src/rinkj/rinkj-screen-eb.h src/rinkj/rinkj-config.h src/rinkj/rinkj-byte-stream.c doc/Devices.htm src/rinkj/rinkj-dither.c src/rinkj/rinkj-device.c src/rinkj/evenbetter-rll.c src/rinkj/rinkj-byte-stream.h src/rinkj/rinkj-epson870.c src/rinkj/rinkj-screen-eb.c]

2004-05-28T23:26:28.000000Z Dan Coby

This change implements "687431 Add determining equivalent CMYK
colors for spot colors".  This change currently only affects the
psdcmyk device.

DETAILS:

For a description of the implementation see the comments at
the beginning of gsequivc.c.

In addition to the comments in gsequivc.c, the gs_separation
structure was changed to simplify it.  The gs_separation_info
structure was removed and the names filed moved into the
gs_separations structure.

[src/gdevpsd.c src/gdevdevn.c src/gdevprn.c src/gsequivc.c src/gdevdevn.h src/devs.mak src/gsequivc.h]

2004-05-28T23:09:55.000000Z Ralph Giles

Use ST_MTIME instead of the ctime to determine the date of the last
baseline update. Partial fix for bug 687481.

[toolbin/tests/gscheck_raster.py]

2004-05-28T23:02:59.000000Z Raph Levien

Initial commit of rinkj (resplendent inkjet) drivers, using ETS screening.

[src/rinkj/rinkj-dither.h src/rinkj/evenbetter-rll.h src/rinkj/rinkj-epson870.h src/gdevrinkj.c src/rinkj/rinkj-byte-stream.c src/devs.mak src/rinkj/rinkj-device.c src/rinkj/rinkj-byte-stream.h src/rinkj/rinkj-screen-eb.c src/rinkj src/rinkj/rinkj-device.h src/rinkj/rinkj-config.c src/rinkj/rinkj-screen-eb.h src/rinkj/rinkj-config.h src/rinkj/rinkj-dither.c src/rinkj/evenbetter-rll.c src/rinkj/rinkj-epson870.c]

2004-05-28T07:08:53.000000Z Igor Melichev

Fix (PDF interpreter) : Wrong processing of a big CIDToGIDMap.

DETAILS :

Bug 687471 problem with japanese fonts

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps]

2004-05-27T19:05:37.000000Z Igor Melichev

(pdfwrite) : 1. Implementing a dynamic recongnition for Type 3 charproc variations;
2. Bug : Viewer state could desynchronize when entering a charproc accumulation.

DETAILS :

Bug 687472 "barcode wrongly converted to type3 font".

Type 3 glyph variations may appear if BuildChar uses setcharwidth.
If a charproc uses setcharwidth, we perform the charproc accumulation
for each character occurance, and compare the accumulated stream with older
ones if they exist. In the case of exact equality
(including the character name and character code),
the old charproc is used. Othervise we embed a new one.

If the character code was used with another charproc,
we create another PDF font to resolve the conflict.
Thus a single PS Type 3 font may convert into several
PDF Type 3 fonts, and the text may be broken into smaller pieces.
Particularly this happens with the test file of the bug 687472.
Viewers must account that implementing the text serchability.

A new array pdfont->u.simple.s.type3.cached is used to remember whether
a charproc uses setcachedevice[2]. If a character used it at ones,
we assume that all further its occurances to do same.
We think that this assumption is implied by PLRM.

Viewer state was not saved when entering a charproc accumulation,
and was not restored after exiting it (a bug).
This could cause wrong object attributes
and excessive commands written into PDF.
This patch fixes that.

Some PDFs become longer due to excessive ExtGState objects
generated for dropped copies of charprocs.
Opened a new bug 687487 for tracking this issue.

EXPECTED DIFFERENCES :

An unimportant difference with pdfwrite -r72 :
136-01.ps
prob1.pdf
tpc2.ps
xes2ps-problem.pdf

An unimportant difference with pdfwrite -r300 :
260-01.ps
tpc2.ps
xes2ps-problem.pdf

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdfu.c src/gdevpdfg.c src/gdevpdtt.h src/gdevpdti.c src/devs.mak src/gdevpdtf.h src/gdevpdfj.c src/gdevpdfg.h]

2004-05-27T10:28:31.000000Z Igor Melichev

(pdfwrite) : Delaying the charproc insertion until it is accumulated.

DETAILS :

This change is a part of the work on the bug 687472 "barcode wrongly converted to type3 font".
Our intention is to recognize Type 3 glyph variations,
which may appear if BuildChar uses setcharwidth.

For the case of no error while charproc accumulation
this change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdtt.c src/gdevpdti.c]

2004-05-27T03:22:12.000000Z Ralph Giles

Handle some errors that could halt the regression run.

DETAILS:

When running a raster comparison, the test case generates a ShortDescription
that includes the modification date of the baseline raster date. If no such
file exists, the baseline gs is run to create an entry. However, if that
insertion attempt fails, there is no baseline raster for reference. While
the test case itself handled this properly, the ShortDescription logic did
not, throwing an error that terminated the whole run.

Also, makesum was returning '0' instead of None on failure, which was
incompatible with the use of its return value as a dbm key. It now
returns None in that case, and when it cannot stat the file argument
at all.

[toolbin/tests/gscheck_raster.py toolbin/tests/gssum.py]

2004-05-26T15:49:08.000000Z Ray Johnston

Fix reference count of overprint compositor so that it doesn't get freed
too early. Fixes SEGV of bug #687425 for customer #1110.

DETAILS:

This only showed up when banding was being used.

This only showed up when a high level image was being rendered from the
clist since this installed a 'clipper' device on top of the overprint
compositor. When the clipper device was closed, the finalization proc
decremented the reference count for the 'target' device of the clipper
which was the overprint compositor. When the overprint reference count
was decremented to 0, it was freed even though it was being used by
the clist renderer.

EXPECTED DIFFERENCES:

None.

[src/gxclrast.c]

2004-05-26T08:44:26.000000Z Igor Melichev

Fix (pdfwrite) : Wrong /Matrix from /BP pdfmark.

DETAILS :

Bug 687430 "Wrong transformation matrix with Form XObjects".
Patch from sags5495 at hotmail dot com (SaGS), adopted by igorm.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-05-26T04:11:01.000000Z Dan Coby

Log message:

Revised fix for 687418 WTS does not work with bitcmyk driver.

DETAILS:

The changes in this revised fix are pretty extensive.  Note:  This
patch includes several items from Russell Lang.  I am including these
since they are required for the proper execution of the patch and
it does not seem reasonable to require possible testers or reviewers
to have to track down and install these patches separately.

The list of changes includes:

1.  Added logic to check_device_separable to also set the gray_index
value.  This suggestion came from Russell Lang.

2.  Add verification that a colorants bits are consecutive.  (from
Russell Lang in:
http://www.ghostscript.com/pipermail/gs-code-review/2004-May/004501.html

3.  Changes to gx_default_encode_color and gx_default_decode_color
to use position and bit count info from the device's color_info data.
(Also from Russell Lang in the previously mentioned submission.)
(See the comments in item 21 below about the gx_default_decode_color
routine.)

4.  Included test routines. (Also from Russell Lang in the previously
mentioned submission.)

5.  Added calls to check_device_separable prior to calls to the
various 'fill_in_procs' routines (gx_device_fill_in_procs,
gx_forward_fill_in_procs, fill_in_procs).  The fill_in_procs routines
use the separable information in choosing default routines for
the encode_color and decode_color routines.  Thus we have a chicken
and egg problem since check_device_separable also uses the device's
encode_color routine.  The test routines from Russell were a great
help in debugging

Also various changes that were found while testing this patch:

6.  The various color deskjet drivers (gdevcdj.c) was incorrectly setting
the dither_grays and dither_colors values to 5 instead of 256.  (I
have no idea why.)  The max_gray and max_color values were set to
being set correctly to 255.

7.  The color deskjet devices (gdevcdj.c) were doing BG and UCR
removal inside of the encode_color routines.  These devices use the
default color_mapping_procs which also do these tasks.  The code in
the encode_color_routine was removed since it could cause conflicts
with the overprint routines.  The code in the encode_color routine
was also using a fixed BG/UCR logic (from PS level 2).

8.  Corrected a problem in the color desk jet decode_color routine
which was always returning zero for the black value.

9.  Changed the casting for values assigned to the std_colorant_names
field.  Note:  MSVC and gcc complain about different conditions.
There does not seem to be a combination that will keep both happy.
This set produces no complaints from gcc.

10.  Corrected the setting of dither_grays and dither_colors for the
devicen device.  Previously this was being set to 1 when it should have
been set to 256.  Found by Russell Lang.

11.  Modified check_device_separable to only check for appropriate
values of the max_gray/dither_grays and max_color/dither_colors
pairs only for gray/color devices.

12.  Added check for encode_color routines which encode zero
bits for a colorant.  Previously this condition would have caused
an infinitely in check_device_separable.  Change suggested by
Russell Lang.

13.  Removed a previous call to set_linear_color_bits_mask_shift
in gx_default_fill_in_procs.  This has been logically replaced by
the calls to check_device_separable which have been added.

14.  Corrected a problem in the ppm_map_rgb_color in gdevpbm.c.
This routine was calling gx_default_encode_color which requires

15.  Corrected problem in pcx256 device which incorrectly setting
the dither_grays and dither_colors values.

16.  Removed the check_process_color_names routine from gdevpsd.c
since it not used.

17.  Modified the dci_alpha_values macro in gxdevcli.h.  This
macro was setting some devices as 'separable' but was not setting
the related color_info fields (comp_shift, comp_bits, comp_mask).
Now this macro sets a devices as 'unknown'.  The check_device_separable
routine will change this for devices which are separable.  Devices
which want to change their process color model need to either set
themselves as 'unknown' and let check_device_separable handle things
or else the device needs to setup its own values for separable
color_info fields.

18.  Added a call to check_device_separable into gdev_x_open in
gdevxini.c.  With this addition, the x11 device is detected as being
sperable.  This is need since the x11 device sets up a color map in
gdev_x_open.  Prior to this, the encode_color routine for he x11 device
returns 0 regardless of its input.

19.  Modified the uniprint device (gdevupd.c) and color laser jet
devices (gdevcljc.) to use 256 instead of 5 for its dither_gray and
dither_color values with devices that have 8 bits per colorant.  This
is appropriate since the the max_gray and max_color values are 255.
(I do not know why these values were being set to 5.  This same error
was found in gdevcdj.c.  My only guess is that it was a typo in gdevcdj.c.
Since this device is recommended as an example of how to code a color
raster device (in Devices.htm), the error was propogated into the
other devices.

20.  Added more comments to gxdevcli.h explaining the use of the
gray_index, max_gray, dither_grays, max_color, and dither_colors
fields in the device color_info structure.

21.  Changed the gx_default_decode_color routine (again).  Russell
Lang created two revisions to this routine as part of his efforts on
this task.  However one version was slow but produced the desired
results.  The second version was faster but its output was slightly
different.  This revision produces the same output as the first
version but does so without the while loops that slowed its operation.




Note:  There is another related submission from Russell Lang that is
not included in this patch.  This consists of changes to the display
device for making it 'separable'.  This change is needed for Igor's
linear shading work.
http://www.ghostscript.com/pipermail/gs-code-review/2004-May/004500.html

[src/gdevxini.c src/gdevxalt.c src/gxcmap.c src/gdevcljc.c src/gdevpbm.c src/gdevmem.c src/gdevxcf.c src/gdevcmap.c src/gdevplnx.c src/gximag3x.c src/gdevrops.c src/gsdevice.c src/gdevpnga.c src/gdevpsd.c src/gdevp2up.c src/gdevdsp.c src/gdevupd.c src/gxpcmap.c src/gdevdflt.c src/gslib.c src/gdevpcx.c src/gdevdevn.c src/gximage3.c src/gdevprn.c src/gdevcdj.c src/gdevdevn.h doc/Language.htm src/zcolor.c src/gxdevcli.h src/gdevp14.c]

2004-05-25T10:41:10.000000Z Igor Melichev

Fix (pdfwrite) : Form XObject`s /BBox could contain reals in exponential format.

DETAILS :

Bug 687429 Form XObject`s /BBox may contain reals in exponential format.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-05-25T09:20:49.000000Z Igor Melichev

Fix an MSVC compiler warning.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2004-05-24T23:35:20.000000Z Ralph Giles

Add a missing header include for gsutil.h which provides the prototype  for bytes_compare(). Corrects a gcc warning.

[src/gdevpdte.c src/devs.mak]

2004-05-24T17:56:39.000000Z Dan Coby

Fix for 687453 Problem with overprinting and shading.

DETAILS:

The given test file is a PDF file.  PDF allows for separate overprint
parameters for stroke and fill operations.  (There are also separate
parameters for other conditions in PDF.)  Usually this is handled by
the PDF interpreter by calling either setfillstate or setstrokestate
at the start of the handler for each operator.  However this call
was missing from the sh (shfill) handler.

[lib/pdf_draw.ps]

2004-05-24T12:21:09.000000Z Alex Cherepanov

Add /WhiteIsOpaque page device parameter to provide user interface to the
corresponding bbox device flag. Fix a bug introduced in gdevbbox.c v.1.9
(for bug 645531) that left bdev->white and bdev->black uninitialized,
resulting in black objects skipped as white.
Fix bugs 687410, 687478

[src/gdevbbox.c doc/Devices.htm]

2004-05-20T17:06:54.000000Z Igor Melichev

Fix (pdfwrite) : Add Encoding element even if the font has no glyph.

DETAILS :

Debugged with the test file of the bug 687464
"Problem converting from PS to PDF. 2 latin characters did not convert properly." :
different PDFs generated with URW fonts and with Soft Horizon fonts
rather none of them were embeded.

The old code did not add a glyph to Encoding if the PS font has no glyph defined.
Due to that, if the source encoding uses an instand glyph,
the instandard glyph was not written to Differences,
causing a standard glyph erroneusely appeared instead the instandard glyph.
With this patch an Encoding element and a ToUnicode element are created in any case :
either the glyph is defined in the PS font, or not.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2004-05-20T07:41:23.000000Z Ralph Giles

Apply a recursive 'configure' step to the autoconf build to generate
required code for the jasper library.

DETAILS:

The jasper library also ships with an autoconf build framework for POSIX
systems. Unfortunately, it relies on this framework to generate a header
file with defines describing the local system. This header, located in
jasper/src/libjasper/include/jas_config.h can be generated by hand from
the jas_config.h.in template, but it must be available when we're directly
compiling the source as part of Ghostscript.

We could attempt to construct one of our own, but within the confines
of an autoconf build, using jasper's native configure is more robust.
We could also go ahead and use recursive make to build the library
natively, but we would need a static makefile for non-autoconf builds.

Jasper provides an alternate header, jas_config2.h for use with MSVC.

[src/configure.ac]

2004-05-20T07:34:10.000000Z Ralph Giles

Add the jasper include path when compiling the JPXDecode filter so the
headers can be found if they're not already installed on the system.
Required to compile in the jasper library source from a fresh distribution
of the third-party library.

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

2004-05-19T11:09:47.000000Z Igor Melichev

Documenting the new implementation of shadings.

[doc/News.htm]

2004-05-18T13:42:30.000000Z Igor Melichev

A new implementation of shadings, step 79.

DETAILS :

Removed unused variables.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-05-18T11:07:29.000000Z Igor Melichev

A new implementation of shadings, step 78.

DETAILS :

Implementing gx_color_map_procs::is_halftoned and use it in shadings
to know whether linear color functions are applicable.

EXPECTED DIFFERENCES :

None.

[src/gxcmap.c src/gxcmap.h src/gdevplnx.c src/gxshade6.c src/gdevp14.c]

2004-05-18T10:36:59.000000Z Igor Melichev

A new implementation of shadings, step 78.

DETAILS :

Implementing gx_color_map_procs::is_halftoned and use it in shadings
to know whether linear color functions are applicable.

EXPECTED DIFFERENCES :

None.

[src/gdevp14.c]

2004-05-18T09:57:49.000000Z Igor Melichev

Documenting the new implementation of shadings.

[doc/Drivers.htm]

2004-05-17T17:27:17.000000Z Ralph Giles

Reword the description of the new shading implementation.

[doc/News.htm]

2004-05-17T12:24:55.000000Z Igor Melichev

A new implementation of shadings, step 77 (release candidate).

DETAILS :

1. A bug in is_quadrangle_color_linear caused an indeterministic choice of subdivision.
2. Provided a better order of filling wedges.
3. Mesh padding now stronger follows the V-boundary of a patch.

EXPECTED DIFFERENCES :

"442-01.ps"
"446-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"483-05.ps"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"self-intersect2.ps"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"

[src/gxshade6.c]

2004-05-13T15:24:42.000000Z Alex Cherepanov

Remove unused label.
Partial fix for bug 687441.

[src/gdevwpr2.c]

2004-05-13T13:03:50.000000Z Igor Melichev

Documenting the new implementation of shadings, step 76.

[doc/News.htm]

2004-05-13T12:52:18.000000Z Igor Melichev

A new implementation of shadings, step 76.
Switching new radial shadings on.
Radial shadings render in 3...10 times faster.
Radial shadings are not longer restricted with 8bpc.

EXPECTED DIFFERENCES :

"442-01.ps"
"483-01.ps"
"Clarke Tate Manns Chinese.ai"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 2(radial).ai"
"STEUER-RollingMesh 3(Final).ai"

[src/gxshade4.h]

2004-05-13T12:46:41.000000Z Igor Melichev

A new implementation of shadings, step 75.

DETAILS :

This is a continuation to the previous patch :
  4. Optimized for constant color :
    Fix : pfs->monotonic_color was not properly restored.

EXPECTED DIFFERENCES :

"442-01.ps"
"464-01.ps"
"483-01.ps"
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"STEUER-RollingMesh 1(linear).ai"

[src/gxshade6.c]

2004-05-13T11:40:18.000000Z Igor Melichev

A new implementation of shadings, step 74.

DETAILS :

In the enabled code :

1. Non-linear color quadrangles are subdivided into quadrangles.
   This complies the color approximation with the specified smoothness.
2. Skipped quadrangles and triangles outside the clipping area.
3. Fixed the 'midpoint' formula. It was wrong and coused excessive subdivision.

In the disabled code (NEW_RADIAL_SHADINGS 0 in gxshade4.h) :

1. Debugged Extensions.
2. mesh_padding and wedges with zero length sides were tested.
3. Skipped painting outside the clipping area.
4. Optimized for constant color.

Known problems left :
1. With self-intersecting patches, outer wedges may paint in a wrong order.
This can cause such dropout that a lower part of the patch penetrates
through the upper part in single pixels.

EXPECTED DIFFERENCES :

"442-01.ps"
"446-01.ps"
"464-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"483-05.ps"
"chilis_black.pdf"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"Openhuis_pdf_zw.pdf"
"self-intersect2.ps"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 3(Final).ai"
"Testform.v1.0.2.pdf"

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

2004-05-12T21:33:40.000000Z Igor Melichev

A new implementation of shadings, step 73.

DETAILS :

The new code is disabled with NEW_RADIAL_SHADINGS in gxshade4.h .

The old implementation of the radial shading extensions appears
incompatible with the tensor representation of the radial shading
due to different spatial subdivision. Collisions at extension
boundaries caused dropouts.

Besides that, the old implementation
can't handle the case in which circles contact each another and one
circle is inside another. Also we suspect that with the old implementation
the trailing extension can overlap the shading when represented as "triangles".

This patch implements extensions with tensor patches.
Rather they have a constant color, we need the wedge logics
to work with them. Also we reworked the analyzis of
special cases of mutual placement of the base circles.

The new code works, but there are known problems :

1. Extensions to be tested systematically.
2. Debug mesh_padding and wedges with zero length sides.
3. Skip painting outside the clipping area.
4. Optimize for constant color.
5. Why "STEUER-RollingMesh 2(radial).ai-.pdf" generates so many triangles ?
6. Outer wedges may break the order of painting.

EXPECTED DIFFERENCES :

None.

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

2004-05-12T20:12:34.000000Z Igor Melichev

A new implementation of shadings, step 72.

DETAILS :

1. Another continuation for the bug in LAZY_WEDGES of the step 65 :
"color was desynchronized with vertices when filling a wedge."
Previous attempts to fix it appear wrong.
This one implements entirely different logics.
The division count is now a property of a division point.

2. Fixed the wrong order of colors in ln 2800 in the function "triangles".

EXPECTED DIFFERENCES :

"442-01.ps"
"483-01.ps"

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

2004-05-12T18:08:05.000000Z Jack Moffitt

Fix regression reports (the previous commit accidentally did the exact
opposite of what we wanted).  Also, cleaned up the way the report is built
so that it is much less confusing.

[toolbin/tests/run_nightly]

2004-05-12T15:37:07.000000Z Alex Cherepanov

Avoid a numeric exception; throw /rangecheck when .getbitsrect operator is
invoked with raster width = 0.
Fix bug 687223.

[src/zdevice.c]

2004-05-12T11:33:03.000000Z Igor Melichev

A new implementation of shadings, step 72.

DETAILS :

1. A continuation for the bug in LAZY_WEDGES of the step 65 :
"color was desynchronized with vertices when filling a wedge." :
open_wedge_median did not set l->from_last_side.

2. A bug : Color linearity check missed the shading function linearity check.
Debugged with "MLC2\PROB322-shadings\Clarke Tate Manns Chinese-1.ai.pdf"
(the big yellow radial gradient) and NEW_RADIAL_SHADINGS 1.

EXPECTED DIFFERENCES :

"442-01.ps"
"464-01.ps"
"483-01.ps"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"Openhuis_pdf_zw.pdf"
"STEUER-RollingMesh 1(linear).ai"

[src/gxshade6.c]

2004-05-12T00:04:49.000000Z Alex Cherepanov

Fix some warnings about unused variables and undeclared functions
generated by MSVC with warning level 3. Move the definition of WARNOPT
and add ifdef's.                      
Partial fix for bug 687441.

[DETAILS]
Although nmake overrides internal definitions when called from command line,
it doesn't do so when the makefile is invoked from Development Studio.

[src/dwimg.h src/gdevm64.c src/dwtrace.h src/dwmain.c src/dwmainc.c src/msvccmd.mak src/msvc32.mak src/dwimg.c src/unistd_.h src/gdevwdib.c]

2004-05-11T20:48:41.000000Z Alex Cherepanov

GCC with -ffast-math compiles ang/90. as ang*(1/90.), losing precission.
This doesn't happen when the numeral is replaced with a non-const variable.
So we define the variable to work around the GCC problem.
Fix bug 687420.

[src/gsmisc.c]

2004-05-11T20:26:15.000000Z Alex Cherepanov

Ignore 0-length tables that occur in PDF files generated by Crystal.
Fix bug 687457.

[lib/gs_ttf.ps]

2004-05-11T11:13:52.000000Z Igor Melichev

A new implementation of shadings, step 70.

DETAILS :

Fixing a bug in fill_wedge_from_list_rec :
wedge vertices can't identify by their coordinates,
because dividing a short bar could get same coordinates as one of its end.
wedge_vertex_list_elem_t::level now works for the identification.

EXPECTED DIFFERENCES :

None.

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

2004-05-11T10:41:55.000000Z Igor Melichev

A new implementation of shadings, step 69.

DETAILS :

Implementing radial shading with tensor shadings.

The new code is disabled with NEW_RADIAL_SHADINGS in gxshade4.h .
The new code works but it discovered a problem in fill_wedge_from_list_rec :
wedge vertices can't identify by their coordinates.
The problem appears an important bug to be fixed separately.

EXPECTED DIFFERENCES :

None.

[src/gxshade4.h src/gxshade1.c src/gspath1.c src/gspath.h]

2004-05-06T19:06:26.000000Z Dan Coby

Correct a problem in the fix for 687418 detected by Russell Lang.  Also
make the routine check_device_separable public for use by the display
device.  The prototype is in gxdevice.h.

[src/gdevdflt.c src/gxdevice.h]

2004-05-06T17:19:15.000000Z Dan Coby

Disable the fix for 687418.  This is causing many errors in the regression
tests.  These need to be investigated.

[src/gdevdflt.c]

2004-05-06T16:26:39.000000Z Jack Moffitt

Repress the full report except on Mondays.

[toolbin/tests/run_nightly]

2004-05-06T14:01:10.000000Z Igor Melichev

A new implementation of shadings, step 68.
Switching linear color device fucntions on.

EXPECTED DIFFERENCES :

"442-01.ps"
"446-01.ps"
"464-01.ps"
"478-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"483-05.ps"
"BEST8-99-Path.fh7.pdf"
"chilis_black.pdf"
"chilis_red.pdf"
"Clarke Tate Manns Chinese.ai"
"gradmesh.ai"
"Openhuis_pdf_zw.pdf"
"self-intersect2.ps"
"SmoothShading.pdf"
"STEUER-RollingMesh 1(linear).ai"
"STEUER-RollingMesh 3(Final).ai"
"Testform.v1.0.2.pdf"

[src/gxshade4.h]

2004-05-06T13:25:54.000000Z Igor Melichev

A new implementation of shadings, step 67.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
Provided a consistency of 'unlenear' to 'is_color_linear'

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-05-06T13:03:34.000000Z Igor Melichev

A new implementation of shadings, step 66.

DETAILS :

Improving the recognition of linear devices with a hack for a halftone check.
The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
Debugged with pkmraw.
This to be rivised by the color team.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-05-06T12:34:40.000000Z Igor Melichev

A new implementation of shadings, step 65.

DETAILS :

A bug in LAZY_WEDGES :
color was desynchronized with vertices when filling a wedge.

The bug was not detected because
the color difference appears small due to small wedges.
It appears big with USE_LINEAR_COLOR_PROCS 1 with -r300 483-01.ps.

EXPECTED DIFFERENCES :

300dpi :

"442-01.ps"
"446-01.ps"
"464-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"483-05.ps"
"gradmesh.ai"
"SmoothShading.pdf"
"STEUER-RollingMesh 3(Final).ai"
"442-01.ps"

72dpi:

"442-01.ps"
"446-01.ps"
"483-01.ps"
"483-05-fixed.ps"
"483-05.ps"
"gradmesh.ai"
"SmoothShading.pdf"
"STEUER-RollingMesh 3(Final).ai"

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

2004-05-06T08:41:40.000000Z Igor Melichev

A new implementation of shadings, step 64.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

Fixing various problems with linear color :
1. Clipping didn't work with linear color.
2. gx_default_fill_linear_color_scanline missed some clipping by X.
3. Zero smoothness caused an infinite recursion.
4. The number of device color components was wrong.

EXPECTED DIFFERENCES :

None.

[src/gdevdsha.c src/gxclip.c src/gxshade6.c]

2004-05-06T07:46:32.000000Z Ralph Giles

Limit the number of timing runs we're willing to do to detect the cache
size, preventing an infinite loop if the os timing calls never measure
appreciable elapsed time. After a patch from Patrick TJ McPhee. Bug 687095.

DETAILS:

It looks like there's a bug in some versions of FreeBSD which cause
time_clear() to always return 0, even though the loop is being run.
This is clearly incorrect behaviour of clock() on these systems,
or the user is mistaken in debugging the problem, since we've been
unable to reproduce. But in either case our code is arguably wrong.

The later measurements will obviously not detect a nonlinearity if
the timing loop continues to return 0. However, they will terminate
at MAX_BLOCK (4MB) and so the misdetection isn't egregious. It was
only the estimation of the measurement error that could loop forever.

[src/genarch.c]

2004-05-06T06:20:50.000000Z Dan Coby

Make check_device_separable private to avoid a warning from gcc.

[src/gdevdflt.c]

2004-05-06T05:49:10.000000Z Dan Coby

Fix for 687455.  The overprint logic creates a temporary device which is
used to initialize a set of procedures.  This temp device is only paritally
initialized.  The partially initialized device is being set up as a
forwarding device but the target device is not yet present.  This created
a problem when check_device_separable executed.  This change sets the temp
device to 'not separable' so check_device_separable does not try to do
anything.

[src/gsovrc.c]

2004-05-06T05:19:15.000000Z Igor Melichev

A new implementation of shadings, step 63.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

Fixing various problems with linear color :
1. Applyed compiler independent data types int32_t.
2. Implemented ends_from_fa with X-independent gradients,
   because the decomposiotion by color linearity breaks
   at coordinates which are not trapezoid corners.
   Added a comment to gxdevcli.h to document it.
3. X-gradient denominator was wrong.
4. X-gradient numerator left wrong from the step 58.
5. gx_default_fill_linear_color_scanline ignored the clipping by X.
6. A_fill_region missed the path bbox.
7. Implemented is_color_linear for a proper subdivision by color.
8. decompose_linear_color now applies a linear color
   instead fill_triangle_wedge. See a comment in fill_triangle_wedge.
   Also for mesh_padding.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gxshade1.c src/gdevnfwd.c src/gdevdsha.c src/gdevddrw.c src/gxshade6.c src/gxdevcli.h]

2004-05-06T05:17:52.000000Z Igor Melichev

Implementing is_monotonic for cubic interpolation functions (continued 2).

DETAILS :

Some monotonic functions were not recognized.
1. Fix : A bug (identifier conflict) in clamp_poles, dimension_monotonity.
2. Fix : Allow the reversed order of boundaries (gsfunc0.c ln 980-983).

EXPECTED DIFFERENCES :

464-01.ps

[src/gsfunc0.c]

2004-05-05T23:55:05.000000Z Dan Coby

Fix for 687418 WTS does not work with bitcmyk driver.  This fix
is applicable to most devices.

DETAILS:

WTS screening, overprinting, halftoning for more than five colorants
and the fast halftoning logic need to be able to create gx_color_index
values without using the encode_color routine.  This only works if a
device is 'separable'.  However, by default, most devices indicate
'unknown'.  This change implements a heuristic for checking if a
device is separable.  If so then it also determines the various
related parameter values (comp_shift, comp_bits, comp_mask).

[src/gdevdflt.c]

2004-05-05T22:52:45.000000Z Ralph Giles

Document that we no longer support loading truetype CJK fonts directly from
/Resources/CIDFont as worked in 7.0x for Japanese fonts. This has been replaced
by the more general, if less convenience, cidfmap mechanism. Closes bug 686949.

[doc/Fonts.htm doc/Use.htm]

2004-05-05T09:45:08.000000Z Igor Melichev

A new implementation of shadings, step 62.

DETAILS :

1. Implemented gx_cspace_is_linear_in_line and applied it for
checking the stripe transversal color lnearity.
2. Generalized 'is_halftoned' to 'unlinear'.
3. is_color_span_v_linear must not apply when 'unlinear'.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

EXPECTED DIFFERENCES :

None.

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

2004-05-05T09:02:36.000000Z Igor Melichev

A new implementation of shadings, step 61.

DETAILS :

1. is_color_span_v_linear allows wider stripes.
2. quadrangle_color_change doesn't yield color_change_gradient with USE_LINEAR_COLOR_PROCS.
   Thus it prefers color_change_linear, allowing bigger quadrangles.
Both changes improve the performance.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
In the enabled code removed redundant computations from quadrangle_color_change.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-05-05T09:01:22.000000Z Igor Melichev

Implementing is_monotonic for cubic interpolation functions (continued 1).

DETAILS :

1. Fix : subcurve expression applied wrong signs to t01, t11.
2. Suppress small noize while computing a subcurve.
Both changes recognize more monotonic curves.

EXPECTED DIFFERENCES :

464-01.ps

[src/gsfunc0.c]

2004-05-05T06:35:44.000000Z Igor Melichev

A new implementation of shadings, step 60.

DETAILS :

Define frac31 with int32_t to minimize compiler dependence.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxdevcli.h]

2004-05-04T21:31:43.000000Z Ralph Giles

Replace locally-defined (u)int32 typedefs with the stdint_.h types now
that they're universally available. This avoids conflict with typedefs
that are pulled in from sys/types.h on some systems. Bug 687404.

[src/gdevupd.c]

2004-05-04T18:14:46.000000Z Igor Melichev

A new implementation of shadings, step 59.

DETAILS :

Moved the device pointer from gs_fill_attributes to a separate argument
in order to simplify the implementation of forwarding devices.
A farwarding device 'clipper' works for almost all shadings.

Also fixed a bug in middle_frac31_color from the previous patch.
It was not detected because normally this function isn't called.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevnfwd.c src/gdevdsha.c src/gdevddrw.c src/gxshade6.c src/gxdevcli.h]

2004-05-04T17:53:26.000000Z Igor Melichev

A new implementation of shadings, step 58.

DETAILS :

Replaced frac32 with frac31 to represent negative color difference.
We could do with frac32 and with additional arguments about the
ending color, but we don't want the performance flaw.
31 bits should be enough precise.
Also removed hacks about fitting negative differences into int32_t.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevnfwd.c src/gdevdsha.c src/gdevddrw.c src/gxshade6.c src/gxdevcli.h]

2004-05-02T21:24:55.000000Z Ralph Giles

Add recent new files to the listing in the developer documentation.

[doc/Develop.htm]

2004-05-02T20:30:11.000000Z Ralph Giles

Add the JPXDecode implementation to the list of files in the documentation.

[doc/Develop.htm]

2004-05-02T19:37:03.000000Z Ralph Giles

Add a missing file to the testsuite documentation.

[doc/Testing.htm]

2004-05-02T19:26:11.000000Z Ralph Giles

Return the number of failures on exit so an external program can take action on the results. Previously, our tests always returned 0.
----------------------------------------------------------------------

[toolbin/tests/gstestutils.py]

2004-05-02T19:23:01.000000Z Ray Johnston

Remove dependency on python2.2. Tested with python 2.3.3. Primary problem
was that calendar module no longer has a localtime member, used time instead.

[toolbin/tests/gscheck_raster.py toolbin/tests/update_pdfbaseline toolbin/tests/make_testdb toolbin/tests/check_source.py toolbin/tests/update_baseline toolbin/tests/check_dirs.py toolbin/tests/gscheck_all.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/make_two_versions toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/run_nightly toolbin/tests/revert_pdfbaseline toolbin/tests/run_regression toolbin/tests/get_baselines toolbin/tests/testdiff toolbin/tests/check_comments.py toolbin/tests/revert_baseline toolbin/tests/check_docrefs.py toolbin/tests/dump_testdb]

2004-05-02T19:00:18.000000Z Ralph Giles

Avoid failing when testing.cfg isn't available. This allows check_all.py to be run on a fresh checkout just by passing --gsroot=. on the commandline. Previously this option could only be used to override a required version in testing.cfg

[toolbin/tests/gstestutils.py]

2004-04-30T22:31:58.000000Z Ralph Giles

Provide a dummy 'make check' target in the autoconf build. Some users have requested this,
and it's available on the GPL 7.0x releases.

[src/Makefile.in]

2004-04-29T18:51:28.000000Z Dan Coby

Remove some more compiler warnings.  Found by Igor.  687441.

[src/gdevpsd.c]

2004-04-29T16:18:01.000000Z Igor Melichev

A new implementation of shadings, step 57.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
1. Likely QUADRANGLES 1 appears unusefil. Documenting that.
2. Implementing mesh_padding with linear color.
3. Minor improvements to conmments.
4. Stronger conditions against color stairs in triangle_by_4, color_change_small.

EXPECTED DIFFERENCES :

None.

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

2004-04-29T13:47:22.000000Z Igor Melichev

A new implementation of shadings, step 56.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
The previous patch appears incomplete. Now fixed.

EXPECTED DIFFERENCES :

None.

[src/gxshade4.h]

2004-04-29T13:40:27.000000Z Igor Melichev

A new implementation of shadings, step 55.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
Implemented a check whether the device halftones.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-04-29T12:38:48.000000Z Igor Melichev

A new implementation of shadings, step 54.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .

1. Color computations were wrong.
2. clist didn't implement linear color functions.
   This patch stubs them, but fill_linear_color_trapesoid should write
   into clist.
3. The clipping rectangle was missed for shading Type 0, 5.

It still has problems with clipping with 446-01.ps .
Also likely we should replace frac32 with frac31 to provide signed values.

EXPECTED DIFFERENCES :

None.

[src/gxclist.c src/gxdtfill.h src/gxshade1.c src/gdevnfwd.c src/gdevdsha.c src/gdevddrw.c src/gxshade4.c src/gxdevcli.h]

2004-04-29T06:14:17.000000Z Igor Melichev

A new implementation of shadings, step 53.

DETAILS :

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
This patch implements wedges with a linear color.
USE_LINEAR_COLOR_PROCS 1 passed a simple test with ppmraw.
Other devices are not yet supported due to problems with
checking for a halftoning.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevddrw.c src/gxshade6.c]

2004-04-29T04:37:55.000000Z Igor Melichev

A new implementation of shadings, step 52.

DETAILS :

Linear color passed a simple test with ppmraw, except wedges.
The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
This patch fixes numerows errors in the desabled code.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxdtfill.h src/gdevdsha.c src/gdevddrw.c src/gscspace.c src/gxshade6.c]

2004-04-28T16:41:44.000000Z Dan Coby

Fix for 687441 New: MSVC warnings.  Correct some warning messages from
MSVC.

[src/gdevpsd.c src/gdevdevn.c src/devs.mak src/gdevdevn.h]

2004-04-28T15:24:25.000000Z Igor Melichev

A new implementation of shadings, step 51.

DETAILS :
Colors were wrongly converted to frac32. Should do through device color.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
The new code is not debugged yet.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-04-28T09:39:50.000000Z Igor Melichev

A new implementation of shadings, step 50.

DETAILS :

1. gx_default_fill_linear_color_triangle wrongly checked for a large color span.
2. fill_linear_color_* procs were not set for clip devices.
3. cs_is_linear were defined with a wrong argument list.
4. Optimized the prototype of cs_proc_is_linear.
5. Gradient buffers were not allocated in gxdtfill.h .
6. Attaching fill_linear_color_triangle to triangle_by_4 in shadings.

The new code is disabled with USE_LINEAR_COLOR_PROCS in gxshade4.h .
The new code is not debugged yet.

EXPECTED DIFFERENCES :

None.

[src/gxshade4.h src/gxcspace.h src/gxdtfill.h src/gxclipm.c src/gxclip.c src/gdevddrw.c src/gxclip2.c src/gscspace.c src/gdevrops.c src/gxshade6.c]

2004-04-28T05:39:56.000000Z Dan Coby

Implement 687423  Implement SeparationOrder for psdcmyk device.

DETAILS:

The following changes are for implementing the SeparationOrder
parameter for the psdcmyk device.

The change consists of the following:

1.  Several routines which were duplicated in the spotcmyk
and psdcmyk devices were restructured to allow the use of
common subroutines.  As part of this effort the various
common DeviceN related parameters were separated into a
substructure (call devn_params).  This allows the use of
common routines even though the devices do not have the
same overall device description structure.

2.  Changes to the src/gdevpsd.c module for actually collecting
the SeparationOrder parameter data and then using it.  Note:
The treatment of separations is different for the process
color model colorants versus the spot colors.  The colorants for
the process color model do not have their order changed.  The
output file always starts with information for the CMYK channels.
If one of these colorants is not specified in the SeparationOrder,
then the output channel data in the file will simply be 'blank'.
Spot colors follow CMYK data.  They are rearranged.  Only the
spot colors specified are output.

3.  Several checks in src/gdevdflt.c and src/gxcmap.c had to
be removed or modified.  These checks were assuming that a
device with a single component uses a gray process color
model and a device with three components used RGB.

[src/gdevpsd.c src/gsdparam.c src/gdevdflt.c src/gdevdevn.c src/gdevdevn.h]

2004-04-28T04:06:25.000000Z Igor Melichev

A new implementation of shadings, step 49.

DETAILS :

1. gx_default_fill_linear_color_trapezoid wrongly subdivided big areas :
   the edge height was not reduced. It could cause an infinite loop.

2. Removed c_prec, x_prec.

The new code is never called and never tested.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevddrw.c]

2004-04-28T02:35:12.000000Z Igor Melichev

A new implementation of shadings, step 48a.

DETAILS :

Removing the unused gdevdsha.h .

EXPECTED DIFFERENCES :

None.

[src/gdevdsha.h]

2004-04-28T02:26:44.000000Z Igor Melichev

A new implementation of shadings, step 48.

DETAILS :

Removing a code of dead development branches.

EXPECTED DIFFERENCES :

None.

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

2004-04-27T08:26:43.000000Z Igor Melichev

A new implementation of shadings, step 47.

DETAILS :

Implementing gx_default_fill_linear_color_triangle, step 2 :
fixing interface problems.
The new code is never called and never tested.

EXPECTED DIFFERENCES :

None.

[src/gdevddrw.c src/gxdevcli.h]

2004-04-27T08:12:50.000000Z Igor Melichev

A new implementation of shadings, step 46.

DETAILS :

Implementing gx_default_fill_linear_color_triangle.
The new code is never called and never tested.

EXPECTED DIFFERENCES :

None.

[src/gdevddrw.c src/gxdevcli.h]

2004-04-27T06:04:03.000000Z Ralph Giles

Add makefile support for compiling in the jasper JPEG 2000 library,
needed to support the JPXDecode filter in PDF 1.5. Currently only
enabled in the autoconf build, but porting the changes to other top-level
makefiles should now work.

[src/lib.mak src/gs.mak src/Makefile.in src/configure.ac src/jasper.mak]

2004-04-27T06:01:21.000000Z Ralph Giles

Correct two typos in the jasper local source directory detection. It was
erroneously resetting the jbig2dec local source directory and not reporting
the found location correctly.

[src/configure.ac]

2004-04-27T05:43:29.000000Z Igor Melichev

A new implementation of shadings, step 45.

DETAILS :

Implementing a linear color for filling a trapezoid.
This patch provides necessary data exchange.
The new code is never called and never tested.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxdtfill.h src/gdevnfwd.c src/gdevdsha.c src/gdevddrw.c src/gxdevcli.h]

2004-04-23T12:30:53.000000Z Alex Cherepanov

Keep calculation in signed types to avoid conversion of the negative
int to the big positive long, which caused infinite loop on Alpha in
t1_hinter__adjust_matrix_precision() inline function.
Fix bug 687417.

[src/gxhintn.c]

2004-04-22T06:38:19.000000Z Ralph Giles

Document the use of .setpdfwrite and the relation of vmthreshold to the
accumulation of shared object data in the pdfwrite device. Closes bug
687409.

[doc/Use.htm doc/Ps2pdf.htm doc/Language.htm]

2004-04-17T18:30:00.000000Z Igor Melichev

A new implementation of shadings, step 44.

DETAILS :

The function fill_pixel appears unuseful.
Now it is replaced with fill_linear_color_scanline.
This patch also defines a default implementation.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gdevdflt.c src/gxdevice.h src/gdevnfwd.c src/gdevdsha.c src/gxdevcli.h]

2004-04-15T22:50:24.000000Z Igor Melichev

Implementing color mapping linearity checks, step 2.

DETAILS :

Fix the color index decomposition in gx_cspace_is_linear_in_triangle.

EXPECTED DIFFERENCES :

None.

[src/gscspace.c]

2004-04-15T17:26:36.000000Z Ray Johnston

Fix to make sure that both stroke (CA) and non-stroke (ca) opacity is set.
Support for customer #32 that wants to create transparent effects in PDF
from PostScript input.

DETAILS:

Previously the opacity was set for one or the other (whichever was first)
and only updated when the value changed. Since the 'state' only retained
a single value, the following PS snippet would not set the CA value as it
should to 0.5. Since we never use the 'b/B' fill + stroke painting methods
(our graphics library currently has no device function for this), a PDF
that contains a 'b' method will be decomposed into a 'f' followed by 's'
operation, setting the opacity from the PDF interpreter's retained ca/CA
between the operations.

PostScript snippet to test this:

<< /CompatibilityLevel 1.4 >> setpagedevice
	% work around rectfill mapping directly to device fill_rectangle
/rectfill { gsave 4 2 roll moveto 1 index 0 rlineto
  0 exch rlineto neg 0 rlineto closepath fill grestore
} bind def
	% Do some background -- not transparent painting mode
0 0 0 setrgbcolor 0 0 600 700 rectfill
.7 .7 .7 setrgbcolor 200 0 400 700 rectfill
1 1 1 setrgbcolor 400 0 200 700 rectfill
	% Go to a transparent painting mode
/Normal .setblendmode .5 .setshapealpha
	% paint some shapes transparently
.9 .8 .1 setrgbcolor 100 100 450 450 rectfill
	% The next stroke is non-transparent w/o the patch
.2 .2 .9 setrgbcolor 50 setlinewidth 50 700 moveto 450 -650 rlineto stroke
.7 .setshapealpha
.9 .3 .3 setrgbcolor 50 setlinewidth 50 50 moveto 450 650 rlineto stroke
showpage quit

[src/gdevpdfg.c]

2004-04-15T16:47:15.000000Z Ray Johnston

Correction to previous commit that caused Subtype value to be consumed
if it was not a null name. Valid files would fail.

[lib/pdf_font.ps]

2004-04-14T00:02:20.000000Z Dan Coby

Fix 687189 for bbox_forward_add_rect infinite recursion.
This problem caused segment faults or apparent hangs with
the x11alpha device.  This fix also works for 656414
segfault when using x11alpha

DETAILS:

The problem was due to the bounding box device creating
more and more bounding box devices in the device chain
when the overprint compositor was being used.  The x11alpha
device uses the bounding box device.  The overprint logic
uses the 'create compositor' logic when a change is made
in the status of the overprint or overprint mode parameters.
However a new compositor is not created each time.  Instead
the overprint device simply updates its parameters.  The
bounding box device has its own create compositor.  This
routine would call its target device's create compositor
routine and then wraps a new bounding box device around the
target's compositor.  The combination of many create
compositor calls from the overprint logic and the fact that
the bounding box device adds a new bounding box device
could result in hundreds of bounding devices in the chain.

The fix consists of checking if the bounding box's target
device actually created a new compositor device.  Only when
a new compositor was added is a new bounding box also added
to the chain.

[src/gdevbbox.c]

2004-04-13T23:25:28.000000Z Dan Coby

Fix for 687402 Missing color on annots.pdf.  This is actually
not an error.  Instead it is due to some confusion about the
displaying of link annotations.

DETAILS:

To prevent confusion, the following two paragraphs of explanation
were added to the first page of the examples/annots.pdf example file.

"IMPORTANT NOTE ABOUT THIS PAGE: This page was created for the testing
 the display of link annotation parameters. The file was created using
 Adobe Acrobat 5.0 (and modified using Acrobat 6.0). The displaying of
 each annotation is specified in the annotation. By default, Acrobat sets
 link annotations so that they are normally displayed by 'viewer'
 applications. They are not normally displayed in printed output. That is
 the case with these annotations.

 Ghostscript checks the display specifications for each annotation. By
 default, Ghostscript assumes that the output is 'printed' if the
 'OutputFile' parameter is defined. Adding '-dPrinted=false' to the command
 line will force Ghostscript to display 'viewer' annotations in all output.
 Adding '-dPrinted=true' will disable the displaying of these annotations."

[examples/annots.pdf]

2004-04-13T16:32:07.000000Z Ray Johnston

Handle (yet another) invalid PDF that Adobe Acrobat can open. If the
Font /Subtype is / then assume Type1. Also issue a **** WARNING message.
Bug #687422 for Artifex customer #670.

DETAILS:

This is a simple patch, with known limitations if the actual font type
cannot be handled by the buildType1 procedure. Only Type1 and MMfonts
will work correctly. Since the PDF is invalid, we will leave more vigorous
handling until another different PDF file surfaces.

[lib/pdf_font.ps]

2004-04-10T17:14:54.000000Z Alex Cherepanov

Use ld_length instead of length because RMap is a long dictionary.
Fix bug 687363.

[toolbin/pdfinflt.ps]

2004-04-09T06:20:25.000000Z Igor Melichev

A new implementation of shadings, step 44.

DETAILS :

Propagate return codes frpom patch_color_to_device_color.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-04-08T16:18:25.000000Z Ralph Giles

Correct DOS line endings accidentally committed to the repository.
Bug 687415.

[src/math_.h src/windows_.h src/errors.h src/dwnodll.c src/gp_dosfs.c src/dwdll.c src/zfont42.c lib/dumphint.ps src/dwimg.c src/gscolor.c toolbin/tests/fuzzy.c src/gscolor1.c src/gp_vms.c]

2004-04-08T07:59:19.000000Z Igor Melichev

Implementing color mapping linearity checks, step 1.

DETAILS :

Color mapping linearity check rutines will be used to improve
the performance and quality of shadings. They check
whether a color mapping is quazi-linear within a subdomain.
The subdomain is specified as a convex hull of a set of colors.

This patch defines prototypes and the default implemetation.
They are not called and not debugged.
The purpose of this commit is a codebase synchronization before a project switch.

EXPECTED DIFFERENCES :

None.

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

2004-04-07T15:10:40.000000Z Raph Levien

Fix: Disables platfonts when antialiasing is in effect. Improves rendering
quality, and fixes bug 687368.

[src/gxchar.c]

2004-04-02T14:21:39.000000Z Igor Melichev

Fix (pdfwrite) : /XObject <<-1 0 R>> was written to a pattern dictionary.

DETAILS :

Bug 687396 "PDF Conversion of PS doc fails with large image"
happened to a delayed object ID assignment.
Delay adding the resource until an ID is assigned.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfj.c]

2004-04-02T07:06:02.000000Z Igor Melichev

Fix : Restoring the non-cache-device constraint in setcolor.

DETAILS :

It was removed by a recent patch, but PLRM3 page 215 requires it.

EXPECTED DIFFERENCES :

None.

[src/gscolor2.c]

2004-04-02T02:19:18.000000Z Ray Johnston

Dump output from 'attrib -H dosdefault' to the bit bucket (nul:) to
eliminate a potentially confusing warning.

[src/msvccmd.mak]

2004-04-01T20:39:44.000000Z Igor Melichev

Fix (Type 1 hinter) : Skip empty hint ranges, improved.

DETAILS :

The previous patch caused a regression with 86554321.pdf .
This one fixes that.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2004-04-01T19:58:42.000000Z Igor Melichev

Fix (Type 1 hinter) : Skip empty hint ranges.

DETAILS :

Bug 687393 "Hang with 8.14 from command line".
The test document embeds a font with a hint mask,
which defines a stem range with 'closepath' only.
t1_hinter__skip_stem couldn't handle this case,
because we exclude 'closepath' from the pole list.
We believe that the font is buggy, but provide a tolerance.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2004-04-01T13:35:07.000000Z Igor Melichev

Fix : Cygwin/gcc compiler warnings.

DETAILS :

./src/gstext.c:83: warning: suggest explicit braces to avoid ambiguous `else'

EXPECTED DIFFERENCES :

None.

[src/gstext.c]

2004-04-01T13:23:06.000000Z Igor Melichev

Fix : MSVC6 compiler warnings.

DETAILS :

An "initialized data" warning appeared when MSVC6 performs a release build
with inline optimizations on (The inline optimization inlines small function bodies,
being not marked with the inline keyword).

1. The "uninitialized data" warning in alloc_name_index_is_since_save
in isave.c was a real bug with an indeterministic behavior :
nref.tas.rsize was accessed by names_index_inline from names_string_inline
from alloc_name_is_since_save from alloc_name_index_is_since_save
with no advance initialization.
This bug was not detected because this function is only
invoked when a 'save' unwinds glyph names added to an incremental font,
but doesn't unwind the font - we have no such examples.
IMO existing PS drivers never cvreate such documents.

2. The "uninitialized data" warning in cos_array_add_object appears due to
cos_copy_element_value copies entire 'value' when another variant of an union
has a bigger size and was uninitialized.
The copying of the uninitialized data looks not harmful due to the 'int' type,
but generally it could cause an interrupt on platforms with a tagged memory.
We prefer to suppress the warning with an unuseful initialization,
because the processor time consumption is pretty small and happens not frequently.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c src/isave.c]

2004-04-01T11:43:33.000000Z Igor Melichev

A new implementation of shadings, step 43.

DETAILS :

Defining new device virtual functions for filling with a linear color.
This only defines but never uses them.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gdevdflt.c src/gxdevice.h src/gdevnfwd.c src/gdevdsha.c src/gdevdsha.h src/gxdevcli.h]

2004-04-01T11:30:47.000000Z Igor Melichev

Fix : setcachedevice must not depend on a BuildChar color and on gx_show_text_retry.

DETAILS :

1. The bug 687391 "assert src/gxccman.c:557 again" happened
   because BuildChar changed the current color before
   setcachedevice calls compute_glyph_raster_params,
   and the raster params computed differently than
   during the advance glyph raster cache lookup.

2. Removed
     if (pgs->in_cachedevice)
 	return_error(gs_error_undefined);
   from gs_setcolor,
   because I can't guess it's reason/purpose.
   It looks as a rudiment from a pre-repository versions.

3. The assertion also failed with
   "-dTextAlphaBits=4 -dLastPage=1 comparefiles\xgfddg.pdf".
   In gx_add_cached_char added the case "cc->pair == NULL" :
	    /* gx_show_text_retry could reset it when bbox_draw
	       discovered an insufficient FontBBox and enlarged it.
	       Glyph raster params could change then. */

4. gx_show_text_retry must reset penum->pair due to possible FontBBox change,
   see (3).

5. The cc_set_pair macro to be applied for changing cc->pair
   to provide consistent data for font_dir_reloc_ptrs.


EXPECTED DIFFERENCES :

None with regular regression test.

Normal with -r72 -dTextAlphaBits=4 -dAlignToPixels=0 :

"213-01.ps"
"214-01.ps"
"244-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"258-01.ps"
"270-01.ps"

Normal with -r300 -dTextAlphaBits=4 -dAlignToPixels=0 :

"245-07.ps"
"270-01.ps"

-dTextAlphaBits=2 : not tested.
-dAlignToPixels=1 : not tested.

[src/gxchar.c src/gxccman.c src/gxccache.c src/gxtext.h src/gscolor2.c]

2004-04-01T06:46:17.000000Z Ray Johnston

Fix for premature freeing of a 'image' device (makeimagedevice or the
similar makewordimagedevice). Bug #687227. Thanks to Alex Cherepanov for
the patch.

[src/gsdevmem.c]

2004-04-01T06:14:00.000000Z Ray Johnston

Fix for inherited MediaBox for the page Group dictionary (transparency).
Bug #687293. Thanks to Felix Pahl for the analysis and fix.

[lib/pdf_main.ps]

2004-04-01T04:51:42.000000Z Dan Coby

Fix for 687390 GhostScript 8.11 inserts rendering artifacts
with GIFs as source.  The actual problem is an error which
resulted in a pale yellow being shown as a pale pink.  This
occurs when dithering on devices which use a 256 color palette.

DETAILS

The halftoning logic assumes that there are the same number
of shades of each color.  However the 256 color palette
devices were using a 7x7x5 color cube.  I.e. there were 7
shades of red and green, however there were only 5 shades of
blue.  The data in the device's color_info (max_color, max_gray,
dither_colors, and dither_grays) indicated that there were
7 shades.  The halftoning logic, using this information, was
attempting to display the given pale yellow color by dithering
between 6/7ths and 7/7ths of each component.  However the
encode_color routine returned colors which include solid blue
for all cases.  This biased the resulting halftoned color
toward blue.

The fix involves changing the 256 color palette devices to
use a 6x6x6 color cube.  The same routine pc_8bit_map_rgb_color
is used for all of the 256 color palette devices.  Thus the
change consists of modifying this routine and the associated
pc_8bit_map_color_rgb routine.  The specification of each of
the devices has to be changed to represent the change in the
cube size.

[src/gdevp2up.c src/gdevcgm.c src/gdevpccm.h src/gdevpcx.c src/gdevbmp.c src/gdevsvga.c src/gdevpccm.c src/gdevpng.c]

2004-03-25T17:35:11.000000Z Igor Melichev

Fix (PDF interpreter) : Stack balance was broken when a CID font is not embedded.

DETAILS :

It was broken since pdf_font.ps rev.1.59.
Bug 687384 "/invalid font in -dict-".

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps]

2004-03-25T14:46:59.000000Z Igor Melichev

Fix (Type 1 hinter) : Use a weaker condition for horizontal stem recognition.

DETAILS :

Alignment zones were not applied due to a quazy horizontal segment
was not considered as a hiorizontal one. We think that the font
has an inaccurate glyph design, but we provide more tolerance.
Likely Adobe does the same.

Bug 687385 "fonts different heights with 75 dpi".

EXPECTED DIFFERENCES :

72 dpi :

251-01.ps
289-01.ps
455690.pdf
86554321.pdf
alphabet.ps
dave.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
prob.pdf"
RealCities.pdf
S2_Digitalproof-Forum_x3k.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf

300 dpi :

033-52-5873.pdf
289-01.ps
455690.pdf
86554321.pdf
alphabet.ps
bulletin.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
pdfopt_bug.pdf
prob.pdf
S2_Digitalproof-Forum_x3k.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf

[src/gxhintn.c]

2004-03-24T23:46:35.000000Z Ralph Giles

Remove an empty '#' line. Closes bug 687377.

[src/stdint_.h]

2004-03-24T08:56:07.000000Z Ray Johnston

Fix for unnecessary re-link when building on Windows. Bug #687059.

DETAILS:

Since 'dosdefault' was not being made, make always did the link. Create
a dummy "result" being a file named dosdefault and make works as Igor
wants.

[src/msvccmd.mak]

2004-03-24T07:30:29.000000Z Igor Melichev

Fix (pdfwrite) : TK was written into a charproc.

DETAILS :

Bug 687382 "fonts not printed with pdf 1.4".

EXPECTED DIFFERENCES :

None.
Ghostscript PDF interpreter appears insensible to it. Adobe does.

[src/gdevpdfg.c]

2004-03-24T07:29:38.000000Z Ralph Giles

Make use of the SYS_TYPES_HAS_STDINT_TYPES define we set in the configure script. After a patch
from Alex Cherepanov. Bug 687377.

Also, adopt elif, since we've been using it elsewhere to no ill effect.

[src/stdint_.h]

2004-03-24T06:38:48.000000Z Ray Johnston

Fix for incorrect Annotation scaling when an Appearance (/AP) had
scaling that was not unity (1) and the Subtype was not /Stamp.
Fixes Bug #687288 for customer #32.

DETAILS:

The scaling difference in the annotation (object 14 0) was due to
Ghostscript not recognizing the bsiTextStamp annotation Subtype.

Careful reading of the Adobe PDF specification says that if there
is an Appearace stream (/AP dict), then the Form XObject should be
scaled using the method that we perviously only used for /Stamp
Subtype annotations (calcstampscale). The section of the PDF 1.5
Reference Manual is 8.4.4.

The patch is fairly simple, but testing of the regression suite
showed one file, foo.pdf, that was missing the require /Rect entry
in the Annot dict. The patch includes a check and warning for this
problem.

EXPECTED DIFFERENCES:

With this patch, some of the regression files will have slightly
different scaling for some of the annotations, but the differences
are all too small to compare to Adobe. The largest variations are
seen with annots.pdf (our test file) where the scaling ranges from
a low of 0.979191 to a high of 1.01636. The files are:

filename                        scaling range (was 1)
01_001.PDF                      1.0
SyscoCorrugatedprintcard.pdf    1.0 .. 1.00268
annots.pdf                      0.979191 .. 1.01636
rf1025.PDF                      0.998471

IMO, these are all close enough to be considered progressions.

[lib/pdf_draw.ps]

2004-03-24T06:20:50.000000Z Ralph Giles

Adobe no longer provides a public link to DistillerParameters.pdf. Link to a hopefully somewhat
stable directory from which the inspired user can register and download the documentation.

[doc/Ps2pdf.htm]

2004-03-24T06:12:52.000000Z Dan Coby

Fix for 687364 rangecheck in buildshading2 from Quark XPress PS file.
This fix involves the creation of the findcmykcustomcolor and
setcustomcolor functions.

DETAILS:

Ray found that the error message was due to an invalid shading
dictionary being given to shfill.  The dictionary has a function
which has a single input and a single output.  The numbers are
determined from the sizes of the Domain and Range arrays.  Since
the shading dictionary is using a DeviceCMYK color space, Ghostscript
is generating a rangecheck since the function does not have four
outputs.

The file is generating an invalid shading dictionary.  Specifically
it generates:

sh:  << /Coords [0 0 0 1] /ColorSpace [/DeviceCMYK] /Function <<
/BitsPerSample 8 /Ra
nge [0 1] /FunctionType 0 /Domain [0 1] /DataSource
(\200\200\200\201\201\202\202\203
\203\204\204\205\205\206\206\207\207\210\210\211\211\212\212\213\213\214\214
\215\215\
216\216\217\217\220\220\221\221\222\222\223\223\224\224\225\225\226\226\227\
227\230\2
30\231\231\232\232\233\233\234\234\235\235\236\236\237\237\240\240\241\241\2
42\242\24
3\243\244\244\245\245\246\246\247\247\250\250\251\251\252\252\253\253\254\25
4\255\255
\256\256\257\257\260\260\261\261\262\262\263\263\264\264\265\265\266\266\267
\267\270\
270\271\271\272\272\273\273\274\274\275\275\276\276\277\277\300\300\301\301\
302\302\3
03\303\304\304\305\305\306\306\307\307\310\310\311\311\312\312\313\313\314\3
14\315\31
5\316\316\317\317\320\320\321\321\322\322\323\323\324\324\325\325\326\326\32
7\327\330
\330\331\331\332\332\333\333\334\334\335\335\336\336\337\337\340\340\341\341
\342\342\
343\343\344\344\345\345\346\346\347\347\350\350\351\351\352\352\353\353\354\
354\355\3
55\356\356\357\357\360\360\361\361\362\362\363\363\364\364\365\365\366\366\3
67\367\37
0\370\371\371\372\372\373\373\374\374\375\375\376\376\377) /Order 1 /Size
[256] >> /S
hadingType 2 >>

The file was sent into Adobe Distiller 6.0.  Inside the resulting
PDF file there is a very different shading dictionary:  Specifically:

/sh: << /ColorSpace [/Separation /MEZZO__1 /DeviceCMYK -array-] /Coords [0 0
0 1] /Function << /Decode [0 1] /FilePosition 460412 /Range [0 1] /Filter
/FlateDecode /BitsPerSample 8 /Encode [0 255] /Length 255 /FunctionType 0
/File -file- /Domain [0 1] /DataSource
(\200\200\200\201\201\202\202\203\203\204\204\205\205\206\206\207\207\210\21
0\211\211\212\212\213\213\214\214\215\215\216\216\217\217\220\220\221\221\22
2\222\223\223\224\224\225\225\226\226\227\227\230\230\231\231\232\232\233\23
3\234\234\235\235\236\236\237\237\240\240\241\241\242\242\243\243\244\244\24
5\245\246\246\247\247\250\250\251\251\252\252\253\253\254\254\255\255\256\25
6\257\257\260\260\261\261\262\262\263\263\264\264\265\265\266\266\267\267\27
0\270\271\271\272\272\273\273\274\274\275\275\276\276\277\277\300\300\301\30
1\302\302\303\303\304\304\305\305\306\306\307\307\310\310\311\311\312\312\31
3\313\314\314\315\315\316\316\317\317\320\320\321\321\322\322\323\323\324\32
4\325\325\326\326\327\327\330\330\331\331\332\332\333\333\334\334\335\335\33
6\336\337\337\340\340\341\341\342\342\343\343\344\344\345\345\346\346\347\34
7\350\350\351\351\352\352\353\353\354\354\355\355\356\356\357\357\360\360\36
1\361\362\362\363\363\364\364\365\365\366\366\367\367\370\370\371\371\372\37
2\373\373\374\374\375\375\376\376\377) /Size [256] >> /ShadingType 2 >>

This dictionary has a Separation color space.  The given function
is a reasonable function to use with the Separation color space.
As Ray mentioned, it is not correct for a DeviceCMYK color space.

The file is generating a different dictionary for the two interpreters.
In the case of Ghostscript, the dictionary is invalid,

Backtracking through the various procsets inside of the given file
shows that is a mess of function definitions, followed by replacement
of the functions with new definitions.  Some of it may be Quarks.
Some of it is labeled:

%%BeginResource: file Jaws_custom_colour_blend_level3_emulation 2.1 0

The results of the search are:

1.  Ghostscript does not define 'setcustomcolor' but Adobe Distiller
6.0 does define it.

2.  The procsets in the file do provide a definition for
setcustomcolor.  Actually the file provides about 16 versions of
setcustomcolor.  However the versions provided in the file do
not work.

The PLRM does not mention setcustomcolor.  However it is
described in Adobe's "Technical Note #5044 Color Separation
Conventions for PostScript Language Programs".  TN 5044 says:

"The following "operators" are not defined in the PostScript
Language Reference Manual, but should be used as pseudo-operators
in your PostScript language output. Separation applications from
Adobe Systems and other vendors will redefine these convention
operators to separate your documents.  Your application should
conditionally define procedures with these special names, as shown
later in this document."

The fix to the problem is to provide the functions:
findcmykcustomcolor and setcustomcolor.  These are placed at the
end of the lib/gs_lev2.ps.  They are placed there because the
implementation requires Separation color spaces which is a level
2 feature.

[lib/gs_lev2.ps]

2004-03-23T12:30:40.000000Z Igor Melichev

Fix : GenericResourceDir was not listed in PermitFileReading.

DETAILS :

Problems happened when gs/lib is specified with -I, and gs/Resource is not.
Bug 687381 "pdfwrite can't start with -dSAFER -Id:/path/lib".

EXPECTED DIFFERENCES :

None.

[lib/gs_init.ps]

2004-03-23T06:59:09.000000Z Ralph Giles

Correct a number of warnings.

DETAILS:

Apply const appropriately so gcc doesn't warn about assignment of string
literals.

Remove an inappropriate const in a function argument.

ifdef out the debug printout function since it's not called without
JPX_DEBUG.

[src/sjpx.c]

2004-03-22T01:23:24.000000Z Ralph Giles

SunOS 5.9 does not properly replace files with ln -sf. Unlink the
existing files instead. Closes bug 687378.

[autogen.sh]

2004-03-21T22:35:28.000000Z Ray Johnston

Fix for a long standing problem that could cause characters to be dropped
when reading a file with the 'read' operator. Bug #687374 for customer #310.

DETAILS:

This was caused by the zread function reading the character (sgetc)
prior to invoking the 'push' macro which could return with
e_stackoverflow (discarding the character). The stackoverflow can
happen more frequently than at MaxOpStack level since the stack
is allocated as blocks, using the e_stackoverflow to signal the
need to add more stack blocks, then retrying the operation.
Fix for characters dropped from a file when using the 'read' operator.
Bug #687374 for customer #310.

DETAILS:

This was caused by the zread function reading the character (sgetc)
prior to invoking the 'push' macro which could return with
e_stackoverflow (discarding the character). The stackoverflow can
happen more frequently than at MaxOpStack level since the stack
is allocated as blocks, using the e_stackoverflow to signal the
need to add more stack blocks, then retrying the operation.

[src/zfileio.c]

2004-03-19T10:08:10.000000Z Igor Melichev

Fix (TT interpreter) : Subglyphs could be placed to wrong coordinates.

DETAILS :

1. When a subglyph position is specified with a reference to an outline point,
the index of the point was interpreted wrongly and could use an
undefined data with an indeterministic result.

Bug 687366 "Font missing umlaut".

2. Shifting a subglyph, matrices like [xx 0 0 1 0 0] were misinterpreted as identity.

EXPECTED DIFFERENCES :

Testform.v1.0.2.pdf - a progression with umlaut over 'u'in the word "Dr�mmer".

[src/ttfmain.c]

2004-03-19T09:52:25.000000Z Igor Melichev

Fix (pdfwrite) : Zero text length caused an access to an uninitialized data.

DETAILS :

Detected by Dan with MSVC .NET 2003.
Rather the result did not depend on the data,
the access could cause a floating point interrupt.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2004-03-19T08:30:16.000000Z Ray Johnston

Fix to implement PDF specification for '/' as a valid name as opposed to
the PS token scanning. Previously //name would be incorrectly scanned as
an immediately evaluated name rather than two names '/' and '/name' which
is correct. Fixes Bug #687277 for customer #440.

DETAILS:

Care is taken to reset the scanner behaviour after a PDF file is finished
and also after an invalid number is scanned. Note that to reset the flag,
the parameter must be set to 'null', not 'false' due to the implementation
in the ztoken.c. Caveat impelementor.

Previously the PDFScanRules was set when an invalid number was found and
was never reset, so this may result is *LOTS* of pdfformaterror messages
for files that have lots of invalid format numbers, but that's what they
get. If this is ever a problem, reseting the PDFScanInvNum can be moved
to pdf_main.ps where PDFScanRules is set to null.

No expected differences.

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

2004-03-19T05:37:53.000000Z Ralph Giles

Rename the DEBUG_JPX symbol to JPX_DEBUG to match the others we've
defined for the JPXDecode source.

[src/sjpx.c]

2004-03-19T05:36:28.000000Z Ralph Giles

Correct our YCrCb to RGB conversion code. Subtract the proper bias to
center the chromaticity channels around zero if they are returned
unsigned. Move the clamp routines to after the conversion to RGB where
it does some good. Thanks to Raph Levien for his help with this code.

We now use our conversion code by default, since there are some problems
with the jasper library's conversion on big-endian platforms. The jasper
conversion can be reenabled by defining JPX_USE_JASPER_CM in the
preprocessor.

[src/sjpx.c]

2004-03-18T17:56:38.000000Z Ray Johnston

Fix name of file in raster directory so that update_pdfbaseline will be
run when needed (when new files are added).

[toolbin/tests/gscheck_pdfwrite.py]

2004-03-18T16:59:20.000000Z Igor Melichev

A new implementation of shadings, step 43.

DETAILS :

1. An optimization :

If an area has a monotonic color,
each subarea has a monotonic color as well,
so the color monotonity doesn't need to recompute.
Doing so because the color monotonity function is not fast
when appied to a ShadingType 1 with a bicubic color interpolation.

2. Bug: is_color_monotonic returned 'true' when the intrval
has zero width by the 1st coordinate.
This is wrong for with ShadingType 1, which uses a 2-argument function.
( The check was a rudiment from a 1 month old implementation of fn_Sd_is_monotonic,
  which returned 'false' when the low boundary is at the end of some cell,
  and the upper boundary is at the beginning of the next cell.
  Actually this case is a zero width interval and the function must return true.
)


EXPECTED DIFFERENCES :

A minor difference in colors :

442-01.ps
464-01.ps
Clarke Tate Manns Chinese.ai
STEUER-RollingMesh 1(linear).ai

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

2004-03-18T12:33:14.000000Z Igor Melichev

Implementing is_monotonic for cubic interpolation functions.

DETAILS :

The old code ignores extremes of a cubic interpolation function
(except ones at a cell boundary).
It could cause a wrong rendering of shadings with replacing a
randomly big part of the shading near an extremum with a constant color.
The new code fixes that.

The new code caches the interpolation coefficients.
This may cause problems if the function data stream is
modified after the function is build. Likely this must not cause
problems due to gs/lib caches the stream with ReusableStreamDecode.
Also we don't know practical cases.
POLE_CACHE_IGNORE 1 avoids this problem with some slowdown,
(the slowdown exponentially grows with >=3 arguments,
but again we don't know practical examples with >=3 arguments).

The configuration flag POLE_CACHE allows to revert to the old code.

Bug 687352 "is_monotonic isn't implemented for 3d order sampled function".

EXPECTED DIFFERENCES :

464-01.ps - A minor difference in color.

[src/gsfunc0.c src/gsfunc0.h]

2004-03-17T23:06:03.000000Z Ralph Giles

Clamp and origin shift the chromaticity values in our JPXDecode filter's
YUV to RGB conversion code. This still does not produce correct output
with libjasper's output, but is an improvement. This change affects
disabled code only.

[src/sjpx.c]

2004-03-16T11:39:30.000000Z Igor Melichev

Fix (pdfwrite) : A floating point interrupt.

DETAILS :

MSVC7 applies a floating point (FP) operations to copy FP data.
This may cause interrupts if the data is not initialized and represent an invalid FP number.

gdev_vector_dopath_segment passed an unitialized data as an argument.
Rather the callee never use them, an interrupt happens while building the argument list.

EXPECTED DIFFERENCES :

None.

[src/gdevvec.c]

2004-03-16T03:00:11.000000Z Ralph Giles

Use the jasper library's internal color conversion function to convert
non-rgb multicomponent images to sRGB.

DETAILS:

As of jasper 1.701.0 this function does not work correctly on powerpc.
However, it's better than our own routine, which I've had trouble
getting working with the Y(')CbCr samples returned from the library.

[src/sjpx.c]

2004-03-16T02:16:20.000000Z Dan Coby

Fix for 687337 Zerodivide in cie_cache_mult.  Note:  There
was a typo in the previous fix.

DETAILS:

The direct cause of the problem, and also the reason that we
have not seen this problem in real world files is that the
050-01.ps test file contains the following color rendering
dictionary.

/RenderDict2
12 dict begin
  /BlackPoint [ 0 0 0 ] def
  /ColorRenderingType 1 def
  /EncodeABC [ {} {} {} ] def
  /EncodeLMN [ {} {} {} ] def
  /MatrixABC [ 0 0 0  0 0 0  0 0 0 ] def
  /MatrixLMN [ 0 0 0  0 0 0  0 0 0 ] def
  /RangeABC [ 0 1  0 1  0 1 ] def
  /RangeLMN [ 0 1  0 1  0 1 ] def
  /RangePQR [ 0 1  0 1  0 1 ] def
  /TransformPQR [ {} {} {} ] def
  /WhitePoint [ 1 1 1 ] def

Note:  The matrices full of zeroes do not represent real
world data.  The zero matrices will result in all output
component values being zero no matter what the inputs.

Using this data, Ghostscript uses the given ranges and
matrices to calculate values for DomainABC and DomainLMN.
The results are [0, 0] for each domain.  The domain values
are later used to calculate a scaling factors which is
also 0.  Calculations, which use one of these values as
a divisor, then generate a divide by zero exception.

One option to fix this problem would be to check for zero
before doing any calculations with the scaling factors.
However another and simpler option is to check for the zero
factors when they are crated and set the value to a value
which will not cause the divide problem.  Note:  Even though
we are using a dummy factor (1.0), the zero matrices still
result in zero output values from the calculations.

[src/gscie.c]

2004-03-16T02:07:21.000000Z Dan Coby

Fix for 687337 Zerodivide in cie_cache_mult.

DETAILS:

The direct cause of the problem, and also the reason that we
have not seen this problem in real world files is that the
050-01.ps test file contains the following color rendering
dictionary.

/RenderDict2
12 dict begin
  /BlackPoint [ 0 0 0 ] def
  /ColorRenderingType 1 def
  /EncodeABC [ {} {} {} ] def
  /EncodeLMN [ {} {} {} ] def
  /MatrixABC [ 0 0 0  0 0 0  0 0 0 ] def
  /MatrixLMN [ 0 0 0  0 0 0  0 0 0 ] def
  /RangeABC [ 0 1  0 1  0 1 ] def
  /RangeLMN [ 0 1  0 1  0 1 ] def
  /RangePQR [ 0 1  0 1  0 1 ] def
  /TransformPQR [ {} {} {} ] def
  /WhitePoint [ 1 1 1 ] def

Note:  The matrices full of zeroes do not represent real
world data.  The zero matrices will result in all output
component values being zero no matter what the inputs.

Using this data, Ghostscript uses the given ranges and
matrices to calculate values for DomainABC and DomainLMN.
The results are [0, 0] for each domain.  The domain values
are later used to calculate a scaling factors which is
also 0.  Calculations, which use one of these values as
a divisor, then generate a divide by zero exception.

One option to fix this problem would be to check for zero
before doing any calculations with the scaling factors.
However another and simpler option is to check for the zero
factors when they are crated and set the value to a value
which will not cause the divide problem.  Note:  Even though
we are using a dummy factor (1.0), the zero matrices still
result in zero output values from the calculations.

[src/gscie.c]

2004-03-16T01:25:19.000000Z Dan Coby

Fix for 687349 A wrong comment for gx_device_color_s.  This change
modifies the comment on ccolor and the related variable ccolor_valid.

[src/gsdcolor.h]

2004-03-15T20:47:44.000000Z Ralph Giles

Correctly calculate row offsets for copying JPXDecode filter results so
multi-component images are indexed correctly. Also split the jpxd
process code into several helper functions for readability.

Support subsampled YUV images properly. Subsampled pixels are
replicated, not interpolated. Colorspace conversion from YCrCb to RGB is
still incorrect.

[src/sjpx.c src/sjpx.h]

2004-03-15T09:54:44.000000Z Igor Melichev

MSVC compiler: allowing Precompiled Headers, Incremental Compilation, Edit & Continue.

DETAILS :

These options are applied to debug build only.
They dramatically improve the development technology.

Automated Precompiled Header speeds up the compilation slightly.
For best results should reorganize gs header files.

Incremental Compilation speeds up the rebuilding after editing source code.

Edit&Continue is a powerful tool for debugging. Together with incremental compilation
it allows to regenerate the object code during a debug session,
and continue the debugging with the new code without restarting the program.
Press F10 after you changes source code and enjoy.
F7 resets the session - forget it.
Another related tool is the "Set instruction pointer" debugger command,
which is available only from Tools/Customize/Commands/Debug.
It looks as an yellow arrow with a blue thin curved arrow.
Move it to your toolbar and enjoy.

Also enabled the incremental linking.

YOU NEED TO REBUILD ALL AT ONCE to activate these tools.

Tested with MSVC 6, should also work wirth MSVC 7.
Had no chance to test MSVC 5. A help wanted.

EXPECTED DIFFERENCES :

None.

[src/msvccmd.mak]

2004-03-14T22:10:53.000000Z Igor Melichev

Fix : A Cygwin/gcc warning.

EXPECTED DIFFERENCES :

None.

[src/zpcolor.c]

2004-03-14T22:02:44.000000Z Igor Melichev

Fix (PDF interpreter) : CIDMap was wrongly created from CIDToGIDMap.

DETAILS :

CIDMap size was equal to CIDCount, which gs_ttf.ps sets to the number of glyphs.
With a non-Identity CIDToGIDMap it appears wrong,
causing some valid CIDs to be out of range and to print as a notdef character.

Bug 687351 "Embedded TTF font in PDF incorrectly displayed.".

EXPECTED DIFFERENCES :

Bug687351.pdf

[lib/pdf_font.ps lib/gs_ttf.ps]

2004-03-14T22:01:26.000000Z Igor Melichev

Fix (pdfwrite) : Crash after adding a glyph over a preallocated limit of a CIDFontType 2.

DETAILS :

Working on bug 687351 with CAIB_highres_page4.pdf, we detected a set of old bugs.
They caused a heap corruption and crash.
To reproduce the crash apply the patch of the bug 687351 to lib/pdf_font.ps
(that patch will be committed AFTER this one).

1. pdf_resize_resource_arrays was called with a wrong array size (gdevpdtc.c).
2. pdf_resize_resource_arrays did not expand CIDToGIDMap (gdevpdtf.c).
3. gs_type42_glyph_info accepted a wrong type of the return value of get_glyph_index.
4. Copying a CIDFontType 2, CIDCount was wrong (gxfcopy.c).
5. pdf_obtain_cidfont_resource wrongly processed the case of shared font descendents :
   font compatibility was not checked, rather they may have different Metrics,
   Metrics2, CDevProc, CIDMap (gdevpdtt.c).
6. Implemented a dynamic expansion of CIDMap for copied fonts.
7. In font copies CIDMap used the code 0xFFFF for representing unmapped glyphs.
8. Inserted the comment into gdevpdtf.c :
    /* fixme : Likely pdfont->u.cidfont.CIDToGIDMap duplicates
       pdfont->FontDescriptor->base_font->copied->client_data->CIDMap.
       Only difference is 0xFFFF designates unmapped CIDs.
     */
9. same_cid0_hinting must not check FDBytes (gxfcopy.c).

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/gdevpdtc.c src/gdevpdtt.c src/gstype42.c src/gdevpdtf.c]

2004-03-14T11:26:29.000000Z Igor Melichev

Fix (pdfwrite) : XObject's resources were placed wrongly.

DETAILS :

Bug 687350 "Wrong placement for Form XObjects' resources"

For Form XObjects created using /BP pdfmarks, the resources dictionary entries
are placed into the dict part of the XObject itself, instead of being placed
into a dictionary referenced by the /Resources key.

Patch from SaGS (See the bug report).
Thanks to SaGS (Sorry, never got his/her name.).

EXPECTED DIFFERENCES :

Bug687350.ps

[src/gdevpdfm.c]

2004-03-13T22:31:19.000000Z Ray Johnston

Add support for 16 bit deep images that is part of PDF 1.5.

Expected Differences:

None.

[src/zimage.c src/lib.mak src/gxino16b.c src/gxi16bit.c src/int.mak src/zfdecode.c src/gximage.h src/spdiffx.h src/gxipixel.c src/spdiff.c]

2004-03-13T18:28:52.000000Z Igor Melichev

Implementing current point with double precision.

DETAILS :

The old code stores the current point in pgs->ppath->position
with the 'fixed' representation in the device space coordinates.
This appears insufficiently precise if a document constructs a path
with multiple 'rlineto' or 'rcurveto'. A significant to error accumulation happens.

We implement the current point with 'double', duplicating pgs->ppath->position
with the new field gs_imager_state::current_point.
We can't replace pgs->ppath->position with the new one due to several reasons :

- Sometimes (in the text processing, in arc processing and in reversepath)
  a new current point is computed when imager state is not accessible.
- Don't want to spend processor time for conversion double to fixed,
  whenever a fixed is needed.
- Don't want to modify many of low level modules;

Text operation always round the current point to 'fixed'.
Note that the convertion from fixed to double is always precise,
therefore we widely use it with text operations.

Thus this improves the precision of moveto, lineto, curveto,
rmoveto, rlineto, rcurveto, but the precision of other operators
left as it was. Likely there is no strong need to improve text operations
due to pixel rounding, but it would be useful to improve arc, arcn, arct, arcto.
However an improvement of arc operations isn't a high priority,
and after this patch becomes a local change.

We removed ppath->outside_position, because
pgs->current_point now effectively handles this feature.
Due to that the rounded pgs->current_point may be unequal to pgs->ppath->position
when the current point is outside the range.

The configuration flag PRECISE_CURRENTPOINT defined in gxstate.h
helps to debug the new code with raster comparizon with the old code.
PRECISE_CURRENTPOINT 0 works same as the old code except the
coordinate clamping. Therefore once tested with the comparison,
the further validation reduced to a validation of the code
swtched by the flag - this part pof code is pretty small.

The mode (PRECISE_CURRENTPOINT 0) **MUST**NOT** go to production
due to the dropped clamping. PRECISE_CURRENTPOINT 1 handles the clamping.

Bug 687359 "Current point is inprecise".

EXPECTED DIFFERENCES :

Almost all comparefiles render differently.

[src/gxchar.c src/gstype42.c src/gxstate.h src/gzstate.h src/gspath.c src/gdevpdtt.h src/gspath.h src/gxpath.c src/lib.mak src/gstype1.c src/gstype2.c src/gxistate.h src/gdevpdtc.c src/gscoord.c src/gxpath.h src/gzpath.h src/gdevpdte.c src/gspaint.c src/gspath1.c src/gxmatrix.h src/zupath.c]

2004-03-13T00:33:49.000000Z Igor Melichev

Fix (TT grid fitting) : Hints could be lost.

DETAILS :

When passing hints from the stem recognizer to the hinter,
glyph origin was not properly initialized, causing an occasional shift of hints.
This bug appeared with gxttfb.c revision 1.32.

EXPECTED DIFFERENCES :

72dpi:
01_001.pdf
159.pdf
adesso2.pdf
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
budget2.pdf
budget2_ai87.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
ICPconcept.pdf
japan.ps
keyboard.pdf
korea.ps
MagicEye.pdf
S2_Digitalproof-Forum_x3k.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
Type11CDevProc.ps
type42_glyph_index.ps
fonts.pdf
01_001.pdf
159.pdf
adesso2.pdf
adesso7.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
budget2.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
japan.ps

300dpi:
01_001.pdf
159.pdf
adesso2.pdf
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
budget2.pdf
budget2_ai87.pdf
bugsample.pdf
CAIB_highres_page4.pdf
Faktura.pdf
fonts.pdf
ICPconcept.pdf
Jahr2000.pdf
japan-.ps
japan.ps
01_001.pdf
keyboard.pdf
korea.ps
MagicEye.pdf
S2_Digitalproof-Forum_x3k.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
Type11CDevProc.ps
type42_glyph_index.ps

[src/gxttfb.c]

2004-03-12T06:53:32.000000Z Igor Melichev

Fix (pdfwrite) : Fall back to the default implementation when the output document can't handle current color.

DETAILS :

This case is important when the output PDF uses a low PDF level.
Particularly if the source file is a PDF 1.4 with a transparency,
and the output is PDF 1.3, which can't represent a transparency.

Bug 687338 "/rangecheck in --fill--".

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdfd.c]

2004-03-12T01:58:34.000000Z Dan Coby

Fix for 687349 A wrong comment for gx_device_color_s.  This change
modifies the comment on ccolor and the related variable ccolor_valid.

[src/gsdcolor.h]

2004-03-12T01:55:58.000000Z Dan Coby

Log message:

Implement 687347: Implementation of the PDF encryption feature:
EncryptMetadata.  Past versions of the PDF encryption have always
encrypted metadata.  With this feature it is possible to NOT encrypt
metadata streams.  I.e. By adding '/EncryptMetadata false' to the
encryption dictionary.

DETAILS:

There are two pieces to the implementation:

1.  The calculation of the user password key includes an additional
step of feeding 0xffffffff to the md5 input if EncryptMetadata is
false.  (Ask Adobe, not me.)  The PDF 1.5 spec. says that
EncryptMetadata is an undocumented feature of PDF 1.4.  This
implies that this action needs to be done for values of R in the
Encrypt dictionary of 3 or higher.  However testing with Acrobat
5.0 and Acrobat 6.0 shows that this is not done for R = 3.  Thus
we check for R >= 4.

2.  Testing with Acrobat 5.0 and 6.0 has verified that the encryption
of metadata streams is controlled by EncryptMetadata in both versions.
Thus we check for PDF 1.4 and higher (R >= 3) and if so then we check
the stream type and the EncryptMetadata flag to determine if a stream
needs to be decrypted.

[lib/pdf_sec.ps]

2004-03-11T14:58:31.000000Z Igor Melichev

Fix : Some Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/devs.mak src/gdevpdfi.c]

2004-03-11T14:50:50.000000Z Igor Melichev

Fix : Some Sun ONE Studio 7 compiler warnings (Solaris 8).

DETAILS :

Bug 687355 "warnings on Solaris (ghostscript-8.14)".

This fixes all warnings which I understande, except
"implicit function declaration", which probably require
a Solaris-dependent fix to "memory_.h".

EXPECTED DIFFERENCES :

None.

[src/gsdfilt.c src/gdevpdfx.h src/gdevpsd.c src/gdevpsu.c src/gscpixel.c src/gdevpsdu.c src/gdevdevn.c src/ttfmain.c src/gdevnfwd.c src/gdevxcf.c src/gximag3x.c src/szlibd.c src/gdevpng.c src/gdevijs.c]

2004-03-11T07:01:08.000000Z Igor Melichev

Fix : Changing the default value of AlignToPixels to 0.
THIS IS INCOMPATIBLE CHANGE.

DETAILS :

AlignToPixels=0 produces a better results with antialiased text.
This is especially important after the True Type grid fitting is on.

EXPECTED DIFFERENCES :

None.

[src/gsfont.c doc/Use.htm]

2004-03-11T05:36:07.000000Z Ralph Giles

Some systems require a longer link line with the default static jasper.

[toolbin/jpxtopdf.c]

2004-03-11T05:22:06.000000Z Ralph Giles

Add a simple C program that uses the jasper library to parse JPX (jpeg2k) image files and embed
them in a PDF 1.5 document. Useful for testing as there are few producers available at the moment.

DETAILS:

We make no attempt to parse the required metadata (resolution and so on) ourselves. It would be
simple to add this so that the program can stand alone. On the other hand, jasper is capable of
opening a number of other image formats and encoding them to jpx streams. We don't do that either,
but it would also be easy to add support for so that JPXDecode versions of arbitrary images could
be embedded.

Because of this, it's possible to embed e.g. baseline jpeg data instead of a jpx stream if you
feed the program the wrong file. Caveat executor.

Based on the jpegtopdf program by Tor Andersson.

[toolbin/jpxtopdf.c]

2004-03-10T19:06:43.000000Z Ralph Giles

Revert documentation change. Apparenlty the problem was that the user
specified an ICC colorspace and it does have an effect with pswrite if
one uses the usual RGB, etc. colorspaces. Bug 687357.

[doc/Use.htm]

2004-03-10T19:01:15.000000Z Ralph Giles

Clarify that -dNOSUBSTDEVICECOLORS has no effect on the pswrite device.
Bug 687357.

[doc/Use.htm]

2004-03-10T05:49:24.000000Z Ralph Giles

Correct yet another typo that was preventing the regression from
running.

[toolbin/tests/run_nightly]

2004-03-10T04:52:48.000000Z Raph Levien

Fix problem with dci.max_components introduced with DeviceN changes.
Closes bug #677383.

[src/gdevijs.c]

2004-03-09T21:31:50.000000Z Ralph Giles

Check for jpeg, zlib, and libpng headers as well as libraries before
using the shared versions. Bug 687261.

[src/configure.ac]

2004-03-09T13:30:26.000000Z Igor Melichev

Fix (PDF interpreter) : Wrong metrics when 2 font resources for same embeded font.

DETAILS :

Bug 687308 "Text in PDF Form field renders incorrectly".

The document contains 2 font resources for same embedded font.
PDF interpreter first creates a copy of the font, replacing the metrics with Widths.
Then it creates another copy of the with no replaced metrics. But
it used the first copy (through findfont) instead the original font,
and the Metrics in the second copy appears wrong.

This patch applies pdfcachefont for embedded fonts,
to allow retrieving original fonts for subsequeent font resources.

EXPECTED DIFFERENCES :

None.

[lib/pdf_font.ps]

2004-03-09T10:38:59.000000Z Igor Melichev

Fix (pdfwrite) : Annotations encrypted with a wrong object id.

DETAILS :

Bug 687333 "pdfwrite: A wrong encryption of bookmarks".

EXPECTED DIFFERENCES :

None.

[src/gdevpdfm.c]

2004-03-09T09:31:57.000000Z Igor Melichev

Fix (Type 2 charstrings) : More tolerance and conformity.

DETAILS :

1. Some Type 2 charstrings omit the vstemhm operator before rmoveto,
   even though this is only allowed before hintmask and cntrmask.
   Bug 687311 "could make more sense of invalid stem hints".

2. Subglyph offset was not crrect.

3. Removing an outdated comment.

Thanks to Felix Pahl for these improvements.

EXPECTED DIFFERENCES :

None.

[src/gstype2.c]

2004-03-09T05:42:07.000000Z Dan Coby

Remove some extra carriage returns (^M) at the ends of lines.  These
keep sneaking into the sources.  Presumably the cause has to do with
copying files from unix to windows or vice versa.

[lib/pdf_base.ps]

2004-03-08T16:45:03.000000Z Ralph Giles

Correct a typo in the whitelist keyword changes.

[toolbin/tests/run_nightly]

2004-03-07T12:26:02.000000Z Igor Melichev

Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 3).

DETAILS :

Remove unused variables.

EXPECTED DIFFERENCES :

None.

[src/gsfunc3.c]

2004-03-07T12:06:11.000000Z Igor Melichev

Fix : gs_function_is_monotonic computed an unused auxiliary result (continued 2).

DETAILS :

1. Remove gs_function_effort_t because it is not longer useful.
2. Update the documentation in comments.

EXPECTED DIFFERENCES :

None.

[src/gxfunc.h src/gxshade1.c src/gsfunc.c src/gsfunc0.c src/gsfunc3.c src/gsfunc4.c src/gxshade6.c src/gsfunc.h]

2004-03-07T12:04:11.000000Z Igor Melichev

Fix : gs_function_is_monotonic computed an unused auxiliary result (continued).

DETAILS :

Bug 687328 fn_is_monotonic_proc_t slows down ShadingType 1 in 3 times

Actually the result appears used while checking the monotonity of
a stiching function. But we believe that it doesn't worth
the processor time expence. I simpler way is to
consider the stitches as a monotonity breaks.

EXPECTED DIFFERENCES :

None

[src/gsfunc3.c]

2004-03-07T00:02:22.000000Z Igor Melichev

Fix (dropout prevention) : extra pixels at small serifs.

DETAILS :

It appears a long standing bug. It caused a section was not cleaned before reusage.
The reason was an interval to clean was added to the list of a another margin_set.
This bug frequently caused a missed serif suppression (i.e. extra pixels at small serifs).

EXPECTED DIFFERENCES :

A massive rendering difference at small resolutions :

72dpi :

"000040cf.000_60.pdf"
"001-01.ps"
"001-13.ps"
"001-25.ps"
"002-09.ps"
"002-21.ps"
"002-33.ps"
"003-01.ps"
"012-01.ps"
"012-05.ps"
"013-01.ps"
"013-05.ps"
"014-01.ps"
"014-05.ps"
"015-01.ps"
"015-05.ps"
"018-01.ps"
"01_001.pdf"
"021-01.ps"
"023-01.ps"
"027-01.ps"
"027-05.ps"
"027-09.ps"
"032-01.ps"
"033-01.ps"
"034-01.ps"
"036-01.ps"
"040-01.ps"
"045-01.ps"
"046-01.ps"
"050-01.ps"
"055-01.ps"
"061-01.ps"
"070-01.ps"
"076-01.ps"
"083-01.ps"
"083-05.ps"
"084-01.ps"
"091-01.ps"
"093-01.ps"
"094-01.ps"
"096-01.ps"
"103-01.ps"
"104-01.ps"
"109-01.ps"
"110-01.ps"
"113-01.ps"
"118-01.ps"
"119-01.ps"
"119-10.ps"
"119-16.ps"
"119-47.ps"
"120-01.ps"
"123-01.ps"
"123-05.ps"
"124-01.ps"
"129-01.ps"
"141-01.ps"
"148-05.ps"
"148-11.ps"
"149-01.ps"
"154-01.ps"
"158-01.ps"
"159.pdf"
"162-01.ps"
"166-01.ps"
"169-01.ps"
"169-05.ps"
"170-01.ps"
"176-01.ps"
"177-01.ps"
"181-01.ps"
"184-01.ps"
"192-01.ps"
"200-01.ps"
"205-01.ps"
"205-05.ps"
"206-01.ps"
"212-01.ps"
"213-01.ps"
"214-01.ps"
"215-01.ps"
"219-01.ps"
"220-01.ps"
"220-07.ps"
"222-01.ps"
"222-05.ps"
"226-01.ps"
"227-01.ps"
"231-01.ps"
"233-01.ps"
"244-01.ps"
"245-01.ps"
"245-07.ps"
"245-13.ps"
"245-17.ps"
"246-01.ps"
"250-01.ps"
"251-01.ps"
"255-01.ps"
"257-01.ps"
"258-01.ps"
"260-01.ps"
"263-01.ps"
"269-01.ps"
"270-01.ps"
"272-01.ps"
"276-01.ps"
"282-01.ps"
"297-01.ps"
"298-01.ps"
"298-05.ps"
"299-01.ps"
"303-01.ps"
"304-01.ps"
"307-01.ps"
"308-04.ps"
"311-03.ps"
"313-01.ps"
"316-07.ps"
"321-01.ps"
"321-05.ps"
"322-01.ps"
"327-01.ps"
"328-01.ps"
"330-01.ps"
"334-01.ps"
"335-01.ps"
"336-01.ps"
"401-01.ps"
"405-01.ps"
"409-01.ps"
"415-01.ps"
"421-01.ps"
"430-01.ps"
"438-01.ps"
"450-01.ps"
"455690.pdf"
"460-01.ps"
"463-01.ps"
"477-01.ps"
"477-03.ps"
"477-04.ps"
"477-05.ps"
"478-01.ps"
"483-05-fixed.ps"
"483-05.ps"
"86554321.pdf"
"a.pdf"
"aaon97_p7.pdf"
"acrobat.pdf"
"adesso1.pdf"
"adesso5.pdf"
"adesso7.pdf"
"adesso8.pdf"
"AdobeLic.pdf"
"alphabet.ps"
"besttest.pdf"
"brochurep1.pdf"
"bulletin.pdf"
"CAIB_highres_page4.pdf"
"chess.ps"
"CIDembedded.pdf"
"Faktura.pdf"
"Fixed_Original.pdf"
"HeiseiMinStd.pdf"
"japan.ps"
"korea.ps"
"KozukaB-ILEmbed.pdf"
"loremIpsum.pdf"
"mbb-with-space.ps"
"ngnews1.pdf"
"Original.pdf"
"pdftops.pdf"
"prfmm.pdf"
"prob.pdf"
"RealCities.pdf"
"rf1025.pdf"
"RodinCIDEmbed.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"Svd.pdf"
"textsavematrix.pdf"
"tpc2.ps"
"type1-ce1_setcurrentpoint.ps"
"type42_glyph_index.ps"
"waterfal.ps"
"womanface.pdf"

300 dpi :
"000040cf.000_60.pdf"
"001-01.ps"
"093-01.ps"
"a.pdf"
"aaon97_p7.pdf"
"alphabet.ps"
"bug-gstest.pdf"
"chess.ps"
"Fixed_Original.pdf"
"fonttest.pdf"
"HeiseiMinStd.pdf"
"japan-.ps"
"japan.ps"
"KozukaB-ILEmbed.pdf"
"mbb-with-space.ps"
"Original.pdf"
"RodinCIDEmbed.pdf"
"S2_Digitalproof-Forum_x3k.pdf"
"tpc2.ps"
"Type11CDevProc.ps"

[src/gxfdrop.c]

2004-03-06T15:15:53.000000Z Alex Cherepanov

Immediately return the success for 0-length read from a string array.
Don't seek to the offset because it may be invalid in some broken fonts.
Fix bug 687340

[src/zfont42.c]

2004-03-05T23:25:40.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/ttfmain.c src/gdevpdfv.c src/gsfunc0.c src/devs.mak src/gsfunc3.c]

2004-03-05T22:26:38.000000Z Igor Melichev

Fix : Raster depended on bands, step 4, final.

DETAILS :

This change is algorithmically equivalent.

1. Removed the old code BAND_INDEPENDENT 0.
2. Simplified fill_slant_adjust with removing low useful variables.
3. Optimized the gxfilltr.h template with excluding some branches from the scope of le, re.
4. Renamed function templates with a (new) regular convention.

EXPECTED DIFFERENCES :

None.

[src/gxfilltr.h src/gxfillts.h src/gxfill.c src/gxfillsl.h]

2004-03-05T15:35:40.000000Z Igor Melichev

Fix : Raster depended on bands, step 3.

DETAILS :

Bug 687222 "Raster depends on bands".

Switching to the new code.
Now trapezoid sides are independent on bands, clipping and scans.
Any trapesoid side is equal to some flattened piece of an outline segment.

A massive difference happens due to the old code recognized low trapezoids as rectangles.
The new code does not because it checks the verticality with longer bars.

EXPECTED DIFFERENCES :

Almost all comparefiles render differently.,
but mist differences are single pixels.
A dozen of files give dual pixel differences.

[src/gxfill.c]

2004-03-05T14:39:07.000000Z Ralph Giles

correct a typo in the recent comment revision

[doc/Make.htm]

2004-03-05T14:36:58.000000Z Ralph Giles

add a missing '.' to a comment

[src/msvc32.mak]

2004-03-05T14:16:04.000000Z Igor Melichev

Fix : Raster depended on bands, step 2.

DETAILS :

Bug 687222 "Raster depends on bands".

For the enabled code this change is algorithmically equivalent.
It fixes rectangle coordinates in the disabled code.

EXPECTED DIFFERENCES :

None.

[src/gxfilltr.h]

2004-03-05T13:17:38.000000Z Igor Melichev

Fix : Raster depended on bands, step 1.

DETAILS :

Bug 687222 "Raster depends on bands".
This is a continuation for
http://www.ghostscript.com/pipermail/gs-cvs/2004-January/003986.html

This patch defines a configuration flag BAND_INDEPENDENT.
The enabled code should be equivalent to the old one.
The disabled code passes band-independent data for low level functions.
The disabled code is not debugged yet.

EXPECTED DIFFERENCES :

None.

[src/gxfilltr.h src/gxfillts.h src/gxfill.c]

2004-03-05T05:37:32.000000Z Ralph Giles

Remove a debug tracing message.

[src/sjpx.c]

2004-03-04T22:50:39.000000Z Ralph Giles

Add support for our whitelist keyword filter to the regression run.

[toolbin/tests/run_nightly]

2004-03-04T22:34:56.000000Z Ralph Giles

Improve wording in the MSVC debug flag descriptions.

[doc/Make.htm]

2004-03-04T22:28:09.000000Z Ralph Giles

Improve wording in a comment.

[src/msvc32.mak]

2004-03-04T16:41:06.000000Z Igor Melichev

Fix : gs_function_is_monotonic computed an unused auxiliary result.

DETAILS :

Bug 687328 fn_is_monotonic_proc_t slows down ShadingType 1 in 3 times

The function fn_is_monotonic_proc_t computes a result consisting of 2 things :
(1) whether the function is monotonic, (2) if so, whether it is encreesing or
decreesing. The part (2) consumes a huge time and never used. Intending to
cancel it. On necessity clients can compute (2) by calling 'evaluate'.


EXPECTED DIFFERENCES :

Clarke Tate Manns Chinese.ai
STEUER-RollingMesh 1(linear).ai

[src/gsfunc0.c src/gsfunc3.c src/gsfunc.h]

2004-03-04T16:27:26.000000Z Igor Melichev

Fix (pdfwrite) : Reject encryption options if no password is specified, improved.

DETAILS :

Bug 687334 "pdfwrite: Encryption with no password".

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-03-04T16:13:26.000000Z Igor Melichev

Fix : "KeyLength" option name was misspelled in the documentation.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm]

2004-03-04T16:13:15.000000Z Igor Melichev

Fix (pdfwrite) : Reject encryption options if no password is specified.

DETAILS :

Bug 687334 "pdfwrite: Encryption with no password".

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-03-04T15:50:11.000000Z Igor Melichev

Fix (pdfwrite) : Floating point aritmetic applied to uninitialized data.

DETAILS :

Rather the result was not used, the oprtation could cause floating point interrupts.
Debugged with test-setweightvector.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdte.c]

2004-03-04T14:34:15.000000Z Igor Melichev

Fix (TT grid fitting) : The glyph trailing moveto got wrong coordinates.

DETAILS :

Advance width was scaled wrongly.

EXPECTED DIFFERENCES :

japan.ps
S2_Digitalproof-Forum_x3k.pdf
Testform.v1.0.2.pdf

[src/gxttfb.c src/ttfmain.c]

2004-03-04T05:06:38.000000Z Dan Coby

Implementation of 687326 Enhancement: Handling of PDF 1.5encryption.

DETAILS:

The PDF 1.5 specification has added several some features for
encryption of PDF documents.

1.  The new encryption changes are indicated by a /R value of
4 in the Encryption dictionary.  Note:  The encryption algorithm
is the same as /R = 3.

2.  The encryption handling for strings and streams may now be
specified independently.  Current possibilities are 'Identity'
and the standard handler.

Note:  There are more encryption features in the PDF 1.5 specification.
HowevertThe only means that I have for generating test files for these
new encryption features is Acrobat 6.0.  This patch will decode files
which are encrypted using Acrobat 6.0.  There is one more feature
(EncryptMetaData) which will be the subject of a separate patch.
Between the features covered by the current patch and the EncryptMetaData
patch, this includes all of the capabilities that are available to a user
of Acrobat 6.0.  Since Acrobat 6.0 is the major producer of files with
these new encryption features, Ghostscript will have the ability to
decrypt files which we are likely to see in the near future.

[lib/pdf_sec.ps]

2004-03-03T13:53:11.000000Z Igor Melichev

Fix : Shading could cause a floating point exception.

DETAILS :

It caused an a floating point interrupts if they are unmasked.
The problem in gxshade6.c apeared with NEW_SHADINGS with ppmraw -r72 050-01.ps .
The problem in gxshade1.c ln 638 apeared with NEW_SHADINGS with ppmraw -r72 "STEUER-RollingMesh 2*.ai" .
Another one looks as a long standing bug with ppmraw -r72 442-01.ps

EXPECTED DIFFERENCES :

None.

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

2004-03-03T10:10:50.000000Z Igor Melichev

Fix (TT grid fitting) : AlignToPixels=0 aligned to pixels.

DETAILS :

Bug 687318 'A poor TT grid fitting with TextAlphaBits>1".
This patch doesn't close the bug.
An StdHW, StdVW reconstruction is necesseary for perfect result.
AlignToPixels=0 still gives a varying stem width.

EXPECTED DIFFERENCES :
None.

[src/gxttfb.c]

2004-03-03T08:16:35.000000Z Igor Melichev

Fix (type 1 hinter) : small resolutions caused a rangecheck.

DETAILS :

Bug 687301 "/limitcheck in --.type42execchar-- at 13 dpi".
When CTM is too small, its rational representation
appears degenerate, and we pass the character with no hinting.

EXPECTED DIFFERENCES :
None.

[src/gxhintn.c]

2004-03-03T05:14:53.000000Z Dan Coby

Fix for 687274 White areas appear shaded.

DETAILS:

This 'problem' is caused by a 'feature'.  The high resolution transfer
function  deliberately has a piece of logic that forces any shade of gray
that is not pure white (i.e. greater than 0.998) to halftone with at
least one pixel being set in the output.  This keeps nearly white shades
from being washed out.

We have seen several instances in which this 'feature' causes a problem.
The fax output format tiffg4 has been bitten by this problem since it is
commonly used at 204 dpi.

This change removes this feature.

[lib/gs_init.ps]

2004-03-02T11:47:27.000000Z Igor Melichev

Improving the MSVC debug build options.

DETAILS :

1. The implementation of switches DEBUG and TDEBUG
   in msvc32.mak did not comply to their explanation in comments.
   Bug 687276 "mscv32.mak : DEBUG and TDEBUG don't comply to documentation"

2. Defined a new switch DEBUGSYM :
+ # Setting DEBUGSYM=1 is only useful with TDEBUG=0 for advanced developers.
+ # It includes symbol table information for the debugger to the release build.

3. Updated doc\Make.htm about that.

EXPECTED DIFFERENCES :
None.

[doc/Make.htm src/msvccmd.mak src/msvc32.mak]

2004-03-02T10:14:46.000000Z Igor Melichev

Fix (pdfwrite) : Errors were missed processing a shading data stream.

DETAILS :

Bug 687307 "A ShadingType 7 differs from Adobe."
shade_next_flag interpreted a wrong data as End-Of-Data,
so that some wrong documents were passed with no error.

Now pdfwrite handles the bad shading data exception separately from
other errors:  the shading is fully written and the error is signaled
to the PS interpreter after that. Note that other errors terminate immediately
with inconsistent data written to the PDF output. We did the special
processing to provide a better conformity to some buggy Genoa tests,
which paint a shading with a wrong data in a stopped context.

Besides that, we cancelled the default implementation fallback
when pdf_setfillcolor fails. The old implementation caused
shadings to convert into a huge set of rectangles written to PDF.
We believe that signalling an error is the right reaction for this case.

EXPECTED DIFFERENCES :

pdfwrite :
446-01.ps now prints error message to the raster. This is a progression.
483-05.ps now prints error message to stdout. This is a progression.

[src/gdevpdfd.c src/gdevpdfv.c src/gdevpdfg.c]

2004-03-02T08:34:47.000000Z Igor Melichev

Fix : Errors were missed processing a shading data stream.

DETAILS :

Bug 687307 "A ShadingType 7 differs from Adobe."
shade_next_flag interpreted a wrong data as End-Of-Data,
so that some wrong documents were passed with no error.

With pdfwrite the logic is different, and we didn't fix it.

EXPECTED DIFFERENCES :

446-01.ps now prints error message to the raster. This is a progression.
483-05.ps now prints error message to stdout. This is a progression.

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

2004-03-01T23:59:01.000000Z Igor Melichev

A new implementation of shadings, step 42.

DETAILS :

Big triangle meshes could overflow wedge_vertex_list_elem_buffer.
See comment in code.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-03-01T12:39:22.000000Z Igor Melichev

A new implementation of shadings, step 41, release candidate 2.

DETAILS :

Implemented intersection_of_small_bars with int64_t,
and improved the documentation about it.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-03-01T10:44:37.000000Z Igor Melichev

A new implementation of shadings, step 40.

DETAILS :

1. Improved various constraints for patch size,
   which are caused by the arithmetic precision.
   Now all them are collected in curve_samples.

2. Improved the documentation about secondary branches.

3. Fixed minor bugs in secondary branches.

3. Improved the formatting with easier distinguishing
   a multiplication " * x" from dereferencing " *x".
   It was important for finding arithmetic constraints.

EXPECTED DIFFERENCES :

SmoothShading.pdf at 300dpi.

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

2004-02-29T16:59:14.000000Z Igor Melichev

A new implementation of shadings, step 39.

DETAILS :

The previous patch appears wrong. This one replaces it.

Fixed the order of painting pixels : U and V were exchanged.
Debugged with examples attached to the bug 687307.

Besides that, the smoothness condition is changed :
the case with strong equality must not decompose.
A special test for this is 478-01.ps -
now it is decomposed with monotonic intervals only.


EXPECTED DIFFERENCES :

Since the previous patch appears wrong,
here is a difference from a revision before it :

446-01.ps
478-01.ps
483-05.ps
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 3(Final).ai

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

2004-02-29T14:47:32.000000Z Igor Melichev

A new implementation of shadings, step 38.

DETAILS :

Fixed the order of painting pixels : U and V were exchanged.
Debugged with examples attached to the bug 687307.

EXPECTED DIFFERENCES :

72dpi :

442-01.ps
446-01.ps
464-01.ps
478-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
chilis_red.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

300dpi:

289-01.ps
442-01.ps
446-01.ps
464-01.ps
478-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
chilis_red.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
Openhuis_pdf_zw.pdf
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

[src/gxshade6.c]

2004-02-29T13:03:51.000000Z Igor Melichev

A new implementation of shadings, step 37.

DETAILS :

Fixed a bug in LAZY_WEDGES 1 :
fill_wedge_from_list_rec missed non-leaf triangles.

Also defined dbg_wedge_triangle_cnt for debug purpose.

EXPECTED DIFFERENCES :

72dpi :

446-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 3(Final).ai

300dpi:

442-01.ps
446-01.ps
464-01.ps
478-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai

[src/gxshade6.c]

2004-02-28T12:30:05.000000Z Igor Melichev

A new implementation of shadings, step 36.

DETAILS :

Implemented lazy wedges : do not create a wedge,
if both neighbours of a line were divided at same point.
It reduces the number of constant color triangles to fill.

Since this algorithm consumes an exponential RAM of the wedge nesting,
we restrict the wedge nesting with 9. For doing that we enforce
subdivision of large patches into chunks with <=512 pixels length sides
- see LAZY_WEDGES_MAX_LEVEL.

EXPECTED DIFFERENCES :

72dpi :
289-01.ps
442-01.ps
446-01.ps
464-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 3(Final).ai

300dpi:
442-01.ps
446-01.ps
464-01.ps
478-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

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

2004-02-27T09:24:23.000000Z Igor Melichev

A new implementation of shadings, step 35.

DETAILS :

1. Improving the filling order for self-overlapping patches.
The old code filled them wrongly (a bug).
This patches fixes that.
With self-overlapping patches the new code is slower.

2. Improved the numeric error processing in intersection_of_big_bars.
With negative bars the old code could give a bias in fixed_1,
rather negative bars probably never come here.

EXPECTED DIFFERENCES :

442-01.ps
446-01.ps
464-01.ps
478-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
chilis_red.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

[src/gxshade6.c]

2004-02-26T20:55:56.000000Z Igor Melichev

A new implementation of shadings, step 34.

DETAILS :

Improving the ShadingType 1 with applying the generic algorithm.
The generic algorithm is extended for 2-argument functions.

Also fixing the configuration switch DIVIDE_BY_PARALLELS,
which was unintentionally set to 1 by the previous patch.

EXPECTED DIFFERENCES :

289-01.ps
442-01.ps
446-01.ps
464-01.ps
478-01.ps
483-01.ps
483-05.ps
gradmesh.ai

[src/lib.mak src/gxshade4.h src/gxshade.c src/gxshade1.c src/gxshade4.c src/gxshade6.c]

2004-02-26T20:10:04.000000Z Ray Johnston

Revert to the correct version of gs_setpd.ps and Use.htm.

DETAILS:

A local CVS problem resulted in an update from a directory that did not
have the changes, causing me to think that the files needed to be
updated, but instead removed the previous update. What a mess!

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

2004-02-26T19:55:16.000000Z Igor Melichev

Fix : A bug in fn_Sd_is_monotonic.

DETAILS :

Monotonic intervals were computed wrongly due to
a wrong cell boundary condition. With no Encode
it overestimated the number of cells in 1.

This patch also extends fn_Sd_is_monotonic for multi-argument functions.
Actually it checks whether both points are within same cell.
This is fine with linear functions,
but for 3d order we would like to check for zero derivatives
within the interval specified by 2 vectors.

EXPECTED DIFFERENCES :

300dpi:

442-01.ps
483-01.ps

[src/gsfunc0.c]

2004-02-26T07:18:57.000000Z Igor Melichev

A new implementation of shadings, step 33.

DETAILS :

Improves the performance of radial shadings :

For a faster painting, we apply fill adjustment to outer annula only.
Inner annula are painted with no fill adjustment.
It can't cause a dropout, because the outer side of an annulus
gets same flattening as the inner side of the neighbour outer annulus.

For other shadings this chande is algorithmically equivalent.

EXPECTED DIFFERENCES :

A minor difference with axial shadings :
442-01.ps
446-01.ps
483-01.ps
483-05.ps
Altona-Testsuite_p2_S_x3.pdf
Clarke Tate Manns Chinese.ai
gradmesh.ai
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 2(radial).ai
STEUER-RollingMesh 3(Final).ai

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

2004-02-25T20:38:06.000000Z Russell Lang

Fixes bug 687317.
Fix pdfwrite allowable Permissions for EncryptionR=2.
Fix default Permissions.

DETAILS:
The code was assuming that the extra permissions should be 0's,
when in fact they should be 1's.  The fixed code is a bit more
conservative and requires that all reserved bits match the PDF
specification. Set the default permissions to -4 which allows
everything.

[src/gdevpdf.c]

2004-02-25T20:37:33.000000Z Ray Johnston

Clean up dict stack after loading an embedded Type1 font from a PDF file.
While the font is buggy, Adobe doesn't complain. Bug #687315.

[lib/pdf_font.ps]

2004-02-25T20:35:20.000000Z Ray Johnston

Add an option to prevent the 'range' type PageSize from being added to the
InputAttribute dictionary. This option is useful for printers that want the
requested pages to be rotated to fit one of the available page sizes.
Option is -dNORANGEPAGESIZE. Fix for bug #629335.

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

2004-02-25T16:21:36.000000Z Igor Melichev

A new implementation of shadings, step 32.

DETAILS :

1. Implemented axial shading with a Coons patch.
   It gives more regularity with area decomposition and trapping.

2. Optimized tensor shadings for the case when the gradient is
   parallel to the quadrangle sides.

Note that the old code applies 1/2 pixels fill adjustment when
painting stripes of the shading, generating overlapped stripes.
Instead that the new code generates non-overlapping stripes,
and applies a trapping emulation at the shading boundaries with 1/8 pixels.

EXPECTED DIFFERENCES :

A minor difference with axial shadings :
442-01.ps
446-01.ps
464-01.ps
483-01.ps
483-05.ps
BEST8-99-Path.fh7.pdf
chilis_black.pdf
chilis_red.pdf
gradmesh.ai
Openhuis_pdf_zw.pdf
SmoothShading.pdf
STEUER-RollingMesh 1(linear).ai
STEUER-RollingMesh 3(Final).ai
Testform.v1.0.2.pdf

An area shift in Testform.v1.0.2.pdf at 72dpi appears due to
the fill adjustment is replaced with the trapping emulation.

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

2004-02-24T22:27:06.000000Z Jack Moffitt

Add support for specifying CVS repository location, which requires a
new configuration key, 'gsconf.repodir'.

[toolbin/tests/testing.cfg.example toolbin/tests/update_specific]

2004-02-24T22:20:20.000000Z Jack Moffitt

Script to update baselines for a specific CVS version of Ghostscript.

The script requires a new configuration key, 'gsconf.fontdir'.

[toolbin/tests/testing.cfg.example toolbin/tests/update_specific]

2004-02-24T19:07:39.000000Z Igor Melichev

A new implementation of shadings, step 31.

DETAILS :

1. Removed an undefined macro call (a portability bug).

2. Disabled some unused functions.

EXPECTED DIFFERENCES :

None.

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

2004-02-24T18:57:57.000000Z Igor Melichev

A new implementation of shadings, step 30.

DETAILS :

1. Triangle meshes were passed to the rasterizer with no color resolved.
   It is assumed to be resolved in advance (a bug).

2. Improved external names with adding a scope prefix.

EXPECTED DIFFERENCES :

None.

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

2004-02-24T12:12:50.000000Z Igor Melichev

A new implementation of shadings, step 29 - release candidate 1.

DETAILS :

Switching to the new implementation.
It fixes a number of bugs, works 2.5 times faster and produces a better view.
Also documented secondary development branches.

Bug 687291 "problems in patch_fill".
Bug 687310 "Wrong color interpolation with ShadingType 4,5.".

EXPECTED DIFFERENCES :

446-01.ps
483-05.ps

[src/gxshade4.h]

2004-02-24T11:58:23.000000Z Igor Melichev

A new implementation of shadings, step 28.

DETAILS :

Removing debug helpers.

EXPECTED DIFFERENCES :

None.

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

2004-02-24T11:50:38.000000Z Igor Melichev

A new implementation of shadings, step 27.

DETAILS :

It simplifies visual trace commands with the new macros.

EXPECTED DIFFERENCES :

None.

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

2004-02-24T11:43:26.000000Z Igor Melichev

Improving the visual trace macros.

DETAILS :

It defines a raugh implementation for a temporary trace disabling.

EXPECTED DIFFERENCES :

None.

[src/vdtrace.h]

2004-02-24T11:08:56.000000Z Igor Melichev

A new implementation of shadings, step 26.

DETAILS :

This patch changes a disabled code only.
It fixes a bug computing ku[3], which missed some wedges,
and improves some visual trace commands.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-24T09:57:13.000000Z Igor Melichev

A new implementation of shadings, step 25.

DETAILS :

This patch changes a disabled code only.
This change is algorithmically equivalent.
During a trianglulation it avoids redundant computation
of the color span and the triangle size.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-24T09:28:35.000000Z Igor Melichev

A new implementation of shadings, step 24.

DETAILS :

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-February/004243.html
unintentionally switched on the new code.
Now switching it back to the old one.

EXPECTED DIFFERENCES :

None.

[src/gxshade4.h]

2004-02-24T09:08:34.000000Z Igor Melichev

A new implementation of shadings, step 23.

DETAILS :

This patch changes a disabled code only.

1. Wedges were missed in triangle_by_4.
2. Improved a debug mode in gxshade4.c .
3. Fixed cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

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

2004-02-24T08:14:25.000000Z Igor Melichev

A new implementation of shadings, step 22.

DETAILS :

This patch changes a disabled code only.
It implements a division of a quadrangle into 4 triangles,
like the old code does. It doesn't change the performance
and the view appears slightly better. This mode is useful with
DIVIDE_BY_PARALLELS 0.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-24T07:58:42.000000Z Igor Melichev

A new implementation of shadings, step 21.

DETAILS :

This patch changes a disabled code only.
It implements a division of a triangle into 4 triangles,
like the old code does. This appears some slower, but
gives a better view when the smooothness is smaller
than the color resolution.

Minor changes :

- Implemented VD_TRACE_DOWN to gxshade6.c;
- Changed some visual trace commands;
- COLOR_CONTIGUITY specifies a coefficient for divide_triangle_by_parallels.

EXPECTED DIFFERENCES :

None.

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

2004-02-23T20:41:53.000000Z Ralph Giles

Check for local jpeg library source by looking for the jpeglib.h header
rather than just the jpeg directory. Also try looking for jpeg-6b if the
jpeg fails; this lets us find the source as it unpacks from the upstream
tarball. Patch from ESP Ghostscript.

[src/configure.ac]

2004-02-23T03:07:03.000000Z Ray Johnston

Add a parameter which prevents the non-standard four element PageSize
entry in the InputAttributes from being included. This prevents problems
with PostScript programs that examine the InputAttributes entries in an
attempt to pick the 'best fit' rather than relying on the setpagedevice
logic. Also most 'real' printer devices don't support arbitrary page
sizes, so automatic rotation is defeated if the range type page size
in included. The option is -dNORANGEPAGESIZE. Bug #629335.

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

2004-02-23T01:44:25.000000Z Ray Johnston

Add the path to the code directory (gsconf.codedir) for invocation of the
update_baseline/update_pdfbaseline.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_pdfwrite.py]

2004-02-22T23:54:17.000000Z Ralph Giles

Initial implementation of the JPXDecode filter using the JasPer library
for decoding the JPEG 2000 data. This version only implements a
postscript-level filter; PDF support will follow in another commit.

DETAILS:

A new FEATURE_DEV, 'jpx.dev', is added to the makefile to enable
support. The jasper library must be available to link with in this case.
The library is autodetected in the autoconf build, but not yet enabled
on other platforms.

The implementation leaves a little to be desired. While JasPer is
robust, it provides no way to connect its internal stream architecture
to ours, so we end up buffering all the data. This seems to be the best
we can do without modifying the library.

We try to handle data from a number of colorspaces, but the spec is a
little vague on what is required. We convert YUV to RGB internally, but
do not handle sub-sampled planes.

[src/lib.mak src/int.mak src/Makefile.in src/zfjpx.c src/configure.ac src/sjpx.c src/sjpx.h]

2004-02-22T15:11:29.000000Z Igor Melichev

A new implementation of shadings, step 20.

DETAILS :

This fixes an unintentional regression in gxshade4.c,
which appeared from a recent patch.
Also it optimises the access to pis->smoothness.

EXPECTED DIFFERENCES :

None.

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

2004-02-22T14:14:16.000000Z Igor Melichev

A new implementation of shadings, step 19.

DETAILS :

This change is algorithmically equivalent.
It simplifies internal interfaces with the new type quadrangle_patch.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-22T13:06:13.000000Z Igor Melichev

A new implementation of shadings, step 18.

DETAILS :

This change is algorithmically equivalent.
It simplifies the interface of fill_triangle_wedge.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-22T10:59:52.000000Z Igor Melichev

A new implementation of shadings, step 17.

DETAILS :

This change is algorithmically equivalent.
It simplifies intermodule interfaces with using
shading_vertex_t instead a pair of a point and a color.

EXPECTED DIFFERENCES :

None.

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

2004-02-22T09:43:44.000000Z Igor Melichev

A new implementation of shadings, step 16.

DETAILS :

This patch changes a disabled code only.
In the disabled code it fixes the bug 687310
"Wrong color interpolation with ShadingType 4,5.".
In the old code the interpolation is still done in the color space rather than
in the function domain.

EXPECTED DIFFERENCES :

None.

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

2004-02-21T18:25:31.000000Z Igor Melichev

A new implementation of shadings, step 15.

DETAILS :

This patch changes a disabled code only.
Optimized the patch decomposition.

1. Triangles are divided along the color gradient.
   Since the color gradient is vector, actually we divide
   along the gradient of the Manhattan"s color norm.

2. Rectangles are divided into 2 triangles by the diagonal
   with smaller color difference.

3. Improved conditions for compiling wedge_buf.

4. Implemented VD_TRACE_TRIANGLE_PATCH.

This revision appears faster than the old code NEW_SHADINGS 0
in about 1.4 times.

A code optimization is wanted. See "fixme" comments.

EXPECTED DIFFERENCES :

None.

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

2004-02-20T15:04:59.000000Z Igor Melichev

A new implementation of shadings, step 14.

DETAILS :

This patch changes a disabled code only.
Optimized the trapping emulation.

EXPECTED DIFFERENCES :

None.

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

2004-02-20T13:58:18.000000Z Igor Melichev

A new implementation of shadings, step 13.

DETAILS :

1. Aplied the new triangulation to triangle meshes.
2. Enhanced the scope of configuration flags and some structures.
3. Improved visual trace commands.

The trapping emulation appears too slow and should be optimized.

EXPECTED DIFFERENCES :

None.

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

2004-02-20T10:53:39.000000Z Igor Melichev

Fix : Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-20T10:51:36.000000Z Igor Melichev

A new implementation of shadings, step 12.

DETAILS :

1. Emulated an interpatch trapping for poorly designed documents -
   see 'padding', 'interpatch_padding', 'inpatch_wedge'.
2. Improved some debug helpers (TENSOR_SHADING_DEBUG 1).
3. Removed some unused variables.
4. Improved some comments and C-style.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-20T06:46:30.000000Z Dan Coby

Fix for 687279 Linker warnings with Visual Studio 6 and .NET 2003.
The changes consist of removing the keyword INITINSTANCE from the def
files.  The DESCRIPTION lines are changed to a comment and put at the
beginning of the files.

[src/dw32c.def src/dwmain32.def src/dwmain16.def src/gsdll32.def src/dwsetup.def src/dwuninst.def]

2004-02-20T00:04:52.000000Z Igor Melichev

A new implementation of shadings, step 11.

DETAILS :

Simplified wedges with wedge_by_triangles.
It makes a big part of the code to be unused with
NEW_TENSOR_SHADING 1 QUADRANGLES 0 POLYGON_WEDGES 0.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-19T20:05:46.000000Z Igor Melichev

A new implementation of shadings, step 10.

DETAILS :

1. Implemented a decomposition by triangles.
2. Applied restrict_color to colors, to avoid lots of pieces
   then basic color values are significantly out of range.
   The 483-07 box of 483-05.ps contains such shadings.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-19T11:32:12.000000Z Igor Melichev

A new implementation of shadings, step 9.

DETAILS :

1. Inserted some visual trace instructions in the old algorithm.
2. Moved configurations macro definitions upper, to use them in the old code.
3. Remaned NEW_TENSOR_SHADING_DEBUG with TENSOR_SHADING_DEBUG.
4. In the new code fixed the wedge color.
5. Improved the decomposition of bended patches.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-19T11:21:52.000000Z Igor Melichev

Improving visual trace macros.

DETAILS :

This patch implements a nesting of trace allowing conditions
specified in different modules, and applies it to the filling algorithm.

EXPECTED DIFFERENCES :

None.

[src/vdtrace.h src/gxfill.c]

2004-02-19T07:44:23.000000Z Igor Melichev

Simplifying the filling algorithm, step C22.

DETAILS :

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-February/004127.html
appears incomplete. This one fixes that.

Bug 687306 "CVS head crashes with pkmraw, 300 dpi, with recent changes."

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-18T15:05:45.000000Z Igor Melichev

A new implementation of shadings, step 8.

DETAILS :

This patch changes a disabled code only.

1. is_curve_small uses a better thresholds.
2. is_xy_monotonic_by_v was wrong. Replaced with is_bended.
3. Optimized wedge_trap_decompose.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-18T15:00:29.000000Z Igor Melichev

Improving the filling algorithm, step D8.

DETAILS :

Removed floating point arithmetics, which recently appeared by a hack.
A rounding is now done slightly different.

EXPECTED DIFFERENCES :

Normal, 72 dpi :

LD.pdf

Normal, 300 dpi :

012-01.ps
012-05.ps
013-05.ps
032-01.ps
123-01.ps
123-05.ps
205-01.ps

pdfwrite, 72 dpi :

LD.pdf


pdfwrite, 300 dpi :

123-01.ps
123-05.ps
169-13.ps

[src/lib.mak src/gxfill.c]

2004-02-18T14:41:50.000000Z Igor Melichev

Fix: Documented rounding formulas in the character processing.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c src/fapiufst.c src/ttfmain.c]

2004-02-18T09:54:13.000000Z Igor Melichev

Fix (pdfwrite) : Converting an image type 4 into imagemask, a wrong color was written.

DETAILS :

This problem was discovered with ghostpcl and owlfoo.pcl from Stefan.
Thanks to Stefan for detecting it.

This fix is kinda hacky. Let it live for a while, because we want to
study its consequences before applying more efforts.
A right fix should not modify the interpreter graphic state,
but we have no a 'const' copy function for gs_state,
because gx_gstate_clone shares imager state parts.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfi.c]

2004-02-18T05:35:05.000000Z Dan Coby

Add '!ifndef'/'endif' around varaious parameters in the makefile for the
Borland compiler (bcwin32.mak).  This allows the parameters to be specified
on the command line without editting the makefile.

[src/bcwin32.mak]

2004-02-17T15:12:40.000000Z Igor Melichev

Fix : MSVC7 wrongly optimizes zpcolor.c .

DETAILS :

It's an aliasing problem in the optimizer.
See comment in code.

EXPECTED DIFFERENCES :

None.

[src/int.mak src/zpcolor.c]

2004-02-16T16:29:47.000000Z Igor Melichev

Improving the filling algorithm, step D7.

DETAILS :

When filling an individual trapezoid, a shortcut
for parallelograms could miss some pixels.

When the left boundary rounds to a vertical line
and the right one does not, for the right boundary it
wrongly applied same zero sampling as for the left one,
in spite of the right boundary can cross pixel centers.

We realize that the shortcut could improve a view
of some parallelograms. But in same time we detected that
in alphabet.ps with 72dpi a parallelogram was replaced
with a wider one, causing a worse view of the character '#'.
So its usefullness is arguable.

Both features can't provide simultaneousely
due to the device interface can't pass a flag whether
an exact coverage is required.
Therefore we drop the shortcut.

EXPECTED DIFFERENCES :

normal 72dpi :

020-01.ps
175-01.ps
1_2001.pdf
289-01.ps
446-01.ps
483-05.ps
86554321.pdf
acrobat.pdf
ADOBE1-4.pdf
alphabet.ps
Altona.Page_3.2002-09-27.pdf
chess.ps
dina3_watermark.pdf
kazmir.pdf
PixelisAd.pdf
RealCities.pdf
spec_gs.pdf
spec_gv.pdf
test.pdf
vsem0093.pdf
xes2ps-problem.pdf
xgfddg.pdf

normal 300dpi :

001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
adesso3.pdf
adesso5.pdf
adesso7.pdf
AdobeLic.pdf
alphabet.ps
Altona.Page_3.2002-09-27.pdf
besttest.pdf
brochurep1.pdf
bugsample.pdf
ca.pdf
CAIB_highres_page4.pdf
chess.ps
dave.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
file.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
japan.ps
kazmir.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
kshow_with_grestore.ps
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
ngnews.pdf
ngnews1.pdf
Openhuis_pdf_zw.pdf
pdftops.pdf
prfmm.pdf
prob.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
test.pdf
test2.pdf
test2a.pdf
textsavematrix.pdf
type42_glyph_index.ps
waterfal.ps
xgfddg.pdf
xngnews.pdf



pdfwrite 72 dpi :

020-01.ps
175-01.ps
1_2001.pdf
446-01.ps
483-05.ps
86554321.pdf
acrobat.pdf
ADOBE1-4.pdf
alphabet.ps
Altona.Page_3.2002-09-27.pdf
chess.ps
kazmir.pdf
PixelisAd.pdf
RealCities.pdf
spec_gs.pdf
spec_gv.pdf
test.pdf
vsem0093.pdf
xes2ps-problem.pdf
xgfddg.pdf


pdfwrite 300 dpi :

001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
adesso3.pdf
adesso5.pdf
adesso7.pdf
AdobeLic.pdf
alphabet.ps
Altona.Page_3.2002-09-27.pdf
besttest.pdf
brochurep1.pdf
bugsample.pdf
ca.pdf
CAIB_highres_page4.pdf
chess.ps
dave.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
file.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
japan-.ps
japan.ps
kazmir.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
kshow_with_grestore.ps
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
ngnews.pdf
ngnews1.pdf
Openhuis_pdf_zw.pdf
pdftops.pdf
prfmm.pdf
prob.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
test.pdf
test2.pdf
test2a.pdf
textsavematrix.pdf
tpc2.ps
type42_glyph_index.ps
waterfal.ps
xgfddg.pdf
xngnews.pdf

[src/gxdtfill.h]

2004-02-16T15:26:18.000000Z Igor Melichev

A new implementation of shadings, step 7.

DETAILS :

Documenting the current state of the development,
because we need to delay the project.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-16T15:06:52.000000Z Ralph Giles

Adapt makefile support for compiling in zlib to support v1.2.x rather
than 1.1.x. Linking to a shared version is unaffected.

DETAILS:

The zlib source was re-arranged from the 1.1.4 to the 1.2.x releases.
While binary compatibility was maintained, and we link just fine to a
separately build dynamic zlib, our custom makefile support for compiling
in the library source no longer works.

Rather than add a 'ZLIB_VERSION' makefile variable and the attendent
configuration costs, we've simply migrated completely to the new (much
faster) 1.2.x series. 1.2.1 is now the minimum version to be used if you
wish to compile zlib as part of Ghostscript.

[doc/Make.htm src/zlib.mak]

2004-02-16T13:51:48.000000Z Igor Melichev

Improving the filling algorithm, step D6.

DETAILS :

The algorithm for for filling an individual trapezoid
used a wrong formula when rounding a coordinate to pixel index.

An intersection of a trapezoid boundary with a scanline
is represented as a rational value, in which the fraction
represent a part of an unit of 'fixed'.
Computing a pixel index, the fraction was ignored.
Due to that the spot sides were biased into about 1/256 pixels.

The bias appears important when some trapezoids are fixed with
swapped coordinate axes, because the bias appears in an opposite
direction to one with unswapped axes. Therefore a decomposition
of a shading missed pixels, which fall exactly into the biased
boundary, causing a dropout.

Here is the analyzis of the old rounding :

We must paint pixels with index i such that

    Xl <= i + 0.5 < Xr

The condition is is equivalent to

    Xl - 0.5 <= i < Xr - 0.5

which is equivalent to

    (is_integer(Xl - 0.5) ? Xl - 0.5 : ceil(Xl - 0.5)) <= i <
    (is_integer(Xr - 0.5) ? Xr - 0.5 : floor(Xr - 0.5) + 1)

(the last '+1" happens due to the strong comparizon '<')
which is equivalent to

    ceil(Xl - 0.5) <= i < ceil(Xr - 0.5)

trap_line represents the intersectiion coordinate as a rational value :

    Xl = xl + e - fl
    Xr = xr + e - fr

gxdtfill.c computes l.x = x0l + (fixed_half - fixed_epsilon).
In our notation it is equal to :

    xl' := xl + 0.5 - e
    xr' := xr + 0.5 - e

Then

    xl = xl' - 0.5 + e
    xr = xr' - 0.5 + e

    Xl = xl' - 0.5 + 2e - fl
    Xr = xr' - 0.5 + 2e - fr

    ceil(xl' - 0.5 + 2e - fl - 0.5) <= i < ceil(xr' - 0.5 + 2e - fr - 0.5)

which is equivalent to

    ceil(xl' + 2e - fl) - 1 <= i < ceil(xr' + 2e - fr) - 1

We have :

    ceil(xl' + 2e - fl) - 1 ==

    (is_integer(xl' + 2e - fl) ? xl' + 2e - fl - 1 : ceil(xl' + 2e - fl) - 1) ==

    (is_integer(xl' + 2e - fl) ? xl' + 2e - fl - 1 : floor(xl' + 2e - fl))

Since -e <= fl < 0, it is equal to

    (is_integer(xl' + e) && e == fl ? xl' + 2e - fl - 1 : floor(xl' + 2e - fl)) ==

    (is_integer(xl' + e) && e == fl ? xl' + e - 1 :
     is_integer(xl' + e) && e != fl ? floor(xl' + 2e - fl)
    !is_integer(xl' + e) && e != fl ? floor(xl' + 2e - fl)
    !is_integer(xl' + e) && e == fl ? floor(xl' + 2e - fl))  ==

    (is_integer(xl' + e) && e == fl ? xl' + e - 1 :
     is_integer(xl' + e) && e != fl ? xl' + e :
    !is_integer(xl' + e) && e != fl ? floor(xl' + e)
    !is_integer(xl' + e) && e == fl ? floor(xl' + e))  ==

    (is_integer(xl' + e) && e == fl ? xl' + e - 1 : floor(xl'))

And the condition is equivalent to

    (is_integer(xl' + e) && e == fl ? xl' + e - 1 : floor(xl')) <= i <
    (is_integer(xr' + e) && e == fr ? xl' + e - 1 : floor(xr'))

But the old code computes

    floor(xl') <= i < floor(xr'))

Thus when is_integer(xl' + e) && e == fl,
it wrongly shifts the rounded boundary in 1 pixel to the left.

EXPECTED DIFFERENCES :

Almost all tests render differently.

Normal 72 dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
BEST8-99-Path.fh7.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
Bug687207.ps
bugsample.pdf
bulletin.pdf
BW0696FOLD1FRONT.pdf
ca.pdf
CAIB_highres_page4.pdf
CAT_LOGO.ps
ccc.pdf
chess.ps
chilis_black.pdf
chilis_red.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
doretree.ps
Es001-01.pdf
escher.ps
Faktura.pdf
file.pdf
file2.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
font_issue.pdf
frosch.pdf
golfer.eps
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
Jahr2000.pdf
japan.ps
john_clippedimage.pdf
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
KozukaB-ILEmbed.pdf
kshow_with_grestore.ps
laballade.pdf
LD.pdf
LMG-40-7161-RU-DUC-01.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
motor.pdf
mspro.pdf
muur.eps
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
Page01.pdf
pdfopt_bug.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
rotate0.pdf
rotate270.pdf
S2_Digitalproof-Forum_circles.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
si_tg_brochure.pdf
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf
Testform.v1.0.2.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
two_encodings.ps
type2accent.pdf
type3xshow.eps
type42_glyph_index.ps
unihaken-color.pdf
vasarely.ps
vsem0093.pdf
waterfal.ps
womanface.pdf
xgfddg.pdf
xngnews.pdf

normal, 300dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-02.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
BEST8-99-Path.fh7.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
Bug687156.ps
Bug687207.ps
bugsample.pdf
bulletin.pdf
BW0696FOLD1FRONT.pdf
ca.pdf
CAIB_highres_page4.pdf
ccc.pdf
chess.ps
chilis_black.pdf
chilis_red.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
doretree.ps
Encoding.ps
Es001-01.pdf
escher.ps
Faktura.pdf
file.pdf
file2.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
font_issue.pdf
foo.pdf
frosch.pdf
golfer.eps
gs.anotherfailure.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
GS_Stroke_error.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
InstandardBuildChar.ps
Jahr2000.pdf
japan.ps
john_clippedimage.pdf
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
korea.ps
KozukaB-ILEmbed.pdf
kshow_with_grestore.ps
laballade.pdf
LD.pdf
LMG-40-7161-RU-DUC-01.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
motor.pdf
muur.eps
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
non-sepqxd2distiller.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
Page01.pdf
pdfopt_bug.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
probe3.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
ridt91.eps
RodinCIDEmbed.pdf
rotate0.pdf
rotate180.pdf
rotate270.pdf
rotate90.pdf
S2_Digitalproof-Forum_circles.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
si_tg_brochure.pdf
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test-hyperref.pdf
test.pdf
test2.pdf
test2a.pdf
test3.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
two_encodings.ps
type2accent.pdf
type3xshow.eps
type42_glyph_index.ps
unihaken-color.pdf
UnusualFontMatrix.ps
vasarely.ps
vsem0093.pdf
Vu989qfj.pdf
waterfal.ps
womanface.pdf
xgfddg.pdf
xngnews.pdf

pdfwrite 72dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
BEST8-99-Path.fh7.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
Bug687207.ps
bugsample.pdf
bulletin.pdf
BW0696FOLD1FRONT.pdf
ca.pdf
CAIB_highres_page4.pdf
CAT_LOGO.ps
ccc.pdf
chess.ps
chilis_black.pdf
chilis_red.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
doretree.ps
Es001-01.pdf
escher.ps
Faktura.pdf
file.pdf
file2.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
font_issue.pdf
frosch.pdf
golfer.eps
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
Jahr2000.pdf
japan.ps
john_clippedimage.pdf
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
KozukaB-ILEmbed.pdf
kshow_with_grestore.ps
laballade.pdf
LD.pdf
LMG-40-7161-RU-DUC-01.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
motor.pdf
mspro.pdf
muur.eps
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
Page01.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
ridt91.eps
RodinCIDEmbed.pdf
rotate0.pdf
S2_Digitalproof-Forum_circles.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
si_tg_brochure.pdf
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf
Testform.v1.0.2.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
two_encodings.ps
type2accent.pdf
type3xshow.eps
type42_glyph_index.ps
unihaken-color.pdf
vasarely.ps
vsem0093.pdf
waterfal.ps
womanface.pdf
xgfddg.pdf
xngnews.pdf



pdfwrite, 300 dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-02.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
BEST8-99-Path.fh7.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
Bug687156.ps
Bug687207.ps
bugsample.pdf
bulletin.pdf
BW0696FOLD1FRONT.pdf
ca.pdf
CAIB_highres_page4.pdf
CAT_LOGO.ps
ccc.pdf
chess.ps
chilis_black.pdf
chilis_red.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
doretree.ps
Encoding.ps
Es001-01.pdf
escher.ps
Faktura.pdf
file.pdf
file2.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
font_issue.pdf
foo.pdf
frosch.pdf
golfer.eps
gs.anotherfailure.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
GS_Stroke_error.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
InstandardBuildChar.ps
Jahr2000.pdf
japan.ps
john_clippedimage.pdf
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
korea.ps
KozukaB-ILEmbed.pdf
kshow_with_grestore.ps
laballade.pdf
LD.pdf
LMG-40-7161-RU-DUC-01.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
motor.pdf
mspro.pdf
muur.eps
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
non-sepqxd2distiller.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
Page01.pdf
pdfopt_bug.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
probe3.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
ridt91.eps
RodinCIDEmbed.pdf
rotate0.pdf
rotate180.pdf
rotate270.pdf
rotate90.pdf
S2_Digitalproof-Forum_circles.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
si_tg_brochure.pdf
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test-hyperref.pdf
test.pdf
test2.pdf
test2a.pdf
test3.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
two_encodings.ps
type2accent.pdf
type3xshow.eps
type42_glyph_index.ps
unihaken-color.pdf
UnusualFontMatrix.ps
vasarely.ps
vsem0093.pdf
Vu989qfj.pdf
waterfal.ps
womanface.pdf
xgfddg.pdf
xngnews.pdf

[src/gxdtfill.h]

2004-02-16T09:47:46.000000Z Igor Melichev

Improving the filling algorithm, step D5.

DETAILS :

It's a preparation for fixing a problem while filling a single trapezoid.
This change improved a debug drawing.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h]

2004-02-16T09:13:12.000000Z Igor Melichev

A new implementation of shadings, step 6.

DETAILS :

The new code is disabled with NEW_TENSOR_SHADING 0.

1. Implemented a debug drawer draw_wedge.
2. dbg_nofill was not properly initialized.
3. Removed a debuging hack.
4. removed unused variables.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-16T09:10:32.000000Z Igor Melichev

Improving the filling algorithm, step D4.

DETAILS :

It's a preparation for fixing a problem while filling a single trapezoid.
This change is algorithmicaly equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h]

2004-02-16T08:21:15.000000Z Igor Melichev

Improving the filling algorithm, step D2.

DETAILS :

It's a preparation for fixing a problem while filling a single trapezoid.
This change is algorithmicaly equivalent.
It branches out the rectangle case and simplifies it.
Some macros are moved by necessity.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h]

2004-02-16T06:01:38.000000Z Dan Coby

Fix for 687294 psdcmyk device does not write resolution correctly to PSD
files.  This change adds a 'ResolutionInfo structure' into the 'Image
Resources' section of the output file.  This structure specifies the
horizontal and vertical resolution of the image.  (Note:  Adobe's support
of asymetric resolutions is poor.)

[src/gdevpsd.c]

2004-02-15T14:51:21.000000Z Igor Melichev

Fix: Improving the documentation (comments) about the filling algorithm, improved.

DETAILS :

The prevoius change to the comment appears wrong,
i.e. the old expression "x + xf/h + 1"
appears correct due to compute_ldx subtracts h from
the remainder but doesn't add 1 to the integer part,
which is x.

EXPECTED DIFFERENCES :

None.

[src/gdevddrw.c]

2004-02-15T11:31:10.000000Z Igor Melichev

A new implementation of shadings, step 5.

DETAILS :

The new code is disabled with NEW_TENSOR_SHADING 0.
It fixes some dropouts.

1. Improved the documentation (comments).
2. Improved the debug painting with NEW_TENSOR_SHADING_DEBUG.
3. Fixed bugs in the linear equation solver.
4. Improved the wedge generation.
5. Reduced the usage of transpozed coordinates.


EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-15T11:28:34.000000Z Igor Melichev

Fix: Improving the documentation (comments) about the filling algorithm.

DETAILS :

We believe that the comment about "x, xf" was wrong.
Note tha the old expression was "x + xf/h + 1",
and we changed it to "x + xf/h". We believe that
the new one corresponds to the code.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevddrw.c]

2004-02-14T11:57:35.000000Z Igor Melichev

A new implementation of shadings, step 4.

DETAILS :

The new code is disabled with NEW_TENSOR_SHADING 0.
In the new code wedges were wrong.

EXPECTED DIFFERENCES :

None.

[src/gxshade6.c]

2004-02-14T09:04:18.000000Z Igor Melichev

A new implementation of shadings, step 3.

DETAILS :

The new code is disabled with NEW_TENSOR_SHADING 0.
In the new code fixed internal wegdes.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxshade6.c]

2004-02-14T08:44:30.000000Z Igor Melichev

Fix : Visual trace could miss the current color when reinitialized.

EXPECTED DIFFERENCES :

None.

[src/dwtrace.c]

2004-02-13T17:51:56.000000Z Ralph Giles

Propagate a change from the GS_8_1X branch. AC_CHECK_TYPES takes a
comma-sparated list.

[src/configure.ac]

2004-02-13T16:43:48.000000Z Igor Melichev

A new implementation of shadings, step 2.

DETAILS :

The new code is disabled with NEW_TENSOR_SHADING 0.
In the new code fixed the decomposition except wegdes.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxshade6.c]

2004-02-13T08:15:04.000000Z Igor Melichev

pdfwrite : NoEncrypt option by a special customer request, improved.

DETAILS :

Improving the condition for empty keys.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfo.c]

2004-02-13T08:08:35.000000Z Igor Melichev

pdfwrite : NoEncrypt option by a special customer request.

DETAILS :

The implementation isn't fool proof : an inaccurate specification
may generate an inconforming document.

The specified key is not encrypted in any dictionary.
The specification must use an external representation :
a name to be prepended with slash, a string to be bracketed, and so on.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfo.c src/gdevpdfp.c src/gdevpdf.c src/gdevpdfu.c]

2004-02-12T16:29:48.000000Z Igor Melichev

Fix : Intel C and Cygwin/gcc compiler warnings.

EXPECTED DIFFERENCES :

None.

[src/gxcht.c src/gxdhtserial.c src/gxttfb.c src/gdevpdtc.c src/gxht.c]

2004-02-12T15:19:21.000000Z Igor Melichev

Improving the filling algorithm, step D1.

DETAILS :

1. The 'peak' condition was too weak.
   Caused minor differences in rasters with dropout prevention.

2. Expanded loop_fill_trap_np in the inner trapezoid loop.
   This change is algorithmically equivalent.

3. Cleaned the inner loop with moving out the computations if ybot, ytop.
   This change is algorithmically equivalent.

4. Moved the (ybot < ytop) check outside the trapezoid loop.
   This change is algorithmically equivalent.

5. Inserted 'const' into loop_fill_trap_np.

6. Inserted the section "Reserved to improve the banding"
   to simplify experiments with it.

EXPECTED DIFFERENCES :

72dpi :

86554321.pdf
adesso1.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
CAIB_highres_page4.pdf
pstopdf.pdf
smdf.90441.102.pdf
sports.pdf
waterfal.ps

300dpi :

Altona.Page_3.2002-09-27.pdf

[src/gxfilltr.h src/gxfill.c]

2004-02-12T12:05:07.000000Z Igor Melichev

Fix : Some Intel C compiler warnings.

DETAILS :

Bug 687292 "General bugs in ghostscript source".

"double wxy[2]" was a real bug, but this code fragment
never executes with current Ghostscript and GhostPCL interpreters.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c]

2004-02-12T10:28:16.000000Z Igor Melichev

Fix (pdfwrite) : Charproc can change scale before calling setcachedevice.

DETAILS :

Bug 687290 "pdfwrite generate too large glyphs".

To know that CTM changed by a charproc before setcachedevice or setcharwidth,
we set identity CTM before entering the charproc.
If setcachedevice or setcharwidth decides to fall back to
the default implementation, we restore the CTM in there.

The condition in gdevpdtt.c 1931 is changed,
causing minor differences with Bug687044.ps and muur.eps .

We found that a further improvement would be useful for
a better handling of a composite font with a Type 3 descendent.
Opened the new bug 687298 about this issue.
Differences with Bug687044.ps and muur.eps may be related to it.

EXPECTED DIFFERENCES :

A minor shift of glyphs with pdfwrite :

Bug687044.ps
muur.eps

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdtt.c]

2004-02-11T11:20:28.000000Z Igor Melichev

Fix : GS_LIB_DEFAULT was wrong on OpenVMS.

DETAILS :

Bug 687258 "(VMS) Illustrator 10 eps with spot color crashes ghostscript".

EXPECTED DIFFERENCES :

None.

[src/openvms.mak]

2004-02-11T11:00:58.000000Z Igor Melichev

A new implementation of shadings, step 1.

DETAILS :

The new code is disabled with NEW_TENSOR_SHADING 0.
The new code compiles but never tested.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxshade6.c]

2004-02-10T22:31:41.000000Z Ralph Giles

Update our copy of the ijs source to the latest cvs source, which
includes libtool support for building a shared library version. Closes
bug 687278.

[ijs/ijs_spec.sgml ijs/ijs_server.h ijs/configure.ac ijs/ijs_client.c ijs/ijs.c ijs/ijs_server_example.c ijs/Makefile.am ijs/ijs_client.h ijs/autogen.sh ijs/ijs.h ijs/ijs_exec_unix.c ijs/install-sh ijs/ijs_client_example.c ijs/Makefile.in ijs/configure.in ijs/ijs_exec_win.c ijs/unistd_.h ijs/ijs.pc.in ijs/ijs_server.c ijs/README]

2004-02-08T17:35:20.000000Z Igor Melichev

Fix: Improving the decision whether the dropout prevention to be applied.

DETAILS :

1. The old code applied the dropout prevention
if gx_fill_params::adjust = 0.
It worked since the latter was set to 0 only for characters.

Now we intend to discontinue the fill adjustment with shadings,
so the old condition won't be applicable in further revisions.
Therefore we reserve the value -1 of gx_fill_params::adjust
especially for designating characters with a dropout prevention,
and percept it in the filling algorithm (We tried to use
new special flag for designeting characters,
but it requires an enhancement to the clist language.).

2. The old code has a problem with PaintType 2 fonts :
it applied the dropout prevention to strokes.
This patch fixes that with checking PaintType in gxtype1.c .

EXPECTED DIFFERENCES :

A progression with CAT_LOGO.ps due to (2).

[src/gxistate.h src/zchar42.c src/gxtype1.c src/gxfill.c]

2004-02-08T11:29:18.000000Z Igor Melichev

Simplifying the filling algorithm, step C21.

DETAILS :

Removing the old code DONT_FILTER_SMALL_SEGMENTS 0.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfill.h]

2004-02-08T10:23:54.000000Z Igor Melichev

Simplifying the filling algorithm, step C20.

DETAILS :

Removing the old code SCANLINE_USES_ITERATOR 0.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxfill.c src/gxpcopy.c src/gxfillsl.h src/gxfill.h]

2004-02-08T01:46:01.000000Z Igor Melichev

Simplifying the filling algorithm, step C19a.

DETAILS :

Fixing a comment.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h]

2004-02-08T01:41:58.000000Z Igor Melichev

Simplifying the filling algorithm, step C19.

DETAILS :

This is an optimization of the trapezoid algorithm :

1. gx_fill_trapezoid_narrow derives a specialization from
   fill_loop_by_trapezoids__pr.

2. Simplified the GX_FILL_TRAPEZOID template with moving the
   fill_direct check outside the template.

3. Renamed gx_default_fill_trapezoid_as, gx_default_fill_trapezoid_ns,
   gx_fill_trapezoid_narrow.

EXPECTED DIFFERENCES :

None.

[src/gxfilltr.h src/gxdtfill.h src/gdevddrw.c src/gdevddrw.h]

2004-02-06T11:05:12.000000Z Igor Melichev

Simplifying the filling algorithm, step C18.

DETAILS :

This is an optimization of the new scanline algorithm.
merge_ranges doesnt need to enumerate flattened pieces of monotonic curves.
Minor change : renamed "monotonic" into "monotonic_y".

EXPECTED DIFFERENCES :

None.

[src/gxfill.c src/gxfill.h]

2004-02-05T17:59:26.000000Z Igor Melichev

Simplifying the filling algorithm, step C17.

DETAILS :

Do not filter out short flattened segments.

We believe that the old code was not conforming to PLRM due to filtering small
segments after flatteingng a curve.

We believe that the filtering has 2 purposes :

1. Prevent the filling algorythms from zero length segments;
2. Speed up the filling with reducing the number of vertices in a polygon.

The new filling algorithm handles zero length segments with no problem,
and the speeding up appears within 1% except for shadings.
We believe that the rendering quality is more important.

The performance of shadings to be fixed separately.

EXPECTED DIFFERENCES :

This patch causes rendering differences with almost all of comparefiles :

Normal, 72 dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
Bug687156.ps
bugsample.pdf
bulletin.pdf
ca.pdf
CAIB_highres_page4.pdf
ccc.pdf
chess.ps
chilis_black.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Encoding.ps
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
frosch.pdf
golfer.eps
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
Jahr2000.pdf
japan-.ps
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
korea.ps
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
pdfopt_bug.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test-setweightvector.ps
test.pdf
test2.pdf
test2a.pdf
test3.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
Type11CDevProc.ps
Type3stringwidth.ps
type42_glyph_index.ps
vsem0093.pdf
Vu989qfj.pdf
waterfal.ps
xgfddg.pdf
xngnews.pdf



Normal, 300dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-02.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
bugsample.pdf
bulletin.pdf
BW0696FOLD1FRONT.pdf
ca.pdf
CAIB_highres_page4.pdf
CAT_LOGO.ps
ccc.pdf
chess.ps
chilis_black.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Encoding.ps
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
foo.pdf
frosch.pdf
golfer.eps
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
GS_Stroke_error.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
Jahr2000.pdf
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
korea.ps
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
non-sepqxd2distiller.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
pdfopt_bug.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test-hyperref.pdf
test.pdf
test3.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
two_encodings.ps
type1-ce1_setcurrentpoint.ps
Type3stringwidth.ps
type42_glyph_index.ps
vsem0093.pdf
Vu989qfj.pdf
waterfal.ps
womanface.pdf
xgfddg.pdf
xngnews.pdf



pdfwrite, 72dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
Bug687156.ps
bugsample.pdf
bulletin.pdf
ca.pdf
CAIB_highres_page4.pdf
ccc.pdf
chess.ps
chilis_black.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Encoding.ps
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
frosch.pdf
golfer.eps
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
Jahr2000.pdf
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
korea.ps
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test-setweightvector.ps
test.pdf
test2.pdf
test2a.pdf
test3.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
Type11CDevProc.ps
Type3stringwidth.ps
type42_glyph_index.ps
vsem0093.pdf
Vu989qfj.pdf
waterfal.ps
xgfddg.pdf
xngnews.pdf




pdfwrite, 300dpi :

0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
01_001.pdf
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-02.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
290.pdf
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
budget2_ai87.pdf
bug-gstest.pdf
Bug687044.ps
bugsample.pdf
bulletin.pdf
BW0696FOLD1FRONT.pdf
ca.pdf
CAIB_highres_page4.pdf
ccc.pdf
chess.ps
chilis_black.pdf
chstudy.pdf
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Encoding.ps
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
foo.pdf
frosch.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
GS_Stroke_error.pdf
H00216q.pdf
HeiseiMinStd.pdf
ICPconcept.pdf
Jahr2000.pdf
japan-.ps
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
knight.pdf
korea.ps
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
non-sepqxd2distiller.pdf
Openhuis_pdf_zw.pdf
Original.pdf
p2b-100.pdf
pdfopt_bug.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test-hyperref.pdf
test-setweightvector.ps
test.pdf
test3.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
two_encodings.ps
type42_glyph_index.ps
vsem0093.pdf
Vu989qfj.pdf
waterfal.ps
womanface.pdf
xgfddg.pdf
xngnews.pdf

[src/gx.h]

2004-02-05T16:08:07.000000Z Igor Melichev

Simplifying the filling algorithm, step C16.

DETAILS :

Switching to the new scanline algorithm based on the flattened iterator.
Now both the trapezoid and the scanline algorithm use same flattened path.

Differences in rasters appears due to 2 reasons :

1. An inprecise expressions used in the old algorithm in gx_curve_x_at_y :
the iteration of midpoint_fast accumulates a big rounding error.
The new algorithm have smaller error due to 3*log2(N) fraction bits
while the coordinate accumulation, where N is the number of flattened segments.

2. The old algorithm used inprecise expressions in pco_monotonize.
The new algorithm applies a flattening instead the monotonization.

EXPECTED DIFFERENCES :

Normal, 72 dpi :

012-09.ps
013-09.ps
020-01.ps
027-05.ps
027-13.ps
045-01.ps
093-01.ps
103-01.ps
118-01.ps
165-01.ps
231-01.ps
233-01.ps
251-01.ps
281-01.ps
289-01.ps
308-04.ps
311-03.ps
442-01.ps
483-01.ps
a.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
Bug687207.ps
bugsample.pdf
chilis_black.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps

Normal, 300dpi :

012-09.ps
013-09.ps
020-01.ps
027-13.ps
045-01.ps
093-01.ps
103-01.ps
118-01.ps
136-01.ps
165-01.ps
231-01.ps
233-01.ps
251-01.ps
281-01.ps
289-01.ps
442-01.ps
483-01.ps
a.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
Bug687207.ps
bugsample.pdf
chilis_black.pdf
chilis_red.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
xgfddg.pdf

pdfwrite, 72dpi :

012-09.ps
013-09.ps
020-01.ps
027-05.ps
027-13.ps
045-01.ps
093-01.ps
103-01.ps
231-01.ps
233-01.ps
251-01.ps
281-01.ps
308-04.ps
311-03.ps
442-01.ps
483-01.ps
483-05.ps
a.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
bugsample.pdf
chilis_black.pdf
chilis_red.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps


pdfwrite, 300dpi :

012-09.ps
013-09.ps
020-01.ps
027-13.ps
045-01.ps
093-01.ps
103-01.ps
118-01.ps
136-01.ps
165-01.ps
231-01.ps
233-01.ps
251-01.ps
281-01.ps
442-01.ps
483-01.ps
483-05.ps
a.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
Bug687207.ps
bugsample.pdf
chilis_black.pdf
chilis_red.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
xgfddg.pdf

[src/gx.h]

2004-02-05T14:39:21.000000Z Igor Melichev

Simplifying the filling algorithm, step C15.

DETAILS :

This patch changes a disabled code only.
The new scanline algorithm performed extra scans within a sampling band.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c src/gxfillsl.h]

2004-02-04T11:42:14.000000Z Igor Melichev

Simplifying the filling algorithm, step C14.

DETAILS :

Fixing Cygwin/gcc warnings of the previous patch.

EXPECTED DIFFERENCES :

None.

[src/gxdtfill.h src/gdevddrw.c]

2004-02-04T11:33:28.000000Z Igor Melichev

Simplifying the filling algorithm, step C13.

DETAILS :

This is a code optimization.
It applies templates for generating specialized variants
of generic algorithms used for filling a path.
Also removed 'assret' which are not longer needed.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxfilltr.h src/gdevpdtc.c src/gxfillts.h src/gxdtfill.h src/gxfill.c src/gdevddrw.c src/gxfillsl.h src/gxfdrop.c src/gxfill.h]

2004-02-04T10:09:14.000000Z Igor Melichev

Fix (pdfwrite) : provide a compatibility of TEXT_FROM_CHARS to GhostPCL.

DETAILS :

This is a port of a patch from ghostpcl by Henry Stiles.
This btanch never executes with Ghostscript.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2004-02-02T21:17:19.000000Z Igor Melichev

Allow auto-inline optimization with MSVC.

DETAILS :

MSVC doesn't assume /Ob2 when /O2 is specified.

EXPECTED DIFFERENCES :

None.

[src/msvccmd.mak]

2004-02-02T20:24:02.000000Z Alex Cherepanov

Perform sign extension on 64-bit platforms.
Partial fix for bug 687029.

DETAILS:
Genoa test suite considers 64-bit integers to be an error. If we decide to
use 32-bit integer arithmetic on any platform this patch should be undone.

[lib/gs_ttf.ps]

2004-02-02T20:14:11.000000Z Igor Melichev

Simplifying the filling algorithm, step C12.

DETAILS :

This is a code optimization.
Some functions are expanded inline.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-02T16:25:51.000000Z Igor Melichev

Simplifying the filling algorithm, step C11.

DETAILS :

This is a code optimization.
It reduces the data copying with removing arguments and local variables
xlbot, xbot, xltop, xtop, y, y1.
Also add_y_line is made inline.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-02T14:09:37.000000Z Igor Melichev

Simplifying the filling algorithm, step C10.

DETAILS :

1. Scanline algorithm must not apply to spotan device;
2. Removed low useful macro DOUBLE_WRITE_OK.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-02T13:53:08.000000Z Igor Melichev

Simplifying the filling algorithm, step C9.

DETAILS :

This is a code optimization.
Removed unuseful computations of a trapeziod widths.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-02T12:29:54.000000Z Igor Melichev

Simplifying the filling algorithm, step C8.

DETAILS :

Reduced outlines for both the trapezoid and the scanline algorithms
should be same. This patch fixes that with dropping few rare cases,
which never appear with our testbase.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-02-02T11:48:10.000000Z Igor Melichev

Simplifying the filling algorithm, step C7.

DETAILS :

This is a preparation for removing the coord_near filter
from the flattening algorithm.

We believe that the the coord_near filter was implemented for
two purposes : (1) prevent the filling algorithm from
zero-height segments, and (2) speed up the filling with
reducing the number of vertices in the polygon.

Now the filling algorithms can handle zero length segments
due to conformity to gx_flattened_iterator.
Thus the reason (1) is not longer important.

The skipping of some vertices speeds up in 3% at 600dpi
rendering with ppmraw to null file.
But sometimes it produces raster distortions,
such as an asymmetric raster for symmetric outlines.
When we fixed the distortions,
the speeding up appears within 0.5%.

We decided to remove the coord_near filter, because so small
echonony of processor time is less important than the distortions.

This patch introduces a new swicth DONT_FILTER_SMALL_SEGMENTS,
and make the compilation of coord_near filter to depend on it.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfill.h]

2004-02-02T08:44:59.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 14.

DETAILS :

Elements of pdfmark elements were not encryptrd.

Since gs/lib/gs_pdfwr.ps serializes pdfmark elements,
we would like to encrypt them before the serialization.
However it would require to implement a new PS operator to pass the
encription keys from the device to the PDF interpreter.
Since this way appears cumbersome, we decided to
unserialize data in the device. For doing that we implement
a simple parser in pdf_put_composite.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2004-01-31T00:48:00.000000Z Ralph Giles

*** empty log message ***

[doc/Release.htm]

2004-01-30T23:12:40.000000Z Ralph Giles

Replace the license header of some of the test scripts with the generic version.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/check_source.py toolbin/tests/check_dirs.py toolbin/tests/check_docrefs.py toolbin/tests/check_comments.py toolbin/tests/gstestgs.py]

2004-01-30T23:12:40.000000Z Ralph Giles

Replace the license header of some of the test scripts with the generic version.

[toolbin/tests/check_all.py toolbin/tests/gstestutils.py /branches/GS_8_0X/gs/toolbin/tests/check_comments.py toolbin/tests/gssum.py toolbin/tests/gsconf.py toolbin/tests/gscheck_all.py /branches/GS_8_0X/gs/toolbin/tests/gscheck_fuzzypdf.py /branches/GS_8_0X/gs/toolbin/tests/gscheck_pdfwrite.py]

2004-01-30T08:51:50.000000Z Russell Lang

Document that the copyright year needs to be updated in some
Windows files for each release.

[doc/Release.htm]

2004-01-30T08:40:57.000000Z Russell Lang

Update copyright date for Windows release to 2004.

[src/dwsetup.rc src/winint.mak]

2004-01-30T07:32:01.000000Z Ralph Giles

Correct the link to History8.htm.

[doc/Readme.htm]

2004-01-30T04:05:51.000000Z Ray Johnston

Fix typo.

[doc/Use.htm]

2004-01-29T18:40:23.000000Z Ray Johnston

Change notice in some headers that had been missed during original update
to the unified notice.

[src/gdevdljm.h]

2004-01-29T18:19:41.000000Z Ray Johnston

Change notice in some headers that had been missed during original update
to the unified notice.

[src/gdevdjet.c src/gdevdljm.c src/gxoprect.h src/gdevatx.c src/gsovrc.c src/gsovrc.h src/gxoprect.c]

2004-01-29T09:34:07.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 13.

DETAILS :

1. Disable Encryption version 2 revision 2 with KeyLength > 40
   due to an incompatibility to many viewers.
2. Improves the error message format.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-01-28T16:54:19.000000Z Igor Melichev

Simplifying the filling algorithm, step C6.

DETAILS :

This is a code optimization.
It factors out internal constants.
The change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c src/gxfdrop.c src/gxfill.h]

2004-01-28T15:08:37.000000Z Igor Melichev

Simplifying the filling algorithm, step C5.

DETAILS :

This is a code optimization.
It simplifies argument lists.
The change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c src/gxfdrop.c src/gxfill.h]

2004-01-28T09:05:05.000000Z Igor Melichev

Fix (the new TT interpreter) : A bad pointer enumerated relocating gx_ttfReader.

DETAILS :

gx_ttfReader::pfont from a global to a local memory.
Now we set it to a non-NULL value only during a TT data
access, when the garbager is not invoked.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxccman.c src/gstype42.c src/gxttfb.h]

2004-01-27T16:07:20.000000Z Igor Melichev

Fix (TT grid fitting) : A garbager descriptor was wrong.

DETAILS :

It caused a crash running all comparefiles with ppmraw in a single job.

EXPECTED DIFFERENCES :

None.

[src/gzspotan.h]

2004-01-27T16:05:21.000000Z Igor Melichev

Fix : Partially restoring the old behavior of the filling algorithm.

DETAILS :

When we dropped the compatibility with the patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-January/004061.html,
one case of the flattening condition was not perfect.
Sorry for detecting this late.
Now we put another condition, which differs from both the old and the last one,
but the new one is symmetric and provides lesser distortions.

EXPECTED DIFFERENCES :

This change causes a massive difference,
which may partially undo the difference of the patch mentioned above.
Here is a list of expected differences agains the current CVS HEAD :

normal, 72dpi :

000040cf.000_60.pdf
001-01.ps
01_001.pdf
020-01.ps
027-09.ps
045-01.ps
093-01.ps
109-01.ps
159.pdf
175-01.ps
251-01.ps
281-01.ps
289-01.ps
335-01.ps
336-01.ps
455690.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso7.pdf
adesso8.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
bc_02a01_cal.pdf
besttest.pdf
budget2.pdf
budget2_ai87.pdf
Bug687044.ps
bulletin.pdf
ccc.pdf
dave.pdf
Dave_Barry.pdf
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
H00216q.pdf
HeiseiMinStd.pdf
Jahr2000.pdf
japan.ps
js.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
Svd.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
tpc2.ps
two_encodings.ps
type42_glyph_index.ps
waterfal.ps
xgfddg.pdf

normal, 300dpi :

289-01.ps
a.pdf
adesso6.pdf
Altona-Testsuite_p2_S_x3.pdf
besttest.pdf
Bug687044.ps
bulletin.pdf
BW0696FOLD1FRONT.pdf
fonts.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
keyboard.pdf
mbb-with-space.ps
NIL_0003.pdf
pdftops.pdf
prob.pdf
pstopdfO3.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
test_multipage_prob.pdf
waterfal.ps
womanface.pdf

pdfwrite 72 dpi :
000040cf.000_60.pdf
001-01.ps
01_001.pdf
020-01.ps
045-01.ps
093-01.ps
109-01.ps
159.pdf
175-01.ps
251-01.ps
281-01.ps
335-01.ps
336-01.ps
455690.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso7.pdf
adesso8.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
bc_02a01_cal.pdf
besttest.pdf
budget2.pdf
budget2_ai87.pdf
Bug687044.ps
bulletin.pdf
ccc.pdf
dave.pdf
Dave_Barry.pdf
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
H00216q.pdf
HeiseiMinStd.pdf
Jahr2000.pdf
japan.ps
js.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
Svd.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
tpc2.ps
two_encodings.ps
type42_glyph_index.ps
waterfal.ps
xgfddg.pdf

pdfwrite, 300 dpi :

a.pdf
adesso6.pdf
Altona-Testsuite_p2_S_x3.pdf
besttest.pdf
Bug687044.ps
bulletin.pdf
BW0696FOLD1FRONT.pdf
fonts.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
keyboard.pdf
mbb-with-space.ps
NIL_0003.pdf
pdftops.pdf
prob.pdf
pstopdfO3.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
test_multipage_prob.pdf
waterfal.ps
womanface.pdf

[src/gxpflat.c]

2004-01-27T05:10:20.000000Z Ralph Giles

Pass on the CPPFLAGS settings from the configure script into GCFLAGS. Some users expect to be able
to add include paths through the environment this way. Suggestion from Len Makin.

[src/Makefile.in]

2004-01-26T23:51:34.000000Z Igor Melichev

Simplifying the filling algorithm, step C4.

DETAILS :

In the enabled code this change is algorithmically equivalent.
In the disabled code it provides a variable threshold
for the 'coord_near' predicate.
Doing so because the old scanline algorithm uses a zero threshold.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxfill.c src/gxpflat.c src/gxfill.h]

2004-01-26T22:35:41.000000Z Igor Melichev

Updating the ps2pdf documentation.

[doc/Ps2pdf.htm]

2004-01-26T22:16:10.000000Z Igor Melichev

Simplifying the filling algorithm, step C3.

DETAILS :

The enabled variant of the scanline algorithm was unintentionally
modified by a recent patch. Rather the change was equivalent,
we prefer to clean it.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-01-26T20:54:07.000000Z Ray Johnston

Correct typo -- position of " in example command. Thanks to Ulf-Dietrich
Braumann of Leipzig University for this.

[doc/Ps2pdf.htm]

2004-01-26T15:27:17.000000Z Igor Melichev

Simplifying the filling algorithm, step C2.

DETAILS :

This change modifies a disabled code only.
It fixes a bug discovered with chilis_black.pdf .

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-01-26T13:20:08.000000Z Igor Melichev

Simplifying the filling algorithm, step C1.

DETAILS :

This starts a neqw series about the scanline algorithm.
The purpose is to use same numeric method as in the trapezoid algorithm.

This change modifies a disabled code only.

1. Defines new switch SCANLINE_USES_ITERATOR in gx.h .
2. Replaces curve_cursor with gx_flattened_iterator in the scanline algorithm.
3. Provides same Y-list contents as for the trapezoid algorithm.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxfill.c src/gxpcopy.c src/gxfill.h]

2004-01-26T13:13:37.000000Z Igor Melichev

Fix : gx_flattened_iterator::last_filtered1_i could left uninitialized.

DETAILS :

It was a bug, which our testbase did not detect.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxfill.c src/gxpflat.c]

2004-01-26T11:15:18.000000Z Igor Melichev

Simplifying the filling algorithm, step B10, final in this series.

DETAILS :

Oops, the previous patch appears not final in B series.
This one is. It removes an obsolete code from gxpcopy.c .

EXPECTED DIFFERENCES :

None.

[src/gxpcopy.c]

2004-01-25T14:23:44.000000Z Igor Melichev

Simplifying the filling algorithm, step B9, final in this series.

DETAILS :

It finally removes macros, which are not longer useful.
It doesn't change the algorithm.

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2004-01-25T13:55:03.000000Z Igor Melichev

Simplifying the filling algorithm, step B8.

DETAILS :

It finally drops the compatibility to the old code,
making the result to get the maximal regularity.

Minor change : improved a comment.

EXPECTED DIFFERENCES :

Normal, 72 dpi :

000040cf.000_60.pdf
001-01.ps
01_001.pdf
020-01.ps
027-09.ps
045-01.ps
093-01.ps
109-01.ps
159.pdf
175-01.ps
251-01.ps
281-01.ps
289-01.ps
335-01.ps
336-01.ps
455690.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso7.pdf
adesso8.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
bc_02a01_cal.pdf
besttest.pdf
budget2.pdf
budget2_ai87.pdf
Bug687044.ps
bulletin.pdf
ccc.pdf
dave.pdf
Dave_Barry.pdf
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
H00216q.pdf
HeiseiMinStd.pdf
Jahr2000.pdf
japan.ps
js.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
Svd.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
tpc2.ps
two_encodings.ps
type42_glyph_index.ps
waterfal.ps
xgfddg.pdf

pdfwrite, 72dpi :

000040cf.000_60.pdf
001-01.ps
01_001.pdf
020-01.ps
045-01.ps
093-01.ps
109-01.ps
159.pdf
175-01.ps
251-01.ps
281-01.ps
335-01.ps
336-01.ps
455690.pdf
86554321.pdf
a.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso7.pdf
adesso8.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
bc_02a01_cal.pdf
besttest.pdf
budget2.pdf
budget2_ai87.pdf
Bug687044.ps
bulletin.pdf
ccc.pdf
dave.pdf
Dave_Barry.pdf
Faktura.pdf
file.pdf
Fixed_Original.pdf
fonts.pdf
fonttest.pdf
H00216q.pdf
HeiseiMinStd.pdf
Jahr2000.pdf
japan.ps
js.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
Svd.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
tpc2.ps
two_encodings.ps
type42_glyph_index.ps
waterfal.ps
xgfddg.pdf

normal, 300 dpi :

289-01.ps
a.pdf
adesso6.pdf
Altona-Testsuite_p2_S_x3.pdf
besttest.pdf
Bug687044.ps
bulletin.pdf
BW0696FOLD1FRONT.pdf
fonts.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
keyboard.pdf
mbb-with-space.ps
NIL_0003.pdf
pdftops.pdf
prob.pdf
pstopdfO3.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
sports.pdf
test_multipage_prob.pdf
waterfal.ps
womanface.pdf


pdfwrite, 300 dpi :

a.pdf
adesso6.pdf
Altona-Testsuite_p2_S_x3.pdf
besttest.pdf
Bug687044.ps
bulletin.pdf
BW0696FOLD1FRONT.pdf
fonts.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
keyboard.pdf
mbb-with-space.ps
NIL_0003.pdf
pdftops.pdf
prob.pdf
pstopdfO3.pdf
S2_Digitalproof-Forum_x3k.pdf
sports.pdf
test_multipage_prob.pdf
waterfal.ps
womanface.pdf

[src/gxpflat.c]

2004-01-25T11:49:28.000000Z Igor Melichev

Simplifying the filling algorithm, step B7.

DETAILS :

1. Removed FLATTENED_ITERATOR_HEAVY_SELFTEST 0 because it is unuseful.
2. Simplified gx_flattened_iterator__next_filtered.
   This change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2004-01-25T11:21:34.000000Z Igor Melichev

Simplifying the filling algorithm, step B6.

DETAILS :

The previous patch left some rudinents, removing them now :

1. Switch off the self-testing.
2. Remove gx_check_nearly_collinear.
3. Removed the CURVED_TRAPEZOID_FILL0_COMPATIBLE 0 section from
   gx_flattened_iterator__prev_filtered because it
   can't provide the backscan consistency.

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2004-01-24T23:49:40.000000Z Dan Coby

Fix for Bug 687255  pcl output shifted to bottom of page.  Correct
the order of the PCL commands at the start of page for the ljet devices.

DETAILS:

This problem surfaced when a previous fix 686815 was made.  That fix
corrected  a line of code which was setting the page seize in the output
file.

With the correct page size being specified in the output file, there were
some side effects.  Setting the page size resets several other items,
including the starting page X and Y offsets.

The fix for this problem consists of simply moving the setting of the page
size three lines earlier in the file.  Now the page size is set prior to
the page X and Y offsets, which are set as part of this line:

       fputs(page_init, prn_stream);

[src/gdevdljm.c]

2004-01-24T10:45:55.000000Z Igor Melichev

Simplifying the filling algorithm, step B5.

DETAILS :

1. Removed the 'filtered2' subclass of gx_flattened_iterator;
2. Renamed the 'filtered1' subclass to 'filtered'.
3. Removed CURVED_TRAPEZOID_FILL_HEAVY_TEST.
4. Removed the CURVED_TRAPEZOID_FILL0_COMPATIBLE 0 section from
   gx_flattened_iterator__prev_filtered because it
   can't provide the backscan consistency.
5. Made other configuration flags to be local for gxpflat.c .

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c]

2004-01-23T17:35:07.000000Z Ray Johnston

Add check for missing raster image before getting the date of the raster.
If raster is missing, run update_***baseline script to generate it since
the file must be new since the last regression run. Bug 687245.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_pdfwrite.py]

2004-01-23T16:46:10.000000Z Igor Melichev

Removed the obsolete configuration switches NEW_TT_INTERPRETER and TT_GRID_FITTING.

DETAILS :

It doesn't change the algorithm.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c src/zchar42.c src/gxfcache.h src/gxttfb.c src/gstext.c src/gxccman.c src/gxfont42.h src/gsfont.c src/gstype42.c src/zusparam.c src/gx.h src/gsfont.h src/gxccache.c src/gxtext.h]

2004-01-23T16:41:21.000000Z Igor Melichev

Fix (the new TT interpreter) : st_gs_text_enum_max_ptrs was wrong.

DETAILS :

This doesn't change the algorithm because this constant is never used.

EXPECTED DIFFERENCES :

None.

[src/gxtext.h]

2004-01-23T16:35:24.000000Z Igor Melichev

Fix (the new TT interpreter) : A bad pointer enumerated relocating gs_text_enum_s.

DETAILS :

gs_text_enum_s::pair pointed to an array element, rather than to
to an object start. Improving text_enum_enum_ptrs and text_enum_reloc_ptrs
with a special processing of this pointer, being similat to one used in
font_dir_enum_ptrs.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxfcache.h src/gstext.c]

2004-01-23T14:05:51.000000Z Igor Melichev

Simplifying the filling algorithm, step B4.

DETAILS :

Removed old configuration flags from gxfill.c .
It doesn't change the algorithm.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2004-01-23T13:25:26.000000Z Igor Melichev

Simplifying the filling algorithm, step B3.

DETAILS :

1. Removed the disabled code MERGE_COLLINEAR_SEGMENTS 0
2. Removed the disabled code CURVED_TRAPEZOID_FILL 0
3. Removed the dependence on TT_GRID_FITTING from gxfill.c .

EXPECTED DIFFERENCES :

None.

[src/gxpath.h src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfdrop.c src/gxpcopy.c src/gxfill.h]

2004-01-23T12:35:12.000000Z Igor Melichev

Simplifying the filling algorithm, step B2.

DETAILS :

This patch disables the MERGE_COLLINEAR_SEGMENTS section.
It was an old unuseful optimization, which we decided to cancel.
For more information see the log message of the previous patch.

EXPECTED DIFFERENCES :

Normal, 72dpi :

014-13.ps
027-09.ps
036-01.ps
045-01.ps
083-13.ps
175-01.ps
1_2001.pdf
245-01.ps
255-01.ps
268-04.ps
268-05.ps
281-01.ps
298-09.ps
321-09.ps
477-03.ps
86554321.pdf
a.pdf
acrobat.pdf
adesso5.pdf
alphabet.ps
Altona.Page_3.2002-09-27.pdf
ats-3-5-99.pdf
besttest.pdf
brochurep1.pdf
bugsample.pdf
ca.pdf
CAIB_highres_page4.pdf
chess.ps
chilis_black.pdf
chilis_red.pdf
chstudy.pdf
dave.pdf
fonttest.pdf
H00216q.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
LD.pdf
mbb-with-space.ps
messenger16.pdf
NECPNTD.pdf
prob.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
shading_prob_800.ps
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
Svd.pdf
tiger.eps
time1.pdf
vasarely.ps
waterfal.ps
womanface.pdf
xgfddg.pdf

Normal, 300dpi :

Almost ALL FILES RENDER DIFFERENTLY.
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-06.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
acrobat.pdf
adesso1.pdf
adesso3.pdf
adesso5.pdf
adesso7.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
bug-gstest.pdf
bugsample.pdf
bulletin.pdf
CAIB_highres_page4.pdf
CAT_LOGO.ps
chess.ps
chilis_black.pdf
chstudy.pdf
dave.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Faktura.pdf
file.pdf
fonts.pdf
fonttest.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
mspro.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
p2b-100.pdf
pdfopt_bug.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
rotate90.pdf
S2_Digitalproof-Forum_x3k.pdf
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
type2accent.pdf
waterfal.ps
wrapper-gs7.pdf
xgfddg.pdf
xngnews.pdf


pdfwrite, 72dpi :

012-09.ps
013-09.ps
014-13.ps
027-09.ps
036-01.ps
045-01.ps
083-09.ps
083-13.ps
175-01.ps
1_2001.pdf
205-05.ps
205-09.ps
245-01.ps
255-01.ps
268-04.ps
268-05.ps
281-01.ps
477-03.ps
86554321.pdf
a.pdf
acrobat.pdf
adesso5.pdf
alphabet.ps
Altona.Page_3.2002-09-27.pdf
ats-3-5-99.pdf
besttest.pdf
brochurep1.pdf
Bug687044.ps
bugsample.pdf
ca.pdf
CAIB_highres_page4.pdf
chess.ps
chilis_black.pdf
chilis_red.pdf
chstudy.pdf
dave.pdf
fonttest.pdf
golfer.eps
H00216q.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
LD.pdf
mbb-with-space.ps
messenger16.pdf
NECPNTD.pdf
prob.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
shading_prob_800.ps
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
Svd.pdf
tiger.eps
time1.pdf
tpc2.ps
waterfal.ps
womanface.pdf
xgfddg.pdf

pdfwrite, 300dpi :

Almost ALL FILES RENDER DIFFERENTLY.
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
033-52-5873.pdf
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_2001.pdf
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-06.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
455690.pdf
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
a.pdf
acrobat.pdf
adesso1.pdf
adesso3.pdf
adesso5.pdf
adesso7.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
brochurep1.pdf
budget2.pdf
bug-gstest.pdf
Bug687044.ps
bugsample.pdf
bulletin.pdf
CAIB_highres_page4.pdf
chess.ps
chilis_black.pdf
chstudy.pdf
dave.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Faktura.pdf
file.pdf
fonts.pdf
fonttest.pdf
golfer.eps
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
japan.ps
js.pdf
kazmir.pdf
keyboard.pdf
korea.ps
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
loremIpsum.pdf
MagicEye.pdf
mbb-with-space.ps
messenger.pdf
messenger16.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
p2b-100.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
prob.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
QuickNews_Nov22.pdf
RealCities.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
smdf.90441.102.pdf
spec_gs.pdf
spec_gv.pdf
sports.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf
TextRize.pdf
textsavematrix.pdf
tiger.eps
time1.pdf
tpc2.ps
type2accent.pdf
waterfal.ps
wrapper-gs7.pdf
xgfddg.pdf
xngnews.pdf

[src/gx.h]

2004-01-23T10:05:26.000000Z Igor Melichev

Simplifying the filling algorithm, step B1.

DETAILS :

This starts a new sequence of patches to the filling algorithm.
It's goal is a further simplification.

We deetected that MERGE_COLLINEAR_SEGMENTS 1 section is an old optimization,
which speeds up in 1.3% and complicates the code in 30%.
Besides that, it causes inprecise results with the dropout prevention.
At last, the name "MERGE_COLLINEAR_SEGMENTS" doesn't reflect
its effect : actually it merges segments nearly parallwel to coordinate axis,
which may be unlimitedly long and have an unlimited angle.
Therefore we believe that this optimization is not well defined,
appears unuseful, and to be cancelled.

This patch is a preparation for removing the MERGE_COLLINEAR_SEGMENTS
section. We made this switch global and we bracketed more code sections,
which appear unuseful without MERGE_COLLINEAR_SEGMENTS.

This patch almost is a change to a disabled code.
But the change to gxfill.c ln 1238,1241 goes to the enabled code
and appears algorithmically equivalent :
with MERGE_COLLINEAR_SEGMENTS 1 this branch is equivalent to noop.

EXPECTED DIFFERENCES :

None.

[src/gx.h src/gxpflat.c src/gxfill.c]

2004-01-22T11:36:42.000000Z Igor Melichev

Fix : A bug in ttfmain.c caused a heap damage.

DETAILS :

Bug 687254 "writing pcl segfaults".

EXPECTED DIFFERENCES :

None with comparefiles.

[src/ttfmain.c]

2004-01-22T09:22:08.000000Z Igor Melichev

Fix : pco_accurate didn't work for curves with zero derivative.

DETAILS :

Bug 687266 "Accurate curves may be inaccurate.".

EXPECTED DIFFERENCES :

None, because normally PS doesn't use "true .setaccuratecurves".

Testing with "true .setaccuratecurves", got no difference with -r72.
Thus our testbase doesn't contain interesting curves.

[src/gxpcopy.c]

2004-01-22T09:16:30.000000Z Ralph Giles

Create a new dynamic header 'gconfigd.h' for non-platform-specific defines. Variables like
GS_LIB_DEFAULT which were previously tacked onto the end of gconfig.h have been moved to the new
header. This change is necessary to pass the default path for the persistent cache from the
makefile.

DETAILS:

The persistent cache is implemented in the gp layer, but previously it was illegal to access
gconfig.h from code inside the graphics library, it the sense that the build would fail. This is
because of the crazy way operator definitions are collected in dev files before they are
consolidated in gconfig.h.

We don't want to use gconfigv.h because that header is platform-specific is generated by different
code on every platform. Therefore, while this isn't a real fix for gconfig.h circular inclusion
issue, a new header is reasonably motivated.

[src/lib.mak src/gp_unix_cache.c src/iconf.c src/gs.mak src/int.mak src/unix-aux.mak src/gscdef.c]

2004-01-21T13:55:08.000000Z Igor Melichev

Fix : Don't apply pco_accurate when filling a path.

DETAILS :

When a path is is being stroked, it first converts to the stroke
outline, and pco_accurate is being applied. When the stroke outline
is being filled, pco_accurate was applied at second time with no
useful reason. When it fills a character, pco_accurate disturbs the
hinted outline. Thus it must not apply with 'fill' in any case.


EXPECTED DIFFERENCES :

None, because normally PS doesn't use "true .setaccuratecurves".

Testing with "true .setaccuratecurves", almost all tests
render differently due to characters, and we believe it's a progression.

[src/gxfill.c]

2004-01-21T13:38:19.000000Z Igor Melichev

Fix : The dropout prevetion did not work with "true .setaccuratecurves".

DETAILS :

Bug 687265 "adjust_point_to_tangent goes out the bbox".

EXPECTED DIFFERENCES :

None, because normally PS doesn't use "true .setaccuratecurves".

[src/gxpcopy.c]

2004-01-21T10:17:23.000000Z Igor Melichev

Fix (pdfwrite) : Type 3 characters were missed in the Widths array.

DETAILS :

Bug 687242 "ghostscript generates incorrect pdf file".
A wrong character index was used passing characters to adjust_first_last_char,
causing the domain of the Widths array be smaller than necessary.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2004-01-20T19:11:11.000000Z Ralph Giles

Replace a fixed-filename tempfile fopen with gp_open_scratch_file() for improved robustness in the
pnga device. Part of the fix for bug 687243.

DETAILS:

This is an experimental device to preserve pdf transparency into a png rasterization and is
distinct from the pngalpha device. I doesn't actually work for me and so may be suffering
from bit rot; however the change compiles and should be correct.

[src/gdevpnga.c]

2004-01-20T19:05:32.000000Z Ralph Giles

Some additional clarification on the new pdfwrite encryption user parameters.

[doc/Ps2pdf.htm]

2004-01-20T19:00:41.000000Z Ralph Giles

Improve wording and html formatting of recent documentation additions.

[doc/News.htm doc/Ps2pdf.htm]

2004-01-20T15:08:09.000000Z Igor Melichev

Fix : The PCL interpreter doesn't provide pattern streams (continued).

DETAILS :

1. Restored the PATTERN_STREAM_ACCUMULATION 0 code from gdevpdfv.c revision 1.27.
   It provides a conversion of a pattern tile into a PDF pattern object.

2. Passed have_pattern_streams to corresponding parts of pdfwrite.

3. Added a check for have_pattern_streams into zpcolor.c .
   It is useful for debugging PS interpreter
   with passing have_pattern_streams=false to gs_state_set_client.

With PS interpreter the new code never executes (unless one changes
the call to gs_state_set_client).

EXPECTED DIFFERENCES :

None.

[src/int.mak src/gdevpdfv.c src/gdevpdfg.c src/zpcolor.c src/gdevpdfg.h]

2004-01-20T01:39:30.000000Z Ralph Giles

Correct a typo in the previous commit.

[src/gp_unifs.c]

2004-01-20T01:24:12.000000Z Ralph Giles

Save the original filename template for use in the error message when mkstemp() fails. According
to the man page mkstemp() can clobber the contents of fname if it does not succeed. Part of the
fix for bug 687243.

[src/gp_unifs.c]

2004-01-19T23:19:52.000000Z Ralph Giles

Remove some very old scripts which contain /tmp races, a security risk should
someone actually try to use them. Part of the fix for bug 687243.

[lib/sysvlp.sh lib/pj-gs.sh]

2004-01-19T20:15:10.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 12.

DETAILS :

With no encryption strings in the Info dictionary got excessive brackets.
Bug 687263 "Invalid producer / author / creator fields in PDF".

EXPECTED DIFFERENCES :

None.

[src/gdevpdfu.c]

2004-01-19T16:52:32.000000Z Igor Melichev

Fix (PDF interpreter) : CropBox computed wrongly.

DETAILS :

Bug 687244 "wrong interpretation of negative mediabox coordinates".
The bug title appears incorrect. Actually the problem is caused by
negative CropBox coordinates.

.pdfshowpage_Install translates the coordinate system
to provide positive coordinates, but pdfshowpage_finish did not
account the translation when writing the CropBox.
Therefore it the resulting CropBox was inconsistent with the painting
when the source CropBox uses negative coordinates.

EXPECTED DIFFERENCES :

A progression with vtm2k.pdf .

[lib/pdf_main.ps]

2004-01-19T12:32:00.000000Z Igor Melichev

pdfwrite : Merge redundant images (continued).

DETAILS :

Bug 687224 "large pdf file size".

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2004-January/003988.html
appears incomplete, because it works only with

	<< /EncodeColorImages false >> setdistillerparams

The problem happens due to Decode arrays considered always unequal.
This patch :
1. Implemets cos_array_equal.
2. Applies it properly to subobjects (particularly to Decode).
3. Fixes the function cos_dict_equal - it was asymmetric.
4. Improves the error processing while object comparizon.

EXPECTED DIFFERENCES :

None in rasters, some PDFs become shorter.

[src/gdevpdfo.c]

2004-01-19T09:41:13.000000Z Igor Melichev

Fix : The PCL interpreter doesn't provide pattern streams.

DETAILS :

gx_pattern_cache_lookup falied when called by the PCL interpreter
because the PCL interpreter doesn't provide high level pattern streams.
Actially the compatibility of the graphics library to the PCL interpreter
was broken since gsptype1.c revision 1.16.

This patch introdices a new argument for the function gs_state_set_client.
Using the argument, a client tells to the graphics library
whether the client provides pattern streams. If not,
the graphics librery emulates the old behavior based
on raster parretns only.

The new flag gs_imager_state::have_pattern_streams stores the
compatibility mode. We would prefer it to be a member of the
graphics library instance, but the instance is not implemented yet.
Storing it to gs_imager_state may cause some undeserable effects,
especially when a device creates a temporary graphic state for
an internal use (the clist device is an example).
We assume that none of devices provides pattern streams,
and this assumption should be reasonable for current applications.

The mechanizm for generating patters streams is still
coded specifically to the PS interpreter in pattern_paint_prepare
in zpcolor.c . This solution to be considered as a temporary one.
We should refactor it into 2 parts : one specific for the PS interpreter,
and another one being common for all applications,
which should be a part of the graphics library.

This patch had passed the regression test with the PS interpreter,
but it was not tested with the PCL interpreter.
Debugging it with PCL to be a next step.

EXPECTED DIFFERENCES :

None.

[src/gsptype1.c src/gxistate.h src/zgstate.c src/gsistate.c src/gxstate.h src/gsstate.c]

2004-01-17T20:46:32.000000Z Dan Coby

Fix for "687252 subfiledecode errors on includes greater than the
size of a uint".  In spite of the bug name, the problem is not
related to the actual size of the subfile or to the size of a uint.
The actual problem is a missing required parameter:  EODCount.
However Adobe once again ignores the missing parameter and what is
specified in the PRLM-3rd.

DETAILS:

The given test file has a SubFileDecode filter without the required
EODCount parameter.

Ghostscript is rejecting the test file because the parameter is not
defined.  The RangeCheck error message is the result of the following
piece of code in zfilter.c:

  if ((code = dict_int_param(op, "EODCount", 0, max_int, -1, &count)) < 0)
	 return code;

This sets a default value of -1 for EODCount and then checks it
against the range 0 to max_int.  Thus when EODCount is not found
we get the rangecheck since -1 is outside the allowed range.


In spite of the fact that the EODCount is a required parameter,
Adobe Distiller 6.0, my CP1700PS printer, and CPSI 3010.105 print
this file without complaint.

This fix changes the default value to 0 to match Adobe and adds a
comment explaining why the code differs from the spec.

[src/zfilter.c]

2004-01-16T12:36:17.000000Z Igor Melichev

Fix (type 1 hinter) : Wrong outline with a huge scale.

DETAILS :

An arithmetic error happened when scaling a glyph to a huge size
(about 100000 pixels), causing a wrong outline.
Actually some coordinate values were replaced with zeros.
Thanks to Jeong Kim for detecting that.

The bug was detected with -r1500 with the test file of
the bug 686975 "Black box when converting to tiff".

Note that the bug report is wrong :
it says that the document with -r150 is bad and -r1500 is good.
Comparing rasters with Adobe we concluded exactly vise versa :
-r150 was compatible and -r1500 was incompatible.
After this patch both resolutions are compatible to Adobe.
Probably the user won't like them due to a bug in the document :
it paints a huge glyph, which is a hundred times bigger than the page size.
The document needs a fix.

EXPECTED DIFFERENCES :

None with comparefiles.

[src/gxhintn.c]

2004-01-16T09:47:40.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 11.

DETAILS :

Improving a PDF 1.3 parameter conformity check.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-01-16T09:24:49.000000Z Igor Melichev

Documenting new features of gs8.30 .

DETAILS :

This inserts some new reference points in the documentation.
Maybe someone will like to restructurize it.

[doc/News.htm doc/Use.htm doc/Ps2pdf.htm doc/Language.htm]

2004-01-16T06:36:59.000000Z Dan Coby

Fix for 687247 x11 device fails with CMYK on 8bit display.

DETAILS:

Inside gxcmap.c, the handling of color mapping for most devices is either
halftoned or direct.  However the x11 device when in 8 bit mode, and
possibly other 256 color devices, use a slightly different path.  First
the color is processed in direct mode.  If a color is not in the palatte
and halftoning is required, then gx_no_color_index is returned as a
color value.  Then the color is processed as being halftoned.  However
this last path was dropped from CMYK colors with revision 8.0.

[src/gxcmap.c]

2004-01-16T02:31:32.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 10 - beta release.

DETAILS :

This provides the related documentation.

EXPECTED DIFFERENCES :

None.

[doc/Ps2pdf.htm]

2004-01-16T02:11:10.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 9.

DETAILS :

This fixes the key length problem with << /V 2 /R 3 >> .

With << /V 2 /R 2 >> the patched version is still incompatible to Adobe
when Length is not 40, but it appears compatible to XPDF.

This revision can go to beta.
Use << /V 2 /R 2 /Length 40 >> or << /V 2 /R 3 /Length not40 >>
- they both should work.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-01-16T02:02:58.000000Z Igor Melichev

Fix (PDF interpreter) Bug in encryption revision 3.

DETAILS :

It wrongly generated the encryption key with << /V 2 /R 3 >> .

With << /V 2 /R 3 >> the patched version is compatible to Adobe.
With << /V 2 /R 2 >> the patched version is still incompatible to Adobe
when Length is not 40, but it appears compatible to XPDF.

EXPECTED DIFFERENCES :

None.

[lib/pdf_sec.ps]

2004-01-15T21:44:17.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 8.

DETAILS :

This fixes minor problems with parameter consistency.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-01-15T17:45:47.000000Z Ralph Giles

Add an RCS Id line to the documentation stylesheet. There's no reason to exempt it.

[doc/gs.css toolbin/tests/check_source.py]

2004-01-15T17:41:54.000000Z Ralph Giles

Add the Freetype Licence text to the exemptions list for RCS Id lines.

[toolbin/tests/check_source.py]

2004-01-15T17:35:18.000000Z Ralph Giles

Add gp_unix_cache.c to the developer documentation's file listing.

[doc/Develop.htm]

2004-01-15T16:08:48.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 7.

DETAILS :

The previous patch wrote a dubugging stub. Removing it now.
Also improving the log messages because this revision appears better than was explained.

It works fine with 40 bits keys and with 128 bits keys.
With other key lengthes it creates PDFs that GS can open with either user or owner password,
but Adobe Reader 6 doesn't open them, reporting a wrong password.
That's a problem though.

EXPECTED DIFFERENCES :

None.

[src/gdevpdf.c]

2004-01-15T15:02:07.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 6.

DETAILS :

1. Provide pdfwrite device parameters for encryption revision 3 (PDF 1.5).
2. Check them for consistency and provide reasonable defaults.
3. Provide the encryption version 2 revision 3 (i.e. 48-128 bits keys).

It works fine with 40 bits keys.
With longer keys it creates PDFs that GS can open with either user or owner password,
but Adobe Reader 6 doesn't open them, reporting a wrong password.
That's a problem though.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c]

2004-01-15T10:09:58.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 5.

DETAILS :

1. Encrypt strings in CIDSystemInfo.
2. Provide a parent object id writing a cos object.
3. Encrypt strings serializing a cos object.

All comparefiles are now passed.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfo.c src/gdevpdf.c src/gdevpdfc.c src/gdevpdtf.c src/gdevpdfo.h src/gdevpdtw.c src/gdevpdfu.c src/gdevpdti.c src/devs.mak src/gdevpdtw.h]

2004-01-15T09:27:10.000000Z Ralph Giles

Initial commit of the persistent cache implementation. This version supports only the *nix
platform and does not include any eviction logic. Also currently the cache directory and
empty 'gs_cache' index file must be created manually.

DETAILS:

Two new calls have been added to the gp layer: gp_cache_insert() and gp_cache_query(). These
take a byte buffer as a key under which another buffer can be stored or recalled. In addition to
the key, buffers are filed by 'type' which provides a separate namespace for each kind of
data. These types should be one of the GP_CACHE_TYPE_* defines in gp.h.

The query call takes a callback for allocating the buffer to be filled. Thus, all memory
management for the key and value buffers is handled by the client and the query returns
the data (if any) within a single call.

A pair of postscript test operators, .pcacheinsert and .pcachequery are provided in zmisc.c,
however they are disabled by default to prevent access to the cache by malicious postscript
programs. They operate only with the 'test' type, so a denial-of-service attack is the only
real risk; however we anticipate all access will be from C code. Compile with the DEBUG_CACHE
preprocessor symbol to enable these.

Improvements and implementations for other platforms are to follow.

[src/gp_unix_cache.c src/gp_iwatc.c src/gs.mak src/gp_os9.c src/Makefile.in src/gp_mswin.c src/unix-aux.mak src/zmisc.c src/gp_mac.c src/gp_dvx.c src/gp_unix.c src/gp_os2.c src/gp.h src/gp_vms.c]

2004-01-14T18:05:35.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 4.

DETAILS :

It fixes problems with encrypting strings in Indexed color spaces.
Strings are not encrypted yet.
All comparefiles are now passed except korea.ps .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfc.c src/devs.mak]

2004-01-14T16:04:44.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 3.

DETAILS :

It fixes problems with encryption of streams.
Strings are not encrypted yet (this may affect some color spaces).
Most of Genoa tests now passed.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdtb.c src/gdevpdtw.c src/gdevpdfu.c src/gdevpdti.c src/gdevpdfj.c]

2004-01-14T14:07:09.000000Z Alex Cherepanov

Check for hypot() availability on the configure step, fix the hypot()
replacement macro, and deal with MSVC specially.
Fix bug 687238.

[src/math_.h src/Makefile.in src/configure.ac]

2004-01-14T13:45:56.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 2.

DETAILS :

It implements the encryption of most PDF streams.
Strings are not done yet.
It can process 001-01.ps, but there are problems with other files.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/sarc4.c src/gdevpdfo.c src/gdevpdf.c src/sarc4.h src/gdevpdfu.c src/gdevpdti.c src/devs.mak]

2004-01-14T07:50:07.000000Z Igor Melichev

pdfwrite : Implementing the PDF 1.4 encryption, step 1.

DETAILS :

This defines new pdfwrite device parameters OwnerPassword, UserPassword, KeyLength, Permissions,
and outputs the Encrypt dictionary if OwnerPassword is specified.
PDF data are not encrypted yet.

EXPECTED DIFFERENCES :

None.

[src/sarc4.c src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c src/sarc4.h src/devs.mak]

2004-01-14T06:38:19.000000Z Ray Johnston

Fix to prevent setdistillerparams from erasing the page device or reset
the page device parameters. Fixes bugs 563287 and 607425.

DETAILS:

The .putdeviceparamsonly function defined in gs_setpd.ps is designed to
set device properties without clearing or resetting the pagedevice.

Both code snippets execute as expected with this change.

While the 563287 bug report mentions an attached file, it does not
appear to exist anywhere (any more) unless it refers to the little
code snippet.

Expected Differences:

none.

Only one of the regression test files, PT.ps, invokes setdistillerparams
and this invocation doesn't trip over the problem since distiller params
are set before painting anything.

[lib/gs_pdfwr.ps]

2004-01-13T14:03:30.000000Z Igor Melichev

pdfwrite : Implementing the file ID.

DETAILS :

File ID will be used in PDF encryption.
See comment in pdf_compute_fileID.

A new function s_MD5E_make_stream is defined
to simplify internal interfaces.

I'm not sure about the trick "s->strm = s" in s_MD5E_make_stream.
Want an approval.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gdevpdfx.h src/smd5.h src/gdevpdf.c src/devs.mak src/smd5.c]

2004-01-13T07:28:16.000000Z Igor Melichev

Fix (pdfwrite) : Cygwin/gcc compiler warnings.

[src/gdevpdfo.c src/gdevpdfd.c]

2004-01-13T07:28:06.000000Z Igor Melichev

Fix (pdfwrite) : Adobe glitches with a small FontMatrix.

DETAILS :

Bug 687207 "PS file incorrectly converted to PDF".
Actually the PDF was fine but Adobe has a precision problem with small FontMatrix.
This patch adjusts the FontMatrix of a Type 3 font to a reasonable interval.

EXPECTED DIFFERENCES :

None with old comparefiles.

[src/gdevpdtt.c src/gdevpdte.c src/gdevpdtt.h]

2004-01-13T05:32:07.000000Z Igor Melichev

Fixing a punctuation inaccuracy in documentation.

[doc/Use.htm doc/Language.htm]

2004-01-13T02:06:12.000000Z Ray Johnston

Fix problems with the "image" device when the palette is an 8-bit gray
palette (uses the image8 device with num_components == 1). Since the
DeviceN changes, changing num_components requires also setting the
gray_index value appropriately. Also the rgb to color mapping function
did not allow for num_components == 1 and used uninitialized values for
the green and blue comonents. Fixes bugs 458261, 686909 and 687204.

DETAILS:

The gray_index value was being left at GX_CINFO_COMP_NO_INDEX, so the
gx_device_has_color macro indicated a color device. This means that
when the gs_initialize_wordimagedevice function changed the num_components
value to 1, the gray_index was incorrect (should be 0 for a gray shade
device).

Also the mem_mapped_map_rgb_color function didn't check for num_components
== 1, thus using uninitialized cv[1] and cv[2] values and getting incorrect
palette selections. Also I optimized the single component case a bit as
well as an "early out" for both color and monochrome when diff == 0 (can't
get any better than a perfect match).

I guess 8-bit monochrome image devices haven't been used much.

Expected Differences:

none. (we don't test ps2epsi in the regression suite).

[src/gdevmem.c src/gsdevmem.c]

2004-01-12T23:16:08.000000Z Ralph Giles

Clarify wording in the updated GridFitTT documentation.

[doc/Use.htm doc/Language.htm]

2004-01-12T23:04:41.000000Z Ralph Giles

Clarify wording and correct some spelling errors in a recent documentation change.

[doc/Ps2pdf.htm]

2004-01-12T14:35:58.000000Z Igor Melichev

Fix (pdfwrite) : A misprint in the previous patch.

DETAILS :

Don't use the previous revision of gdevpdf.c - it's wrong.

[src/gdevpdf.c]

2004-01-12T14:28:44.000000Z Igor Melichev

pdfwrite : Merge redundant images.

DETAILS :

Bug 687224 "large pdf file size".

With this change pdfwrite compares images for equality
and merges same images into a single XObject, except for inline images.

A new pdfwrite device parameter MaxInlineImageSize controls
inline images. See gs\doc\Ps2pdf.htm . Use it to disable
inline images if the source document contains multiple redundant
small images.

A new vitrtual function cos_object_t::cos_procs->equal is implemented
for object comparizon. But the current implementation is restricted
with current needs. Particularly it doesn't implement cos arrays,
and assumes equal stream segmentation for equal streams.
To be improved someday.

Note that an image is copied to temporary file before a comparizon.
If the image appears redundant, the current implementation sometimes doesn't
release the space consumed in the temporary file. Therefore the disk must
have enough space for storing all copies. We could improve this using
a smarter method than cos_stream_release_pieces, because an image can interlive
only with same image of an alternative compression.
To be improved someday.

EXPECTED DIFFERENCES :

None in rasters, some PDFs become shorter.

[src/gdevpdfx.h src/gdevpdfo.c src/gdevpdf.c src/gdevpdfp.c src/gdevpdfb.c doc/Ps2pdf.htm src/gdevpdfo.h src/gdevpdfu.c src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2004-01-11T13:53:53.000000Z Igor Melichev

Fix (pdfwrite) : A mangled CFF was written when an Encoding uses 256 glyphs.

DETAILS :

Bug 687217 "pdfwrite erases a certain type1 font when I used 'space' character"
Thanks to Inoue Koich and to Mr. Hirata for the useful information
in the Comment #4 of 687217.

The reason was an old "NYI" :
 	/*
 	 * The count of encoded characters is only a single byte, so we
 	 * have to use a supplement for the last character.
 	 */
 	/****** NYI ******/

This patch implements that.

EXPECTED DIFFERENCES :

None with old compartefiles.
mbb-with-space.ps to be added to comparefiles.

[src/gdevpsf2.c]

2004-01-11T11:21:15.000000Z Igor Melichev

Fix : removed dependence on bands in the filling algorithm.

DETAILS :

Bug 687222 "Raster depends on bands".
This patch fixes a known dependence, but doesn't include
an attempt to find or fix all possible dependences.
It copmutes a next evaluation point over the top band boundary
as it would be without a banding, store it into line_list::y_break,
and use in proper places of fill_loop_by_trapezoids and fill_loop_by_scan_lines.

EXPECTED DIFFERENCES :

normal, 72dpi -dMaxBitmap=10000 :

None.

normal, 72dpi -dMaxBitmap=30000000 :

None.

normal, 300dpi -dMaxBitmap=10000 :

012-09.ps
036-01.ps
123-05.ps
175-01.ps
226-01.ps
231-01.ps
motor.pdf
Openhuis_pdf_zw.pdf

normal, 300dpi -dMaxBitmap=30000000 :

Openhuis_pdf_zw.pdf

pdfwrite was not tested.

[src/gxfill.c src/gxfill.h]

2004-01-10T18:00:39.000000Z Igor Melichev

Fix (pdfwrite) : Mark copied font's glyph names when reclaiming memory.

DETAILS :

Bug 687187 "pdfwrite can duplicate glyphs embedding a font".
If a font is freed and then reloaded, the glyph names could get different name indices,
if the garbager freed the names before the second loading of the font.
As the result, the copied font could embed duplicated charstrings.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c]

2004-01-10T12:24:38.000000Z Igor Melichev

Fix (pdfwrite) : Improving heuristics in the compression chooser.

DETAILS :

Gradients' area was wrongly computed.
Fixing it and adjust thresholds to comply with the new computation.
Bug 687169 "(pdfwrite) : An imperfect compression choice with dina3_watermark.pdf".

Processing comparefiles, with this patch pdfwrite chooses a compression
closer to the original document.
I noticed 3 tests differing from source :

Fixed_Original.pdf
loremIpsum.pdf
S2_Digitalproof-Forum_x3k.pdf

In all 3 tests the images are like a photo,
so DCT is the right choice rather than the original Flate or LZW.

EXPECTED DIFFERENCES :

After pdfwrite the following tests generate a different raster
due to DCT/Flate changes :

adesso2.pdf
adesso5.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
BEST8-99-Path.fh7.pdf
besttest.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Faktura.pdf
Fixed_Original.pdf
foo.pdf
H00216q.pdf
kazmir.pdf
loremIpsum.pdf
MagicEye.pdf
Original.pdf
S2_Digitalproof-Forum_x3k.pdf
si_tg_brochure.pdf
test.pdf

All them generate a shorter PDF.

[src/gdevpsds.c src/gdevpdfj.c]

2004-01-10T12:12:22.000000Z Igor Melichev

Fix (pdfwrite) : A big stack consumption writing a CFF with many glyphs.

DETAILS :

This is a continuation of the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-December/003887.html .
The test file of the Bug 686875 contains a Type 1 font with 1280 glyphs,
which overflowed tables in the CFF writer.
Now we provide a dynamic allocation of the tables.
Bugs 687212, 687233, 687212.

The table size for CID fonts are still hardcoded.
We believe that they must not be big because
with CID fonts glyph names are not used.

EXPECTED DIFFERENCES :

None.

[src/gdevpsf2.c src/gdevpsf.h]

2004-01-09T14:27:41.000000Z Igor Melichev

Fix : Improving vdtrace macros.

DETAILS :

This fixes the bug 687216 "syntactical problems with vd_* macros",
and implements a reading of the view parameters from an ini file.
It allows to adjust the view without editing GS sources.
The ini file is intentionally made global for all GS installations
to simplify their comparizon.

EXPECTED DIFFERENCES :

None.

[src/vdtrace.h src/dwtrace.c]

2004-01-09T13:40:33.000000Z Igor Melichev

Fix : Some of Sun ONE Studio 7 and Cygwin/gcc compiler warnings.

DETAILS :

Bug 687234 "warnings on Solaris (ghostscript-8.13)"

EXPECTED DIFFERENCES :

None.

[src/gdevpdtc.c src/gdevpdtt.c src/devs.mak src/gxpcopy.c src/zfapi.c]

2004-01-09T13:02:42.000000Z Igor Melichev

Fix (pdfwrite) : Empty clip was written into a charproc.

DETAILS :

See comment in gdevpdtt.c .
Bug 687239 "tiling bug in pdfwrite".

This patch also improves a comment in gdevpdti.c .

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gdevpdti.c]

2004-01-08T14:02:11.000000Z Igor Melichev

Implementing a True Type grid fitting, step 12, final.

DETAILS :

This patch switches on the new grid fitter,
and provides related changes to the documentation.

Minor change : fixed Cygwin/gcc compiler warnings in gzspotan.c .

EXPECTED DIFFERENCES :

All True type fonts render differently.
They present in the following tests :

01_001.pdf
159.pdf
adesso2.pdf
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
budget2.pdf
budget2_ai87.pdf
bugsample.pdf
Faktura.pdf
fonts.pdf
ICPconcept.pdf
keyboard.pdf
MagicEye.pdf
ngnews.pdf
ngnews1.pdf
S2_Digitalproof-Forum_x3k.pdf
test_multipage_prob.pdf
Testform.v1.0.2.pdf
xngnews.pdf
japan.ps
japan-.ps
korea.ps
MyTest5.ps
MyTest6.ps
Type11CDevProc.ps
type42_glyph_index.ps

[doc/Use.htm src/gx.h src/gzspotan.c doc/Language.htm]

2004-01-07T19:50:35.000000Z Ralph Giles

Unequivocally include stdlib.h in echogs.c to avoid a warning on the Sun ONE Studio 7 compiler as
reported in bug 687234.

DETAILS:

The code in echogs.c calls exit() which is defined in stdlib.h. However it was not including that
header (except) on VMS because of portability concerns, resulting in the reported 'implicit
function definition' warning. The echogs program must be available before genarch runs and the
std.h-based portability headers are available, so wide build support for this code is important.

However, such platforms are now very old and comments elsewhere in the code suggest that any
compiler supporting ANSI prototypes as we now require will also have a stdlib.h that defines
exit(). If this change causes a problem, #ifdef code similar to what was used in gp_unix.c can be
used instead.

[src/echogs.c]

2004-01-07T11:12:59.000000Z Igor Melichev

Implementing a True Type grid fitting, step 11.

DETAILS :

This patch changes a disabled code only.
It's a furter improvement if the hint generator and the hinter.

1. Improved comments about "overall" hints.

2. Implemented the "autohinting" flag,
   which tells that alignment zones to be guessed from the hint orientation.

3. Implemented a hint orientation for horizontal stems.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxhintn.c src/gxhintn.h]

2004-01-06T20:36:14.000000Z Ralph Giles

Fix a typo in the 64-bit type selection logic. Bug 687237.

[src/configure.ac]

2004-01-06T13:32:23.000000Z Igor Melichev

Implementing a True Type grid fitting, step 10.

DETAILS :

This patch changes a disabled code only.
It fixes minor problems with hint generation :

1. Implemented an "overall" hint, which
designates an outer side of a glyph,
being nearly parallel to a coordinate axis.
It aligns a stem end rather than stem sides, and
simulates top/bottom alignment zones.
This branch appears low useful and was not enabled.
Maybe will remove it later.

2. Change to gxhintn.c is algorithmically equivalent.

3. The default value of GritFitTT is changed to 2,
because we can't to provide a compatibility
of the autohinted glyph size to the TT interpreter.

4. Improved hint_by_tangent : some slower but a better choice.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxhintn.c src/gsfont.c src/gxhintn.h src/gzspotan.c src/gzspotan.h]

2004-01-05T23:34:47.000000Z Ralph Giles

Fix some warnings reported by the Sun One Studio 7 compiler (and others). Bug 687228.

[src/lib.mak src/gdevpsu.c src/gdevpdtb.c src/gxcmap.c src/int.mak src/gdevdevn.c src/gdevpdfc.c src/gsht.c src/gp_unifn.c src/devs.mak src/zfapi.c src/zfile.c]

2004-01-05T23:06:38.000000Z Ralph Giles

Correct a typo in the checks for stdint fixed-size types. This did not materially affect the
behavior of the configure script. Bug 687235.

[src/configure.ac]

2004-01-05T22:13:13.000000Z Ralph Giles

Bump the development branch version to 8.30 now that the stable branch has been released as 8.13
and update the date stamp.

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

2004-01-05T19:15:00.000000Z Alex Cherepanov

Transliterate '\0' character in PDF names to "BnZr" instead of
'?' to reduce the chance of name collision.

DETAILS:
TeX generates Type 3 fonts with single character glyph names equal to the
character codes, i.e. /Encoding [(\000) cvn (\001) cvn ... /? ...] . PDF
writer used to transliterate '\0' to '?' because #00 escape is invalid.
This conflicts with /? glyph name, which also occurs in the same font.
Fix bug 687232.

[src/gdevpdfu.c]

2004-01-05T15:11:18.000000Z Igor Melichev

Implementing a True Type grid fitting, step 9.

DETAILS :

This patch changes a disabled code only.
It fixes minor problems with hing generation.

Now the TT grid fitting is working with TextAlphaBits=1,
but some improvements still would be useful.
TextAlphaBits=1 is not tested yet.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c]

2004-01-05T13:05:14.000000Z Igor Melichev

Fix : Removed gx_curve_split due to inprecise implementation.

DETAILS :

The implemetation of gx_curve_split w3as inprecise.
Bug 687177 "gx_curve_split disturbs the bounding box".
Removing it because it is not longer in use.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxpcopy.c]

2004-01-05T12:52:12.000000Z Igor Melichev

Implementing a True Type grid fitting, step 8.

DETAILS :

1. Renamed monotonize_internal to gx_curve_monotonize.

2. Allowed the curved trapezoid algorithm for non-characters.
   2 fragments changed for this purpose : passed all_bands to intersect_al
   and removed the restriction in gxfill.c ln 482.
   This causes minor differences in rasters listed below.

3. Introduced false_stub for better readability.
   This change is algorithmically equivalent.

4. Improved 2 cases in scan_contour with p.monotonic check.
   The old code was wrong, but our testbase doesn't have
   such cases in characters. Discovered with (2).

5. In gxttfb.c applied a curve monotonization after
   decoding a True Type glyph. It allows to
   apply Type 1 hints to non-monotonic stems.
   This change currently is disabled.

6. Added some initializations to quiet the compiler warnings.


EXPECTED DIFFERENCES :

normal 72dpi :

tiger.eps

normal 300dpi

Es001-01.pdf
shading_prob_800.ps
type3xshow.eps

pdfwrite 72dpi :

027-09.ps

pdfwrite 300dpi :

123-05.ps
Es001-01.pdf
type3xshow.eps

None.

[src/gxttfb.c src/gzpath.h src/gxfill.c src/gxpcopy.c]

2004-01-05T06:11:35.000000Z Ray Johnston

Fix for fonts being displayed using .notdef character (empty boxes or other
appearance). While the test file doesn't follow the PDF 1.3 or later manual
recommendations for providing a [1,0] cmap for an embedded symbolic TT font,
Adobe Acrobat Reader can display these characters. When the 'post' table
doesn't provide the glyphs required by the /Differences list, try another
cmap [3,0] to get the correct glyph (names and glyph #'s). Bug #686959 for
customer #1060.

DETAILS:

The Adobe PDF 1.4 Reference Manual has some "hints" for producing portable
PDF's, but as far as reading PDF's that don't follow these hints, all that
is said (in section 5.5.5, p.333) is:

    Note: Some popular TrueType font programs contain incorrect encoding
    information.  Implementations of TrueType font interpreters have
    evolved heuristics for dealing with such problems; those heuristics
    are not described here.  For maximum portability, only well-formed
    TrueType font programs should be used in PDF files.

The approach of trusting the 'post' table unless the glyphs given do not
include glyphs that are mentioned in the 'prebuilt_encoding' (Differences),
is a heuristic that works for this file and doesn't interfere with any
other PDF's in the regression test. The thing about heuristics is that
the 'intelligence' they embody is no better than the understanding of the
best solution, so this may crop up again later (but we hope not).

Note that simply using the 00030000 cmap [3,0] format causes the regression
file 'test_multipage_prob.pdf' to fail with some .notdef characters.

[lib/gs_ttf.ps]

2004-01-04T19:59:17.000000Z Igor Melichev

Fix : monotonize_internal didn't work properly.

DETAILS :

We believe that the new code ever gives monotonic segments,
rather than the old one does not - see
Bug 687210 "a bug in monotonize_internal".

The new code sometimes gives slightly different segments,
because the old code applies an incorrect rounding.
This causes minor differences in rasters.

EXPECTED DIFFERENCES :

normal, 72dpi

a.pdf
ai2.pdf
bugsample.pdf
chilis_black.pdf
chilis_red.pdf

normal, 300dpi

093-01.ps
a.pdf
ai2.pdf
Altona.Page_3.2002-09-27.pdf
bugsample.pdf
chilis_black.pdf
chilis_red.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf

pdfwrite, 72dpi :

a.pdf
ai2.pdf
bugsample.pdf
chilis_black.pdf
chilis_red.pdf
dina3_watermark.pdf

pdfwrite, 300dpi :

093-01.ps
483-05.ps
a.pdf
ai2.pdf
Altona.Page_3.2002-09-27.pdf
bugsample.pdf
chilis_black.pdf
chilis_red.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf

289-01.ps was not tested because it fails.

[src/gxpcopy.c]

2004-01-04T06:12:51.000000Z Igor Melichev

Fix : Trapezoid algorithm could cause topology distortions (continued 2).

DETAILS :

This is a continuation of the recent patch.
This one provides more stability to numeric errors.

This patch brings 3 improvements :

1. the error proportion formula is now applied in all cases
(one of them was missed by the previous patch).

2. since the intersection point isn't equal to AL_X_AT_Y value,
a special care is taken in the dropout prevention code.

3. To provide (2), moved the assignments to x_current, x_next.


EXPECTED DIFFERENCES :

mormal, 72dpi :

169-13.ps
244-01.ps
86554321.pdf

mormal, 300dpi :

012-01.ps
013-01.ps
014-13.ps
032-01.ps
034-01.ps
123-01.ps
123-05.ps
169-13.ps


pdfwrite, 72dpi :

102-01.ps
205-13.ps
244-01.ps
86554321.pdf
waterfal.ps

pdfwrite, 300dpi :

032-01.ps
123-01.ps
123-05.ps
169-13.ps
205-01.ps
205-13.ps
222-13.ps
307-13.ps

289-01.ps was not tested because it fails.

[src/gxfill.c src/gxfdrop.c]

2004-01-04T05:37:48.000000Z Alex Cherepanov

Remove spurious stack adjustment that caused /unmatchedmark
when the font was loaded from Resource/Fonts/ .
Fix bug 687220.

[lib/gs_fonts.ps]

2004-01-03T18:14:19.000000Z Ralph Giles

Correct a line ending problem.

[src/gp_macio.c]

2004-01-03T17:50:09.000000Z Igor Melichev

Fix : Trapezoid algorithm could cause topology distortions (continued).

DETAILS :

This is a continuation of the recent patch.
This one provides a better stability to numeric errors :
the point bias is inversedly poroportional to the line slope.


EXPECTED DIFFERENCES :

mormal, 72dpi :

None.

mormal, 300dpi :

123-05.ps
205-05.ps


pdfwrite, 72dpi :

None.


pdfwrite, 300dpi :

None.


289-01.ps was not tested because it fails.

[src/gxfill.c]

2004-01-03T12:34:34.000000Z Igor Melichev

Implementing a True Type grid fitting, step 7.

DETAILS :

This patch changes a disabled code only.
It implements the enhanced logics for the user parameter GridFitTT,
and provides TT grid fitting by both coordinates.

GridFitTT is documented in gxttfb.c :
+     /*	gs_currentgridfittt values (binary) :
+ 	00 - no grid fitting;
+ 	01 - Grid fit with TT interpreter; On failure warn and render unhinted.
+ 	10 - Interpret in the design grid and then autohint.
+ 	11 - Grid fit with TT interpreter; On failure render autohinted.
+     */

Changes to gs/doc to be done after the new code is enabled.

EXPECTED DIFFERENCES :

None.

[src/gxfcache.h src/gxttfb.c src/gsfont.c src/zusparam.c]

2004-01-03T10:38:15.000000Z Igor Melichev

Fix : Trapezoid algorithm could cause topology distortions.

DETAILS :

There were 2 types of possible distortions : inversed or self-intersecting trapezoids,
and overlapping trapezoids. Rather they are pretty rare (and a consequtive
pixel miscoverage are extremily rare), they break the topology analyzis with
the spotan device.

The distortion happen due to inprecize computations of line intersections.
The coordinate of the intersection is represented in 'fixed', which can't be
precise in most cases. Therefore the intersection point appear slightly shifted.
The harmful thing was a different shift of the same point for each of
the intersecting lines.

This patch brings 2 improvements :

1. Intersecting 2 lines, assign same X to both.
A special care is taken about vertical lines.

2. After intersections are computed, we check whether the coordinates
appear in a wrong order by X. If so, we fix it with computing the average coordinate
and assigning it to all lines. This must give a correct topology with
a small processor time expense.

Monor change : fixed some Cygwin/gcc warnings.

EXPECTED DIFFERENCES :

mormal, 72dpi :

123-01.ps
222-01.ps
281-01.ps
327-01.ps


mormal, 300dpi :

012-01.ps
013-01.ps
014-13.ps
032-01.ps
083-01.ps
083-05.ps
103-01.ps
118-01.ps
123-01.ps
169-13.ps
205-01.ps
205-05.ps
289-01.ps
298-01.ps
307-13.ps
321-01.ps
adesso1.pdf
motor.pdf

pdfwrite, 72dpi :

102-01.ps
169-13.ps
205-13.ps
222-13.ps
244-01.ps
281-01.ps
298-01.ps
308-04.ps
321-01.ps
321-05.ps
327-01.ps
waterfal.ps
205-13.ps

pdfwrite, 300dpi :

012-01.ps
012-05.ps
013-01.ps
014-13.ps
027-09.ps
083-13.ps
102-01.ps
123-01.ps
123-05.ps
169-13.ps
205-01.ps
205-13.ps
222-13.ps
307-01.ps
307-07.ps
307-13.ps

289-01.ps was not tested because it fails.

[src/gxfill.c]

2004-01-02T21:05:23.000000Z Ray Johnston

Fix: The (more or less undocumented) superexec operator is supposed to
allow "readonly" directories to be amended. Bug #674421.

[src/zgeneric.c]

2004-01-02T20:53:40.000000Z Ray Johnston

Remove spurious ^M (ctrl-M == ) characters from the source -- probably
caused by a Windows user performing an update from a file that was not
correctly recognized as DOS vs. UNIX line endings by cvs.

[src/idict.c]

2004-01-02T18:02:37.000000Z Igor Melichev

Implementing a True Type grid fitting, step 6.

DETAILS :

In the enabled code this change is algorithmically equivalent :
generalized an argument of gx_path__check_curves,
and fixed a design box, wich was not used.

In the disabled code it computes a reasonable flattness for the stem recognition
and exclused an unuseful (and harmful) path copying.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxpath.h src/ttfmain.c src/gxfill.c src/gxpcopy.c]

2004-01-02T13:15:05.000000Z Igor Melichev

Fix : A GCC compiler error.

[src/gxfont42.h]

2004-01-02T13:02:40.000000Z Igor Melichev

Implementing a True Type grid fitting, step 5.

DETAILS :

In the enabled code this change is algorithmically equivalent :
just moved some TT outliner data definitions and refactored ttfOutliner__Outline.

In the disabled code it fixes numerous problems in the TT grid fitting (by the X axis only).
Now it looks working for small characters.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxhintn.c src/ttfmain.c src/gxfill.c src/gzspotan.c src/ttfoutl.h src/gzspotan.h]

2004-01-01T17:01:20.000000Z Igor Melichev

Implementing a True Type grid fitting, step 4.

DETAILS :

This patch changes a disabled code only.
It's a trial implementation of a TT grid fitting (by the X axis only).

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxttfb.c src/gxhintn.c src/gxhintn.h src/gzspotan.c src/gzspotan.h]

2003-12-31T18:07:19.000000Z Ralph Giles

Add a paragraph to the license statement listing the additional requirements of
the Freetype License.

[LICENSE]

2003-12-31T17:53:54.000000Z Ralph Giles

Add the text of the Freetype license and references to the freetype project to clarify our
compilance. The new truetype bytecode interpreter is based in part of code made available as part
of Freetype 1.

[doc/FTL.txt doc/Develop.htm doc/Language.htm]

2003-12-31T11:12:52.000000Z Igor Melichev

Fix : The character oversampling condition was wrong.

DETAILS :

I can't guess why it was done depending on path. It looks wrong
and gives a different result when recomputed from type1execchar
when the path is reset.
Also penum->current_font to be used rather that pgs->font due to composite fonts.
Bug 687209 "assertion failure when open postscript file".

EXPECTED DIFFERENCES :

None with TextAlphaBits=1.

[src/gxchar.c]

2003-12-31T06:13:13.000000Z Igor Melichev

Fix (pdfwrite) : Write a smaller Widths array.

DETAILS :

Bug 687186 "(pdfwrite) Embedding a Type 3 font FirstChar is always 0".

EXPECTED DIFFERENCES :

None.

[src/gdevpdtf.c src/gdevpdti.c]

2003-12-31T05:20:35.000000Z Igor Melichev

Fix (pdfwrite) : Pattern resource was not added to Resources of a pattern object.

DETAILS :

This is a partial fix for the bug 687196 "Incorrect PDF produced from Adobe test file pattyp1.ps".
A pattern resource was referred in a pattern procedure (of another pattern) but was not
listed in Resources of the pattern object.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfg.c]

2003-12-30T17:55:37.000000Z Igor Melichev

Fix (pdfwrite) : Color space resource was not added to Resources of a pattern object.

DETAILS :

Bug 687206 "Could not find colorspace".
A color space resource was referred in a pattern procedure but was not
listed in Resources of the pattern object.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfc.c]

2003-12-30T17:53:24.000000Z Igor Melichev

Fix (pdfwrite) : Wrote an invalid text matrix.

DETAILS :

While fixing the bug 687206 "Could not find colorspace",
we discovered a problem with comparefiles/tpc2.ps :
"1 0 0 1 0 1.#INF Tm" was written.
The effect was indeterministic due to an access outside an array.
This patch fixes that.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2003-12-30T11:50:11.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 24, final.

DETAILS :

This patch switches on the new algorithm.

With comparefiles on Zeon 3.06 the curved algorithm appears in 0.6% slower.
Will be fixed with upgrading the scanline algorithm with gx_flattened_iterator.

EXPECTED DIFFERENCES :

-r300 chilis_black.pdf has a minor difference in raster.

[src/gx.h]

2003-12-30T08:25:34.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 23.

DETAILS :

This patch is a code optimization.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c]

2003-12-29T15:56:35.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 22.

DETAILS :

This patch changes a disabled code only.
It optimizes the contour scanner with reducing a data copying.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-12-29T04:35:06.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 21.

DETAILS :

This patch changes a disabled code only.
It fixes some problems discovered with -r300 and
switches off the self-testing.

EXPECTED DIFFERENCES :

None.

[src/gx.h src/gxfill.c]

2003-12-29T04:18:39.000000Z Igor Melichev

Raster depended on the band size (a partial fix).

DETAILS :

The old code used the Y coordinate of a top boundary of a band
as a basis for computing a sampling factor of sloped lines.
Therefore sloped lines generated "stairs" with a dependence of
the phase on the band coordinate.

This patch removes that dependence. Therefore the new banded
raster appears closer to the unbanded raster.
But the banded raster still can be different.
We don't intend to fix it now. We did only a simplest part, which
is neccessary for the current development needs.

This patch also causes some differences, which are not related to the banding.
This happens due to bands and clip boxes come to the filling algorithm
in same data field. The dependence on the clip box is dropped as well.
Particularly it affects shadings, especially radial ones.

EXPECTED DIFFERENCES :

ppmraw -r72 -dMaxBitmap=30000000 :

1_2001.pdf

ppmraw -r72 -dMaxBitmap=10000 :

1_2001.pdf
test.pdf

ppmraw -r300 -dMaxBitmap=10000 :

012-05.ps
013-05.ps
014-05.ps
015-05.ps
027-13.ps
032-01.ps
034-01.ps
036-01.ps
083-05.ps
123-05.ps
123-09.ps
150-01.ps
169-05.ps
175-01.ps
1_2001.pdf
205-05.ps
205-09.ps
220-01.ps
226-01.ps
231-01.ps
245-07.ps
307-07.ps
86554321.pdf
adesso8.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
BEST8-99-Path.fh7.pdf
Bug687044.ps
BW0696FOLD1FRONT.pdf
ca.pdf
colorcir.ps
DisplayedGood.pdf
DisplayedWrong.pdf
doretree.ps
file2.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
knight.pdf
messenger.pdf
messenger16.pdf
Openhuis_pdf_zw.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
test.pdf


ppmraw -r300 -dMaxBitmap=30000000 :

1_2001.pdf
205-05.ps
86554321.pdf
adesso8.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
BEST8-99-Path.fh7.pdf
Bug687044.ps
BW0696FOLD1FRONT.pdf
gs6.0-dragon.pdf
Openhuis_pdf_zw.pdf
S2_Digitalproof-Forum_x3k.pdf
shading_prob_800.ps
test.pdf


Other modes were not tested.
pdfwrite may have a slightly different differences due to the page size rounding.
289-01.ps was not tested because it fails.

[src/gxfill.c]

2003-12-28T13:37:08.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 20.

DETAILS :

This patch changes a disabled code only.
It removes a roudiment of a temporary solution with a late computation of the bounding box.
Debugged with -r300 165-01.ps .

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-12-28T12:57:38.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 19.

DETAILS :

This patch changes a disabled code only.
It fixes an unitialized variable.


EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-12-28T12:23:02.000000Z Igor Melichev

Fix : The dropout prevention code could render an occasional raster.

DETAILS :

We discovered that the old filling algorithm has a non-well-defined behavior
when painting a group of contacting vertical stems with dropout prevention.
The result of the old code appears depending on the order of lines in the X list.
However when vertical lines have same X coordinate,
their order was occasional, and the resulting raster appears
deterministically occasional.
A new section in gxfill.c near line 1629 fixes that, see comment in there.

Another included change to a disabled code brings the curved trapezoid algorithm closer
to the uncurved one. It fixes 2 minor problems with horizontal lines.

EXPECTED DIFFERENCES :

This patch causes a minor difference in some rasters,
which we consider as progressions due to lesser dropouts.

(Well, it is arguable whether the old feature is a dropout at all,
but we'd like to have a well defined raster with no dependence
on unimportant things such as which contour point is choosen for the starting point).

Nornal, 72dpi :


	bulletin.pdf
	waterfal.ps
	womanface.pdf


Nornal, 300dpi :

	None.

pdfwrite, 72dpi :

	bulletin.pdf
	womanface.pdf


pdfwrite, 300dpi :

	Not tested.

[src/gxfill.c]

2003-12-28T08:15:44.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 17.

DETAILS :

This patch changes a disabled code only.
It implements the banding to the curved trapezoid algorithm.

With this patch with ppmraw with 72 dpi only 3 rasters left
different from the old code :

KozukaB-ILEmbed.pdf  (1 pixel differs)
RodinCIDEmbed.pdf    (3 pixels differ)
womanface.pdf        (9 pixels differ)

So now the new algorithm is almost working.

An useful improvement would be to divide big curves on-fly
(it should be pretty simple with subclassing the gx_flattened_iterator
and regenerating the next curve part from entire curve by
the part index), and to replace curve_cursor with gx_flattened_iterator
in the scanline algorithm.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-12-27T16:58:21.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 16.

DETAILS :

In the enabled code this patch fixes the vd_get_dc syntax,
which was unintentionally broken by the previous patch.
This change is algorithmically equivalent.

In the disabled code it fixes dropout problems with the curved trapezoid algorithm.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-12-27T15:24:40.000000Z Ray Johnston

Fix missing semicolons inserted by previous commit that prevented
compilation.

EXPECTED DIFFERENCES:

Now it will compile, but since the previous commit was untested, there
may be other algorithmic problems that result in differences.

[src/gxfill.c]

2003-12-27T09:14:35.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 15.

DETAILS :

In the enabled code this patch :

1. Refactors add_y_line into 3 functions.
2. Restructurizes end_x_line.
3. Changes the prototype of add_y_list.
4. Implements a new visual trace switch 'F'.
5. Removes 'notes' from gx_flattened_iterator.

This change is algorithmically equivalent.

In the disabled code it allows non-monotonic curves in the trapezoid algorithm.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfill.h]

2003-12-24T03:32:39.000000Z Ralph Giles

Correct a typo in the maintainer-clean target in the legacy unix makefiles.
Thanks to William Bader for catching this.

[src/unix-gcc.mak src/unixansi.mak]

2003-12-23T15:36:13.000000Z Ray Johnston

Move the documentation on handling Unicode high level text into Drivers.htm
which is a developer document instead of Devices.htm which is intended for
users.

[doc/Drivers.htm doc/Devices.htm]

2003-12-22T20:05:53.000000Z Ray Johnston

Still more regressions that produced incorrect (different than 8.12)
rotations. Regressions include 541_623.pdf and others that had Rotate != 0.

DETAILS:

Previous patch detected automatic rotation cases, but missed rotation
cases when Orientation == 1 or == 3.

[src/zmedia2.c]

2003-12-21T20:56:41.000000Z Ray Johnston

Resolve regression differences caused by rotated page sizes being picked
instead of non-rotated in some cases. Seen with 1_pct_50_bang.pdf and
others.

DETAILS:

The 'rotate' variable was input to the 'make_adjustment_matrix' function,
but the matrix could be rotated even when rotate==0. Instead bias the
best_mismatch value when the matrix is rotated (pmat->xx == 0).

[src/zmedia2.c]

2003-12-20T17:09:40.000000Z Ralph Giles

Add a newline at the end of a file. Remove a duplicate semicolon at the end of statement.

[src/gxistate.h src/zchar1.c]

2003-12-20T09:28:01.000000Z Ray Johnston

Fix yet another long standing bug in 'match_page_size' logic that could
result in the wrong (too small) media being selected due to comparison
of signed difference versus absolute difference.

[src/zmedia2.c]

2003-12-19T08:34:29.000000Z Dan Coby

A pair of fixes to the PDF rebuild logic.  The fix in pdf_main.ps corrects
a problem that ws creatd with the PDF 1.5 parser changes.  The fix in
pdf_rbld.ps corrects an unbalanced stack.  This was not fatal but did
leave the string (trailer) on the stack after rebuilding some PDF files.

[lib/pdf_main.ps lib/pdf_rbld.ps]

2003-12-19T05:42:40.000000Z Ray Johnston

Fix setpagedevice problems introduced with previous commit detected by the
regression tests, including 070-01.ps and many others. Also give priority
to lower value slots (match_key.value.intval)

DETAILS:

If there was a match that didn't set a new value in 'best_mismatch' (less
than the original 'LARGE' value), the match_key would be left at 'null',
causing PolicyReport to be executed. The Genoa tests use PolicyReport to
leave a value on the stack that eventually signals 'FAIL' since the count
is greater than expected.

This latest change makes sure that a valid key gets set even when the
best_mismatch value is not relevant.

The lower number slot (%MediaSource) is given priority in the case of a
tie between best_mismatch and mbest.

[src/zmedia2.c]

2003-12-18T14:58:02.000000Z Igor Melichev

Fix (pdfwrite) : A temporary workaround for limitcheck writing a CFF with many glyphs.

DETAILS :

The test file of the Bug 686875 contains a Type 1 font with 1280 glyphs,
which overflowed tables in the CFF writer. This patch increases the limitation,
but a limitation still presents. Will improve it someday.
Issued a new bug 687212 about that.

EXPECTED DIFFERENCES :

None.

[src/gdevpsf2.c src/gdevpsf.h]

2003-12-18T13:23:14.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 14.

DETAILS :

This patch changes a disabled code only.

Before this patch the backward iterator works fine, but we are
unhappy of its complexity. Rather it passed the full testing
with comparefiles, a theoretical proof of its correctness is too hard.
Also it highly depends on the old code in MERGE_COLLINEAR_SEGMENTS section,
which doesnt look as a well defined code.

Therefore we went back to the implementation based on a bitmask.
It represents which points were filtered out while the forward iteration.
It consumes some bigger memory (488 bytes per active line),
but we believe that the C stack consupmtion
is still lesser than one in the Type 1 hinter.

Now we bring both implementations into a single revision,
and define a configuration macro FLATTENED_ITERATOR_BACKSCAN
for switching between them.

The KISS principle strongly votes for the bitmask implementation.

This patch also renamed CHECK_BACKSCAN_CONSISTENCY with FLATTENED_ITERATOR_SELFTEST
for a better structurization, and removed some low useful comments.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxfill.c src/gxpflat.c]

2003-12-17T15:36:08.000000Z Igor Melichev

Fix : Fixed a comment syntax and removed unused variables.

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2003-12-17T15:27:57.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 13.

DETAILS :

This patch changes a disabled code only.
It allows gx_flattened_iterator__prev_filtered2 to run from any segment
riched by gx_flattened_iterator__next_filtered2. The old code could
only from the last curve segment. Also implemented a testing procedure for it.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxpflat.c]

2003-12-17T09:45:58.000000Z Ray Johnston

Add "pa4" page size requested by a user. This is the intersection of
a4 and letter page size, i.e., a4 width and letter length. Bug #553187.

[lib/gs_statd.ps]

2003-12-17T09:19:19.000000Z Ray Johnston

Remove warnings and reversion to 'int' which could cause wrong decision
for PageSize match.

[src/zmedia2.c]

2003-12-17T09:12:03.000000Z Ray Johnston

Fix InputAttributes initialization to have the default page size in slot
0, and all page sizes known in statusdict/.pagetypenames included with
the 'fit any' pagesize range last. Fixes bug #617077 and other files
that expect slot 0 to be a valid 2 element PageSize corresponding to the
default.

DETAILS:

As noted, "real" printer devices such as laserjets, and inkjets should
set up their own InputAttributes dictionaries that do not include the
'range' type page size.

If the page size is not an exact match (off by less than 5 points), then
the page size range will take priority. This is in a non-standard area
of Ghostscript, but must be preserved for those that want exact PageSize
such as for generating raster images of a specific dimension. If the
range page size is present, then automatic rotation will not be used.

If a PageSize is present in both orientations, such as [612 792] and
[792 612], then priorty will be given to the slot that matches without
automatic rotation.

EXPECTED DIFFERENCES:

Hopefully, none.

[lib/gs_statd.ps lib/gs_setpd.ps src/zmedia2.c]

2003-12-17T02:29:05.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 12.

DETAILS :

This patch changes a disabled code only.
It provide a tolerance to a bug in monotonize_internal.
See comment in code.

There is an error in the log message of the previous patch.
It should read :
"The compilation mode CURVED_TRAPEZOID_FILL0_COMPATIBLE 0 is not completed."

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-12-16T22:29:03.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 11.

DETAILS :

This patch contains a minor change to the enabled code, and
a big change to the disabled code.

The change to the enabled code only inserts some new fields
into gx_flattened_iterator, actually defining a subclass.
The enabled code doesn't use them, but provides some initialization.

The change to disabled code defines a backward iterator for
filtered flattened curve segments. Actually we define two ones :

	gx_flattened_iterator__prev_filtered1 - filters points with 'coords_near'
	gx_flattened_iterator__prev_filtered2 - filters points with 'coords_near' and
						'gx_check_nearly_collinear'.

The forward and the backward iterators are made to enumerate same points,
which the old does while flatteining a curve. The old code has
a lot of anomalies, therefore the backward iterators appear
very coplicated. We're planning to drop the compatibility and
simplify the iterators after the curved trapezoid algorithm passes
the compatibility test.

The compilation mode CURVED_TRAPEZOID_FILL0_COMPATIBLE 1 is not completed.
Do not use it with this revision.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfill.h]

2003-12-14T22:32:47.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 10.

DETAILS :

This patch changes a disabled code only.
It removes CURVED_TRAPEZOID_FILL_SCANS_BACK because we decided to make
this feature permanent.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxfill.c src/gxpflat.c src/gxfill.h]

2003-12-14T04:51:04.000000Z Dan Coby

This is the first pass at the changes to support the PDF 1.5 revisions
to the PDF format.

DETAILS:

The PDF 1.5 revision to the PDF specification contains two major
additions to the format of a PDF document.  Objects can be encoded
in compressed data streams called and object streams.  Xref tables
were also changed to allow the identification of objects in
object streams and also to allow the compression of xref tables.
Together these changes reduced the size of the PDF 1.5 specification
from 13.5 MB (PDF 1.4 version) to 8.7 MB (PDF 1.5 version).

pdf_main.ps and pdf_rbld.ps - The changes in these modules were for
    the support of compressed XRef tables.  The major part of these
    changes consist of the refactoring of readxref into pieces.  One
    piece identifies the old format versus compressed XRef tables.
    A second piece supports the reading of old format XRef tables.
    The procedure readpdf15xref was added to read compressed XRef
    tables.  A new larray called ObjectStream was added for
    identifying the location of objects which are inside a compressed
    object stream.  The changes for the addition of ObjectStream
    also affect pdf_base.ps.

pdf_base.ps - The procedures resolveR and resolved? had to be extended
    to support the presence of the objectstream type.  A new procedure
    called resolveobjectstream was added for resolving objects inside
    of object streams.

    The code listing below has two versions of the resolveobjectstream
    procedure.  I want to keep a record of both versions of this
    procedure in CVS.  The first version is theoretically more robust
    than the second.  It unpacks and processes objects from an object
    stream one at a time.  To insure that this occurs, it creates a
    string of the exact size of an object and then unpacks and processes
    the object.  However it is also very slow.  Processing of a test
    document (PDF 1.5 spec.) with this routine is 4 times slower
    than processing a version of the PDF 1.5 spec. which does not use
    object streams.  The second version of the procedure unpacks the
    entire object stream and then processes each object.  Thus any
    problem which occurs with one object could, in theory, affect another
    object.  The second version is much faster.  There is about a 4%
    penalty for processing the compressed version of the PDF 1.5 spec.

    After the initial check in, the first version of resolveobjecstream
    will be removed unless some need is found for its robustness.

[lib/pdf_rbld.ps]

2003-12-14T04:41:27.000000Z Dan Coby

This is the first pass at the changes to support the PDF 1.5 revisions
to the PDF format.

DETAILS:

The PDF 1.5 revision to the PDF specification contains two major
additions to the format of a PDF document.  Objects can be encoded
in compressed data streams called and object streams.  Xref tables
were also changed to allow the identification of objects in
object streams and also to allow the compression of xref tables.
Together these changes reduced the size of the PDF 1.5 specification
from 13.5 MB (PDF 1.4 version) to 8.7 MB (PDF 1.5 version).

pdf_main.ps and pdf_rbld.ps - The changes in these modules were for
    the support of compressed XRef tables.  The major part of these
    changes consist of the refactoring of readxref into pieces.  One
    piece identifies the old format versus compressed XRef tables.
    A second piece supports the reading of old format XRef tables.
    The procedure readpdf15xref was added to read compressed XRef
    tables.  A new larray called ObjectStream was added for
    identifying the location of objects which are inside a compressed
    object stream.  The changes for the addition of ObjectStream
    also affect pdf_base.ps.

pdf_base.ps - The procedures resolveR and resolved? had to be extended
    to support the presence of the objectstream type.  A new procedure
    called resolveobjectstream was added for resolving objects inside
    of object streams.

    The code listing below has two versions of the resolveobjectstream
    procedure.  I want to keep a record of both versions of this
    procedure in CVS.  The first version is theoretically more robust
    than the second.  It unpacks and processes objects from an object
    stream one at a time.  To insure that this occurs.  It creates a
    string of the exact size of an object and then unpacks and processes
    the object.  However it is also very slow.  Processing of a test
    document (PDF 1.5 spec.) with this routine is 4 times slower
    than processing a version of the PDF 1.5 spec. which does not use
    object streams.  The second version of the procedure unpacks the
    entire object stream and then processes each object.  Thus any
    problem which occurs with one object could, in theory, affect another
    object.  The second version is much faster.  There is about a 4%
    penalty for processing the compressed version of the PDF 1.5 spec.

    After the initial check in, the first version of resolveobjecstream
    will be removed unless some need is found for its robustness.

[lib/pdf_main.ps lib/pdf_base.ps]

2003-12-14T01:07:17.000000Z Alex Cherepanov

Fix MSVC debug targets: add explicit makefile specification.
Fix bug 687205.

DETAILS:
Debug targets have always been broken on Windows because nmake by 
default looks for "MAKEFILE" and fails. Until recently, the default
target was built without the -O2 flag and could be used for debugging.
This patch adds the correct filename explicitly to the debug target 
so it can be used instead.

[src/msvc32.mak]

2003-12-13T18:07:56.000000Z Ray Johnston

Fix a premature closedevice leading to a SEGV when a setpagedevice follows
a setdevice with the only reference to the device in the graphics state.
Bug #687204 detected with ps2epsi.ps.

DETAILS:

the ps2epsi.ps sets an image device, then does a .setsafe which uses
setpagedevice to set .LockSafetyParams. Eventually setpagedevice results
in a call to gs_setdevice_no_init, but the reference count to the current
device is 1 so even though the device is not being changed, the device
was being closed (which freed the buffer and line pointers). Usually
the currentdevice reference count is > 1 since there is more than one
gstate containing a pointer to the device.

This has been broken since 8.10 when version 1.19 was released with
some changes to device finalization.

Note that ps2epsi.ps is extremely fragile and still doesn't work with
examples/alphabet.ps after the patch (due to the "clear cleardictstack
alphabetsave restore" logic at the end. This patch is ONLY for the SEGV.
IMO, ps2epsi really is a mess and needs to be scrapped and designed
properly.

[src/gsdevice.c]

2003-12-12T18:03:09.000000Z Ralph Giles

Link to History8.htm in the list of history files. Patch from Alexei Podtelez.

[doc/Readme.htm]

2003-12-12T02:16:03.000000Z Alex Cherepanov

Split an expression in two because MSVC 6.00.8168.0 cannot compile it
in -O2 mode, enabled in GS 8.12 by default. MSVC 6 with
Service Pack 3 doesn't require this work around.

[src/idict.c]

2003-12-12T01:44:54.000000Z Ralph Giles

Properly remove jbig2.dev from the FEATURE_DEVS list in the autoconf build when
stdint_h is not available. Works around bug 687007.

[src/configure.ac]

2003-12-11T19:44:49.000000Z Ray Johnston

Fix .gethalftone to prevent /undefinedresource or other error from being
left in the $error dict. Seen with UnusualFontMatrix.ps when running under
startjob encapsulation.

DETAILS:

Internal procedures like .gethalftone that want to use stopped but don't
propagate the error up should use .internalstopped since this doesn't
set /newerror in $error.

The file mentioned has a 'quit' following the showpage which when running
under job encapsulation (false 0 startjob) is redefined to do 'stop'.
This means that the /newerror flag in $error was being seen when the
'stop' after the showpage was executed.

[lib/gs_init.ps]

2003-12-11T18:15:04.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 9.

DETAILS :

This change is algorithmically equivalent.
It implements an iterator of filtered flattened curve segments with
gx_flattened_iterator__next_filtered2, and the old behavior
is now implemented with it.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxpflat.c]

2003-12-11T13:48:42.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 8.

DETAILS :

Renamed FLATTENED_CURVE_ITERATOR0_COMPATIBLE,
because it doesn't longer reflect its semantics.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxfill.c src/gxpflat.c src/gxfill.h]

2003-12-11T13:33:36.000000Z Igor Melichev

Fix : The flattening algorithm inaccurately filtered points.
Bug 687154 "Bugs in gx_flatten_sample".


DETAILS :

The old algorithm has 2 problems, which persist since March 20, 2000 or later :

1. When points buffer overflows, it doesn't filter
the next point with MERGE_COLLINEAR_SEGMENTS.

2. With sn_not_first the first point was duplicated,
and the last one was missed.

This patch fixes both problems.

EXPECTED DIFFERENCES :

This patch causes differences flattening long curves.
311-03.ps and 205-13.ps at 300dpi demonstrate a strong progression.
Other differences should be progressions as well.

normal, 72dpi:

012-09.ps
013-09.ps
093-01.ps
289-01.ps
CIDembedded.pdf

300dpi :

012-09.ps
013-09.ps
014-09.ps
015-09.ps
032-07.ps
035-07.ps
083-05.ps
083-09.ps
093-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
289-01.ps
298-09.ps
311-03.ps
321-09.ps
KozukaB-ILEmbed.pdf
RodinCIDEmbed.pdf
shading_prob_800.ps
Svd.pdf

pdfwrite, 72dpi :

083-09.ps
083-13.ps
093-01.ps
205-13.ps
308-04.ps
CIDembedded.pdf

pdfwrite, 300dpi :

012-09.ps
013-09.ps
014-09.ps
015-09.ps
032-07.ps
035-07.ps
083-05.ps
083-09.ps
083-13.ps
093-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
308-04.ps
311-03.ps
acrobat.pdf
alphabet.ps
Bug687044.ps
KozukaB-ILEmbed.pdf
RodinCIDEmbed.pdf
shading_prob_800.ps
Svd.pdf


UnusualFontMatrix.ps was not tested because the current HEAD fails with it.

[src/gxpflat.c]

2003-12-11T09:53:13.000000Z Igor Melichev

Removed an obsolete code FLATTENED_CURVE_ITERATOR 0.

DETAILS :

The FLATTENED_CURVE_ITERATOR 0 code is not longer in use.
It was disabled since November 25 2003.
This patch completely removes it.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c]

2003-12-11T02:59:27.000000Z Ray Johnston

Fix setpagedevice so that the Default Halftone is used. Fixes bug #687199.

DETAILS:
Use .setdefaulthalftone rather than .setdefaultscreen so that setpagedevice
picks up the correct Halftone setting. This was detected when trying to
use 'stocht.ps' to set a Default Halftone that is the stochastic threshold
array, which worked only if page size didn't change or other setpagedevice
setting was made.

[lib/gs_setpd.ps]

2003-12-11T02:22:11.000000Z Ralph Giles

Remove the CC_LEAF alternate compiler definition. This basically exists to pass
-fomit-frame-pointer (or equivalent) on a few (two) files where it's unequivocably safe. This
strikes us as premature optimization.

It was also causing problems with the profile build under gcc because of a quoting problems with
the argument list the makefile passes to itself through this define. Closes bug 687182.

[src/unix-end.mak src/openvms.mak src/watcw32.mak src/int.mak src/macosx.mak src/dvx-gcc.mak src/msvccmd.mak src/unixansi.mak src/openvms.mmk src/os2.mak src/lib.mak src/bcwin32.mak src/ugcclib.mak src/gs.mak src/Makefile.in src/unix-gcc.mak src/macos-mcp.mak src/wccommon.mak]

2003-12-10T23:42:21.000000Z Ralph Giles

In the autoconf build, only pass -O2 if the compiler is detected to be gcc. Fall back to trying
the POSIX -O in other cases. The trial compile was not detecting that this option does not work
correctly on the Solaris compilers. Problem report from Nelson Beebe, closes bug 687198.

[src/configure.ac]

2003-12-10T23:07:10.000000Z Ray Johnston

Fix incorrect handling of the '\' escape character in the filenameforall
implementation on Windwows. Fixes bug #687151. Also fix logic in the
.scanfontdir that relied on the incorrect filenameforall implementation.

DETAILS:
The previous NT filenameforall implementation did not translate the
template string to be used by the FindFirstFile Windows call. This
meant that the template was being passed the '\' escape characters
which were not correctly handled by the OS call.

Also testing -sFONTPATH=\Winnt\Fonts showed that this was also broken
in gs_fonts.ps since it didn't duplicate the '\' characters for the
template to filenameforall.

Note that other gp_* implementations of file enumeration don't
seem to handle escapes such as gp_unifs.c. The gp_macio.c doesn't
do anything, and the gp_dosfe.c (deprecated) seems totally broken.
The gp_os2.c appears to be a clone of the gp_ntfs.c, so should be
fixed. About the only version that seems to be handling the '\'
character according to the PLRM is gp_vms.c (can you believe that?).

Thanks to Alex Cherepanov and Igor Melichev for contributing.

[src/gp_ntfs.c lib/gs_fonts.ps]

2003-12-10T14:27:09.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 7.

DETAILS :

This change is syntactically equivalent.
It replaces gx_flattened_curve_iterator to a shorter identifier,
because we intend to define a subclass with a name suffix.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxfill.c src/gxpflat.c]

2003-12-10T14:23:07.000000Z Igor Melichev

Fix: A prototype for memcpy was missed.

DETAILS :

It was inserted into lib.mak but did not into gxpflat.c .

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2003-12-10T13:41:02.000000Z Igor Melichev

Simplify the filtering of points while flattening a curve.

DETAILS :

This change is algorithmically equivalent due to algebraic laws.

Thesis : (coord_near(x2, x0) && coords_in_order(x0, x1, x2)) implies
coord_near(x2, x1).

Proof:

case 1:
	x0 >= x1 >= x2 ==> abs(x2 - x1) <= abs(x2 - x0);
case 2:
	x0 >= x1 >= x2 ==> abs(x2 - x1) <= abs(x2 - x0);

Therefore coord_near(x2, x1) doesn't need to check and has been removed.
Same for Y.
Then merged 2 branches with '||' because they appear same.
The performance slightly increases, and the behavior is easier to understand.

EXPECTED DIFFERENCES :

None.

[src/gxpflat.c]

2003-12-09T21:18:23.000000Z Ralph Giles

Add the new stdint_.h compatibitily header to the file roadmap.

[doc/Develop.htm]

2003-12-09T21:17:59.000000Z Ralph Giles

Add a new compatibility header, stdint_.h. All the code previously in std.h and stdpre.h that
tried to make these types universally available has been moved to the new compatibility header
as per policy.

[src/lib.mak src/ttfsfnt.h src/std.h src/sjbig2.c src/sjbig2.h src/stdpre.h src/stdint_.h]

2003-12-09T21:11:16.000000Z Ralph Giles

Bump version numbers after the 8.12 release.

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

2003-12-09T17:25:39.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 6.

DETAILS :

This change modifies a disabled code,
and includes a minor change to the enabled code,
which should be algorithmically equivalent.

In the enabled code factored out the new function add_y_line_aux.

This patch fixes the dropout problem in CURVED_TRAPEZOID_FILL 1.
The problem was unprocessed horizontal segments of curves.
Now we create a new temporary horizontal line for
each horizontal segment of a curve, and add it to the Y list.
Then it immediately goes to H list, and then processed and freed.

Due to the modification of the Y list during the main
trapezoid loop (which did not happen before) the cycle
commented with
/* Move newly active lines from y to x list. */
is improved with providing a consistency of local copies
of the Y list pointers.

Good tests for this stuff present in a.pdf .
With this patch with ppmraw 72dpi it renders equal to
with CURVED_TRAPEZOID_FILL 0 code.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxpflat.c src/gxfill.c]

2003-12-09T17:23:21.000000Z Igor Melichev

Generalize the trapezoid filling algorithm for curves, step 5.

DETAILS :

This change modifies a disabled code only.

This patch provides more compatibility of the
CURVED_TRAPEZOID_FILL & FLATTENED_CURVE_ITERATOR0_COMPATIBLE build
to the old code. Doing it with implementing the new function
gx_flattened_curve_iterator__prev.

We're not planning to pass this function to production
because it slows down. Only reason is to simplify testing with
exact comparison of results of the old and the new code.
The macro CURVED_TRAPEZOID_FILL_SCANS_BACK helps to remove it later.

A new field skip_points is inserted into active_line_s for same purpose.
While enumerating curve segments in a backward order,
it helps to skip same division points as the old code
does in the forward order. This thing consumes too much RAM.
It won't go to production.

One problem is left unsolved. While flattening a curve,
it can generate a horizontal segment. It must be passed to h-list
for dropout prevention. It is not done yet.
This problem causes a dropout in a Chinese glyph in a.pdf
with ppmraw 72 dpi.

For a while we don't apply CURVED_TRAPEZOID_FILL for non-characters.
The reason is that pco_monotonize works imprecisely.
Will improve someday. Most characters are free of non-monotonic curves,
but we notices a number of such in Genoa tests
and in other files.

The fragment INTERTRAP_STEM_BUG is an attempt to improve a
serif suppression while dropout prevention. The coded condition
isn't perfect. It is disabled. A better way would be to depend on
Y projection contiguity, checking sect->y0, sect->y1.
Keeping it to simplify further experimenting.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfdrop.c src/gxfill.h]

2003-12-09T17:21:51.000000Z Igor Melichev

Unwinding the last patch because it was committed with a wrong log message.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfdrop.c src/gxfill.h]

2003-12-09T16:48:12.000000Z Igor Melichev

ERRONEUS COMMITMENT - do not use this revision.

[src/lib.mak]

2003-12-09T16:42:58.000000Z Igor Melichev

ERRONEUS COMMITMENT - do not use this revision.

[src/lib.mak]

2003-12-09T16:12:12.000000Z Igor Melichev

ERRONEUS COMMITMENT - do not use this revision.

[src/lib.mak src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfdrop.c src/gxfill.h]

2003-12-09T15:59:12.000000Z Igor Melichev

Fix (pdfwrite) : Type 1,2 composite glyphs could point to wrong subglyphs.

DETAILS :

This is a continuation of the recent patch for
Bug 687172 "Jaggies appearing for some characters".

The old code converted subglyph names to char codes with the font's Encoding.
However arguments of 'seac' command always encode glyphs by StandardEncoding.
If the fon't Encoding specifies different codes, the result was wrong.

Since the font copying routine uses gs_glyph values taken from the global
interpreter's space (see gsccode.h), which are PS name indices,
it needs to convert a glyph name string to a name index.
Before now we had no support for this.
To provide it we add a new graphics library callback
gs_font_dir::global_glyph_code.

A recommendation for PCL interpreter :
if it is called with pdfwrite, zfont_global_glyph_code to be implemented.
Maybe an implementation with gs_c_known_encode helps.

There exists a connected minor problem (PS interpreter only),
which this patch doesn't fix.
If a font is freed and then reloaded, the glyph names can get
different name indices, if a garbager is invoked and freed
the names before the second loading. As the result, the copied font
can embed duplicated glyph definitions (charstrings).
It can't give an invalid PDF, but it's size may increase. Hopely this case is rare.
Opening a new bug 687187 about this.

EXPECTED DIFFERENCES :

None with comparefiles.

[src/lib.mak src/gxfcache.h src/gxfcopy.c src/zfont.c src/gsfont.c]

2003-12-09T06:57:48.000000Z Ralph Giles

Update changelog with final 8.12 release updates.

[doc/Changes.htm doc/History8.htm doc/Details8.htm doc/Details.htm]

2003-12-09T06:37:35.000000Z Ray Johnston

Correct a long standing problem that caused non-optimized builds with
MSVC on Windows. The default TDEBUG was 1, which circumvented a change
made to msvccmd.mak to enable /O2 for MSVC_VERSION != 5. Note that
with MSVC 6 Service Pack 3 is required to avoid an INTERNAL COMPILER
ERROR when compiling src/idict.c.

[src/msvc32.mak]

2003-12-09T04:04:08.000000Z Ralph Giles

Correct some inconsistent line endings.

[src/ttfsfnt.h src/stdio_.h]

2003-12-09T03:05:28.000000Z Ralph Giles

Updated release notes and change history for the 8.12 release.

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]

2003-12-08T23:17:16.000000Z Ralph Giles

Update documentation with release version and date.

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

2003-12-08T23:04:13.000000Z Ralph Giles

Update date, product name and open bug list for release.

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

2003-12-07T17:56:29.000000Z Ralph Giles

Add the experimental spot analysis source files to the developer file roadmap.

[doc/Develop.htm]

2003-12-07T16:17:20.000000Z Igor Melichev

Generalize the trapezoid fillling algorithm for curves, step 4.

DETAILS :

This change modifies a disabled code only.
The comment /* Likely a bug in the !CURVED_TRAPEZOID_FILL code. */
is now removed because it is wrong. The function process_h_list
performs that check perfectly.

EXPECTED DIFFERENCES :

None.

[src/gxfdrop.c]

2003-12-06T03:38:23.000000Z Ralph Giles

Respect the new regression differences section header when writing out the
split changelogs. The previous change only added the header to the detection
section.

[toolbin/split_changelog.py]

2003-12-06T03:28:31.000000Z Ralph Giles

Also split changelog entries on the new "EXPECTED DIFFERENCES:" header.

[toolbin/split_changelog.py]

2003-12-06T01:48:53.000000Z Ralph Giles

In the autoconf build, add the general cflags generated by the configure script to the definition
the the definition of CCAUX. This works around a problem building on cygwin.

DETAILS:

Older versions of cygwin do not provide stdint.h but do define some of the types in sys/types.h.
More recent versions do provide the header but also define them by inclusion in sys/types.h. This
caused a problem with the 'fixup' code we added in response to bug 687162 which defined the
missing half of the types if stdint.h was not detected by the configure script. In versions of
cygwin that do provide stdint.h, most files compile as expected, but genconf.c is compiled with
the alternate CCAUX compiler definition and was not receiving the -DHAVE_STDINT_H argument from
configure, causing a type conflict between the complete set of stdint types pulled in by
sys/types.h and the platform-specific fixup set included when stdint.h is supposedly not
available. Adding the GCFLAGS line to the definition of CCAUX works around the problem and has
little potential to confuse the build in the future.

A similar change made to unix-gcc.mak would need to document the -DHAVE_STDINT_H option for
cygwin. I felt this was unecessarily excessive; we already recommend the autoconf build on systems
that can support it.

[src/Makefile.in]

2003-12-04T16:57:02.000000Z Igor Melichev

Fix : (type 1 hinter) Invalid contours with <=2 segments caused an infinite loop.

DETAILS :

Provided a workaround.

EXPECTED DIFFERENCES :

None.

[src/gxhintn.c]

2003-12-04T16:19:57.000000Z Igor Melichev

Generalize the trapezoid fillling algorithm for curves, step 3.

DETAILS :

Improved the CURVED_TRAPEZOID_FILL & FLATTENED_CURVE_ITERATOR0_COMPATIBLE build.
This change modifies a disabled code only.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gxpflat.c src/gxfill.c]

2003-12-04T14:53:31.000000Z Ralph Giles

Minor spelling and grammar corrections.

[doc/Devices.htm]

2003-12-04T13:52:27.000000Z Igor Melichev

Document the new feature "Unicode support for high level devices".

[doc/Devices.htm]

2003-12-04T12:35:35.000000Z Igor Melichev

Fix : Cygwin/gcc compiler claimed possibly uninitialized variables.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c src/gximono.c src/gdevpdtt.c src/gpmisc.c src/gsalloc.c src/gxfill.c src/gdevplnx.c src/gxclrast.c src/zht2.c src/gdevps.c src/zdscpars.c src/gscie.c src/gdevpdfm.c src/iscan.c src/gsfont.c src/gdevpdtc.c src/gdevdevn.c src/ttfmain.c src/gdevpdtf.c src/gdevprn.c src/gxstroke.c src/ttinterp.c src/gdevp14.c src/gxclpath.c]

2003-12-04T11:09:44.000000Z Igor Melichev

Generalize the trapezoid fillling algorithm for curves, step 2.

DETAILS :

1. Factored out the function gx_check_nearly_collinear_inline.
   This change is algorithmically equivalent.

2. Improved the FLATTENED_CURVE_ITERATOR0_COMPATIBLE build.
   This change modifies a disabled code only.

EXPECTED DIFFERENCES :

None.

[src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxfdrop.c src/gxfill.h]

2003-12-04T10:10:21.000000Z Igor Melichev

Fix : misprints in lib.mak .

DETAILS :

Some dependencies were missed.

EXPECTED DIFFERENCES :

None.

[src/lib.mak]

2003-12-04T10:07:02.000000Z Igor Melichev

Fix : an access to uninitialized data in zbfont.c .

DETAILS :

Type 11 fonts got an occasional indeterministic data to pdata->Encoding,
which were inaccurately checked for r_size() <= 256.

We're keeping the check "r_size(pfe) <= 256" for backward compatibility,
rather we're unclear about it's purpose. It shouldn't be harmful.

EXPECTED DIFFERENCES :

I did not detected any on Windows, but I believe that the old code was indeterministic.

[src/zbfont.c]

2003-12-04T10:01:34.000000Z Igor Melichev

Fix : an access to uninitialized data in gxcpath.c .

DETAILS :

pcpath->path_list was not reset when it is replaced with a rectangle and freed.
Bug 687178 "Infinite loop in ialloc_validate_memory".

EXPECTED DIFFERENCES :

I did not detected any on Windows, but I believe that the old code was indeterministic.

[src/gxcpath.c]

2003-12-04T09:46:33.000000Z Igor Melichev

Fix (pdfwrite) : Type 1 subglyphs don't need Encoding entries.

DETAILS :

A new comment added to gxfcopy.c explains the change :

/* No need to add subglyphs to the Encoding because they always are
   taken from StandardEncoding (See the Type 1 spec about 'seac').
   Attempt to add them to the encoding can cause a conflict,
   if the encoding specifies different glyphs for these char codes
   (See the bug #687172). */


EXPECTED DIFFERENCES :

pdfwrite progression with comparefiles\Bug687044.ps

[src/gxfcopy.c]

2003-12-04T09:37:10.000000Z Igor Melichev

Fix (type 1 hinter) : sbw was wrongly accounted with FontBBox over 4095 units.

DETAILS :

Side bearing and width was accounted before import_shift is adjusted to FontBBox.
Bug 687156 "some characters shifted higher in acrobat4 generated eps".

Besides that, it prevents a fixed overflow when FontBBox is zero and glyph coordinates are big.
Bug 687175 "(type 1 hinter) A fixed overflow can happen".

This patch removes import_shift and the dependence on FontBBox.
Instead that it dynamically reduces the number of fraction bits
in transformation matrices during the glyph import.

Minor change : removed some obsolete comments.

EXPECTED DIFFERENCES :

None.

[src/gstype1.c src/gstype2.c src/gxhintn.c src/gxhintn.h]

2003-12-04T03:51:26.000000Z Alex Cherepanov

Add new files; make all lists separated with comma and terminated with a period.

[doc/Develop.htm]

2003-12-03T22:31:26.000000Z Alex Cherepanov

Add double-inclusion protection to errors.h to pacify the regression
test and rename double-inclusion protection variable in ierrors.h
for the naming consistency.

[src/errors.h src/ierrors.h]

2003-12-01T18:19:24.000000Z Ralph Giles

Cygwin defines unsigned size-specific types with a u_ prefix in sys/types.h in analogy with MSVC.
Use these instead of the generic int types when defining the stdint.h size-specific types. Patch
from Alex Cherpanov. Fixes bug 687162.

[src/stdpre.h]

2003-12-01T16:49:52.000000Z Ralph Giles

Add stdint fixed-length integer typedefs for cygwin. Apparently this platform defines the signed
versions in sys/types.h so we need only define the unsigned versions. After a patch by Alex
Cherpanov, bug 687162.

[src/stdpre.h]

2003-11-30T19:03:35.000000Z Ralph Giles

Typedef uint64_t from 'unsigned __int64' on win32. From Alex Cherpanov's patch for bug 687162.

[src/stdpre.h]

2003-11-27T22:32:40.000000Z Alex Cherepanov

Add support to pnm images with max_pixel_value < (1<

[toolbin/tests/fuzzy.c]

2003-11-27T02:26:10.000000Z Ralph Giles

Remove the search for long long / int64_t from genarch entirely. Neither of these
types is portable C as genarch must be, and nothing in Ghostscript actually requires
as 64-bit type, so the feature is inessential. (We do use a 64 bit type for gx_color_index
but that's passed through a separate define.) Bug 687161.

[src/std.h src/genarch.c]

2003-11-25T15:32:29.000000Z Igor Melichev

Fix (pdfwrite) : A fixed overflow in setup_image_compression.

DETAILS :

Bug 687164 "(pdfwrite) dina3_watermark.pdf generates a 293Meg PDF".
The bug persists since Sun Apr 30 01:26:41 2000 UTC.

EXPECTED DIFFERENCES :

The re-distilled dina3_watermark.pdf renders differently due to DCT compression applied.

[src/gdevpsdi.c]

2003-11-25T08:34:07.000000Z Igor Melichev

Fix : A misspelled TRAPEZIOD.

DETAILS :

The change is syntatctically equivalent.
Note that log messages of recent patches still keep the misspelled word.

EXPECTED DIFFERENCES :

None.

[src/gxfdrop.h src/gxpath.h src/gx.h src/gzspotan.c src/gxfill.c src/gxpcopy.c src/gxfdrop.c src/gxfill.h]

2003-11-25T00:21:59.000000Z Igor Melichev

Generailze the trapezoid fillling algorithm for curves, step 1.
The new code is disabled with CURVED_TRAPEZIOD_FILL 0 in gx.h .

DETAILS :

This patch slightly changes the enabled code
with adding more arguments to process_h_lists and end_x_line,
and with renaming gx_flatten_sample and gx_path_is_monotonic.
The new arguments are not used with CURVED_TRAPEZIOD_FILL 0.

With CURVED_TRAPEZIOD_FILL 1 the trapezoid filling algorithm
doesn't need to faltten the path in advance, and should work faster
due to smaller number of segment allocations.
Instead the generating of flattened segments and storing them to RAM
it breaks curves into pieces on-fly with help of
the gx_flattened_curve_iterator. Meanwhile it needs "small" curves.
To provide that we generalized gx_path_is_monotonic to gx_path__check_curves,
and gx_path_add_monotonized to gx_path_copy_reducing(..., pco_small_curves).

Minor changes :
- Fixed the vd_curve macro;
- improved vdtrace calls in gxpflat.c;
- Moved the FLATTENED_CURVE_ITERATOR definition to gx.h .

EXPECTED DIFFERENCES :

None.

[src/vdtrace.h src/gxfdrop.h src/gxpath.h src/gzpath.h src/gx.h src/gxpflat.c src/gxfill.c src/gxpcopy.c src/gxfdrop.c src/gxfill.h]

2003-11-24T14:50:37.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 12).

DETAILS :

The previous patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-November/date.html
is buggy. This patch fixes that.

EXPECTED DIFFERENCES :

Should fix regressions which could appear on 2003-11-24.

[src/gxfill.c]

2003-11-23T18:44:52.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 11).

DETAILS :

Factored out a line intersection function.
This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-11-23T10:16:40.000000Z Igor Melichev

[Log message beg]
Fix : Adding gs/Resource/Decoding/Latin1, which is used by FAPI/UFST with Intellifont fonts.

EXPECTED DIFFERENCES :

None.

[Resource/Decoding/Latin1 lib/gs_stres.ps]

2003-11-22T18:54:31.000000Z Ray Johnston

Previous change assumed that all platforms have 'long long' type, but MSVC
doesn't have this. Use int64_t as set by stdpre.h instead.

DETAILS:

Tested on Windows MSVC and linux/gcc, but we need to test portability on
other platforms like HP-UX, AIX, and VMS.

[src/genarch.c]

2003-11-21T20:01:22.000000Z Ralph Giles

Update indented preprocessor lines in code imported from Freetype to
put the '#' in the initial column, in accordance with the (slightly
more portable) Ghostscript convention.

[src/tttype.h src/tttables.h src/ttinterp.c src/ttobjs.h]

2003-11-21T18:42:01.000000Z Ralph Giles

Add a fallback definition of the common fixed-sized stdint types based on
the type sizes in the generated arch.h header. This should improve the portability
of uses of these types within the Ghostscript source.

DETAILS:

This new code in std.h does not superceed the in stdint.h and similar platform-
dependent includes in stdpre, it merely provides a fallback. stdpre.h now defines
STDINT_TYPES_DEFINED if it has done so; the std.h code is only activated if this
preprocessor symbol is not set.

This change does not help with the portability of compiling jbig2dec directly as
part of the Ghostscript build system since that code as a separate library includes
no headers from the Ghostscript tree.

[src/std.h src/stdpre.h src/genarch.c]

2003-11-21T04:16:37.000000Z Dan Coby

Fix for 687020 and 687146.  The pdfwrite device is incorrectly converting
CalRGB color spaces into ICC color spaces.  Fix #1.

Details:

As Raph pointed out in the Wednesday's support call, there are actually
two problems.

1.  We were not correctly recognizing that we can use a CalRGB color space
for the output.  This patch corrects this problem.  One of the tests in
that process was assuming an incorrect ordering to the transforms.  This
fix corrects this problem.

2.  The ICC color space which is being created is not equivalent to the
original CalRGB color space.  This results in differing colors between
the original file and the output PDF file.  This problem is still open.

Note:  I am leaving these bug reports still open since problem 2 is still
open.

[src/gdevpdfc.c]

2003-11-20T23:01:41.000000Z Igor Melichev

Factoring out the iterator for flattened curve segments.

DETAILS :

The new code is marked with FLATTENED_CURVE_ITERATOR defined in gzpath.h.
It defines gx_flattened_curve_iterator for using in the True Type grid fitting.

The old code has bugs in the MERGE_COLLINEAR_SEGMENTS section.
An uneven behavior happened near the 'points' buffer boundary
and with the last but one point : some points were not skipped
when they should. For a while we keep a compatibility of the
new code to the old one.

This patch :

1. Defines of the gx_flattened_curve_iterator.
2. Emulates of the old code with gx_flattened_curve_iterator.
3. Provides a compatibility to the old code bugs with FLATTENED_CURVE_ITERATOR0_COMPATIBLE.
4. Improves a debug printing in the old code, to allow a trace comparizon with the new one.
5. Improves an old comment "Fast check for n == 3" ('n' was not explained).
6. Saves stack space when gx_flatten_sample recurses.
7. Inserts a 'const' into vdtrace.* .

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/vdtrace.h src/gzpath.h src/gxpflat.c src/vdtrace.c]

2003-11-20T20:52:25.000000Z Alex Cherepanov

Restore v.1.2 rolled back by mistake.
Partial fix for bug 687029

[src/ttfsfnt.h]

2003-11-20T18:47:46.000000Z Ralph Giles

Add prefix headers for the MacOS build to define DEBUG for the appropriate targets. Bug
686844.

[src/macos_classic_d_pre.h src/macgenmcpxml.sh src/macos_carbon_d_pre.h]

2003-11-20T18:43:19.000000Z Ralph Giles

Replace non-standard #if DEBUG lines with #ifdef DEBUG. Discovered in fixing bug 686844.

[src/igc.h]

2003-11-20T16:16:45.000000Z Ralph Giles

Replace non-standard #if DEBUG lines with #ifdef DEBUG. Discovered in fixing bug 686844.

[src/igc.c]

2003-11-20T07:53:15.000000Z Igor Melichev

Implementing a True Type grid fitting, step 3.

DETAILS :

The new code is disabled with TT_GRID_FITTING 0 in gx.h .
This patch improves the stem recognizer and fixes the "#if DEBUG" error.

EXPECTED DIFFERENCES :

None.

[src/gzspotan.c]

2003-11-19T22:33:10.000000Z Ralph Giles

Add some basic instructions for creating an IDE project file for the example API client
code. Bug 669654.

[doc/API.htm]

2003-11-19T22:04:57.000000Z Ralph Giles

Link to the MacOS example client from the API documentation, along with the others.

[doc/API.htm]

2003-11-19T20:59:26.000000Z Ralph Giles

Replace the code that removes the additional CFLAGS added by the AC_PROG_CC autoconf
macro. Closes bug 687150.

DETAILS:

On linux with gcc, AC_PROG_CC adds '-g -O2' to the general CFLAGS. This was overriding
the -O we add in Makefile.in, and the bug complains that this confuses gdb because of
code re-organization.

This change also means we no longer include full debug symbols in the normal build. I
don't consider this an improvement personally, but will bow to the traditionalists. Note
that 'strip' still reduces the size of the executable by 20%, so it's still worth
running if you're concerned about install-size.

[src/configure.ac]

2003-11-19T13:09:32.000000Z Igor Melichev

Fix : The last change to ttfsfnt.h doesn't compile on Linux and has been undone.

DETAILS :

The wrong patch is
http://www.ghostscript.com/pipermail/gs-cvs/2003-November/003765.html

[src/ttfsfnt.h]

2003-11-19T02:51:11.000000Z Dan Coby

Fix for 687131  Incorrect rendering for type 1 images when Interpolate ==
true.

DETAILS:

The user has a custom device which uses more than 32 bits per pixel and
also uses gx_default_copy_colort.  This fix extends that routine to
handle pixels sizes beyond 32 bits.

[src/gdevdbit.c]

2003-11-19T01:46:18.000000Z Dan Coby

Enhancement for bug 687148.  Add 12 and 16 bits to the possible number
of bits per component for the bit devices.

[src/gdevbit.c]

2003-11-18T16:35:25.000000Z Alex Cherepanov

Replace non-portable types with ISO/IEC 988:1999 exact-size types.
Partial fix for bug 687029

[src/ttfsfnt.h]

2003-11-18T13:24:49.000000Z Igor Melichev

Implementing a True Type grid fitting, step 2.

DETAILS :

The new code is disabled with TT_GRID_FITTING 0 in gx.h .
This patch fixes memory management problems and implements
a trial stem recognizer.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxttfb.c src/gzspotan.c src/gzspotan.h]

2003-11-18T01:29:01.000000Z Dan Coby

Correct the documentation for the possible values of color_info.depth to
include values greater than 32 bits.  The documentation problem was found
by the user while investigating 687131.

[doc/Drivers.htm]

2003-11-17T20:17:38.000000Z Ray Johnston

Fix the logic that conditionally disables interpolation. The previous only
worked if the max_gray was set to the same as max_color, but the macro
dci_std_color_max_gray set max_gray to 0 if the number of components was
> 1. Detected with bug #687147 for customer #750.

[src/gxiscale.c]

2003-11-17T16:42:48.000000Z Igor Melichev

Implementing a True Type grid fitting, step 1.

DETAILS :

It's an initial commitment.
It is not completed, but we need to store changes to lib.mak .
The new code is disabled with TT_GRID_FITTING 0 in gx.h .

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxfcache.h src/gxttfb.c src/gxfdrop.h src/gsfont.c src/gx.h src/gzspotan.c src/gxfill.c src/gzspotan.h]

2003-11-17T15:46:25.000000Z Igor Melichev

Fix (pdfwrite) : Numeric errors appeared writing an UCR.

DETAILS :

The old code wrote UCR (undercolor removal) functions with mapping 0 to 0.00392,
causing a solid black to convert to a non-solid color with pkmraw device.
The fix reduces the sample range to [0:254] and generates an appropriate Decode array.

Bug 687109 "PDF-->pkmraw: 0 0 0 RG isn't solid:.
Bug 687138 "pdfwrite is adding poor UCR functions to output files".

EXPECTED DIFFERENCES :

This patch causes multiple differences with pdfwrite->pkmraw.
The change to pdfwrite definitely is a progression,
but it discovers a new bug 687146 "(pdfwrite) CalRGB wrongly converts to ICCBased".

We did not check which differences are coused by the new bug.
Will see after the bug is fixed.
Updating the baseline should be fine for entire list.

0.pdf
01_001.pdf
033-52-5873.pdf
159.pdf
246-01.ps
477-03.ps
477-04.ps
477-05.ps
86554321.pdf
a.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
ADOBE1-4.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
bc_02a01_cal.pdf
brochurep1.pdf
bulletin.pdf
CAT_LOGO.ps
ccc.pdf
chstudy.pdf
dave.pdf
Dave_Barry.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Es001-01.pdf
Faktura.pdf
file.pdf
Fixed_Original.pdf
foo.pdf
frosch.pdf
gs.anotherfailure.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
gslandscape.pdf
H00216q.pdf
ICPconcept.pdf
InstandardBuildChar.ps
Jahr2000.pdf
japan-.ps
japan.ps
js.pdf
kazmir.pdf
korea.ps
LD.pdf
little.guy.pdf
loremIpsum.pdf
MagicEye.pdf
map.pdf
messenger.pdf
messenger16.pdf
motor.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
non-sepqxd2distiller.pdf
Page01.pdf
pdftops.pdf
PixelisAd.pdf
prob.pdf
QA_Inv.pdf
rf1025.pdf
rotate0.pdf
rotate180.pdf
rotate270.pdf
rotate90.pdf
S2_Digitalproof-Forum_x3k.pdf
si_tg_brochure.pdf
smdf.90441.102.pdf
sports.pdf
Svd.pdf
test.pdf
test3.pdf
Testform.v1.0.2.pdf
TextRize.pdf
Type11CDevProc.ps
type42_glyph_index.ps
unihaken-color.pdf
vsem0093.pdf
Vu989qfj.pdf
xgfddg.pdf
xngnews.pdf

pdfwrite->pkmraw 300dpi :

0.pdf
01_001.pdf
033-52-5873.pdf
159.pdf
1_pct_50_bang.pdf
246-01.ps
477-03.ps
477-04.ps
477-05.ps
86554321.pdf
a.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
ADOBE1-4.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
bc_02a01_cal.pdf
brochurep1.pdf
bulletin.pdf
CAT_LOGO.ps
ccc.pdf
chstudy.pdf
dave.pdf
Dave_Barry.pdf
dina3_watermark.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Es001-01.pdf
Faktura.pdf
file.pdf
Fixed_Original.pdf
foo.pdf
frosch.pdf
gs.anotherfailure.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
H00216q.pdf
ICPconcept.pdf
InstandardBuildChar.ps
Jahr2000.pdf
japan-.ps
japan.ps
js.pdf
kazmir.pdf
korea.ps
LD.pdf
little.guy.pdf
loremIpsum.pdf
MagicEye.pdf
map.pdf
messenger.pdf
messenger16.pdf
motor.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
non-sepqxd2distiller.pdf
Page01.pdf
pdftops.pdf
PixelisAd.pdf
prob.pdf
QA_Inv.pdf
rf1025.pdf
S2_Digitalproof-Forum_x3k.pdf
si_tg_brochure.pdf
smdf.90441.102.pdf
sports.pdf
Svd.pdf
test.pdf
test3.pdf
Testform.v1.0.2.pdf
TextRize.pdf
tpc2.ps
type1-ce1_setcurrentpoint.ps
Type11CDevProc.ps
type42_glyph_index.ps
unihaken-color.pdf
vsem0093.pdf
Vu989qfj.pdf
xgfddg.pdf
xngnews.pdf

[src/gdevpdfg.c]

2003-11-14T18:59:56.000000Z Alex Cherepanov

JAWS PDF generator encodes empty stream as jaws_empty[]. The stream declares
that the data block length is zero but zlib routines regard a zero length data
block to be an error. Check for this case and return EOF without calling zlib.
Fix bug 686779 from the customer 131

[src/lib.mak src/szlibd.c]

2003-11-14T18:21:40.000000Z Ray Johnston

First attempt to add information requested by Igor to identify when the
basline was set for a particular 'DIFFER' case. Bug #687142.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_pdfwrite.py]

2003-11-13T22:41:41.000000Z Igor Melichev

Fix : Add double inclusion protection to the True Type interpreter bridge modules.

DETAILS :

They follow FreeType's C-style as other modules branched from FreeType.

EXPECTED DIFFERENCES :

None.

[src/ttconf.h src/ttmisc.h]

2003-11-13T22:27:27.000000Z Igor Melichev

Fix : The first clip path list element sometimes got an empty path.

DETAILS :

This continues fixing the bug 686885 "bad paths in pdf".

If !pcpath->path_valid, we convert the pcpath->rect_list to a path,
storing it into the clip path list element.

EXPECTED DIFFERENCES :

pdfwrite progressions :

1_2001.pdf
Altona-Testsuite_p2_S_x3.pdf

(I'm sorry, in
http://www.ghostscript.com/pipermail/gs-cvs/2003-November/003751.html
a difference with Altona-Testsuite_p2_S_x3.pdf was misidentified as a progression.
Rather that raster looks better, it differs more from Adobe.
With this patch the raster is closer to Adobe)

[src/gxcpath.c]

2003-11-13T19:20:36.000000Z Ray Johnston

Fix: Adobe Acrobat Reader ignores an empty path when setting the clip
path. Bug #687136.

DETAILS:

We never encountered this problem in a 'real' file, but one of Raph's
test files showed the difference in the way our PDF interpreter handled
an zero area path to setting clipping versus the way Adobe does.

Igor tested CPSI and determined that PostScript results in a zero area
clipping box, but Acrobat Reader works differently, so the patch detects
a zero area path and does not change the clipping path in that case.

The details of the determination of 0 area is commented here:

pathbbox	% get the path bounding box
3 -1 roll	% roll to get upper and lower Y coordinates together
sub abs		% form absolute delta Y of path bbox
3 1 roll	% roll upper and lower X coordinates to TOS
sub abs		% form absolute delta X of path bbox
add		% sum abs delta X and abs delta Y
0 ne		% if it is non-zero, then perform the clip/eoclip

[lib/pdf_ops.ps]

2003-11-13T15:19:00.000000Z Igor Melichev

Fix (pdfwrite) : Transfer function was not checked for identity.

DETAILS :

Bug 687124 "Large PDF file created from Quark with EPS's within",
A document defines a transfer function { {} exec {} exec },
which was not recognized as identity, causing an image downsampling to be rejected.
Improved pdf_update_transfer with checking for identity transfer.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfg.c]

2003-11-12T19:58:58.000000Z Alex Cherepanov

Default to empty string when there's no /ID in the trailer and issue
a warning because the key is required for encrypted files.
Fix bug 687135

[lib/pdf_sec.ps]

2003-11-12T14:29:08.000000Z Igor Melichev

Fix (pdfwrite) : Write high level clipping paths.

DETAILS :

This includes the "Preliminary patch for preserving clip path lists-bug686885" by Raph
(gxcpath.c, gzcpath.h), and a simple algorithm for writing it to PDF (gdevpdfd.c).

Now it writes entire list whenever clipping path is changed.
A diserable optimization is to avoid writing redundant elements.
For doing that we would like to have an id and a 'changed' flag in gx_path_s.

Bug 686885 "bad paths in pdf".

EXPECTED DIFFERENCES :

This patch discovers a problem in PDF interpreter with re-distilled 1_2001.pdf .
The problem is tracked as a new bug 687136 .

Other expected differences are pdfwrite progressions :

pdfwrite 72 dpi :

027-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
083-01.ps
102-01.ps
109-01.ps
169-01.ps
1_2001.pdf
205-01.ps
222-01.ps
298-01.ps
321-01.ps
Altona-Testsuite_p2_S_x3.pdf
BEST8-99-Path.fh7.pdf
H00216q.pdf
Openhuis_pdf_zw.pdf
PixelisAd.pdf
test.pdf

pdfwrite 300 dpi :

027-01.ps
027-09.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
083-01.ps
102-01.ps
109-01.ps
169-01.ps
169-09.ps
1_2001.pdf
205-01.ps
222-01.ps
222-09.ps
298-01.ps
298-09.ps
307-07.ps
316-07.ps
321-01.ps
321-09.ps
Altona-Testsuite_p2_S_x3.pdf
BEST8-99-Path.fh7.pdf
H00216q.pdf
Openhuis_pdf_zw.pdf
PixelisAd.pdf
shading_prob_800.ps
test.pdf

[src/gxcpath.c src/gdevpdfd.c src/gzcpath.h]

2003-11-11T12:16:47.000000Z Alex Cherepanov

Use [/XYZ null null null] as a default destination following the Distiller
example. The old destination was clearly wrong because it positioned the
bottom of the page on the top of the screen, effectively displaying the
next page.
Fix bug 687129

[src/gdevpdfm.c]

2003-11-11T11:23:18.000000Z Igor Melichev

Fix : ..includecolorspace caused an abnormal recursion.

DETAILS :

1. With -dNOSUBSTDEVICECOLORS the procedure ..includecolorspace called
setcolorspace, which recursively called ..includecolorspace .
This recursion would be infinit unless an ocasional error
in a stopped context terminates it. We replace setcolorspace
with _setcolorspace_nosub to avoid the recursion.
This fixes the bug 687134 "-dNOSUBSTDEVICECOLORS causes text to disappear".

2. An optimization done with a new dictionary ..page_default_spaces,
which now keeps up to 3 global flags for Default* color spaces,
to reflect whether they were included into a current page.
It prevents redundant calls to _setcolorspace_nosub, .includecolorspace
from ..includecolorspace .

3. Moved .PurgeDict to gs_init.ps because now it is called from showpage, copypage .

4. Added a name argument to .includecolorspace and passed it through
a set of functions in the graphics library and pdfwrite.
Before that Default* color spaces were included into the PDF output
with wrong resource names.

5. Minor change : fixed a procedure header comment in gs_devcs.ps .

EXPECTED DIFFERENCES :

None, because the nightly regression doesn't test -dNOSUBSTDEVICECOLORS .

[lib/gs_devcs.ps lib/gs_ciddc.ps src/gdevdflt.c src/gscolor2.h src/gdevpdfc.c src/gdevnfwd.c src/gdevpdfv.c src/zcolor.c src/gscolor2.c src/gxdevcli.h src/gdevpdfg.h lib/gs_init.ps]

2003-11-10T19:47:50.000000Z Dan Coby

Continuation on the fix for 687101, Crash in GC on some PDF files.
This change adds comments to GS procedures for the imager state
structure.  These comments Were added to prevent confusion about the
handling of the effective transfer pointers.

[src/gsistate.c]

2003-11-10T16:55:00.000000Z Igor Melichev

Fix (type 1 hinter) : Hints were not applied to the last segment of a Type 2 glyph.

DETAILS :

Due to Type 2 glyphs have no explicit closepath,
the last contour was not added to the contours list.
It caused its last segment got type=closepath instead type=oncurve,
and was skipped from grid fitting.

Bug 687119  "(pdfwrite) different raster if Helvetica is embedded".

EXPECTED DIFFERENCES :

Normal, 72dpi :

455690.pdf
acrobat.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
bugsample.pdf
bulletin.pdf
ca.pdf
CIDembedded.pdf
dave.pdf
Fixed_Original.pdf
font_issue.pdf
HeiseiMinStd.pdf
KozukaB-ILEmbed.pdf
Openhuis_pdf_zw.pdf
Original.pdf
PixelisAd.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
Svd.pdf
test.pdf
time1.pdf
vsem0093.pdf

pdfwrite, 72dpi :

033-52-5873.pdf
093-01.ps
455690.pdf
86554321.pdf
aaon97_p7.pdf
acrobat.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
Bug687044.ps
bugsample.pdf
bulletin.pdf
ca.pdf
chess.ps
chstudy.pdf
CIDembedded.pdf
dave.pdf
Fixed_Original.pdf
font_issue.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
kazmir.pdf
knight.pdf
KozukaB-ILEmbed.pdf
laballade.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
Original.pdf
PixelisAd.pdf
prob.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
Svd.pdf
test-setweightvector.ps
test.pdf
test2.pdf
test2a.pdf
time1.pdf
tpc2.ps
vsem0093.pdf

Normal, 300dpi :

455690.pdf
86554321.pdf
ai2.pdf
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
bugsample.pdf
bulletin.pdf
ca.pdf
CIDembedded.pdf
dave.pdf
Fixed_Original.pdf
font_issue.pdf
HeiseiMinStd.pdf
KozukaB-ILEmbed.pdf
non-sepqxd2distiller.pdf
Openhuis_pdf_zw.pdf
Original.pdf
PixelisAd.pdf
QuickNews_Nov22.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
Svd.pdf
test.pdf
time1.pdf
type2accent.pdf
vsem0093.pdf


pdfwrite, 300dpi :

033-52-5873.pdf
093-01.ps
455690.pdf
86554321.pdf
aaon97_p7.pdf
acrobat.pdf
ai2.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
besttest.pdf
bla.ps
Bug687044.ps
bugsample.pdf
bulletin.pdf
ca.pdf
chess.ps
chstudy.pdf
CIDembedded.pdf
dave.pdf
Fixed_Original.pdf
fonttest.pdf
font_issue.pdf
gslandscape.pdf
H00216q.pdf
HeiseiMinStd.pdf
kazmir.pdf
knight.pdf
KozukaB-ILEmbed.pdf
laballade.pdf
NIL_0003.pdf
non-sepqxd2distiller.pdf
Openhuis_pdf_zw.pdf
Original.pdf
pdfopt_bug.pdf
PixelisAd.pdf
prob.pdf
QuickNews_Nov22.pdf
RealCities.pdf
rf1025.pdf
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
Svd.pdf
test-setweightvector.ps
test.pdf
test2.pdf
test2a.pdf
time1.pdf
tpc2.ps
type2accent.pdf
vsem0093.pdf

[src/gxhintn.c]

2003-11-10T13:34:17.000000Z Igor Melichev

Fix : Refer new source modules from Develop.htm .

[doc/Develop.htm]

2003-11-08T07:44:11.000000Z Dan Coby

Add and option for specifying banded/noband.  The current version actually
uses 1 to specify banding and 0 to specify no banding. This is the optional
fourth parameter.

[toolbin/tests/make_two_versions]

2003-11-07T04:40:17.000000Z Alex Cherepanov

Restore the invariant: effective_transfer always points to the transfer
functions in the graphic state or halftone. Old code briefly left
effective_transfer pointing to garbage, which caused relocation of garbage
pointers and crash if GC happened at the right time.
Fix bug 687101

[src/gscolor.c src/gscolor1.c]

2003-11-04T01:25:31.000000Z Dan Coby

Fix for 686796 tiffg4 device and incorrect halftone frequency.
This eliminates a problem with not choosing the best halftone cell size
when more than one possible cell size has the exact angle requested.

DETAILS:

Previously the logic for determing the size of the halftone cells used
the product of the error in frequency times the error in the angle as
the metric for determing the best cell size.  For many common angles,
0, 45, 90, etc., this results in an angle error of zero.  This then
gave a value of zero for the metric no matter what the frequency error.
The result was that in many cases we ignored cell sizes that gave a
better frequency match.  The fix revies the metric to choose a cell
size which is closest (geometrically) to the ideal cell size.

[src/gshtscr.c]

2003-11-03T10:36:27.000000Z Ralph Giles

Correct spelling and wording.

[doc/Use.htm]

2003-11-03T02:39:15.000000Z Alex Cherepanov

Initialize cc->pair field for the external fonts, forgotten
during the switch to new TrueType interpreter (NEW_TT_INTERPRETER).
Fix bug 687116

[src/gxccache.c]

2003-11-01T13:18:09.000000Z Igor Melichev

Fix (font resource machinery) : Dont try reloading fonts if the platform has no native fonts.

DETAILS :

This change suppresses redundant messages
"Cant find (or cant open) font file xxx.".

EXPECTED DIFFERENCES :

None.

[lib/gs_fonts.ps]

2003-11-01T04:43:37.000000Z Alex Cherepanov

Following the PDF spec ignore "/Encrypt null" entry in the trailer.
Fix bug 687117

DETAILS:
This patch is not an equivalent transformation because knownoget returns
false when the key value is null.

[lib/pdf_main.ps]

2003-10-31T22:12:48.000000Z Igor Melichev

Fix (font resource machinery) : Provide correct font names for graphics library.

DETAILS :

The old code passed names of substitutes rather than font names referred by a document.
This patch fixes that with adding a special ney entry /.Alias to the font dictionary.

Besides that, multiple problems are fixed in gs_fonts.ps,
some of them appeared before the repository was created.
Lising them here :

1. Several comments about stack layout in procedure headers were wrong
   since the repository was created.
   We repaired some of them, but possibly not all.

2. The old code assumed that SubstituteFont adds
   a name to the stack rather than replaces it.
   See comment inserted into .dofindfont .
   The patch for the bug 637424 (Revision 1.24, Nov 21, 2002) broken the
   old behavior and left multiple rudiments in code.
   Now we restore the old functionality, and make SubstututeFont
   to be compartible with CPSI, which replaces a name.

3. Now we define fonts for all aliases in the aliasing/substituting chain.
   Not sure it is better than defining only the final one,
   but the pre-repository code did so, and was
   unintentionaly broken by multiple patches.

4. .stdsubstfont dropped some aliases with no strong reason.
   Restoring the old behavior.

5. .tryloadfont damaged the stack balance. It was not visible due to (4).

6. We use a hack to provide the main functionality.
   See comment in .aliasfont . A complete solution is too hard.

7. Inserted auxiliary comments about the stack layout.

This change fixes the bugs
687047 "fonts renamed in resulting pdf file"
687111 "Quality of output wth gs8.11 for pdfwrite device is faded as compared to gs6.12"

EXPECTED DIFFERENCES :

MANY OF pdfwrite TESTS RENDER DIFFERENTLY due to the font substitution had changed.
Now pdfwrite does not embed /NimbusMonL-Regu, but recognize its alias Courier
as a standard font name.


0.pdf
000040cf.000_60.pdf
001-01.ps
001-13.ps
001-25.ps
002-09.ps
002-21.ps
002-33.ps
003-01.ps
012-01.ps
012-05.ps
012-09.ps
012-13.ps
013-01.ps
013-05.ps
013-09.ps
013-13.ps
014-01.ps
014-05.ps
014-09.ps
014-13.ps
015-01.ps
015-05.ps
015-09.ps
016-01.ps
017-01.ps
018-01.ps
020-01.ps
021-01.ps
023-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
028-01.ps
031-01.ps
031-05.ps
032-01.ps
032-07.ps
033-01.ps
034-01.ps
034-10.ps
035-01.ps
035-07.ps
036-01.ps
038-01.ps
039-01.ps
040-01.ps
045-01.ps
046-01.ps
050-01.ps
055-01.ps
061-01.ps
070-01.ps
076-01.ps
083-01.ps
083-05.ps
083-09.ps
083-13.ps
084-01.ps
091-01.ps
093-01.ps
094-01.ps
096-01.ps
102-01.ps
103-01.ps
104-01.ps
109-01.ps
110-01.ps
113-01.ps
118-01.ps
119-01.ps
119-10.ps
119-16.ps
119-23.ps
119-35.ps
119-41.ps
119-47.ps
120-01.ps
123-01.ps
123-05.ps
123-09.ps
124-01.ps
129-01.ps
136-01.ps
141-01.ps
148-01.ps
148-05.ps
148-11.ps
148-16.ps
149-01.ps
149-05.ps
150-01.ps
154-01.ps
158-01.ps
159.pdf
162-01.ps
165-01.ps
166-01.ps
169-01.ps
169-05.ps
169-09.ps
169-13.ps
170-01.ps
175-01.ps
176-01.ps
177-01.ps
181-01.ps
184-01.ps
192-01.ps
194-01.ps
1_pct_50_bang.pdf
200-01.ps
205-01.ps
205-05.ps
205-09.ps
205-13.ps
206-01.ps
212-01.ps
213-01.ps
214-01.ps
215-01.ps
219-01.ps
220-01.ps
220-07.ps
222-01.ps
222-05.ps
222-09.ps
222-13.ps
223-01.ps
226-01.ps
227-01.ps
231-01.ps
233-01.ps
237-01.ps
238-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
246-01.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
265-01.ps
268-02.ps
268-03.ps
268-04.ps
268-05.ps
268-06.ps
268-10.ps
269-01.ps
270-01.ps
272-01.ps
276-01.ps
281-01.ps
282-01.ps
289-01.ps
296-01.ps
297-01.ps
298-01.ps
298-05.ps
298-09.ps
299-01.ps
303-01.ps
304-01.ps
307-01.ps
307-07.ps
307-13.ps
308-04.ps
310-04.ps
311-03.ps
313-01.ps
316-07.ps
320-01.ps
321-01.ps
321-05.ps
321-09.ps
321-13.ps
322-01.ps
325-01.ps
327-01.ps
328-01.ps
330-01.ps
334-01.ps
335-01.ps
336-01.ps
401-01.ps
405-01.ps
409-01.ps
415-01.ps
421-01.ps
430-01.ps
438-01.ps
442-01.ps
446-01.ps
450-01.ps
460-01.ps
463-01.ps
464-01.ps
468-01.ps
473-01.ps
476-01.ps
477-01.ps
477-03.ps
477-04.ps
477-05.ps
477-06.ps
478-01.ps
483-01.ps
483-05.ps
541.pdf
541_623.pdf
86554321.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso2.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
adesso8.pdf
ADOBE1-4.pdf
AdobeLic.pdf
ats-3-5-99.pdf
bc_02a01_cal.pdf
brochurep1.pdf
bug-gstest.pdf
ca.pdf
ccc.pdf
chess.ps
colorcir.ps
Dave_Barry.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
Encoding.ps
foo.pdf
frosch.pdf
GS_Stroke_error.pdf
H00216q.pdf
Jahr2000.pdf
js.pdf
kazmir.pdf
LD.pdf
messenger.pdf
messenger16.pdf
mspro.pdf
NECPNTD.pdf
new_rect.pdf
new_rect_nr.pdf
ngnews.pdf
ngnews1.pdf
p2b-100.pdf
pdftops.pdf
prfmm.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
RealCities.pdf
rf1025.pdf
smdf.90441.102.pdf
Svd.pdf
test3.pdf
TextRize.pdf
textsavematrix.pdf
two_encodings.ps
Vu989qfj.pdf
waterfal.ps
xgfddg.pdf
xngnews.pdf

[doc/Use.htm lib/gs_fonts.ps src/zbfont.c]

2003-10-30T14:56:58.000000Z Igor Melichev

Fix (dropout prevention) : The expression for choosing a pixel to paint with narrow trapesoids
was wrong (An improved revision).

DETAILS :

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-October/003721.html
appears wrong. Now fixing it.


EXPECTED DIFFERENCES :

The massive difference in text rendering, which appeared after the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-October/003721.html
now should disappear. Only expected difference from the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-October/003719.html
(see its log message) should persist.

[src/gxdtfill.h]

2003-10-30T12:56:12.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 10).

DETAILS :

Factored out fill_trap_or_rect.
This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-30T11:39:07.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 8).

DETAILS :

Don't create active line copies, because now the X list doesn't change.
This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-30T11:02:35.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 7).

DETAILS :

Removed some unused functions.
This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-30T10:45:33.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 6).

DETAILS :

This patch includes 2 changes :

1. Removed the "out of order lines patch".
We believe that now it never happens.

2. A code restructurization.
Moved the line intersection routine outside the main loop.

This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-30T09:33:33.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 5).

DETAILS :

Divided gxfill.c into 2 modules.
Moved the dropout prevention code to the new module gxfdrop.c .
This change should be algorithmically equivalent.

Minor change :

1. Removed the ll_ptr type definition. IMO it is not fully conforming to C-style.htm .
2. Removed free variables from INSIDE_PATH_P and made it be of the module scope.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxfdrop.h src/gxfill.c src/gxfdrop.c src/gxfill.h]

2003-10-30T07:55:20.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 4).


DETAILS :

1. Restructirases some if statements to remove redundant code fragments.
2. Eliminated a low useful macros AL_DX, AL_DY.
This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-30T06:34:05.000000Z Alex Cherepanov

Correct a typo in source leading to failure of form selection for PCL
printers. (contributed by Jim Bandy)
Fix bug 686815

[src/gdevdljm.c]

2003-10-29T17:43:59.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 2).


DETAILS :

1. The new function fill_trap_slanted fgactored out from the trapezoid algorithm
   to simplify the code of the latter.
2. Simplified argument lists of dropout prevention functions.
3. Moved helper function definitions before calls to allow
   inline optimizations.
This change should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-29T15:58:33.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 2).


DETAILS :

This change removes the obsolete code PSEUDO_RASTERIZATION 0.
It should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-29T14:57:14.000000Z Igor Melichev

Fix : Simplify the filling algorithm (step 1).

DETAILS :

This change divides the X-cycle of the trapezoid algorithm into 2 passes.
The new function move_al_by_y is the second pass.
It should be algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxfill.c]

2003-10-28T14:44:35.000000Z Igor Melichev

Fix (dropout prevention) : The expression for choosing a pixel to paint with narrow trapesoids
was wrong. The old code sometimes unreasonably shifted stems in 1 pixel.

EXPECTED DIFFERENCES :

A massive difference in text rendering.
ALMOST ALL comparefiles RENDER DIFFERENTLY.

[src/gxdtfill.h src/gxfill.c]

2003-10-28T14:42:41.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 21, final).

DETAILS :

This patch switches on the new TT interpreter
and updates the documentation.

EXPECTED DIFFERENCES :

Massive difference in rendering TT fonts :

01_001.pdf
159.pdf
adesso2.pdf
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
annots.pdf
budget2.pdf
budget2_ai87.pdf
bugsample.pdf
Faktura.pdf
fonts.pdf
ICPconcept.pdf
japan-.ps
japan.ps
keyboard.pdf
korea.ps
MagicEye.pdf
MyTest5.ps
MyTest6.ps
S2_Digitalproof-Forum_x3k.pdf
Testform.v1.0.2.pdf
test_multipage_prob.pdf
Type11CDevProc.ps
type42_glyph_index.ps

[doc/Projects.htm doc/Use.htm doc/Develop.htm src/gx.h doc/Language.htm]

2003-10-27T10:45:18.000000Z Igor Melichev

Reclaim global memory in the beginning of the interpreter finalization (continued).

DETAILS :

Fixes the bug 687100 gswin32 -h crashes.

EXPECTED DIFFERENCES :

None.

[src/imain.c]

2003-10-27T09:04:55.000000Z Igor Melichev

Fix : Removing the PDF Widths project from Project.htm .

DETAILS :

The issue was closed with pdf_font.ps Revision 1.57.
Thanks to Alex Cherepanov.

EXPECTED DIFFERENCES :

None.

[doc/Projects.htm]

2003-10-27T08:02:21.000000Z Igor Melichev

Fix (garbager) : The back pointer validity constraint was wrong.

DETAILS :

Bug 687021 "A crash in memory manager"

Here is what happens :

A big chunk is allocated by i_alloc_struct_array.
Later a part of the array is released.
Then another object is allocated in the released area.
Then the object is being relocated.
The old validity constraint in igc_reloc_struct_ptr assumed that the object
is in a chunk of the standard size.
However it is not.
The check fails, and gs_exit() is called.
The latter calls vm_reclaim and falls into an infinite recursion and crashes.

This patch enhances the constraint for instandard (big) chunks.
Unfortunately their sizes can't easy obtain from igc_reloc_struct_ptr,
therefore the new check only works for pointers to same chunk.
A new field (DEBUG=1 only) is inserted into gc_state_s to access the chunk from
igc_reloc_struct_ptr. We're not happy of this solution,
but there is no idea how to improve it.


EXPECTED DIFFERENCES :

With -Z? the old code failed with pdfwrite->ppmraw with the following tests :

040-01.ps
091-01.ps
110-01.ps
282-01.ps
Altona.Page_3.2002-09-27.pdf    (crash)

The new code doesn't fail with -Z? .

Nightly regression doesn't test -Z? .

[src/igc.c src/igc.h]

2003-10-26T00:52:28.000000Z Alex Cherepanov

Apply oforce to every element of MediaBox and CropBox arrays.
Fix bug 687035 from customer 831

[lib/pdf_main.ps lib/pdf_base.ps]

2003-10-24T06:14:59.000000Z Dan Coby

Some minor clean up for the makefiles:
1.  Correct lines that should start with tabs.
2.  Clear some lines which only contain spaces.

[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/dvx-gcc.mak src/msvc32.mak src/unixansi.mak src/msvclib.mak src/macos-mcp.mak src/msvctail.mak src/os2.mak]

2003-10-23T17:45:33.000000Z Igor Melichev

Fix (PDF interpreter) : Shared CID font descriptors did not work properly.

DETAILS :

When a CID font descriptor is shared with several CID font resources,
must create several font objects with different CIDToGIDMap, DW, DW2
taken from CID font resource dictionaries.
The old code created a single font object with one randomly chosen CIDToGIDMap,
making some glyphs inaccessible, and glyphs could misplace.

New procedures adjustCIDType0, adjustCIDType2 are added into the adjustfont
dictionary, so that now CID fonts are processed in same way as fonts.
Bug 687048 "fonts not rendered correctly".

Besides that, the old code on pdf_font.ps created a CDevProc
for processing DW[2], but it was not properly added to the font dictionary and
was not executed. The new code fixes that.
This issue causes rendering differences.

[end quote]

EXPECTED DIFFERENCES :

This patch causes progressions in PDF interpreter :

raster, 72dpi :
ICPconcept.pdf
Testform.v1.0.2.pdf

raster, 300dpi :
Altona.Page_3.2002-09-27.pdf
ICPconcept.pdf
Testform.v1.0.2.pdf

pdfwrite->raster, 72dpi :
Altona.Page_3.2002-09-27.pdf
ICPconcept.pdf
japan-.ps
japan.ps
Testform.v1.0.2.pdf
Type11CDevProc.ps

pdfwrite->raster, 300dpi :
Altona.Page_3.2002-09-27.pdf
ICPconcept.pdf
japan-.ps
japan.ps
korea.ps
shading_prob_800.ps
Testform.v1.0.2.pdf
Type11CDevProc.ps

[lib/pdf_font.ps]

2003-10-23T10:46:22.000000Z Igor Melichev

Fix (pdfwrite) : Restrict Tj offsets.

DETAILS :

Acrobat reader 4.0c, 5.0 can't handle big offsets.
Bug 687089 "Displaced characters in PDF".

EXPECTED DIFFERENCES :

None.

[src/gdevpdts.c]

2003-10-23T09:56:44.000000Z Igor Melichev

Fix (pdfwrite) : MSVC compiler warning.

EXPECTED DIFFERENCES :

None.

[src/gdevpdte.c]

2003-10-23T09:49:31.000000Z Igor Melichev

Fix (pdfwrite) : Optimize pdf_make_text_glyphs_table_unencoded.

DETAILS :

This change is algorithmically equivalent.
The new code isn't faster, because the new function gs_c_decode
still needs an optimization, but the latter is simple.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c src/gscencs.c src/gdevpdtt.h src/gscencs.h]

2003-10-23T09:04:43.000000Z Igor Melichev

Fix : ColorSpace resource files define global resources.

DETAILS :

This is an optimisation issue.

EXPECTED DIFFERENCES :

None.

[Resource/ColorSpace/DefaultGray Resource/ColorSpace/DefaultCMYK Resource/ColorSpace/DefaultRGB]

2003-10-22T19:55:45.000000Z Ralph Giles

Always install all the available resource categories (directories) on
unix, in place of the earlier hard-wired list. Closes bug 687092.

[src/unixinst.mak]

2003-10-22T19:48:15.000000Z Ralph Giles

Add the new ColorSpace directory to the list of installed resource
categories. This is the quick fix version of the resolution for Bug
687092.

[src/unixinst.mak]

2003-10-22T19:35:44.000000Z Dan Coby

Fix for 687099 Rebulding XREF leaves 1 object on the stack.  The  bug
title is erroneous.  All PDF files were leaving one item, a zero, on
the stack.  The problem was caused by an incorrect definition of
pdfemptycount.

[lib/pdf_main.ps]

2003-10-22T16:39:28.000000Z Dan Coby

Change the name of the switch NOSUBDEVICECOLORS to NOSUBSTDEVICECOLORS.
This was done to prevent confusion about being read as 'No subdevice
colors'.

[lib/gs_devcs.ps doc/Use.htm lib/gs_init.ps]

2003-10-22T13:11:27.000000Z Igor Melichev

Fix (pdfwrite) : Provide an extended encoding for glyphshow.

DETAILS :

It fixes the problem 1 described in
the bug 687087 "pdfwrite : A mangled /trademark glyph" :
the glyph was converted to outline.

In the test document a glyphshow uses a glyph outside the font's Encoding.
Now we find a known Postscript encoding containing the glyph,
and encode the glyph with it.
Glyphs with unknown names still convert to outlines.

EXPECTED DIFFERENCES :

pdfwrite progressions :
136-01.ps
244-01.ps
The document tpc2.ps of the bug 687087.

[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtt.h src/devs.mak]

2003-10-22T12:14:23.000000Z Ralph Giles

Update a call to map_rgb_color() to use the new encode_color() with a
component array argument. Partial resolution of Bug 686981.

DETAILS:

This resolves the compiliation problem that was the substance of the
original report. However, there is further code rot to be corrected as
the driver fails in use with '/undefined in --get--'.

[src/gdevcgm.c]

2003-10-22T11:22:30.000000Z Alex Cherepanov

Restore standard functionality of bind operator in DELAYBIND mode after
.bindnow . Simplify the implementation logic and document the changes.
Fix bug 686746

DETAILS:
The fix is based on the patch from Piotr Strzelczyk but selects
the bind definition at run time following the old implementation
to avoids errors when the differed bind operator is bound in.

[lib/ps2ascii.ps lib/gs_ll3.ps doc/Language.htm lib/gs_init.ps]

2003-10-22T09:58:28.000000Z Ralph Giles

Make a sentence fragment a clause.

[doc/Drivers.htm]

2003-10-22T08:55:44.000000Z Alex Cherepanov

Dereference indirect objects during conversion from PDF form XObject to
PostScript form. Minimize dictionary copying.
Fix bug 686953.

[lib/pdf_draw.ps]

2003-10-22T07:07:48.000000Z Igor Melichev

Fix (PDF interpreter) : Annotations, outlines and links pointing to
non-existing pages caused a failure with -dDOPDFMARKS.
Patch from Leon Bottou.


DETAILS :

Bug 686839 "Patch to ignore pdf errors in outlines and links"

A followup form Leon Bottou :

[beg quote]
I found several pdf files with damaged or incorrect annotations (outlines, links)
pointing to non existing pages or even pointing to nodes of incorrect type

When using the pdf interpreter with -dDOPDFMARKS, such
errors cause an execution error in the pdf interpreter
The attached patch ignores such errors.  The assumption is that
it is better to produce botched pdfmarks than producing an error
message and be unable to process the file.
[end quote]

EXPECTED DIFFERENCES :

None.

[lib/pdf_main.ps]

2003-10-21T15:02:41.000000Z Igor Melichev

Fix (pdfwrite) : Refactor pdf_obtain_font_resource.

DETAILS :

This change is algorithmically equivalent.
It's a preparation for fixing the problem 1 described in
the bug 687087 "pdfwrite : A mangled /trademark glyph"

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2003-10-21T13:37:16.000000Z Ralph Giles

Complete the replacement for fname_size described in the previous
commit. Part of fixing bug 686981.

[src/gdevcgm.c]

2003-10-21T13:28:54.000000Z Ralph Giles

Replace a non-standard local filename length define with gp_file_name_sizeof.

[src/gdevcgm.c src/devs.mak]

2003-10-21T11:54:04.000000Z Alex Cherepanov

Fix compiler warnings. Include gpmisc.h when needed.
Fix bug 687006.

[src/lib.mak src/openvms.mak src/gp_macio.c src/gp_ntfs.c src/int.mak src/winplat.mak src/gp_dosfs.c src/macos-mcp.mak src/gp_unifn.c src/stdio_.h src/zfile.c src/openvms.mmk src/gp_vms.c]

2003-10-21T11:20:02.000000Z Alex Cherepanov

Issue a path construction command after accumulation of 500 values to prevent
operand stack overflow.
Fix bug 687016

[src/gdevps.c]

2003-10-21T10:06:16.000000Z Igor Melichev

Fix : Disable the grid fitting while charproc accumulation (continued).

DETAILS :

1. If a charproc of a Type 3 font uses another Type 3 font, and the latter
converts to raster, the grid fitting was erroneusly disabled while
its charproc accumulation. Not sure that this case can happen,
but we like to clean up.

2. An optimization to process_plain_text is algorithmically equivalent.
   It is not related to charprocs though.

EXPECTED DIFFERENCES :

None with comparefiles.

[src/gdevpdte.c src/gdevpdti.c]

2003-10-21T08:05:44.000000Z Igor Melichev

Fix : Add newly defined resource files to static resources.

EXPECTED DIFFERENCES :

None.

[lib/gs_stres.ps]

2003-10-21T07:50:14.000000Z Igor Melichev

Fix : Some Cygwin/gcc compiler warnings.

EXPECTED DIFFERENCES :

None.

[src/isave.h src/iscan.c src/icid.h src/gxhintn.c src/zfont.c src/interp.c src/gxtype1.c src/gdevpdtt.c src/gdevpdfg.c src/isave.c src/devs.mak src/zfapi.c]

2003-10-21T01:43:28.000000Z Igor Melichev

Fix : Disable the grid fitting while charproc accumulation.

DETAILS :

This is a partial (minor) fix for the bug 687087 "pdfwrite : A mangled /trademark glyph".
The glyph looks fine but still converts to outline.

This change works for pdfwrite only.
It changes several files in the graphics library, but other devices
should percept this change as algorithmically equivalent.

The core of the change is explained in the comment inserted into gdevpdtt.c :

    if (pdev->font3 != 0) {
	/* A text operation happens while accumulating a charproc.
	   This is a case when source document uses a Type 3 font,
	   which's charproc uses another font.
	   Since the text operation is handled by the device,
	   the font isn't converting to a raster (i.e. to a bitmap font).
	   Disable the grid fitting for the convertion to get a proper outlines,
	   because the viewer resolution is not known during the accumulation.
	   Note we set identity CTM in pdf_text_set_cache for the accumilation,
	   and therefore the font may look too small while the source charproc
	   interpretation. The document tpc2.ps of the bug 687087 is an example.
	*/
	penum->device_disabled_grid_fitting = true;
    }

It is implemented with defining the new field device_disabled_grid_fitting
into gs_text_enum_common.

Minor changes :

1. In gs_type1_state_s renamed charpath_flag to no_grid_fitting.
   We believe the new name reflects the semantics better.
   Several function prototypes changed the argument name.

2. decompose_matrix in gxttfb.c changed the prototype,
   and disables the TT grid fitting for very small fonts.
   (We consider it as a minor change, because currently this portion
   is disabled with NEW_TT_INTERPRETER 0 in gx.h).

3. A problem discovered in t1_hinter__set_mapping that
   impedes implementing a grid-fitting disabling for small Type 1,2,11 fonts.
   A comment is inserted into gxhintn.c about that.
   Very samll glyphs can be mangled diring a rasterization, but the mangling
   isn't visible in raster with such small sizes.
   Therefore the problem isn't important.

EXPECTED DIFFERENCES :

None with comparefiles.

The test file tpc2.ps of the bug 687073 doesn't cause a mangled glyph,
rather the glyph still converts to outline.

[src/gstype1.c src/gstype2.c src/gstext.c src/gxttfb.c src/gxhintn.c src/gxfcopy.c src/gstype1.h src/gxtype1.c src/gdevpdtt.c src/gdevpdte.c src/gxhintn.h src/gxtype1.h src/gxtext.h src/zchar1.c]

2003-10-20T12:06:57.000000Z Alex Cherepanov

Don't cache glyphs with a suspect bounding box. The patch tests for
(urx!=0 && llx==urx) || (ury!=0 && lly==ury) but suggestions of a
better test are allways welcome.
Fix bug 687015 from customer 440

[lib/pdf_font.ps]

2003-10-19T17:48:20.000000Z Alex Cherepanov

Return correct /DeviceGray color space from currentcolorspace operator
inside PaintProc of the uncolored pattern and cache device (bug 627169).
Use igs->color_space to track the current color space.
Fix bug 687080 from customer 710.

DETAILS:

The problem in bug 687080 is definitely a conflict about the current
color space while the PaintProc is being executed.  There are two
color space indicators: pgs->color_space and igs->colorspace.  Most
of the time these two agree and there is no problem.  However during
pattern accumulation pgs->color_space has been temporarily changed
from a pattern color space to DeviceGray.  This causes a problem
when the currentcmyk operator is called.  Currently, before this fix,
it calls currentcolor which returns a DeviceGray color.  Then a
color to CMYK routine is called based upon the color space being
a pattern color space.  This then fails since it has the wrong input
color values.

The fix looks at the current color space, in pgs->color_space,
and is special casing DeviceGray.  The fix should work better than
the current logic.  The only problem area would likely be if we have
other 'temporary' color spaces besides DeviceGray.  I do not know of
any and the current logic would also fail.

[src/int.mak src/zcolor.c]

2003-10-19T06:15:30.000000Z Ray Johnston

Fix: Pattern color spaces that used save/restore within the PaintProc
would result in infinite looping with high level devices such as the
pdfwrite device since the restore cleared the pattern cache so that
after the restore, the pattern PaintProc would need to be executed
again. Bug #687052 for customer #411.

DETAILS:

The 'is_dummy' flag in the pattern cache indicates that the cache
entry does not contain bitmap or tile bits, but rather is just
a placeholder for the pattern 'id'.

The patch does not delete entries for pattern color spaces that
have is_dummy != 0. The pdfwrite device creates all pattern cache
entries as dummies.

This change does not result in any regression and, of course, prevents
the infinite looping.

[src/gxpcmap.c]

2003-10-16T20:42:50.000000Z Igor Melichev

Fix (pdfwrite) : Fonts used in a charproc were not added to Resources of some pages.

DETAILS :

Bug 687073 "cannot convert a ps file to pdf"

Changes :

1. Added gx_device_pdf::font3 to access the Type 3 font while a charproc stream accumulation.
2. Provided saving it to the substream context stack.
3. Provided resource id for Type 3 font resources (were zeros).
4. The new function pdf_used_charproc_fonts sets where_used to charproc fonts,
   allowing to write them to page Resources.
5. A minor cleanup of comments.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdts.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdti.c src/gdevpdtf.h src/gdevpdtx.h]

2003-10-16T13:37:48.000000Z Igor Melichev

Fix (pdfwrite) : The font copying routine was inprecise.

DETAILS :

1. Obtaining a glyph metrics, the font copying rutine scaled it
with UnitsPerEm and back, loosing a precision.
It caused an inprecise values for glyph width and side bearing in the font copy,
and implied slightly shifted glyphs when PDF is rasterised.
Inserted a compensation in the rounding expressions.

2. compare_glyphs sometimes compared a TT glyph with 0th glyph,
and made a wrong decision that fonts can't merge.
With some documents the PDF output becomes shorter.

EXPECTED DIFFERENCES :

pdfwrite, 72dpi:

keyboard.pdf
korea.ps
MagicEye.pdf
type42_glyph_index.ps

pdfwrite, 300dpi :

01_001.pdf
159.pdf
adesso2.pdf
adesso7.pdf
adesso8.pdf
Altona.Page_3.2002-09-27.pdf
Faktura.pdf
ICPconcept.pdf
keyboard.pdf
korea.ps
MagicEye.pdf
type42_glyph_index.ps

In adesso7.pdf, adesso8.pdf a TT font renders some worse, but it's unfortunate.
With the new TT interpreter and -dGridFitTT=1 it renders fine.

[src/gxfcopy.c src/gstype42.c src/gdevpsft.c]

2003-10-16T12:33:33.000000Z Igor Melichev

Reclaim global memory in the beginning of the interpreter finalization.

DETAILS :

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-October/003664.html
was incomplete.


EXPECTED DIFFERENCES :

Revisions after the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-October/003664.html
can crash or write an incomplete PDF. Now fixed.

[src/imain.c]

2003-10-16T11:23:38.000000Z jeong

When Glyph names data is not available for a TrueType Format 2.0 font,
rangecheck error occured. It was due to an attempt to get the data
even when it is not available. Now when no name data is available,
/postnames is defined
as an empty array and the glyph won't get a name attached. Fixes
Bug#686961.

[lib/gs_ttf.ps]

2003-10-16T11:15:05.000000Z Alex Cherepanov

Fix error recovery code for PDF image; pop the operand of image operator
restored by the standard PS error recovery.
Fix bug 687081 from customer 770.

[lib/pdf_draw.ps]

2003-10-15T15:36:36.000000Z Igor Melichev

Fix (pdfwrite) : Resources were prematurely freed, causing pending pointers.

DETAILS :

Debugged with 473-01.ps (was a crash in ialloc_validate_object).

EXPECTED DIFFERENCES :

473-01.ps shouldn't crash pdfwrite.

[src/gdevpdf.c]

2003-10-15T15:35:12.000000Z Igor Melichev

Fix (pdfwrite) : Don't recompute FontBBox for CID font subsets.

DETAILS :

It's an optimization, which is important with the new TT interpreter.
The new TT interpreter copies TT structures into internal structures.
With CID fonts it'a a big memory consumtion.
Also now it runs faster.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c]

2003-10-15T11:34:28.000000Z Igor Melichev

Fix : A minor code cleanup in zfont42.c .

DETAILS :

The condition for missing a glyph was too weak, rather it never went out.

EXPECTED DIFFERENCES :

None.

[src/zfont42.c]

2003-10-15T11:29:23.000000Z Igor Melichev

Fix (pdfwrite) : A bug in memory descriptor.

DETAILS :

The bug caused a crash re-distilling the keyboard.pdf .


EXPECTED DIFFERENCES :

Should fix the pdfwrite crash with keyboard.pdf.

[src/gxfcopy.c src/gsstruct.h]

2003-10-15T08:53:13.000000Z Igor Melichev

Reclaim global memory in the beginning of the interpreter finalization.

DETAILS :

This is a partial fix for the bug 687071 "Default vmthreshold isn't sufficient for pdfwrite".
The pdfwrite device may need significant space in global memory to allocate compression filters
while the device finalization.

EXPECTED DIFFERENCES :

With this patch the following test crashes :

gswin32c.exe -dNOPAUSE  -dBATCH -sDEVICE=pdfwrite -sOutputFile=z:\cur.pdf comparefiles/keyboard.pdf -c quit

It looks as a wrong memory allocation or a descriptor.
I don't delay commit, because it's another problem to be worked out separately,
and the problem isn't massive.

[src/imain.c src/interp.c src/interp.h]

2003-10-15T07:50:31.000000Z Dan Coby

Change the name of NOSUBCOLORSPACES to NOSUBDEVICECOLORS.

DETAILS:

In a code review for the NOSUBCOLORSPACES switch, Igor suggested changing
the name to KEEPDEVICECOLORS.  I still prefer NOSUB instead of KEEP.
Basically I prefer that switches which stop an action begin with NO.
However changing COLORSPACES to DEVICECOLORS is a definite improvement
since COLORSPACES is overly general and thus inaccurate.  The only
color spaces which are substituted are the device colors.

[lib/gs_devcs.ps doc/Use.htm lib/gs_init.ps]

2003-10-15T07:34:13.000000Z Dan Coby

Add new header file src/gdevdevn.h to doc/Develop.htm.

[doc/Develop.htm]

2003-10-15T00:03:30.000000Z Igor Melichev

Fix (True Type font loader) : 'glyf' and 'loca' were loaded emulating a CID font with True Type,
causing an unuseful huge memory consumtion.

DETAILS :

My old patch about the font emulation was incomplete.
This patch fixes that.

EXPECTED DIFFERENCES :

None.

[lib/gs_ttf.ps]

2003-10-14T20:37:15.000000Z Igor Melichev

Fix (pdfwrite) : Resources were prematurely freed, causing duplicated objects in the output.

DETAILS :

Bug 687078 "pdfwrite duplicates page resources".
pdf_store_page_resources releases page resources, but they may be used in next
pages. Due to that such resources may be duplicated in the output file.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfc.c src/gdevpdfu.c]

2003-10-14T15:00:50.000000Z Igor Melichev

Fix (pdfwrite) : Applying .includecolorspace to insert "default" color spaces.

DETAILS :

This completes the fix for the
bug 687054 "pdfwrite should include DefaultGray, DefaultRGB, DefaultCMYK".

The "default" color space resources are being included only if all 3 conditions are satisfied :

1. -dUseCIEColor is set;
2. -dNOSUBCOLORSPACES is set;
3. The source document defines the resource.

If the document doesn't define the resource, but the user wants to include it,
the document to be prepended with

  currentglobal true setglobal
  /DefaultGray /ColorSpace 2 copy findresource exch defineresource pop
  /DefaultRGB  /ColorSpace 2 copy findresource exch defineresource pop
  /DefaultCMYK /ColorSpace 2 copy findresource exch defineresource pop
  setglobal

and the resources must be available in gs/Resource/ColorSpace.

This patch removes the "default" color space resources from gs_ll3.ps,
assuming they are added to gs/Resource/ColorSpace.
This is done to obtain the proper result of resourcestatus.

EXPECTED DIFFERENCES :

None.

[lib/gs_devcs.ps lib/gs_ll3.ps]

2003-10-14T14:58:38.000000Z Igor Melichev

Initial commit for ColorSpace resources.

[Resource/ColorSpace/DefaultGray Resource/ColorSpace/DefaultCMYK Resource/ColorSpace/DefaultRGB Resource/ColorSpace]

2003-10-14T12:53:51.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 20).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch is a minor code cleanup.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/ttfmain.c src/gxccache.c]

2003-10-14T12:43:19.000000Z Igor Melichev

Define a new special operator .includecolorspace and new device virtual function
include_color_space. Implement the latter for pdfwrite.

DETAILS :

This is a partial fix for
Bug 687054 "pdfwrite should include DefaultGray, DefaultRGB, DefaultCMYK".
This stuff provides a writing, but currently it is never called by gs/lib/* .
A documentation is placed into a comment in gscolor2.c .

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gxclist.c src/gdevpdf.c src/gdevpdfd.c src/gxclip.c src/gdevrops.c src/gscolor2.c src/gdevdflt.c src/gscolor2.h src/gdevbbox.c src/gxclipm.c src/gxdevice.h src/gdevnfwd.c src/gdevpdfv.c src/zcolor.c src/gxclip2.c src/gxdevcli.h]

2003-10-14T10:15:38.000000Z Igor Melichev

Fix (PDF interpreter) : Adjust the currentpoint saved back into TextMatrix so that it
does not include the effect of TextRise.


DETAILS :

Bug 686837 "PDF with subscript rendered wrong"
Patch from Raph Levien.

Here is analyzis from Raph Levien :
[beg quote]

the test file is using PDF's Ts operator to adjust the
"text rise", exactly as shown in section 5.2.6 "Text Rise" of the
PDF manual (3rd ed). Ghostscript's rendering is incorrect because
the "settextposition" function (in pdf_ops.ps) updates the TextMatrix
using the current point after showing the text. However, this point
already contains the effect of TextRise. Then, the next time
settextmatrix is invoked, it applies TextMatrix, followed by a
second TextRise.

The patch below simply reverses the effect of TextRise before setting
TextMatrix. I believe that the correct invariant is that
"settextposition" followed by "settextstate" should result in (0, 0)
being the current point in the resulting CTM. I argue that the patch
fulfills the invariant, as follows. Let the current point be (x, y),
relative to TextSaveMatrix. Then, settextposition sets the translate
portion of TextMatrix to (x, y - TextRise). Then, settextmatrix (as
invoked from settextstate) applies TextMatrix followed by TextRise,
for a net translation of (x, y).

Query: is this reasoning still valid for arbitary rotations and scales
in TextMatrix (as set by Tm)? It seems so to me, but I believe testing
is required to establish this definitively.

[end quote]

I've tested it with comparefiles and found no differences.

EXPECTED DIFFERENCES :

None.

[lib/pdf_ops.ps]

2003-10-14T09:16:07.000000Z Igor Melichev

Fix (resource machinery) : A bug in resourceforall.

DETAILS :

Bug 687004 "bug in gs_res.ps (6.52, 7.07 and 8.11)".
Patch from Ferdinand Oeinck.


EXPECTED DIFFERENCES :

None.

[lib/gs_res.ps]

2003-10-14T09:14:25.000000Z Igor Melichev

Fix (Type 1 interpreter) : Provide a tolerance to a missed subglyph.

DETAILS :

Bug 595760 "Fix for buggy font subsets".

EXPECTED DIFFERENCES :

None.

[src/zfcid0.c src/gxfcopy.c src/gxtype1.c src/zchar1.c src/gxfont1.h]

2003-10-13T19:10:07.000000Z Igor Melichev

Fix (FAPI/FreeType) : Upgrading to Free Type 2.1.5 .

DETAILS :

A minor change in a type name.
Patch from Robert Seretny.

EXPECTED DIFFERENCES :

None.

[src/fapi_ft.c]

2003-10-13T15:06:24.000000Z Igor Melichev

Fix (color space serialization) : Removing a constraint to the Sd function dimension.

DETAILS :

The implementation used an unreasonable constraint, which restricted
a number of color components. Now the constraint is removed.

EXPECTED DIFFERENCES :

Fixes the recent regression with Altona.Page_3.2002-09-27.pdf .

[src/gsfunc0.c]

2003-10-13T12:16:56.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 19).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch applies the design grid to emulate an infinite resolution with GridFitTT=0.
Removed changes to ttinterp.c that were inserted to that purpose.

The old code literally implemented the Raph's idea to disable the pixel rounding in the
TT interpreter. Such implementation appears not good due to a rounding may apper implicitly
while coordinate computations with low level TT operations.
The new code requires lesser changes to the TT inprepreter and needs lesser
number of cases to represent the infinite resolution :
same code works for GridFitTT=0 and for charpath.

Also optimized MoveGlyphOutline because now it is called more frequent.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/ttfmain.c src/gxccache.c src/ttfoutl.h src/ttinterp.c]

2003-10-12T19:09:54.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 18).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch is an optimization : it avoids an extra glyph data copying,
and simplifies a memory descriptor.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/ttfmemd.c src/ttfmain.c src/ttfoutl.h]

2003-10-10T07:08:22.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 17).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes a problem with zero size fonts.

EXPECTED DIFFERENCES :

None.

[src/gxfcache.h src/gxccman.c src/gxccache.c]

2003-10-09T22:26:12.000000Z Dan Coby

Fix for 687055 pdfwrite should not fail with <>
setpagedevice.  This change adds support for the DeviceN process color
model to the pdfwrite device.  The DeviceN process color model is treated
like the DeviceCMYK process color model except for the name.

[src/gdevpdfp.c src/gdevpdf.c]

2003-10-09T20:29:12.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 16).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes a bug in character transformation matrix,
and sets the default value for GridFitTT to false.

EXPECTED DIFFERENCES :

None.

[src/gsfont.c src/gxccman.c]

2003-10-09T19:19:14.000000Z Igor Melichev

fuzzy.c : Implementing a ne option -c to switch on/off the reporting of coordinates of differences.

[toolbin/tests/fuzzy.c]

2003-10-09T14:56:42.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 15).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch provides non-grid-fitted outlines with charpath.
For a better readability renamed various variables ralated to that.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c src/gxfcache.h src/gxttfb.c src/gxccman.c src/gstype42.c src/ttfmain.c src/gxttfb.h src/gxccache.c src/ttfoutl.h src/ttinterp.c]

2003-10-09T12:51:31.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 14).

DETAILS :

This patch removes obsolete comments.
It is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxccman.c src/ttfmain.c]

2003-10-09T00:13:30.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 13).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch implements a new user parameter GridFitTT.
A change to documentation isn't supplied because
this code is disabled by NEW_TT_INTERPRETER 0.
Here is definition :

GridFitTT=1 forces the TT interpreter to perform a grid fitting.

If a font initialization program uses patented instrictions,
the font renders without a grid fitting, and a warning is printed to stderr.

If a font initialization program doesn't use patented instrictions,
and some glyphs of the font uses patented instructions,
the glyphs renders without a grid fitting, and a warning is printed to stderr.

If a font initialization program doesn't use patented instrictions,
and a glyph of the font doesn't use patented instructions,
the glyph renders with grid fitting, and no warning is printed.

Note that some font may mix both grid-fitted and non-grid-fitted glyphs.

GridFitTT=0 forces the TT interpreter to skip the grid fitting.
The warning about "patented" font is not printed.

The user parameter can be set by the new command line option -dGridFitTT=x,
where x is 0 or 1.

EXPECTED DIFFERENCES :

None.

[src/icontext.c src/gxfcache.h src/gxttfb.c src/gsfont.c src/gxccman.c src/zusparam.c src/ttfmain.c src/gxttfb.h src/gsfont.h src/ttfoutl.h src/ttinterp.c lib/gs_init.ps]

2003-10-08T22:07:10.000000Z Igor Melichev

fuzzy.c : Implement a reporting of coordinates of different pixels.

[toolbin/tests/fuzzy.c]

2003-10-08T18:53:15.000000Z Igor Melichev

Fix : Propagating return code from gs_main_finit to GSDLL API (continued).

DETAILS :

The previous patch is incomplete. This one fixes that.

[src/dwmain.c src/dxmain.c src/dwmainc.c src/dxmainc.c src/dmmain.c src/gsdll.c src/dpmain.c]

2003-10-08T17:18:23.000000Z Igor Melichev

Propagating return code from gs_main_finit to GSDLL API.
THIS IS INCOMPATIBLE CHANGE : the API had changed a prototype.

A close_device method can terminate with an error,
which was not delivered to clients.
It is especially important with pdfwrite,
which performs a big work in close_device.

Now clients can know about the error checking the return code
of the gsapi_exit function. See examples in doc/API.htm .

[doc/API.htm src/imain.c src/dwmain.c src/imain.h src/dwmainc.c src/iapi.c src/gsexit.h src/dpmain.c]

2003-10-08T14:19:01.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 12).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch dalays the "patented" exception until a patented
method is called.

EXPECTED DIFFERENCES :

None.

[src/ttfmain.c src/ttinterp.c]

2003-10-08T13:54:06.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 11).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes a bug in phantom points' coordinates (debugged with test_multipage_prob.pdf).
Reset_CodeRange is removed because it duplicates Clear_CodeRange.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/gxccman.c src/ttfmain.c src/ttobjs.c src/ttobjs.h]

2003-10-08T11:43:02.000000Z Alex Cherepanov

Contrary to the published spec (up to v.1.5) Acrobat Distiller 3.01 for Mac
can use /Identity instead of a tint transform function in /Separation color
space. Extend our PDF interpreter to cover this case.
Fix bug 687068.

[lib/pdf_draw.ps]

2003-10-08T11:34:06.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 10).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch implements a proper grid fitting and AlignToPixels.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxttfb.c src/gxccman.c src/gstype42.c src/ttfmain.c src/gxttfb.h src/ttfoutl.h]

2003-10-07T20:02:46.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 9).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch removes a dynamic biffer from ttfOutliner__BuildGlyphOutline,
and the macro wagOffset.
ttfFont::ttf_memory is moved to ttfInterpreter::ttf_memory.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/ttfmemd.c src/ttfmain.c src/ttobjs.c src/ttfoutl.h src/ttload.c src/ttinterp.c]

2003-10-07T15:26:04.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 8).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch implements a single instance of the TT interpreter shared
for all TT font instances.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxfcache.h src/gxttfb.c src/gsfont.c src/gxccman.c src/ttfmemd.c src/gstype42.c src/ttfmain.c src/gxttfb.h src/ttfmemd.h src/ttobjs.c src/ttfoutl.h src/ttinterp.c src/ttobjs.h]

2003-10-07T00:03:12.000000Z Dan Coby

This is part of the fix for 687055.  This change splits the DeviceN
parameter handling.  The SeparationOrder parameter handling is split
into a separate routine.

DETAILS:

The DeviceN parameter SeparationOrder is used to select which separations
are to be included in the output.  This parameter is not appropriate for
high level devices like pdfwrite.  The pdfwrite device does not attempt
to separate its output into separations.  However the pdfwrite device
does use its process color model colors for specifying output colors in
some backup cases.  If a separation were missing then the it would create
an incorrect output color. By splitting out the SeparationOrder parameter
we can still use common routines for pdfwrite and other DeviceN output
devices.

[src/gdevdevn.c src/gdevdevn.h]

2003-10-06T19:08:41.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 7).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes more problems with error codes,
which could appear with high level devices.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtd.c src/ttfmain.c src/ttobjs.c]

2003-10-06T16:43:41.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 6).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes more problems with error codes.
All comparefiles now run fine.

Rasters were checked with 72dpi.
TT glyphs appear in right places, but sometimes a hinted raster
looks worse than the old (unhinted) one. An example is Faktura.pdf .
To be analyzed.

EXPECTED DIFFERENCES :

None.

[src/gxttfb.c src/ttfmain.c]

2003-10-06T16:42:28.000000Z Igor Melichev

Fix (pdfwrite) : A bug convertinging a CID to a glyph index.

DETAILS :

This portion of code works only while computing a FontBBox for a font subset.

EXPECTED DIFFERENCES :

None.

[src/gstype42.c]

2003-10-06T12:20:24.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 5).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes some problems with error codes.
All comparefiles now run with no failure (rasters not checked yet).

EXPECTED DIFFERENCES :

None.
With NEW_TT_INTERPRETER 0 this change is algorithmically equivalent.

[src/gxttfb.c src/gxccman.c src/ttfmain.c src/gxttfb.h src/ttload.c src/ttinterp.c]

2003-10-06T11:38:52.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 4).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch fixes problems with memory management.

EXPECTED DIFFERENCES :

None.
With NEW_TT_INTERPRETER 0 this change is algorithmically equivalent.

[src/gxfcache.h src/gxttfb.c src/gsfont.c src/ttfmemd.c src/gxccman.c src/ttfmain.c src/gxttfb.h src/ttobjs.c src/ttfoutl.h src/ttload.c src/ttinterp.c src/ttobjs.h]

2003-10-06T08:34:00.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 3).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

This patch propagates error codes from the new True Type interpreter,
and fixes some minor bugs.

EXPECTED DIFFERENCES :

None.
With NEW_TT_INTERPRETER 0 this change is algorithmically equivalent.

[src/gxchar.c src/gxfcache.h src/gxttfb.c src/gxccman.c src/gxfont42.h src/gstype42.c src/ttfmain.c src/gxttfb.h src/gxccache.c src/ttfoutl.h]

2003-10-02T15:30:55.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter (step 2).

DETAILS :

The switch NEW_TT_INTERPRETER in gx.h is set to disable the new code.

With NEW_TT_INTERPRETER 1 the TT interpreter is now attached and
passed a simple test (2210 glyphshow) with
\WINDOWS\Fonts\mingliu.ttc, which is a Dynalab font.
The TT error processing isn't completed. It may cause a crash.

EXPECTED DIFFERENCES :

None.

[src/lib.mak src/gxttfb.c src/gstype42.c src/ttfmain.c src/gxttfb.h src/ttfoutl.h]

2003-10-02T11:48:59.000000Z Igor Melichev

Implementing a bridge to the True Type bytecode interpreter.

DETAILS :

A new switch NEW_TT_INTERPRETER in gx.h disabled the new code.
The new code is incomplete (see a "stub" in gstype42.c) and insufficiently debugged.
This patch provides necessary data transfer to places, in which
the True Type bytecode interpreter must be called.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c src/zchar42.c src/gxfcache.h src/gstext.c src/gxfont42.h src/gxccman.c src/gstype42.c src/gx.h src/gxtext.h src/lib.mak src/gxttfb.c src/ttfmemd.c src/gxttfb.h src/gxccache.c src/ttfmemd.h src/ttfoutl.h]

2003-10-02T10:15:49.000000Z Igor Melichev

Fix : Removing the dependence on graphic state from font cache rutines.

DETAILS :

This change is algorithmically equivalent.

EXPECTED DIFFERENCES :

None.

[src/gxchar.c src/gxfcache.h src/gxccman.c src/gxccache.c]

2003-10-02T09:59:43.000000Z Igor Melichev

Fix : Characters were cached mixing alpha bits numbers (continued).

DETAILS :

The previous patch appears incomplete.

EXPECTED DIFFERENCES :

None (the nightly regression doesn't test alpha bits).

[src/gxfcache.h src/gxccman.c src/gxccache.c]

2003-10-02T08:51:00.000000Z Igor Melichev

Fix : Characters were cached mixing alpha bits numbers.

DETAILS :

This bug only has an effect when same font renders to devices
with different alpha bits. It can cause rendering a cached charascter
with a wrong size (devided or multiplied by 1<

[src/gxchar.c src/gxfcache.h src/gxccache.c]

2003-10-02T07:02:41.000000Z Dan Coby

Move the various device fields associated with the DeviceN process
color model into a common structure.  This allows common routines to
be used to support DeviceN process color model features on different
devices.  The src/gdevdevn.h file was added to define common fields
and structures.

The first application of this code is for 687055 - Adding support for
the DeviceN process color model to the pdfwrite device.

[src/gdevdevn.c src/gdevdevn.h src/devs.mak]

2003-10-01T16:36:42.000000Z Jack Moffitt

Fix two bugs in testdiff that work around missing baselines.

[toolbin/tests/testdiff]

2003-10-01T13:44:56.000000Z Igor Melichev

Initial commit for a reduced True Type bytecode interpreter.

DETAILS :

The True Type bytecode interpreter is branched from the Free Type 1 project.
Patented algorithms have been removed.
Now it compiles with Ghostscript, but it is never called.

EXPECTED DIFFERENCES :

None.

[src/ttinterp.h src/ttcalc.h src/tttypes.h src/ttconfig.h src/tttables.h src/ttload.c src/lib.mak src/ttload.h src/ttfsfnt.h src/tttype.h src/ttfmemd.c src/ttfmain.c src/ttconf.h src/ttfinp.c src/ttcommon.h src/ttfmemd.h src/ttobjs.c src/ttfoutl.h src/ttmisc.h src/ttinterp.c src/ttfinp.h src/ttcalc.c src/ttobjs.h]

2003-09-30T15:16:04.000000Z Alex Cherepanov

Handle missing /BitsPerComponent key case.
Fix bug 687956.

[lib/pdf_draw.ps]

2003-09-30T11:00:33.000000Z Igor Melichev

Fix (pdfwrite) : Don't use Tj when real width is smaller than 1% of Widths.

DETAILS :

This is a workaround for the bug 687051
"freehand patterns cause incorrect result".
See comment in code.

Our workaround is hewristical.
To get a strongly guaranteed result a bug to be reported to Freehand,
which sets a wrong character size with setcachedevice :
the setcachedevice arguments appear 144 times bigger when the actual glyph size.
After converting to PDF it causes too big numeric errors in a PDF viewer.

Adobe Distiller converts this text into a paintings of
individual glyphs, loosing the text features, and enlarging the uncompressed output.
The Adobe's method appears acceptable with this document
because the text actually represents a texture, and the text features (Encoding, etc.)
appears unimportant. We can't implement the Adobe's method because we have no idea
how to recognize in pdfwrite the case of a Type 3 font represents a texture.

Users may want to apply an idiom recognition in PS level for that texture,
to convert it into a regular images for a better coordinate precision.
The ideom approach is independent to this patch, and we believe that
both things can work togeter.

EXPECTED DIFFERENCES :

None.

[src/gdevpdts.c]

2003-09-29T20:32:41.000000Z Alex Cherepanov

Fix calculation of the area where path segments can mark the current band.
Old code skipped segments above the page boundary regardless of the line width.
Fixes bug 686788 from customer 710.

DETAILS:
The area is calculated now as [y - expansion.y, y + height + expansion.y]
for every band. Beware of FOR_RECTS_NO_ERROR loop silently updating y and
height.

[src/gxclpath.c]

2003-09-29T13:41:51.000000Z Igor Melichev

Fix (pdfwrite) : Don't synchronize graphic state before exiting a charproc.

DETAILS :

The problem discovered with the test document of the bug 687051
"freehand patterns cause incorrect result".
It wrote an excessive clipping path at the end of charproc.

This patch doesn't close the bug, because there is another problem
(with Type 3 character placement) in there.

EXPECTED DIFFERENCES :

None.

[src/gdevpdtt.c]

2003-09-28T19:54:47.000000Z Alex Cherepanov

Convert input values to the traditional Lab range when input
color space of ICC profile is Lab. Before conversion all colors
were rendered 100 times darker, i.e. almost black.
Fixes bug 600288 from customer 150.

[src/gsicc.c]

2003-09-25T21:23:17.000000Z Igor Melichev

Fix (pdfwrite) : Inline images mangled charproc stream.

DETAILS :

The problem discovered with the test document of the bug 687051
"freehand patterns cause incorrect result".

The problem happened due to pdf_copy_data can't handle the case
when the target file of the source cos_write_stream object
is same as the target file for the copying. Implementing
a new funtion pdf_copy_data_safe for this case.

This patch doesn't close the bug, because there is another problem
(with Type 3 character placement) in there.

EXPECTED DIFFERENCES :

None.

[src/gdevpdfx.h src/gdevpdfo.c src/gdevpdfu.c]

2003-09-24T13:41:20.000000Z Ralph Giles

Correct a typo in the 'make so' target link line. This also allows the
Solaris linker to ignore the option, allowing the link to complete on
that platform. Thanks to Bob T. for pointing out the issue. Partial fix
for bug 686865.

DETAILS:

I don't know if this was originally a typo or if GNU ld's options have
changed. However, the manpage for my version (2.14.90.0.6) clearly
states the syntax is -soname=foo.

[src/unix-dll.mak]

2003-09-18T13:20:49.000000Z Igor Melichev

Fix : Fonts with zero FontBBox were not anti-aliased.

DETAILS :

Bug 687036 "gs 8.11 does not anti-alias type 3 bitmap fonts".
The bug appeared in gxchar.c revision 1.21.

EXPECTED DIFFERENCES :

None, because the test tool doesn't test TextAlphaBits > 1.

[src/gxchar.c]

2003-09-16T13:54:34.000000Z Igor Melichev

Fix : A bug in compare_glyphs.

DETAILS :

This fixex the crash with illustrator5.ps mentioned in the
bug #687044 "strange elements with text".
It appears a 1 year old bug.
The behavior could be indeterministic.

EXPECTED DIFFERENCES :

None.

[src/gxfcopy.c]

2003-09-16T12:11:16.000000Z Igor Melichev

Fix (pdfwrite) : Don't write a clipping path with setcharwidth.

DETAILS :

This is a partial fix for the bug #687044 "strange elements with text".
See big comments added to gdevpdfg.c .

Minor changes :

1. Removed an unsafe cast to gs_state * in gdevpdfg.c
with defing a new graphics library function gs_currentscreenphase_pis.

2. Provided a safety with a cast to gs_show_enum * in gdevpdtt.c .

3. defined a new graphics library function gx_get_clip_path_id .

EXPECTED DIFFERENCES :

A progression in pdfwrite with 238-01.ps .

[src/gxistate.h src/gdevpdtt.c src/gxstate.h src/gsht.c src/gdevpdfg.c src/gsstate.c]

2003-09-16T10:02:16.000000Z Igor Melichev

Don't apply Type 1 hinting to charpath.
THIS IS AN INCOMPATIBLE CHANGE : charpath now creates a different outline than before.

DETAILS :

Adobe doesn't hint charpath.
Not sure why GS did.
This change makes GS to be closer to Adobe and
partially fixes the bug 687044 "strange elements with text".

Note that 'charpath fill' never was equal to 'show'. Neither the old hinter,
nor the new hinter, nor any combination of them in the pair ('charpath', 'show')
give same result. This happens because 'fill' uses the "center pixel inside" rule,
but 'show' uses a different one. With the new hinter 'show' performs
a spot topology analyzis during the rasterization. This rule doesn't belong
to the class of rules, which can be explained in terms "a part of pixel inside".

Thus, since "same" or "closer" result isn't possible,
the criterion for the choice must lie in another space.
I believe that the "Adobe compatibility" is the right one.

Besides that, Ghostscript PDF imperpreter emulates the text rendering modes 1,5,6
with 'charpath stroke', and with the hinted charpath the results look strange.

EXPECTED DIFFERENCES :

pdfwrite + ppmraw 72pdi :

017-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
034-01.ps
045-01.ps
093-01.ps
220-01.ps
327-01.ps
334-01.ps
335-01.ps
336-01.ps
alphabet.ps
bugsample.pdf
PixelisAd.pdf
ridt91.eps

pdfwrite + ppmraw 300pdi :

017-01.ps
027-01.ps
027-05.ps
027-09.ps
027-13.ps
034-01.ps
045-01.ps
093-01.ps
220-01.ps
327-01.ps
334-01.ps
335-01.ps
336-01.ps
alphabet.ps
bugsample.pdf
PixelisAd.pdf
ridt91.eps

ppmraw 72pdi :

027-01.ps
027-05.ps
027-09.ps
027-13.ps
034-01.ps
220-01.ps
alphabet.ps
bugsample.pdf
PixelisAd.pdf
ridt91.eps


ppmraw 300pdi :

027-01.ps
027-05.ps
027-09.ps
027-13.ps
034-01.ps
220-01.ps
alphabet.ps
bugsample.pdf
PixelisAd.pdf
ridt91.eps
two_encodings.ps

[src/gxtype1.c]

2003-09-16T07:11:15.000000Z Dan Coby

Remove extra carriage returns (^M) at the end of some lines.

[lib/pdf_draw.ps]

2003-09-15T20:05:02.000000Z Alex Cherepanov

Following PLRM, set identity initial matrix for non-forwarding nulldevice.
Fix bug 687041

[src/gdevnfwd.c]

2003-09-15T17:11:27.000000Z Igor Melichev

Fix (pdfwrite) : Write color commands to charprocs which don't call setcachedevice[2].

DETAILS :

This is a partial fix for the bug #687044 "strange elements with text".

Minor change : Removed a duplicated instruction from gdevpdtt.c .

This patch doesn't cause a difference with our test base.

[src/gdevpdtt.c src/gdevpdti.c]

2003-09-15T10:04:01.000000Z Igor Melichev

Fix : A bug in the new code of gs_rectfill (gsdps1.c Revision 1.9).

[src/gsdps1.c]

2003-09-13T02:04:15.000000Z Russell Lang

Fix: Prevent crash caused by dsc_copy_string not stopping at the end
of a string occasionally.
Fixes bug 687045 "Crash while parsing long %%DocumentProcessColor line".
Report (atend) in the trailer as being unknown.
Recognise %%DocumentProcessColors and %%DocumentCustomColors
in the trailer.
Allocate colour details using the correct allocator so they
will be freed correctly.

[src/dscparse.c]

2003-09-12T04:42:37.000000Z Dan Coby

Provide a means for disabling color space substitution.

DETAILS:

Ghostscript supports substituting CIE and ICC color spaces for DeviceGray
DeviceRGB, and DeviceCMYK color spaces.  This is part of the support for
the UseCIEColor feature in PostScript.  This substitution is done inside
the PostScript code in lib/gs_devcs.ps.

The recent improvements to the pdfwrite device mean that the interpreter's
color space and color values are now passed to the output file.  Since
the color space substitution is done prior to passing the color space to
the interpreter, the original color space is lost if UseCIEColor is
set.  This change provides a means to prevent the substitution.  Thus
the original color space is passed to the interpreter and on to the
output file for pdfwrite.

[lib/gs_devcs.ps doc/Use.htm lib/gs_init.ps]

2003-09-11T21:12:18.000000Z Igor Melichev

pdfwrite : Implement CDevProc handling for CIDFontType 2.

DETAILS :

It defines a new gs_text_process return value TEXT_PROCESS_CDEVPROC,
which allows a device to request a special interpreter callout
for executing CDevProc. The processing is some tricky :
we apply zchar_set_cache to prepare interpreter stacks,
and hook its results in pte->procs->set_cache .

This patch handles CDevProc only for CIDFontType 2.
Other font types should be a separate patch.

This patch causes progressions in pdfwrite :
japan.ps
Type11CDevProc.ps

[src/zchar42.c src/int.mak src/gdevpdtc.c src/gdevpdtt.c src/zchar42.h src/gdevpdte.c src/gstext.h src/gdevpdtt.h src/zchar.c src/zchar1.c src/gxfont.h]

2003-09-11T20:43:13.000000Z Igor Melichev

Fix (pdfwrite) : A part of CID text was missed after a font change.

[src/gdevpdtc.c]

2003-09-11T16:34:27.000000Z Alex Cherepanov

Ignore system-defined FILENAME_MAX when it is too small.
HP-UX 11i 11.11 incorrectly defines FILENAME_MAX as 14.
Fix bug 687030 from customer 1060

[src/gp_unifs.c]

2003-09-11T11:14:55.000000Z Igor Melichev

Fix (pdfwrite) : Stream content of ICC color space was missed.
It seems a very old bug...

[src/gdevpdfo.c]

2003-09-10T12:01:03.000000Z Igor Melichev

Fix (pdfwrite) : Improving text colors.

DETAILS :

1. Check the color and clip change after each callout (gdevpdtt.c).
   Fixes the bug 686822 "Wrong PDF from kshow with grestore".

2. Don't write color into charprocs of bitmap fonts.

3. Skip writing a process color imaging a cached bitmap character.
   The old code wrote redundant "0 g" commands.

This patch causes progressions in pdfwrite :
093-01.ps
165-01.ps
244-01.ps
kshow_with_grestore.ps

[src/gdevpdfb.c src/gdevpdtt.c]

2003-09-10T08:01:46.000000Z Igor Melichev

Fix (pdfwrite) : Image XObject was not added into pattern's Resources.

DETAILS :

Bug 687028 "ps2pdf for makepattern creates PDF unreadable by Acrobat Reader".

[src/gdevpdfj.c]

2003-09-09T20:35:38.000000Z Igor Melichev

pdfwrite : Apply the color space serialization for color space comparizon (continued).

DETAILS :

Fixes redundant Pattern color space objects.
Bug 687022 "pdfwrite : Redundant color space objects"

Also fixed a bug in gx_serialize_Pattern.

[src/gdevpdfc.c src/gdevpdfv.c src/gdevpdfg.c src/gspcolor.c src/gdevpdfg.h]

2003-09-09T19:30:51.000000Z Igor Melichev

pdfwrite : A minor code cleanup.

DETAILS :

'sclose' is inserted for a conformity, rather it has no effect in this case.

The "fixme" comment is removed because it appears wrong.
If the color space is new, it needs a complete serialization
for storing the data to PDF resource. We can't delay the serialization
because the life time of the original color space may exceed before
the next comparizon happens. Contrary, if the color space is not new,
it also needs a complete serialization for a full comparison,
to know whether it is same color space.
Thus, a complete serialization is required in any case.

[src/gdevpdfc.c]

2003-09-09T16:03:55.000000Z Igor Melichev

pdfwrite : Apply the color space serialization for color space comparizon.

DETAILS :

Fixes the bug 687022 "pdfwrite : Redundant color space objects"

[src/gdevpdfc.c src/devs.mak src/gdevpdfg.h]

2003-09-09T15:54:03.000000Z Igor Melichev

Implementing a serialization for color spaces and functions (continued 2).

DETAILS :

Fixes a bug in gs_function_Sd_serialize, fn_common_serialize.

[src/gsfunc0.c src/gsfunc.c]

2003-09-09T14:25:10.000000Z Igor Melichev

Implementing a serialization for color spaces and functions (continued).

DETAILS :

This stuff will be used by high level devices for comparing color spaces.
A serialization will. be used because we need to compare color spaces,
which's life times don't intersect.

This patch only defines new functions but never calls them.
Regressions should not appear.
A draft implementation for the functions is provided.
A debugging of them will be a separate issue.

[src/lib.mak src/gscie.h src/gscscie.c src/gsicc.c src/gspcolor.c]

2003-09-09T12:44:12.000000Z Igor Melichev

Implementing a serialization for color spaces and functions.

DETAILS :

This stuff will be used by high level devices for comparing color spaces.
A serialization will. be used because we need to compare color spaces,
which's life times don't intersect.

This patch only defines new functions but never calls them.
Regressions should not appear.
A draft implementation for the functions is provided.
A debugging of them will be a separate issue.

[src/lib.mak src/gscdevn.h src/gscpixel.c src/gxfunc.h src/gscscie.c src/gxcspace.h src/gsfunc.c src/gsfunc0.c src/gscsepr.c src/gscspace.c src/gsfunc3.c src/gsfunc4.c src/gscdevn.c src/gsfunc.h src/gscolor2.c]

2003-09-08T13:30:02.000000Z Igor Melichev

Fix : Cygwin/gcc compiler warnings.

[src/gstrans.c src/gdevdgbr.c]

2003-09-08T13:19:33.000000Z Igor Melichev

Fix : Impproving the coordinate precision in function fill_rectangle_hl_color.

DETAILS :

It fixes the coordinate precision in the recent patch.
With pdfwrite the following files become better (closer to the old code) :
213-01.ps
255-01.ps
270-01.ps
442-01.ps

[src/gdevdflt.c src/gsdps1.c src/gdevpdfd.c src/gdevnfwd.c src/gspaint.c src/gxdevcli.h]

2003-09-08T12:06:56.000000Z Igor Melichev

Fix : Cygwin/gcc compiler warnings.

DETAILS :

The change to zbfont.c may cause a progression on low endian platforms.

[src/lib.mak src/gxcpath.c src/gxcldev.h src/ztrans.c src/zbfont.c src/gdevpdfc.c]

2003-09-08T11:45:08.000000Z Igor Melichev

Defining a new device virtual function fill_rectangle_hl_color.
This fuction is used to implement gs_rectfill and gs_fillpage
with a high level color handling.

DETAILS :

The old device virtual function fill_rectangle has no way to pass a high level color.
Therefore high level devices always used process colors with rectfill and fillpage.
See gxdevcli.h for the definition of the new function.

The new function is used to implement gs_rectfill and gs_fillpage in pdfwrite.
gs_rectfill and gs_fillpage are modified to provide the new logics.
gdevpdfd.c is reorganised with factoring out some common code parts.

Fixes the bug #687024 "rectfill doesn't pass high level colors to device".

This patch causes a MINOR DIFFERENCE in color in all Genoa tests with pdfwrite :
a gray rectangle in the header gets a sligtly different gray value.

Besides that, the following files render few differently due to coordinate rounding in pdfwrite :
245-13.ps
442-01.ps

[src/gdevpdfx.h src/gxclist.c src/gdevpdf.c src/gdevpdfd.c src/gxclip.c src/gdevrops.c src/lib.mak src/gdevdflt.c src/gdevbbox.c src/gsdps1.c src/gxdevice.h src/gxclipm.c src/gdevnfwd.c src/gxhldevc.c src/gspaint.c src/gxclip2.c src/gxhldevc.h src/gxdevcli.h]

2003-09-05T21:30:13.000000Z Dan Coby

Add gxhldevc.c and gxhldevc.h to the file list.

[doc/Develop.htm]

2003-09-04T16:17:42.000000Z Ralph Giles

VMS fix from Forrest Cahoon.

[src/gp_vms.c]

2003-09-04T14:51:19.000000Z Igor Melichev

Removing rudiments of the old hinter (step 5).

DETAILS :

Removed an unused variable.

[src/gxtype1.c]

2003-09-04T14:31:32.000000Z Igor Melichev

Removing rudiments of the old hinter (step 4).

[src/gxop1.h]

2003-09-04T14:28:47.000000Z Igor Melichev

Removing rudiments of the old hinter (step 3).

DETAILS :

The structure gs_op1_state stored an unused data and now removed.

The change to gstype2.c ln 262-279 is not algorithmically equivalent.
The old code erroneusely called closepath in some cases.
It produced a small dirt in rendering.
Due to that, this patch causes progressions in rendering :

72pdi :

bugsample.pdf
PixelisAd.pdf
RodinCIDEmbed.pdf


300dpi :

bugsample.pdf
PixelisAd.pdf

[src/gstype1.c src/lib.mak src/gstype2.c src/gxtype1.c src/gxop1.h src/gdevpsfx.c src/gxtype1.h]

2003-09-04T12:10:02.000000Z Igor Melichev

Fix : Removing obsolete linker statements from Win32 linkage definitions (an addition 2).

DETAILS :

The patch http://www.ghostscript.com/pipermail/gs-cvs/2003-September/003574.html
was wrong. Now fixed.

[src/msvc32.mak src/dwsetup.def src/dwuninst.def]

2003-09-04T11:30:19.000000Z Igor Melichev

Fix (the new type 1 hinter) : Slightly sloped stems were wrongly grid-fitted.

DETAILS :

It shifted a stem pole to central coordinate of the stem.
Unsloped stems are insencitive, but sloped ones got a wrong placement.
Fixes the bug 687018 "Shift in glyph position/bbox using new font renderer".

This patch causes differences in rendering :

72pdi :

033-52-5873.pdf
alphabet.ps
bulletin.pdf
fonttest.pdf
HeiseiMinStd.pdf
Openhuis_pdf_zw.pdf
ridt91.eps
Svd.pdf

300dpi :

033-52-5873.pdf
045-01.ps
455690.pdf
86554321.pdf
aaon97_p7.pdf
adesso6.pdf
ai2.pdf
bulletin.pdf
fonttest.pdf
HeiseiMinStd.pdf
LD.pdf
Openhuis_pdf_zw.pdf
prob.pdf
ridt91.eps
RodinCIDEmbed.pdf
Svd.pdf

The baseline to be updated.

[src/gxhintn.c]

2003-09-04T09:52:32.000000Z Jouk Jansen


 Committing in .

 OpenVMS patches

 Modified Files:
 	gs/src/gp_vms.c gs/src/openvms.mmk gs/src/vms_x_fix.h
 ----------------------------------------------------------------------

[src/vms_x_fix.h src/openvms.mmk src/gp_vms.c]

2003-09-03T20:31:17.000000Z Igor Melichev

Fix : Removing obsolete linker statements from Win32 linkage definitions (an addition).

[src/msvc32.mak src/dwsetup.def src/dwuninst.def]

2003-09-03T20:27:33.000000Z Igor Melichev

Removing rudiments of the old hinter (step 3, final).

[src/gxhint1.c src/gxhint2.c src/gxhint3.c]

2003-09-03T20:21:47.000000Z Igor Melichev

Removing rudiments of the old hinter (step 2).

DETAILS :

This patch removes rudiments of the old hinter, which were enclosed with
"#ifdef KEEP_OLD_HINTER", and removes gxhint1.c, gxhint2.c gxhint3.c
from makefiles.

[src/lib.mak src/gstype2.c src/gxtype1.c src/gxtype1.h]

2003-09-03T16:20:56.000000Z Jack Moffitt

Make run_nightly retry sending mail every 5 seconds.

[toolbin/tests/run_nightly]

2003-09-03T03:22:59.000000Z Ralph Giles

Rename the client header errors.h to ierrors.h. This is more consistent
with iapi.h, and reduces the risk of a namespace conflict. The old
errors.h header is still available, and simply includes ierrors.h
for compatibility. This file is marked as deprecated and will be removed
in a future release.

This change is in response to a spurious report of a namespace conflict on MacOS in bug 686966.

[src/iscannum.c src/istack.c src/dwmain.c src/ilocate.c src/dxmain.c src/int.mak src/errors.h src/opcheck.h src/iapi.c src/dxmainc.c src/inobtokn.c src/iccfont.c src/imainarg.c src/iapi.h src/zcid.c src/zfile1.c src/gsiomacres.c src/imain.c src/iscan.c doc/API.htm src/ziodev.c src/igc.c src/igstate.h src/fapi_ft.c src/iparam.c src/iinit.c src/idparam.c src/fapiufst.c doc/Develop.htm src/dwmainc.c src/ireclaim.c src/iutil.c src/iscanbin.c src/iname.c src/os2.mak src/ierrors.h src/idict.c src/icontext.c src/interp.c src/macos-fw.mak src/ialloc.c doc/C-style.htm src/dmmain.c src/gsdll.c src/isave.c src/iplugin.c src/dpmain.c src/iutil2.c src/gs.c src/oper.h src/ibnum.c]

2003-09-02T22:50:06.000000Z Igor Melichev

pdfwrite : Implementing a high level color handling (a 3d improvement).

DETAILS :

This fixes the problem with 477-03.ps described in the bug #687023.

[src/gdevpdfc.c]

2003-09-02T21:57:54.000000Z Igor Melichev

pdfwrite : Implementing a high level color handling (a 2nd improvement).

DETAILS :

This fixes a minor bug in the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-August/003560.html :
use process color when gx_hld_get_color_space_and_ccolor returns an unknown result.
This change should not change behavior because this case currently never happens.

[src/gdevpdfg.c]

2003-09-02T19:10:38.000000Z Ralph Giles

Propagate CFLAGS and LDFLAGS values set in the environment when configure
is run to the autoconf top-level makefile. Unlike passing the same values
to make, the values are added to the generated arguments and act supplementally.
Closes bug 686943.

[src/Makefile.in]

2003-09-02T15:47:09.000000Z Igor Melichev

pdfwrite : Implementing a high level color handling (an improvement).

DETAILS :

This fixes bugs in the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-August/003560.html :

1. pdf_cs_Pattern_uncolored_hl wrote a wrong base space of a Pattern space.
   It fixes a failure with 245-01.ps .

2. Improving the approximation in pdf_write_ccolor.

[src/gdevpdfc.c src/gdevpdfg.c]

2003-09-02T10:17:23.000000Z Igor Melichev

Removing rudiments of the old hinter (step 1).

DETAILS :

This patch encloses rudiments of the old hinter with "#ifdef KEEP_OLD_HINTER",
where KEEP_OLD_HINTER is undefined.

This change is algorithmically equivalent,
because the new hinter worked instead the old one. Only exception is
the change to gstype1.c ln 370 : the condition t1_hinter__is_x_fitting(h)
is waeker than the old pcis->fh.use_x_hints, because
the new hinter applies an X-grid fitting with a slightly sloped transforms.

The change to gdevpsfx.c define local arrays for storing hints.
The old code used the old hinter structures, which appear too heavy
for the need of gdevpsfx.c .

[src/gstype1.c src/gstype2.c src/gxhintn.c src/gxtype1.c src/gxhint1.c src/gxhint2.c src/gxhint3.c src/gxhintn.h src/gdevpsfx.c src/gxtype1.h]

2003-08-30T22:18:11.000000Z Ralph Giles

Add 'extern "C"' protection to iapi.h for inclusion in C++ clients. Closes
bug 686990.

[src/iapi.h]

2003-08-30T19:10:39.000000Z Dan Coby

Fix for 686948 Dotted lines messing in PDF.  Draw all line cap
types for zero line lengths.  Previously only rounded caps were
drawn.

DETAILS:

This is a (minor) revision to a the previous fix from Jeong for
this problem.

For those people who do not remember, this problem involves a dashed
line with a zero line length for the imaged (pen down) part of the
dashed line.  Ghostscript currently calls this a degenerate situation
and does nothing except for round line caps.  Jeong had previously
proposed changing the test to any line cap except butt caps.  Jeong
removed this proposal after testing and finding that Adobe Acrobat
drew thin line segments even for butt line caps.

This proposal simply removes the test for line cap type completely.
It does still leaves a test for dot length = 0.

The routine already contains code for using adjacent line segments
to determine a 'direction' for zero length segments.

Testing with both butt and square line caps and with on axis and
diagonal lines produces results comparable to Adobe Acrobat.
(Acrobat is not consistent with segment widths for the butt joints.)

[src/gxstroke.c]

2003-08-30T08:03:54.000000Z jeong

When a PDF file has an embedded TrueType font with wrong 'name' table
entry, /findname procedure in gs_ttf.ps throwed a rangecheck error.
Now it just returns 'false' as an output instead of making rangecheck
error.
Bug# 686903.

[lib/gs_ttf.ps]

2003-08-28T19:42:26.000000Z Igor Melichev

pdfwrite : Implementing a high level color handling.

DETAILS :

pdfwrite now passes colors identically except minor problems,
which should be fixed soon :

1. rectfill still converts colors.
   This happens because gs_rectfill calls dev_proc(pdev,fill_rectangle),
   which doesn't pass device color.
   Therefore high level color is not available for pdfwrite.
   This is an architectural problem which requires a hard decision.

2. Some documents (gs.anotherfailure.pdf is an example) generate
   too many color space objects to the output PDF.
   Requires an optimization.

3. 477-03.ps embeds a color space that can't write to PDF due to PDF limitations.
   Process colors are written into PDF.

4. Few tests cause significant difference in colors :
	0.pdf               (yellow background)
	MagicEye.pdf        (yellow background)
	Fixed_Original.pdf
	Testform.v1.0.2.pdf (a gray rectangle disappears)
   To be analyzed.

[src/gdevpsdu.c src/gdevpdfc.c src/gdevpdfd.c src/gxhldevc.c src/gdevpdtw.c src/gdevpdfv.c src/gdevpdfg.c src/devs.mak src/gdevpsdf.h src/gxhldevc.h src/gdevpdfg.h]

2003-08-28T10:18:08.000000Z Igor Melichev

Fix : Removing obsolete linker statements from Win32 likage definitions.

[src/dw32c.def src/dwmain32.def src/gsdll32.def]

2003-08-26T21:08:31.000000Z Igor Melichev

Fixing all MSVC compiler warnings (icclib).

[icclib/icc.c]

2003-08-26T20:54:45.000000Z Igor Melichev

Fixing all MSVC compiler warnings (Release build).

[src/gxclipm.c]

2003-08-26T15:38:50.000000Z Igor Melichev

Fixing all MSVC compiler warnings.

[src/gxdda.h src/gdevupd.c src/gdevpsdu.c src/gxshade.c src/gxstroke.c src/gswts.c src/gsciemap.c src/sdcparam.c src/gxclrect.c]

2003-08-26T12:37:13.000000Z Igor Melichev

A preparation for high level color handling in vector devices.

THIS IS INCOMPATIBLE CHANGE for devices derived from gx_device_vector.
Now they must implement the new virtual function can_handle_hl_color.
A simplest impementation compatible to the old behavior is to return false.

DETAILS :

The new code uses the new functions gx_hld_save_color and
gx_hld_saved_color_equal instead the old gx_saved_color_update.
This allows devices to know when the client color changes and
to generate the appropriate output. This affects
pdfwrite, pswrite, epswrite, pxlmono and pxlcolor devices.
However the devices still write device colors to output.
An implementation of writing the client color
in pdfwrite, pswrite, epswrite will be the next improvement.

Since a big part of color code is shared with pxlmono and pxlcolor,
we need a switch for checking whether the device can handle
high level colors. For this purpose we add a new
virtual function can_handle_hl_color to gx_device_vector_procs.
Currently all implementation of this function return false,
and all devices still write process colors.

A minor change : psdf_setfillcolor and psdf_setstrokecolor
are removed because they were never called.

[src/lib.mak src/gdevpdfx.h src/gdevpx.c src/gdevpsdu.c src/gsdcolor.h src/gxdcolor.c src/gdevpdtt.c src/gdevvec.c src/gdevpdfd.c src/gdevpdfg.c src/gdevpsdf.h src/gdevvec.h src/gdevps.c src/gxhldevc.h src/gdevpdfg.h]

2003-08-21T19:50:16.000000Z Raph Levien

Fix decimal value of NoView annotation flag in annotvisible logic.
Fixes bug #687010.

DETAILS:

On page 493 of the PDF 1.4 reference, NoView is specified as bit
position 6, which would seem to correspond to the old value of 64.
However, for some reason Adobe counts its bit positions starting at
1, so the actual numeric value is 2^(bit pos - 1), or 32.

[lib/pdf_draw.ps]

2003-08-21T17:18:08.000000Z Raph Levien

Re-enable tempfile creation with empty string prefix - was disabled
as part of tempfile prefix_is_simple checking patch.

[src/zfile.c]

2003-08-21T14:55:14.000000Z Igor Melichev

Fixing some Cygwin/gcc warnings.

[src/gstype1.c src/gxcpath.c src/gxhintn.c src/gxcmap.c src/gxpath.h src/gdevepsc.c src/gstype1.h src/gdevdgbr.c src/gdevpdtw.c src/ifont2.h src/gzacpath.h src/gspath.c src/gdevmrun.c]

2003-08-21T14:25:33.000000Z Igor Melichev

Removing the obsolete code DROPOUT_PREVENTION 0.

DETAILS :

The macros PSEUDO_RASTERIZATION, ADJUST_SERIF, CHECK_SPOT_CONTIGUITY
are left for further developmant. We intend to convert the filling algorithm into
a template like we did with gxdtfill.h . The goal is to generate
several instances of the algorithm optimized for different cases :
a non-character fill (with the path adjustment and with no dropout prevention),
character fill (with no path adjustment and with dropout prevention),
and spot topology analyzis for autohinting (no adjustment, no dropout prevention,
store trapezoids into a special storage). The ADJUST_SERIF code
probably will die after True Type hinter is done.

[src/gxchar.c src/zchar42.c src/gx.h src/gxpflat.c src/gxfill.c src/gxccache.c src/gdevddrw.c src/gxpcopy.c src/gdevddrw.h]

2003-08-21T13:47:12.000000Z Igor Melichev

Removing the obsolete code NEW_TYPE1_HINTER 0 from the character renderer.

DETAILS :

A small part of the old Type 1 hinter is still called from gdevpsfx.c for
converting Type 1 font to Type 2. gdevpsfx.c to be ported to the new Type 1
hinter and then the old hinter (gxhint1.c, gxhint2.c, gxhint3.c) to be
completely removed.

[src/gstype1.c src/gstype2.c src/gxtype1.c src/gx.h src/gxtype1.h]

2003-08-20T19:53:11.000000Z Igor Melichev

Removing the obsolete code PATTERN_STREAM_ACCUMULATION 0 .

[src/gsptype1.c src/gdevpdfx.h src/gdevpdfm.c src/gdevpdf.c src/gxpcmap.c src/gxpcolor.h src/gx.h src/gdevpdfv.c src/gdevpdti.c src/zpcolor.c src/gdevpdfi.c]

2003-08-20T17:58:41.000000Z Igor Melichev

Removing the obsolete code NEW_COMBINE_PATH 0 .

[src/gp_macio.c lib/gs_ciddc.ps src/imainarg.c src/gp_os2.c src/zfile1.c src/gp_vms.c src/gp_iwatc.c src/icontext.c src/gp_ntfs.c lib/gs_fonts.ps src/icstate.h lib/gs_res.ps src/gp_dosfs.c src/gp_unifn.c src/zfile.c src/gp_unifs.c src/gp.h lib/gs_init.ps]

2003-08-19T20:20:28.000000Z Alex Cherepanov

Cygwin wants X11 libraries in the order Xt SM ICE Xext X11 but autoconf
generated them in the order SM ICE Xt Xext X11. Restore pre-autoconf order.

[src/configure.ac]

2003-08-18T23:38:09.000000Z Ralph Giles

Raise the limit on interpreter memory to 1GB for regression testing. This
larger value is required to process the ai2.pdf test file with pdfwrite
at the default (720 dpi) resolution.

[toolbin/tests/gstestgs.py]

2003-08-18T21:21:57.000000Z Dan Coby

This commit is part of extending support for high level colors to
high level devices.  In general, additions have been made to the
device colors to include the high level color values used to create
the device color.  A flag was also added to indicate if the color
information (in dev_color->ccolor) is valid.  There are also two
files being added to provide support for saving and comparing the
high level color information.

[src/gdevpdfb.c src/gsdcolor.h src/gxdcolor.c src/gdevpdfd.c src/gdevvec.c src/gdevpdfg.c src/gdevpdfi.c src/gsciemap.c src/gspcolor.c src/gdevps.c src/gxi12bit.c src/lib.mak src/gdevpx.c src/gxacpath.c src/gslib.c src/gximage3.c src/gxifast.c src/gdevpdfv.c src/gscolor.c src/gsptype2.c src/gxcmap.c src/gdevpdtt.c src/gsptype2.h src/gxicolor.c src/gdevplnx.c src/devs.mak src/gdevdbit.c src/gxipixel.c src/gxpcmap.c src/gdevbbox.c src/gxhldevc.c src/gscsepr.c src/gxhldevc.h]

2003-08-18T20:43:05.000000Z Dan Coby

Fix for 686998 syntax error in findxref for customer 580.  The given
test file does not have 'startxref' on its own line.  This is a
violation of the PDF spec.  However Adobe Acrobat accepts the file.
This fix adds a check for this case and prints a warning message.
File processing then continues.

DETAILS:

This fix also includes moving the findxref inside of a stopped context
check in case any other problems are encountered while searching for
the xref table.  If a problem is now found during findxref, the xref
rebuild logic will be called.

[lib/pdf_main.ps lib/pdf_rbld.ps]

2003-08-18T20:33:55.000000Z Raph Levien

The invocation "./configure; make install" wasn't working because
the install target doesn't create the "standard directories", in
particular obj/. This patch simply adds the STDDIRS dependency to
the install-exec target, parallel to the existing std target, which
is the default chosen from a simple "make" invocation.

[src/unixinst.mak]

2003-08-18T20:30:27.000000Z Ray Johnston

Fix non-conformance of "startjob" if password check fails. Previously, the
"quit" operator in systemdict was masked by a definition of /quit as /stop
in userdict, even if startjob failed due to password check or other reason.

[lib/gs_lev2.ps]

2003-08-18T17:02:21.000000Z Ralph Giles

Bump the version number post-release.

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

2003-08-18T01:50:08.000000Z Ralph Giles

Protect a Carbon-only call in the MacOS code. This was preventing linking
in the Classic shlib build.

[src/gp_macio.c]

2003-08-17T17:41:02.000000Z Ray Johnston

Add some more CMap files that have been encountered in files recently
submitted as bugs. Newer versions of some of the ETen CMap group are also
provided.

[Resource/CMap/ETenms-B5-V Resource/CMap/ETHK-B5-V Resource/CMap/ETen-B5-V Resource/CMap/ETenms-B5-H Resource/CMap/ETHK-B5-H Resource/CMap/ETen-B5-H Resource/CMap/ETen-B5-UCS2]

2003-08-17T10:52:07.000000Z Russell Lang

Add the jbig2dec source directory to the Windows Release instructions.

[doc/Release.htm]

2003-08-16T23:59:19.000000Z Ralph Giles

Correct line endings in two portability header files. These prevented compilation
under Metrowerks CodeWarrior.

[src/time_.h src/unistd_.h]

2003-08-16T21:42:00.000000Z Ralph Giles

Correct the 8.10 changelog contents in the new Details8.htm file.

[doc/Details8.htm]

2003-08-16T21:27:24.000000Z Ralph Giles

Update news and changelogs for the 8.11 release. Add a new file 'Details8.htm'
which carries the detailed changelog entries referred to from History8.htm,
in parallel to the way Details.htm is the detailed counterpart of Changes.htm.

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details8.htm doc/Details.htm]

2003-08-16T19:54:44.000000Z Ralph Giles

Correct the release date in the documentation footer and increment the version number for release.

[doc/History7.htm doc/Projects.htm doc/History8.htm doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm doc/Deprecated.htm doc/Install.htm doc/Copying.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Bug-form.htm doc/Drivers.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm doc/Fonts.htm doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm doc/New-user.htm doc/Psfiles.htm doc/Bug-info.htm doc/Tester.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm doc/Testing.htm doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/History2.htm doc/History3.htm doc/Ps2epsi.htm doc/History4.htm doc/History5.htm doc/History6.htm]

2003-08-16T19:48:29.000000Z Ralph Giles

Bump the release date for Ghostscript 8.11.

[man/pf2afm.1 man/dvipdf.1 man/ps2ascii.1 man/printafm.1 man/ps2epsi.1 man/pdf2dsc.1 man/font2c.1 man/gsnd.1 man/pdfopt.1 man/ps2pdf.1 doc/News.htm man/pdf2ps.1 man/pfbtopfa.1 doc/Release.htm man/gslp.1 man/wftopfa.1 man/ps2pdfwr.1 man/ps2ps.1 man/gs.1 src/version.mak]

2003-08-16T19:43:36.000000Z Ralph Giles

Document testing.cfg as well as testing.cfg.example.

[doc/Testing.htm]

2003-08-16T07:53:27.000000Z Raph Levien

Cleans up the behavior of the .tempfile operator, primarily making it
consistent across all the platforms, ensuring that the TMPDIR and TEMP
environment variables are effective, the system temp directory is used
when these are not specified, and the permissions for tempfile
creation work as expected (allowed in the simple case, but closing off
potential vulnerabilities in other cases. Intended as a final fix for
bug #686922.

DETAILS:

1. The permissions behavior of .tempfile is changed so that simple
prefixes are always allowed, absolute pathname prefixes are checked
using the PermitFileWriting logic, and other cases are disallowed. In
particular, it is no longer possible to specify temp prefixes relative
to the current directory, or as subdirectories of the standard temp
directory. Both such cases are potential security holes, and are
probably not useful in any real application.

2. The meaning of gp_open_scratch_file() is made more consistent
across the platforms. In particular, it is now the clear
responsibility of this function to add the appropriate temp
directory. As such, gp_gettmpdir() is no longer exported in the public
gp.h interface (gpmisc.h is intended only for the convenience of gp_
implementations).

3. On VMS, gp_open_scratch_file() didn't previously add the
temporary directory pathname. Now it does.

4. On Windows, gp_open_scratch_file()'s behavior was somewhat
inconsistent, calling GetTempPath() only when the length of the TMPDIR
or TEMP environment variables overflowed the buffer provided. It
now additionally uses GetTempPath() in the cases where these
environment variables are not set.

5. Since gp_open_scratch_file() now takes responsibility for
determining the temporary directory, ztempfile() no longer attempts
to do this.

[src/lib.mak src/gp_mswin.c doc/Language.htm src/gpmisc.h src/zfile.c src/gp.h src/gp_vms.c]

2003-08-16T06:51:50.000000Z Ray Johnston

Convert ASCII range font names found during the FONTPATH scanning to
simole ASCII aliases (original Unicode names preserved). Fixes bug 686861
for customer 131.

DETAILS:

This is an interim patch that establishes the alias in the ASCII code
range if (and only if) the high byte of ALL characters in the name are
NULL (\000).

The future improved implementation would be to add a UTF-8 fontname when
the TTF font has the name in Unicode. This would allow simple PostScript
applications that use the 8-bit character name to work as this patch does.

[lib/gs_fonts.ps]

2003-08-16T00:42:47.000000Z Ray Johnston

Pass path across grestore using base "identity" coordinates to prevent
limitcheck errors. The upath operator returns coordinates in the current
user space, but these are no longer valid across a CTM change such as
"grestore" or "setgstate" causes. Fixes SF bug #687001 for customers
580 and 590.

DETAILS:
The patch gets the upath using identity user space, then stuffs it into
the graphics state after the grestore in the same identity space
restoring the CTM of the grestore after the uappend.

Both grestore_nopath and setgstate are modified. These could probably
be refactored later to share PS code, but the value is minimal (IMO).

Interesting that this hadn't turned up before, but two customers tripped
over this recently.

[lib/pdf_ops.ps]

2003-08-15T22:32:02.000000Z Raph Levien

Fixes two pointers to freed objects that were left dangling
in the PDF 1.4 transparency logic. Fixes bug #686994.

DETAILS:

With some test files, saved graphics states had held on to pointers to
the device filter stack that had already been freed by a
gs_pop_device_filter() call. These dangling pointers can cause garbage
collection corruption. This patch introduces reference counting
discipline to these pointers so that the dfilter_stack objects are not
actually freed until the last reference is dropped.

A similar but simpler argument applies to the pdf14_ctx object in the
pdf14_device. This patch simply sets the pointer to NULL when freeing
the context.

[src/gsdfilt.c src/gsdfilt.h src/gzstate.h src/gsstate.c src/gdevp14.c]

2003-08-15T20:23:37.000000Z Ralph Giles

Correct a typo in the previous commit.

[src/gp_macio.c]

2003-08-15T20:19:21.000000Z Ralph Giles

Remove redunant prototypes from gp_mac.h and modernise the implementation
of gp_open_scratch_file on MacOS to match the updated prototype in gp.h.
Also adds some limit checking in that implementation.

Note that gp_mac.h is now empty. I've left it in the build in expectation of
future usefulness.

[src/gp_macio.c src/gp_mac.h]

2003-08-14T22:28:13.000000Z Russell Lang

Update DSC parser to latest version from GSview.

DETAILS:
Recognise MacBinary or AppleSingle files and process the data
fork only, similar to DOS EPS files.
Handle DCS2 files that contravene the spec by putting the TIFF
preview between the composite and the separations.
Recognise CMYK and RGB names if separations are renamed using
epstool.

[src/dscparse.c src/dscparse.h]

2003-08-14T19:56:02.000000Z Alex Cherepanov

Fix make files and portability layer to compile on Borland 5.5
freeware compiler.

[src/bcwin32.mak src/winint.mak src/unistd_.h]

2003-08-14T17:52:44.000000Z Alex Cherepanov

Include time.h and sys/time.h on Intel compiler as requested by Duraid Madina.
Fix bug 686984

[src/time_.h]

2003-08-14T17:32:52.000000Z Alex Cherepanov

Update non-DLL version to support visual tracer.
Fix bug 686993

[src/dwnodll.c src/msvc32.mak src/dwdll.c]

2003-08-13T16:04:14.000000Z Alex Cherepanov

Fix portability issues: add a portable header for sscanf() and
use specific handle HDROP instead of generic HANDLE.

[src/winint.mak src/dwimg.c]

2003-08-13T15:56:51.000000Z Alex Cherepanov

Don't rely on MS linker merging global variables defined multiple times.

[src/dwtrace.h]

2003-08-13T15:54:07.000000Z Alex Cherepanov

Update GS icon file by re-saving it in MSVC 6. Old icon file was incompatible
with OpenWatcom resource compiler.

[src/gswin.icx]

2003-08-13T15:49:22.000000Z Alex Cherepanov

Remove comma from the linker command line because the following indirect
file contains keyword-value pairs, not a list of values.

[src/watcw32.mak]

2003-08-13T15:14:06.000000Z Alex Cherepanov

OpenWatcom doesn't define LPRGBQUAD. Add the corresponding typedef.
Partial fix for 686816

[src/windows_.h]

2003-08-12T14:13:10.000000Z Ray Johnston

Add the headers ($Id: Details.htm 6777 2006-05-17 19:36:16Z giles $ line and copyright notices).

[toolbin/genfontmap.ps]

2003-08-12T13:32:22.000000Z Igor Melichev

Fix : The condition for empty environment string was wrong in ztempfile.
Bug 686922 "no default temp dir"

[src/zfile.c]

2003-08-11T19:14:07.000000Z Igor Melichev

Fix (pdfwrite) : The default implementation of stringwidth is incompatible with Type 3 font processing.

DETAILS :

With Type 3 fonts the default implementation of stringwidth renders characters to PS cache,
causing them to convert to bitmaps in further rendering. This patch implements stringwidth
with Type 3 fonts inside pdfwrite, allowing the charproc accumulation during stringwidth.

Bug 686992 "Duplicated characters in Arabian Type 3".

[src/gxchar.c src/gxchar.h src/gdevpdtt.c src/gdevpdte.c]

2003-08-11T17:42:13.000000Z Ray Johnston

Correct offsets into .bigstring (broken when string size changed from 1000).

[lib/gs_frsd.ps]

2003-08-11T11:50:10.000000Z Igor Melichev

Fix (pdfwrite) : Don't write OP into charprocs.

DETAILS :

Bug 686986  "Could not find the extended graphic state ..." error

[src/gdevpdfg.c]

2003-08-11T11:44:13.000000Z Igor Melichev

Fix (pdfwrite) : Check a run out charstring while converting Type 1 font into Type2.

DETAILS :

1. Compare the instruction pointer with the charstring end address (gdevpsfx.c).
2. Error codes were not propagated.

Bug 686985 "pdfwriter segfaults converting a charstring".

[src/gdevpdtb.c src/gdevpsf2.c src/gdevpsfx.c]

2003-08-10T06:33:44.000000Z Dan Coby

Fix for Bug 686991  Memory leak in CET test file 12-07.ps.

DETAILS:

A pointer to a free object was found while running the CET with the
memory allocation test switches (-Z@?$).  The free object was a color
space and the pointer was inside a gs_image_enum_common structure.

The situation occurs when an error is found in the data source for
for an image.   The actual cause was that the image enum common
structure should have also been released.

Note:  The data source checking is the only place that has this
problem.  After the data source checking, the image enum common
structure pointer is placed into an image enum structure.  Errors
that are detected after that point call gx_image_cleanup which
handles all of the data in the image enum structure including the
image enum common structure.

[src/zimage.c]

2003-08-08T18:45:05.000000Z Ray Johnston

Adjust internal string lengths to allow for long path/filenames such as
for Resource paths. OS limits may be shorter than the 8192 length allowed
for after this changes, but now interpreter internals won't cause a failure.
Customer 590 found this with a long GenericResourceDir. Bug #686989.

DETAILS:

While 8192 is also arbitrary, now all strings used for path/filenames are
the same and probably long enough for a while.

Also I made all the string lengths used for file copy operations be the
same 64000 bytes (they were highly inconsistent).

[lib/pdf_main.ps lib/gs_diskn.ps lib/gs_res.ps lib/gs_fntem.ps lib/gs_fonts.ps lib/gslp.ps lib/wftopfa.ps lib/gs_frsd.ps lib/gs_cidcm.ps lib/gs_pfile.ps lib/gs_statd.ps lib/gs_resst.ps lib/pphs.ps lib/gs_pdfwr.ps]

2003-08-07T18:19:50.000000Z Ray Johnston

Add a utility to create a Fontmap format file after forcing a scan of all
FONTPATH directories. The created Fontmap file will contain direct links
to all fonts found, so that subsequent runs of Ghostscript that use this
Fontmap won't need to perform the time consuming scan of the FONTPATH.

[toolbin/genfontmap.ps]

2003-08-07T17:09:26.000000Z Igor Melichev

Fix (pdfwrite) : Widths were computed wrongly with Type 3 fonts.

DETAILS :

1. With glyphshow process_text_modify_width called pdf_char_widths with GS_NO_CHAR.

2. In pdf_char_widths an index for real_widths array was wrong (2 times smaller) with Type 3.

3. Now we write Widths as reals, improving the precision.
   Now the precision isn't smaller than 1/100, rather the old code
   looses all significant digits when a width is smaller than 1.
   A better way would be re-scaling the font, but currently we don't see a strong need for that.

Bug 686988 "test-setweightvector.ps wrongly converts to PDF".

This patch fixes the test-setweightvector.ps problem and improves glyph positions in
Altona.Page_3.2002-09-27.pdf .

[src/gdevpdte.c src/gdevpdtw.c]

2003-08-06T17:05:09.000000Z Alex Cherepanov

Allocate larger buffer for generated charstrings. Old allocation was
insufficient for gray block characters. (Unicode 2591, 2592, 2593).
Fix bug 686987.

[lib/bdftops.ps]

2003-08-06T16:24:29.000000Z Ralph Giles

Disable the legacy macstdio device in the default Codewarrior build. It conflicts
with and is obsoleted by the modern Metrowerks Standard Library and our default
Carbon build, which most users are now using.

[src/macos-mcp.mak]

2003-08-06T16:13:49.000000Z Ralph Giles

Remove an unused local variable

[src/gdevpdtw.c]

2003-08-06T15:50:19.000000Z Ralph Giles

Fix incorrect line endings.

[src/gdevpdtw.c]

2003-08-04T13:51:41.000000Z Ralph Giles

Document adding the jbig2dec source to the source release.

[doc/Release.htm]

2003-08-02T22:50:41.000000Z Igor Melichev

Fix (pdfwrite) : Providing an access to the original font matrix via a special
font dictionary key /.OrigFont (part 2).

DETAILS :

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-August/003482.html
was buggy. This patch corrects it and fixes the 2003-08-02 regression
with two_encodings.ps .

[src/gdevpdtt.c src/zbfont.c]

2003-08-02T15:52:06.000000Z Igor Melichev

Fix (pdfwrite) : A workaround for Type 3 fonts with instandard BuildChar.

DETAILS :

Bug 686982 "Wrong characters in PDF".

[src/gsccode.h src/zbfont.c src/gdevpdti.c]

2003-08-02T12:00:17.000000Z Igor Melichev

Fix (pdfwrite) : xshow, xyshow array index was wrong.

DETAILS :

Bug 686976 "type3 fonts are mangled in pdf conversion",
but the problem was more general than Type3.

[src/gdevpdtc.c src/gdevpdte.c]

2003-08-02T09:54:15.000000Z Igor Melichev

Fix (pdfwrite) : gs_copied_can_copy_glyphs used glyph names instead glyph indices with Type 42.

DETAILS :

This change is a continuation of the glyph/glyph_index cleanup
started in http://www.ghostscript.com/pipermail/gs-cvs/2003-June/003354.html .

Bug 686983 "TT fonts converted to type3".

[src/gxfcopy.c]

2003-08-01T20:37:19.000000Z Igor Melichev

Fix (pdfwrite) : Providing an access to the original font matrix via a special
font dictionary key /.OrigFont .

DETAILS :

The new key is implementation specific and should not affect regular documents.
It works for the case when a font is copied like this :

	/x findfont dup length dict copy
	/y exch definefont

- it points from the copy to the original font.

This change fixes Ghostscript Bug 686970 "Overlapping characters"
and causes a progression with 455690.pdf with pdfwrite.

A long ago Peter L. Deutsch and me discussed the heuristic in
pdf_font_orig_matrix/font_orig_scale. I was aware of its limitations,
but I followed Peter's authority. Now we get a real case that it can't handle,
and therefore I take the responsibility for the different approach.

-igor.

[src/gsfont.c lib/gs_fonts.ps src/gdevpdtt.c src/zbfont.c src/gxfont.h]

2003-08-01T16:50:50.000000Z Jack Moffitt

Update News.htm with current open bugs and incompatible changes.

[doc/News.htm]

2003-08-01T15:53:37.000000Z Ralph Giles

Remove a redundant dependency definition.

[src/lib.mak]

2003-08-01T15:40:57.000000Z Ralph Giles

Set release dates on the documenation.

[man/pf2afm.1 man/dvipdf.1 man/ps2ascii.1 man/printafm.1 man/ps2epsi.1 man/pdf2dsc.1 man/gsnd.1 man/font2c.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 man/pfbtopfa.1 man/gslp.1 man/wftopfa.1 man/ps2pdfwr.1 man/ps2ps.1 man/gs.1]

2003-08-01T15:21:19.000000Z Ralph Giles

Update release date for stable 8.11 release.

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

2003-07-31T20:14:38.000000Z Alex Cherepanov

Create a table that decides whether the glyph index belongs to
[WinAnsiEncoding, StandardEncoding, MacExpertEncoding], or SymbolEncoding,
or none of them. Use this table instead of searching the encoding vectors
for every glyph.
Fix bug 686929

[toolbin/encs2c.ps doc/Develop.htm src/gdevpdtv.c src/gdevpdtw.c src/devs.mak src/gdevpdtv.h]

2003-07-31T12:15:11.000000Z Igor Melichev

Fix (the new Type 1 hinter) : Accent was misplaced in composite Type 2 glyphs.

DETAILS :

Bug 686971 "Characters with accents problem".
Expected progressions :

	Altona.Page_3.2002-09-27.pdf
	Svd.pdf

[src/gstype2.c src/gxhintn.c]

2003-07-30T20:24:15.000000Z Ralph Giles

Document the .bindnow operator and the need to rebind bind to .bind after
calling it with -dDELAYBIND. Closes bug 633299.

[doc/Use.htm doc/Language.htm]

2003-07-30T15:48:59.000000Z Ray Johnston

Remove superfluous 'save pop' from .setpdfwrite definition since gs_init.ps
now performs the outer level save which addresses the font loading issue
.setpdfwrite was solving.

[lib/gs_pdfwr.ps]

2003-07-30T13:35:43.000000Z Ray Johnston

Add -dNOOUTERSAVE when -c false 0 startjob pop is used to set up a job
server environment so that Genoa tests will operate as if under a job
server and so that global VM will be restored when Genoa tests check the
exitserver operation.

[toolbin/tests/gstestgs.py]

2003-07-30T07:26:55.000000Z Ray Johnston

Add an initial outermost save unless -dNOOUTERSAVE option is specified.
Fixes Bug #686972 and others that were closed with the instructions to
use -c "save pop" prior to the file.

DETAILS:
The initial save is needed for several ProcSets from Adobe applications
and those of other vendors that expect objects in global VM to be retained
after a restore that would otherwise remove objects in global VM defined
after the corresponding save.

This kept recurring because several ProcSets from Adobe, Quark and others
expect to run under a job server. The -dNOOUTERSAVE is needed for backward
compatibility and for those that want to run under a job server and want
global VM to be restored between jobs (as expected under a job server).

Note that the save object is discarded so that it cannot be used to restore
to the state prior to .setsafe and thus circumvent security when -dNOSAFER
is used and .setsafe or .locksafe is subsequently used to go to SAFE mode.

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

2003-07-30T00:25:37.000000Z Ralph Giles

Properly handle the absence of a parameter dictionary in the JBIG2Decode
filter implementation. Closes bug 686979.

DETAILS:

Filter implementations can be called with   or just
with  on the stack. Previously our jbig2 decode filter only
supported the former. This went undetected because previous files we'd
encountered from the CVISION and Adobe encoders included a /JBIG2Globals
filter parameter even if it was empty. The file submitted with the bug
has no filter params at all for the JBIG2Decode stream. It identifies
itself as having been generated by CVISION Technologies' PDFCompressor 2.0.

[src/zfjbig2.c]

2003-07-29T12:24:47.000000Z Ralph Giles

Correct capitalization of the -d parameter in the IJS examples.

[doc/Devices.htm]

2003-07-26T19:23:18.000000Z Dan Coby

Correct a problem which was created when the SeparationOrder parameter
was implemented.  The usual symptom was an uninitialized value left in
the cyan component for a gray color space.

[src/gdevdevn.c]

2003-07-25T14:08:23.000000Z Ralph Giles

Build fix of the jbig2 makefile. OOur portable (v)snprintf implementation is
in snprintf.c, notvsnprintf.c. Reported in but 686966.

[src/jbig2.mak]

2003-07-25T00:05:08.000000Z Ralph Giles

Record that .buildnativefontmap has been run even if .getnativefonts returns
false (unimplemented). This was causing an endless loop if a font was not
found as dofindfont tried to call the native font enumeration code over and
over.

[lib/gs_fonts.ps]

2003-07-24T15:22:06.000000Z Ray Johnston

Fix a SEGV that could occur during 'shfill' if a GC occurred between the
.buildhading and the .shfill internal operators.

DETAILS:

The DataSource sub-structure that is part of the shading_mesh_params was
not being traced, so that memory pointed to by elements of that structure
would be prematurely freed.

This was detected running files produced by libGL2ps that turned an Open GL
rendering into LOTS of shapes to be filled with Gouraud triangles.

[src/gsshade.c src/gsshade.h src/gsstruct.h]

2003-07-24T00:25:22.000000Z Ralph Giles

Fix security issue with .setnativefontmapbuilt. Procedures that change the
systemdict must be execute-only so the .forceput cannot be extracted and
used to change other parameters. Thanks to Russell Lang for this.

[lib/gs_fonts.ps]

2003-07-24T00:07:06.000000Z Ralph Giles

Since globaldict isn't always available and userdict is subject to save/restore,
keep /.nativefontmapbuilt in systemdict, with an accompanying procedure to set
its value since systemdict is read-only from the normal runlevel.

[lib/gs_fonts.ps]

2003-07-23T23:31:55.000000Z Ralph Giles

Record whether the .buildnativefontmap has been run as a boolean under
the key /.nativefontmapbuilt in userdict, instead of the array hack
used previously.

A better choice would be globaldict which is less susceptible to save/restore
but this is a language level 2 feature and not defined with gs_fonts.ps is
run.

[lib/gs_fonts.ps]

2003-07-23T21:27:48.000000Z Raph Levien

More transparency fixes: set color space when computing /BC in soft-mask
transparency groups. Implement /TR transfer function in soft-mask groups.

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

2003-07-23T17:20:32.000000Z Ralph Giles

Enable native font enumeration by default. This change also corrects some
flaws in the search logic. Like with the FONTPATH directory scanning,
.buildnativefontmap will only be called the first time a font cannot be found.
However, it can still be run manually to update the in-memory Fontmap.

DETAILS:

To record that .buildnativefontmap has been run, we define /.nativefontmapbuilt
as an array containing a single element, either 'true' or 'false'. We use an
array to avoid local vs. global issues when the value is set during the call
to .buildnativefontmap.

[lib/gs_fonts.ps]

2003-07-19T06:13:33.000000Z Raph Levien

More transparency fixes: fix broken remapping of Separation and DeviceN
colorspaces in PDF 1.4 mode. Convert background color for soft mask
groups to DeviceGray colorspace using PostScript code (currentgray).

[src/ztrans.c lib/pdf_draw.ps src/gdevp14.c]

2003-07-18T21:40:39.000000Z Raph Levien

Draws the alpha plane of PDF 1.4 SMask images as a soft masked group.

[lib/pdf_draw.ps]

2003-07-17T13:49:31.000000Z Ralph Giles

Speed up native font enumeration on MacOS by caching the results of parsing the FOND resource
table.

Also return paths of the from '%macresource%path:to:file#POST' for resource files without
FOND tables, on the assumption these are LWFN files. The font loading machinery doesn't yet
support such paths, and they are simply skipped without being added to the in-memory font map.

[src/gp_macio.c]

2003-07-15T16:47:11.000000Z Ralph Giles

Rename reftable to fond_table, etc. to avoid confusion with postscript references.

[src/gp_macio.c]

2003-07-15T01:05:37.000000Z Ralph Giles

Improve native font enumeration on MacOS. This feature is still not enabled.

DETAILS:

There are six different api calls to open a resource file on MacOS Carbon,
all of various provenance and history. We were using FSOpenResourceFile()
in our FOND parsing code because it will open the data fork of .dfont files
or the resource fork of resource font files. Very convenient. However, it
fails for some common font files with broken resource maps. Therefore we
now fall back to FSpOpenResFile() which only tries the resource fork, but
can handle the broken maps, if the first attempt fails. I've not encountered
any .dfont files with broken resource maps; they're a recent phenomenon so
we should be safe there.

Also contains changes to skip the FOND parsing for .ttf and .otf filenames,
to ask for 'Local' instead of 'Global' fonts in the enumerator (the difference
is unclear) and changes to use the Carbon headers in the Carbon build.

[src/gp_macio.c]

2003-07-14T19:32:17.000000Z Ray Johnston

Read a PostScript embedded ICC input profile into a bytestring (.bigstring)
rather than a temp file. This is faster and doesn't leave the temp file
laying around. Bug #686926 for Artifex customer #1110.

DETAILS:

Since we don't know the size of the bytestring needed to invoke .bigstring,
we read the ICC profile data into an array of 64,000 byte strings, then
create the bytestring and fill it with putinterval.

This bytestring then becomes the source for a ReusableStreamDecode filter
which is a seekable filter. We'd like to have simply used SubFileDecode
filter and ASCIIHexDecode as the source for ReusableStreamDecode, but
this only works if SubFileDecode has a count.

[lib/gs_icc.ps]

2003-07-14T07:20:11.000000Z Russell Lang

Exclude NT file attributes when building zip file of sources.

[doc/Release.htm]

2003-07-11T15:18:10.000000Z Ralph Giles

Have configure define DONT_HAVE_JMEMSYS_H is appropriate, is support of the eventual generation of gconfig_.h by the configure script rather than unix-aux.mak.

[src/configure.ac]

2003-07-10T22:32:04.000000Z Dan Coby

Added casts to remove some warning messages from MSVC.  Partial fix for
bug #686592.

[src/gdevpsd.c src/gdevdevn.c]

2003-07-10T19:21:05.000000Z Ray Johnston

Comment out the #define for the DUMP_TO_PNG debug mode (it will need make
file changes to compile correctly since png.h may not be on standard
include paths.

[src/gdevp14.c]

2003-07-10T18:42:02.000000Z Raph Levien

First batch of transparency improvments. With these changes,
ChineseOpera.ai and a number of other files using soft mask groups
should render correctly.

[src/gstrans.c src/gxblend.c src/gdevp14.c]

2003-07-10T18:34:01.000000Z Raph Levien

A code clarity change only. Make the value of 1-input stitching function
more explicit in the degenerate case.

[src/gsfunc3.c]

2003-07-10T18:07:03.000000Z Ralph Giles

Update version information and links to the web and bts sites, after a patch from Ambrose Li. Bug 686939.

[doc/New-user.htm doc/Bug-info.htm]

2003-07-10T17:55:44.000000Z Ralph Giles

Generate the list of X11 libraries we need to link to in configure. Previously this was hardwired, but some systems do require the addition of the X_PRE_LIBS and X_EXTRA_LIBS discovered by the configure macro. Closes bug 686938.

[src/Makefile.in src/configure.ac]

2003-07-10T17:46:15.000000Z Ray Johnston

Prevent divide by zero when invalid Bounds arrays are encountered. Earlier
we allowed invalid Bounds to be compatible with Adobe, but did not supply
a non-zero denominator value. Fix required for ChineseOpera.ai

[src/gsfunc3.c]

2003-07-10T17:11:43.000000Z Ralph Giles

Recognize the 0.3 source release jbig2dec.

[src/configure.ac]

2003-07-10T17:08:54.000000Z Ralph Giles

Improve a comment in the generated gconfig_.h on unix.

[src/unix-aux.mak]

2003-07-10T02:56:51.000000Z Ray Johnston

Add some casts to prevent excessive warnings when compiling C fonts with
MSVC 6. This only affects the syntax of the generated fonts.

[lib/font2c.ps]

2003-07-09T23:55:27.000000Z Igor Melichev

Fix: Cygwin/gcc warnings.

DETAILS :

One of them actually was a bug in the recent patch.

[src/gxtype1.c src/zchar1.c]

2003-07-09T23:46:50.000000Z Igor Melichev

pdfwrite : Improving the font metrics handling.

DETAILS :

1. Metrics, Metrics2 was ignored for CID fonts;
2. usematrix was ignored;
3. v-vector was erroneusely scaled down in 1000 for TT fonts;
4. glyph_info mixed WMode 0 1nd 1 in some cases.

This patch is a partial fix for the bug #686947 "rotated japanese chars".
A complete fix should include a handling of CDevProc.

This patch causes an unexpected progression of pdfwrite with keyboard.pdf
at any resolution, and a minor difference with 093-01.ps at 300dpi.

[src/ichar1.h src/gxfcopy.c src/zfcid1.c src/int.mak src/gdevpdtc.c src/gstype42.c src/gdevpdtt.c src/gxtype1.c src/gdevpdte.c src/zchar1.c]

2003-07-09T14:03:02.000000Z Igor Melichev

Fixing a C++ style comment in fapi_ft.c.

[src/fapi_ft.c]

2003-07-08T21:03:36.000000Z Ralph Giles

Don't redefine _Windows, since msvctail.mak passes it on the command line. Fixes a warning under
MSVC reported by Igor Melichev.

[src/iapi.h]

2003-07-08T17:31:14.000000Z Ralph Giles

Use 'fontname' instead of 'name' as an argument to gp_enumerate_fonts_next()
to avoid a warning on MSVC. Thanks to Igor for pointing out the issue.

[src/gp_iwatc.c src/gp_macio.c src/gp_os9.c src/gp_mswin.c src/zfontenum.c src/gp_dvx.c src/gp_unix.c src/gp_os2.c src/gp.h src/gp_vms.c]

2003-07-08T15:02:43.000000Z Ralph Giles

Add dmmain.c to the list of (platform-specific) source files exempt from the C++ comment policy.

[toolbin/tests/check_comments.py]

2003-07-08T14:58:04.000000Z Ralph Giles

Remove some C++ style comments.

[src/gsiomacres.c]

2003-07-08T14:56:07.000000Z Ralph Giles

Remove some C++ style comments and correct formatting.

[src/zfontenum.c]

2003-07-08T14:51:03.000000Z Ralph Giles

Add zfontenum.c to the file listing in the documentation.

[doc/Develop.htm]

2003-07-08T13:26:43.000000Z Igor Melichev

Fix (pdfwrite) : Enlarge font resource arrays on demand.

DETAILS :

The patch fixes CID fonts that provide a lesser CIDCount than
CIDs used in a document. Rather PS requires to print CID=0,
we need to provide a bigger CIDCount since we don't
re-encode the text. The text should look fine if the
viewer application substitutes the font.

Fixes the pdfwrite regression with 401-01.ps, which caused a segfault on Linux.
Thanks to Ray Johnston for the fault analyzis.

[src/gdevpdtc.c src/gdevpdtf.c src/gdevpdtf.h]

2003-07-07T21:54:42.000000Z Jack Moffitt

Implement C++ style comment checking.  Partially fixes bug #538033.

[toolbin/tests/check_comments.py]

2003-07-07T21:53:19.000000Z Jack Moffitt

Require python2.2 now, since the new C++ style comment checking requires it.

[toolbin/tests/gscheck_raster.py toolbin/tests/update_pdfbaseline toolbin/tests/make_testdb toolbin/tests/check_source.py toolbin/tests/update_baseline toolbin/tests/check_dirs.py toolbin/tests/gscheck_all.py toolbin/tests/make_two_pdfversions toolbin/tests/check_all.py toolbin/tests/make_two_versions toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/run_nightly toolbin/tests/gscheck_pdfwrite.py toolbin/tests/revert_pdfbaseline toolbin/tests/get_baselines toolbin/tests/run_regression toolbin/tests/testdiff toolbin/tests/revert_baseline toolbin/tests/check_docrefs.py toolbin/tests/dump_testdb]

2003-07-04T19:31:29.000000Z Ralph Giles

Initial check in of the native font enumeration mechanism with an implementation for MacOS. The
code is currently disabled pending resolution of bugs regarding some font files.

DETAILS:

This adds a trio of gp_enumerate_fonts calls which implement an interator for querying the native
operating system for font files. This is essentially required to make use of the support for
reading resource-based font collection files on MacOS since there is no convenient way to
construct a Fontmap by hand. Thus our initial implementation focusses there and only stubs are
provided on other platforms. However, it would generally be a useful feature on any system that
provides such services.

An iterator object is created with gp_enumerate_fonts_init() and released with
gp_enumerate_fonts_free(). Between these calls, each font is returned by a successive
call to gp_enumerate_fonts_next() as a pair of C strings giving the access path and reported font
name.

On MacOS these are implemented using the FMFontIterator API from Carbon. Unfortunately, while this
returns font names and files, it does not provide details about the resource internals so we must
open the file and extract the resource id corresponding to the font itself. It also is not always
possible to obtain the correct postscript name from the OS call.

Connection is made to postscript through the .getnativefonts operator, implemented in zfontenum.c.
I handles the interation and places the results on the stack as an array of two element arrays,
each representing the name and path as postscript strings. New code in gs_fonts.ps calls this and
adds the entries to the fontmap after first calling .findfontname on each path to verify
accessibility and in case the reported font name is unreliable. This is implemented as the
.buildnativefontmap procedure, which is called by the font location logic if a requested font
is not found in the Fontmap.

Caveats: This can be a very expensive operation, so like the FONTPATH directory scanning it should
probably only happen once in a given session, instead of every time a font isn't found. The macos
implementation could also be considerably streamlined.

[src/gp_iwatc.c src/gp_macio.c src/gp_os9.c src/int.mak lib/gs_fonts.ps src/gp_mswin.c src/zfontenum.c src/gp_dvx.c src/gp_os2.c src/gp_unix.c src/gp_vms.c src/gp.h]

2003-07-04T15:08:56.000000Z Ralph Giles

Apparently Metrowerks CodeWarrior defines _WINDOWS_ instead of the normal __WINDOWS__. Support both for determining the calling conventions of the client api. Problem reported by Des Courtney as bug 686934.

[src/iapi.h]

2003-07-04T13:02:05.000000Z Ralph Giles

Add the new get_baselines script to the regression test documentation.

[doc/Testing.htm]

2003-07-03T12:20:12.000000Z Igor Melichev

Fix (Type 1 hinter) : -dAlignToPixels=0 was ignored with -dNOCACHE.

DETAILS :

Now we pass the oversampling scale and the number of subpixels
to the Type 1 hinter in separate parameters. The old interface
was wrong when alpha buffer is installed with -dNOCACHE.

The patch cause difference in rendering with -dTextAlphaBits=2,4.
These cases are not tested by the regression test tool.

Minor changes :

- fixed C-style in gxhintn.c;
- removed "const gs_log2_scale_point no_scale = {0, 0}" to simplify calls
  to gs_type1_interp_init.

[src/gstype1.c src/gstype2.c src/gxfcopy.c src/gxhintn.c src/gstype1.h src/gxtype1.c src/gxhintn.h src/gxtype1.h src/gdevpsfx.c src/zchar1.c]

2003-07-02T23:41:05.000000Z Jack Moffitt

Report upgraded baselines in the last 24 hours. Closes bug #654532.

[toolbin/tests/gscheck_raster.py toolbin/tests/run_nightly toolbin/tests/get_baselines toolbin/tests/testing.cfg.example]

2003-07-02T14:35:07.000000Z Ralph Giles

Change the release instructions to refer to GPL Ghostscript rather than GNU Ghostscript. We're no longer part of the GNU project. Closes bug 686913.

[doc/Release.htm]

2003-07-02T13:16:47.000000Z Ralph Giles

Document passing -DGX_COLOR_INDEX_TYPE in unixansi.mak in response to the confusion reported in bug 686876.

[src/unixansi.mak]

2003-07-01T15:01:41.000000Z Ralph Giles

Correct a bug with zero-length files in .findfontvalue, used by .findfonttype and .findfontname.

[lib/gs_fonts.ps lib/gs_ttf.ps]

2003-07-01T14:41:33.000000Z Ralph Giles

Document the need to set /OutputFile to a valid filename before calling 'setdevice' with the pdfwrite device. Closes bug 686784.

[doc/Language.htm]

2003-07-01T10:00:23.000000Z Igor Melichev

Fix : merge Adobe Glyph List to gs/Resource/Decoding/Unicode.

[Resource/Decoding/Unicode]

2003-07-01T04:37:20.000000Z Alex Cherepanov

Fix premature increment of a nested string counter.
Skip white space characters before '(' on 0 level.

[src/geninit.c]

2003-07-01T04:20:01.000000Z Alex Cherepanov

Include default font map into compiled initialization files but use it only
if the default font map file fails to open at run time.
Fix bug 414985.

[lib/gs_fonts.ps doc/Make.htm lib/Fontmap]

2003-06-30T16:23:16.000000Z Alex Cherepanov

Fix a typo in a comment.

[lib/gs_stres.ps]

2003-06-26T22:42:33.000000Z Dan Coby

Fix for 686927  Bug in implementation of .hsb2rgb (gs_cspace.ps).
This is a bug report, fix, and a test file from Heiko Oberdiek.
I love it when the bug reporter also includes an analysis, a fix and a
test file.  The problem was an error in the calculations for an HSB (hue,
saturation, brightness) color to RGB when the hue was 1.  The only change
that I made in Heiko's fix was to change a few more comments.

[lib/gs_cspace.ps]

2003-06-26T22:20:58.000000Z Alex Cherepanov

PDF fonts can have different widths assigned to character codes corresponding
to the same glyph. There is no equivalent feature in PostScript. In this case
we define a new entry in CharString dictionary, and change Encoding vector and
Metrics accordingly. Currently the font adjustment is applied to Type1,
MMType1, and TrueType font resources as defined in adjustfonttypes dictionary.
Fixes bug 623292

[lib/pdf_font.ps lib/pdf_ops.ps]

2003-06-26T15:59:23.000000Z Alex Cherepanov

Don't oversample characters for rendering in non-pure color. Search the
character cache for the exact match -- don't do routine downsampling.
Move cached image depth calculations to compute_glyph_raster_params().
Fix downsampling depth calculation although it is not expected to be used
in normal operation. Leave the downsampling code intact because it is also
used for error recovery.
Fix bug 570772 from customer 1.

[src/gxchar.c src/gxccman.c src/gxccache.c]

2003-06-26T09:14:00.000000Z Igor Melichev

Fix : Improving an error message.

[src/imain.c]

2003-06-24T10:57:17.000000Z Igor Melichev

Fix : gs/Resource/Decoding/Unicode contained wrong codes for Cyrillic and Herbrew.

[Resource/Decoding/Unicode]

2003-06-22T11:15:51.000000Z Igor Melichev

Fix (pdfwrite) : pdev->black and pdev->white were not set when ProcessColorModel changes.
Bug 686921 "/ProcessColorModel /DeviceCMYK causes black page".

[src/gdevpdfg.c]

2003-06-21T15:16:53.000000Z Igor Melichev

Fix (pdfwrite) : Improving the condition for writing ToUnicode CMap for simple fonts.

[src/gdevpdte.c src/gdevpdtw.c]

2003-06-21T12:12:36.000000Z Igor Melichev

Fix : Remove LONG_MIN from gxfill.c for a better portability.

[src/gxfill.c]

2003-06-20T15:52:45.000000Z Ralph Giles

Give the explicit maximum buffer size in bytes. Suggestion by Ray re bug
686925.

[doc/API.htm doc/DLL.htm]

2003-06-20T14:32:23.000000Z Ralph Giles

Document the 64 KB length limit on input data passed through the
gsapi_run_string* and gsdll_run_cont() calls. Fixes bug 686925.

[doc/API.htm doc/DLL.htm]

2003-06-20T13:20:52.000000Z Ralph Giles

Remove  inclusions as it defines types that conflict with our
std*.h on HPUX and probably other systems. Fix for bug 686920.

Also correct the copyright dates for gxhintn.c.

DETAILS:

limits.h was defining ushort on HPUX which conflicts with the definition
imported in stdpre.h. There are two approaches within our portability
framework: don't use these defines, or make them part of the
output from genarch. Since there's only one use in the code (for
MIN_LONG) I simply defined it at the top of the file.

The test used should work on all 2's complement systems and would
probably fail miserably on anything else. It was the most portable
define I could come up with. A less assuming variant
((long)(ARCH_MAX_ULONG>>1)+1) also works but generates a warning about
the overflow.

genarch.c could of course test a variety of candidates and look for the
rollover. We could also switch to autoconf for provisioning the whole
set of defines. This was chosen as the simplest fix for the time.

[src/gxhintn.c src/gxfill.c]

2003-06-20T11:23:48.000000Z Ralph Giles

Declare zimage_data_setup() as private to match its prototype. Corrects
a warning on the HPUX native compiler.

[src/zimage.c]

2003-06-19T15:38:54.000000Z Igor Melichev

Fix (pdfwrite) : FontMatrix was wrong when a standard font is used
with various encodings.

DETAILS :

The core of the change is one in pdf_font_std_alloc.
Others provide information for it.

Bug 686917 "bad type1 font handling in pdfwriter".

[src/gdevpdtb.c src/gxfcopy.c src/gdevpdtd.c src/gdevpdtt.c src/gdevpdtf.c src/gxfcopy.h src/gdevpdtb.h src/gdevpdtf.h]

2003-06-18T20:51:58.000000Z Alex Cherepanov

Windows 2000 driver includes PJL into %%BeginFeature block.
Identify this from the operand stack pattern: countdictstack lucas mark
and fail the feature request.
Fix bug 686916

[lib/gs_init.ps]

2003-06-18T20:01:58.000000Z Alex Cherepanov

Use single '%' in a comment.

[lib/gs_stres.ps]

2003-06-18T19:58:46.000000Z Alex Cherepanov

Activate DSC parser only after all prologue files are read to
prevent spurious comments starting with '%%' from disturbing the parser.

[lib/gs_pdfwr.ps]

2003-06-18T19:56:04.000000Z Alex Cherepanov

Fix mis-identificaion of every DSC-conforming file as EPS.

[src/gdevpdfp.c]

2003-06-18T19:53:04.000000Z Alex Cherepanov

Add a paragraph documenting current page orientation options,
document limitations on ps2pdf options, and show a work-around.
Fixes bug 592930

[doc/Ps2pdf.htm]

2003-06-18T13:30:02.000000Z Igor Melichev

pdfwrite : Generate ToUnicode CMaps for CID fonts.

DETAILS :

This patch must not affect any rendering.

The main change is in gdevpdtc.c and zbfont.c .

Minor changes :

- removed an debug code (#if TEST_UNICODE_SUPPORT, #if 0 in gdevpdtc.c);
- Propagated error code in gdevpdf.c .

Bug 686887 "Searchable pdf".

[src/gdevpdf.c src/gdevpdtc.c src/zbfont.c src/gdevpdte.c]

2003-06-17T13:41:02.000000Z Igor Melichev

Fix (type 1 hinter) : Don't apply alignment zone to horizontal stems
when the shift is bigger than half pixel.


DETAILS :

Fixes a problem with comparefiles/font_issue.pdf .

This patch causes minor differences in rendering of multiple files :

72dpi :

027-09.ps
bulletin.pdf
chess.ps
CIDembedded.pdf
fonttest.pdf
Svd.pdf
test.pdf

300dpi :

01_001.pdf
027-05.ps
027-09.ps
033-52-5873.pdf
045-01.ps
093-01.ps
136-01.ps
154-01.ps
158-01.ps
159.pdf
165-01.ps
1_pct_50_bang.pdf
231-01.ps
233-01.ps
251-01.ps
268-03.ps
268-05.ps
281-01.ps
327-01.ps
450-01.ps
455690.pdf
541.pdf
541_623.pdf
86554321.pdf
aaon97_p7.pdf
acrobat.pdf
adesso1.pdf
adesso3.pdf
adesso5.pdf
adesso6.pdf
adesso7.pdf
AdobeLic.pdf
alphabet.ps
Altona-Testsuite_p2_S_x3.pdf
Altona.Page_3.2002-09-27.pdf
ats-3-5-99.pdf
besttest.pdf
brochurep1.pdf
bug-gstest.pdf
bugsample.pdf
bulletin.pdf
ccc.pdf
chess.ps
CIDembedded.pdf
colorcir.ps
dave.pdf
Dave_Barry.pdf
DisplayedGood.pdf
DisplayedWrong.pdf
fonttest.pdf
frosch.pdf
gs5.98-dragon.pdf
gs6.0-dragon.pdf
H00216q.pdf
js.pdf
kazmir.pdf
KozukaB-ILEmbed.pdf
laballade.pdf
LD.pdf
narrow_font.pdf
ngnews.pdf
ngnews1.pdf
NIL_0003.pdf
Openhuis_pdf_zw.pdf
pdftops.pdf
PixelisAd.pdf
prfmm.pdf
pstopdf.pdf
pstopdfO3.pdf
QA_Inv.pdf
RealCities.pdf
rf1025.pdf
ridt91.eps
RodinCIDEmbed.pdf
S2_Digitalproof-Forum_x3k.pdf
smdf.90441.102.pdf
Svd.pdf
test.pdf
test2.pdf
test2a.pdf
textsavematrix.pdf
time1.pdf
vsem0093.pdf
waterfal.ps
xgfddg.pdf
xngnews.pdf

[src/gxhintn.c]

2003-06-17T12:10:43.000000Z Ralph Giles

Clarify a comment.

[src/macos-mcp.mak]

2003-06-17T09:42:19.000000Z Igor Melichev

Implementing the text rendering mode 3 with graphics library
to allowing PDF interpreter with pdfwrite to pass invisible text (continued).


DETAILS :

2 files were missed from the previous patch. Adding them now.

[src/gxistate.h src/gsstate.c]

2003-06-16T15:04:51.000000Z Igor Melichev

Implementing the text rendering mode 3 with graphics library
to allowing PDF interpreter with pdfwrite to pass invisible text.


DETAILS :

This patch improves the text rendering mode 3 only.
Other text modes stay like they were -
implemented with charpath in pdf_ops.ps
(to be improved someday).

We process invisible text with TEXT_DO_NONE,
adding an additional check to op_show_restore in zchar.c .
We would like to implement a new mode TEXT_DO_INVISIBLE,
but we don't want to do so deep change without a strong neccessity.
It can be subject of a further improvement.

With this patch stringwidth won't work with text rendering mode 3.
We never use this combination.
TEXT_DO_INVISIBLE could work for it.

Bug 686914 "pdfwrite does not preserve invisible text".

[src/gstext.c src/gsstate.h src/int.mak src/zgstate.c src/gdevpdtt.c src/gdevpdte.c src/zchar.c lib/pdf_ops.ps]

2003-06-16T10:46:01.000000Z Igor Melichev

Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong (3nd attempt).

DETAILS :

This patch defines a compatible workaround for fonts that use
ce1_setcurrentpoint in an illegal way. See comments in code.

[src/gxhintn.c src/gdevpsfx.c]

2003-06-11T19:49:44.000000Z Igor Melichev

Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong (2nd attempt).

DETAILS :

The previous patch appears wrong.
This patch unwinds the change to gdevpsfx.c and fixes ce1_setcurrentpoint
in the new Type1 hinter.

[src/gxhintn.c src/gdevpsfx.c]

2003-06-11T12:02:58.000000Z Igor Melichev

Fix : Errors in a comment documenting gs_glyph.

[src/gsccode.h]

2003-06-11T01:35:08.000000Z Ralph Giles

Print out modified file names and versions when generating the html changelog. Update the current
versions of Changes.html and Details.html as an example.

[doc/Changes.htm doc/Details.htm]

2003-06-11T01:31:58.000000Z Ralph Giles

Print out modified filenames and versions when generating the html changelog.

[toolbin/split_changelog.py]

2003-06-10T14:29:53.000000Z Igor Melichev

Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong.

[src/gstype1.c src/gdevpsfx.c]

2003-06-09T22:25:45.000000Z Alex Cherepanov

Edited to reflect new capabilities of Bugzilla and current bug reporting
practices.

[doc/Bug-form.htm]

2003-06-09T22:16:27.000000Z Alex Cherepanov

Change links from SourceForge bug tracker,
http://sourceforge.net/bugs/?group_id=1897
to Ghostscript Bugzilla, http://bugs.ghostscript.com
Fix bug #686888

[doc/Make.htm doc/Bug-info.htm]

2003-06-09T21:55:07.000000Z Alex Cherepanov

Add hyperlinks to Ghostscript Bugzilla bug entries.

[doc/Projects.htm doc/Issues.htm doc/Devices.htm]

2003-06-09T13:58:21.000000Z Alex Cherepanov

Permit explicit specification of /GDBytes equal to 0 for incrementally
downloadable CIDFonts.
Fixes bug 686890 from customer 131.

DETAILS:
Incrementally downloadable CIDFont has GlyphDirectory key. According to
PLRM3 p. 376 "The binary data section of a CIDFont with a GlyphDirectory entry
does not need a charstring offset table or charstrings; if present, they will
be ignored". PLRM3 says nothing about GDBytes entry but it seems logical that
the entry is no longer needed when the structure it describes is ignored.
 
Old code used 0 as a default GDBytes value but required explicit specification
to be > 0. New code permits explicit 0 value because "Acrobat PDFMaker 5.0 for
Word" generates it.

[src/zfcid.c]

2003-06-08T13:59:04.000000Z Igor Melichev

Fix : Removing an unused code.

[src/gdevbit.c]

2003-06-08T03:30:53.000000Z Igor Melichev

Fix : Completing the extended semantics of gs_glyph.

DETAILS :

The extended semantics was introduced with the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-June/003354.html
That patch appears incomplete. Hopely this one completes it.
Also it fixes the bug #686910, which was not detected with comparefiles.

[src/zfont42.c]

2003-06-07T21:17:20.000000Z Igor Melichev

pdfwrite : Write Encoding for True Type fonts.

DETAILS :

See comment in code.

[src/gdevpdtt.c]

2003-06-07T21:14:19.000000Z Igor Melichev

Fix (PDF interpreter) : Account Encoding while building CharStrings for TrueType fonts.

DETAILS :

If an Encoding is specified with a symbolic TrueType font,
its character names to be used for generating CharStrings.
The old code uses SymbolEncoding instead, missing some characters.

Fixes the bug 686912 "PDF interpreter problem with True Type & Encoding".

[lib/pdf_font.ps lib/gs_ttf.ps]

2003-06-06T17:50:27.000000Z Igor Melichev

Fix (pdfwrite) : Convert Type 0 fonts with multiple CID font descendents into
Type 0 fonts with single CID font descendents (the part 3).

DETAILS :

At last we got a non-degenerate test for multiple CID font descendents
and could debug this stuff with a real document.

This patch mixes several changes :

- In some cases CIDFontType 2 fonts wrongly computed glyph indices ignoring GlyphDirectory.
  The new function z11_glyph_info works for it.

- The text decomposition in gdevpdtc.c mixed font indices of various font descendents.

- font->procs.get_glyph_info sometimes received glyph indices
  instead glyph names or CIDs. This happened with subglyphs of a CIDFontType 2 glyph.
  This patch improves the semantics of gs_glyph with distinguishing
  CIDs and GIDs with a new tag in the 2nd high order bit.
  The new macro GS_MAX_GLYPH_INDEX and related stuff
  works for it.

- gdevpdtd.c tried to compute CID font features using glyph names,
  which don't exist in this case. Replaced with CIDs.

- In gdevtrac.c a wrong glyph space was specified enumerating glyphs
  (a minor change, since gdevtrac.c is almost an example).

- Fixed a compiler warning in gdevdevn.c .

Working on this patch, we can see rudiments
in pdfwrite code, which are inherited from pre-8.00 code
(before stable font copies are implemented), which to be fixed someday :

- subset_glyphs arguments in gdevpsft.c looks always NULL
  and probably to be removed;

- COPY_GLYPH_BY_INDEX is now obsolete and to be removed;

- glyph enumeration procedures (*enumerate_glyph*) sometimes retrieve
  a wrong tag in gs_glyph values. The new macro GS_GLYPH_TAG works against it,
  rather an improvement to enumeration procedures would be useful.

The patch is debugged with korea.ps from the bug #686894.
After this change the embedded composite font with 2 CIDFontType 2
descendents is correctly decomposed into 2 Type 0 fonts with
single descendents (the old (gs8.10) code converts it into a Type 3
with outlines). The generated PDF satisfies the PDF specification
and Ghostscript can handle it. Meanwhile Acrobat Reader 4,5,6
fails with it. It appears an old known problem :
if a Type 42 font and a CIDFontType 2 with a non-standard CMap
appear in same PDF document, Acrobat Reader fails.
We believe it's a bug in Acrobat reader, because if we
modify the document with removing portions of text so that
only one of the 2 fonts is really used, Acrobat Reader renders it fine.
It fails only when both things are really used for rendering.
A workaround for this problem to do separately.

[src/gsccode.h src/gdevtrac.c src/gxfcopy.c src/gdevpdtc.c src/gxfont42.h src/zfcid1.c src/gdevpdtd.c src/gdevpdtt.c src/gstype42.c src/gdevdevn.c src/gdevpsft.c src/gdevpdtf.c src/gdevpsfu.c src/gdevpsf.h src/zfont42.c]

2003-06-06T16:29:59.000000Z Alex Cherepanov

Process encryption dictionary after reading all parts of xref. Old code
resolved encryption dictionary after reading the latest part of xref only
and returned null instead of the dictionary for some files.
Fixes bug 686907 from customer 1060.

[lib/pdf_main.ps]

2003-06-03T07:31:58.000000Z Igor Melichev

pdfwrite : Don't add subset prefix when a font doesn't embeed.
Ghostscript Bug 686893  NeverEmbed for Japanese CID fonts doesn't work correctly
Patch from Koji Nakamaru.

[src/gdevpdtf.c]

2003-06-03T06:26:18.000000Z Dan Coby

Fix for 686785 segfault with PDF 1.4.  The PDF interpreter was calling
PDF 1.4 transparency features (begin_trasnparency_group) even though
the alpha involved was 1.0.  THe fix is to set a flag when the need
for transparency is done at the start of a page and then testing it
when transparency may be needed durng the page.

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

2003-06-03T05:30:47.000000Z Dan Coby

This fix corrects a recursion loop that exists with PDF form objects
with a transparency group.

[lib/pdf_draw.ps]

2003-06-02T19:52:58.000000Z Alex Cherepanov

Count 1st page objects as shared objects. This is the 1st version that
generates files compatible with AR5 used as a browser plug-in.
Earlier versions of Acrobat ignore malformed hint tables. All versions
ignore the tables when they read the file from disk.
Fixes bug 592841

[lib/pdfopt.ps]

2003-06-02T16:21:16.000000Z Igor Melichev

pdfwrite : Glyph indices were wrongly computed with copied FontType 11.
Ghostscript Bug 686894 "Corrupted CMap".

[src/gxfcopy.c]

2003-06-02T13:35:31.000000Z Ralph Giles

Add standard banner and (unnecessary) double include protection to satisfy policy tests.

[src/macos_carbon_pre.h]

2003-06-02T13:29:46.000000Z Ralph Giles

Correct listing of MacOS platform-specific source files.

[doc/Develop.htm]

2003-05-31T00:10:02.000000Z Ray Johnston

Previous commit was from a bad version of the file (prior to a local
correction in a different directory). This fix is the correct fix for
embedded fonts that have Length 0 for customer #590.

[lib/pdf_font.ps]

2003-05-30T23:28:01.000000Z Ray Johnston

Some PDF files have embedded fonts with Length == 0. These should default
to the same handling as when there is no embedded font. Fix for customer
#590.

[lib/pdf_font.ps]

2003-05-29T19:28:00.000000Z Ralph Giles

Add an example library client for MacOS, comparable to dxmain and dwmain for other platforms. This
implementation is specific to Metrowerk CodeWarrior, relying on the MSL/SIOUX stdio implementation
for the interactive window. No project file support at the moment.

Code contributed by Nigel Hathaway.

[src/dmmain.r src/dmmain.c]

2003-05-29T19:11:57.000000Z Ralph Giles

Add a prefix header file for the MacOS Carbon build to enable target-specific settings.

DETAILS:

Metrowerks CodeWarrior doesn't really have an equivalent of the -D commandline option to set CPP
defines at compile time. This makes it difficult to set target-specific #ifdef's, for example the
__CARBON__ switches used in the MacOS support code. The closest thing offered is a hook in the
project file for a 'prefix' header file that will be prepended to each source file as it is fed to
the preprocessor. We add such a file for the carbon build, and enable it in the project file xml.

The conditional in macgenmcpxml.sh is a direct comparison for the Ghostscript carbon shlib name,
which is excessively brittle. Something like perl's =~ /carbon/i on the target name would be
preferable, but I couldn't figure out how to do that reliably in sh.

[src/macos_carbon_pre.h src/macgenmcpxml.sh]

2003-05-29T19:02:00.000000Z Ralph Giles

Check for a valid filter name before trying to parse jbig2 global context streams.
Fixes bug 686829.

DETAILS:

The expansion of abbreviated filter names and check for supported filters was
happening after the special-case handling of JBIG2Decode parameters, resulting
is an '/undefined in /.jbig2makeglobalctx' error if Ghostscript was compiled
without jbig2 support, rather than the usual 'Unable to process' warnings for
files containing JBIG2Decode data.

[lib/pdf_base.ps]

2003-05-29T16:38:04.000000Z Ralph Giles

Remove spurious '-c' options to install. Closes bug 686895.

[ijs/Makefile.in]

2003-05-27T16:10:14.000000Z Alex Cherepanov

Initialize current color value as null when pattern color space is set.
Fixes bug 686805

[src/zpcolor.c]

2003-05-24T22:41:48.000000Z Igor Melichev

Fix : Don't fail when GlyphNames2Unicode can't be provided for a CID font.

[lib/gs_fntem.ps]

2003-05-24T17:19:58.000000Z Dan Coby

A pair of fixes for Bug 686791   Device bitcmyk produces wrong output
The bitcmyk device produce the wrong output if GrayValues=8.  In this
case the pixel size is 32 bits.  The encode_color procedure was sign
extending the  MSB into the upper 32 bits of 64 bit gx_color_indexes.
The fix in gdevbit.c prevents this from happening.  The fix in gdevm32.c
makes it so that it does not matter.  I am including both for
completeness.  The bitcmyk device should not produce garbage in the
remaining bits.  Thus the first fix.  However there may be other
devices with this problem so I am including the fix in gdevm32.c.
There was a recent report from an AIX system with a similar problem

[src/gdevbit.c src/gdevm32.c]

2003-05-23T09:57:34.000000Z Igor Melichev

Provide a trial support for converting a text to Unicode.

[src/gdevpdtc.c lib/gs_fntem.ps lib/gs_fonts.ps src/zbfont.c lib/gs_pdfwr.ps lib/gs_cidfn.ps]

2003-05-23T01:53:59.000000Z Ray Johnston

Stream 'position' was not update correctly under some conditions.
Fixes Bug #686859 for customer #600.

DETAILS:

The stream position was not updated if the buffer was emptied by
sgets, which then called to spgetcc. The latter would reset the
read pointers needed in order to account for the empty buffer.

[src/stream.c]

2003-05-22T23:37:08.000000Z Igor Melichev

pdfwrite : Convert Type 0 fonts with multiple CID font descendents into
Type 0 fonts with single CID font descendents (part 2).

DETAILS :

The previous patch appears wrong for the case when same CID font is used with
different CMaps. Creating multiple Type 0 fonts for this case,
assigning them a composite font name with CMap name.

Minor changes :

- a compiler warning in gdevpdfv.c .

- a wrong error code was returned from zfcid0.c .

[src/zfcid0.c src/gdevpdtc.c src/gdevpdtt.c src/gdevpdtf.c src/gdevpdfv.c src/gdevpdtt.h src/gdevpdtf.h]

2003-05-22T22:57:31.000000Z Ralph Giles

Double-equals ('==') for string comparison is not portable shell. Thanks
to Nelson Beebe for pointing out the issue.

[src/configure.ac]

2003-05-22T20:27:07.000000Z Igor Melichev

Fix : Removed a debug hack.

[src/gsfcmap1.c]

2003-05-22T15:51:37.000000Z Ray Johnston

PDF Forms that contained indirect objects need to be resolved prior to
processing with 'execform'. Bug #686884 for customer #150.

[lib/pdf_draw.ps]

2003-05-22T15:41:03.000000Z Igor Melichev

Fix (pdfwrite) : Convert Type 0 fonts with multiple CID font descendents into
Type 0 fonts with single CID font descendents.

DETAILS :

Bug 686869 "Rasterized characters".

Our testbase doesn't test this case. Rather the test file for 686869
contains a font with 2 CID descendents, it actually uses only the 1st
descendent, so it's not a complete test.

The new code fails with 401-01.ps . This test file is buggy and
requires a special workaround, which should be a separate patch.

The main change is gdevpdtc.c, gdevpdtf.h .

Minor changes :

- added a new argument to a set of CMap management functions to access a
  submap corresponding to a specified font index;

- gs_cmap_init now reserves so many gs_id numbers,
  as many fonts it refer;

- removed some unused variables (gdevpdfm.c, gdevpdfv.c, gdevpdtb.c).

[src/gdevpdfm.c src/gdevpdtb.c src/gsfcmap.c src/gdevpdtc.c src/gdevpdtt.c src/gdevpsf.h src/gdevpdtf.c src/gdevpdtw.c src/gdevpdfv.c src/gdevpdtt.h src/gdevpdtf.h src/zcidtest.c src/gdevpdtw.h src/gxfcmap.h src/gdevpsfm.c]

2003-05-22T06:02:25.000000Z Igor Melichev

Fix (pdfwrite) : Removing the 'vdata' argument to simplify internal interfaces.

DETAILS :

This change is algorithmically equivalent.

Note that 'size' argument is replaced with 'bsize', which now passes the
buffer size rather than text size. Added some dynamical checks to ensure the
buffer size is enough.

[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtt.h]

2003-05-21T17:50:58.000000Z Ralph Giles

Bump version number after the 8.10 release.

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

2003-05-21T14:54:42.000000Z Ralph Giles

Gnostscript 8.10 is a beta release.

[src/gscdef.c]

2003-05-21T11:36:45.000000Z Ralph Giles

Update changelog and bump release date for final 8.10 release.

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

2003-05-21T00:17:22.000000Z Ralph Giles

Correct additional header dependency errors.

[src/lib.mak]

2003-05-20T23:50:01.000000Z Ralph Giles

Update changelog and history files for the 8.10 release.

DETAILS:

Turned out I'd forgotten to modify makehist.tcl to handle the new
changelog format, so the merge of News and Changes into History8.htm
was done manually. Fortunately this is much simpler now.

We will also need a separate 'detailed history' file in which to archive
the Details documents before the next release.

N.B. those trying to regenerate this: the gs8_00 tag was accidentally
modified in April, so the date-from-tag filtering recommended in the
release instructions does not work for this diff. Instead the xml
changelong was generated with hand-picked dates:

	cvs2cl.pl --xml --utc -T --follow trunk --usermap authors \
		--log-opts "-d'2002-11-21<2003-06-21'" -f doc/changelog.xml

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Details.htm]

2003-05-20T23:29:32.000000Z Ralph Giles

Some browsers don't like '--' in the body of an html comment.

[toolbin/split_changelog.py]

2003-05-20T22:58:09.000000Z Ralph Giles

Add a missing header dependency.

DETAILS:
Our wrapper header memory_.h includes std.h, as most of them do, but
this dependency was not marked, causing a build error with a parallel
make. It began compiling the sjbig2.c before genarch was complete.

[src/lib.mak]

2003-05-20T21:30:36.000000Z Ralph Giles

Our bug tracker is now at ghostscript.com.

[doc/News.htm]

2003-05-20T21:06:28.000000Z Ralph Giles

Add release notes written by Raph Levien.

[doc/News.htm]

2003-05-20T20:16:27.000000Z Ralph Giles

Update open bug list for release.

[doc/News.htm]

2003-05-20T20:06:50.000000Z Ralph Giles

Add a missing dependendency definition.

[src/lib.mak]

2003-05-20T19:55:15.000000Z Ralph Giles

Propagate version number and release date to the documentation.

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

2003-05-20T19:52:29.000000Z Ralph Giles

Update libpng version to reflect the current release.

[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/msvc32.mak src/unixansi.mak src/msvclib.mak src/macos-mcp.mak src/os2.mak src/watclib.mak]

2003-05-20T19:48:27.000000Z Ralph Giles

Update version number and date for 8.10 release.

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

2003-05-20T18:59:31.000000Z Ralph Giles

Document the location of the jbig2dec releases on sourceforge in the build documentation.

[doc/Make.htm]

2003-05-20T18:44:40.000000Z Ralph Giles

Bump the 'known-good' versions for the jbig2 makefile to include the 0.3 release.

[src/jbig2.mak]

2003-05-20T18:40:45.000000Z Ralph Giles

Include an RCS Id line in the generated html changelog files.

[doc/Changes.htm toolbin/split_changelog.py doc/Details.htm]

2003-05-20T13:46:22.000000Z Alex Cherepanov

Work around 64K limit in a few probable places.
Fixes bug 611727

[lib/pdfwrite.ps lib/pdfopt.ps]

2003-05-20T12:46:10.000000Z Igor Melichev

Fix (pdfwrite) : Merge the Encoding of the 'complete' font copy when merging fonts.

DETAILS :

"PPI-ProPag 2.6.1.4 (archivePg)" creates multiple font copies with reduced encodings
(we believe it is poorly designed), and we merge the copies back to a single font.
Doing so the Encoding was not merged for the "complete" font copy.
The patch fixes that.

Bug 686875 Missing characters with -dSubsetFonts=false

[src/gdevpdte.c]

2003-05-20T09:10:55.000000Z Igor Melichev

Fix (pdfwrite) : 'loca' was wrong in some cases embedding a TT font subset.

DETAILS :

By TT spec, when a TT font uses indexToLocFormat==0, glyph offsets in 'glyf' must be even.
The old code doesn't take care about the glyph alignment while converting a font
from indexToLocFormat==1 to indexToLocFormat==0.
This patch inserts padding bytes into 'glyf' to align glyph offsets with indexToLocFormat==0.

Bug 686868 "Missing characters".

[src/gdevpsft.c]

2003-05-19T06:18:11.000000Z Dan Coby

Add a warning message if the rebuilding logic found two or more objects
with the same object numbers and the same generation numbers.

[lib/pdf_rbld.ps]

2003-05-19T05:20:32.000000Z Dan Coby

1.  Ignore data after %%EOF whicl scanning for objects or trailer.
2.  Allow objects with duplicate object and generation numbers.
3.  Change heuristic for finding the trailer dictionary.

DETAILS:

The previous testing had on the rebuild facility had verified that
all test files ran without apparent problems.  However a full check
of the files in the regression test suite has found three cases of
the output images not matching between the normal PDF processing
and the rebuild processing.

1.  Many real life PDF files contain garbage after the final %%EOF
marker.  Ghostscript has known about and tolerated this situation for
some time.  I found a test case (adesso6.pdf) in which the repair
logic was finding what it considered a valid object in this garbage.
The revisions determine the location of the last %%EOF and form a
count of the data left in the file after the %%EOF.  This count is
used to exclude this data from the object scanning and the trailer
location scanning.

2.  A test case was found in which two objects were found to have
the same object number and revision number.  By my reading of the
PDF spec, the newer object should have a higher revision number.
However the object scanner was changed to accept the last such
object as the desired one.  Most PDF editors (at least Adobe) put
updated objects at the end of the file.

3.  A test case was found in which a Linearized PDF file had been
edited and a new xref list and trailer dictionary were placed at
the end of the file.  The heuristic for finding the trailer dictionary
was changed to check the specified location of the 'first' xref list.
If this location is in the first half of the file, then the start of
the file is searched for the first trailer.  Otherwise the end of the
file is searched for the last trailer.

With these three changes, all of the PDF files in the regression
test suite produce matching results using either the normal PDF
processing or the rebuild procedures.

[lib/pdf_rbld.ps]

2003-05-19T01:15:40.000000Z Ray Johnston

The TrueType font loading was quite a bit slower than it should be. This
optimized font loader is up to ten times faster. Fixes bug #686851.

DETAILS:

Analysis of the time spent during TT font loading led to two problem areas.

The first was that the cmap array was built inefficiently when their was
a large glyph range, that had large holes was built with a loop that
called a PostScript function 'putglyph' to fill unused areas with .notdef
(glyph ID 0). The revision pre-fills the 'glyphs' array with .notdef from
a static array pre-filled with 1024 zeroes.

The second problem was the code that built the encoding using the 'post'
table. This code had a 'repeat' loop to find the name from the start of
the glyphNames section of the 'post' table for each named glyph in the
encoding. By creating a temporary cross reference, only one pass through
the names is made.

[lib/gs_ttf.ps]

2003-05-18T05:03:23.000000Z Alex Cherepanov

PostScript is a trademark and requires BiCapitalization.

[doc/Use.htm doc/Language.htm doc/Details.htm doc/Psfiles.htm doc/Install.htm]

2003-05-17T05:46:24.000000Z Ray Johnston

Security fixes. Add detection of %pipe% device when in SAFER mode. Also
fix detection of 'renamefile' to prevent rename from a file that is not on
the PermitFileControl list.

[src/zfile.c]

2003-05-17T05:40:57.000000Z Ray Johnston

Fix to prevent Windows function from creating file names like (xxx/\\yyy).
If there is a trailing path sep, GetTempFileName needs it to be \, not /.
Also remove extraneous ^M from previous commit.

[src/gp_mswin.c]

2003-05-16T14:49:29.000000Z Ralph Giles

Correct the implementation of the new file_name_combine operators for MacOS.

Details:

The parent directory reference prefix is '::' rather than ':'. Also, a path
that begins with the ':' directory separator is a relative path from the
current working directory.

The more substantive change is in the implementation on gp_check_root(), intended
to return the 'root' prefix of a path, if any. The previous implementation returned
the location of the first patch separator, causing initialization to fail when
attempting to determine if GenericResourceDir ends in a directory separator in
gs_res.c.

Absolute paths are not a well defined concept on Classic MacOS. In that case we just
return 0, as if no path were ever absolute. This likely causes other problems not
addressed here. In the Carbon build, we make use of the FSGetVolumeInfo() call
to enumerate all mounted volumes, attempting to match each one. This call returns a
16-bit char unicode name for each volume which we make no attempt to convert to
whatever 8-bit encoding ghostscript might receive the path in orginally; however
we do match the lower 8 bits for the first 256 characters, which works well enough
for English volume names.

Note that this patch only provides support for MacOS-style paths with ':' as a
separator. The Metrowerks Standard Library also accepts unix-style paths and
on MacOS X users will expect to be able to use them. Support will need to be
extended to include this.

[src/gp_macio.c]

2003-05-16T12:55:01.000000Z Alex Cherepanov

Fix uninitialized variable in gp_open_scratch_file() when the temporary 
file prefix is an absolute path.
Fixes bug 686874

[src/gp_mswin.c]

2003-05-16T12:48:53.000000Z Alex Cherepanov

Disable binary encoding. PDF doesn't use binary encoding and may
contain characters in the range 128 to 159 in names.
Fixes bug 686866

[lib/pdfopt.ps]

2003-05-16T12:41:32.000000Z Alex Cherepanov

Wild core returned sometimes as an error code from pdf_image_end_image_data()
caused unexpected PS error and a low level stacks dump.
Fixes bug 686870.

[src/gdevpdfi.c]

2003-05-15T23:10:43.000000Z Dan Coby

Added new PS source file lib/pdf_rbld.ps.  This module contains procedures
for rebuilding damaged PDF files.

[doc/Develop.htm doc/Psfiles.htm]

2003-05-15T22:31:04.000000Z Dan Coby

This is a set of routines for attempting to recover PDF files which
have been mangled by EOL conversions.  This is a facility which Adobe
Acrobat has and thus we need to duplicate.

DETAILS:

THE PROBLEM:

The basic problem is that PDF files contain 'xref tables' which are
really object location indexes which contain the absolute position of
objects in a file.  If a file is changed by converting the type of
EOLs then the file size is changed and the xref data is no longer
valid.  In many cases, Acrobat can rebuild these files.  It is not
always possible to always rebuild files.  If the files contain binary
data which contains line feed or new line characters then the binary
data may be mangled and cannot be rebuilt.  We need to be able to
duplicate Acrobat's ability for rebuilding files.  (Note:  In theory
one can get more and more sophisticated about rebuilding files.  The
techniques used in this code are quite simple but effective.)

THE BASIC SOLUTION:

The solution to this problem consists of several pieces.  The first piece
was to modify the pdf interpreter's internal representation of the xref
data.  The xref data is stored into two larrays.  The larray Generations
contains the object's generation number.  This was not changed.  The
larray Objects contained the location of the xref entry in the file.
This was set initially by the readxref routine.  Since the xref entry
data is not valid (for mangled files) this was not useful.  Objects
was changed to contain the actual location of the object in the file.
This actually eliminates one step in the process.  Previously when an
object was referenced, the location of the xref entry in the file was
obtained from Objects and then the xref entry was read to determine
the actual location of the desired object.

The second part of the process was to put .internal_stopped trapping
around the two usages of readxref to catch any failures of that routine.
An error message is printed and we then try to rebuild the locations
of the objects and find the proper trailer dictionary.

The third part of the process is to locate the objects in the file.
This is done by a simple scan of the file looking for lines beginning
with x y obj where x is a object number and y is object generation
number and obj is the text 'obj'.  In theory this simple strategy can
be confused by binary data but with over 156 files tested, no problems
were found.

The fourth part of the process is to locate the appropriate 'trailer'
dictionary.  There is a trailer dictionary with each xref list.  In
theory there can be many trailer dictionaries in a file.  The only
desired trailer dictionary is the one associated with the 'first'
xref list.  Unfortunately since we cannot count on the location
information in a mangled file, following the xref links is problematic.
The solution used is simple.  For Linearized pdf files, we find the
first (at the front of the file) trailer dictionary otherwise we use
the last trailer dictionary in the file.  This simple method works
for the 151 known good files (see testing below) and all five known
bad files.

Included are diffs for the changes and the new file lib/pdf_rbld.ps.
The only change in the src directory was the addition of pdf_rbld.ps
to the int.mak file.


TESTING:

There have been two sets of test run on this code.  The first set
consists of running 151 pdf files from our regression test suite.
These files are not mangled.  However by disabling the normal readxref
routine, the new code was exercised.  All 151 pdf files were displayed
correctly.

The second set of tests consists of actual problem files.  I was able
to locate five files that we have been sent that have been mangled.

file name		Ghostscript	Acrobat 5.0.5
1003.pdf		   okay		   okay
cm_test.pdf		   okay		   okay
precon.pdf		   okay	  	   fail
ServletReport.pdf	   fail	       	   fail
dauben.pdf		   fail		   fail

As expected, not all files can be recovered.  I was pleased that,
for this small sample, we did better than Acrobat.

[lib/pdf_main.ps src/int.mak lib/pdf_base.ps lib/pdf_rbld.ps]

2003-05-15T22:25:47.000000Z Dan Coby

Revised fix for 686872 token operator sometimes leaves extra data on stack.
With some strings, the token operator can leave extra data on the stack.
In the test case, the token operator is generating a syntaxerror.  The
error is expected.  However the token operator is leaving 3 items on the
stack.  It should only leave one:  The original string.  This fix
corrects the problem.

DETAILS:

The problem was found while developing the xref data recovery facility
which uses the token operator to scan PDF files (including binary data).
The fix consists of simply recording the operator stack level at the
start of the string processing and restoring it if an error occurs.

The revision to the fix consists of using the 'pop' macro to modify
the o_stack pointer instead of directly setting the pointer.

[src/ztoken.c]

2003-05-15T18:46:28.000000Z Alex Cherepanov

Fix negative shift count in operator << .
On 80x86 processors the shift argument is implicitely masked by 31.
Fixes bug #686743.

[src/gsciemap.c]

2003-05-15T16:59:06.000000Z Ralph Giles

Add the psd (Photoshop raster) output devices to the default autoconf build.

[src/Makefile.in]

2003-05-15T10:01:38.000000Z Russell Lang

Log message:
For the pngalpha device, set the default background color to white
in the bKGD chunk.  Add an option -dBackgroundColor=16#RRGGBB to
explicitly set the background color.  This is needed by a common
web browser that doesn't correctly support PNG with alpha transparency.

DETAILS:
Programs that don't fully support alpha transparency let
libpng convert an RGBA image to RGB.  The background color
used is either provided by the program, or in the bKGD
chunk, or it falls back to gray.  MSIE was defaulting
to a gray background which is not commonly used on web
pages.  By writing a white bKGD chunk, PNG files will display
correctly against a white background in MSIE.
If a solid color for a web page background is used
with , then PNG images appearing
on that page would need to be created with
-dBackgroundColor=16#CCCC00.
For textured background there is no hope.
Microsoft needs to fix Internet Explorer.

[src/libpng.mak doc/Devices.htm src/gdevpng.c]

2003-05-15T03:25:46.000000Z Dan Coby

Fix for 686872 token operator sometimes leaves extra data on stack.
With some strings, the token operator can leave extra data on the stack.
In the test case, the token operator is generating a syntaxerror.  The
error is expected.  However the token operator is leaving 3 items on the
stack.  It should only leave one:  The original string.  This fix
corrects the problem.

DETAILS:

The problem was found while developing the xref data recovery facility
which uses the token operator to scan PDF files (including binary data).
The fix consists of simply recording the operator stack level at the
start of the string processing and restoring it if an error occurs.

[src/ztoken.c]

2003-05-14T13:36:23.000000Z Alex Cherepanov

Following PDF spec make MatrixA equal to WhitePoint of CalGray color 
space. To avoud clipping set the max values of RangeLMN to the
corresponding values of WhitePoint.
Fixes bug 686749

[lib/pdf_draw.ps]

2003-05-12T12:21:32.000000Z Igor Melichev

Fix : margin_set::y was not initialized starting a fill (2nd attempt).

DETAILS :

The previous patch caused differences in rendering,
and therefore it's log message appers wrong.
Actually the uninitialized variable caused an indeterministic behavior,
and the previous patch fixed it.

Meanwhile the initial value appears not good for the case
then the bottom of a character may cause a dropout.
This patch improves that case.

Expecting minor differences rendering the following files at 72dpi :

01_001.pdf
136-01.ps
165-01.ps
455690.pdf
86554321.pdf
aaon97_p7.pdf
ccc.pdf
chess.ps
CIDembedded.pdf
LD.pdf
messenger.pdf
messenger16.pdf
QuickNews_Nov22.pdf
RodinCIDEmbed.pdf
xgfddg.pdf

[src/gxfill.c]

2003-05-11T13:59:29.000000Z Alex Cherepanov

Linearized PDF hints are rewritten as following:
(1) added shared object hint table
(2) added padding after every per-page entry in hint tables
(3) changed the values of some entries
Fixed a PS error in PDF files with empty /Contents array.
Added a check for encrypted PDF.
Fixes bug #611694.
 
DETAILS:
There are still many things to improve:
(1) detection of 1st page objects and shared objects yelds different
    result from Adobe Acrobat.
(2) no optional hint tables are generated
(3) encrypted PDF is not supported

The optimizer was tested on all PDF files of our test suite. It fails on:
(1) all encrypted files
(2) 000040cf.000_60.pdf because of bad entries in 12 0 obj
(3) test_multipage_prob.pdf because one of the font names contains
    a character recognized as a binary token

[lib/pdfopt.ps]

2003-05-11T13:33:02.000000Z Alex Cherepanov

Add missing quote to an error message.

[lib/pdf_base.ps]

2003-05-09T00:43:05.000000Z Ralph Giles

Replace generic always-on debug printfs with if_debugN() calls. To get
the old behavior, pass -Zs to the debug build.

[src/gsiomacres.c src/gp_macio.c]

2003-05-09T00:41:50.000000Z Ralph Giles

Correct a cut-and-paste error in FEATURE_DEVS.

[src/macos-mcp.mak]

2003-05-08T21:49:14.000000Z Raph Levien

Workaround to clean up after a PaintProc which leaves additional
garbage on the operator stack. Fixes bug #686855.

[src/zpcolor.c]

2003-05-08T18:32:44.000000Z Ralph Giles

Add the standard copyright banner and $Id line to the new changelog script.

[toolbin/split_changelog.py]

2003-05-08T18:28:43.000000Z Ralph Giles

Add recent new files to the developer documentation.

[doc/Develop.htm]

2003-05-08T11:04:54.000000Z Igor Melichev

Fix (type 1 hinter) : Overshoot thresholds were wrongly computed with TextAlphaBits > 1.

[src/gxhintn.c]

2003-05-08T10:33:21.000000Z Russell Lang

When enumerating files on Windows, do not return directory
names.  Partial fix for Bug 686853  filenameforall enumerates
directory items.

[src/gp_ntfs.c]

2003-05-08T09:57:13.000000Z Igor Melichev

Fix : margin_set::y was not initialized starting a fill.

DETAILS :

It could indereministically execute some code in start_margin_set,
but the code appears idle in this case because margin_set::margin_list == NULL.
Therefore it could not cause an indeterministic result.
Therefore this patch is an equivalent change, which is useful
to simplify the job for code validation tools.

[src/gxfill.c]

2003-05-08T08:16:58.000000Z Igor Melichev

Fix : gx_path::procs was not initialized in some cases.

[src/gxpath.c]

2003-05-08T04:23:26.000000Z Igor Melichev

pdfwrite : Don't write colors to charproc.

DETAILS :

Bug 686856 "PDF interpreter : /undefined in --setgray--".

Rather Acrobat Reader ingonre colors in charprocs,
we should not write them, because it is not conforming.

Expecting differences with pdfwrite with the tests :

adesso8.pdf
grayalph.ps

[src/gdevpdfx.h src/gdevpdti.c]

2003-05-07T22:12:49.000000Z Dan Coby

Fix for 686857 bitcmyk has problems with -dBITS=2.  This fix corrects
a problem with the halftone calculations if the number of bits per
component is more than one and the process color model is subtractive.

DETAILS:

This problem was caused by a change (1.2) to src/gxdevndi.c

  src/gxdevndi.c
    Modified gx_render_device_DeviceN to always perform the conversion
    from color component intensity values to halftone levels in an
    additive sense, if the gray_colorspace operand is true. This is
    necessary for compatibility with the pre-DeviceN code.

However the change only worked for max_value = 1.  This is the typical
case of 1 bit halftoning.  The fix works for any value of max_value.

[src/gxdevndi.c]

2003-05-07T16:37:17.000000Z Ray Johnston

Add some Document structuring commands to improve conformance. Thanks to
HF Nordhaug for submitting these.

[lib/ps2epsi.ps]

2003-05-07T12:55:36.000000Z Ralph Giles

Prefer the more modern __VMS platform define for including inttypes.h.

[src/stdpre.h]

2003-05-07T11:31:48.000000Z Ralph Giles

Include inttypes.h on VMS. This provides the stdint types needed by jbig2dec,
at least on OpenVMS. After a patch from Jouk Jansen.

[src/stdpre.h]

2003-05-06T20:50:10.000000Z Alex Cherepanov

dumphint is a new utility to print (to stdout) linearized PDF hint tables in
an easy-to-read form. The following deviations from the published
specification has been observed in PDF files produced by Acrobat suite
of products.

(1) /P (page offset hint table) key in hint stream dictionary has never been
    generated by Adobe products. It is no longer required in PDF 1.5.
(2) Per-page items 4 and 5 of the page offset hint table start from 1st
    page, not 2nd page as the spec claims.
(3) All array entries start from the new byte boundary.

[doc/Develop.htm lib/dumphint lib/dumphint.ps src/unixinst.mak doc/Psfiles.htm lib/dumphint.bat]

2003-05-06T10:38:53.000000Z Jouk Jansen


 Committing in .

 jbig2 support for OpenVMS using MMK

 Modified Files:
 	gs/src/jbig2.mak gs/src/openvms.mmk
 ----------------------------------------------------------------------

[src/jbig2.mak src/openvms.mmk]

2003-05-06T10:05:44.000000Z Igor Melichev

pdfwrite : Don't convert type 1 patterns and type 3 fonts to rasters.

DETAILS :

Expecting differences with pdfwrite with the tests :

H:\AuxFiles\CompareFiles\012-09.ps
013-09.ps
014-09.ps
015-09.ps
017-01.ps
020-01.ps
027-13.ps
031-05.ps
032-07.ps
034-10.ps
035-07.ps
045-01.ps
083-09.ps
103-01.ps
118-01.ps
123-09.ps
136-01.ps
148-16.ps
149-05.ps
165-01.ps
169-09.ps
176-01.ps
192-01.ps
205-09.ps
212-01.ps
213-01.ps
214-01.ps
220-07.ps
222-09.ps
226-01.ps
231-01.ps
244-01.ps
245-01.ps
245-07.ps
245-13.ps
245-17.ps
250-01.ps
251-01.ps
255-01.ps
257-01.ps
258-01.ps
260-01.ps
263-01.ps
264-01.ps
269-01.ps
270-01.ps
281-01.ps
296-01.ps
297-01.ps
298-09.ps
303-01.ps
307-07.ps
310-04.ps
311-03.ps
321-09.ps
327-01.ps
334-01.ps
335-01.ps
336-01.ps
adesso8.pdf
grayalph.ps
mspro.pdf
Popafinalrep.pdf
prob1.pdf
Testform.v1.0.2.pdf
xes2ps-problem.pdf

[src/gx.h]

2003-05-06T08:50:51.000000Z Igor Melichev

Fix (pdfwrite) : Pattern phase was wrongly computed for pattern stream accumulation (2nd attempt).

[src/gdevpdfv.c]

2003-05-06T03:51:41.000000Z Igor Melichev

Fix (pdfwrite) : Pattern phase was wrongly computed for pattern stream accumulation.

[src/gdevpdfv.c]

2003-05-05T12:57:13.000000Z Igor Melichev

Free Type Integration : commit an improved bridge.

DETAILS :

This commit corresponds to Free Type revision
http://www.graham.asher.btinternet.co.uk/artifex19.zip
http://www.graham.asher.btinternet.co.uk/artifex19.txt .
Note that it includes fixes opposite the current Free Type CVS.
The file ftwinfnt.h is missed in the zip, taken from an older version.

Rather the release note reads that all test files are passed except 2 ones,
we noticed failures running 01_001.pdf, 401-01.ps, Altona.Page_3.2002-09-27.pdf,
fonts.pdf (infinite loop), H00216q.pdf, HeiseiMinStd.pdf, keyboard.pdf,
test_multipage_prob.pdf (crash),
Also the character 'R' in 0.pdf renders wrongly.
Systematical testing was not done yet.

[src/wrfont.c src/write_t2.c src/int.mak src/fapi_ft.c]

2003-05-05T11:53:40.000000Z Igor Melichev

Fix : Add the static resource gs/Decoding/StandardEncoding .

[lib/gs_stres.ps]

2003-05-05T11:50:52.000000Z Igor Melichev

Initial commit for a minimal set of resources for CID font emulation, FAPI and pdfwrite .

[Resource/Decoding/StandardEncoding]

2003-05-05T09:08:08.000000Z Igor Melichev

Fix (file_name_combine) : Check .tempfile permissions.

DETAILS :

The temporary directory is allowed for creating temporary files
without specifying a special permission. However when the
prefix argument of .tempfile is an absolute path,
the permission is checked for it.

Minor change :

On Windows gp_open_scratch_file now calls gp_gettmpdir,
making the logic closer to one on Unix.
The call to GetTempPath is left for backward compatibility
(when the environment specify TMP but no TEMP).

[src/gp_mswin.c src/zfile.c]

2003-05-04T22:01:20.000000Z Igor Melichev

Fix (AlignToPixels) : Provide a better stem contrast.

DETAILS :

Minor changes :
1. Alignment with AlingToPixels=1 was wrong (gxhintn.c ln 1370).
2. The debug graphic output wrongly drew integral pixels.

[src/gxhintn.c]

2003-05-04T20:06:27.000000Z Ralph Giles

Correct a programming error that prevented macos native font loading from working
under Metrowerks Codewarrior.

DETAILS:

Integers were being read by |-ing together the results of successive fgetc() calls
within a single expression. Binary or doesn't have a specific order of evaluation in
C so while gcc read the bytes in the correct order Metrowerks was re-ordering the first
two reads resulting in a byte-swap error. The new code uses fread() followed by
reordering based on array index.

[src/gsiomacres.c]

2003-05-04T10:19:32.000000Z Igor Melichev

Fix (AlignToPixels) : Rounding formulas for glyph positions were wrong.

[src/gxchar.c src/gxccache.c]

2003-04-30T20:02:02.000000Z Igor Melichev

Fix : FONTPATH was broken with lib/gs_fonts.ps revisions 1.17 and 1.25 .

[lib/gs_fonts.ps]

2003-04-30T10:34:54.000000Z Russell Lang

If reopening the display device fails after setting the
callback, display an error message. Allocate the large display
bitmap using a low level allocator to avoid exceeding the memory
limit of the previously used device stable memory allocator.
Fixes bugs 686836 "-r doesn't work" and duplicate 686838
"Ghostscript doesn't do anything".

DETAILS:
The display memory device and the raster including line pointers
was allocated using the stable allocator of the display device.
This had a limit of 1Mbyte, which was exceeded when the
resolution was greater then 114dpi.  This would cause subsequent
allocations to fail, but it appears that nothing else tried to
use this allocator after the display device.  The display device
was changed to allocate the line pointers separately to allow
the raster to be allocated in special memory, e.g. video memory
or shared memory.  This caused the subsequent allocation of the
line pointers to fail when resolution exceeded 114dpi.

The modified code now allocates the raster with
gs_alloc_byte_array_immovable, which allocates directly from the
C heap, not subject to any memory limit apart from the overall
-K limit if specified, and is not subject to garbage collection.
The normal allocator now has sufficient memory to allocate the
line pointers without problem. The raster pointer is removed
from the pointers that are enumerated during garbage collection.

[src/gdevdsp.c src/idisp.c]

2003-04-30T01:11:40.000000Z Ray Johnston

Add a an option to disable the use of and embedded BeginICCProfile in
PostScript. The option is -dNOPSICC. Documentation is also added for
the option.

[doc/Use.htm lib/gs_icc.ps lib/gs_init.ps]

2003-04-29T22:50:07.000000Z Ralph Giles

Enable jbig2 support in the default windows build. The jbig2dec source is now required.

[src/msvc32.mak]

2003-04-27T23:46:42.000000Z Ralph Giles

Add the bbox device to the default macos shlib build. Bug 686811.

[src/macos-mcp.mak]

2003-04-26T18:40:16.000000Z Dan Coby

Log Message:

This is the fix for 686798 /typecheck in --setcolorspace-- with
-sDEVICE=x11cmyk. This fix increases the stack checking while sampling
tint transform functions. It also makes the error handling more robust
for invalid tint transforms.

DETAILS:

It is sad to say but this is a bug that we have seen before, several
times.  Ray and I fixed this problem at the last code fest in September.
However that fix did not make its way into CVS.

The cause of this problem is that certain proc sets from Adobe violate
the PLRM.  In the test file, the proc set is from Adobe Photoshop
Version 5.5.  The proce set contains tint transform functions which
violate the specification in two different ways.  In one case, the tint
transform function changes stack values outside of the given color value.
This is used as a test to see if the interpreter supports the given
duotone color space.  If so then the proc set creates a color space with
a tint transform which is unbalanced in its stack usage.  This could
cause a stack overflow/underflow during sampling of the tint transform.
Adobe apparently assumes that this tint transform is never executed
since the function starts with the name /NeverReached.

The fix involves checking the stack depth after each execution of the
tint transform function and verifying that it matches the correct
position given the number of function inputs and outputs.  If so then
the stack is returned to its original position and the sampling is
aborted.  Changes in lib/gs_sepr.ps make the tint transform sampling
logic more robust in case the tint transform modifies the top of the
stack.  (This occurs in this case since the tint transform is actually
popping extra items off of the stack.)  We also create a dummy tint
transform function if sampling fails.  The later was done to prevent
the /typecheck error and give pdfwrite something with which to work.

[src/zfsample.c lib/gs_sepr.ps]

2003-04-26T18:28:13.000000Z Alex Cherepanov

Fix scanline size calculations and channel mix-up.

[toolbin/tests/fuzzy.c]

2003-04-26T17:05:18.000000Z Igor Melichev

Complete the set of Adobe CMaps.

[Resource/CMap/Identity-H Resource/CMap/Identity-V]

2003-04-26T04:52:28.000000Z Alex Cherepanov

Following PDF 1.4, chapter 4.6.2 pattern is instantiated in the graphic state
harvested at the beginning of the pattern's parent content stream. This patch
fixes PS graphic state parameters only. PDF specific parameters are still
inherited from the current graphic state.
Bug #686834

DETAILS:
PS makepattern operator saves only PS graphic state for later use in PaintProc.
GS PDF interpreter implements PDF graphic state as a stack of dictionaries.
We should save full PDF graphic state and set it manually during execution of
PaintProc.

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

2003-04-24T19:42:13.000000Z Ray Johnston

Fix ASCII85Decode filter to match Adobe's when strings that are not multiples
of four are padded with other than zero. Tested against CPSI for exact match.
Also overflow error detection added to conform to the PLRM and CPSI.
Fixes bug #686840.

[src/sa85d.c]

2003-04-24T06:37:42.000000Z Ray Johnston

Add processing of %%BeginICCProfile DSC section for (some) EPS file, notably
Adobe Photoshop. Final part of fix for bug 686797.

DETAILS:
The change to gs_pdfwr.ps was due to the fact that it did not properly
balance the stack.

The method of trying /N 4 + /DeviceCMYK, then /N 3 + /DeviceRGB, finally
/N 1 + /DeviceGray is a *hack* that could be avoided if we knew what color
space the ICC profile expected. Since .seticcspace fails if /N doesn't
match what is in the profile, this seems like a reasonable hack.

[lib/gs_icc.ps lib/gs_pdfwr.ps]

2003-04-24T06:20:54.000000Z Ray Johnston

Get rid of some dead code (left over from cut+paste)

[src/gdevpnga.c]

2003-04-23T18:47:43.000000Z Ray Johnston

The DeviceN merge broke the command line -dUseCIEColor option. This patch
restores basic CMYK color conversion when -dUseCIEColor is set. Partial
solution to bug #686797.

[lib/gs_init.ps]

2003-04-23T15:58:08.000000Z Ralph Giles

Remove some debug printouts.

[src/macgenmcpxml.sh]

2003-04-22T13:52:14.000000Z Igor Melichev

Applying the generic stream accumulation method to /BP pdfmark.

DETAILS:

This is an equivalent change.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdti.c]

2003-04-21T15:39:47.000000Z Igor Melichev

A preparation for non-convert PatternType 1 to rasters with pdfwrite.

DETAILS:

The patch defines a new device virtual function pattern_manage,
and a default implementation for it. The purpose is to inform
the device about pattern accumulation and to bypass the installation of
gx_device_pattern_accum when the device can handle the pattern command stream.

The new code is temporary disabled with PATTERN_STREAM_ACCUMULATION 0
macro defined in gx.h . When it is 0, the new device virtual
function is provided but never called. The behavior should not change.

The rest of this log message describes PATTERN_STREAM_ACCUMULATION 1.
In this mode pdfwrite doesn't convert PatternType 1 to rasters.
It creates good PDFs at least with 012-09.ps and 269-01.ps
(these are very complicated cases with patterns inside charprocs and patterns),
but there are problems when rasterizing the resulting PDFs with GS.
(A new bug 686834 issued for tracking this problem).

When a pattern stream is handled by the device,
we can't create a proper content of gx_color_tile.
However we need a correct content if the pattern is used
for rasterization of an object which the device can't handle
at the high level. An example is pdf14 device during a PDF re-distillation,
which handles transparency. Another example is
a conversion of composite fonts, which have multiple CID descendents -
pdfwrite still converts such fonts to raster fonts.

Since a proper contents may be needed for gx_device_color,
we define a new flag gx_color_tile::is_dummy, and account it in
gx_pattern_cache_lookup. Thus, if the current device is cache device
installed for the font conversion, the tiles with is_dummy == true
are being be dismissed. Vice versa, tiles with is_dummy == false are
being dismissed when current device is pdfwrite.

We do not move parts of zpcolor.c code to gx_default_pattern_manage,
because we don't see a proper place for it to be compatible to
the FEATURE_DEVS configurability. Instead that, we implement
a branching inside gsptype1.c and zpcolor.c . If more branches will
be necessary in future, this to be improved with moving code
fragments to specific implementations of pattern_manage,
together with improving the FEATURE_DEVS modularity.
Delaying this reorganization until a strong reason appears.

NOTE: The patch extends the device interface with gs_pattern1_instance_t.

Minor Changes :

1. Fixed some MSVC warnings.
2. gx_pattern_alloc_cache passed a wrong client ID to memory manager.
3. Skipped some unuseful graphic state parameters while a contents substream accumulation.

[src/int.mak src/gdevpdfc.c src/gdevpdfd.c src/gx.h src/gdevpdfg.c src/gdevpdfi.c src/zpcolor.c src/gdevpdfj.c src/gdevpdfg.h src/gdevpdfm.c src/gdevdflt.c src/gdevpdfp.c src/gdevpdte.c src/gdevdevn.c src/gxpcolor.h src/gxdevice.h src/gdevpdfu.c src/gdevpdfv.c src/gdevpdti.c src/gdevpdfx.h src/gsptype1.c src/gxclist.c src/gdevpdf.c src/gdevpdtw.c src/gxclip.c src/devs.mak src/gdevrops.c src/gxpcmap.c src/gdevbbox.c src/gxclipm.c src/gxcolor2.h src/gdevnfwd.c src/gxclip2.c src/gxdevcli.h]

2003-04-18T22:00:04.000000Z Russell Lang

In the display device, store the line pointers separately from
the bits, so that the bits can be placed in special memory (e.g.
allocated in video memory).  Fixes Bug 686780 display_memalloc()
asks for too much memory.

[src/gdevdsp.c]

2003-04-18T18:19:21.000000Z Igor Melichev

Fix (pdfwrite) : Applying a generic resource writing method to charprocs.

DETAILS:

pdf_write_resource_objects does it fine after a small change
to pdf_begin_data_stream.

This patch must not change any behawior except the PDF object writing sequence.

Minor Changes :

1. Removed rudiments of a dead development branch.
2. Generalized pdf_enter_substream and pdf_begin_data_stream .

[src/gdevpdfx.h src/gdevpdtw.c src/gdevpdfu.c src/gdevpdti.c]

2003-04-18T14:57:59.000000Z Ralph Giles

Calling the gsapi polling function from the Macintosh gp_check_interrupts
function voilates the layering of the interpreter over the graphics library.
Therefore we isolate the offending code to a separate module 'macpoll.dev'
in a fashion analogous to the mspoll feature dev available on the windows
build. Enable this by default in the CodeWarrior build.
Partial fix for Bug 686810. After a patch by Russell Lang.

[src/gp_macpoll.c src/macos-mcp.mak src/gp_mac.c]

2003-04-18T14:33:15.000000Z Ralph Giles

Use different output file names for the Classic and Carbon MacOS shlib targets.
Closes bug 686818.

[src/macgenmcpxml.sh]

2003-04-18T14:16:26.000000Z Igor Melichev

Complete the set of Adobe CMaps.

[Resource/CMap/KSCms-UHC-V Resource/CMap/KSCms-UHC-H Resource/CMap/ETen-B5-V Resource/CMap/KSC-Johab-V Resource/CMap/ETen-B5-H Resource/CMap/KSC-Johab-H]

2003-04-18T01:18:53.000000Z Russell Lang

Call the gsapi polling function from the Macintosh gp_check_interrupts
function. Partial fix for Bug 686810 "CHECK_INTERRUPTS should allow
shorter worst-case abort".

[src/gp_mac.c]

2003-04-17T09:24:13.000000Z Russell Lang

Call the gsapi polling function during the main interpreter loop
timeslice code.  This allows a client to abort the interpreter
when running "{} loop". Fixes Bug 686810 "CHECK_INTERRUPTS
should allow shorter worst-case abort".

DETAILS:
PostScript which executed an infinite loop could not be stopped
by the gsapi client.  The time slice code in the main
interpreter loop is executed once for every 32767 passes through
the interpreter loop.  Within the time slice code we now call
the polling function and if the return value is non-zero, we set
code to gs_error_interrupt to cause the interpreter to exit.
This was not a client bug (as far as I know).  The original
request was from Zoltan Biro.

[doc/API.htm src/int.mak src/interp.c src/iapi.h src/gpcheck.h]

2003-04-17T00:49:07.000000Z Ralph Giles

Remove a C99 snprintf() call. In this case the length is limited by the format string.

[src/sjbig2.c]

2003-04-17T00:46:24.000000Z Ralph Giles

Remove two non-library files from the jbig2 makefile.

[src/jbig2.mak]

2003-04-17T00:42:03.000000Z Raph Levien

Added documentation of UseWTS user parameter.

[doc/Language.htm]

2003-04-17T00:33:09.000000Z Ralph Giles

Define HAVE_STDINT_H in stdpre.h on MacOS. Required for a clean compile
under CodeWarrior.

DETAILS:

The jbig2dec library and headers require some of the C99 types. We've
made sure those are available, but the mechanism depended on either
passing -DHAVE_STDINT_H on the commandline or windows-specific typedefs.
Since there's no convenient way pass single defines through codewarrior
that would be seen by both the jbig2dec and the gs sources, we add a
platform-specific define to headers in each codebase.

[src/stdpre.h]

2003-04-17T00:23:49.000000Z Ralph Giles

Enable jbig2 support in the MacOS CodeWarrior build, and add the local
library source to the search path. jbig2dec is now required for this build.

[src/macgenmcpxml.sh src/macos-mcp.mak]

2003-04-16T23:32:18.000000Z Ralph Giles

Protect some defines that conflict with constants in stdint.h.

[src/gdevupd.c]

2003-04-16T16:37:18.000000Z Ralph Giles

Correct some typos.

[src/gpmisc.c]

2003-04-16T14:09:21.000000Z Ralph Giles

Add a license paragraph for the Resource directory asserting the AFPL with
an exception for the Adobe-owned CMap files.

[LICENSE]

2003-04-16T13:54:17.000000Z Ralph Giles

Test the optimization compiler flag '-O2' before using it since some vendor
compilers have different syntax.

DETAILS:

This is really just a quick fix; it doesn't check flags for the debug or profile
builds. A full solution would also try known options based on the compiler
being used. It's not fair to just disable optimization if -O2 doesn't work.

[src/Makefile.in src/configure.ac]

2003-04-16T13:38:19.000000Z Ralph Giles

JBIG2 code in the interpreter and stream library requires an -I argument
to find the jbig2dec headers when compiling with local source.

[src/lib.mak src/gs.mak src/int.mak src/jbig2.mak]

2003-04-16T08:31:13.000000Z Igor Melichev

Complete the set of Adobe CMaps.

[Resource/CMap/Add-H Resource/CMap/EUC-V Resource/CMap/Hankaku Resource/CMap/78-H Resource/CMap/NWP-H Resource/CMap/WP-Symbol Resource/CMap/90pv-RKSJ-H Resource/CMap/Add-V Resource/CMap/Ext-RKSJ-H Resource/CMap/78-EUC-H Resource/CMap/RKSJ-H Resource/CMap/78-V Resource/CMap/NWP-V Resource/CMap/90pv-RKSJ-V Resource/CMap/Ext-RKSJ-V Resource/CMap/Hiragana Resource/CMap/78-EUC-V Resource/CMap/Roman Resource/CMap/RKSJ-V Resource/CMap/Adobe-Japan1-0 Resource/CMap/Adobe-Japan1-1 Resource/CMap/Adobe-Japan1-2 Resource/CMap/Add-RKSJ-H Resource/CMap/Ext-H Resource/CMap/H Resource/CMap/78ms-RKSJ-H Resource/CMap/78-RKSJ-H Resource/CMap/83pv-RKSJ-H Resource/CMap/EUC-H Resource/CMap/Add-RKSJ-V Resource/CMap/Ext-V Resource/CMap/V Resource/CMap/78ms-RKSJ-V Resource/CMap/78-RKSJ-V Resource/CMap/Katakana]

2003-04-15T18:43:12.000000Z Igor Melichev

Fix (pdfwrite) : Compress charproc streams.

DETAILS:

This patch mixes 3 changes :

1. Applying a compression to vector charprocs. Bitmap charprocs are
   left uncompresed. The written PDF should have same contents as before.

2. A preparation to Type 1 pattern accumulation with implementing
   a pdf_substream_save stack. Moved accum_char_proc_* fields to there.
   This change should be equivalent.

3. Renamed cos_write_stream_from_pipeline to cos_stream_from_pipeline,
   because the old name appears confusable.
   A new function with the old name is defined for another purpose.

No regression changes expected.

[src/gdevpdfx.h src/gdevpdfo.c src/gdevpdf.c src/gdevpdtt.c src/gdevpdfo.h src/gdevpdfd.c src/gdevpdfu.c src/gdevpdtt.h src/gdevpdfg.c src/gdevpdti.c src/gdevpdfj.c]

2003-04-15T14:36:43.000000Z Ralph Giles

Add new jbig2dec makefile and supporting defines to remaining platform-dependent makefiles.

[src/openvms.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/macos-mcp.mak src/msvclib.mak src/wccommon.mak src/wctail.mak src/openvms.mmk src/os2.mak src/winlib.mak src/watclib.mak]

2003-04-15T14:12:06.000000Z Ralph Giles

Add support for compiling in libjbig2dec statically from source. This makefile
is only good for v0.2.

[src/lib.mak src/gs.mak src/Makefile.in src/configure.ac src/jbig2.mak src/unix-gcc.mak src/unixansi.mak src/all-arch.mak]

2003-04-14T21:15:09.000000Z Igor Melichev

Fix (pdfwrite) : Use cos_write_stream for charproc accumulation.

DETAILS:

pdfwrite crashes with -r72 012-09.ps due to 2 nesting separates :
one for charproc accumulator, and another one for graphic state object inside it.
This problem does not happen with comparefiles with the default value of -r.
Meanwhile the problem is harmful because it occasionally depends on CTM.

Minor changes :
- A misprint in "pdf_begin_char_proc_gerneric".
- Removed some unused variables.
- Inserted some necessary #include statements.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdtt.c src/gdevpdte.c src/gsstruct.h src/gdevpdfu.c src/gdevpdti.c src/devs.mak]

2003-04-13T23:14:09.000000Z Igor Melichev

Fix (dropout prevention) : sfill was unintentionally slowed down.

DETAILS:

In some cases the scanline algorithm appears to speed up the sfill in about 2 times.
This patch enables the scanline algorithm when DROPOUT_PREVENTION is on,
except for characters. It brings the shfill case closer to the old algorithm.

This patch causes minor differences while filling a path,
especially with shfill, but such differences should be small
and almost unvisible.

Minor change :

The condition in gxfill.c line 2075 is changed to be closer to
the old algorithm when filling non-characters, because
dropout prewvention is not neccessary for this case.

[src/gxfill.c]

2003-04-12T22:04:21.000000Z Russell Lang

Add Resource directory to the lib path configured by the Windows installer.

[src/dwsetup.cpp]

2003-04-12T18:08:18.000000Z Ray Johnston

Create more specific DEBUG switches in the interpreter initialization
modules to allow debugging to only include information of interest.
If -dDEBUG is set, then set all of the specific switches.

[lib/pdf_font.ps lib/viewgif.ps doc/Use.htm lib/pdf_sec.ps lib/pdf_base.ps lib/gs_setpd.ps lib/gs_fapi.ps lib/gs_cmap.ps lib/gs_pdfwr.ps lib/pdf_main.ps lib/viewjpeg.ps lib/docie.ps lib/pdfwrite.ps lib/gs_epsf.ps lib/gs_ttf.ps lib/pdf_draw.ps lib/gs_ccfnt.ps lib/gs_cff.ps lib/gs_resst.ps lib/gs_init.ps lib/pdfopt.ps]

2003-04-12T17:39:18.000000Z Ralph Giles

Add the new Resource directory tree to the unix install target.

DETAILS:

We have a hard-wired list of directories to install under Resource. All
the files in these directories will be non-recursively copied to the
install directory. It is therefore only necessary to update RES_CATEGORIES
when a new category is added but not for individual files.

[src/unixinst.mak]

2003-04-12T13:28:31.000000Z Russell Lang

Add Resource directory to Windows installer.
Update copyright dates.
Exclude file attributes (ACLs) from the zip archives.

[src/dwsetup.rc src/winint.mak doc/Release.htm]

2003-04-11T21:47:51.000000Z Ralph Giles

Correctly dereference the arguments to the sort compare function used in the
device listing. This was incorrect in the previous commit.

[src/imainarg.c]

2003-04-11T17:55:46.000000Z Igor Melichev

Fix : Increasing the text alpha bits thresholds.
Bug 686775 "Large text is not anti-aliased".

DETAILS:

We can't set infinite thresholds due to RAM consumption in character cache.

[src/gxchar.c]

2003-04-11T17:54:39.000000Z Igor Melichev

Fix (pdfwrite) : Generate pseudo-random font names for subset fonts
from the glyph usage array.
Bug 686807 A "subset fonts" error in Adobe Acrobat from files made by GS8.00

DETAILS :

Since the revision 1.9 of gdevpdtb.c (Sun Sep 8 20:20:12 2002 UTC)
subset font names were deterministic to simplify the debugging.
The names were derived from resource IDs, and could cause a conflict
when merging documents. This patch generates different font names
hashing the glyph usage bitmask. Now the conflict can happen
with a very small probablility, when different subsets give same
hash value.

[src/gdevpdtb.c src/gdevpdtd.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtw.c src/gdevpdtd.h src/gdevpdtf.h]

2003-04-11T11:05:38.000000Z Ralph Giles

Add the new default resource directory to the autoconf makefile.

[src/Makefile.in]

2003-04-11T10:56:11.000000Z Igor Melichev

Fix : Remove an unintentional rudiment of a debug printing.

[lib/gs_res.ps]

2003-04-11T09:36:14.000000Z Igor Melichev

Turn on the static resources with COMPILE_INIT=1.

DETAILS:

The OpenVMS case is not implemented in geninit.c .

[lib/gs_stres.ps]

2003-04-11T09:30:40.000000Z Igor Melichev

Switching to the new logics of resource file location.
THIS IS INCOMPATIBLE CHANGE, because the default resource path is now different :
resource files are moved to gs/Resource .
See gs/doc/Use.htm#Finding_files and gs/doc/Use.htm#Resource_related_parameters.

DETAILS:

This patch does not include necessary changes to Ghostscript installer.

The main code change in one to gp.h .
Rudiments of old code in gs/src and gs/lib are marked with NEW_COMBINE_PATH.
They to be removed after beta-testing.

Change to makefiles provide extended default values for
file search paths, which are platform dependent.

For convenience, here we summarize all related issues,
which were mentioned in previous patches :

1. The search method with multiple resource directories
   appears not fully conforming to PLRM. We cannot ever call
   ResourceFileName while executing findresource
   or resourcestatus, because per PLRM it always
   returns a single path. Therefore we implement
   an extended search method in findresource,
   resourcestatus and resourceforall, which first calls
   ResourceFileName and checks whether the returned path
   points to an existing file. If yes, the file is used,
   othervise we search all directories specified in
   LIB_PATH. With a single resource directory
   it appears equivalent to Adobe.
   THIS IS INCOMPATIBLE CHANGE.

2. ResourceFileName may be used for obtaining a path
   where a resource file to be installed. In this case
   Ghostscript to be invoked with -sGenericResourceDir=path,
   specifying an absolute path. The default value for
   GenericResourceDir is a relative path. Therefore
   a default invocation with a Postscript installer
   will install resources into gs/Resource.
   THIS IS INCOMPATIBLE CHANGE.

3. We do not distinguish lib and Resource directories.
   There is no file name conflicts because
   lib does not contain subdirectories, but Resource
   always store files in subdirectories.

4. We implement a new flag in gs_context_state,
   which informs lib_file_open whether it is invoked
   with a file specified in a command line argument.
   Doing so because command line argument files
   don't need to check permissions, and they
   are executed with a special PS operator .runfile .
   We cannot use a .runfile argument for passing this
   information, because it would be a security hole
   due to .runfile is available for documents
   and cannot be hidden.

5. We still have a security hole while loading
   resources from gs_init.ps .
   Both the old and the new code load some resources
   (such as CIDInit ProcSet) before entering
   the SAFER mode. Therefore it is a way for
   Postscript viruses to migrate.
   To be fixed later.

6. Default values for GenericResourceDir and FontResourceDir
   are platform dependent.
   (The old code always use Unix notation - a bug).

7. Default value for GenericResourcePathSep is platform dependent.
   The value is used before non-directory items only.
   (The old code always use Unix notation - a bug).
   (The old code used the value before directory items - a bug on OpenVMS).

8. If a path starts with a number of parent references,
   a template with same number of parent references
   must be added to permission list to allow the access in SAFER mode.
   The template (*) allows access to any file.
   THIS IS INCOMPATIBLE CHANGE, because
   the old code ever rejects parent directories.

9. GenericResourceDir and FontResourceDir are not being added
   to permission list while .locksafe. Instead that,
   we generate (*/*) templates with all LIBPATH items.
   THIS IS INCOMPATIBLE CHANGE, but for non-exotic cases
   (such as "(./Resource/CMap/H) .libfile" in a document)
   it should not be visible.

A. Scratch files with a non-absolute prefix always open
   in a scratch directory. The old code can open them
   in current and parent directories if an user modified
   a default prefix in C code.
   THIS IS INCOMPATIBLE CHANGE for users who had modified
   a scratch file prefix in C code.
   Permission for scratch directory is not checked
   as well as in old code.

B. The operator .filenamedirseparator is removed,
   because it cannot work properly on OpenVMS.
   On OpenVMS it needs both prefix and trailer to
   determine a correct separator.
   We removed it because the new logics never needs it.

C. The operator .pathstring_not_bare is removed,
   because .file_name_combine performs it's job better.

D. The functions gp_pathstring_not_bare, gp_file_name_references_parent,
   char *gp_file_name_concat_string are removed.

E. New operators added to maintain the new logics :

      .file_name_combine  true
      .file_name_combine   false

      Combine a file name with a prefix.
      The first argument is a prefix, the second is a file name.
      Internal syntax of arguments and result is platform dependent.
      The combination is being reduced to a shortest equivalent,
      but if it starts with cwd reference, the starting
      cwd reference persists.

      If the  argument is true, it considered to use the
      "no sibling" mode. It prevents reduction of
      (x/../y) to (y) for any x != y. With false such reduction
      is allowed. The  argument appears a rudinemt from
      a dead branch. The new code always sets it to false.

      On success, the result is a combined, reduced path and false.
      On failure, the argument strings left on operand stack,
      followed with false.

   - .file_name_separator 

      Returns a readonly string, which represents a separator
      which is used in file names between directory item and file item.
      Used for making the default value of GenericResourcePathSep.

   - .file_name_directory_separator 

      Returns a readonly string, which represents a separator
      which is used in file names between two directory items.
      Used for making the default value of GenericResourceDir
      and FontResourceDir.

   - .file_name_current 

      Returns a readonly string, which represents a reference
      to current working directory. Used for making the default
      value of GenericResourceDir and FontResourceDir.

[src/bcwin32.mak src/ugcclib.mak src/macosx.mak src/watcw32.mak doc/Use.htm src/dvx-gcc.mak src/unix-gcc.mak src/msvc32.mak src/unixansi.mak src/msvclib.mak src/macos-mcp.mak doc/Language.htm src/os2.mak src/gp.h src/watclib.mak]

2003-04-11T07:59:50.000000Z Igor Melichev

Initial commit for a minimal set of resources for CID font emulation, FAPI and pdfwrite .

[Resource/CMap/UniJIS-UCS2-V Resource Resource/CMap/GBK-EUC-V Resource/CMap/UniGB-UCS2-V Resource/Decoding/Unicode Resource/CMap/90ms-RKSJ-H Resource/CMap/UniKS-UCS2-H Resource/Decoding Resource/CMap/UniCNS-UCS2-H Resource/CMap Resource/CMap/UniJIS-UCS2-H Resource/CMap/GBK-EUC-H Resource/CMap/90ms-RKSJ-V Resource/CMap/UniGB-UCS2-H Resource/CMap/UniKS-UCS2-V Resource/CMap/UniHojo-UCS2-H Resource/CMap/UniCNS-UCS2-V]

2003-04-11T07:48:13.000000Z Igor Melichev

Removing it because it appears in a wrong place of the directory tree.

[Unicode]

2003-04-11T07:46:47.000000Z Igor Melichev

Initial commit for a minimal set of resources for CID font emulation, FAPI and pdfwrite .

[Unicode]

2003-04-11T07:40:46.000000Z Igor Melichev

Removing it because it appears in a wrong place of the directory tree.

[Unicode]

2003-04-11T07:33:06.000000Z Igor Melichev

Initial commit for a minimal set of resources for CID font emulation, FAPI and pdfwrite .

[Unicode]

2003-04-10T22:22:32.000000Z Ralph Giles

MSVC (at least) requires void* be cast. Also remove a spurious comment.

[src/imainarg.c]

2003-04-10T22:11:11.000000Z Ralph Giles

Sort the list of devices in the output of 'gs -h' so they're easier to read.
Also list the default device separately as it's no longer first. Based on a
patch from Nelson Beebe. Closes bug 416746.

[src/imainarg.c]

2003-04-10T19:03:26.000000Z Ray Johnston

Tolerate %%EOF that doesn't have any line-end characters before the end
of the file. No other applications (AR5, xpdf, pdf-tools) complain about
this, so now we also allow this variation on the %%EOF line.

Fixes bug: 686793

[lib/pdf_main.ps]

2003-04-10T18:45:13.000000Z Alex Cherepanov

Use fstat() function to determine whether the file is seekable.
This should work on all supported platforms and seems to be the only way
to get the file type using a MSVC CRTL function.
Bug #686773

DETAILS:
Windows API documentation seems to imply undefined results when seeking
of retrieving file position of a special file. MSDN documentation requires
programmers to check file type using GetFileType() function before seeking.
MSVC 6 CRTL doesn't check file type before calling the corresponding 
Windows API functions. fstat() is the only function in MSVC 6 CRTL that
calls GetFileType(). S_ISREG() is a POSIX macro that check whether the
file is ordinary. It can be easily emulated if missing.

[src/gdevpsu.c src/stat_.h src/devs.mak src/unistd_.h]

2003-04-10T16:39:56.000000Z Alex Cherepanov

Use standard sRGB CRD. Fix color cast in the light areas caused
by chromatic adaptation done in the wrong (RGB) color space.
Bug #650802

[lib/gs_lev2.ps]

2003-04-10T13:49:12.000000Z Igor Melichev

Fix (pdfwrite) : Generate a page when input file has no pages.
Bug 686792 "Empty PS file generates produces invalid PDF".

[src/gdevpdf.c]

2003-04-10T11:58:25.000000Z Igor Melichev

Fix : Ignore a missed CMapType, because Adobe does so.
Bug 686800 "Error converting PostScript file with vertical Japanese text".

[src/zfcmap.c]

2003-04-10T09:10:02.000000Z Igor Melichev

Fix (pdfwrite) : The monitoring of fill overprint parameter was not conforming to PDF 1.3, 1.4 spec.
Bug 686802 "Stroke Overprint lost making PDF".

[src/gdevpdfg.c]

2003-04-09T23:26:44.000000Z Ralph Giles

Update the release instructions to use cvs2cl and the new split_changelog.
Also include Changes and Details files for differences up to this point as
an example of the new format.

[doc/Changes.htm doc/Release.htm doc/Details.htm]

2003-04-09T22:58:46.000000Z Ralph Giles

Add news script to generate split abbreviated/detailed changelogs in the new
format. Accepts xml input from the cvs2cl perl script.

DETAILS:

After the 8.00 release we switched to a new format for Changes.htm and the
History files, based on the more traditional Changelog format instead of
grouping commits by section, which often resulted in duplicate posts. At
the same time we began a convention of including any notes too extensive
for such a listing below a 'DETAILS:' separator, with the idea that we'd
create two changelogs, with hyperlinks between so detailed information was
still available even in the new easier to browse format.

The method we've adopted uses the cvs2cl perl script, available from
http://www.red-bean.com/cvs2cl/ to parse the output of 'cvs log' and
generate an xml file containing the merged entries. This script is
more robust than our own cvs2hist. The split_changelog.py script is
then run to convert the xml changelog to the two sizes of linked html
changelogs.

split_changelog isn't very bright about constructing links, so it should
be run from inside the doc directory for now.

[toolbin/split_changelog.py]

2003-04-09T18:57:14.000000Z Igor Melichev

Fix : Ignore a small noise skewing in the character caching criterion.

[src/gxchar.c]

2003-04-09T18:47:59.000000Z Igor Melichev

Fix (type1 hinter) : The overshoot suppressing code was wrong.
Bug 686812 "Incorrect font rendering for Zapfino ampersand".

DETAILS :

It always restricted overshoots with 1 pixel due to a stupid error in code.

This patch causes differences in almost tests with 300 dpi,
and with 3 tests at 72 dpi.

[src/gxhintn.c]

2003-04-08T18:49:10.000000Z Dan Coby

The previous change removing the spotrgb device missed src/Makefile.in.
This change corrects that omission.

[src/Makefile.in]

2003-04-08T17:01:22.000000Z Raph Levien

Fix: Restores logic to improve shading quality, which was clobbered in
DeviceN merge.

[src/gxshade.c]

2003-04-08T16:42:32.000000Z Igor Melichev

pdfwrite : Don't convert Type 3 fonts to raster fonts.

DETAILS :

The main work is done with pdf_install_charproc_accum and
pdf_end_charproc_accum. They forward a BuildChar/BuildGlyph output
to a separate graphic stream. See the big comment at the end of pdf_text_process.

The new function gx_default_text_restore_state restores graphic
state of PS interpreter when we discontinue the default text enumeration
after executing a PS charproc. New state variable gx_device_pdf::accum_char_proc
sets a special mode for graphic handlers.

We ever clip BuildChar/BuildGlyph with a FontBBox or with character bbox
specified in setcachedevice*. Doing so with calling gx_clip_to_rectangle
from pdf_text_set_cache, because we need to avoid the
current PS clipping path to interfere the character proc.
Possibly a better way is to install an infinite (i.e. absenting) clipping box,
wnen setcharwidth is used instead setcachedevice*.
but we don't know how to. Due to that the distilled 238-01.ps
renders some differently than undistilled one, and in most cases
it appears closer to what CPSI does.

An additional optimization : In sync_text_state the condition for matrix
sinchronization is done weaker : with empty text buffer the
synchronization is not needed.

[src/devs.mak]

2003-04-08T16:31:56.000000Z Igor Melichev

pdfwrite : Don't convert Type 3 fonts to raster fonts.

DETAILS :

The main work is done with pdf_install_charproc_accum and
pdf_end_charproc_accum. They forward a BuildChar/BuildGlyph output
to a separate graphic stream. See the big comment at the end of pdf_text_process.

The new function gx_default_text_restore_state restores graphic
state of PS interpreter when we discontinue the default text enumeration
after executing a PS charproc. New state variable gx_device_pdf::accum_char_proc
sets a special mode for graphic handlers.

We ever clip BuildChar/BuildGlyph with a FontBBox or with character bbox
specified in setcachedevice*. Doing so with calling gx_clip_to_rectangle
from pdf_text_set_cache, because we need to avoid the
current PS clipping path to interfere the character proc.
Possibly a better way is to install an infinite (i.e. absenting) clipping box,
wnen setcharwidth is used instead setcachedevice*.
but we don't know how to. Due to that the distilled 238-01.ps
renders some differently than undistilled one, and in most cases
it appears closer to what CPSI does.

An additional optimization : In sync_text_state the condition for matrix
sinchronization is done weaker : with empty text buffer the
synchronization is not needed.

[src/gdevpdfx.h src/gxchar.c src/gdevpdf.c src/gdevpdts.c src/gxchar.h src/gdevpdtt.c src/gdevpdfd.c src/gsstruct.h src/gdevpdtw.c src/gdevpdts.h src/gdevpdfg.c src/gdevpdtt.h src/gdevpdtw.h src/gdevpdt.h src/gdevpdte.c src/gdevpdtf.c src/gdevpdfu.c src/gdevpdti.c src/gdevpdtf.h src/gdevpdti.h]

2003-04-08T13:59:12.000000Z Ralph Giles

Initial commit of native MacOS font loading. This implements a %macresource% iodevice for
retrieving data from the 'resource' structure associated with MacOS files, either directly from
the resource fork, or from a serialized data fork resource file. This is primarily used to access
font data on that platform. Resource fork access is only supported on MacOS, while data fork files
(e.g. .dfont format font files) can be read on any platform. This code is currently disabled.

DETAILS:

This change allows fonts stored in resources to be specified in the fontmap. A special indexing
scheme is added to the filename to address the particular resource desired by id and 4-character
type code, e.g. '%macresource%Arial#sfnt+4096' or
'%macresource%/Library/Fonts/Optima.dfont#sfnt+14151'.

[src/gsiomacres.c src/lib.mak src/gp_macio.c src/gp_unix.c src/gp.h]

2003-04-08T12:38:43.000000Z Ralph Giles

Initialize the legacy global pgsdll_callback to NULL to avoid problems
if it isn't properly set. Part of bug 686768.

[src/gsdll.c]

2003-04-08T12:17:17.000000Z Ralph Giles

Avoid calling a null pgsdll_callback, as can happen with the new client api
and CHECK_INTERRUPTS. This fix affects only MacOS, similar protections are
already in place for other platforms. Also return EOFC in the mac stdio
stream process if no callback is defined. Closes bug 686768.

[src/gp_macio.c src/gdevmac.c src/gp_mac.c]

2003-04-08T05:04:17.000000Z Dan Coby

Implementation of the SeparationOrder parameter.  This implementation
is only applicable for the spotcmyk and devicen devices.  This change
also removes the uuused spotrgb device.

[src/gdevdevn.c src/unix-gcc.mak src/msvc32.mak doc/Devices.htm src/devs.mak]

2003-04-04T17:10:48.000000Z Ralph Giles

Correct documenation change: -dAdjustWidth is on by default.

[doc/Devices.htm]

2003-04-03T16:42:53.000000Z Raph Levien

Fix: Make the pdf 'q' operator not affect the current path, in conformance
with the PDF spec. Fixes SF #596009.

[lib/pdf_ops.ps]

2003-04-03T13:54:38.000000Z Ralph Giles

Document that setpagedevice keys can reset the effects of pdfmark commands.
Closes bug 645677.

[doc/Language.htm]

2003-04-03T13:34:31.000000Z Jouk Jansen


 Committing in .

 for new file syntax on OpenVMS
 added the  case for prefix=***] and filename=-*****

 Modified Files:
 	gs/src/gp_vms.c
 ----------------------------------------------------------------------

[src/gp_vms.c]

2003-04-03T13:28:53.000000Z Ralph Giles

Fix documentation for -dAdjustWidth. This parameter takes a integer rather
that an boolean as was stated. Closes bug 538033.

[doc/Devices.htm]

2003-04-02T23:45:47.000000Z Alex Cherepanov

Fix a typo causing "/typecheck in restore" in documents with /Threads .
Bug #611701

[lib/pdfopt.bat lib/pdfopt.ps]

2003-04-02T21:43:36.000000Z Ralph Giles

Remove the non-HAVE_STDINT_H non-win32 attempts to define stdint types
and related sys/types redefine hacks. Also warn in the configure script
if stdint.h is not found.

DETAILS:

Compiling libjbig2dec requires the size-specific types in stdint.h, as
does compiling in the headers. Therefore these types must be made
available in ghostscript if jbig2.dev is included in FEATURE_DEVS.

The best way to integrate this is to create a stdint_.h for ghostscript
that contains discovered and/or platform-specific typedefs for the
types. This is still the plan, but to speed integration we just through
some defines into stdpre.h. If -DHAVE_CONFIG_H is passed by the makefile
(as configure does) then the C99 header is used, and we make specific
defines for MSVC which doesn't yet ship the header. We also had some
fallbacks for other systems (vendor unix mostly) but these caused
collisions with partial definitions of what became the C99 types in
sys/types.h and the redirection hack we do with ulong et al. did not
work on all platforms (notably macosx).

It is the fallback defines that have been removed; users building
on older platforms will probably have to patch the types in to use JBIG2
support.

[src/configure.ac src/stdpre.h]

2003-04-01T20:18:44.000000Z Alex Cherepanov

On some devices the initial page size is rounded up but page size is
rounded to the nearest pixel when set by setpagedevice. Changing default
page size to match the setpagedevice. Bug #686795

[src/gdevdsp.c src/gdevpm.c]

2003-03-29T00:55:46.000000Z Alex Cherepanov

Multi-target rule that generates all of the targets at once was executed for
every target obsoleting some of the files generated earlier and causing
recompilation. Replace the multi-target rule with a single-target rule and
make the target a prerequisite of the remaining targets; use empty command to
disable default build rules. Bug #685341.

[src/gs.mak]

2003-03-28T20:15:36.000000Z Ray Johnston

Prevent UMRs and when an image3x type image only has one of the possible
two masks. Hangs or data garbling could result. Related to bug #686782.

DETAILS:

While several places in the image3x handling checked mask[i].depth to make
sure that it was non-zero, other places didn't have this check, but just
operated on the InterleaveType of the mask. While I could have added the
mask[i].depth check, setting mask[i].InterleaveType to zero when a mask
was not used was a single line change and served the purpose.

I found this when looking at performance on this PC_*.ai file and was
getting infinite loops. The plane_data was ending up pointing to the
wrong area when the uninitialized mask[i].InterleaveType just happened to
be 3 (interleave_separate_sources).

[src/gximag3x.c]

2003-03-27T21:10:29.000000Z Ray Johnston

Improve previous patch to work from within encapsulated job framework.

DETAILS:

If gs is started with:  gs -c false 0 startjob pop - < /dev/null

then the previous patch would result in:

	Unrecoverable error: invalidaccess in quit

since the systemdict /quit is defined to cause this error from within an
encapsulated job. This patch detects the .jobsavelevel > 0 and uses 'stop'
instead, which quits gs without a spurious error message.

[src/imain.c]

2003-03-27T20:55:47.000000Z Ray Johnston

Use the systemdict version of "quit" from gs_main_finit so that we can still
quit if /quit has been redefined. Bug #686783. Analysis by Raph Levien.

[src/imain.c]

2003-03-27T14:20:35.000000Z Igor Melichev

pdfwrite : The old code copied parameters of PS interpreter's graphic state
to the output PDF. However some of them are installation dependent and must not copy.
THIS IS AN INCOMPATIBLE CHANGE : the generated PDFs will render some differently
on printers.

DETAILS:

We provide a signal to pdfwrite at very end of gs_init.ps - see
the change to gs_pdfwr.ps, the priority=2000.
The signal is handled in gdev_pdf_fill_path,
and stores a copy of PS interpreter's graphic state parameter values.
Those valuess are used for comparizon with current parameters of PS interpreter
when an object is written. Therefore, if a value of a parameter was not
changed by a document, it is not written to PDF.

Note that if a PS document sets parameters equal to the
installation defaults, the setting in missed in PDF.
This is unfortunate.

The patch causes multiple differences in rendering distilled
comparefiles with pkmraw, because transfer functions changed from a
HP-specific (defined in gs_init.ps) to none. Those differences were
checked with the fuzzy compare utility and look fine. It should fix
the 2003-03-26 regressions, but new differences will appear.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfd.c src/gdevpdfg.c lib/gs_pdfwr.ps src/gdevpdfg.h]

2003-03-27T01:09:12.000000Z Ray Johnston

Improve .copyparam to handle arrays as well as strings, preserving the
'executable' status of arrays. Fixes bug #647685.

[lib/gs_lev2.ps]

2003-03-26T13:27:14.000000Z Igor Melichev

Fix : A bug processing an error in .schedule_init .

[lib/gs_init.ps]

2003-03-26T13:08:45.000000Z Igor Melichev

Ignore pdfmark if the output device isn't pdfwrite.
THIS IS INCOMPATIBLE CHANGE.
If an user changes the output device to pdfwrite dynamically,
he should specify PDFSETTINGS in command line to enforce
the pdfwrite initialization when GS starts up.
Perhaps it's a seldom case.

DETAILS :

The old code always executed a big part of pdfwrite code with useful reason.
Now we can skip it with help of .schedule_init .

[lib/gs_pdfwr.ps]

2003-03-26T11:54:08.000000Z Igor Melichev

Fixing some compiler warnings (unused variables, etc.).

[src/gdevpsd.c src/gdevpsim.c src/gxhintn.c src/gximono.c src/gdevepsc.c src/gdevbbox.c src/gxicolor.c src/gxi12bit.c src/zcssepr.c src/gdevepsn.c]

2003-03-25T21:18:06.000000Z Igor Melichev

Fix (pdfwrite) : Provide a complete monitoring of the viewer's graphic state
while generating a PDF output. The old code misses the synchronization
of the viewer's graphic state with its internal copy when generating
a 'grestore' command to undo a clipping.
Bug 686763 "pdfwrite is not correctly handling OPM distiller parameter".

DETAILS :

This change affects all vector devices, but it should be equivalent
for all them except pdfwrite, and except for the pointer lifetime bug
explained below.

Here is an example when the desynchronization appears :

  f1 settransfer
  0 setcolor
  path1 fill
  f2 settransfer
  1 setcolor
  path2 fill
  gsave
  path3 clip
  path4 fill
  grestore
  path5 fill

After 'grestore' it uses f1 instead f2.

The old code does not remember the viewer's graphic state,
which was immediately before 'gsave', and resets the internal copy of
the graphic state to default values when it generates 'grestore'.
This logic is fully wrong : if after 'grestore' a parameter is equal
to the default value, pdfwrite does not generate a set command for this parameter,
but the viewer uses the value which was set before 'grestore',
which can differ from the default one.

Moreover, gdevvec copies the device color from local memory
to global memory, and doesn't ask garbager to process pointers in
the copy. When the device color contains pointers
to patterns or so, the live time of the copy appears bigger
than the live time of the pointed structure. The old code only
compares the pointed addresses without accessing the pointed data,
so that a crash can't happen. But if garbager moves another color
to same address, the comparison answers "equal" when actually colors
are not equal, and the generated PDF appears wrong.

To exclude the pointer lifetime problem, the patch uses the 'save_dc' method
instead the 'equal' method for colors. But the implementation
of save_dc was dummy for patterns. To complete it, gs_id is
inserted into gs_pattern_instance_s, and more variants added to
gx_device_color_saved_s. The clist device appears tolerant
to this change.

Note that macros color_unset, color_set_null, color_is_null,
gx_dc_is_null are now applied to gx_device_color_saved.

For complete monitoring the viewer's graphic state,
we implement a 2-elements stack 'vgstack' in gx_device_pdf_s,
save the viewer's graphic state in it when generating 'q' commands,
and restore from there when generating 'Q'. If a 'gs' parameter
needs to change, we move to 'PDF_IN_STREAM' context, because
we must not insert 'gs' into a text context. New functions
pdf_try_prepare_stroke and pdf_try_prepare_fill provide
the "try" logics for this.

If a 'gs' parameter changes with changing a clipping,
first we need to undo the old clipping with 'Q',
and then generate new 'gs' parameters relatively to the
restored graphic state. The new function pdf_unclip
works for this.

With this patch the length of generated PDF appears longer
for some tests. The most important ones are :

acrobat.pdf        Lengths differ in 6141.
adesso8.pdf        Lengths differ in -8316.
HeiseiMinStd.pdf   Lengths differ in 4000.
narrow_font.pdf    Lengths differ in 6141.
RealCities.pdf     Lengths differ in 12370.
RodinCIDEmbed.pdf  Lengths differ in 101698.

It happens because pdfwrite doesn't remember 'gs' dictionaries,
and therefore redundant copies can appear.
This problem to be fixed separately.

Expecting a progression : 093-01.ps (was a wrong stroke widths with a PaintType 2 font).

Expecting a regression : with this patch, re-distilled
    Testform.v1.0.2.pdf paints good with Adobe, but wrongly with GS.
                         Maybe a bug in GS PDF interpreter.

[src/gdevpdfx.h src/gsptype1.c src/gsptype2.c src/gdevpdf.c src/gdevpdtt.c src/gsdcolor.h src/gxdcolor.c src/gdevpdfb.c src/gdevpdfd.c src/gdevvec.c src/gdevpdfg.c src/devs.mak src/gdevps.c src/gdevvec.h src/gspcolor.c src/gdevpdfi.c src/gdevpdfg.h src/lib.mak src/gdevpx.c src/gspcolor.h src/gdevpdfu.c]

2003-03-25T21:13:24.000000Z Igor Melichev

Fix (pdfwrite) : 'write_range' was buggy (inconsistent) since zfont42.c rev.1.11 (17 Jan 2003).

[src/gdevpsft.c]

2003-03-24T15:41:33.000000Z Ralph Giles

Add rasterdb.py to the documentation file index.

[doc/Testing.htm]

2003-03-24T10:00:55.000000Z Igor Melichev

Fix (pdfwrite) : The recent patch for the bug 653140 changed the font embedding condition
with too narrow one. Restoring it to the old one.

DETAILS :

The wrong patch is http://www.ghostscript.com/pipermail/gs-cvs/2003-March/003048.html .

This patch should fix the regressions
http://www.ghostscript.com/pipermail/gs-regression/2003-March/000538.html

[src/gdevpdtf.c src/gdevpdtf.h]

2003-03-24T00:50:06.000000Z Jack Moffitt

Implements raster database to store and retrieve cached baseline rasters.

[toolbin/tests/rasterdb.py toolbin/tests/.cvsignore toolbin/tests/update_pdfbaseline toolbin/tests/make_two_versions toolbin/tests toolbin/tests/make_testdb toolbin/tests/revert_pdfbaseline toolbin/tests/update_baseline toolbin/tests/testing.cfg.example toolbin/tests/make_two_pdfversions toolbin/tests/revert_baseline]

2003-03-24T00:31:36.000000Z Jack Moffitt

Fixes a bug where baselines weren't being reverted if they already existed.

[toolbin/tests/revert_pdfbaseline]

2003-03-23T23:59:30.000000Z Jack Moffitt

Added emacs mode lines to python files without extensions.

[toolbin/tests/update_pdfbaseline toolbin/tests/make_two_versions toolbin/tests/make_testdb toolbin/tests/run_nightly toolbin/tests/revert_pdfbaseline toolbin/tests/run_regression toolbin/tests/update_baseline toolbin/tests/testdiff toolbin/tests/make_two_pdfversions toolbin/tests/revert_baseline toolbin/tests/dump_testdb]

2003-03-22T18:24:17.000000Z Ralph Giles

Define some of the C99 stdint types in the common stdpre.h. This is
required for libjbig2 integration.

DETAILS:
Another option would have been to define a local 'stdint_.h', but
stdpre.h already contains a number of typedefs and includes sys/types.h
to provide expected basic types. We use stdint.h itself if the toplevel
makefile defines HAVE_STDINT_H.

Note that unfortunately sys/types.h often tries to provide types now in
stdint.h. We do the same collision-avoidance we do with our shorthand
types, but this could clobber correct definitions for the explicitly-
sized types on systems without stdint.h. (The only mainstream platform
not shipping stdint.h is MSVC, and we provide specific typedefs for that
platform.)

Some systems also provide a sys/inttypes.h with the same definitions. We
ignore this.

[src/sjbig2.c src/configure.ac src/sjbig2.h src/stdpre.h]

2003-03-22T12:47:48.000000Z Igor Melichev

Fix (CFF parser) : Warn and ingore missed tables instead giving up.
Bug 686772 "PDf file breaks in ghostscript works on other PDF rips".

[lib/gs_cff.ps]

2003-03-21T19:14:24.000000Z Igor Melichev

pdfwrite : Fixing the bug 653140 "use NeverEmbed to restrict CIDFont embedding"

DETAILS :

The important change is setting pfont->font_name for CID fonts.
Before now it contained empty string. Other changes are minor
and only provide a data transfer.

[src/bfont.h src/zfcid0.c src/gdevpdtb.c src/zfcid1.c src/gdevpdtd.c doc/Ps2pdf.htm src/zbfont.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h]

2003-03-21T10:17:29.000000Z Igor Melichev

file_name_combine : Improve the choice of the default GenericResourceDir.

DETAILS:

This patch does not change any behavior with a regular build.

The default value for GenericResourceDir can be configured
with -sGenericResourceDir=path . If not specified, it
chooses the first directory in LIBPATH, except (.),
and combines it with ../Resource .

The default value for FontResourceDir can be configured
with -sFontResourceDir=path . If not specified, it
chooses the first directory in LIBPATH, except (.),
and combines it with ../Resource/Font .

findresource was buggy : it returned a path with GenericResourceDir
when the real resource file is in another directory.
Now it first searches in LIBPATH, and if not found calls ResourceFileName .

We can't ever call ResourceFileName from findresource,
because it ever retrieves a single path. See the bug above.
Therefore with multiple resource directories it is conforming to PLRM
but differs from CPSI.

[lib/gs_ciddc.ps lib/gs_res.ps src/zfile1.c]

2003-03-20T22:10:30.000000Z Alex Cherepanov

Remove -dNODISPLAY flag from ps2ps.bat because nothing is generated
when the flag is set. There's no -dNODISPLAY flag in UNIX or OS/2
versions. Fixes bug #686776

[lib/ps2ps.bat]

2003-03-20T20:27:46.000000Z Alex Cherepanov

Check i/o errors in PS and EPS generation drivers. Return ioerror soon
after the error is encountered in the output stream.
Fixes bug #686741

DETAILS:
To simplify the code errors are checked only at the critical places:
before seeking, inside loops, before returning from functions.
Stream error status is checked by direct access to the stream structure
because both macro and extern_inline based solutions were declined.

[src/gdevpsu.c src/gdevpsim.c src/gdevpsu.h src/gdevps.c]

2003-03-20T20:11:08.000000Z Alex Cherepanov

Check i/o errors in PS and EPS generation drivers. Return ioerror soon
after the error is encountered in the output stream.
Fixes bug #686741

DETAILS:
To simplify the code errors are checked only at the critical places:
before seeking, inside loops, before returning from functions.
Stream error status is checked by direct access to the stream structure
because both macro and extern_inline based solutions were declined.

[src/devs.mak]

2003-03-20T16:10:58.000000Z Igor Melichev

Fix (file_name_combine) : The operator .file_name_combine returned a read-only string.

[src/zfile1.c]

2003-03-20T15:22:47.000000Z Igor Melichev

Fix (pdfwrite) : When advance width has non-zero y component, the width was set to zero.
Bug 686764 "Overlapping characters".

DETAILS :

The test document embeds a font, in which some characters
have a small non-zero y component of the advance width.
It looks as a buggy font. The pdfwrite writes zero to Widths array
(that's correct, because it is only useful with zero y component),
and did not generate glyph positioning commands (the bug).
This patch makes pdfwrite to be tolerant to such buggy fonts
with generating glyph position for subsequent glyph.
It does not repair the font.

[src/gdevpdtt.c]

2003-03-20T09:29:36.000000Z Igor Melichev

Fix (pdfwrite) : While embedding a font, prefer font name to key name.
It conserves original font names and allows derived fonts to merge.

[src/gdevpdtb.c]

2003-03-18T01:29:35.000000Z Ralph Giles

Add the new pngalpha device to the default autoconf build.

[src/configure.ac]

2003-03-17T09:54:35.000000Z Igor Melichev

Fix (pdfwrite) : Unwinding another part of the previous patch
which wrote a wrong numLongMetrics.

[src/gdevpsft.c]

2003-03-16T20:50:03.000000Z Igor Melichev

Fix : Increasing the threshould for the dropout prevention invocation.

[src/gxfill.c]

2003-03-16T20:07:39.000000Z Igor Melichev

Fix (file_name_combine) : A bug in gs_fapi.ps .

[lib/gs_fapi.ps]

2003-03-15T08:09:25.000000Z Igor Melichev

Fix (pdfwrite) : Unwinding a part of the previous patch
and improve the OS/2 table writing ann embedded CIDFontType2.
Bugzilla Bug 686759 "pdf to pdf doesnt work".


DETAILS :

The previous patch appears wrong and caused a regression
due to the change to "have_cmap = no_generate && !writing_cid,"
in gdevpsft.c . This patch unwinds it. Also the log message
of the previous patch is fully wrong. The CID font in the test document
for 686759 does not contain cmap and the cmap must not
be written. But with the previous patch a corrupt cmap
was written. Accessing the wrong font copy pdfwrite
failed to compute glyph widths and therefore converted the font
into a bitmap font. This patch restores the code
to "have_cmap = no_generate,". The bug 686759 is reopened.

Also we detected that the OS/2 table was written
wrongly in some circumstances : its position in font
file did not correspond to one specified in the font
header. This patch fixes it.

[src/gdevpsft.c]

2003-03-14T11:55:37.000000Z Ralph Giles

Correct a typo in a help string.

[src/configure.ac]

2003-03-14T11:36:33.000000Z Ralph Giles

Correct a serious error in the bmp file padding method. Also convert all error
output to stdout from stderr since we no longer output the diff image to stdout.
Patch from Igor Melichev.

[toolbin/tests/fuzzy.c]

2003-03-14T01:55:04.000000Z Ralph Giles

The code for writing the BMP header made assumptions about struct
packing and was not portable. Replace the previous code with a method
that writes fields one at a time. Also, since fseek() is reported not to
work beyond the end of the written file, pad out the length of the image
data section so we can fill in the rows in proper bottom-to-top order.

Note that the bmp output code does not convert RGB to BGR; this is not
critical as the output is only used for hilighting differences.

Closes bug #686739.

[toolbin/tests/fuzzy.c]

2003-03-14T00:10:25.000000Z Ralph Giles

Replace the win32-specific code for seeking with a generic version.
Partial fix for bug #686739.

DETAILS:

The code was making an assumption about the internals of the opaque
fpos_t type. This is a 64 bit integer on win32, but a struct on
linux and macos, so the compile of course fails.

This commit temporarily breaks diff.bmp output on win32, which allegedly
cannot fseek() beyond the written end of the file so the row-reversal
logic will fail. This will be corrected in another revision.

[toolbin/tests/fuzzy.c]

2003-03-13T19:11:12.000000Z Dan Coby

Fix for 686740 PDF file causes gs8 to core dump.  The test file
uses PDF transparency.  This is a PDF 1.4 feature however the file
header says %PDF1.3.  The implementing code has tests for PDF
version 1.4 before it tests for transparency features.  The fix
simply lowers the test level to 1.3.

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

2003-03-13T12:54:04.000000Z Igor Melichev

Fix (pdfwrite) : Never write cmap embedding a CIDFontType2.
Bugzilla Bug 686759 "pdf to pdf doesnt work".


DETAILS :

PDF uses CIDToGIDMap for mapping CIDs to GIDs.
Therefore the cmap table of the True Type font is not used with CIDFontType2.
In PDF spec section 5.8 "Embedded Font Programs" reads :

	If used
	with a CIDFont dictionary,the "cmap " table is not needed,since the mapping
	from character codes to glyph descriptions is provided separately.


Note the words "is not needed".
Meanwhile reading a PDF 1.2 format, Acrobat Reader 4 and 5 claim an
error if a cmap presents.

[src/gxfcopy.c src/gdevpsft.c]

2003-03-12T12:22:23.000000Z Igor Melichev

file_name_combine :
1. Always search command line argument files in (.) .
2. Throw invalidfileaccess from .libfile .
3. Always check permissions with reduced file names.
4. Ignore "./" prefixes in permission lists, except for (./*) .

This patch should not not change behavior with regular build.

DETAILS :

With NEW_COMBINE_PATH 1 contributes the improvement listed above.

Argument files are searched independently on SEARCH_HERE_FIRST.

If a file is in the search list, but the access isn't permitted,
.libfile throus invalidfileaccess, as with NEW_COMBINE_PATH 0.

Minor changes :
- some C-style cleanup in gpmisc.c ;
- don't compile i_ctx_p->filearg with NEW_COMBINE_PATH 1;
- don't compile i_ctx_p->starting_arg_file with NEW_COMBINE_PATH 0;
- a check for parents in check_file_permissions was buggy.

[src/icontext.c src/icstate.h src/gpmisc.c src/gpmisc.h src/imainarg.c src/zfile.c]

2003-03-12T11:16:14.000000Z Jouk Jansen


 Committing in .

 pngalpha device added also to the OpenVMS make file for MMK
 (same change was already made for gmake in openvms.mak)

 Modified Files:
 	gs/src/openvms.mmk
 ----------------------------------------------------------------------

[src/openvms.mmk]

2003-03-12T07:24:11.000000Z Jouk Jansen


 Committing in .

 update VMS file-format writing

 Modified Files:
 	gs/src/gp_vms.c
 ----------------------------------------------------------------------

[src/gp_vms.c]

2003-03-11T11:36:41.000000Z Russell Lang

Add pngalpha device that uses RGBA, with the alpha channel
providing pixel coverage.  Used for generating PNG images with a
transparent background.

DETAILS
Add missing initialiser for get_clipping_box to
prn_color_params_procs macro.  (src/gdevprn.h)

Avoid cast warning for software_key (src/gdevpng.c).

Add pngalpha device that uses RGBA.  This requires custom
encode_color and decode_color procedures to put RGB in the
first three bytes while leaving the fourth A byte as opaque.
To avoid gx_no_color_value, the alpha is stored inverted so
opaque is 0x00 and transparent is 0xff.

If pngalpha is told to fill the entire page with white, it uses
the kludge of instead filling with almost white and transparent
(0xfefefeff). This works because it is triggered by "erasepage",
but not by "1 setgray clippath fill". A custom open_device and
put_params are needed to save the clist or memory device
fill_rectangle, and to restore the pngalpha_fill_rectangle.

A custom copy_alpha is required to correctly blend RGBA. The
blend is based on pixel coverage, not true transparency
Ghostscript doesn't pass transparency to the device. Alpha blend
maths from Porter and Duff 1984 paper for "A over B". RGB values
are stored without pre-multiplication. A custom
pngalpha_create_buf_device is used to replace the memory device
implementation gx_default_copy_alpha with pngalpha_copy_alpha,
but not to replace clist_copy_alpha.

The pngalpha device is successful at giving a transparent
background to many images such as colorcir.ps and golfer.eps,
but not tiger.eps which fills the clipping path with grey.
It does not implement a transparent background for PDF 1.4
transparent input files.

[src/bcwin32.mak src/openvms.mak src/watcw32.mak src/macosx.mak src/unix-gcc.mak src/msvc32.mak src/unixansi.mak doc/Devices.htm src/devs.mak src/os2.mak src/gdevpng.c src/gdevprn.h]

2003-03-11T11:13:01.000000Z Igor Melichev

Fix : setweightvector did not set the copy of WeightVector in gs_type1_data_s.
Bug #686753 "Wrong Display of Multiple Master Fonts".


DETAILS:

The test document creates a Type 3 font, in which BuildChar
procedure defines a copy of MM font and later replaces
WeightVector in it.

A new PS operator introduced to handle it.
Adobe implementations do so.

We are not happy with the change of VM with no regard to 'restore'.
It appears compatible with the test document,
because it calls setweightvector before rendering each glyph.
(Another interesting point is that the test document executes
"0 setcachelimit" before rendering a glyph).
But it is not compatible to CPSI (a special test done).
Providing a correct restore appears too complicated -
need to change the data representation to 'ref'.
Delaying it until it is really needed.

Alternatively we could obtain a fresh copy of WeightVector
in each call to *show, but it would be a significant performance flaw.

The patch fixes the problem explained in the bug report #686753,
but the supplied document has another problem :
with pdfwrite some characters are converted to raster.
To be fixed separately.

[src/int.mak src/zchar1.c lib/gs_type1.ps]

2003-03-10T13:08:19.000000Z Jouk Jansen


 Committing in .

 Oops... I made a typo in the version of 1 hour before this.

 Modified Files:
 	gs/src/gp_vms.c
 ----------------------------------------------------------------------

[src/gp_vms.c]

2003-03-10T10:56:19.000000Z Jouk Jansen


 Committing in .

 corrected VMS file syntax.

 Modified Files:
 	gs/src/gp_vms.c
 ----------------------------------------------------------------------

[src/gp_vms.c]

2003-03-10T07:36:01.000000Z Igor Melichev

file_name_combine : (1) Implement the extended search method in resourceforall,
resourcestatus, ResourceFileName. (2) Don't check permissions for command line argument files.

DETAILS:

This patch does not change any behavior with a regular build.

To skip the permission check with argument files we added a flag into
gs_context_state. This is only a secure way to pass the information
across PS interpreter, which executes .runfile with any argument file.

Per Adobe specification, a resource category can define the ResourceFileName procedure,
which generates a resource file name from resource instance name.
Since Ghostscript uses an extended search method for finding resource files,
the strong Adobe's semantics appears inapplicable.
Ghostscript implements an extended semantics.

Finding a resource file while executing findresource or resourcestatus,
Ghostscript does not call ResourceFileName. Instead that, it searches directories
with an extended method explained in How Ghostscript finds files.

ResourceFileName may be called from a Postscript program such as a resource installer.
The default implementation for ResourceFileName first checks whether
GenericResourceDir specifies an absolute path. If so, ResourceFileName uses its value
to generate the result. Otherwise, it tries to find an existing resource file with
the extended method. If it succeeds, ResourceFileName returns the path
to the resource file found. Otherwise it uses GenericResourceDir to combine a default path.

Note that with a single resource directory and an absolute ResourceFileName the behavior
appears equivalent to Adobe's one.

The new search method doesn't distinguish 'lib' and 'Resource' directories.

Minor changes :

The operator .file_name_parent is removed.
The operator .file_name_current is removed.
Improved some error messages.

[src/icontext.c lib/gs_ciddc.ps src/icstate.h lib/gs_fonts.ps lib/gs_res.ps lib/gs_ttf.ps src/imainarg.c lib/gs_fapi.ps src/zfile.c src/zfile1.c lib/gs_init.ps]

2003-03-07T14:57:47.000000Z Igor Melichev

Fix (file_name_combine) : Improving the OpenVMS path syntax.

DETAILS :

This patch does not change any behavior with regular build.

With NEW_COMBINE_PATH 1 it allows to combine with filenames like (x]y) .

[src/gp_vms.c]

2003-03-07T14:21:21.000000Z Igor Melichev

Fix (file_name_combine) : Renaming no_neighbour with no_sibling.

DETAILS :

This patch does not change any behavior.

[src/gp_macio.c src/gp_ntfs.c src/gpmisc.c src/gp_dosfs.c src/gp_unifn.c src/gpmisc.h src/zfile.c src/gp_os2.c src/zfile1.c src/gp.h src/gp_vms.c]

2003-03-07T11:12:10.000000Z Igor Melichev

Fix (file_name_combine) : Improving the file path syntax for OS/2, DOS and Windows.

[src/gp_ntfs.c src/gp_dosfs.c src/gp_os2.c]

2003-03-07T00:48:28.000000Z Dan Coby

Fix for #686755 sgirgb device.  The sgirgb device would produce compiler
errors if included in version 8.00 or later.

DETAILS:

The sgirgb device had not been modified to match the changes made in the
device API with version 8.00.  These were fixed.  In addition a couple of
compiler warnings were removed.  AN unsed variable (sptr) was also
removed.

Note:  I am unable to test this fix since I do not have an sgi system.
The inclusion of the sgirgb device also creates link errors in a WinXP
build due to undefined/missing bzero.  Since this was not changed, I
am assuming that this is not a problem on an sgi system.

[src/gdevsgi.c]

2003-03-06T16:01:58.000000Z Igor Melichev

file_name_combine : Removing a rudiment of old code.

DETAILS:

This patch does not change any behavior with a regular build.

The operator .file_name_parents is now removed.

[src/zfile1.c lib/gs_init.ps]

2003-03-06T13:53:24.000000Z Igor Melichev

file_name_combine : Implementing new command line arguments:
-sGenericResourceDir= and -sFontResourceDir= .

DETAILS:

This patch does not change any behavior with a regular build.

With NEW_COMBINE_PATH 1 the new arguments replace
default values for GenericResourceDir and FontResourceDir .

A consistency check is added to gs_res.ps .
It signals an error if the value of GenericResourceDir
is inconsistent with LIBPATH. An automatic insertion of it
into LIBPATH appears cumbersome because the access to LIBPATH in C code
goes through gs_main_instance_s.

The operator .file_name_combine changed the prototype.
A boolean result is added instead a failure on error.
This simplifies error processing in PS code, especially
because the 'stopped' changes the memory allocation mode.
Relevant changes done to calls of .file_name_combine in gs/lib .

A minor bug is fixed in gp_file_name_combine_generic.

[lib/gs_res.ps lib/gs_fonts.ps src/gpmisc.c lib/gs_fapi.ps src/zfile1.c lib/gs_init.ps]

2003-03-06T10:47:33.000000Z Russell Lang

Change OS/2 gp_file_name_combine to match Windows.

[src/gp_os2.c]

2003-03-06T10:28:56.000000Z Igor Melichev

file_name_combine : Adding the 'no_neighbour' argument.

DETAILS:

This patch does not change any behavior with a regular build.
It slightly change behavior when built with NEW_COMBINE_PATH 1.

The 'no_neighbour' is a boolean, which protects steps from
a directory to its neighbor directory in file_name_combine.
With true argument the combination

   (x/y) + (../z/t) fails
but
   (x/y) + (../y/t) succeeds.

With false argument both combinations succeed.

The argument is added to both C function and PS operator.

We apply false argument while executing .libfile
and while generating PermitFileReading.
True argument is used in FAPI support to locate
FAPI-handled font files (which generally are not PS files,
and they are not being read with PS operators).

With NEW_COMBINE_PATH 1, THIS IS INCOMPATIBLE CHANGE.
To access resources, run Ghostscript with specifying
a resource directory in the -I command line argument.

[src/gp_macio.c src/gp_ntfs.c lib/gs_fonts.ps src/gpmisc.c src/gp_dosfs.c src/gp_unifn.c src/gpmisc.h src/imainarg.c lib/gs_fapi.ps src/gp_os2.c src/zfile.c src/zfile1.c src/gp.h src/gp_vms.c lib/gs_init.ps]

2003-03-04T16:10:44.000000Z Igor Melichev

Fix (file_name_combine) : Relative paths in GS command line did not work.
This patch cnanges a disabled code only.

[src/zfile.c lib/gs_init.ps]

2003-03-04T15:24:31.000000Z Igor Melichev

Fix (file_name_combine) : An improvement to .locksafe .

DETAILS :

This patch changes a disabled code only.
It skips redundant templates when GenericResourceDir
or FontResourceDir is an absolute path.

[lib/gs_init.ps]

2003-03-04T14:49:23.000000Z Igor Melichev

Fix : A bug in CIDDecoding category definition.

DETAILS :

Should use .libfile opening a resource file to
resolve relative paths with LIBPATH.

[lib/gs_ciddc.ps]

2003-03-04T14:05:43.000000Z Igor Melichev

Fix (file_name_combine) : A bug in .locksafe .
This patch changes a disabled code only.

[lib/gs_init.ps]

2003-03-04T11:20:29.000000Z Igor Melichev

Fix : removing an unused variable.

[src/gdevpdte.c]

2003-03-04T11:00:42.000000Z Igor Melichev

Initial commit for the new SAFER logics.

DETAILS:

This patch should not change any behavior unless
NEW_COMBINE_PATH is changed to 1. With 0 a minor meanful
change is the replacing .pathstring_not_bare with .file_name_combine
in gs_fapi.ps (which fixes a bug in FAPI support,
and doesn't affect builds with no FAPI).

The change is compatible unless NEW_COMBINE_PATH is 1.
Incompatibility issues with 1 are explained below.

With NEW_COMBINE_PATH 1 the patch defines a new logic for
.libfile, SAFER, and related things :

1. Default values for GenericResourceDir and FontResourceDir
   are platform dependent.
   (The old code always use Unix notation - a bug).

2. Default value for GenericResourcePathSep is platform dependent.
   The value is used before non-directory items only.
   (The old code always use Unix notation - a bug).
   (The old code used the value before directory items - a bug on OpenVMS).

3. PLRM specifies GenericResourceDir to be a single absolute path name.
   But Ghostscript's tradition is to load library files
   form a list of directories. Since we want to propagate
   this tradition to resource files, we get a conflict.
   To resolve the conflict, we allow GenericResourceDir
   to be a relative path, which is being concatenated with
   LIBPATH items. Thus we provide an extension of Postscript.

4. When a LIBPATH item is being concatenated with GenericResourceDir,
   an abnormal behavior appears when GenericResourceDir references parent.
   Exactly, concatenating the (.) item of LIBPATH with
   the default GenericResourceDir, which is (../Resource/),
   we get (../Resource/), i.e. it searches in a directory,
   which users don't expect to. We work around the abnormal
   behavior with skipping such paths while executing .libfile .

   More precisely, the .libpath algorithm is :

   For each LIBPATH item :
      - combine it with the argument string;
      - if the (reduced) combination refers the parent, skip it;
      - otherwise try to open the path. If succeeded, exit with it.
   If no success, fail with undefinedfilename or invalidfileaccess.

   Here and below we used Unix notation just for simplifying
   the log message. All statements to be generalized for any platform,
   and they are true for any supported platform.

5. A consequence of our workaround for (4) is a new constraint to .libfile :

   Let x is a cwd.
   Let x/../y exists. Lets mark it as y1.
   Let LIBPATH contains cwd and a directory z, which is not cwd.
   Let z/../y exists. Lets mark it as y2.
   Consequently y1 != y2.
   Executing

      (../y/f) .libpath

   searches y2/f, but does not search y1/f .
   The old code searched both in non-safer mode.
   THIS IS INCOMPATIBLE CHANGE.

6. A better workaround for (4) would be an implementation
   of RESPATH, which by default generates from LIBPATH
   with replacing (../Resource/) with (./Resource/).
   This requires to maintain a new directory lists.
   .libfile should get an additional argument,
   which specifies a search list - LIBPATH, RESPATH or FONTPATH.
   We do not make this improvement now,
   but will add it to Issues.htm .

7. If a path starts with a number of parent references,
   a template with same number of parent references
   must be added to permission list to allow the access.
   The template (*) allows access to any file.
   THIS IS INCOMPATIBLE CHANGE, because
   the old code ever rejects parents.

8. GenericResourceDir and FontResourceDir are not being added
   to permission list while .locksafe. Instead that,
   we combine them with all LIBPATH items,
   and add the combinations to the permission list
   unless it references parent.
   THIS IS INCOMPATIBLE CHANGE, but for non-exotic cases
   (such as "(../Resource/CMap/H) .libfile" in a document)
   it should be equivalent to the old behavior.

9. Scratch files with a non-absolute prefix always open
   in a scratch directory. The old code can open them
   in current and parent directories if an user modified
   a default prefix in C code.
   THIS IS INCOMPATIBLE CHANGE for users who had modified
   a scratch file prefix in C code.
   Permission for scratch directory is not checked
   as well as in old code.

A. The operator .filenamedirseparator is removed,
   because it cannot work properly on OpenVMS.
   On OpenVMS it needs both prefix and trailer to
   determine a correct separator.
   We removed it because the new logics never needs it.

B. The operator .pathstring_not_bare is removed,
   because .file_name_combine performs it's job better.

C. The functions gp_pathstring_not_bare, gp_file_name_references_parent,
   char *gp_file_name_concat_string are not longer in use.

D. New operators added to maintain the new logics :

     .file_name_combine 

      Combine a file name with a prefix.
      The first argument is a prefix, the second is a file name.
      Internal syntax of arguments and result is platform dependent.
      The combination is being reduced to a shortest equivalent,
      but if it starts with cwd reference, the starting
      cwd reference persists.

   - .file_name_separator 

      Returns a readonly string, which represents a separator
      which is used in file names between directory item and file item.
      Used for making the default value of GenericResourcePathSep.

   - .file_name_directory_separator 

      Returns a readonly string, which represents a separator
      which is used in file names between two directory items.
      Used for making the default value of GenericResourceDir.

   - .file_name_parent 

      Returns a readonly string, which represents a parent reference.
      Used for making the default value of GenericResourceDir
      and GenericResourceDir.

    .file_name_parents 

      Returns an integer equal to the length of maximal
      anchor substring, which includes parent references and separators only.
      Used in generating the permission list from LIBPATH and
      [GenericResourceDir FontResourceDir] as a workaround
      for (6).

   We believe that all them are necessary, except the last one,
   which is temporary used in (8) as a workaround for (6).

[src/gp_macio.c src/imainarg.c lib/gs_fapi.ps src/gp_os2.c src/zfile1.c src/gp_vms.c src/gp_iwatc.c src/imain.c src/gp_ntfs.c lib/gs_res.ps lib/gs_fonts.ps src/gp_dosfs.c src/gp_unifn.c src/files.h src/zfile.c src/gp_unifs.c src/gp.h lib/gs_init.ps]

2003-03-03T11:50:45.000000Z Igor Melichev

gp_file_name_combine : Implementing new PS operators.

[src/int.mak doc/Develop.htm src/zfile1.c]

2003-03-03T11:00:26.000000Z Igor Melichev

gp_file_name_combine : Fixing the OpenVMS parent syntax.

[src/gp_vms.c]

2003-03-03T10:49:57.000000Z Igor Melichev

gp_file_name_combine : Fixing a comment about OpenVMS.

[src/gpmisc.c]

2003-03-03T10:32:59.000000Z Igor Melichev

gp_file_name_combine : Fixing the OpenVMS parent syntax and generalizing the ankor parent check.
Thanks to Jacob Jansen.

[src/gpmisc.c src/gpmisc.h src/gp_vms.c]

2003-03-02T22:52:26.000000Z Igor Melichev

gp_file_name_combine : Adding more helpers for OpenVMS support.

DETAILS:

The previous patch unintentionally set NEW_COMBINE_PATH=1.
This one repairs it.

OpenVMS uses different separators for directory and file
items - '.' and ']'. More helpers added to resolve this.
gp_file_name_conbine_generic now checks which one is needed
for concatenating paths.

[src/gp_macio.c src/gp_ntfs.c src/gpmisc.c src/gp_dosfs.c src/gp_unifn.c src/gp_os2.c src/gp_vms.c src/gp.h]

2003-03-02T13:48:58.000000Z Igor Melichev

gp_file_name_combine : Implementing some useful functions.

DETAILS:

This patch doesn't change any behavior.
The new functions will be used with NEW_COMBINE_PATH=1.

Probably we don't need gp_file_name_reduce, but it's implementation
is pretty nice and isn't obvious.

gp_file_name_is_absolute will replace gp_pathstring_not_bare.
NEW_COMBINE_PATH=1 wan't need a special check for cwd.

gp_file_name_is_from_parent will replace gp_file_name_references_parent.
The new function only check partent at the beginning of the path,
and should be used with reduced paths only.

We could code an in-place reduction with :

    gp_file_name_combine_result
    gp_file_name_reduce_inplace(char *buffer, uint *blen)
    {
        return gp_file_name_reduce(buffer, *blen, buffer, blen);
    }

but we believe that

1. Aliasing const with non-const isn't a valid C.
   Rather GS contains multiple const hacks, we don't want to add another one.

2. The input buffer must have space for the trailing zero,
   which is not accounted in *blen.

The patch also includes a minor cleanup of comments and gp_file_name_combine_generic.

[src/gpmisc.c src/gpmisc.h src/gp.h]

2003-03-02T11:50:21.000000Z Igor Melichev

Fix : A compiler warning in platform dependent code for gp_file_name_combine.

[src/gp_macio.c src/gp_ntfs.c src/gp_dosfs.c src/gp_unifn.c src/gp_os2.c src/gp.h src/gp_vms.c]

2003-03-02T11:38:56.000000Z Igor Melichev

Fix : A syntax error in platform dependent code for gp_file_name_combine.

[src/gp_dosfs.c src/gp_unifn.c src/gp_os2.c]

2003-03-01T13:59:38.000000Z Igor Melichev

Implementing gp_file_name_combine.

DETAILS :

This patch introduces a new code, which is currently
disabled with "#define NEW_COMBINE_PATH 0" in gp.h .

The new function gp_file_name_combine concatenates
two paths and then reduce the concatenation with excluding
parent references when possible. It is platform dependent,
but we could factor out a big common part - see gp_file_name_combine_generic.
Platforms define 8 small helpers for it.

The gp_file_name_combine and its helpers were debugged on Windows
with emulating other platforms. A help wanted to
test them on real platforms. For testing them
replace 0 with 1 in the definition of NEW_COMBINE_PATH
in gp.h and rebuild.

We do not protect definitions of new functions with
NEW_COMBINE_PATH switch, because we want them to be syntax-checked.

Some old functions, such as gp_pathstring_not_bare,
gp_file_name_concat_string will be reconsidered later,
because the helpers perform similar work in a generalized way.
Probably some of old ones to be removed. Our strong intention is
to remove gp_pathstring_not_bare, because it's behavior looks
strange from the user's end.

[src/lib.mak src/openvms.mak src/gp_macio.c src/gp_ntfs.c src/gpmisc.c src/gp_dosfs.c src/gp_unifn.c src/gpmisc.h src/gp_os2.c src/openvms.mmk src/zfile.c src/gp.h src/gp_vms.c]

2003-03-01T12:54:46.000000Z Igor Melichev

Reorganizing lib_open, lib_file_open, lib_file_fopen, file_open_stream functions
to allow to check permissions with a combined file name.

DETAILS :

This should be an equivalent change.
It is a preparation for implementing static resources.

This patch moves the directory enumeration cycle from lib_file_fopen
to lib_file_open. After that we have a place in lib_file_open
in which both combined path and permissions are accessible
(more precisely, this place is in lib_fopen_with_libpath).
The checking permissions in there will be next improvement.

This patch defines a stub for gp_file_name_combine function.
Temporary it is placed into zfile.c .
Later it will be moved to platform dependent modules.

[src/zfile.c]

2003-02-28T18:58:31.000000Z Ray Johnston

Moving clear to before the restore removed the startjob parameters from
the opstack.

DETAILS:

This was an attempt to remove a potential problem with invalidrestore
caused by stuff on the opstack or dictstack if startjob was executed with
elements on these stacks. Since the problem has always been there and
since no one has tripped over it, we will investigate a correct fix
to preventing invalidrestore when the need arises. In the meantime,
at least startjob will work.

[lib/gs_lev2.ps]

2003-02-28T18:53:04.000000Z Ralph Giles

Correct a comment typo.

[lib/pdf_main.ps]

2003-02-28T03:58:34.000000Z Ray Johnston

Correct typo somehow a /* comment crept in -- changed to %

[lib/gs_lev2.ps]

2003-02-28T00:31:42.000000Z Ray Johnston

Add .endjob procedure for use by job servers. Remainder of job encapsulation
and documentation to follow later. Also fix potential "invalidrestore"
problem with "extiserver" and "true  startjob" caused by stuff left
on the opstack or dictstack.

[lib/gs_lev2.ps]

2003-02-27T11:56:44.000000Z Ralph Giles

Support for JBIG2 streams with a JBIG2Globals shared data reference.

DETAILS:

The JBIG2Decode filter can take an optional /JBIG2Globals parameter,
always an indirect object reference to another stream. This commit adds
a new .jbig2makeglobalctx operator that takes a bytestring contanting
the global stream data, runs it through the decoder library and wraps
the resulting context pointer in an astruct which is returned as a
special -jbig2globalctx- object on the postscript stack.

A new procedure called from inside applyfilters in the pdf decoder takes
care of spooling the global data into the bytestring and installing the
astruct under the .jbig2globalctx key in the parameter dictionary. The
filter implementation looks for this and passes it to the page decoder
instance if it's available. The original JBIG2Globals key is ignored by
the actual decode filter implementation.

[src/lib.mak src/zfjbig2.c src/sjbig2.c src/int.mak lib/pdf_base.ps src/sjbig2.h]

2003-02-26T22:33:15.000000Z Igor Melichev

Fix : Improving a comment in lib/FAPIconfig.

[lib/FAPIconfig]

2003-02-25T20:53:04.000000Z Igor Melichev

Fix (pdfwrite) : -dSubsetFonts=false did not work with incremental fonts.

DETAILS :

pdfwrite created a "complete" copy of a font at the first appearance of the font.
With incremental fonts it missed incremental glyphs with -dSubsetFonts=false.
The patch checks whether a glyph is added incrementally and
replaces the "complete" font copy with a font subset.
Bug #686735 "-dSubsetFonts=false produces a bad PDF".

The core of the patch is the change to gdevpdte.c .
Other changes just pass a necessary data through internal interfaces.

This patch should not change behavior with -dSubsetFonts=false,
which is used by default for the regression testing.

[src/gdevpdtb.c src/gdevpdtt.c src/gdevpdtd.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtd.h src/gdevpdtf.h]

2003-02-25T15:44:28.000000Z Igor Melichev

Fix (pdfwrite) : Removing pdf_font_resource_s::copied_font.

DETAILS :

The patch removes a duplicated pointer.
It is a preparation for fixing #686735 "-dSubsetFonts=false produces a bad PDF".
The patched code should be equivalent to the old one.

[src/gdevpdtf.c src/gdevpdtf.h]

2003-02-25T13:25:04.000000Z Igor Melichev

Fix (FAPI) : improving a comment.

[src/zfapi.c]

2003-02-25T13:09:46.000000Z Igor Melichev

Fixing a compiler warning.

[src/gdevprn.c]

2003-02-25T12:25:18.000000Z Igor Melichev

Fixing the device finalization problem.

DETAILS :

pdfwrite (and possibly other devices) perform a huge work within close_device.
Since close_device is called via finalization method from memory
manager, some device structures could be released before calling
device_close, so that the huge work could not safely complete.
Also it could return error codes, which were entirely lost.

This patch calls gs_closedevice implicitly when a device
is about to uninstall. We catch 2 such events : when the interpreter
is about to exit, and when the interpreter executes setdevice.
This should be enough for "external" devices, such as printer drivers.
Internal devices do not receive these calls.

Note that a call to gx_device_fill_in_procs is added after assign_dev_procs
from gx_default_create_buf_device. Not sure why it was not done before.
After assign_dev_procs, ppmraw had ununitialized procs.

Also note that is_open flag is now unconditionally resets in gs_closedevice.
The new code needs to reset it to prevent redundant call to close_device from
device finalization method. The redundant call causes
a crash if pdfwrite has insufficient disk space to store the
output file (debugged with dina3_watermark.pdf) .

Bug 601255 "segv while device finalization".

[src/imain.c src/int.mak src/gdevprn.c src/gsdevice.c]

2003-02-24T13:50:12.000000Z Alex Cherepanov

Avoid dictfull error; allocate page dictionary as large as the image
cache size. Wrap the image data string in the executable array because
some interpreters require the procedure data source.
Fixes bug #643398

[src/gdevpsu.c src/gdevpsim.c src/gdevpsu.h src/gdevps.c]

2003-02-22T18:05:42.000000Z Ralph Giles

Use the correct debug macro in the recently committed struct_array
allocation checks. Only relevent to the debug build.

[src/gsmemory.c]

2003-02-22T05:50:04.000000Z Alex Cherepanov

Return error immediately when glyph ID is not found in GlyphDirectory.
Avoid access to partly constructed GlyphData and obscure failures there.
Fixes SourceForge bug #672129

DETAILS:
This change has no effect on rendering. Old code was
failing during access to GlyphData, which caused default glyph
substitution. New code returns the error earlier and causes
the same default glyph substitution.

[src/zfcid0.c]

2003-02-21T18:52:20.000000Z Ray Johnston

Add runtime validity checking related to struct_array allocations. This is
only enabled for DEBUG builds so the checks will not slow down production
builds. Related to bug 669170.

[src/gsmemory.c src/gsalloc.c]

2003-02-21T18:48:41.000000Z Ray Johnston

Fix SEGV when cmap allocation failed (check for pcmap==NULL was misplaced).

[src/zfcmap.c]

2003-02-21T11:22:29.000000Z Igor Melichev

Fix : Don't generate the warning "/Unicode /Decoding is not accessible"
when working with no pdfwrite device.

[lib/gs_pdfwr.ps]

2003-02-20T21:34:07.000000Z Alex Cherepanov

The fact that pswrite and epswrite devices generate low level
PostScript has been documented as a known limitation.

[doc/Issues.htm]

2003-02-20T18:57:30.000000Z Jack Moffitt

Forces test scripts which take files as arguments to treat the files as
names rather than paths.

[toolbin/tests/update_pdfbaseline toolbin/tests/make_two_versions toolbin/tests/revert_pdfbaseline toolbin/tests/update_baseline toolbin/tests/make_two_pdfversions toolbin/tests/revert_baseline]

2003-02-20T18:34:24.000000Z Igor Melichev

Fix : A structure discriptor was wrong allocating an array of gs_cid_system_info.

DETAILS :

This also unwinds the patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-February/002895.html

[src/gsfcmap.c]

2003-02-20T13:38:03.000000Z Alex Cherepanov

Fix: Use default procedures for non-forwarding component bbox device.
Forwarding procedures cannot be used if there's no target device.

DETAILS :

Bug #636210

This is a partial fix for bug #636210.
Another part, I/O error processing, will be posted separately.
This change was locally tested with full regression test.

[src/gdevbbox.c]

2003-02-18T19:57:17.000000Z Igor Melichev

This is initial commit for implementing static resources.

DETAILS :

1. Adding a new iodevice %static% with the new file ziodevst.c .
It is used for opening files placed in static data segment.
They need to be accessed as PS files due to multiple reasons,
including the implementation of gs_ciddc.ps and for PS procedure
ResourceFileName defined in PLRM.

2. Implementing a queue for delayed invocation
of initialization functions at end of gs_init.
This feature is necessary due to customized
builds of Ghostscript : some 'dev' depend each
on other and some functions are needed to execute
after all devs are preset. Currently it is only used
for obtaining the Unicode Decoding resource,
but later it will be used for perfectly consistent
processing of font and CID font map files,
both with FAPI and without it.

3. gs_resmp.ps slightly changed for handling
resource maps which are not defined as files.

4. The new file gs_resst.ps implements a procset
for handling static resource files. Both gs_resst.ps and
gs_ciddc.ps use the %static% iodevice.

5. The new file gs_resst.ps creates a map of resource files
placed in static segment. Later it would be nice
to generate it during GS installation. With the defined
resource set gs_init.obj grows up to 1.5Meg,
but both MSVC and gcc/Cygwin could handle it.

Currently all resources in gs_stres.ps are COMMENTED OUT
to prevent problems building Ghostscript with COMILE_INITS=1
on Mac and VMS. To uncomment them, replace '%-' with empty string.

This patch was locally tested with entire comparefiles
with COMPILE_INITS=0. It should not cause regressions.
Also it was slightly tested with COMPILE_INITS=1 :
the static resources work fine.

The patch assumes that during a GS build resource files
are placed in gs/Resource/ . It uses 1 Decoding and
a dozen of CMaps, which are necessary for the CID font emulation
and for FAPI to work. You need to uncomment them
in gs_stres.ps .

When GS is invoked, resources are being loaded from both
the static segment and from the OLD(!!!!!) default path.
In other words, the resource machinery works fine,
but the default resource path is not fixed yet.
I intend to fix it in the next day or two.

The patch depends on
http://www.ghostscript.com/pipermail/gs-cvs/2003-February/002950.html

The patch does not include CMaps and Decodings resources.
They to be added separately.

[lib/gs_resmp.ps src/int.mak lib/gs_res.ps src/msvccmd.mak doc/Develop.htm src/ziodevst.c lib/gs_resst.ps lib/gs_stres.ps doc/Psfiles.htm lib/gs_pdfwr.ps lib/gs_init.ps]

2003-02-17T08:31:46.000000Z Jouk Jansen


 Committing in .

 OpenVMS crash fix (temporarily)

 Modified Files:
 	gs/src/openvms.mmk
 ----------------------------------------------------------------------

[src/openvms.mmk]

2003-02-17T00:08:20.000000Z Igor Melichev

Enhancing the functionality of geninit.c .

DETAILS :

1. Implemented "long" relative paths. See translate_path.
   Not sure what to do with separators on Mac.
   See the __MACOS__ section.
   This change was not debugged on Mac.
   In case of problems please patch it.

2. Moved some error messages to prefix_open,
   to allow translated paths to be displayed.

3. Implemented an intact including of files.
   This is useful for including Adobe resources.
   Don't want legal problems with them.
   The syntax of 'Replace' statement is enhanced.

[src/geninit.c]

2003-02-16T17:51:55.000000Z Igor Melichev

Fix : Improving the CIDFontType 2 font copying.

DETAILS :

I believe that the code about copying CIDFontType 2 glyphs
is overcomplicated with mixing CIDs and GIDs, and needs to be
cleaned up. The old code had an obvious inconsistency :
it allocated a smaller array for glyph indices than written,
causing a heap damage. This patch simply makes the code to be
self-consistent. I can't say that I completely
understand whether CIDs/GIDs passed correctly or not.
Now it is working, but the correctness was not proved,
and Acrobat Reader doesn't show the glyph with /CIDTTEMUL
(see below).

The problem was detected with COMPILE_INITS=1 with emulating
a CID wont with mshei.ttf . The following program had crashed
with pdfwrite :

/glyph 2300 def
/ShinGo-Bold /CIDFont findresource
100 scalefont setfont
100 200 moveto glyph glyphshow
/CIDTTEMUL /CIDFont findresource
100 scalefont setfont
100 100 moveto glyph glyphshow
showpage

with the cidfmap file like this :

/ShinGo-Bold << /FileType /TrueType /Path (f:/WIN2000/Fonts/batang.ttf) /SubfontID 0 /CSI [(Japan1) 2] >> ;
/CIDTTEMUL << /FileType /TrueType /Path (f:/WIN2000/Fonts/mshei.ttf) /SubfontID 0 /CSI [(Japan1) 2] >> ;

The effect is indeterministic.
When I build GS with regenerate gs_init.c,
it crashed if run in same session of Developer Studio.
But if I close-open the Developer Studio and run GS,
it doesn't crash.

The patch should enlarge the array, which was written outside
the index range. The problem looks gone.
Meanwhile the CID/GID logics in gxcopy.c to be revised someday.

[src/gxfcopy.c]

2003-02-16T17:28:58.000000Z Igor Melichev

Fix : Improving the seekability of the init string file.

DETAILS :

See comment in code.

This problem was found while developing a dead branch.
Rather it will not go to the mainstream development,
I'd like to keep track on it.
If the patch causes a problem, it can be safely unwinded.

[src/stream.c]

2003-02-15T22:37:01.000000Z Ray Johnston

Change the fixed point precision for device coordinates to 8 bits. The
previous 12 bits was too large to accomodate large format inkjet printers
at modern resolutions of 720 and 1200 dpi.

[src/gxfixed.h]

2003-02-14T01:34:47.000000Z Igor Melichev

Fix (pdfwrite) : hmtx was wrongly written with CIDFontType 2 subset.

DETAILS:

Source Forge bug #683690.

[src/gdevpsft.c]

2003-02-13T22:26:58.000000Z Igor Melichev

Fix : Replacing UTC-16 with correct UTF-16 in documentation and comments.

[src/zbfont.c doc/Language.htm src/gxfont.h]

2003-02-13T20:05:55.000000Z Ralph Giles

Improve wording and sentence structure for some recent documentation
additions.

[doc/Use.htm doc/Language.htm doc/Psfiles.htm]

2003-02-13T11:19:53.000000Z Igor Melichev

Adding a documentation about Decoding and CIDDecoding resource categories.

[doc/Language.htm]

2003-02-13T09:24:37.000000Z Igor Melichev

Fix : The condition in .pdf_hook_DSC_Creator was too general.
Restricting the Type 32 font disabling with pdfwrite device only.

[lib/gs_pdfwr.ps]

2003-02-13T07:53:51.000000Z Dan Coby

Partial fix for 684340.  Remove the macro gx_color_device_must_halftone
and its one (incorrect use).

DETAILS:
The macro gx_color_device_was meant for situations in which the device
was known to be a color device and it was needed to know if halftoning
was required.  With the 8.00 changes in the graphics library, the
one situation that it was being used is incorrect.  The macro was also
wrong since it was checking dev->color_info.max_gray.  It should have
been checking color_info.max_color.  The macro was removed.  Please
use gx_device_must_halftone in its place.

[src/gxcmap.c src/gxdevice.h]

2003-02-13T01:54:03.000000Z Igor Melichev

Fix : Stack balance in .pdf_hook_DSC_Creator .

[lib/gs_pdfwr.ps]

2003-02-12T23:06:15.000000Z Igor Melichev

Adding a documentation about GlyphNames2Unicode.

[doc/Language.htm]

2003-02-12T22:31:23.000000Z Igor Melichev

Fix : Removing an unused procedure.

[lib/gs_cidtt.ps]

2003-02-12T14:57:59.000000Z Ralph Giles

Add the new jbig2 filter sources to the file listing.

[doc/Develop.htm]

2003-02-12T14:30:59.000000Z Igor Melichev

pdfwrite : Disable 32 /FontType resource while processing a document
created with PScript5.dll .

DETAILS:

This patch completes the previous one. See details in there.
Also see comment in .pdf_hook_DSC_Creator defined by this patch.

This patch may be insufficiently safe for the case when
several documents are being united while a distillation.
We would like to restore the redefinition of 'resourcestatus'
after a document completes, but we don't know how to do
(exactly, where to call the restoring action from ?).
In general, what happens with

     gs -sDEVICE=pdfwrite -OutputFile=1.pdf document1.ps document2.ps -c quit

?

[lib/gs_pdfwr.ps]

2003-02-12T14:29:27.000000Z Igor Melichev

pdfwrite : Account GlyphNames2Unicode while creating ToUnicode CMaps for simple fonts.

DETAILS:

This patch improves the previous one.
It generalizes the GlyphNames2Unicode processing for any simple font.

GlyphNames2Unicode is an undocumented facility, which Adobe Postscript
printer driver PScript5.dll Version 5.2 uses to communicate with
Adobe Distiller. Adobe applies it to Type 3 and Type 42 fonts.

Adobe uses Type 3 with GlyphNames2Unicode only for compatibility
with interpreters, which cannot handle Type 32. With other
interpreters (including Ghostscript) the generated PS program
skips GlyphNames2Unicode data. Therefore the feature
is now implemented for Type 3 but it is not involved while
processing such documents. Need to patch "32 /FontType findresource"
to involve it. Probably with pdfwrite the DSC parser should recognize
the creator and exclude 32 from /FontType resource category.

This patch unwinds the enhanced functionality of gs_font_procs::glyph_info
with GLYPH_INFO_UTC16, which was done with the previous patch,
and introduces a new virtual function gs_font_procs::decode_glyph.
Doing so because GLYPH_INFO_UTC16 causes multiple redundant code
for various font types due to dependence on interpreter structures.

SF bug #684120 tracks additional issues.

[src/gxchar.c src/gdevpdfx.h src/gxfcopy.c src/gdevpdf.c src/gsfont.c src/gdevpdtt.c src/gdevpdtd.c src/zbfont.c src/gdevpdte.c src/gdevpdti.c src/gdevpdtt.h src/zfont42.c src/devs.mak src/gxfont.h]

2003-02-12T02:16:40.000000Z Ralph Giles

Initial implementation of the /JBIG2Decode filter. This adds a '$(PSD)jbig2.dev'
FEATURE_DEV which links in the libjbig2dec decoder library. This version does
not support the optional /JBIG2GLOBALS parameter for sharing information between
page images. However, it is still useful as this parameter has been empty in
the files we've seen. The feature in enabled for the autoconf build if the
decoder library is found on the system, and remains optional with the other builds.

[src/lib.mak src/zfjbig2.c src/sjbig2.c src/int.mak src/Makefile.in src/configure.ac src/sjbig2.h]

2003-02-11T22:21:38.000000Z Igor Melichev

pdfwrite : Account GlyphNames2Unicode while creating ToUnicode CMaps
for Type 42 fonts.

DETAILS:

GlyphNames2Unicode is an undocumented facility, which Adobe Postscript
printer driver PScript5.dll Version 5.2 uses to communicate with
Adobe Distiller. Adobe applies it to Type 3 and Type 42 fonts.

Type 3 with GlyphNames2Unicode is used only for compatibility
with interpreters, which cannot handle Type 32.
Since Ghostscript is not such, there is no need to implement
Type 3 with GlyphNames2Unicode. We don't do that.

This patch enhances the functionality of gs_font_procs::glyph_info
with retrieving Unicode UTC-16 code for a glyph. This enhancement
is implemented for practically useful cases only, which are
restricted with Type 42.

The gs_font_dir::glyph_to_unicode
callback is now removed because it is not longer useful.

SF bug #684120 tracks additional issues.

Working on this patch, I tried put the Unicode Decoding table
as a default value to FontInfo.GlyphNames2Unicode and remove the unicode_decoder.
But it appears not working, because test.ps for SF bug #529103 needs to
collect substitutions from both FontInfo.GlyphNames2Unicode and Unicode Decoding.

I removed the "WARNING: /Unicode /Decoding resource in not accessible",
because the flag for preventing its repetitions is not accessible from
gs_font_procs::glyph_info. A similar warning in lib/gs_pdfwr.ps still works.

[src/gdevpdfx.h src/bfont.h src/gxfcache.h src/gdevpdf.c src/zfont.c src/gsfont.c src/zbfont.c src/gdevpdte.c src/ifont.h src/zfont42.c src/devs.mak src/gxfont.h]

2003-02-10T22:43:02.000000Z Dan Coby

The display device (src/gdevdsp.c) was displaying pure magenta as
white when using the DISPLAY_UNUSED_LAST mode.

DETAILS:
The cause of the problem was a sign bit extention in a 32 to 64
bit conversion (long to gx_color_index).  The fix was to add casts
to force the conversion to gx_color_index (which is unsigned) earlier
in the assigment.

[src/gdevdsp.c]

2003-02-10T18:47:34.000000Z Alex Cherepanov

Added link to a new file: pfbtopfa.bat

[doc/Develop.htm]

2003-02-10T17:39:20.000000Z Ray Johnston

Fix a stack problem when doing small-caps substitution on a substituted
font referenced from a PDF file. Problem seen with Adobe's PDF 1.2 spec.

SourceForge bug# 683997 for Artifex customer #150.

[lib/pdf_font.ps]

2003-02-10T17:01:47.000000Z Ralph Giles

Document that pdfwrite and pswrite do not support the '%d' file-per-page
convention for -sOutputFile. Partial fix for Sourceforge bug 645677.

DETAILS:

Ghostscript actually segfaults when an output file name containing %d
is passed to pdfwrite or pswrite. This remains to be resolved.

[doc/Use.htm doc/Language.htm]

2003-02-10T16:53:12.000000Z Igor Melichev

Fix: Some compiler warnings.

[src/lib.mak src/gstype42.c src/gsgcache.c]

2003-02-10T16:31:40.000000Z Igor Melichev

Improving gs_font_procs interface functions glyph_info and glyph_outline.

DETAILS:

The old interface definition provided insufficient data for pdfwrite.
Several hacks was used in pdfwrite to recover the luck of data.
This patch slightly enhances the interface and removes the hacks.
See new comments in gxfont.h about the enhancement.

The interface could be more complete - see comments in gxfont.h .
Now we do not apply efforts for refinishing it, because
there is no practical need and we have no tests for it.

This patch improves glyph positions with pdfwrite for fonts with
vertical CMaps. comparefiles do not test this case.

Minor change : fixed compiler warnings in gdevpdtd.c .

[src/ichar1.h src/zfcid0.c src/gxfcopy.c src/gsfont.c src/gdevpdtd.c src/gxtype1.c src/gstype42.c src/gdevpdtt.c src/gdevpdte.c src/zfont42.c src/gdevpdtt.h src/zchar1.c src/gxfont.h]

2003-02-07T15:43:13.000000Z Igor Melichev

The CID to TT mapping : Implementing a glyph data cache.

DETAILS:

The implementation of the CID font emulator is completed.

Minor changes :

- Fixed a compiler warning in gdevpdfu.c .

[src/lib.mak src/gsgdata.h src/gxfont42.h src/zfcid1.c src/int.mak doc/Develop.htm src/gsgcache.c src/gdevpdfu.c src/ifont.h src/gsgcache.h]

2003-02-07T00:31:11.000000Z Igor Melichev

Fix : Improving comments in map file samples.

[lib/FAPIcidfmap lib/cidfmap]

2003-02-07T00:23:54.000000Z Igor Melichev

Improving a documentation about emulating CID fonts with True Type fonts.

[doc/Use.htm]

2003-02-06T17:43:47.000000Z Alex Cherepanov

Default CRD name is /DefaultColorRendering , not /Default
Fixes SourceForge bug #667351 from customer #150

[lib/gs_res.ps]

2003-02-06T13:02:36.000000Z Igor Melichev

Fix (FAPI) : A portability bug about arithmetic shift.

[src/zfapi.c]

2003-02-06T09:40:00.000000Z Igor Melichev

pdfwrite : Generating ToUnicode CMaps for simple fonts.
For fonts with random encoding it allows to Copy-Paste text
from viewers and to search a text.

DETAILS:

This code requires /Unicode /Decoding resource.
If the resource is absent, PDF will be written without ToUnicode CMap,
a warning is written to stdout explaining that the resource may be useful,
and another warning may be written to stderr if the resource is actually
useful for the document.

To access the resource I introduced a special operator .setupUnicodeDecoder .
It is called from gs_pdfwr.ps and stores the resource to gs_font_dir,
together with a callback which performs the decoding.
This is only a way to pass the resource through the graphics library.
It is definitely not a device parameter, and converting it to
C structures would be hard.

I don't like the big stuff added into zfont.c, but I haven't got
a better idea where to put it.

Minor change : fixed Cygwin/gcc compiler warnings.

[src/gdevpdfx.h src/gxfcache.h src/gdevpdf.c src/gsfcmap.c src/gdevpdts.c src/gsfcid2.c src/gdevpdtw.c src/gsfcmap.h src/devs.mak src/gxfcmap.h lib/gs_pdfwr.ps src/lib.mak src/gdevpdtb.c src/gdevpdtc.c src/zfont.c src/gsfont.c src/gsfcmap1.c src/gdevpdte.c src/gdevpsf.h src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtf.h src/zfapi.c src/gdevpsfm.c]

2003-02-06T06:09:52.000000Z Alex Cherepanov

Created for completeness and convenience to Windows users.

[lib/pfbtopfa.bat]

2003-02-05T13:45:54.000000Z Ralph Giles

Remove documentation about the Pn() macros for K&R compatibility. They
were entirely removed prior to the 8.00 release.

[doc/C-style.htm]

2003-02-05T07:40:42.000000Z Igor Melichev

Fix (FAPI) : Improving error messages.

[src/zfapi.c]

2003-02-04T23:13:04.000000Z Igor Melichev

(pdfwrite) : Fixing glyph width with WMode=1.

DETAILS:

Expecting a progression with 093-01.ps .

[src/gdevpdtt.c]

2003-02-04T16:50:15.000000Z Igor Melichev

(pdfwrite) : Fixing a check for NULL pointer pdf_attached_font_resource,
and propagating return codes from there.

[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c]

2003-02-04T15:46:16.000000Z Igor Melichev

(pdfwrite) : Improving the safety of pdf_font_cache_elem arrays.

DETAILS :

The patch should not change any behavior.
It only inserts some index range checks while accessing arrays.
It was not neccessary, but it helped to locate a different problem.

[src/gdevpdfx.h src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtt.h]

2003-02-04T15:24:17.000000Z Igor Melichev

Fix (new Type 1 hinter) : Exported an excessive moveto when hints are disabled.

DETAILS:

This only affects pdfwrite.
Debugged with 401-01.ps .

Minor change :
Added some visual trace commands for the case of disabled hinting.

[src/gxhintn.c]

2003-02-04T15:05:08.000000Z Igor Melichev

Fixing a garbager problem in pdfwrite.

DETAILS :

The patch
http://www.ghostscript.com/pipermail/gs-cvs/2003-February/002891.html
is incorrect and caused multiple regressions.
Replacing it with a better patch.

Releasing pdf_font_cache_elem while device finalization,
the structure lefts in heap due to memory manager is disabled,
but it's pointers become invalid if they point to a huge area,
which was allocated in a separate chunk with another allocator.
Reset the pointers to prevent the garbager's attempt to relocate them
after the huge chunk is released.

[src/gdevpdtt.c]

2003-02-03T19:35:43.000000Z Igor Melichev

Fixing a garbager problem with gs_cmap_adobe1.

[src/gsfcmap.c src/gsfcmap1.c]

2003-02-03T16:32:26.000000Z Igor Melichev

Fix (FAPI) : SubstNWP erroneusely used with non-CID fonts.

[lib/gs_fntem.ps]

2003-02-03T16:06:50.000000Z Igor Melichev

Fix (FAPI) : Improving the default value for the subpixel grid.

[src/zfapi.c]

2003-02-03T15:59:15.000000Z Igor Melichev

(pdfwrite) : Copying a composite True Type glyph, components were indexed wrongly.

DETAILS :

It applyed CIDMap to subglyph indices, rather it must not.

[src/gxfcopy.c src/gxfcopy.h]

2003-02-03T14:00:20.000000Z Igor Melichev

Fixing a garbager problem in pdfwrite.

DETAILS :

Releasing pdf_font_cache_elem while device finalization,
the structure lefts in heap due to memory manager is disabled,
but it's pointers become invalid. Reset the pointers
to prevent the garbager's attempt to relocate them later.

[src/gdevpdtt.c]

2003-02-03T12:53:33.000000Z Igor Melichev

Fixing problems with AlignToPixels.

DETAILS :

1. Keys for character cache were incorrect, causing an excessive
   memory consumption (see the change to gxchar.c).
2. Subpixel grid and AlignToPixels were not passed to FAPI.

ifapi.h changed the prototype of get_scaled_font.
Therefore most changes are just a data re-srtucturization.

[src/gxchar.c src/ifapi.h src/fapiufst.c src/fapi_ft.c src/zfapi.c]

2003-02-03T09:27:04.000000Z Igor Melichev

CID font emulation : Comply with FAPI.

DETAILS :

This patch allows to redirect emulated CID fonts to FAPI.
It is not neccessary, but I like this feature.

[src/zfapi.c]

2003-02-03T08:32:19.000000Z Igor Melichev

CID font emulation : Resolving relative paths.

DETAILS :

The implementation of the CID font emulator is now complete.
Perhaps an optimization is wanted for gs_type42_get_outline_from_TT_file.
See comment in there.

[lib/gs_cidtt.ps]

2003-02-03T07:59:45.000000Z Jouk Jansen


 Committing in .

 OpenVMS patches

 Modified Files:
 	gs/src/gp_vms.c gs/src/gsfcid.c gs/src/openvms.mmk
 ----------------------------------------------------------------------

[src/gsfcid.c src/openvms.mmk src/gp_vms.c]

2003-02-02T21:43:24.000000Z Igor Melichev

A documentation about emulating CID fonts with True Type fonts.

[doc/Use.htm doc/Develop.htm doc/Psfiles.htm]

2003-02-01T18:56:45.000000Z Igor Melichev

The CID to TT mapping : Providing a single map file
for both the CID font to CID font substitution and
True Type font to CID font substitution.

DETAILS:

Minor changes :

- Allowed a mapped category redefinition with no map file.
  The map file may be delayed until a later redefinition.
- Changed the order of CIDFont category redefinitions in int.mak .
- Removed the usage of gs/lib/cidttmap.
- Improved a comment in gs/lib/cidfmap about its format.
- Provided an automatic choice of SubstNWP.
- Added an idle entry into the SubstNWP collection.
- Added a comment in zfapi.c . It's a problem.

The implementation of the CID font emulator is almost complete except 2 features :

1. Relative paths are not allowed in the gs/lib/cidfmap file.
2. An optimization is wanted for gs_type42_get_outline_from_TT_file.
   See comment in there.

[lib/gs_resmp.ps lib/gs_cidtt.ps src/int.mak lib/cidfmap lib/gs_fntem.ps src/zfapi.c]

2003-01-31T17:39:28.000000Z Igor Melichev

Fix : Removing some unused variables.

[src/zfapi.c src/zcid.c]

2003-01-31T16:28:50.000000Z Igor Melichev

The CID to TT mapping : Building CIDMap with SubstNWP.

DETAILS:

This patch should not change any behavior if a new file
gs/lib/cidttmap is not added. Normally it is not.

With this patch narrow, wide and proportional Romans
may substitute each another while emulating a CJK CID font
with True Type font. Usually True Types contain insufficient
glyph to render all them. The substitution prevents missed glyphs.

This patch introduces a new special operator .fillCIDMap .
It composes a CID map from a Decoding, a True Type cmap,
and SubstNWP. PS code would be too big and slow for this purpose.

The implementation of the CID font emulator is almost complete except 2 features :

1. The CID font to CID font mapper and
   the True Type to CID font mapper use different map files -
   cidfmap and cidttmap.

2. An optimization is wanted for gs_type42_get_outline_from_TT_file.
   See comment in there.

Minor changes :

- Fixed a bug in gs_cidfn.ps which tried to store a local
  FontMatrix to a global font dictionary.

- A portion of code is factored out from zfapi.c to share with  .fillCIDMap

[src/icid.h lib/gs_cidtt.ps src/zfcid1.c src/int.mak src/zcid.c src/zfapi.c lib/gs_cidfn.ps]

2003-01-31T12:57:12.000000Z Ralph Giles

Remove a spurious include for MAXPATHLEN. Discovered fixing SF bug 675847.

[src/gp_os9.c]

2003-01-31T12:54:45.000000Z Igor Melichev

CID font emulation : Choosing a cmap with gs/lib/xlatmap.

DETAILS:

This patch only changes a code which work for
FAPI or for CID font emulation. Regular GS invocation
should not change a behavior.

This is a next step of the CID font emulation.
Now it can handle all Windows JCK charsets, including Unicode-16.
In other words, a CJK font with any Windows charset can be used for emulation.
To handle other CJK charsets one should create an appropriate
CIDDecoding resource and add it into gs/lib/xlatmap.

Minor changes :

- Speeded up the TT file parser using the 'setfileposition'.

- Improved some diagnostic messages.

The implementation of the CID font emulator is still incomplete :

1. The CID font to CID font mapper and
   the True Type to CID font mapper use different map files -
   cidfmap and cidttmap.

2. SubstNWP is being ignored.

3. An optimization is wanted for gs_type42_get_outline_from_TT_file.
   See comment in there.

[lib/gs_ciddc.ps lib/gs_cidtt.ps lib/gs_ttf.ps]

2003-01-31T12:51:58.000000Z Ralph Giles

Fixup makefile dependencies after changing header includes in gp_unifs.h.
Part of the fix for SF bug 675847.

[src/lib.mak]

2003-01-31T12:48:22.000000Z Ralph Giles

Use the ANSI-standard FILENAME_MAX from stdio.h instead of MAXPATHLEN from
sys/param.h for unix path buffers. Fixes SF bug 675847.

DETAILS:

We should actually be using gp_file_name_sizeof here, but it's currently
a static define to a lowest common denominator, and we prefer a more
unix-friendly default. This can of course be changed if the _sizeof is
properly configured per platform.

[src/gp_unifs.c]

2003-01-31T09:36:31.000000Z Igor Melichev

The CID to TT mapping :
1. Providing an access to glyphs on demand.
2. Handle TTC font format.

DETAILS:

This patch should not change any behavior if a new file
gs/lib/cidttmap is not added. Normally it is not.

With this patch glyf and loca tables are being skipped while loading
a True Type into RAM. An access by demand is provided instead
(This works for CIDFontType 2; it is not used for Type 42).

Map file may contain records with SubfontID, which
specifies a font number in a TTC collection.
TTC format is implemented for disk files only,
because embedded fonts never use it.

To provide the on-demand access, the patch introduces a special
extension of the Postscript language.
A CIDFontType 2 dictionary may contain /File with a file value.
It should be a positionable file of the TTF or TTC format.
When it presents, the dictionary must contain /file_table_pos,
which's value is a dictionary of 2-element arrays, which specify
position and length of a TT table in the file. 2 arrays
must present with keys /loca and /glyph.

We would like to optimize this implementation.
See comment in gs_type42_get_outline_from_TT_file.

[src/lib.mak lib/gs_cidtt.ps src/gxfont42.h src/zfcid1.c src/int.mak src/gstype42.c src/ifont.h lib/gs_ttf.ps]

2003-01-31T09:05:25.000000Z Dan Coby

Fix for 673108.  The test file has a stream which contains an invalid
stream length.  However Acrobat handles the file.

Details:
The invalid stream length was bad enough that we were positioning beyond
the end of the file when we searched for the endstream.  A check was
added for this case and if so then we ignore repositioning the file
before searching for the endstream.  Note:  There is already logic in
the code which emits a warning message if the endstream is not found.
A second part of this fix was to clean up the stack if the endstream
is not found.

[lib/pdf_base.ps]

2003-01-30T10:44:56.000000Z Igor Melichev

CID font emulation : Adding a code for CIDMap generation,
and moving the xlatmap scanner to gs_fntem.ps .

DETAILS:

This patch only changes a code which work for
FAPI or for CID font emulation. Regular GS invocation
should not change a behavior.

This is a next step of the CID font emulation.
Now it correctly maps most CIDs to Unicode fonts.

Secondary changes :

- I made xlatmap accessible from gs_ttf.c .
  It should be used choosing a cmap.

- improving some comments and function names.

- Removed a redundant definition of a CIDFont,
  which was unintentionally introduced with the previous patch.

The implementation of the CID font emulator is still incomplete :

1. Entire True Type fonts are loaded into VM.

2. SubfontID is being ignored.

3. The CID font to CID font mapper and
   the True Type to CID font mapper use different map files -
   cidfmap and cidttmap.

4. Access to glyphs by demand is not done.

5. SubstNWP is being ignored.

6. The choice the Unicode cmap is hardcoded.
   Should use xlatmap instead.

The previous log message recommends to use PMINGLIU.TTF.
Actually it requires a True Type bytecode interpreter,
which GS doesn't provide. The font mshei.ttf does not.

[lib/gs_cidtt.ps lib/gs_fntem.ps lib/gs_ttf.ps lib/gs_fapi.ps]

2003-01-29T20:24:07.000000Z Ray Johnston

Fix for incorrect colors with pswrite device when painting rectangles.
SF bug 677009.

DETAILS:

The call to gdev_vector_update_clip_path followed the update_fill call
which set the color, but the clip path performed a 'Q q' (grestore gsave)
which reverted to whatever color was part of the previous saved gstate.
Changing the order of the calls fixes the problem.

[src/gdevvec.c]

2003-01-29T11:00:42.000000Z Igor Melichev

Enhancing the resource machinery with mapping CID fonts to True Types.

DETAILS:

This patch should not change any behavior if a new file
gs/lib/cidttmap is not added. Normally it is not.

Adding 2 new files gs_fntem.ps and gs_cidtt.ps and reorganizing
old files gs_cidfn.ps, gs_fapi.ps, gs_resmp.ps with them.
This moves a part of FAPI support to a more general level.
The moved stuff is shared with the FAPI and the new CID font mapper.

After this change Ghostscript can load Unicode True Type fonts
as a substitution to a CIDFontType 2 and render it.
At least the Windows font PMINGLIU.TTF succeeds.
But the implementation is very incomplete :

1. The CID to GID mapping is fully wrong.

2. Entire True Type fonts are loaded into VM.

3. The CID font to CID font mapper and
   the True Type to CID font mapper use different map files -
   cidfmap and cidttmap.

All these 3 solutions are temporary and to be improved later.

To involve the new feature, create a new file gs/lib/cidttmap,
and put records to there of the following format :

/ShinGo-Bold  << /FileType /TrueType /Path (F:/WIN2000/Fonts/PMINGLIU.TTF) /CSI [(Japan1) 2] /SubstNWP /Japan1 >> ;

It is similar to gs/lib/FAPIcidfmap, see Use.htm about the latter.

This patch does not include a change to documentation,
because it is too early to announce it to users.

[lib/gs_resmp.ps lib/gs_cidtt.ps src/int.mak lib/gs_fntem.ps lib/gs_fapi.ps]

2003-01-29T09:23:28.000000Z Igor Melichev

FAPI : Removing unuseful includes.

[src/write_t2.c]

2003-01-29T09:19:20.000000Z Igor Melichev

FAPI : A further improvement for the GS/FreeType bridge.
Patch from Graham Asher.

DETAILS :

Without FAPI plugins this patch doesn't change any behaviour.

Minor improvements by igorm :

- fixed a spelling;
- FAPI_METRICS_ADD was buggy - a fixed overflow (thanks to Graham).
- removed unuseful dependencies from makefile.

[src/ifapi.h src/int.mak src/fapiufst.c src/fapi_ft.c src/zfapi.c]

2003-01-29T08:53:32.000000Z Igor Melichev

Fix : Eliminate .forceput from gs_resmp.ps .

DETAILS:

This patch should not change any behavior.

A mapped category used an array to store a set of procedures.
Sometimes the set grows, and the old implementation
used .forceput to replace the array with a bigger one
in the category dictionary, which is read-only.

The new code represents the set as a dictionary,
so that .forceput is not longer needed.

[lib/gs_resmp.ps]

2003-01-29T08:50:17.000000Z Igor Melichev

pdfwrite : Implementing DW2 and W2.

DETAILS :

This feature is not tested with comparefiles and should
not cause regressions. But the test file 093-01.ps may render
differently due to a bug the test file. See SF bug #674418.

[src/gdevpdtc.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdtt.h src/gdevpdtf.h]

2003-01-28T19:09:33.000000Z Ray Johnston

Fix regression of 119-01.ps caused by previous patch while retaining the
fix for #667658 when CR and/or LF comes between the '~' and the '>'.

DETAILS:

The logic was also fixed so that if the end of buffer is reached while
searching for the '>' character (past CR and/or LF) no error would be
issued unless we have the 'last' condition indicating that no more data
is available.

Thanks to Igor M. for spotting the above potential problem during code
review.

[src/sa85d.c]

2003-01-27T17:29:00.000000Z Ralph Giles

Switching to the new type 1 hinter and the new filling algorithm.
THIS IS INCOMPATIBLE CHANGE.
Most documents render better.

DETAILS:

Rudiments of old code to be kept until beta-testing is completed.
Patch from Igor Melichev.

[src/gx.h]

2003-01-27T16:21:15.000000Z Ralph Giles

Improve the wording of and clarify the documentation for AlignToPixels.
Also restores the documentation for -dPDFFitPage removed by the initial
commit of the AlignToPixels feature.

[doc/Use.htm doc/Language.htm]

2003-01-26T11:45:37.000000Z jeong

If s_A85D_process encounters CR/LF between '~' and '>', it returns ioerror.
Now it is changed to ignore CR and/or LF before '>', and works fine.
Fixes SF#667658.

[src/sa85d.c]

2003-01-26T08:58:59.000000Z Igor Melichev

Fix : Removing an unused variable from set_cache_device.

[src/gxchar.c]

2003-01-26T08:24:31.000000Z Igor Melichev

Implementing a new user parameter AlignToPixels and
a new command line argument AlignToPixels.
They allow to choose the alignment of glyphs to
integral pixels or to subpixels while a text rendering.

DETAILS:

This patch should not change any behavior except
-dAlignToPixels=0 is specified.

A change to documentation about the new parameter is included.

With NEW_TYPE1_HINTER = 1 the value 0 of AlignToPixels implies :

1. Caching a glyph raster, fractional glyph origins
give different images, which are stored
in individual slots. The space consumption in the
character cache increases. This happens for all font types.

2. While hinting a Type 1 or 2 font, glyph origins and widths
are rounded to subpixels rather than to pixels, and the grid fitting
is done to the subpixel grid.

CIDFontType 0 descendents had NULL pointer to gs_font_dir.
The new code needs to access the font directory,
so the pointer is now set.

The new code needs glyph origin and log2_scale to lookup
a glyph in cache. Therefore show_proceed and
set_cache_device were reorganized with a new function
compute_glyph_raster_params. The new algorithm uses a
slightly different (and more complicated) logics
for computation and initialization of penum->origin.
It was well tested, but in case of problems please
consider it as a weak point.

[src/gxchar.c src/gxfcache.h src/gxhintn.c src/zfcid0.c doc/Use.htm src/gxccman.c src/gxchar.h src/gxhintn.h src/zchar1.c src/gstype1.c src/icontext.c src/gstype2.c src/gsfont.c src/zusparam.c src/gsfont.h src/gxccache.c doc/Language.htm lib/gs_init.ps]

2003-01-25T22:50:31.000000Z Ralph Giles

Universally prefer the __MACOS__ platform predefined symbol used by recent
releases of Metrowerks CodeWarrior to the older __MACINTOSH__.

[src/iapi.h src/macsystypes.h src/gsdll.h]

2003-01-25T16:32:12.000000Z Igor Melichev

Fix (dropout prevention) : Insetred a check for VMerror.

DETAILS:

This patch cheanges a disabled code only.

[src/gxfill.c]

2003-01-25T01:09:09.000000Z Ralph Giles

Supply local macros to replace non-portable min() and max() functions from MSVC.

[toolbin/tests/fuzzy.c]

2003-01-24T22:30:51.000000Z Dan Coby

This is a temporary backout of rev 1.12 while its changes are being
investigated.  This is being done to prevenet interference with some
other efforts.

[src/gshtscr.c]

2003-01-24T20:53:39.000000Z Ray Johnston

Add a new feature to scale PDF images to the current page size (rather
than selecting a PageSize corresponding to the document CropBox or
MediaBox). The command line option is -dPDFFitPage and will also position
the image to the printable area of the page (inside .HWMargins).

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

2003-01-24T19:39:01.000000Z Ray Johnston

Fix inconsistent type on QueryUser -- get_param was returning a 'bool' but
set_param required an 'int'. Error was /typecheck in setpagedevice or
could be /rangecheck in .installpagedevice after a page was processed.

[src/gdevwpr2.c]

2003-01-24T19:32:23.000000Z Ray Johnston

Correct typo (missing space) in previous change.

[src/winlib.mak]

2003-01-24T19:28:36.000000Z Ray Johnston

Change to use ECHOGS_XE instead of system echo to avoid problems if an
echo is found on the PATH that expands wildcards '*' character. Problem
found by Torsten Erler when Cygwin echo caused a problem.

[src/winlib.mak]

2003-01-24T13:34:55.000000Z Igor Melichev

New Type 1 hinter : Fixing a bug in alignment to (non-sub)pixels.

DETAILS:

This patch changes a disabled code only.

Also improving the debug drawing of grid.

[src/gxhintn.c]

2003-01-24T07:25:30.000000Z Igor Melichev

Fix (dropout prevention) : Did not work with -dNOCACHE.

DETAILS:

bbox_width was taken from a clipped bbox.

[src/gxfill.c]

2003-01-24T05:03:40.000000Z Igor Melichev

New Type 1 hinter : Fixing glyph widths.

DETAILS:

This patch changes a disabled code only.

See comment in code.

Also improved a comment and C-style.

[src/gxhintn.c]

2003-01-24T00:39:01.000000Z Igor Melichev

New Type 1 hinter : (1) It did not work with pdfwrite because
gx_path_init_bbox_accumulator doesn't provide a memory.
(2) Coded an alignment to subpixels.
(3) Removed a hack about suppressing a microscopic segment.

DETAILS:

This patch changes a disabled code only.

It codes an alignment to subpixels, but for a while
it is permanently turned off.

gx_path_init_bbox_accumulator is used by gs_default_glyph_info for
computing a bounding box for a glyph. It does not
store segments to memory, therefore a reference to memory manager
is not provided. But the new hinter accesses it
if a stack-allocated array overflows.

Implementing an immediate transfer of outline poles to
the output path without storing them intermediately in arrays.
This mode works when a grid fitting is not required.
Only exception is flex poles : up to 9 of them
are stored in arrays while flex accumulates.
It must not overflow arrays.

The hack about microscopic segment was a rudiment of old code.
gs_op1_closepath was unintentionally called while
exporting an outline from the hinter. I believe that
the hack is incorrect and should not be applied.
Some outlines render differently.

I'm sorry for mixing 3 things in a single patch.
I've started the subpixel alignment, and
then occasionally discovered other problems.
It's hard to separate changes after they are done,
and I don't think that the separation is so important.

[src/lib.mak src/gstype1.c src/gstype2.c src/gxhintn.c src/gxhintn.h]

2003-01-23T20:11:15.000000Z Igor Melichev

Fix : A misprint in the recent patch to default_get_outline.

[src/gstype42.c]

2003-01-23T05:14:41.000000Z Dan Coby

Fix for [ 662117 ] uniprint produces black pages, with bugfix.
This fixes several problems created in the uniprint device when the
device API was changed for 8.0.  This includes changes from Stefan Scherer,
the originator of the report, plus some changes for monochrome devices.

[src/gdevupd.c]

2003-01-22T17:36:19.000000Z Ray Johnston

Pulled unneeded #undef jcdp, there was no matching define. Original patch
by Henry Stiles for GhostPCL version.

[src/gdevjpeg.c]

2003-01-22T15:46:53.000000Z Igor Melichev

FAPI project : fixing a problem about preparation renderer's
font data for non-disk CIDFontType 0 fonts.

DETAILS:

Without FAPI renderers this patch doesn't change any behavior.

The old code crashed with Free Type because it misinterpreted
gs_font_cid0_data as gs_type1_data. Improving the protocol for
font data preparation : the new code now tells to a renderer about
a top-level CID font, then about it's descendents (which are Type 1),
then again about the top level font. A new type FAPI_descendent_code
represents a type of request. See comments, which this patch adds to code.

[src/ifapi.h src/fapiufst.c src/fapi_ft.c src/zfapi.c]

2003-01-22T08:54:18.000000Z Russell Lang

Improve gsapi examples for Windows to not require _Windows on MSVC.

[doc/API.htm]

2003-01-22T07:51:31.000000Z Russell Lang

Update DSC parser to current Ghostgum Software version.
Fixes SourceForge bug #657289, SEGV on Alpha in DSC parser.

DETAILS:
A %%Page line with mismatched parentheses around the page label
was ignored, but parser state was updated to scanning pages, not
setup section.  This resulted in access to dsc->page[-1] which
is invalid and caused a SEGV on Alpha.  The updated code now
checks that dsc->page_count is non-zero before accessing
dsc- >page[dsc->page_count-1].  It also makes a second attempt
at finding the page ordinal at the end of a line like:
%%Page: (label with closing parentheses 1
Other parser updates include support for DCS2 files (which is
not quite compliant with DSC), removing a few compiler warnings,
%%HiResBoundingBox, %%CropBox, %%PageCropBox, and being more
resilient to incorrect DSC.

[src/dscparse.c src/dscparse.h]

2003-01-22T07:38:35.000000Z Russell Lang

Treat files starting with %Pxxx as PostScript, not PDF.  Process
empty files without error.  Fixes SourceForge bug #663150, Some
PS files half-recognized as PDF files

DETAILS:
Changes for the 8.00 release to allow reading of PDF files from
stdin caused files starting with %Pxxx to be half recognised as
PDF files.  This patch simplifies the PDF recognition code and
makes it treat only files starting with "%PDF-" as PDF.  Testing
of this code found that zero length input files caused a
PostScript error.  This was an existing error which is fixed by
the gs_epsf.ps patch and last line of the pdf_main.ps patch.

[lib/pdf_main.ps lib/gs_epsf.ps]

2003-01-22T07:34:27.000000Z Russell Lang

Add the ijs device to the MSVC Windows build.

[src/msvc32.mak]

2003-01-22T00:42:06.000000Z Igor Melichev

pdfwrite : Implementing widthshow and xshow for composite and CID fonts.
The old (default) implementation converted to raster fonts
and gave inaccurate glyph positions. The new implementation doesn't
convert fonts to raster except for Type 3.

DETAILS:

This also closes the Source Forge bug
"[ 663635 ] ps2pdf cannot tune spacing by xshow for CJK text".
and provides better glyph positions with ashow for WMode 1.

There are small changes to graphics library :

1. Added interface function gx_current_char, which retrieves
   a code of current character from a gs_text_enum_t instance.
   The function was factored out from an old code.

2. Provided a default metrics for CID fonts for WMode 1.
   This is done pretty roughly, because the interface
   function glyph_info cannot pass some necessary information (WMode).

Minor changes :

1. Removed the comment "We know that the Tw and Tc values are zero",
   It was wrong a long time ago.

2. Inserted a comment about unimplemented DW2. An old code near the
   comment depends on the fact that DW2 is not implemented.

This patch brings more access to gs_text_enum_t::fstack
around the defined interface functions.
The list of gs_text_enum_t interface functions to be revised.

Expecting progressions with pdfwrite :

327-01.ps
Altona.Page_3.2002-09-27.pdf
CIDembedded.pdf
Openhuis_pdf_zw.pdf
RodinCIDEmbed.pdf

[src/gxchar.c src/gxfcopy.c src/gsfont.c src/gdevpdts.c src/gdevpdtc.c src/gxchar.h src/gdevpdtt.c src/gdevpdte.c src/gdevpdts.h src/gdevpdtt.h src/gdevpdti.c]

2003-01-21T23:57:46.000000Z Igor Melichev

Fixing gcc compiter warnings in gxfill.c, gxdtfill.h .

[src/gxdtfill.h src/gxfill.c]

2003-01-20T22:41:24.000000Z Dan Coby

Fix for [ 664473 ] 64bit color indexes break X driver.
This fix corrects some problems found with the X window
driver and 64 bit gx_color_indexes found by customer 1110.


DETAILS:

The problems were found on Sparc workstations running the
Solaris 8.0.  The problem has not been reported on other
systems.  However the fix is simple (and contributed by
customer 1110) and should work on all systems.  The fix
is simply to use "long" for values passed to X windows
system routines.  This is done via a combination of casts
or local variables depending upon the situation.  The use
of "long" for gx_color_index was the default prior to the
8.0 release.  The X windows device does not need the extra
size for color values.

[src/gdevx.c]

2003-01-19T23:04:24.000000Z Igor Melichev

Fix (pdfwrite) : Improving a comment about ashow, awidthshow.

DETAILS:

This patch does not change any behavior.

[src/gdevpdtc.c]

2003-01-19T19:59:19.000000Z Igor Melichev

Fix (pdfwrite) : With CID fonts 'show' set up cache devive and
inconsistently skipped any rendering to it. It must not set up cache device.
Thanks to Toshia Suzuki for spotting the problem.

DETAILS:

This problem was not tested with comparefiles.
Requesting to add a new test showopsH.ps from Toshia Suzuki.

[src/gdevpdtt.c]

2003-01-19T18:17:47.000000Z Igor Melichev

Fix (Dropout prevention) : Returning the gx_adjust_if_empty hack
for cases when dropout prevention is not applied. It was removed erroneously.

DETAILS:

This patch changes a disabled code only.

Debugged with -r72 with smdf.90441.102.pdf, test2.pdf .

[src/gxfill.c]

2003-01-19T10:17:31.000000Z Russell Lang

Within the display device, correctly allocate the memory device
with the correct structure descriptor.

DETAILS:
The display device was allocating a memory device by taking a
memory device prototype from gdev_mem_device_for_bits and then
using gs_copydevice on it.  This allocates the wrong size
because the prototype does not have a structure descriptor.  The
correct way is to allocate it with gs_alloc_struct with
st_device_memory as an argument.  This bug was found when using
the display device in GhostPCL, which was complaining on
shutdown about the unfreed structure descriptors left behind by
gs_copydevice.

[src/gdevdsp.c]

2003-01-18T09:52:46.000000Z Igor Melichev

Fix (pdfwrite) : When pdfwrite text buffer overflows, it wrote an
extra text positioning command with wrong arguments.

DETAILS:

See comment in code.

Source Forge bug "[ 667271 ] text position scrambled".

This patch causes 2 progressions with pdfwrite :
comparefiles\Altona.Page_3.2002-09-27.pdf
comparefiles\Testform.v1.0.2.pdf

[src/gdevpdts.c]

2003-01-17T17:32:58.000000Z Igor Melichev

Fix (Type 42 interpreter) : Providing a tolerance to bytecode segmentation with sfnts string.

DETAILS:

Source Forge bug "[ 667362 ] /rangecheck in --.type42execchar--", Customer #411.

According to Type 42 specifications, the segmentation is not allowed.
Perhaps the test file has it. IMO it is easier to fix than to prove to the customer.

This slightly changes the interface function gs_type42_data::string_proc .
See comments in code.

By the way, added a check for absenting vmtx/hmtx (gstype42.c ln 530).
The old code was not safe.

[src/zfcid1.c src/gstype42.c src/zfont42.c src/ifont42.h]

2003-01-16T21:36:55.000000Z Igor Melichev

Fix (Free Type bridge) : A new revision with MetricsCount handling.

DETAILS:

This patch has no effect for regular GS build (with no Free Type).

[src/write_t1.c src/write_t2.c src/int.mak src/fapi_ft.c]

2003-01-16T18:49:31.000000Z Ray Johnston

Add a message for filters (such as JBIG2Decode) that we can't handle and
continue processing the file as much as we can without the problem data.
This is related to SourceForge bug #668580.

DETAILS:

The Repaired flag is preserved across the 'pdfformaterror' calls so that
we don't squawk about the Creator of the PDF (its our fault, not theirs).

Also a special utility filter was created to /.EOFDecode that gives an
immediate EOF without consuming any data from its input.

[src/zfilter.c lib/pdf_base.ps]

2003-01-16T18:29:41.000000Z Ray Johnston

Restructure the PDF top level processing (runpdf) to factor out a 'begin',
'do', and 'end' procedures. These can be used by clients to open a PDF
then access information from the PDF interpreter dictionaries about the
document or pages prior to actually processing pages with 'dopdfpages'.

DETAILS:

This will allow information to be accessed such as Dests, Names and Annots.
For example, to get the Names info, use:

  (somefile.pdf) (r) file runpdfbegin
  Trailer /Root oget /Names knownoget

Similarly, Annotations for a page (page 3 in the example below) can be
accessed using:

  (somefile.pdf) (r) file runpdfbegin
  3 pdffindpage /Resources oget /Annots knownoget {
    % process Annots
  } if

[lib/pdf_main.ps]

2003-01-16T16:25:49.000000Z Igor Melichev

Fix (New Type 1 hinter) : A bug computing a stem width.

DETAILS:

This patch changes a disabled code only.

Also fixing a bug in debug drawing the imported outline,
and disabling it by default.
Debugged with comparefiles/455690.pdf .

[src/gxhintn.c]

2003-01-16T15:20:52.000000Z Igor Melichev

Fix (Dropout prevention) : Sometimes active lines were not ordered,
causing a dropout.

DETAILS:

This patch changes a disabled code only.

The filling algorithm consider 2 cases :
when an Y-gap contains pixel centers and when it doesn't.
The old algorithm used a trick for better performance,
which skips the line ordering for the case of no pixel centers.
Perhaps the order is important for dropout prevention.
Disabling the trick when dropout prevention is on.

Here are some files which are sensitive to it with 72 dpi
and with the new hinter :

000040cf.000_60.pdf
017-01.ps
159.pdf
268-10.ps
281-01.ps
86554321.pdf
acrobat.pdf
(39 files total).

[src/gxfill.c]

2003-01-16T12:59:40.000000Z Igor Melichev

Fix (New type 1 hinter) : Removing hint complexes and fixing bugs.

DETAILS:

This patch changes a disabled code only.
1. An optimization : hint complexes are replaced with hint_range.
   The old code was overcomplicated.
2. A bug in t1_hinter__compute_type1_stem_ranges -
   an extra pole was added at range end.
3. A bug in t1_hinter__align_stem_poles -
   Some offcurve poles were erroneously grid fitted with a wrong hint.

This change causes multiple differences in hinted outlines,
almost all files render few differently.

[src/gxhintn.c src/gxhintn.h]

2003-01-16T10:37:02.000000Z Igor Melichev

Fix (New type 1 hinter) : A bug in t1_hinter__interpolate_other_poles.

DETAILS:

This patch changes a disabled code only.

The old implementation missed some outline extremes,
and the interpolation was wrong. This change causes multiple
differences in hinted outlines, almost all files render differently.

[src/gxhintn.c]

2003-01-15T18:20:40.000000Z Raph Levien

Fix: Correctly initialize private cmyk_cs as returned from
gx_concrete_space_CIE(). Fixes SF bug #667322.

[src/gscscie.c]

2003-01-15T16:32:57.000000Z Igor Melichev

Fix (New type 1 hinter) : A bug calling the hinter.

DETAILS:

This patch changes a disabled code only.

[src/gstype1.c]

2003-01-15T08:12:59.000000Z Dan Coby

Modifies pick_cell_size to make a more accurate, and less round-off
error dependent, selection of screen cell size.

DETAILS

The prior code in pick_cell_size used an unusual metric for
measuring the "closeness of fit" of an actual screen cell to the
requested frequency and angle. If the angle variation was 0 (quite
likely for the common 0/45/90 degree angles), the frequency
variation was ignored. In addition, this metric was very sensitive
to floating-point arithmetic round-off errors. The new metric is
both more reasonable and less round-off error dependent.

[src/gshtscr.c]

2003-01-14T19:09:55.000000Z Jack Moffitt

Add src/gxdtfill.h to whitelist for double inclusion protection test.

[toolbin/tests/check_source.py]

2003-01-14T19:06:51.000000Z Jack Moffitt

Fix timezone information for CVS timestamps.

[toolbin/tests/run_nightly]

2003-01-14T12:10:50.000000Z Igor Melichev

Fix (New type 1 hinter) : Removing unused variables.

DETAILS:

This patch changes a disabled code only.

[src/gstype1.c]

2003-01-14T11:51:15.000000Z Igor Melichev

New type 1 hinter : Round glyph origin to integral pixels.

DETAILS:

This patch changes a disabled code only.

See comment in code.

[src/gxhintn.c]

2003-01-14T08:00:13.000000Z Igor Melichev

New type 1 hinter : Implementing the type 1 flex feature.

DETAILS:

This patch changes a disabled code only.

Debugged with comparefiles/chess.ps with -r72  and -r30 (sic!).

[src/gstype1.c src/gxhintn.c src/gxhintn.h]

2003-01-14T00:01:22.000000Z Jack Moffitt

Added documentation about new configuration mechanisms in the testing
framework.

[doc/Testing.htm]

2003-01-13T23:43:45.000000Z Jack Moffitt

Convert configuration options to use a configuration file, and move
config options from run_nightly into the normal config framework.

Also, add regression checkpoint time to the daily report.  Fixes
SF #657178.

[toolbin/tests/gscheck_raster.py toolbin/tests/update_pdfbaseline toolbin/tests/gstestutils.py toolbin/tests/make_testdb toolbin/tests/update_baseline toolbin/tests/gssum.py toolbin/tests/gscheck_all.py toolbin/tests/make_two_pdfversions toolbin/tests/gstestgs.py toolbin/tests/make_two_versions toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/run_nightly toolbin/tests/gscheck_pdfwrite.py toolbin/tests/revert_pdfbaseline toolbin/tests/run_regression toolbin/tests/testing.cfg.example toolbin/tests/gsconf.py toolbin/tests/revert_baseline]

2003-01-13T11:03:16.000000Z Igor Melichev

Fix (New type 1 hinter) : A bug in complex_link.

DETAILS:

This patch changes a disabled code only.

[src/gxhintn.c src/gxhintn.h]

2003-01-12T19:58:11.000000Z Igor Melichev

New type 1 hinter : Implementing alpha bits, and fixing bugs.

DETAILS:

This patch changes a disabled code only.

Changes :

1. A bug in t1_hinter__drop_hints;
2. A bug in t1_hinter__can_add_pole;
3. Rename initialization routines;
4. Align to pixels rather than to subpixels;
5. Dynamic allocation of stem_snap.

[src/gstype1.c src/gstype2.c src/gxhintn.c src/gxhintn.h]

2003-01-12T19:55:50.000000Z Igor Melichev

Fix (dropout prevention) : wrong number of alphs bits was
passed to dev_proc(dev, copy_alpha).

DETAILS:

This patch changes a disabled code only.

See also "Correctly compute depth for cached character images",
Fri, 3 Jan 2003 08:39:33 -0800,
http://www.ghostscript.com/pipermail/gs-cvs/2003-January/002751.html

[src/gxccache.c]

2003-01-12T12:03:23.000000Z Igor Melichev

Fix (New type 1 hinter) : A bug in t1_hinter__hint_mask .

DETAILS:

This patch changes a disabled code only.

[src/gxhintn.c]

2003-01-11T19:21:29.000000Z Igor Melichev

New type 1 hinter : Fixing gcc compiler errors.

DETAILS:

This patch changes a disabled code only.

[src/gstype2.c src/gxhintn.c src/gxhintn.h src/gxfont1.h]

2003-01-11T18:47:43.000000Z Igor Melichev

zchar1.c revision 1.23 appears wrong (an inaccurate type cast, compiler warnings).
Unwinding the patch.

[src/zchar1.c]

2003-01-11T18:26:20.000000Z Igor Melichev

New type 1 hinter : Fixing types for import function prototypes.

DETAILS:

This patch doesn't change any behavior.

In import functions prototypes 't1_glyph_space_coord'
was erroneously used instead 'fixed'.

[src/gxhintn.c src/gxhintn.h]

2003-01-11T18:20:08.000000Z Igor Melichev

New type 1 hinter : Enable the grid fitting separately for X and Y.

DETAILS:

With NEW_TYPE1_HINTER = 0 the new code must be equivalent to old one.

We disable grid fitting if an axis is too sloped
(if tan(angle) > 1/10 ).

[src/gxhintn.c src/gxhintn.h]

2003-01-11T17:46:36.000000Z Igor Melichev

Removing redundant code from zchar1.c .

DETAILS:

This is completion for the patch
"Reducing the C stack consumption in ztype1execchar".

The new code must be equivalent to the old one.

[src/zchar1.c]

2003-01-11T15:55:08.000000Z Igor Melichev

New type 1 hinter : Attaching it to type 2 interpreter.
With NEW_TYPE1_HINTER = 0 the new code must be equivalent to old one.

DETAILS:

1. Attaching the new hinter to gstype2.c .
2. Reorganizing the nationalization of the new hinter for better performance.
3. Adding vdtrace instructions for drawing the hinter import on-fly.
4. Implementing alignment priorities. It improves quality for comparefiles/dave.pdf,
   and makes the alignment logics some simpler.
3. Fixing a bug about the trailing moveto. Fonts with no Metrics
   got a wrong advance width.

[src/lib.mak src/gstype1.c src/gstype2.c src/gxhintn.c src/gxhintn.h]

2003-01-11T14:20:46.000000Z Igor Melichev

Fix: A bag in the visual trace implementation.

[src/dwtrace.c]

2003-01-11T04:39:41.000000Z Ralph Giles

Revert changes accidentally included in the last commit.

[toolbin/tests/fuzzy.c]

2003-01-11T04:38:03.000000Z Ralph Giles

Revert to the default gcc (3.1) on MacOS X. We had switched to 2.95 to
work around a bug in Apple's first shipped gcc3. The issue has been resolved
in the December 2002 Apple Developer Tools release.

[toolbin/tests/fuzzy.c]

2003-01-11T04:27:41.000000Z Ralph Giles

Revert to the default gcc (3.1) on MacOS X. We had switched to 2.95 to
work around a bug in Apple's first shipped gcc3. The issue has been resolved
in the December 2002 Apple Developer Tools release.

[src/macosx.mak]

2003-01-10T08:17:21.000000Z Igor Melichev

Reducing the C stack consumption in ztype1execchar.
The new code must be equivalent to the old one.

DETAILS:

The new type 1 hinter (with NEW_TYPE1_HINTER = 1 in gx.h)
puts more 11K of data to C stack. Perhaps due to a recursion
in bbox_draw 2 instances of the hinter were placed in C stack
simultaneously, causing C stack overflow with gswin32c.exe on
Windows NT 4.0 (but not on Windows 2000).

Perhaps the recursion is not necessary.
Reorganizing the sequence of calls to avoid the recursion.
New argument 'exec_cont' was added to several
functions for transferring the call request to clients.
Corresponding comments are added in code.

Also z1_glyph_info prototype was added in ichar1.h .
It was missed a long time ago, Cygwin/gcc warned.

A further improvement may be done with factoring out
a common code from bbox_finish_fill, bbox_finish_stroke,
bbox_fill, bbox_stroke. Delaying it until a regression testing.

[src/ichar1.h src/zchar42.c src/zcharout.c src/icharout.h src/zchar1.c src/zfapi.c]

2003-01-10T00:56:16.000000Z Jack Moffitt

Allow tests to run without modifying the daily tracking database.
run_regression now takes the --track option to create and update daily
tracking databases, and runs normally otherwise.

[toolbin/tests/gscheck_raster.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/run_nightly toolbin/tests/run_regression]

2003-01-09T23:58:55.000000Z Jack Moffitt

Small formatting improvement.

[toolbin/tests/gstestutils.py]

2003-01-09T22:49:06.000000Z Jack Moffitt

Factor out gscheck_raster.py from run_regression.

[toolbin/tests/gscheck_raster.py toolbin/tests/run_regression toolbin/tests/gscheck_all.py toolbin/tests/gstestgs.py]

2003-01-09T22:39:31.000000Z Jack Moffitt

Fixes another Python 2.2 compatibility error.

[toolbin/tests/gstestutils.py]

2003-01-09T21:35:30.000000Z Jack Moffitt

Fixes check for exception instances by using isinstance() instead of
issubclass().  This is required for Python 2.2 compatibility.

[toolbin/tests/gstestutils.py]

2003-01-09T21:33:11.000000Z Jack Moffitt

Increase maximum memory restrictions on Ghostscript for regression tests.

[toolbin/tests/gstestgs.py]

2003-01-09T21:12:07.000000Z Ralph Giles

Include libz in the autoconf test for libpng.

DETAILS:

This is a fix for systems without interlibrary dependencies. We don't use
the LIBS variable constructed by default by the AC_CHECK_LIB macro and
did not maintain it in our previous zlib test, thus -lz was not included
on the link line in the libpng test.

Our primary test systems for the autoconf build (Debian GNU/Linux and MacOS X + fink)
include an interlibrary dependency, so this did not cause a problem. On
systems where this is not the case, it results in a confusing error.

Patch from Peter Breitenlohner.

[src/configure.ac]

2003-01-09T04:33:17.000000Z Ralph Giles

Correct warnings in the display device. Removes two unused declarations
and marks a local function private. After a patch by Peter Breitenlohner.

[src/gdevdsp.c]

2003-01-09T04:31:31.000000Z Ralph Giles

Add a missing header file.

DETAILS:

This corrects a missing prototype warning for gs_get_colorname_string,
declared in zht2.h. iname.h was also added to the dependencies for zht2.c.
After a patch by Peter Breitenlohner.

[src/int.mak src/zht2.c]

2003-01-08T21:39:16.000000Z Ralph Giles

Correct a nesting error in the libpng detection code.

DETAILS:

This does not change actually behavior, because of the way M4 works,
the literal loop end was just interchanged with the implicit one from
the AC_CHECK_LIB() macro with no code inbetween, which is why the mistake
went undetected.

Thanks to Peter Breitenlohner for catching this.

[src/configure.ac]

2003-01-08T16:57:14.000000Z Igor Melichev

New type 1 hinter : Implementing dynamic array allocation;
Skipping degenerate path segments; Renaming configuration flags.
This patch changes a disabled code only.

[src/gstype1.c src/gxhintn.c src/gxtype1.c src/gxhintn.h]

2003-01-08T16:44:16.000000Z Igor Melichev

Dropout prevention : Self-intersections must not contribute peaks.
Also removed the LOOP_FILL_TRAPEZOID_FIXED macro.
This patch must not change any behavior.

[src/gxdtfill.h src/gxfill.c src/gdevddrw.c src/gdevddrw.h]

2003-01-08T05:39:36.000000Z Dan Coby

1.  Added documentation for the PSD, XCF, and spotcmyk devices.
2.  Corrected various minor spelling problems.

[doc/Devices.htm]

2003-01-08T02:51:11.000000Z Ralph Giles

Add source files for the new type 1 hinter to the index in the developer documentation.

[doc/Develop.htm]

2003-01-07T17:54:01.000000Z Igor Melichev

Dropout prevention : (1) Replace the horizontal line processing.
(2) Returning the hack about horizontal lines for non-character fills.
This patch changes a disabled code only.

DETAILS:

With the old type 1 hinter, hinted outlines get
self-intersections at small resolution. It's a problem
of the old hinter. Perhaps it discovered a defect
in horizontal line handling.

With self-intersections, the side of spot interior
may be different for different parts of same line.
This patch completely replaces the handling of
horizontal lines. It maintains 2 lists of
horizontal lines, which correspond to y and y1
in fill_loop_by_trapezoids. Then we intersect those
lines with margins and add corresponding segments
of boundaries separately for each part delimited
with an intersection.

The
     "* This is a hack to make sure that isolated horizontal
      * lines get stroked."
was erroneously disabled for non-character fills,
causing a regression with QA_Inv.pdf .
Restoring it now, except for characters.

This patch removes the contour area computation,
which was introduced in revision 1.19 .

[src/gxfill.c]

2003-01-07T16:32:36.000000Z Igor Melichev

fuzzy.c : Add writing the fuzzy difference to PPM or BMP file.

DETAILS:

Additional (optional) argument added to specify the result file path.
We did not take care about compression.

BMP files usually store image upside down.
Rather negative BITMAPINFOHEADER::biHeight specify "upside up"
representation, Windows Paint cannot handle it.
Therefore we write BMP file in reverse order.

[toolbin/tests/fuzzy.c]

2003-01-06T23:37:58.000000Z Ralph Giles

Add standard license banners to some macos-specific header files.

[src/gdevmacttf.h src/gdevmacpictop.h]

2003-01-06T23:31:56.000000Z Ralph Giles

Add standard copyright banner and RCS id line.

DETAILS:

This change is made with the contributor's permission. His verification is recorded here:

    http://www.ghostscript.com/pipermail/gs-devel/2003-January/002326.html

Thanks to Brett Smith at the FSF for pointing out the non-standard header.

[src/vms_x_fix.h]

2003-01-06T19:57:39.000000Z Igor Melichev

Dropout prevention : A better marking of margin interior.
This patch changes a disabled code only.

[src/gxfill.c]

2003-01-06T17:43:39.000000Z Igor Melichev

Initial commit for a new type 1 hinter.
This patch must not change any behavior.

DETAILS:

This is a porting from HINTER branch.

The old hinter cannot handle overlapping hints,
but real fonts do use them.

The handling of overlapped hints cannot be done within
a single-pass algorithm. Therefore we intend to replace entire thing.
Besides, it should fix a set of known problems :

- stem degradation at small resolutions;
- stem missing or misrecognition;
- proper adjustment of dependent stems;
- suppress overshoots closer to Adobe;

This patch introduces a couple of new macros,
which will be removed later.

For switching to the new hinter, change the definition of
NEW_TYPE1_HINTER in gx.h . It is not well debugged yet.

New files added : gxhintn.c, gxhintn.h .

[src/lib.mak src/gstype1.c src/gxhintn.c src/gx.h src/gxhintn.h src/gxtype1.h]

2003-01-06T17:00:06.000000Z Igor Melichev

Dropout prevention : Removing unused variables.
This patch changes a disabled code only.

[src/gxfill.c]

2003-01-05T21:13:00.000000Z Igor Melichev

Dropout prevention : A bug in continue_margin_common.
This patch changes a disabled code only.

[src/gxfill.c]

2003-01-05T20:48:15.000000Z Igor Melichev

Dropout prevention : Better compute the spot contiguity,
and improve the peak cut-off.
This patch changes a disabled code only.

[src/gxdtfill.h src/gxfill.c]

2003-01-05T17:29:45.000000Z Igor Melichev

Dropout prevention : Computing a contour area with fixed point arithmetics.
This patch changes a disabled code only.

DETAILS:

For debugging enable both CONTOUR_AREA_WITH_FIXED_POINT and
CONTOUR_AREA_WITH_FLOATING_POINT.

[src/gxfill.c]

2003-01-04T16:37:57.000000Z Igor Melichev

Dropout prevention : Improving the predicate about adding horizontal lines to Y list.
This patch changes a disabled code only.

DETAILS:

The predicate was inaccurately duplicated.

[src/gxfill.c]

2003-01-04T15:04:59.000000Z Igor Melichev

Dropout prevention : (1) Fixing a problem with improper contour direction
in some (wrong) fonts. (2) Improving the CHECK_SPOT_CONTIGUITY feature.
This patch changes a disabled code only.

DETAILS:

See comment in code about (1).

[src/gxfill.c]

2003-01-03T17:34:58.000000Z Igor Melichev

Dropout prevention : Adding a serif adjustment.
This patch changes disabled code only.

DETAILS:

See big comment in code.

[src/gxfill.c]

2003-01-03T17:29:48.000000Z Igor Melichev

Dropout prevention : Correctly compute depth for cached character images.

[src/gxccman.c]

2003-01-02T18:11:01.000000Z Igor Melichev

Fix (gswin32) : Improving the image window title for debug technology.

[src/dwimg.c]

2003-01-01T06:55:34.000000Z Ray Johnston

Revert previous commit. This version is now back to the same as 1.22.

[lib/gs_lev2.ps]

2002-12-31T23:08:13.000000Z Ray Johnston

Handle copying arrays (and their composite elements that are in VM) to
global VM when processing the ***params functions such as currentuserparams
Fixes SourceForge #647685 that impacted .setsafe usage.

[lib/gs_lev2.ps]

2002-12-31T19:52:17.000000Z Ralph Giles

Add new dropout prevention source files to the documentation.

[doc/Develop.htm]

2002-12-30T22:31:07.000000Z Igor Melichev

Fix (dropout prevention) : A bug in store_margin.
This patch changes disabled code only.

[src/gxfill.c]

2002-12-30T19:21:25.000000Z Igor Melichev

Fix (dropout prevention) : Direction of horizontal lines was computed wrongly.

DETAILS:

This patch changes disabled code only.
Debugged with character 's' in the 1st page of 033-52-5873.pdf .

[src/gxfill.c]

2002-12-30T18:24:28.000000Z Igor Melichev

Fix (FAPI) : Don't try to get a glyph name for CID fonts.
Thanks for Graham Asher for spotting it.
DETAILS:

It was an inaccurate coding. I'm sorry.

[src/zfapi.c]

2002-12-30T05:51:05.000000Z Ray Johnston

Reduce state.width delta radius calculation for shadings that was made too
large by the previous commit.

DETAILS:
Previous commit mistakenly included the state.dr value as both the X and
Y component in the distance transform that produced the dev_dr vector.
The hypot is actually all that is required to handle getting the correct
scaled radius distance independent of the CTM rotation.

The use of state.dr for both X and Y preceded the use of hypot on dev_dr
and wasn't taken out when the hypot function use was added.

This should eliminate most, if not all regressions caused by the 12/24
1.18 patch to this module.

[src/gxshade1.c]

2002-12-29T19:42:29.000000Z Igor Melichev

Fix (Type 1 interpreter) : setcurrentpoint missed the vstem3 shift.

DETAILS:

Detected with character 'm' in -r150 comparefiles/NIL_0003.pdf .

The missed vs_offset erroneously shifted a part of path coordinates
relatively to stem hint coordinates so that stems could not recognize.
The character rendered unhinted.

This patch causes differences in character rendering.
Regression test on Windows detects a difference with
-r300 comparefiles/NIL_0003.pdf only, which looks unimportant.

[src/gstype1.c]

2002-12-28T12:35:52.000000Z Igor Melichev

Improving the dropout prevention algorithm
This patch changes disabled code only.

DETAILS:

In zchar42.c I set path adjustment to zero.
It is the correct value with dropout prevention.

The last revision of dropout prevention algorithm
appears buggy : the order of margins in margin_list
can be wrong and causes dropouts. This is essentially
important with CJK True Types, which have thing horizontal
stems and no hinting with GS.

This revision replaces the representation of margins
with a simpler one. It is not optimized for bold
characters, perhaps the optimization is not hard.
See comment in code about "bold".

A good advantage is the removal of insert_pseudo_margin.
It appears done due to insufficient knowledge of the old algorithm.

[src/zchar42.c src/gxfill.c]

2002-12-26T11:26:07.000000Z Igor Melichev

Fix : fuzzy.c wrongly compared images.

DETAILS:

It didn't compare w/2 rows near the upper edge of the image.
MSVC release build compared an uninitialized data instead them.

[toolbin/tests/fuzzy.c]

2002-12-24T19:00:19.000000Z Ray Johnston

Radial shading did not work if the CTM was rotated (mat.xx == mat.yy ==0).

DETAILS:

The state.width calculation would end up 0 if the circles were concentric
and the CTM was rotated. Revised calculation should work even for other
non-orthogonal CTMs. File added to the regression suite.
Fixes SF bug #658286 for Artifex customer #190.

[src/gxshade1.c]

2002-12-24T14:20:15.000000Z Igor Melichev

Improving and optimizing the dropout prevention algorithm
with splitting gx_default_fill_parallelogram into 2 variants.

DETAILS:

This patch almost changes a disabled code.
A simple reorganization of some enabled code should not
cause a behavior difference.

Filling a "small" character, we always subdivide trapezoids into
rectangles instead passing them to device virtual function.
It allows :

1. Not passing narrow trapezoids to applications
which implement fill_trapezoid with own means;
Narrow trapezoids could cause dropouts in there.

2. Optimize variants of fill_trapezoid algorithm which
are used for different purposes (preventing about 10% slowdown
with shadings).

We believe this change isn't harmful because
regularly we render small characters to cache device,
which simply forwards trapezoids to default implementation.
Alternatively we could insert a check for narrow trapezoids
into loop_fill_trap, but such check appears complex and
it would sensibly reduce performance.

New files added : gdevddrw.h, gxdtfill.h .
Change to lib.mak accounts them.

Besides that, with dropout prevention we now skip empty paths
in characters, because Adobe doesn't paint them.

[src/lib.mak src/gxdtfill.h src/gxfill.c src/gdevddrw.c src/gdevddrw.h]

2002-12-23T18:17:47.000000Z Igor Melichev

Fix : Fixing a typo in comment.

[src/gxfill.c]

2002-12-23T12:27:42.000000Z Igor Melichev

Initial commit for the dropout prevention code in rasterizer.
It doesn't not change any behavior.

DETAILS:

Switching to new code is being controlled with DROPOUT_PREVENTION
macro defined in gx.h . Now it is set to "use old code".

This patch :
1. Ports the "margin" algorithm from HINTER branch.
   Now the algorithm renamed to "pseudo-rasterization".

2. Ports the dropout prevention to gx_default_fill_trapezoid from HINTER branch,
   providing a contiguous fill for slightly slanted trapezoids.

3. Adds CONNECT_RECTANGLES into gx_default_fill_trapezoid
   providing a contiguous fill for highly slanted trapezoids.

4. Fixes some problems in the "pseudo-rasterization".

5. Disables all hacks about path adjustment and oversampling
   when DROPOUT_PREVENTION is on. Those hacks were attempts
   to fix dropouts for small characters, but they do not solve
   the problem completely.

6. Provide visual trace instructions for debugging purpose.

Changes to gxpcopy.c and gxpflat.c only insert visual trace instructions for
debugging purpose. Currently all them compile to empty code.

Changes to gdevddrw.c, gxchar.c, gxtype1.c, gx.h
are protected with DROPOUT_PREVENTION. With current settings they
compile to old code.

Changes to gxfill.c are not so obvious. I was unhappy with duplicating
a thousand of lines in #if...#else...#endif. Therefore
I've inserted some dynamic checks. They are controlled with
'pseudo_rasterization' flag. Currently it always false,
so that inserted sections are either bypassed or immediately
return from subroutines.

Changes to lib.mak only add some dependences on vdtrace.h .

In local testing the patch caused no difference with
Comparefiles (if DROPOUT_PREVENTION is 0).

If someone wants to try new code, DROPOUT_PREVENTION to be modified in gx.h .
In this case all old hacks about path adjustment are disabled,
and therefore characters render some lighter.
Visual trace may be activated with -Tf option in gs command line.
Note that it paints a big draft for any character rendered,
so you should run only simple PS files with a single character.
Also the draft scale is hardcoded in VD_SCALE constants,
so it may give an unuseful result with big character rasters.
At last please remember that visual trace window is implemented
only for Windows - other platforms will not paint anything.
The visual trace window does not implement a regeneration of painting,
therefore windows must not overlap. Run gswin32.exe with no file,
move windows and then perform 'quit' to store window layout to system Registry.

here is a simple test, which visualize improvements when
DROPOUT_PREVENTION is on :

	%!
	100 350 moveto
	/Courier findfont 2 scalefont [5 0 0 1 0 0] makefont setfont
	(/) show
	showpage

With 72dpi the old code paints nothing.
The (DROPOUT_PREVENTION=1) paints a spot.

Testing the new code with -r300 001.01.ps, the box 001-12 renders better :
no dropouts in "4", characters look better.

In gx.h I've added FILL_TRAP_WITH_SWAPPED_AXES flag. The goal is to archive
and document a dead branch of the development. I'd like to store it into
archive and then remove it in the next revision.

Two temporary configuration switches added for benchmarking purpose :

- PSEUDO_RASTERIZATION in gxfill.c disables the pseudo-rasterization
  separately from other changes.

- CONTIGUOUS_FILL disables additional checks in gdevddrw.c
  separately from other changes.

With text documents performance change is almost invisible.
With Coons01.ps each of these flags give a 10% slowdown.
I guess the reason is that the code becomes too complex for
global optimization with MSVC 6.0 for Intel Pentium 3.
Other compilers/processors may give different results.

Thanks to Ray Johnston and Raph Levien for useful remarks.
This patch accounts them.

[src/gxfill.c]

2002-12-23T10:59:38.000000Z Igor Melichev

Fix (pdfwrite) : Removing a rudiment about writing /Name to font resources.
It is not longer useful since revision 1.50 of lib/pdf_font.ps .

[src/gdevpdtw.c]

2002-12-20T17:17:32.000000Z Ray Johnston

Accumulate CVS log instead of only having one night's worth of change info.
It used to work that way but that "feature" got dropped inadvertently.

[toolbin/tests/run_nightly]

2002-12-20T11:39:10.000000Z Igor Melichev

Initial commit for the dropout prevention code in rasterizer.
It doesn't not change any behavior.

DETAILS:

Switching to new code is being controlled with DROPOUT_PREVENTION
macro defined in gx.h . Now it is set to "use old code".

This patch :
1. Ports the "margin" algorithm from HINTER branch.
   Now the algorithm renamed to "pseudo-rasterization".

2. Ports the dropout prevention to gx_default_fill_trapezoid from HINTER branch,
   providing a contiguous fill for slightly slanted trapezoids.

3. Adds CONNECT_RECTANGLES into gx_default_fill_trapezoid
   providing a contiguous fill for highly slanted trapezoids.

4. Fixes some problems in the "pseudo-rasterization".

5. Disables all hacks about path adjustment and oversampling
   when DROPOUT_PREVENTION is on. Those hacks were attempts
   to fix dropouts for small characters, but they do not solve
   the problem completely.

6. Provide visual trace instructions for debugging purpose.

Changes to gxpcopy.c and gxpflat.c only insert visual trace instructions for
debugging purpose. Currently all them compile to empty code.

Changes to gdevddrw.c, gxchar.c, gxtype1.c, gx.h
are protected with DROPOUT_PREVENTION. With current settings they
compile to old code.

Changes to gxfill.c are not so obvious. I was unhappy with duplicating
a thousand of lines in #if...#else...#endif. Therefore
I've inserted some dynamic checks. They are controlled with
'pseudo_rasterization' flag. Currently it always false,
so that inserted sections are either bypassed or immediately
return from subroutines.

Changes to lib.mak only add some dependences on vdtrace.h .

In local testing the patch caused no difference with
Comparefiles (if DROPOUT_PREVENTION is 0).

If someone wants to try new code, DROPOUT_PREVENTION to be modified in gx.h .
In this case all old hacks about path adjustment are disabled,
and therefore characters render some lighter.
Visual trace may be activated with -Tf option in gs command line.
Note that it paints a big draft for any character rendered,
so you should run only simple PS files with a single character.
Also the draft scale is hardcoded in VD_SCALE constants,
so it may give an unuseful result with big character rasters.
At last please remember that visual trace window is implemented
only for Windows - other platforms will not paint anything.
The visual trace window does not implement a regeneration of painting,
therefore windows must not overlap. Run gswin32.exe with no file,
move windows and then perform 'quit' to store window layout to system Registry.

here is a simple test, which visualize improvements when
DROPOUT_PREVENTION is on :

	%!
	100 350 moveto
	/Courier findfont 2 scalefont [5 0 0 1 0 0] makefont setfont
	(/) show
	showpage

With 72dpi the old code paints nothing.
The (DROPOUT_PREVENTION=1) paints a spot.

Testing the new code with -r300 001.01.ps, the box 001-12 renders better :
no dropouts in "4", characters look better.

In gx.h I've added FILL_TRAP_WITH_SWAPPED_AXES flag. The goal is to archive
and document a dead branch of the development. I'd like to store it into
archive and then remove it in the next revision.

Two temporary configuration switches added for benchmarking purpose :

- PSEUDO_RASTERIZATION in gxfill.c disables the pseudo-rasterization
  separately from other changes.

- CONTIGUOUS_FILL disables additional checks in gdevddrw.c
  separately from other changes.

With text documents performance change is almost invisible.
With Coons01.ps each of these flags give a 10% slowdown.
I guess the reason is that the code becomes too complex for
global optimization with MSVC 6.0 for Intel Pentium 3.
Other compilers/processors may give different results.

Thanks to Ray Johnston and Raph Levien for useful remarks.
This patch accounts them.

[src/lib.mak src/gxchar.c src/gxtype1.c src/gx.h src/gxpflat.c src/gdevddrw.c src/gxpcopy.c]

2002-12-19T20:44:51.000000Z Igor Melichev

More optimizations are enabled with MSVC_VERSION != 5.
Using them MSVC 6.0 creates 1.5 times faster code.
Thanks to Russell Lang and to Pierre Arnaud.

[src/msvccmd.mak]

2002-12-19T09:27:03.000000Z Russell Lang

Prevent the bbox put_params from using the color mapping
functions before the device is opened.
Fixes Sourceforge bug #645531 "seg fault: bbox device + PAPERSIZE".

DETAILS:
Using "-sPAPERSIZE=a4 -sDEVICE=bbox" crashes in GS 8 when the
device parameters are being set prior to opening the bbox device.
bbox_put_params calls bbox_copy_params, gx_device_black
then the bbox encode_color which is NULL.
This is wrong because encode_color must not be called before
the device is open.  See doc/Drivers.htm#Life_cycle for details.
Prior to the DeviceN changes this did not matter because
the map_rgb_color function was valid.  Post DeviceN the
encode_color procedure is called and this is NULL until
just before the bbox device is opened.

The fix prevents bbox_copy_params from calling the
encode_color procedure while the device is closed.

[src/gdevbbox.c]

2002-12-18T17:30:10.000000Z Alex Cherepanov

Following MS Windows practice "Ok" is changed to "OK" in dialog controls.
Fixes SourceForge bug #655623 '"Ok" should be "OK"'

[src/gsdll32.rc src/gswin32.rc]

2002-12-18T13:59:36.000000Z Igor Melichev

Fix : Improving the portability of the vd_trace interface.

[src/vdtrace.h]

2002-12-17T18:24:16.000000Z Jack Moffitt

Update test scripts to omit -rXXX parameter for pdfwrite, instead of using
-r720 explicitly, so that it uses the default behavior.

[toolbin/tests/update_pdfbaseline toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/make_testdb toolbin/tests/gscheck_pdfwrite.py toolbin/tests/revert_pdfbaseline toolbin/tests/gstestgs.py]

2002-12-17T17:54:09.000000Z Jack Moffitt

Always run pdfwrite with the default resolution of 720, since that is the
common use case.

[toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/gscheck_pdfwrite.py]

2002-12-16T12:31:46.000000Z Igor Melichev

Fix : Improving the vd_trace interface.

DETAILS:

It is some simplification and optimization.
It doesn't affect the current GS build because vtrace.h is currently never included.

[src/vdtrace.h src/vdtrace.c doc/Lib.htm]

2002-12-15T19:04:58.000000Z Igor Melichev

Fix (pdfwrite) : Text matrix was wrongly computed.
Source Forge bug "[ 651643 ] PS->PDF changes font slant".

DETAILS:

The bug is visible if FontMatrix for a base PS font is slanted
with findfont...copydict...ReplaceFontMatrix...definefont.

I don't know whether we need to canonize FontMatrix embedding a font.
Delaying this until we get more tests which help to choose a right decision.

EXPECTED PROGRESSIONS :

CompareFiles\455690.pdf
CompareFiles\Altona.Page_3.2002-09-27.pdf

[src/gdevpdtt.c]

2002-12-15T13:20:58.000000Z Igor Melichev

Fix (FAPI) : Don't request decodingID for embedded fonts,
because it is only useful for disk fonts.

[src/zfapi.c]

2002-12-14T19:06:07.000000Z Igor Melichev

Fix (pdfwrite) : 'cmap' was written wrongly with subsetted True Type fonts.
Source Forge bug "[ 651148 ] pdfwrite embeds bad font".

[src/gdevpdtb.c]

2002-12-14T00:39:10.000000Z Ralph Giles

Add the display device (for the gsapi client interface) to the default
MacOS build.

[src/macos-mcp.mak]

2002-12-12T01:44:04.000000Z Dan Coby

Fix for [ 652147 ] overprintmode not boolean.  Adobe TN5145 defines
the paramters to/from setoverprintmode/currentoverprintmode as being
boolean.  This change modifies the implementation to match the TN.

DETAILS:

Previously the operators setoverprintmode and currentoverprintmode had
been defined to match the requirements of PDF which uses an integer for
the parameter.  However Adobe TN5145 defines the postscript implementation
as using a boolean value.  This change modifies the definition of these
operators in lib/gs_ll3.ps to convert the parameter type.  The internal
operators .setoverprintmode/.curentoverprintmode still use the PDF integer
parameter.  The postscript code in lib/gs_ll3.ps converts the parameter
type.

[lib/gs_ll3.ps]

2002-12-11T20:31:28.000000Z Ray Johnston

Handle TrueType fonts that contain poorly formatted 'post' tables.
These were seen as font subsets embedded in PDF files.
Fixes SourceForge bug #651164 for customer #150.

DETAILS:

The file contains an embedded TT font subset that has a badly formatted
'post' table. This table is used to replace names in the standard encoding
for specific glyphs. The 'post' table in question maps a bunch of glyphs
that are not part of the subset to the first name in glyphnames section,
but the glyphnames section is empty. It should have at least a single byte
of 0x00 to form a zero length Pascal string.

I also added a warning that prints if the DEBUG is enabled. Since the
'postglyphs' string is automatically extended with a 0x00 byte when the
problem is detected, the warning only prints once for the font.

This file was created by:
	/Producer (OneVision PDF Writer \(Build 05.950\))
	/Creator (Solvero Version 4.5 \(SR 4\))

[lib/gs_ttf.ps]

2002-12-10T17:49:28.000000Z Igor Melichev

Fix (pdfwrite) : Removing erroneous declarations from gdevpdfx.h .

[src/gdevpdfx.h]

2002-12-10T15:18:49.000000Z Ralph Giles

Fix (FAPI) : Rename round() to fapi_round() to avoid shadowing the C99 call of the same name.

DETAILS:

In particular, the redeclaration of round() causes a compiler error under
Apple's gcc (October 2002 Developer Tools, MacOS X 10.2.2). MSVC doesn't
implement the C99 round() and in any case we don't need the full behaviour,
so a private implementation seems the best portable option.

[src/zfapi.c]

2002-12-10T13:52:02.000000Z Igor Melichev

(pdfwrite) : Implementing /PAGELABEL pdfmark.
Code from Joerg Baumann with minor improvements.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdf.c]

2002-12-10T11:33:08.000000Z Igor Melichev

Fix (FAPI) : Correcting the implementation of fapi_round.

[src/zfapi.c]

2002-12-10T08:21:42.000000Z Igor Melichev

Fix (FAPI) : Work around MSVC bug which doesn't define 'round' in math.h .

[src/zfapi.c]

2002-12-09T11:42:03.000000Z Igor Melichev

Fix (FAPI) : Remove dependency on interpreter structures from fapi_ft.c .
Code from Graham Asher.

[src/fapi_ft.c]

2002-12-09T11:05:43.000000Z Igor Melichev

Fix (pdfwrite) : Allow to convert CIEBasedA with non-identity MatrixA to ICCBased.
Source Forge bug "[ 647124 ] gs 8.00 makes a large and slow PDF file".

[src/gdevpdfc.c]

2002-12-08T10:54:52.000000Z Igor Melichev

Changing copyright banner in Free Type bridge modules.

[src/fapi_ft.c]

2002-12-08T10:50:35.000000Z Igor Melichev

Fix (FAPI) : Passing the replaced metrics to renderer.

DETAILS

FAPI client provides replaced metrics data in all cases.

UFST bridge now provides a minimal handling for replaced metrics -
for fonts with MetricsCount only. Other cases require
to implement a new feature to UFST.

Free Type is not fixed with this patch.
Need to implement a new feature in Free Type.

[src/ifapi.h src/fapiufst.c src/fapi_ft.c src/zfapi.c]

2002-12-08T10:40:02.000000Z Igor Melichev

Fix (pdfwrite) : Fixing a spelling in a comment.

[src/gdevpsdi.c]

2002-12-06T19:28:51.000000Z Ralph Giles

Increment version number and date after 8.00 release.

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

2002-12-06T16:02:52.000000Z Igor Melichev

Free Type integration. Code from Graham Asher.

[src/fapi_ft.c]

2002-12-06T08:45:37.000000Z Igor Melichev

Fix (pdfwrite) : Improving documentation about compression choice.

[src/gdevpsdi.c]

2002-12-06T01:11:58.000000Z Alex Cherepanov

Avoid the stack overflow. Don't put all CID values on the
operand stack at once during identity CMap generation.
Fixes SourceForge bug #646809 "/stackoverflow"
DETAILS:
The sample file pushed about 50K numbers to the operand stack
causing /stackoverflow. Since the numbers are always sequential
the new procedure takes a range of numbers. The range is defined
by the initial value and string length.

[lib/gs_ttf.ps]

2002-12-05T23:48:01.000000Z Alex Cherepanov

Work around a common error in PDF files when the length of the xref entry
is nor equal to 20 bytes. Use readline to advance to the next entry instead
of seeking 20 bytes forward.
Fixes SourceForge bug #646809, customer #1060 "/typecheck in --add--" 
Fixes SourceForge bug #641280, customer  #780 "/typecheck in --add--"

[lib/pdf_main.ps]

2002-12-05T00:29:06.000000Z Ray Johnston

Adjust comments to reflect the current status (which FDSelect format can
possibly overflow the operand stack) and add comments to identify which
format corresponds to each procedure.

DETAILS:

A test case that used Format 0 was not available, so no change was made to
avoid large operand stack usage for Format 0, but the previous comment
placement may have left the impression that Format 3 still had the problem.

[lib/gs_cff.ps]

2002-12-04T19:50:47.000000Z Ray Johnston

Handling of OpenType (OTTO) fonts with CFF fonts inside would fail if the
CFF table was not the first table in the table directory. Also stack
overflow could occur when building the FDSelect array. Now Asian fonts
sold by Adobe (as OpenType .otf fonts) can be used with Ghostscript.

DETAILS:

The initial table scanning checked the 32-bit table type against the
(CFF ) string, but then failed to skip the following 12 bytes if the table
was not CFF. Since the initial table is usually BASE, most OTTO fonts were
not usable.

Also the FDSelect array construction used the stack, so could easily
overflow if there was a largest glyph index in the font was too large. The
method used creates a 65535 element array, then fills it using the info
from the font's FDSelect info. The extra elements of the array are 'trimmed'
using getinterval.

[lib/gs_cff.ps]

2002-12-04T14:45:52.000000Z Jack Moffitt

Fixed another typo in pdf tests.

[toolbin/tests/gscheck_pdfwrite.py]

2002-12-04T14:35:47.000000Z Jack Moffitt

Fixed a bug in previous patch.

[toolbin/tests/gscheck_pdfwrite.py]

2002-12-04T09:05:16.000000Z Igor Melichev

Fix (pdfwrite) : Phase was missed writing a pattern.
Source Forge bug "[ 646062 ] (pdfwrite) Wrong pattern phase(270-01.ps".

[src/gdevpdfv.c]

2002-12-04T07:45:47.000000Z Igor Melichev

Changing copyright banner in Free Type bridge modules.

[src/write_t1.c src/write_t2.c src/wrfont.c src/write_t1.h src/write_t2.h src/wrfont.h]

2002-12-03T16:43:39.000000Z Jack Moffitt

Fix: Turn logging on where it was overlooked.

[toolbin/tests/gscheck_pdfwrite.py toolbin/tests/update_baseline]

2002-12-03T14:55:05.000000Z Igor Melichev

Fix (FAPI) : Implementing MetricsCount.

DETAILS:

This fixes FAPI client, but still there are
problems with renderers. Both FreeType and UFST cannot
properly handle a replaced metrics. This problem
is not in Ghostscript.

The FAPI client also has problems with replaced metrics.
See the big comment added into zfapi.c .
Need to fix UFST and Free Type first.

[src/gxchar.c src/gxchar.h src/zfapi.c]

2002-12-03T13:54:11.000000Z Ralph Giles

Remove references to deprecated bug-gs-dev, bug-gs-beta, and mac-gs-* lists.

[doc/Bug-form.htm doc/Tester.htm]

2002-12-03T13:36:13.000000Z Ralph Giles

Document that UseFlateCompression is treated as always on. Thanks to mpsuzuki
for noticing this change.

[doc/Ps2pdf.htm]

2002-12-03T07:40:26.000000Z Russell Lang


When adding a missing showpage to an EPS file,
don't bind showpage to allow user to override it.

DETAILS:
The EPS encapsulation code in ghostscript adds a showpage
if one is not present, so that displaying, printing and
converting all behave the same.  Some users are feeding
multiple EPS files to ghostscript, intending to print them
on a single page.  The current code will print each EPS file
on a single page.  For example following code would print
three pages:
  save
   /showpage {} def
   save (file1.eps) run restore
   save (file2.eps) run restore
  restore
  showpage
With this fix, it will print a single page.

Other ways to avoid this problem are to use -dNOEPS,
or (file.eps) (r) file cvx exec

[lib/gs_epsf.ps]

2002-12-03T06:17:44.000000Z Igor Melichev

Free Type integration. Code from Graham Asher.

DETAILS:

New files added :

fapi_ft.c
wrfont.c
write_t1.c
write_t2.c
wrfont.h
write_t1.h
write_t2.h

The Free Type bridge (fapi_ft.c and dependents) needs to be rewritten with
replacing all access to interpreter's data with FAPI_font callbacks.
Committing it now to allow other developers to work on it.

File names to be improved.

[doc/Use.htm doc/Make.htm doc/Develop.htm]

2002-12-03T06:00:13.000000Z Igor Melichev

Free Type integration. Code from Graham Asher.

DETAILS:

New files added :

fapi_ft.c
wrfont.c
write_t1.c
write_t2.c
wrfont.h
write_t1.h
write_t2.h

The Free Type bridge (fapi_ft.c and dependents) needs to be rewritten with
replacing all access to interpreter's data with FAPI_font callbacks.
Committing it now to allow other developers to work on it.

File names to be improved.

[src/write_t1.c src/write_t2.c src/wrfont.c src/int.mak src/write_t1.h src/write_t2.h src/wrfont.h src/winlib.mak]

2002-12-03T02:41:04.000000Z Dan Coby

Fix:  Partial fix for [ 600288 ] /undefined in --setcolorspace--.
This fix consists of two parts.  1.  Resolve and substitute the alternate
color space for an ICCBased color space.  2.  Correct a reference counting
problem with the same alternate color space.

[src/gsicc.h lib/pdf_draw.ps src/zicc.c src/gsicc.c]

2002-12-02T19:59:13.000000Z Jack Moffitt

Fix: Report useful error information when updating, building, or installing
fails.  Fixes SF bug #484752.

[toolbin/tests/run_nightly]

2002-12-02T19:21:23.000000Z Jack Moffitt

Fix: Make sure all test code checks and reacts appropriate to the exit status
of Ghostscript.

[toolbin/tests/make_two_versions toolbin/tests/gscheck_fuzzypdf.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_two_pdfversions toolbin/tests/gstestgs.py]

2002-12-02T15:02:12.000000Z Igor Melichev

Fix : Use GetTempFileName for creating temporary files on Windows.
SourceForge bug "[ 592925 ] Unable to open initial device (winXP)".
Code from Russell Lang with minor improvements.

DETAILS:

See comment in code. Further improvements with FILE_FLAG_DELETE_ON_CLOSE
require experimenting with multiple platforms to find a consistent
logics for clist and other temporary files with automatic removal.
In this connection see
http://www.ghostscript.com/pipermail/gs-code-review/2002-November/003437.html
and other messages in the thread.

[src/gp_mswin.c]

2002-12-02T13:30:21.000000Z Igor Melichev

Fix (pdfwrite) : Names preceded with two null characters were not handled properly.
SourceForge bug "[ 641697 ] gs 7.33 regression".

DETAILS:

pdf_write_value did not recognize names being preceded with two null characters.
Such names were introduced to pdfmark implementation with the patch
http://www.ghostscript.com/pipermail/gs-code-review/2002-January/001737.html
for SF bug #505877. The patch appears incomplete : pdf_write_value
did not recognize such names as names, and as a consequence special characters
in them were not encodes with #-escape.

[src/gdevpdfu.c]

2002-11-29T16:24:04.000000Z Igor Melichev

Fix (pdfwrite) : Skip the obsolete Type 1 charstring command code 15,
because Acrobat Reader 5 on Linux chokes with it.
SourceForge bug "[ 641296 ] acrobat generates bad ps from gs pdf".

DETAILS:

GS ignores the command 15. Now skipping it while converting to CFF.
Printing a file with such font, AR5 on Linux generates an incomplete eexec section.

[src/gdevpsfx.c]

2002-11-27T20:36:52.000000Z Alex Cherepanov

Fix: Use "\n" line endings instead of "\r\n".
MS-DOS line endings were introduced in some lines with my earier fix.

[lib/gs_pdfwr.ps src/zupath.c]

2002-11-27T15:57:58.000000Z Igor Melichev

Fix (pdfwrite) : Skip redundant clipping paths.
SourceForge bug "[ 624168 ] poor performance on patterns".

DETAILS:

Besides others, the document "a)page Afrique(VECTO).eps"
creates multiple redundant clip paths with any AI "pattern"
(actually it doesn't use PS patterns). The old code was
too conservative, using only a comparison of path identifiers.

The patch creates a stable copy of clipping path written to PDF,
and compares it when PS clip path changes.  The old comparison
is left unchanged for better performance.

Also fixes return codes from pdf_put_clip_path and
improved the initializer of gx_device_pdf.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfb.c src/gdevpdtt.c src/gdevpdfd.c src/devs.mak src/gdevpdfi.c]

2002-11-27T15:37:24.000000Z Igor Melichev

Fix : gx_clip_path::outer_box was wrongly computed with empty path.

DETAILS:

It's a prtial fix for SourceForge bug "[ 624168 ] poor performance on patterns".

[src/gxacpath.c]

2002-11-27T15:25:24.000000Z Igor Melichev

Fix : A partial fix for Source Forge bug "[ 592925 ] Unable to open initial device (winXP)".
Providing a diagnostics when failed to open temporary file or the device output file.

DETAILS:

This change provides an explanation to user about the problem, rather than fixes it.
An improvement about the failure will be a separate patch.

gp_macio.c and gp_unifs.c contained C-style.htm problems.
This patch doesn't fix them for simplifying the History.
To be done separately.

[src/gp_iwatc.c src/gp_macio.c src/gp_mswin.c src/gsdevice.c src/gp_os2.c src/gp_unifs.c src/gp_vms.c]

2002-11-27T14:47:13.000000Z Ralph Giles

Correct a non-portable symbol after #endif.

[src/stdpre.h]

2002-11-26T15:15:44.000000Z Ralph Giles

Remove some unused variables.

[src/gdevpdte.c src/gdevpsfm.c]

2002-11-26T14:38:43.000000Z Ralph Giles

Adapt MacOS port to build under Metrowerks CodeWarrior 8.3. These changes
maintain compatibility with CW7. CW6 has not been tested. Also clean up
some of the mac-specific sources, removing dead and unnecessary code
and improving header includes.

[src/gp_macio.c src/stat_.h src/macsysstat.h src/time_.h src/macgenmcpxml.sh src/macos-mcp.mak src/stdpre.h src/gp_mac.c src/macsystypes.h src/gdevmac.h]

2002-11-26T12:55:23.000000Z Ralph Giles

Correct changelog typos. Thanks to William Bader for spotting this.

[doc/History7.htm]

2002-11-26T02:37:37.000000Z Ralph Giles

Remove echogs as part of the mostlyclean makefile target. After a patch by William Bader.

[src/gs.mak]

2002-11-22T00:49:57.000000Z Ray Johnston

Fix: Descriptions of the regression testing script did not correspond to
the script header. Thanks to Russell Lang of GSView fame for spotting this
(someone finally read at least part of this document!).

[doc/Testing.htm]

2002-11-21T10:29:52.000000Z Raph Levien

Change GS_DOT_VERSION to use two-digit minor version number, which is
our new policy.

[src/version.mak]

2002-11-21T09:40:06.000000Z Russell Lang

When processing EPS files, empty the path after checking the
page size.

[lib/gs_epsf.ps]

2002-11-21T08:51:38.000000Z Russell Lang

Update copyright date in Windows installer.

[src/dwsetup.rc]

2002-11-21T08:26:33.000000Z Raph Levien

Second commit of 8.00 release: autogen change logs and history file
(note new History8.htm file).

[doc/Changes.htm doc/History8.htm doc/News.htm doc/Readme.htm]

2002-11-21T07:12:17.000000Z Raph Levien

First commit of 8.0 process: update versions and dates, update to
News.htm.

[doc/History7.htm doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm doc/Deprecated.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/Copying.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 lib/gs_init.ps man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/New-user.htm doc/Lib.htm doc/Tester.htm doc/Bug-info.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Testing.htm doc/Make.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]

2002-11-21T04:43:58.000000Z Alex Cherepanov

Fix: Bring /SubstituteFont procedure prototype up to the standard:
 SubstituteFont  . Do traditional GS font substitution
after the standard font substitution. Use no-op standard font
substitution for backward compatibility.
Bug #637424 Customer #71

[lib/gs_fonts.ps]

2002-11-21T03:44:11.000000Z Igor Melichev

Fix (pdfwrite) : The previous patch about Encoding Differences was inaccurate
about True Types and CID fonts. Improving it with a better condition.

[src/gdevpdtt.c]

2002-11-21T01:29:07.000000Z Alex Cherepanov

Fix: Pattern stream was copied to the string failing with rangecheck
for long streams. The patch uses strings when possible and switches
to reusable streams for longer streams. Bug #634080, customer #561

[lib/pdf_draw.ps]

2002-11-21T00:05:06.000000Z Igor Melichev

Fix (pdfwrite) : Encoding Differences were not written for embedded
Type 1,2 fonts that have a very instandard Encoding.
Discovered with SF bug "[ 641296 ] acrobat generates bad ps from gs pdf".

[src/gdevpdtt.c]

2002-11-20T18:57:10.000000Z Igor Melichev

Fix : (1) gc_status.requested was not initialized for stable memories,
but used by alloc_acquire_chunk. (2) setting gc_status.vm_threshold and
gc_status.enabled for stable memories synchronously with non-stable ones.
This allows to control stable memories with setvmthreshold and vmreclaim.
With default settings pdfwrite now works faster.
SourceForge bug "[ 621243 ] (pdfwrite) slow mahle.pdf"

[src/zvmem2.c src/gsalloc.c src/gsalloc.h]

2002-11-20T18:24:44.000000Z Ralph Giles

Documents the old macos output device as deprecated. This is superceeded by the gdevdsp.

[src/gdevmac.c]

2002-11-20T18:17:28.000000Z Alex Cherepanov

Fix: Packed array is accepted now as an encoded user path in insideness
testing operators. Bug #640855

[src/zupath.c]

2002-11-20T17:46:26.000000Z Ralph Giles

Corrects a small typo in the api documentation.

[src/gdevdsp.h]

2002-11-20T10:21:15.000000Z Igor Melichev

Fix (pdfwrite) : Providing additional documentation about embedded fonts.

[src/gdevpdtb.c]

2002-11-20T09:55:26.000000Z Igor Melichev

Fix : lsb must not apply to True Type subglyphs. The offset to be taken from composite only.
SourceForge bugs "[ 623122 ] component shift in TrueType composites",
"[ 536863 ] Type11 layout bugs".

[src/gstype42.c]

2002-11-20T03:01:23.000000Z Alex Cherepanov

Fix: Don't overwrite source file when ps2pdf.bat is used with 1 argument and
the argument has no ".ps" extension. (Fixed by Moritz Barsnick) Bug #631974

[lib/ps2pdfxx.bat]

2002-11-19T20:14:01.000000Z Russell Lang

When processing multiple EPS files, call showpage if necessary
for subsequent files.

[lib/gs_epsf.ps]

2002-11-18T23:42:18.000000Z Dan Coby

Fix: Correction for 637954 dina3_watermark.pdf fails on GS 7.33.
This forces the color space to /DeviceGray whenever the initgraphics
operator is called.  Previously if color space substitution was active and
the last colorspace was /DeviceGray then its substituted colorspace would
remain active.

[lib/gs_cspace.ps]

2002-11-18T22:23:40.000000Z Igor Melichev

Fix (pdfwrite) : pdf_put_colored_pattern wrongly accessed pattern mask.
SourceForge bugs "[ 623989 ] (pdfwrite) wrong colors with 269-01.ps",
"[ 602995 ] (pdfwrite) 269-01.ps limitcheck".

[src/gdevpdfv.c]

2002-11-18T21:48:24.000000Z Raph Levien

Second commit of 7.33 beta release: autogenned change logs and history.

[doc/Changes.htm doc/History7.htm]

2002-11-18T21:41:51.000000Z Raph Levien

First commit of 7.33 beta release: update dates and version numbers,
edits to News.htm.

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

2002-11-18T20:23:18.000000Z Russell Lang

Prevent access to .forceput and friends.  Patch by Alex Cherepanov
and Russell Lang.

[lib/gs_resmp.ps lib/gs_diskn.ps lib/gs_res.ps lib/gs_fonts.ps lib/gs_epsf.ps lib/gs_type1.ps]

2002-11-18T19:36:57.000000Z Alex Cherepanov

Fix: FrameMaker produces PS file that assumes that the presence of
/pdfmark in systemdict implies availability of /currentdistillerparams.
The fix hides /pdfmark for all devices except pdfwrite following
set/currentdistillerparams pattern. Bug #638982

[lib/gs_pdfwr.ps]

2002-11-18T19:14:57.000000Z Alex Cherepanov

Fix: Correcting mixed DOS/UNIX line ends introduced in the previous version.

[src/zcolor.c]

2002-11-18T17:17:20.000000Z Ray Johnston

Fix: check_file_permissions did not handle the case where no path separator
is needed after the current_directory_name. PostScript code in .locksafe
(in gs_init.ps) was already correct. Problem would happen on Mac & VMS.

[src/zfile.c]

2002-11-18T14:29:54.000000Z Igor Melichev

Fix (pdfwrite) : Skipping text outside clip path.
SourceForge bug "[ 608520 ] PDFWrite failed for PS File".

[src/gdevpdte.c src/gdevpdfd.c]

2002-11-18T03:05:22.000000Z Igor Melichev

Fix (pdfwrite) : (1) FontMatrix.ty was ignored while computing glyph positions.
(2) Working around AR4,5 bug which ignores FontMatrix.ty .
SourceForge bug "[ 629961 ] (PDF interpeter) 'Ghost' text appears again".

[src/gdevpdtb.c src/gdevpdtt.c]

2002-11-18T02:53:44.000000Z Igor Melichev

Fix (pdfwrite) : Improving the condition about skipping paths outside the clipping path.
SourceForge bug "[ 628542 ] (pdfwrite) wrong gs5.98-dragon.pdf".

[src/gdevpdfd.c]

2002-11-17T22:52:57.000000Z Ray Johnston

Fix: Change gp_file_name_is_absolute to gp_pathstring_not_bare in the doc's.

[doc/Make.htm]

2002-11-17T22:50:32.000000Z Ray Johnston

Fix: Replace the previous gp_file_name_is_absolute with gp_patshtring_not_bare
which generally has the same sense, but is more consistently implemented
on platforms and indicates whether or not a pathstring can be prefixed by
a directory and the path_separator string. Also, fix check_file_permissions
to handle the 'bare' pathstring case when the current directory is one of
the permitted paths. Fixes SourceForge bug #637751.

[src/gp_iwatc.c src/gp_macio.c src/gp_ntfs.c src/gp_mswin.c src/gp_dosfs.c src/gp_unifn.c lib/gs_fapi.ps src/zfile.c src/gp_os2.c src/gp_unifs.c src/gp_vms.c src/gp.h]

2002-11-17T22:27:53.000000Z Igor Melichev

Fix (pdfwrite) : Removing gx_device_pdf_s::random_offset
because it is not longer in use.

[src/gdevpdf.c]

2002-11-17T22:18:15.000000Z Igor Melichev

Fix (pdfwrite) : Removing gx_device_pdf_s::random_offset
because it is not longer in use.

[src/gdevpdfx.h src/gdevpdtb.c]

2002-11-16T22:16:49.000000Z Russell Lang

Remove duplicate call to GlobalLock in Windows printer device.

[src/gdevwpr2.c]

2002-11-15T18:10:24.000000Z Raph Levien

Fix: Restore silent clip of sethsbcolor values to range [0..1].

[lib/gs_cspace.ps]

2002-11-14T21:22:22.000000Z Alex Cherepanov

Fix: resourcefont procedure didn't handle correctly font descriptor
without font stream. Bug #633714

[lib/pdf_font.ps]

2002-11-14T20:48:47.000000Z Dan Coby

Fix:  Convert old map_color_rgb routines to decode_color routines for the
stcolor device.  Change required due to device API change.

[src/gdevstc.c]

2002-11-14T17:36:21.000000Z Ralph Giles

Turn on 64 bit color indexes in the MacOS build.

[src/macsystypes.h]

2002-11-14T17:24:00.000000Z Raph Levien

Fix: Skip /ColorValues processing for devices where it is not defined
(typically grayscale devices). Fixes SF bug #636213.

[lib/gs_dps.ps]

2002-11-14T17:12:53.000000Z Ralph Giles

Fix: correct an unitialized variable in the mac stream process.

[src/gp_macio.c]

2002-11-14T17:01:38.000000Z Ralph Giles

Skip blank lines in parsing afm files.

[toolbin/afmutil.py]

2002-11-14T16:55:21.000000Z Ralph Giles

Fix: remove the unused SYSTIME_H from the mac headers. Prefer "time_.h" to .
Although the Metroworks Standard Library doesn't have a sys/time.h, keep the definition of
HAVE_SYS_TIME_H for now to avoid a multiple definition problem with struct timeval.

[src/gp_mac.c src/macsystypes.h]

2002-11-13T23:33:05.000000Z Dan Coby

Fix: Define a decode_color proc for the cmyk devices.

[src/gdevcdj.c]

2002-11-13T21:51:34.000000Z Raph Levien

Fix uninitialized memory read; gx_set_device_color_1(pgs) depends on
the value of pg->in_cachedevice, so move up initialization of the
latter.

[src/gsstate.c]

2002-11-13T20:24:12.000000Z Dan Coby

Fix:  Converted from old map_rgb and map_cmyk to new encode_color routines.

[src/gdevbit.c]

2002-11-13T20:23:10.000000Z Alex Cherepanov

Fix: Use immediate evaluation for forcesetcolorspace operator because
its definition goes out of scope when bind is delayed or disabled.
Bug #635747

[lib/gs_patrn.ps lib/gs_indxd.ps lib/gs_sepr.ps lib/gs_devn.ps]

2002-11-13T19:39:12.000000Z Dan Coby

Fix:  Update the encode/decode color procedures when the device is openned.
This is required since the device can modify its model settings inside the
open procedure.

[src/gdevstc.c]

2002-11-13T19:34:56.000000Z Dan Coby

Fix:  Make gdev_t4693d_map_color_rgb a functinal routine.  Previously it
returned a constant maximum color value.  This would cause problems with
overprint and anti-aliasing.

[src/gdev4693.c]

2002-11-13T19:31:28.000000Z Dan Coby

Fix:  Change the substitution logic for the decode_color procedure.  This
change gives preference to the map_color_rgb proc (if it exists) and the
device is an RGB device.  The previous logic gave preference to
gx_default_decode_color if the device was linear and  separable.

[src/gdevdflt.c]

2002-11-13T08:23:13.000000Z Raph Levien

Fix: Make init method for ASCII85Encode return 0. Fixes SF #634519.

[src/sa85x.h]

2002-11-13T07:24:03.000000Z Russell Lang

Recorrect display device 4-bit native mode after a correction was
reversed by DeviceN.

[src/gdevdsp.c]

2002-11-13T07:05:43.000000Z Russell Lang

Correct some display device map_color_rgb functions, needed
for anti-aliasing.

[src/gdevdsp.c src/gdevdsp.h]

2002-11-13T06:00:29.000000Z Dan Coby

Fix:  Define color encode/decode procedures for the nullpage and null devices.
This eliminates a "No encode color proc defined" message for these devices.

[src/gdevnfwd.c]

2002-11-12T22:32:35.000000Z Ralph Giles

Fix: we don't actually include unicode cmaps. Thanks to Jack for noticing this.

[doc/Fonts.htm]

2002-11-12T20:31:30.000000Z Russell Lang

Fix: When processing an EPS file, remove any left over items on
the operand and dictionary stacks.

[lib/gs_epsf.ps]

2002-11-11T16:31:22.000000Z Ralph Giles

Some manpage cleanup and simplification.

[man/gs.1]

2002-11-11T15:51:10.000000Z Ralph Giles

Remove man pages for ansi2knr, which we not longer include.

[man/de/ansi2knr.1 man/ansi2knr.1]

2002-11-07T14:10:13.000000Z Ralph Giles

Add a simple script for comparing font metric files. Currently it's only
useful for sorting the font info and character metric data.

[toolbin/afmutil.py]

2002-11-07T07:14:28.000000Z Russell Lang

Correct -dEPSFitPage when the device has non-zero margins.

[lib/gs_epsf.ps]

2002-11-06T23:11:17.000000Z Ray Johnston

Suppress the "No encode color proc" warning for the "null" device (a
forwarding device) where it is expected and acceptable.

[src/gxcmap.c]

2002-11-05T20:56:02.000000Z Russell Lang

Move code from pdfshowpage to pdfshowpage_finish for the
benefit of GSview which calls pdfshowpage_init and
pdfshowpage_finish, but not pdfshowpage_setpage.

[lib/pdf_main.ps]

2002-11-05T19:13:52.000000Z Dan Coby

Fix: Make some debug warning messages only occur for DEBUG build.
The most common offender seen was "No encode_color proc defined for
device."

[src/gxcmap.c]

2002-11-05T16:59:55.000000Z Ralph Giles

Add a revision 'id' line to the drawafm script.

[toolbin/drawafm.ps]

2002-11-05T08:31:56.000000Z Raph Levien

Post-release cleanup for 7.32: increment version number to 7.33.

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

2002-11-05T08:02:17.000000Z Dan Coby

Fix: The 'bind def'  was dropped from the previous commit:
Fix:  Eliminate possible negative discontinuity in default
hi resolution transfer function.

[lib/gs_init.ps]

2002-11-05T01:03:14.000000Z Dan Coby

Fix: These are a set of fixes required to make the 2 bit memory device
functional.  They are being lumped together since they are all required.
The fix in gdevm2.c was found by customer #760 and is reported as
bug #600281 mem_mapped2_copy_mono() incorrect.

[src/gxcht.c src/gdevm2.c]

2002-11-05T00:48:01.000000Z Dan Coby

Fix for #609488 Problems in DeviceN test file.  This resolves problems
that can occur if the transfer function are dependent upon the halftone.
(Which is true for the default hi res transfer function.)  We were
getting variable (unpredictable) results due to the undefined ordering
in enumerating graphic state dictionaries via the 'forall' operator.

[lib/pdf_draw.ps]

2002-11-05T00:30:59.000000Z Dan Coby

Fix:  Eliminate possible negative discontinuity in default
hi resolution transfer function.

[lib/gs_init.ps]

2002-11-05T00:10:37.000000Z Dan Coby

Modified the setdevice procedure to reset the current halftone (if
possible) when changing devices. This is necessary in the DeviceN
code because the number of device halftone components must be the
same as the number of device color model components. It is also
generally a good idea.

[lib/gs_init.ps]

2002-11-04T22:54:47.000000Z Ray Johnston

Fix: The '-r' option works differently between Info-Zip ans Winzip "wzzip"
Removal of this option allows wzzip to be used as well.

[src/winint.mak]

2002-11-04T22:49:27.000000Z Russell Lang

Correct the documented paper sizes in Use.htm to match gs_statd.ps
after fix for SF bug # 536877.  Change cm units to the more common mm.

[doc/Use.htm]

2002-11-02T20:07:46.000000Z Igor Melichev

Fixing the "members" logic in gs_type1_glyph_info.
Arithmetic operations were erroneously used instead logic ones,
sometimes causing a request of undefined features.
Source Forge bug "[ 629116 ] Bad font in re-distilled PDF".

[src/gxtype1.c]

2002-11-02T19:16:44.000000Z Igor Melichev

Fix (pdfwrite) : Implement a special check for CMaps which
appear to be identity, and replace them with a standard CMap name.
Source Forge bug "[ 615994 ] CMAP is corrupted".

[src/gdevpdtc.c src/gdevpsf.h src/gdevpsfm.c]

2002-11-02T18:03:06.000000Z Igor Melichev

Fix (FAPI) : Improving terminology in header comment to lib/xlatmap .

[lib/xlatmap]

2002-11-02T17:22:29.000000Z Ralph Giles

Fix: param_check_string now checks is_valid before trying to calculate
the length of the string in question. We now handle a null
color_info.cm_name in all cases.

[src/gsdparam.c]

2002-11-02T08:17:07.000000Z Raph Levien

Second commit for 7.32 release: logfiles and history.

[doc/Changes.htm doc/History7.htm]

2002-11-02T08:11:09.000000Z Raph Levien

First commit for 7.32 release: update version numbers and dates,
News.htm.

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

2002-11-02T07:33:48.000000Z Raph Levien

Adds UseWTS user parameter to enable WTS, rather than a compile-time
#define USE_WTS as before. Also, WTS is now only enabled when
AccurateScreens is selected.

[src/gshtscr.c src/gxht.h src/zusparam.c src/gsht1.c]

2002-11-02T07:31:45.000000Z Raph Levien

Adds WTS cases for 0 and 45 degree angles, called "Screen H" in the
code.

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

2002-11-02T05:51:00.000000Z Raph Levien

Fix: Fiddles with makefile parameter quoting so that "make pg" runs
again.

[src/unix-end.mak]

2002-11-02T04:28:15.000000Z Russell Lang

Module gslib removed from the library archive.
Further fix for [ 538311 ] files missing from library archive.

[src/ugcclib.mak]

2002-11-02T00:23:06.000000Z Ray Johnston

Revert previous 1.13 patch since it fails on several Genoa tests including
012-09.ps

[src/gsptype1.c]

2002-11-01T23:43:09.000000Z Russell Lang

Fix: Provide a meaningful error message when an immediately
evaluated name in a procedure can not be found.  Additional fix
for SourceForge bug #543185, Confusing diagnostics for //undefined.

[src/iscan.c src/ziodev.c]

2002-11-01T23:41:18.000000Z Russell Lang

Fix: Redefine .runstdin with one bound to EPSF 'run' operator so
that EPS files are handled correctly from %stdin.
Code for skipping DOS EPS header now uses the EPS encapsulating
run, instead of directly calling .runexec.

[lib/gs_epsf.ps]

2002-11-01T20:00:12.000000Z Alex Cherepanov

Fix: Apply SubFileDecode filter during stream resolution to unfiltered streams
(except inline images) to prevent merging of the last token of the stream with
endstream operator. (jointly with Ray Johnston) Bug #628097 from customer #1

[lib/pdf_base.ps lib/pdf_draw.ps]

2002-11-01T04:04:10.000000Z Alex Cherepanov

Fix: Immediate evaluation of //null. //true, //false prevents
PS errors when these names are redefined in the user's program.
Bug #539239

[lib/gs_setpd.ps]

2002-10-31T23:41:09.000000Z Alex Cherepanov

Fix: Optional /Name in Type 3 font is generated from current file position
when missing. This is a temporary fix till while are not accessed by
PDF resource names. Bug #573744 from lpd

[lib/pdf_font.ps]

2002-10-31T20:37:50.000000Z Alex Cherepanov

Fix: Accept any objects as Font, CIDFont, and CMap resource keys, not
just strings or names. Ignore keys other than strings or names in
- - pair construction because it is defined only
for strings. Bug #602739

[lib/gs_cidcm.ps]

2002-10-31T18:34:25.000000Z Alex Cherepanov

Fix: Adobe interpreters accept numbers as values of /C0 or /C1 parameters
of Type 2 function contrary to PLRM. Adobe has also published smooth
shading examples that use this feature. So GS has to follow. Bug #595375.

[src/zfunc.c src/zfunc3.c src/ifunc.h]

2002-10-31T18:08:49.000000Z Ray Johnston

Add a utility that draws glyphs on top of the character box defined in
the given AFM. Goes throuh each glyph in the AFM.

[toolbin/drawafm.ps]

2002-10-31T16:52:18.000000Z Alex Cherepanov

Fix: Default allocator added to the stable allocator because it is used
in s_zlib_alloc() when the clist is stored in memory. According to
doc/Develop.htm: "Every allocator has an associated stable allocator, which
tags pointers with the same VM space number but which is not subject to save
and restore. System VM is intrinsically stable (its associated stable
allocator is the same allocator)"
Bug #530588

[src/gsmalloc.c]

2002-10-31T16:34:01.000000Z Alex Cherepanov

Fix: Fix incorrect calculation of the clipping path around the pattern tile.
Old code used bounding box of the tile in device coordinate system as
a clippin path. When the tile was not aligned with device coordinates
the box extended beyond the tile parallelogram causing incorrect
rendering of a pattern depending on clipping path. New code draws
correct clipping path by taking advantage of high level functions.
Also gs_bbox_transform() was moved out of compute_inst_matrix()
to improve readability. Bug #595378

[src/gsptype1.c]

2002-10-31T16:19:48.000000Z Alex Cherepanov

Proposed log message:
According to PLRM 3rd ed, p. 264 "indexed color space is not
allowed in any shading whose color values are generated by a function;
this applies to any shading dictionary that contains a Function entry."
Adobe interpreters follow PLRM in this respect and we follow them.
Bug #591768

[src/zshade.c]

2002-10-31T16:01:58.000000Z Ralph Giles

Improve the wording and correct typos in the the comment header.

[lib/xlatmap]

2002-10-31T16:01:12.000000Z Ralph Giles

Fix: also install the character translation FAPI config file.

[src/unixinst.mak]

2002-10-31T15:53:32.000000Z Alex Cherepanov

Fix: Restore ps2ascii operation
(1) use .bind instead of bind in operator redefinition to support GS operation
    in NOBIND mode.
(2) increase the size of operator procedure tables.
Bug #628820 from Ryan Pinto

[src/iinit.c lib/gs_cspace.ps lib/gs_pdfwr.ps]

2002-10-31T15:07:45.000000Z Ralph Giles

Minor wording corrections to Russell Lang's recent updates.

[doc/Use.htm]

2002-10-31T10:51:29.000000Z Russell Lang

Reinstate the mswindll device because removing it also requires
modifying the exports in gsdll32.def.

[src/bcwin32.mak src/watcw32.mak src/msvc32.mak]

2002-10-31T10:26:00.000000Z Russell Lang

Fix: Temporarily disable processing of DSC comments while a font
is being loaded.  Fixes SourceForge bug #605830, DSC parser
shouldn't parse fonts.

[lib/gs_lev2.ps lib/gs_fonts.ps]

2002-10-31T10:23:08.000000Z Russell Lang

When ghostscript is given a PDF file on standard input,
copy it to a temporary file before processing. Prior to
version 7, ghostscript could read PDF from standard input
redirected from a file, but not from a pipe. Standard input
was changed in version 7 to use callouts, which prevented
PDF reading from standard input. Fixes SourceForge bug
#583413,  /ioerror with gs - < file.pdf vers 7.xx

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

2002-10-31T10:11:03.000000Z Russell Lang

Remove the obsolete mswindll and mswinprn devices from the
standard Windows build.

[src/bcwin32.mak src/watcw32.mak src/msvc32.mak]

2002-10-31T10:06:01.000000Z Russell Lang

Windows updates for the DeviceN changes.

[src/gdevwprn.c src/gdevwpr2.c src/gdevmswn.c]

2002-10-31T09:22:13.000000Z Russell Lang

Encapsulate EPS files to make sure that at least one page is
printed.  Add command line options -dNOEPS, -dEPSCrop
and -dEPSFitPage for customizing handling of EPS files.
Warn if EPS bounding box does not fit in clipping box.
Enable EPS and DOS EPS processing for several platforms.

[src/openvms.mak src/bcwin32.mak doc/Use.htm src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unixansi.mak lib/gs_epsf.ps src/os2.mak lib/gs_init.ps]

2002-10-31T09:02:54.000000Z Igor Melichev

Fix: Propagate error codes from gs_distance_transform_inverse.
Patch from Forrest Cahoon, improved.

[src/gdevpdts.c src/gdevpsdi.c src/gxstroke.c /branches/GS_7_0X/gs/src/gdevpdft.c]

2002-10-31T08:34:51.000000Z Ray Johnston

Fix: For Type9 fonts (CIDFontType 0 with Type 1 or Type 2 leaf fonts), the
leaf's FontMatrix was being ignored. Catch the change of leaf font index
in select_descendant_font, and for Type9 (ft_CID_encrypted) concatenate
the leaf's FontMatrix in show_state_setup. Fixes SourceForge bug #576591
for Artifex customer #1110 [footnotes rendered too large: badcharsize.pdf]

[src/gxchar.c src/gsfcid.c src/gschar0.c src/gxfcid.h]

2002-10-30T23:34:57.000000Z Ralph Giles

Remove documentation for the old watc.mak which is not longer in the distribution.

[doc/Make.htm doc/Develop.htm]

2002-10-30T18:45:49.000000Z Ray Johnston

Remove this file that was for the old pre-386 builds with Watcom compiler.
The makefile is too large for even wmakel.exe, so this hasn't worked for
several years (>4).

[src/watc.mak]

2002-10-30T12:35:11.000000Z Ralph Giles

Fix: correctly initializes the color_info structure when opening the ijs device. Closes SourceForge Bug #630542.

[src/gdevijs.c]

2002-10-29T09:57:53.000000Z Russell Lang

Fix: provided a meaningful error message when an immediately
evaluated name can not be found.  Fixes SourceForge bug #543185,
Confusing diagnostics for //undefined.

[src/ziodev.c src/int.mak src/interp.c]

2002-10-29T09:51:33.000000Z Russell Lang

OS/2 updates for the DeviceN changes.

[src/gdevpm.c src/gdevos2p.c]

2002-10-29T09:44:40.000000Z Russell Lang

Changes to Windows and OS/2 files to allow ghostscript to
compile with the graphics library and interpreter in
separate source directories.
Partial fix for SourceForge bug #542848, "library
#includes interpreter headers".

[src/bcwin32.mak src/winint.mak src/dwmain.c src/watcw32.mak src/int.mak src/msvc32.mak src/os2.mak]

2002-10-29T09:22:29.000000Z Russell Lang

Remove some interpreter references from the graphics library.
Partial fix for SourceForge bug #542848, "library #includes
interpreter headers".

[src/sarc4.c src/lib.mak src/msvclib.mak src/pcwin.mak src/gsargs.c src/msvctail.mak src/gdevmswn.c]

2002-10-28T20:11:08.000000Z Ralph Giles

Bump version after the 7.31 release.

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

2002-10-28T19:43:42.000000Z Ralph Giles

Fix: install the example FAPI configuration files by default. Ideally this
would be dependent of enabling the fapi feature in the build.

[src/unixinst.mak]

2002-10-28T19:27:06.000000Z Ralph Giles

Fix: install cidfmap on unix.

[src/unixinst.mak]

2002-10-28T19:17:19.000000Z Ralph Giles

Fix: correct some dependencies against the include lists in the relevent
C files. Also reorder them to facilitate easer checking next time. Closes
SourceForge bug #607819.

[src/lib.mak src/int.mak src/gxclrast.c src/gscolor2.c]

2002-10-25T23:04:16.000000Z Dan Coby

Fix: This is the change to the permute device to include the
SeparationColorNames if we are permuting the color components.

[src/gdevperm.c]

2002-10-25T15:42:39.000000Z Igor Melichev

Fix (pdfwrite) : Wrong allocator was used for pdfmark objects.
Source Forge bug "[ 611463 ] Crash on Adobe Photoshop 7 EPS".
Also cleaning up other modules dealing with PDF memory.

[src/gdevpdfm.c src/gdevpdtt.c src/gdevpdfu.c]

2002-10-25T12:14:54.000000Z Ralph Giles

Removes the alpha storage device. This code is obsolete and has
been unused for some time. Closes SourceForge bug #592164.

[src/lib.mak doc/Develop.htm src/gdevalph.c]

2002-10-25T12:07:11.000000Z Ralph Giles

Document 'save' 'restore' not working from the interactive prompt as an
issue. SourceForge bug #603689.

[doc/Issues.htm]

2002-10-25T11:58:19.000000Z Ralph Giles

Document pdfwrite generating truetype font data with incorrect checksums
as an issue. SourceForge bug #615620.

[doc/Issues.htm]

2002-10-25T10:53:33.000000Z Igor Melichev

Fix (pdfwrite) : Account Tc and Tw values while computing TJ offsets.
Source Forge bugs "[ 627036 ] (pdfwrite) wrong spacing 000040cf.000_60",

[src/gdevpdts.c src/gdevpdte.c]

2002-10-25T04:47:23.000000Z Ray Johnston

Fix: Scale factor for Stamp Annotations was incorrect. The calcstampscale
function was quite wrong. Fixes SourceForge bug #628440 for customer #531.

[lib/pdf_draw.ps]

2002-10-25T02:30:04.000000Z Alex Cherepanov

Fix: Several problems have been fixed in pf2afm.ps
(1) security code is updated to use the new interface
(2) PFM encoding is considered during the kerning pair table generation
(3) string overflow during PFA header printing is fixed
Bug #567421

[lib/pf2afm.ps]

2002-10-25T00:27:10.000000Z Alex Cherepanov

Fix: On gcc 2.95.4 for Alpha all structures are padded to 8 byte
boundary but sizeof(bool) == 4. First member of the subclass is
restored because it is overwritten by padding data.
Bug #613909

[src/gximage3.c]

2002-10-24T22:48:41.000000Z Alex Cherepanov

Fix: currentcolorspace didn't check whether the current device is
a cache device and always returned the value set by setcolorspace
in the current graphic state. The fix returns [/DeviceGray] as the
current color space in cache device. Bug #627169

[src/zcolor.c]

2002-10-24T20:37:29.000000Z Alex Cherepanov

Fix: A typo in .locksafe procedure left 2 boolean parameters on the stack
causing PS errors in some files produced by "dvips(k) 5.86" that depend
on empty initial operand stack. Bug #626437

[lib/gs_init.ps]

2002-10-24T20:28:43.000000Z Alex Cherepanov

Fix: Language level 3 is added to the list of supported language levels
in pswrite and epswrite devices. Currently it generates the same code
as 2. Bug #626497

[doc/Devices.htm src/gdevps.c]

2002-10-24T18:29:34.000000Z Ray Johnston

Change some pdfformaterror messages to "Warning" to avoid user confusion
and alleviate concern. Also this should help bug reports to be less
misleading.

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

2002-10-24T16:07:20.000000Z Ralph Giles

Rename the makefile variable UFST_CFLAG to the more conventional UFST_CFLAGS.

[src/lib.mak src/int.mak doc/Make.htm src/msvc32.mak]

2002-10-24T15:25:20.000000Z Ralph Giles

Clean up build documenation. Correct markup, remove obsolete or irrelevent sections, further encourage the use of the autoconf makefile. Resolves SourceForge bug #468762.

[doc/Make.htm]

2002-10-24T14:23:15.000000Z Ralph Giles

Add a usage example to make better connection between the script options
and ghostscript. Closes SourceForge bug #620865.

[lib/ps2ps lib/ps2ps.bat]

2002-10-24T14:21:22.000000Z Ralph Giles

Clarify options accepted by ps2ps, and document the current low-level
output of pswrite. Inspired by SourceForge bug #620865.

[man/ps2ps.1]

2002-10-24T13:25:01.000000Z Ralph Giles

Remove configure.ac only on maintainer-clean. It's more transparent to distribute
this file as well along with configure.

[src/Makefile.in]

2002-10-24T13:07:04.000000Z Ralph Giles

Remove the generated Makefile and configure script for ijs.

[ijs/configure ijs/Makefile]

2002-10-24T13:06:10.000000Z Ralph Giles

Update the release documentation now that 'make dist-clean' works reliably.

[doc/Release.htm]

2002-10-24T12:57:57.000000Z Ralph Giles

Add real 'make distclean' and 'make maintainer-clean' targets. These
are no longer general no-ops but are the responsibility of the
platform-specific makefiles. The autoconf build now removes its
generated files from the top-level directory when requested.

[src/gs.mak src/Makefile.in src/unix-gcc.mak src/unixansi.mak]

2002-10-24T12:47:43.000000Z Ralph Giles

Clarify that DOS is not the same as the windows command prompt.

[doc/Use.htm]

2002-10-24T11:31:59.000000Z Ralph Giles

Clarify description of -dUseCIEColor.

[doc/Use.htm]

2002-10-24T04:13:50.000000Z Dan Coby

This is a fix to handle the "slow rendering for PDF files with color space
substitution" ("-dUseCIEColor") problem. The code for the patches is the same as
in yesterday's message; some comments have been added, and some of the earlier
comments made more clear (we hope).


Modified Files:

  lib/gs_cspace.ps
    Modified the _setcolorspace procedure to ignore redundant settings of the
    current color space for PDF files, even if color space substitution is in
    effect.

  lib/pdf_main.ps
    Modified pdfshowpage_setcspacesub to "transition" the current color space
    if color space substitution is in effect and the current color space is
    a device-dependent color space.

[lib/pdf_main.ps lib/gs_cspace.ps]

2002-10-23T23:16:20.000000Z Ray Johnston

Fix: Pop useless widget /AP dictionary if missing all of /N, /R, and /D
keys to keep opstack from collecting extra elements leading to error during
restore. Fixes SF bug #538428 for customer #440.

[lib/pdf_draw.ps]

2002-10-23T22:44:31.000000Z Ralph Giles

Corrects some typos in a comment.

[src/zcolor.c]

2002-10-23T22:42:23.000000Z Ralph Giles

Adds a documentation stub for the -dUseCIEColor option.

[doc/Use.htm]

2002-10-23T22:09:07.000000Z Ralph Giles

additional documentation cleanup related to the new usage sections

[doc/Readme.htm doc/Commprod.htm]

2002-10-23T22:06:49.000000Z Ralph Giles

Update code policy documentation.

[doc/Maintain.htm]

2002-10-23T19:59:26.000000Z jeong

Removed some warning errors.

[src/gdevpsd.c]

2002-10-23T15:15:30.000000Z Ray Johnston

Fix: GS didn't restore graphic state after execution of Form XObject
leaking PDF graphic state changes out of the form procedure. Bug #626507
from customer #1. Fix developed by Alex Cherepanov.

[lib/pdf_draw.ps]

2002-10-23T05:08:50.000000Z Igor Melichev

Fix to PDF interpreter : Cache original fonts to prevent adjustfont to accumulate changes.
Source Forge bug #621293 "(PDF interpreter)Possibly wrong encoding".

[lib/pdf_font.ps]

2002-10-22T18:42:32.000000Z Ralph Giles

Remove pdfwrite testing module zfctest and associated source.

[src/int.mak doc/Develop.htm src/zfctest.c]

2002-10-22T18:38:00.000000Z Ralph Giles

Fix: update the ECHOGS_MAK dependency to ECHOGS_XE.

[src/lib.mak src/int.mak src/devs.mak]

2002-10-22T16:47:30.000000Z Ralph Giles

Corrects various include dependency problems. Closes SourceForge Bug #604884.

[src/lib.mak src/int.mak src/devs.mak]

2002-10-22T13:31:37.000000Z Ralph Giles

Fix: adds a missing header to gxshade for indexed color routines.

[src/lib.mak src/gxshade.c]

2002-10-21T20:58:10.000000Z Ralph Giles

Removes the documentation on the no-longer-supported MS-DOS platform.

[doc/Use.htm]

2002-10-21T20:54:01.000000Z Ralph Giles

Updates the usage documentation. The first section is re-written to be easier and quicker for new
users. The rest has been re-arranged for clarity. Moves the bbox documentation to Devices.htm.
Adds descriptions of the *AlphaBits driver parameters. Removes mention of some obsolete options
(-sOUTPUTFILE, -_, -sOutputFile=|) from the introduction; they're still documented elsewhere.

[doc/Use.htm doc/Deprecated.htm doc/Devices.htm]

2002-10-21T17:06:37.000000Z Igor Melichev

Fix (pdfwrite) : Enhancing font_orig_scale with upside-down font matrices.
Source Forge bug "[ 620968 ] text inverted in pdf".

[src/gdevpdtt.c]

2002-10-20T17:14:53.000000Z Ralph Giles

Clean up html. Properly escape dictionary delimiters and blockquote code examples. Add Peter's update on SourceForge bug #224134.

[doc/Issues.htm]

2002-10-20T15:54:42.000000Z Ralph Giles

Removes the 'PageSize cannot use packedarray' issue description. Ghostscript no longer fails as
described.

[doc/Issues.htm]

2002-10-20T15:28:27.000000Z Ralph Giles

Removes the unmaintained 'current release' information. The News and Changes files provide a
reasonable summary.

[doc/Readme.htm doc/Release.htm doc/Current.htm]

2002-10-19T14:50:28.000000Z Ralph Giles

Fix: removes an extra parenthesis

[doc/API.htm]

2002-10-18T17:41:51.000000Z Igor Melichev

Fix (pdfwrite) : Don't fill paths outside the clipping path.
Source Forge bug "[ 624168 ] poor performance on patterns".

[src/gdevpdfd.c]

2002-10-18T17:31:26.000000Z Dan Coby

Moved the invocation of pdfshowpage_setcspacesub from pdfshowpage to
pdfshowpage_finish. This is done to accommodate gsview, which does not
invoke pdfshowpage. Thanks to Russell Lang for pointing this out.

[lib/pdf_main.ps]

2002-10-18T15:48:26.000000Z Ralph Giles

Use 'gcc2' as the C compiler with the macosx makefile, working around
a bug in Apple's gcc3 (the default cc). This won't work on pre-10.2
developer tools, but users are less likely to encounter that now.

[src/macosx.mak]

2002-10-18T14:39:58.000000Z Igor Melichev

Fix (pdfwrite) : Don't write StandardEncoding name, which is default one.

[src/gdevpdtw.c]

2002-10-18T14:06:27.000000Z Igor Melichev

Fix (pdfwrite) : Encoding was ignored with standard fonts.
Source Forge bug #624082 "(pdfwrite) Wrong encoding with std fonts".

[src/gdevpdtt.c src/gdevpdtw.c]

2002-10-18T13:17:07.000000Z Ralph Giles

Remove the gcc version check from the macosx makefile. That platform is unlikely to be running the
version in question.

[src/macosx.mak]

2002-10-18T11:32:38.000000Z Igor Melichev

Fix to PDF interpreter : Report error and stop on unsupported halftone type.

[lib/pdf_draw.ps]

2002-10-17T21:33:03.000000Z Dan Coby

Moved the redefinition of the DefaultGray, DefaultRGB, and DefaultCMYK
instances of the ColorSpace resource category to the pdfopen procedure,
as opposed to the runpdf procedure. This avoids unintended color space
substitution when using utilities such as gv, gsview, etc., which do
not invoke the runpdf procedure. Thanks to both Raph Levien and Russell
Lang for suggesting this modification.

[lib/pdf_main.ps]

2002-10-17T21:19:05.000000Z Raph Levien

Cleanup for 7.31 release: add this morning's commits to log, remove
ijs/ijs-config, which shouldn't be in CVS or distributions.

[doc/History7.htm doc/Changes.htm ijs/ijs-config]

2002-10-17T16:12:36.000000Z Ralph Giles

Fix: remove the remainder of the gcc version check hack through the aux
dependency. This was missed in initial commit of that changed and prevented
normal running of the mcp-generation makefile.

[src/macos-mcp.mak]

2002-10-17T10:13:38.000000Z Ralph Giles

update the open bug list

[doc/News.htm]

2002-10-17T07:37:32.000000Z Raph Levien

Second documentation commit for 7.31 release: Changes.htm generated
from cvs2hist (then hand-edited because the logs for Jan's commits
are not compatible with the script), History7.htm autogenerated,
minor edits to News and Use.

[doc/Changes.htm doc/History7.htm doc/News.htm doc/Use.htm]

2002-10-17T07:25:42.000000Z Dan Coby

Fix:  We were incorrectly replicating fill color for overprint rectangle
fill.  This resulted in erroneous color is HeiseiMinStd.pdf with pkmraw
device.  This regression appeared on 10-9-02.

[src/gxoprect.c]

2002-10-17T06:37:29.000000Z Raph Levien

First documentation commit for 7.31 release: edits to News.htm, version
and date updates, minor patches to Develop.htm and Deprecated.htm.

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

2002-10-17T06:09:34.000000Z Raph Levien

Fix: Introduces "backwards compatible" encode_color routine for
grayscale devices which supply map_rgb_color but not encode_color.
Fixes gray modes in pdfwrite and ijs devices, among others.

[src/gdevpdf.c src/gxcmap.c src/gdevdflt.c src/gxcmap.h src/gdevbmpc.c src/gdevijs.c]

2002-10-17T06:08:00.000000Z Raph Levien

Fix: Adds /Colors /BitsPerPixel and /ColorValues to .dynamicppkeys
because they can change dynamically when adding separation colors.

[lib/gs_setpd.ps]

2002-10-16T23:26:34.000000Z Ralph Giles

Removes the obsolete 'hpijs' driver. This has been superceeded by the ijs
driver interface both in Ghostscript and the hpijs collection of printer
drivers.

[src/gdevhpij.c src/gdevhpij.h src/contrib.mak]

2002-10-16T08:46:39.000000Z Igor Melichev

Fix : Providing spot halftone params for pdfwrite.
They were missed with DeviceN merge.

[src/gsht.c src/gdevpdfg.c]

2002-10-16T07:43:46.000000Z Dan Coby

This is some clean up on the DeviceN devices: XCF, PSD, and spot devices.
1. Ensuring that the process color model name is correct.
2. removing support of SeparationColorNames from additive devices.
3. Finish removal of variable bits per components (GrayValues) from
the devices.  None of them had any form of correct support for this
feature.

[src/gdevpsd.c src/gdevdevn.c src/gdevxcf.c src/devs.mak]

2002-10-16T00:47:55.000000Z Dan Coby

Modified the dci_alpha_values macro to assume that devices with depth >= 16
have a separable and linear color encoding.

[src/gxdevcli.h]

2002-10-16T00:29:39.000000Z Dan Coby

Fix:  Place the under color removal and black generation functions
into the clist for all images.  This corrects a problem found with
the permute device, Permute = 1, banding and the RealCities.pdf or
foo.pdf test files.  The functions were needed but were not present
in the imager state.

[src/gxclimag.c]

2002-10-15T15:31:17.000000Z Ralph Giles

Corrects formatting errors and updates the table of contents for the devices documentation.

[doc/Devices.htm]

2002-10-15T15:13:35.000000Z Ralph Giles

Cleans up output device documentation. Old printer drivers (replaced by hpijs and/or
gimpprintijs) are moved to a new file, Deprecated.htm. Stub documentation for file
output devices and general re-organization.

[doc/Readme.htm doc/Deprecated.htm doc/Devices.htm]

2002-10-15T00:36:57.000000Z Dan Coby

Removed logic for setting variable number of bits per component.  This is not
supported on the xcf, spotrgb, or spotcmyk devices.

[src/gdevdevn.c src/gdevxcf.c]

2002-10-12T12:02:40.000000Z jeong

Adds PhotoShop (psdcmyk and psdrgb) devices.

[doc/Develop.htm]

2002-10-12T11:47:11.000000Z jeong

Adds PhotoShop (psdcmyk and psdrgb) devices.

[src/unix-gcc.mak src/msvc32.mak src/devs.mak]

2002-10-12T11:43:21.000000Z jeong

PhotoShop PSD Driver.

[src/gdevpsd.c]

2002-10-11T19:01:10.000000Z Igor Melichev

Fix : Providing multiple halftone component names for pdfwrite.
They were missed with DeviceN merge.

[src/gxht.h src/gdevpdfc.c src/gdevpdfg.c src/zht2.c src/gdevpdfg.h]

2002-10-11T15:39:35.000000Z Ray Johnston

Fix: Remove psdrgb.dev and psdcmyk.dev from the MSVC makefile (these crept
in by mistake).

[src/msvc32.mak]

2002-10-11T05:58:22.000000Z Dan Coby

Correct handling of text when the pixel depth is 56 bits.

[src/gdevm56.c]

2002-10-11T00:14:23.000000Z Dan Coby

Change the default on the MSVC build to use 64 bit gx_color_index values.

[src/msvc32.mak]

2002-10-10T20:21:38.000000Z Ralph Giles

Fix: removes duplicate definition of gscspace_h.

[src/lib.mak]

2002-10-10T19:30:42.000000Z Ralph Giles

Corrects an unitialized variable warning in image_render_color(). The routine now falls back to landscape scan parameters in the unhandled 'skew' posture case.

[src/gxicolor.c]

2002-10-10T19:04:03.000000Z Ralph Giles

Fix: corrects an uninitialized variable warning.

[src/gsfcid2.c]

2002-10-10T18:17:59.000000Z Igor Melichev

Fixing a spelling in comment.

[lib/pdf_ops.ps]

2002-10-10T18:14:33.000000Z Igor Melichev

Fix to PDF interpreter : Properly set up the data stream for shadings
which may share PDF streams. Patch from Alex Cherepanov, improved.

[lib/pdf_ops.ps]

2002-10-10T17:29:39.000000Z Ray Johnston

Fix: Finish changes to make old statusdict stuff actually work. Previous
commit was incomplete, causing invalidaccess during initialization.

[lib/gs_statd.ps]

2002-10-10T16:30:01.000000Z Ray Johnston

Fix: .pagetypenames was broken for a long time since the executable array
contained the "STRICT { ... } if" logic. Changed to make this a regular
array.

[lib/gs_statd.ps]

2002-10-10T15:24:23.000000Z Igor Melichev

Fix (pdfwrite) : Skipping zero height images because AR cannot handle them.
Patch from Jan Stockenius, improved.

[src/gdevpdfi.c]

2002-10-10T14:42:50.000000Z Igor Melichev

Fix : Added code in gs_image_next_planes to increment the penum->y parameter.
This parameter is used when penum->dev is zero, which occurs when an
image or imagemask is rendered as part of the execution of the charpath
operator. Failing to increment this value can result in an infinite loop.
Patch from Jan Stockenius.

[src/gsimage.c]

2002-10-10T09:38:56.000000Z Igor Melichev

Fix to PDF interpreter : improve the error message handler.

[lib/pdf_main.ps]

2002-10-10T09:37:39.000000Z Igor Melichev

Fix to PDF interpreter : Don't rename fonts.
Source Forge bug "600855 Distilling a PDF enlarges FontName".

[lib/pdf_font.ps]

2002-10-10T00:42:22.000000Z Ralph Giles

Add zht2.h to the correct section of the file listings. Corrects a cut-and-paste error in the previous commit.

[doc/Develop.htm]

2002-10-10T00:39:26.000000Z Ralph Giles

Add zht2.h to the file listing in Develop.htm.

[doc/Develop.htm]

2002-10-09T23:43:58.000000Z Ralph Giles

Remove remaining references to ansi2knr.c. We no longer support
building ghostscript with it, but the remaining dead code causes
confusion for some users. Inspired by Sourceforge bug #618048.
Removes references to the no longer supported ansi2knr.c.

[src/openvms.mak src/dvx-tail.mak src/macosx.mak src/dvx-gcc.mak src/unixansi.mak src/ansi2knr.c src/openvms.mmk src/os2.mak src/ugcclib.mak src/gs.mak src/Makefile.in src/unix-gcc.mak src/unix-aux.mak src/macos-mcp.mak src/wccommon.mak src/winlib.mak]

2002-10-09T23:41:14.000000Z Ralph Giles

Removes references to the no longer supported ansi2knr.c.

[doc/Develop.htm doc/Release.htm]

2002-10-09T22:13:17.000000Z Ralph Giles

Prune the dead 'begin' makefile target. This was supposedly removed in release 5.20.

[src/gs.mak]

2002-10-09T13:03:44.000000Z Igor Melichev

Fix (pdfwrite) : Making the text matrix synchronization condition stronger.
Also removing some obsolete comments.
Source Forge bug "[ 617643 ] math symbol skewed".
Thanks to Alex Cherepanov for preliminary analysis.

[src/gdevpdts.c]

2002-10-09T07:44:47.000000Z Dan Coby

More documentation for:
1.  Color_info fields related to "linear and separable":
comp_shift, comp_bits, and comp_mask.
2.  Macros for color_info structure definitions.
3.  What to do if the any changes are made to the
color_info fields.

[doc/Drivers.htm]

2002-10-09T02:34:11.000000Z Dan Coby

Add a setup the shift and mask bits in ppm_open.  This finishes
initializing the device as being "linear and separable".  This is needed
since the various pxm devices are using the default color encode routine
which needs the linear and separable information.

[src/gdevpbm.c]

2002-10-08T23:02:31.000000Z Dan Coby

Due to a combination of corrections by Russell Lang and Jan Stoeckenius,
we have corrected a problem - twice.  Unfortunately this is an example of
two rights making a wrong.  Thanks to Jan for noticing this.

[src/gsdfilt.h]

2002-10-08T16:49:59.000000Z Raph Levien

Adds DeviceCMY (-dMode=1) process color model to permute device.

[src/gdevperm.c]

2002-10-08T06:08:37.000000Z Ray Johnston

Fix: Ignore non-zero wy values to the d1 CharProcs operator in Type3 fonts.
This is what Adobe Acrobat Readers do, and apparently Adobe Distiller will
write fonts with non-zero wy values even though the spec says "wy must be
zero". Fixes SourceForge bug #616692 for Artifex customer #561.

[lib/pdf_font.ps]

2002-10-08T00:49:49.000000Z Dan Coby

Attached is a updated version of our code release of 4 October, 2002.

As before, the primary purpose of this release is to modify the manner
in which overprint information is passed to the overprint compositor
device.  This resolves some difficulties seen when overprinting is
used with the command list device.

This update incorporates the changes checked in by Dan on October 4th.
Since Dan's changes to gxcldev.h and gxclrast.c were identical to ours,
we have removed those two files from this release.

                                                       Jan


Modified Files

  lib/gs_init.ps
  lib/pdf_draw.ps
    Change "DONTPS" flag to "DOPS", with the logically inverted function:
    only if DOPS is defined will "PS" XObjects be rendered. We believe this
    is the more appropriate default.

  lib/gs_dps.ps
  lib/gs_img.ps
  src/gsdparams.c
    Modified the deviceinfo and image code to work around a potentially
    improperly set ColorValues parameter.

  src/devs.mak
    Updated dependency list for gdevscf.$(OBJ).

  src/gdevdflt.c
    1. Added initialization of the new color_info.opmode field to
       gx_device_fill_in_procs.
    2. In get_decode_color, added special case handling for canonical 1-bit
       CMYK devices (e.g.: pkmraw). Previously the decode_color method for
       this devices would default to gx_default_cmyk_decode_color, which
       performed an CMYK ==> RGB ==> CMYK conversion. This conversion would
       defeat overprinting if gray object was placed on top of a colored
       region.

  src/gscdevn.c
  src/gscolor.c
  src/gscolor2.c
  src/gscpixel.c
  src/gscsepr.c
  src/gscspace.c
  src/gsovrc.c
  src/gxovrc.h
  src/gspcolor.c
  src/gsptype1.c
  src/gsptype2.c
  src/gsstate.c
  src/gsstate.h
  src/gxcmap.c
  src/gxcspace.h
  src/zcolor.c
    Modified the overprint code to, when necessary, pass overprint mode
    information when setting the device color. This is necessary to properly
    handle overprint mode when using the command list device.

    NB: This change alters the meaning of the "effective_overprint_mode" field
        in the imager state.

  src/gxdevcli.h
    Added the opmode and process_comps fields to the gx_device_color_info
    structure. These are required by the new code that passes overprint mode
    information when the device color is set.

  src/gsdfilt.h
    Changed the prototype for the push method in the gs_device_filter
    structure to match the actual implementation and usage of this method
    (the third and fourth operands were reversed).

  src/gsimage.c
    Modified gx_image_cleanup to check if penum->info field is null before
    calling gx_image_end. This avoids a crash associated that can occur if
    an image has zero height or width, as the image enumeration data structure
    will have been released in such cases before gs_image_cleanup is called.

  src/lib.mak
    Updated various dependency lists.

  src/gdevdevn.c
  src/gdevnfwd.c
  src/gdevpdte.c
  src/gdevxcf.c
  src/gscrdp.c
  src/gsdfilt.c
  src/gsht.c
  src/gsht1.c
  src/gswts.c
  src/gzht.h
  src/ialloc.c
  src/imain.c
  src/iscanbin.c
  zfapi.c
    Installed some minor changes to quiet compiler warnings.

[src/gsimage.c src/gscrdp.c src/gsht1.c src/gdevxcf.c src/gspcolor.c src/gscdevn.c src/lib.mak src/imain.c lib/gs_dps.ps src/gdevdflt.c src/gsdfilt.h src/gdevpdte.c src/gdevdevn.c src/gsovrc.c lib/pdf_draw.ps src/gsht.c src/gswts.c src/gsovrc.h src/gscolor.c src/zcolor.c src/zfapi.c src/gsstate.c lib/gs_init.ps src/gsptype1.c src/gsptype2.c src/gscpixel.c src/gxcmap.c src/gsstate.h src/gzht.h lib/gs_img.ps src/iscanbin.c src/devs.mak src/gscspace.c src/gscolor2.c src/gsdparam.c src/gxcspace.h src/ialloc.c src/gdevnfwd.c src/gscsepr.c src/gxdevcli.h]

2002-10-07T13:56:41.000000Z Igor Melichev

Fix (pdfwrite) : Removing a call to the deprecated map_cmyk_color.
Thanks to Daniel Coby for the suggested algorithm.

[src/gdevpdf.c]

2002-10-07T12:54:12.000000Z Igor Melichev

Fix (pdfwrite) : Completing the ProcessColorModel implementation after DeviceN merge.
Also fixes SourceForge bug "[ 614705 ] Inverted colos in CMYK PDF writer".
Thanks to Alex and Jan for participation.

[src/gdevpdf.c src/gdevpdfp.c]

2002-10-07T10:59:09.000000Z Igor Melichev

Fix (pdfwrite) : Implementing colorant names after DeviceN merge.

[src/gdevpdfc.c src/gdevpdfg.h]

2002-10-07T08:28:56.000000Z Russell Lang

Apply casts to remove lots of warnings from MSVC 6.
Update some Windows color mapping functions for DeviceN.
Change order of arguments for the gs_pdf14_device_filter_push
function and the calls to the device filter push procedure to
match the prototype.

[src/gdevdcrd.c src/gscrdp.c src/gdevmsxf.c src/gdevdgbr.c src/gsicc.c src/gdevpdfj.c src/gxoprect.c src/gdevwdib.c src/gdevwprn.c src/gdevpx.c src/zcharx.c src/gdevpdfp.c src/gdevescp.c src/gxtype1.c src/igc.c src/gximage3.c src/gxifast.c src/gsfunc0.c src/gdevpdfv.c src/gxccache.c src/gswts.c src/gsfunc4.c src/gxclpath.c src/gdev4693.c src/gdevlbp8.c src/gdevepsn.c src/gdevdm24.c src/gsptype1.c src/idparam.c src/gxdhtserial.c src/gdevpsf1.c src/gxcmap.c src/gdevstc2.c src/gximage.c src/gdevpsft.c src/gp_mswin.c src/gdevpsfx.c src/gximag3x.c src/gp_win32.c src/gxpcopy.c src/gdevmswn.c src/gdevjpeg.c src/gdevdjet.c src/gdevmswn.h src/gdevstc.c src/gsfont.c src/gsutil.c src/gxwts.c src/gdevpdfc.c src/gdevbmp.c src/stdio_.h src/gsciemap.c src/gdevps.c src/gsdevice.c src/gsbitops.c src/gdevpdfk.c src/gsparam.c src/gdevdljm.c src/gsdfilt.c src/gdevdflt.c src/gdevwpr2.c src/gdevepsc.c src/gdevpdtd.c src/gdevpdfu.c src/gdevcdj.c src/gdevpxut.c src/gxshade4.c src/gdevbjc.h src/gdevp14.c src/gdevtifs.c src/gdevpsf2.c src/zpacked.c src/gstype42.c src/gdevm1.c src/gdevpbm.c src/iutil.c src/gxipixel.c src/gxline.h src/gxistate.h src/gstype2.c src/gdevupd.c src/gp_ntfs.c src/gdevbj10.c src/gspaint.c src/ztype.c]

2002-10-05T06:19:45.000000Z Dan Coby

Correct the includsion protestion.

[src/zht2.h]

2002-10-05T05:52:00.000000Z Dan Coby

Another change due to the earlier commit.

Move the callback routine, which is used to translate a gs_separation_name
into a string pointer and a length, from the graphics state into the device
color structure.  This is being done to make it available to the pdfwrite
device when handling DeviceN or Separation color spaces.

[src/zht2.c]

2002-10-05T03:41:42.000000Z Dan Coby

This file was missed in the previous commit.

Move the callback routine, which is used to translate a gs_separation_name
into a string pointer and a length, from the graphics state into the device
color structure.  This is being done to make it available to the pdfwrite
device when handling DeviceN or Separation color spaces.

[src/gzht.h]

2002-10-04T23:48:01.000000Z Dan Coby

THis file was missed in the previous commit.

Move the callback routine, which is used to translate a gs_separation_name
into a string pointer and a length, from the graphics state into the device
color structure.  This is being done to make it available to the pdfwrite
device when handling DeviceN or Separation color spaces.

[src/zgstate.c]

2002-10-04T23:43:38.000000Z Dan Coby

Move the callback routine, which is used to translate a gs_separation_name
into a string pointer and a length, from the graphics state into the device
color structure.  This is being done to make it available to the pdfwrite
device when handling DeviceN or Separation color spaces.

[src/zht2.h src/zcsdevn.c src/gscspace.h src/int.mak src/gxstate.h src/gsht.c src/gscsepr.c src/zht2.c src/zcssepr.c src/gscdevn.c]

2002-10-04T23:31:14.000000Z Dan Coby

Fix: Bug #615957 undefined variable in gxclrast.c.  This removes
obsolete cmd_map_ht_transfer command and its related code.

[src/gxcldev.h src/gxclrast.c]

2002-10-03T19:40:27.000000Z Igor Melichev

Fix to PDF interpreter :
1. Changing the logics of the True Type cmap choice to comply with PDF spec.
2. Making the embedded font parser to create a PS font independently
   on font resource options, so that the font can associate with
   the font descriptor.
3. Avoiding the redundant parsing of embedded fonts with
   removing the hack for SF bug "533467 Missing char on test2a.pdf (regression)".
4. Removing the hack from buildTrueType because it has no effect.
5. Widths and Encoding were ignored for embedded True Type fonts.
6. Adding few warnings about PDF spec violations.

[lib/pdf_font.ps lib/gs_ttf.ps]

2002-10-02T12:46:48.000000Z Igor Melichev

Fix (pdfwrite) : compare_glyphs was not implemented for composite True Type glyphs.
Debugged with test_multipage_prob.pdf .

[src/gxfcopy.c]

2002-10-02T12:10:11.000000Z Igor Melichev

Fix (pdfwrite) : The font scale was applied twice to MissingWidth.
SourceForge bug "[ 613217 ] Misplaced characters after ps2pdf".

[src/gdevpdtt.c]

2002-10-01T16:10:12.000000Z Igor Melichev

Fix (pdfwrite) : Font type 2 case was missed in compare_glyphs
causing an 'unregistered' error. Debugged with 86554321.pdf .

[src/gxfcopy.c]

2002-09-29T23:35:06.000000Z Ralph Giles

Fix: address both color values in gx_dc_ht_binary_get_nonzero_comps().

[src/gxht.c]

2002-09-29T23:11:28.000000Z Ralph Giles

document the new testdiff command

[doc/Testing.htm]

2002-09-29T22:33:17.000000Z Ray Johnston

Fix syntax errors and use actual paths for run_regression and testdiff

[toolbin/tests/run_nightly]

2002-09-29T17:54:28.000000Z Ralph Giles

Adds some missing files to the ijs .cvsignore.

[ijs ijs/.cvsignore]

2002-09-29T17:38:43.000000Z Raph Levien

Adds -dDONTPS command line option to disable processing of DoPS
directives in PDF files. Works around problem rendering
S2_Digitalproof-Forum_x3k.pdf.

[doc/Use.htm lib/pdf_draw.ps lib/gs_init.ps]

2002-09-29T17:24:43.000000Z Ralph Giles

Adds sobin and soobj to .cvsignore.

[.cvsignore /trunk/gs]

2002-09-28T19:05:29.000000Z Ralph Giles

Fix: Set uncomputed truetype table checksums to zero. Corrects an undefined variable access and
produces deterministic (if still off spec) output.

[src/gdevpsft.c]

2002-09-28T18:29:40.000000Z Ralph Giles

Fix: make use of the return value of gs_forward_map_rgb_color() in a color mapping function. Found
through an unused variable warning. Patch from Henry Stiles.

[src/gdevabuf.c]

2002-09-26T19:50:12.000000Z Ralph Giles

Fix: remove some compiler options that generated spurious warnings.

[src/macgenmcpxml.sh]

2002-09-26T19:03:07.000000Z Dan Coby

Fix: We were incorrectly checking the DeviceN component names due to
a misplaced line of code.  The result was using the DeviceN colorspace
when the alternate should have been used.

[src/gscdevn.c]

2002-09-26T18:45:02.000000Z Dan Coby

The attached code release fixes a variety of memory handling problems
discovered by Dan's test with the memory validation enabled.

  1. Most of the problems with the FTS were accounted for by a relatively
     harmless dangling pointer problem for paths. In order to support the
     charpath operator, paths are normally constructed in stable memory
     (not subject to save/restore). However, clipping paths were
     constructed in normal memory. If the clippath operator was used to
     make the clipping path the current path, the top-level
     gx_path_segments would be in stable memory, while the rest of the
     path would be in normal memory. A restore operation could then
     leave dangling pointers.

     This is not normally a problem, because the grestore operation
     associated with the restore would clear the gx_path_segments
     structure. This only works on the graphic state stack, however;
     graphic state objects stored in VM would not be reset.

     This is harmful only in a very obscure case when the charpath operator
     is used on a user-defined font whose BuildGlyph procedure contains
     internal save/restore operators and which builds part of its
     output with the clippath operator. As far as we know, this has
     never occurred in practice.

  2. Several problems noted with files 119-01.ps (panel 119-07) and
     119-28.ps (panel 119-31) were caused by a problem with the memory
     allocator used for the jpeg_compress_data structure used with the
     DCTEncode (JPEG) filter. This filter is used by the PDFwriter, the
     JPEG device drive, and as a filter accessible from PostScript.
     In the first two cases the jpeg_compress_data structure is allocated
     using the normal, gs_ref_memory_t structure. When used from
     PostScript, however, this structure is allocated using the
     gs_memory_default allocator (presumably because the jpeg library
     code is not set up to deal with save/restore).

     The gs_memory_default allocator is not a gs_ref_memory_t allocator,
     so it does not create the hidden obj_header_t structures preceding
     each allocated region. The garbage collector is dependent on these
     headers, hence the pointer enumeration routines in structure
     descriptors must not enumerate any pointers to memory allocated
     by non-gs_ref_memory_t headers.

     This creates a difficult problem for the pointer enumeration
     routine of the stream_DCT_state structure, whose data.compress field
     points to a jpeg_compress_data structure. This routine would have
     to determine which allocator was used for this structure before
     deciding whether or not to "enumerate" the data.compress pointer.
     In principle it has enough information to do this (the jpeg_memory
     field of the structure), but this seems like a overly complicated
     solution. Use of a stable gs_ref_memory_t allocator in place of
     the gs_memory_default allocator seems like a simpler solution.

  3. If an overprint compositor was used with a banding device, the code
     in clist_playback_band was not cleaning up this compositor before
     exiting. This caused difficulty with the p2b-100.pdf file. This
     code has been modified to close the target device if this device
     does not match the original target device with which the routine
     was invoked.

  4. For historical reasons, the link between a halftone order and its
     tile cache is a bit peculiar. The order includes a pointer to the
     tile cache, and the tile cache keeps a copy of the order, which
     points to the same levels/bit data structure of the original order.
     Because of these two-way points, the order and its tile cache must
     use the same memory allocator to avoid dangling pointer problems.
     The code patch modifies gx_imager_dev_ht_install (gsht.c) to
     preserve this invariant. The change fixes another problem noted for
     p2b-100.pdf.

With these changes, we are able to run both the PS3 FTS and the full set
of pdf regression files using the '-Z@$?' switch with no reported problems.


                                                       Jan

Modified files:

  src/gspaint.c
  src/gspath.c
    In gs_strokepath and gs_clippath, cause the newly constructed path to
    use the memory allocator of the current path, rather than the memory
    of the current graphic state. This is no longer strictly necessary
    due to other changes that place path substructure completely in
    stable memory (see gxpath.c below).

  src/gxpath.c
    Modify path_allocs_segments, rc_free_path_segments_local,
    gx_path_add_lines_notes, and the path_alloc_segment macro to place
    the entire path substructure (from the gx_path_segments structure
    down) in stable memory. This is necessary to avoid dangling
    pointers, as a list of path segments may be attached to another path,
    parts of which were constructed with a different allocator.

  src/zfdcte.c
    Modified zDCTE to place the jpeg_compress_data structure into stable
    memory rather than use the gs_memory_default allocator.

  src/gsht1.c
    Removed obsolete code.

  src/gxclrast.c
    In clist_playback_band, close and discard the target device on
    completion of a band if it is not the same as the target device on
    entry.  This is necessary to remove an overprint compositor that
    may have been created in the course of the band.

  src/gsht.c
    In gx_imager_dev_ht_install, copy any halftone orders that were not
    allocated using the same allocator as used by the graphic state. This
    must be done to avoid dangling forward/back pointer between halftone
    orders and the associated tile caches.

[src/zfdcte.c src/gspaint.c src/gsht.c src/gspath.c src/gsht1.c src/gxclrast.c src/gxpath.c]

2002-09-26T16:33:01.000000Z Ray Johnston

The last fixup -- more bad python.

[toolbin/tests/run_nightly]

2002-09-26T16:28:15.000000Z Ray Johnston

Fix previous commit (marginal python skills)

[toolbin/tests/run_nightly]

2002-09-26T16:18:42.000000Z Ray Johnston

Put in log files for the preparation steps: cvs update, make and install.
The cvs logs are cumulative (they can be truncated manually if desired).
These changes were in the actual running scripts until 9/18 when an update
overwrote these changes that were being tested, but were never committed.

[toolbin/tests/run_nightly]

2002-09-26T05:26:32.000000Z Dan Coby

Fix: Insure that individual color name references are resolved in PDF
DeviceN colorspaces.

[lib/pdf_draw.ps]

2002-09-25T11:51:47.000000Z jeong

Fix: 'state.width' could hold negative value and this caused wrong
rendering of radial gradient. Now fixed.
SF#610359, Wrong rendering of radial gradient

[src/gxshade1.c]

2002-09-24T10:43:40.000000Z Igor Melichev

Fix : (1) Providing cmap format 2 in True Type font reader;
(2) Accomodating cmap format 4 for CJK fonts.
Code from Hideyuki Suzuki and Taiji Yamada with minor changes.

[lib/gs_ttf.ps]

2002-09-23T21:36:31.000000Z Dan Coby

Modified Files:

  src/gsht.c
    Modified the invocation of gx_device_halftone_release in
    gx_ht_install to use the memory allocator pointer stored in the
    device halftone, rather than the one stored in the graphic state.

  src/gsimage.c
    Removed what appears to have been an errant optimization in
    gx_image_cleanup. This procedure will now always invoke
    gx_image_end, even if the image was not rendered (penum->dev == 0).

[src/gsimage.c src/gsht.c]

2002-09-23T16:38:28.000000Z Igor Melichev

Fix : Providing a virtual path interface for computing glyph bbox
without allocating path segments.
SourceForge bug "[ 605200 ] pdf_close generates many path segments".

[src/gstype1.c src/lib.mak src/gstype2.c src/gxpath.h src/gsfont.c src/gxtype1.c src/gzpath.h src/gdevpdte.c src/gxhint3.c src/gxpath.c]

2002-09-23T16:26:15.000000Z Jack Moffitt

Revive the fuzzy pdfwrite compare test.

[toolbin/tests/gscheck_fuzzypdf.py]

2002-09-23T15:56:31.000000Z Jack Moffitt

Fix: In dots mode, the DIFFER result had a spurious newline.

[toolbin/tests/gstestutils.py]

2002-09-23T06:18:51.000000Z Ray Johnston

Add documentation to the .setsafe operator that was added to .locksafe
operator that says that .setsafe uses setpagedevice, thus it will erase
the page. Related to SourceForge bug #580029.

[doc/Language.htm]

2002-09-23T01:21:02.000000Z Dan Coby

Modified Files:

  lib/gs_devn.ps
    Modified the cs_install procedure for DeviceN color spaces to
    support the component name array "[ All ]". The documentation
    indicates that this is not legal ("PDF Reference", 3rd. ed.,
    p. 206), but beginning with Acrobat 5, DeviceN color spaces with
    this component name array are handled in the same manner as
    Separation color spaces with the component name All. The modified
    code detects this component array and converts the operand color
    space to a Separation color space.

  src/gsmisc.c
    Fixed an apparently long-standing bug in ilog2. Due to a typo, this
    procedure returned 0 for any power of 16.

  src/gxoprect.c
    Fixed an uninitialized variable problem in
    gx_overprint_sep_fill_rectangle_1 and gx_overprint_sep_fill_rectangle_2.

[lib/gs_devn.ps src/gsmisc.c src/gxoprect.c]

2002-09-22T12:41:26.000000Z Igor Melichev

Fix : Unwinding the patch from Anthony Fok Tung-Ling,
because it caused regression with comparefiles/fonts.pdf .

[lib/gs_ttf.ps]

2002-09-21T07:08:27.000000Z Dan Coby

  src/gsht.c
    1. Fixed a memory handling problem in gx_imager_dev_ht_install,
       which could result in objects being freed multiple times.
    2. Removed a temporary hack in gx_imager_dev_ht_install that
       ensured that the halftone cache always had at least one tile
       per level. This hack is no longer necessary, as binary halftone
       device colors are now handled correctly.

[src/gsht.c]

2002-09-21T00:26:04.000000Z Dan Coby

The attached code generalizes the sample_load_* and sample_store_* macros
in gsbitops.h to handle depths up to 64 bits. In addition to providing
64 bit versions of these macros, we also added the macros sample_load_any,
sample_load_next_any, and sample_store_next_any. These macros are intended
to be used in situations in which any supported depth may be used. All of
the invocations of the sample_load32, sample_load_next32, etc. macros have
been changed to invoke the *_any version of these macros instead. In
addition, a few minor changes have been made to silence compiler warning
messages.

Modified files:

  src/gdevalph.c
    Changed invocations of the sample_{load|store}_next32 macro to be
    invocations of sample_{load|store}_next_any instead. Also made various
    changes to allow the code to be compiled with the DeviceN system (the
    file has apparently not been compiled for some time).

  src/gdevdbit.c
    Made a couple of minor changes to silence compiler warning messages.

  src/gdevdgbr.c
    Changed invocations of the sample_{load|store}_next32 macro to be
    invocations of sample_{load|store}_next_any instead.

  src/gdevmpla.c
    Changed invocations of the sample_{load|store}_next32 macro to be
    invocations of sample_{load|store}_next_any instead.

  src/gsbitops.c
    Changed invocations of the sample_{load|store}_next32 macro to be
    invocations of sample_{load|store}_next_any instead. Also made the
    value being read/written be of type gx_color_index rather than
    type bits32.

  src/gsbitops.h
    Added 64-bit versions of the sample_load* and sample_store* macros.
    Also added *_any versions of these macros, to be used in situations
    where any supported color depth may be encountered.

  src/gxcindex.h
    Changed an invocation of the sample_store_next32 macro to be an
    invocation of sample_store_next_any instead. Also updated a comment.

  src/lib.mak
    Updated the dependency list for gsbitops.c.

[src/lib.mak src/gxcindex.h src/gdevmpla.c src/gsbitops.h src/gdevdgbr.c src/gdevdbit.c src/gdevalph.c src/gsbitops.c]

2002-09-20T15:36:53.000000Z Igor Melichev

Fix : Overlapping format 4 CMap ranges, while arguably buggy, are commonly
found in quite a few popular CJK TrueType fonts.
Patch from Anthony Fok Tung-Ling.

[lib/gs_ttf.ps]

2002-09-19T19:51:20.000000Z Jack Moffitt

Fix: Typo in run_nightly.

[toolbin/tests/run_nightly]

2002-09-19T18:36:03.000000Z Dan Coby

The modification changes the way tile depth is encoded in the command
list as part of the cmd_opv_set_tile_size command.

Modified files:

  gxcldev.h
    Added the macros cmd_depth_to_code and cmd_code_to_depth. These allow
    encoding/decoding of the color model depth parameter (bits/pixel) in
    such a manner as to support depths up to 120 bits (depths > 15 bits
    must be a multiple of 8).

  gxclbits.c
    Modified cmd_store_tile_params to use the cmd_depth_to_code macro.

  gxclrast.c
    Modified read_set_tile_size to use the cmd_code_to_depth macro.

[src/gxclbits.c src/gxcldev.h src/gxclrast.c]

2002-09-19T18:10:00.000000Z Ray Johnston

Fix: If the CIDCount for a font exceeded 32767, building the CIDToGIDMap
would exceed the maximum string length. Create an array of two strings for
this case. Also issue a warning if the CIDToGIDMap stream did not contain
enough characters for the CIDCount. SourceForge bug #611099 for Artifex
Customer #350.

[lib/pdf_font.ps]

2002-09-19T18:00:01.000000Z Ray Johnston

Remove old code inadvertently left within a comment.

[src/gsfunc3.c]

2002-09-19T17:55:20.000000Z Ray Johnston

Fix: Adobe Illustrator 8, 9 and 10 create stitched functions with Bounds
arrays that are illegal according to the PLRM 3rd edition, and the PDF 1.4
reference. Adobe Acrobat handles these, so we do as well. Bounds that set
zero size ranges are now allowed (Bounds elements equal, or equal to one
of the Domain values). SourceForge bug 609024, 594291.

[src/gsfunc3.c]

2002-09-18T19:17:40.000000Z Jack Moffitt

Fix: On case-insensitive file systems, sometimes PDF file detection
wasn't working.

[toolbin/tests/gstestgs.py]

2002-09-18T19:15:30.000000Z Jack Moffitt

Implements daily results databases for regression results as well as a          new tool 'testdiff' to view the difference between two such databases.          Also updates the nightly report output to include a new section of just         that day's new regressions.

[toolbin/tests/gstestutils.py toolbin/tests/run_nightly toolbin/tests/gscheck_pdfwrite.py toolbin/tests/run_regression toolbin/tests/gssum.py toolbin/tests/gsconf.py toolbin/tests/testdiff toolbin/tests/gstestgs.py]

2002-09-18T16:58:01.000000Z Ray Johnston

Fix: Keep pagedevice and device views of .LockSafetyParams correct even
after a 'restore' is used to unlock. The dictionary fed to the setpagedevice
operator is allocated in the same VM space as currentpagedevice to avoid
invalidaccess problems.  Fixed SF #580029 and does not revert to the
incorrect behaviour of bug #516379.

[doc/Language.htm lib/gs_init.ps]

2002-09-17T22:09:21.000000Z Dan Coby

Fix:  Part 1 of 2 of a fix for 601694.  Remove check for color space ids
which was producing erroneous messages.  Replace it with code for
verifying that DeviceN and Separation info in imager state matches
the color space being used.

[src/gxistate.h src/gscpixel.c src/gscsepr.c src/gscdevn.c src/gscolor2.c]

2002-09-17T00:57:38.000000Z Ralph Giles

Fix: the console stubs are no longer necessary for the macos build.

[src/macgenmcpxml.sh]

2002-09-17T00:09:26.000000Z Ralph Giles

Fix: code cleanup in macos platform specific routines.

[src/gp_mac.c]

2002-09-16T23:45:02.000000Z Ralph Giles

Fix: removes an unused variable to clear a warning.

[src/vdtrace.c]

2002-09-16T23:23:16.000000Z Ralph Giles

Fix: removes unused variables to avoid warnings.

[src/gximono.c]

2002-09-16T22:04:43.000000Z Dan Coby

Add two casts to eliminate warning messages about differing pointer types.

[src/gdevmem.c]

2002-09-16T21:15:39.000000Z Ralph Giles

Fix: Mentions the autoconf build method in the installation documentation. Inspired by a user
report of having looked there first rather than at Make.htm; an understandible choice based on
linux packaging conventions.

[doc/Install.htm]

2002-09-16T20:58:52.000000Z Russell Lang

For Windows printers, change documentation to use the preferred
output file name %printer%xyz, not the old confusing \\spool\xyz.

[doc/Devices.htm]

2002-09-16T20:56:19.000000Z Russell Lang

For Windows printers, change documentation to use the preferred
output file name %printer%xyz, not the old confusing \\spool\xyz.

[doc/Devices.htm]

2002-09-16T20:35:07.000000Z Russell Lang

Change bmpgray device to use 8-bit 1 component instead of
instead of 8-bit 3 components.

[src/gdevbmp.c]

2002-09-16T17:11:15.000000Z Ralph Giles

Fix: removes to unused variables

[src/zcontrol.c]

2002-09-16T07:20:56.000000Z Igor Melichev

Fix (pdfwrite) : Completely removing the old PDF text code.

[src/gdevpdfs.c src/gdevpdft.c src/gdevpdfe.c src/gdevpdff.c src/gdevpdfw.c src/gdevpdft.h src/gdevpdff.h]

2002-09-16T07:01:43.000000Z Igor Melichev

Fix (pdfwrite) : /notdef characters caused font conversion to bitmap font;

[src/gdevpdtt.c src/gdevpdte.c]

2002-09-16T06:28:08.000000Z Igor Melichev

Fix (pdfwrite) : Text process fallback now restarts the text from the beginning
depending on font type.

[src/gdevpdtt.c src/gdevpdte.c]

2002-09-16T05:42:23.000000Z Igor Melichev

Fix (pdfwrite) : Text process fallback now restarts the text from the beginning.

[src/gdevpdtt.c]

2002-09-15T20:40:54.000000Z Ray Johnston

Fix: Resolve Function parameters (optional as well as required) when
creating the PostScript Function dictionary for shadings. Fixes SourceForge
bug #609486. Fixes based on analysis and preliminary fix by Dan Coby.

[lib/pdf_draw.ps]

2002-09-15T14:11:51.000000Z Igor Melichev

Fix (pdfwrite) : Completely removing the old PDF text code.

[src/gdevpdfx.h src/devs.mak]

2002-09-15T13:21:09.000000Z Igor Melichev

Fix (pdfwrite) : Completely removing the generation of "space chars",
because they can overflow Encoding.

[src/gdevpdts.c src/gdevpdti.c src/devs.mak src/gdevpdtf.h src/gdevpdti.h]

2002-09-15T12:23:08.000000Z Igor Melichev

Fix (pdfwrite) : (1) For better precision changing the internal representation
of Widths to double, and skipping small noise while writing Tj.
(2) Widths for Type 3 fonts were not computed (020-01.ps, 031-01.ps).

[src/gdevpdfx.h src/gdevpdtc.c src/gdevpdts.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdti.c src/gdevpdtt.h src/gdevpdtf.h]

2002-09-14T20:27:07.000000Z Igor Melichev

Fix (pdfwrite) : Skipping Tj breaks being equal to Tc.

[src/gdevpdts.c]

2002-09-14T19:29:30.000000Z Igor Melichev

Fix (pdfwrite) : (1) Unwinding the previous change for Tj (gdevpdts.c).
(2) sync_text_state now checks the ending position of the text
against the starting position of the text continuation (gdevpdts.c);
(3) font_orig_scale was erroneusely exchenged for original and copied fonts;
(4) Enhancing the hack in font_orig_scale with upside_down FontMatrix,
(Source Forge bug "[ 607480 ] 'Ghost' text appears").
(5) Enhancing same_type1_hinting with fonts with nulls in Subrs (gxfcopy.c,
test file of #607480). Debugged with 0.pdf and 020-01.ps.

[src/gxfcopy.c src/gdevpdts.c src/gdevpdtt.c]

2002-09-14T02:07:33.000000Z Igor Melichev

Fix (pdfwrite) : (1) The previous fix wrongly processed Metrics.
(2) TJ arguments were computed with accounting Tc taken from
a desincronized text state. (3) Type 42 missed side bearing.
(4) An optimization reduces calls to gs_default_glyph_info.
Debugged with 0.pdf .

[src/gdevpdts.c src/gstype42.c src/gdevpdtt.c src/gxtype1.c]

2002-09-13T23:43:07.000000Z Igor Melichev

Fix (pdfwrite) : (1) gs_glyph_info_t::v was uninitialized if glyph metrics
is taken from the outline (thanks to Erik Strik for spotting it).
(2) Improving glyph placement. (3) A minor optimization and improving some
comments about glyph placament.

[src/gxtype1.c src/gdevpdtt.c src/gdevpdte.c]

2002-09-13T22:25:07.000000Z Dan Coby

Add a macro to eliminate compiler warnings if size of gx_color_index is only
4 bytes.  We are defining a table with entry sizes up to 8 bytes.

[src/gxclutil.c]

2002-09-13T22:21:22.000000Z Dan Coby

Modified files:

  src/gxccache.c
    1. Fixed numerous problems with compress_alpha_bits and its invocation in
       gx_image_cached_char. The former procedure is called only if anti-
       aliasing (text alpha bits > 1) is called for a color that requires
       halftoning or for a device, such as pbmraw, that does not support the
       copy_alpha method. This happens infrequently, and the code was
       apparently never used.
    2. Moved the invocation of gs_set_dev_color to an earlier location in
       gx_image_cached_char, so that the device color will be set before
       any check is made to see if it is a pure color.

  src/gxclimag.c
    1. Added code in clist_fill_mask to return an error if the mask to be
       filled has depth > 1 and clist_disable_copy_alpha flag is set in the
       disable_mask field. The latter will be the case if the target device
       does not support copy alpha. The command list translates fill_mask
       calls into copy_alpha calls, which drives this requirement. By
       returning an error, the fall-back mechanism included in
       gx_image_cached_char (gxccache.c), which is the only client of the
       fill_mask method, can function properly.
    2. Also modified clist_fill_mask to check that the drawing color is
       pure if depth > 1 and use the default fill_mask method if this is
       not the case. (The copy_alpha call to which the command list code will
       translate the fill_mask works only for pure colors.) In addition, if
       the color is pure, the clist_fill_mask routine will now send commands
       to set color1 as well as transmit the device color; the code in
       clist_playback_band (gxclrast.c) assumes that all "copy_mono" and
       "copy_alpha" commands have set color1.

  src/gxclist.c
    Added code in clist_init_data to set the clist_disable_copy_alpha bit
    in the disable_mask field if the target device does not support the
    copy_alpha method. This must be done in this rather unintuitive location
    because it is impossible to tell if the target device supports copy_alpha
    until it has been made into a memory device (via the create_buf_device
    buffer device method).

  src/gxclist.h
    Defined the clist_disable_copy_alpha bit, which is used in the
    disable_mask field to indicate that the target device does not support
    the copy_alpha method.

  src/gxclrast.c
    Added include of gzht.h, to silence some compiler complaints.

  src/gxclrect.c
    Modified clist_copy_alpha to return an error if clist_disable_copy_alpha
    bit is set in the disable_mask field. This bit indicates that the target
    device does not support the copy_alpha method, so we might as well
    return an error now, while there is a chance the client might be able to
    do something about it.

  src/lib.mak
    Updated the dependency list for gxclrast.$(OBJ).

[src/lib.mak src/gxclist.c src/gxclist.h src/gxccache.c src/gxclrast.c src/gxclrect.c src/gxclimag.c]

2002-09-12T18:10:54.000000Z Dan Coby

Update the device API documentation to include the changes made for
support of various DeviceN related features.

[doc/Drivers.htm]

2002-09-12T09:52:20.000000Z Ralph Giles

Bump version numbers after 7.30 release.

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

2002-09-11T15:10:23.000000Z Igor Melichev

Fix (pdfwrite) : Improving the logics of merging same fonts,
and fixing a bug in gs_copied_can_copy_glyphs.

[src/gxfcopy.c src/gdevpdtt.c]

2002-09-11T11:26:13.000000Z Igor Melichev

Fix (pdfwrite) : Completing the logics of the Widths array generation.
Now the contents of Widths is taken from embedded font,
but widths for glyphs placement (Tj) are from original font.

[src/gdevpdtt.c src/gdevpdte.c]

2002-09-11T11:18:39.000000Z Igor Melichev

Fix (pdfwrite) : PDFSETTINGS=screen should embed fonts.
SourceForge bug "[ 592833 ] Bad image and font appearance".

[lib/gs_pdfwr.ps]

2002-09-10T23:28:48.000000Z henrys

The last code change for the this file was incorrect and should be
replaced with this entry.  The previous log message is still
applicable.

[src/gxcmap.c]

2002-09-10T22:16:07.000000Z Dan Coby

The attached code release addresses a number of issues:

  1. Most of the code changes are required to turn off overprint mode when
     processing images, smooth shading fills (shfill operator), or
     when using PatternType 2 (smooth shading) patterns.

  2. A few other changes were required to correct improper updating of the
     overprint compositor information.

  3. The code has been modified to avoid the crash that was observed for
     the file 86554321.pdf on MSWindows XP systems.

  4. The command list playback code has been modified to handle filling of
     thin lines in a manner consistent with the noband case. This allows
     files such as mspro.pdf to be rendered consistently in the banded and
     noband case.

                                                                Jan


Modified Files:

  lib/gs_img.ps
    Added code to turn off overprint mode for images.

  lib/gs_ll3.ps
    Added code to turn off overprint mode for shfill.

  src/gscolor2.c
    1. Modified gs_setcolorspace to call gs_do_set_overprint rather than
       invoking the color space's set_overprint routine directly. This
       allows pattern color spaces to be handled (somewhat more) correctly.
    2. Modified gs_setcolor to update overprint information. This is
       necessary for pattern color spaces, where the color space to be used
       for overprint purposes may be part of the color.

  src/gscspace.c
    Modified gx_set_overprint_DeviceCMYK to use the effective_overprint_mode
    parameter in the image state (rather than the overprint_mode parameter
    itself). This is part of the change necessary to allow overprint mode to
    be turned off when a PatternType2 pattern is used as the current color.

  src/gsdevice.c
    Modified gs_set_device_no_init to call gs_do_set_overprint rather than
    invoking the color space's set_overprint routine directly.

  src/gsdps1.c
    Modified rectfill to use the effective_overprint_mode parameter in the
    imager state (rather than the overprint_mode parameter).

  src/gsovrc.c
    1. Fixed a bug in overprint_draw_thin_line: the third and fourth
       operands in the call to gx_default_draw_thin_line (the y coordinate
       of the first point and the x-coordinate of the second) were
       in reverse order. This caused random lines to appear on various
       overprint mode tests (e.g.: BEST99-00-Path.fh7.pdf,
       Testform.v1.0.2.pdf).
    2. Fixed typo in comment.
    3. Modified the fill_in_procs procedure to initialize the device color
       model information for the temporary device used in this routine.
       Though the color model information does not affect the output of
       the routine, reasonable values must be provided to avoid problems
       when gx_device_forward_fill_in_procs calls gx_device_fill_in_procs.
       This would cause certain systems to crash with files that involved
       overprint/overprint mode (e.g.: 86554321.pdf on MSWinXP/MSVC systems).
    4. Modified several checks that treated the separable_and_linear flag
       in the device color model information as a boolean to handle this
       parameter as an enumeration instead (since it is an enumeration).

  src/gsptype1.c
    Added gs_pattern1_set_color, the set_color method appropriate for
    PatternType 1 patterns. This method performs overprint updating at
    setcolor time, a requirement for patterns as the "colorspace" to be
    used for overprint purposes is determined (in part) by the current
    "color" (pattern).

  src/gsptype2.c
    Added gs_pattern2_set_color, the set_color method appropriate for
    PatternType 2 patterns.

  src/gsstate.c
    1. Changed the criterion used in gs_grestore_only to determine if the
       overprint compositor must be updated. Restoring the graphic state
       may change the current color, which in the case of patterns may
       change the "colorspace" to be used for overprint purposes. The code
       now properly handles this possibility.
    2. Added the gs_do_set_overprint routine, and modified various other
       routines that directly call the current color space's
       set_overprint method to call this procedure instead. The procedure
       implements the special handling required for pattern color spaces,
       where the current color may need to be considered when determining
       which color model components must be retained.
    3. Added code to initialize the effective_overprint_mode parameter in
       the imager state, and provided two external routines to manipulate
       this parameter. The first routine, gs_disable_effective_overprint_mode,
       sets the effective_overprint_mode parameter to false, irrespective
       of the setting of the overprint_mode parameter. The second,
       gs_reset_effective_overprint_mode, sets the effective_overprint_mode
       parameter to have the same value as the overprint_mode parameter.
       The effective_overprint_mode parameter is used to turn off
       overprint_mode when a PatternType 2 pattern is being used.

  src/gsstate.h
    Added prototypes for gs_do_set_overprint,
    gs_disable_effective_overprint_mode, and
    gs_reset_effective_overprint_mode.

  src/gxccache.c
    Modified gx_image_cached_char to invoke gx_set_dev_color before calling
    (non-standard) device fill_mask methods. This handles several
    situations in which a device color is not set when a cached character
    is to be imaged, in particular for the command list device.

  src/gxclpath.c
    Added a comment to indicate that, though the overprint and
    overprint_mode parameters are passed through the command list, they
    usually have no effect, as overprint is controlled by the compositor
    information that is (also) passed through the command list.

  src/gxclrast.c
    1. Added a comment to indicate that the overprint and overprint mode
       parameters passed through the command list usually have no effect.
    2. Added code to initialize the effective_parameter_mode field in the
       imager state (though this field is usually in-effective).
    3. Initialized the fill_zero_width field of the fill_params structure
       in clist_playback_band to have the same value as in the noband case.
       This parameter was previously always set to false, which led to
       dropped lines for some files (e.g.: mspro.pdf).

  src/gxistate.h
    Added the effective_overprint_mode parameter.

  src/gxpcolor.h
    Added a set_color method to the pattern method vector. This method
    performs any PatternType-specific actions necessary at setcolor
    time. For now, this just updates the overprint compositor as required.

  src/int.mak
  src/lib.mak
    Updated various dependency lists.

  src/zcolor.c
    Added code to disable overprint mode for PatternType 2 patterns.

[src/gsptype1.c src/gsptype2.c src/gsstate.h src/int.mak lib/gs_img.ps src/gxclrast.c src/gscspace.c src/gsdevice.c src/gscolor2.c src/lib.mak src/gxistate.h src/gsdps1.c lib/gs_ll3.ps src/gxpcolor.h src/gsovrc.c src/gxccache.c src/zcolor.c src/gxclpath.c src/gsstate.c]

2002-09-09T16:08:19.000000Z Ralph Giles

Fix: Correct duplicate definition of pdf_font_cache_elem_t which prevented compilation.

[src/gdevpdfx.h]

2002-09-09T12:05:59.000000Z Russell Lang

Update documentation to remove some confusion between
Borland C++ 5 and Borland C++Builder 5.

[src/bcwin32.mak doc/Make.htm]

2002-09-09T08:11:44.000000Z Russell Lang

German man page translation updates from Thomas Hoffmann.

[man/de/pdf2dsc.1 man/de/wftopfa.1 man/de/ansi2knr.1 man/de/ps2ps.1 man/de/font2c.1 man/de/gsnd.1 man/de/dvipdf.1 man/de/pdfopt.1 man/de/ps2ascii.1 man/de/ps2pdf.1 man/de/pdf2ps.1 man/de/printafm.1]

2002-09-09T07:29:07.000000Z henrys

Fix:  temporary workaround for uninitialized reads in 045-01.ps.

[src/gxcmap.c]

2002-09-08T20:42:13.000000Z Igor Melichev

Fixing C style for pdf_font_cache_elem_t definition.

[src/gdevpdfx.h]

2002-09-08T20:29:07.000000Z Igor Melichev

Fix : Propagating possible error in type0_from_cidfont_cmap.

[src/gsfont0c.c]

2002-09-08T20:20:12.000000Z Igor Melichev

Fix (pdfwrite): Virtual function same_font cannot work properly
if arguments have different representation (particularly for
comparing an original font with its stable copy).
Due to it pdf_font_resource_t::Widths mixed widths taken from
fonts variations with different metrics.
Entirely changing the logics of creating font resources
with new function gs_copied_can_copy_glyphs.
Source Forge bugs :
#596394 (pdfwrite) Wrong glyph width (093-01.ps),
#567604 missing characters with -c save pop
#596284 font spacing/ragged edge on text column

[src/gdevpdfx.h src/gxfcopy.c src/gdevpdtt.c src/gxfcopy.h src/gdevpdtt.h src/devs.mak src/lib.mak src/gsfcid.c src/gdevpdtb.c src/gdevpdtc.c src/gdevpdtd.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdti.c src/gdevpdtf.h src/gxfcid.h]

2002-09-07T22:52:43.000000Z Raph Levien

Updates changelog docs as part of 7.30 release process.

[doc/Changes.htm doc/History7.htm doc/News.htm]

2002-09-07T22:45:57.000000Z Raph Levien

Minor tweaking to version numbering language.

[doc/Release.htm]

2002-09-07T22:12:27.000000Z Ralph Giles

Adds a description of our release numbering scheme and clarifies the updating process. Based on a patch from L. Peter Deutsch.

[doc/Release.htm]

2002-09-07T20:33:04.000000Z Raph Levien

Documentation to accompany gdevperm.c (permute device).

[doc/Develop.htm doc/Devices.htm]

2002-09-07T20:02:54.000000Z Raph Levien

Removes just a bit more dead code from the old x11alpha driver.

[src/gdevxalt.c]

2002-09-07T20:02:26.000000Z Raph Levien

Adds "permute" device for testing consistency between DeviceCMYK and
DeviceN color models.

[src/gdevxcf.c src/devs.mak src/gdevperm.c]

2002-09-07T19:57:36.000000Z Ralph Giles

Fix: remove X11 lib and include directives from the MacOS X-specific makefile.

[src/macosx.mak]

2002-09-07T19:09:40.000000Z Ralph Giles

Update the stress-test buffer size for the smoke test to a value which works with the devicen
code (100k vs 50k).

[doc/Release.htm]

2002-09-07T18:28:37.000000Z Ralph Giles

Update libpng versions to latest release.

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

2002-09-07T18:11:58.000000Z Ralph Giles

Update version numbers for 7.30 release.

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

2002-09-07T18:05:08.000000Z Ralph Giles

Fixes incorrect links in the previous commit.

[doc/Develop.htm]

2002-09-07T18:03:07.000000Z Ralph Giles

Add the well-tempered screening source files to the developer documentation.

[doc/Develop.htm]

2002-09-07T17:57:09.000000Z Ralph Giles

Update versions, news and bug list for 7.30 alpha release.

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

2002-09-06T20:52:19.000000Z Russell Lang

Fix: copy comment lines inside a procedure which require a
scanner refill to the operand stack, not the execution stack.
Fixes SourceForge bug #605240, 070-01.ps fails in
.parse_dsc_comments.

[src/iscan.c]

2002-09-06T18:42:16.000000Z Dan Coby

Fix: Corrected the ID line.  (Missing $ sign at the end.)

[src/zcolor3.c]

2002-09-06T13:41:37.000000Z Ralph Giles

Adds the new devicen-specific devices to the autoconf build.

[src/Makefile.in]

2002-09-06T05:16:58.000000Z Dan Coby

Include more DeviceN files.  Correct a few typos in the previous commit.

[doc/Develop.htm]

2002-09-05T21:19:20.000000Z Russell Lang

Add redundant parentheses to dci_std_color_bits macro to
work around MSVC 7 internal compiler error.

[src/gxdevcli.h]

2002-09-05T20:04:27.000000Z Ray Johnston

Fix: Apparently filters that expect EOD throw an ioerror if no data is
received. Just processes without invoking any filter and everything works
as Adobe Acrobat Reader does. SourceForge bug #605236 for customer 561.

[lib/pdf_base.ps]

2002-09-05T18:07:59.000000Z Igor Melichev

Fix : (1) ioerror was missed after opening a stream;
(2) pdfwrite/epswrite missed ioerror writing a CFF.
Source Forge bug #601238 "segv due to s_init_filter ignores errors".

[src/gdevpdf.c src/gdevpsf2.c src/stream.c]

2002-09-05T12:20:48.000000Z Russell Lang

Delete all temporary files when the interpreter closes.

[doc/Language.htm]

2002-09-05T11:04:42.000000Z Russell Lang

Remove old icon gsgraph.icx.

[src/gsgraph.icx]

2002-09-05T10:23:00.000000Z Russell Lang

Delete all temporary files when the interpreter closes.

[src/imain.c]

2002-09-05T09:12:30.000000Z Igor Melichev

Fix (pdfwrite) : (1) Moving the temporary CID font wrapper
from stable to non-stable memory, because its descendent
font is non-stable; (2) Removing pdf_font_resource::glyphshow_font,
because after (1) it points from stable to non-stable memory.
(3) representing the "glyphshow_font" association with a search
through gs_font_dir::orig_fonts by font id. Introducing a new
graphics library function gs_find_font_by_id for (3).
Source Forge bug "[603955] (pdfwrite) wrong memory allocation, segv"

[src/gdevpdtc.c]

2002-09-05T09:03:42.000000Z Igor Melichev

Fix (pdfwrite) : (1) Moving the temporary CID font wrapper
from stable to non-stable memory, because its descendent
font is non-stable; (2) Removing pdf_font_resource::glyphshow_font,
because after (1) it points from stable to non-stable memory.
(3) representing the "glyphshow_font" association with a search
through gs_font_dir::orig_fonts by font id. Introducing a new
graphics library function gs_find_font_by_id for (3).
Source Forge bug "[603955] (pdfwrite) wrong memory allocation, segv"

[src/gsfont.c src/gsfont0c.c src/gdevpdtf.c src/gsfont.h src/gdevpdtf.h]

2002-09-05T08:54:08.000000Z Ralph Giles

Adds support for the GX_COLOR_INDEX_TYPE define to the autoconf build. The script tries a variety of likely candidates for a 64-bit type and passes the first one found through the GCFLAGS makefile variable. If no such type is found, it does nothing special, allowing the code in gxcindex.h to fallback to a 32-bit type.

[src/configure.ac]

2002-09-05T08:50:53.000000Z Igor Melichev

Fix : The "Fix: add missing header for isxdigit()." missed
the dependency update in devs.mak .

[src/devs.mak]

2002-09-05T08:34:00.000000Z Russell Lang

Fix: Provide an implementation of popen for Windows, to
avoid the broken implementation in MSVC++ 5 and 6.  This
allows pswrite to output to a pipe on Windows. Fixes
SourceForge bug #482038, pswrite does not write to pipe.

[src/pipe_.h src/gp_mswin.c src/winlib.mak]

2002-09-05T08:28:48.000000Z Russell Lang

Fix: process comment lines when they straddle a buffer
boundary, so that all DSC comments can be processed by the
PDF writer. Fixes SourceForge bug #432040, DSC ignored when
reading stdin.

[src/iscan.c]

2002-09-05T04:18:47.000000Z Dan Coby

Add documentation for new files added during DeviceN support development.

[doc/Develop.htm]

2002-09-04T23:09:12.000000Z Ray Johnston

Fix: Logic to invoke banding was confused. Banding gets used when the
bandsize is too small for the full page raster. A bandsize of 10000 causes
banding.

[toolbin/tests/gstestgs.py]

2002-09-04T21:44:14.000000Z Russell Lang

Changes required for compilation on HPUX and Tru64.
Add missing header in lib.mak after gxdcolor.h added to gscolor3.c.
Change dci_std_color_bits macro to prevent a divide by zero,
caused by the compiler not using shortcut evaluation in
an initializer.

[src/lib.mak src/gxdevcli.h]

2002-09-04T19:55:05.000000Z Ralph Giles

Fix: Remove trailing comma from enum declaration. Some compilers complain about this.

[src/gxclpath.h]

2002-09-04T10:15:33.000000Z Ralph Giles

Code cleanup and warning fixes for macos platform-specific routines.

[src/gp_macio.c]

2002-09-04T08:57:03.000000Z Ralph Giles

Update project file generation script to support Metrowerks CodeWarrior 7.

[src/macgenmcpxml.sh]

2002-09-04T07:21:26.000000Z Dan Coby

Added description of files added while implementing DeviceN color handling.

[doc/Psfiles.htm]

2002-09-04T06:40:50.000000Z Ray Johnston

Fix: Detect overflow in gs_point_transform2fixed and return limitcheck if
overflow would occur. Thanks to Jeong Kim for analysis and suggesting a
solution. Final solution uses integer operations. Fixes bug #570181 for
Artifex customer #870.

[src/gsmatrix.c src/gxfixed.h]

2002-09-04T06:36:37.000000Z Dan Coby

Remove gdevht.c and gdevht.h.  Also delete outdated references in lib.mak
and a few other files.

[src/lib.mak src/gdevht.c src/gdevht.h src/gxclrast.c src/gxclread.c]

2002-09-03T19:45:23.000000Z Igor Melichev

Fix (pdfwrite) : pdf_font_resource_enum_ptrs was buggy since revision 1.9 .

[src/gdevpdtf.c]

2002-09-03T17:48:28.000000Z Raph Levien

Removes dead code harking back from the old, broken x11alpha device.

[src/gdevxalt.c]

2002-09-03T02:58:48.000000Z Dan Coby

Modified File:

  src/gxdevndi.c
    Modified gx_render_device_DeviceN to always perform the conversion
    from color component intensity values to halftone levels in an
    additive sense, if the gray_colorspace operand is true. This is
    necessary for compatibility with the pre-DeviceN code.

[src/gxdevndi.c]

2002-09-02T22:09:15.000000Z Ray Johnston

Fix: Don't skip '\f' or '\0' after eexec but still skip
\r', '\n', '\t', ' ' because Adobe interpreters do this.
Bug #594741 from a free user. Fix by Alex Cherepanov.

[src/seexec.c]

2002-09-02T22:01:20.000000Z Ralph Giles

Fix: add missing header for isxdigit().

[src/gdevpdtb.c]

2002-09-02T21:09:29.000000Z Ralph Giles

Fix: cleanup the new code for the metrowerks compiler on macos.

[src/gxwts.c src/gdevdgbr.c src/gscolor3.c]

2002-09-02T16:47:37.000000Z Igor Melichev

Fixing an uninitialized pointer in gs_type0_data_s.

[src/gsfont0c.c]

2002-09-01T23:42:32.000000Z Ray Johnston

Fix: Initialize graphic state (except CTM) before rendering annotation
appearance stream as stated in 7.4.4 of the PDF reference. Bug #576586,
customer #580. Fix by Alex Cherepanov.

[lib/pdf_draw.ps]

2002-09-01T16:02:12.000000Z Igor Melichev

Fix (pdfwrite) : 'Td' sometimes was missed due to
sync_text_state wrondly checked text position.
Discovered with 129-01.ps .

[src/gdevpdts.c]

2002-09-01T01:44:15.000000Z Igor Melichev

Fix: Write named COS objects which go out of scope with the
local namespace. Source Forge bug #600243. Patch from
Alex Cherepanov.

[src/gdevpdfm.c]

2002-08-30T23:37:12.000000Z Dan Coby

Fix:  Yesterday's commit of the delayed loading of a binary halftone cache
created some memory management problems.  Clear b_tile pointer until the
cache is loaded.  Modify pointer enum routines to allow for null cache pointer.

[src/gxht.c]

2002-08-30T13:40:56.000000Z Igor Melichev

Fix : z1_glyph_info missed side bearing for WMode 0.

[src/zchar1.c]

2002-08-30T09:30:27.000000Z Igor Melichev

Fix (pdfwrite): Implementing settransfer after DeviceN merge.

[src/gdevpdfg.c]

2002-08-30T06:19:54.000000Z Dan Coby

A line was left out of the previous commit.  This is part of the
splitting of the load the binary halftone cache until it is ready
to be used.

[src/gxht.c]

2002-08-30T04:39:10.000000Z Dan Coby


This is a repeat of an earlier commit that was backed out.  Its back.

Split the binary half tone cache initialization into two pieces.  The halftone
cache is now initialized just prior to being used in the various halftone render
routines.  This was doe to prevent a problem with cache conflicts.  If the half
tone cache is not large enough for a separate tile for each level then there could
be a problem if two different device colors used the same cache entry but with
different level values.

[src/gximono.c src/gxht.c]

2002-08-30T02:38:24.000000Z Dan Coby

The attached code fixes a minor problem introduced in our release
of August 26th. That release changed the behavior of the gx_path_bbox
procedure (gxpath2.c) so as to make the banding and non-banding cases
consistent. In the process we inadvertently also changed the behavior
of the pathbbox operator. This fix restores the proper behavior of
that operator.

Also included is a modified version of gsht.c for interim use. This is
not intended for final release. The gx_imager_dev_ht_install routine
is modified in this code to ensure that the halftone caches are also
made large enough to provide (at least) one tile per level. Doing so
avoids the cache overwrite bug that Dan has described, which avoids
many spurious differences in the regression test. Once Dan's fix for
the handling of the halftone tile in binary halftone colors is
installed, this version of gsht.c may be discarded.


Modified files:

  src/gspath1.c
    Modified gs_upathbbox to call gx_path_bbox_set rather than
    gx_path_bbox. The former will return the bounding box set via the
    setbbox operator, if that operator has been used for the current
    path; otherwise it will return the actual path bounding box. The
    latter will always return the actual path bounding box.

  src/gxpath.h
  src/gxpath2.c
    Added the gx_path_bbox_set procedure, which will return the
    bounding box set by the setbbox operator if that operator has been
    used for the current path.

Temporary Files:

  src/gsht.c
    Modified the gx_imager_dev_ht_install procedure to always allocate
    caches large enough to provide (at least) one tile per level. This
    is a temporary hack to avoid a bug with the handling of tiles for
    binary halftone colors. It is not intended for the final release.

[src/gxpath2.c src/gxpath.h src/gsht.c src/gspath1.c]

2002-08-29T06:26:22.000000Z Ray Johnston

Fix: Partial fix to 600855 to allow the pdfwrite (Distiller) to learn the
original font name as well as the unique font name generated by the
PDF interpreter when it copies a font and changes the Metrics and/or
Encoding. The FontName was made unique by appending a series of ? chars
until a unique name was generated. Now the suffix string itself is also
defined in the modified font dictionary with the /FontNameSuffix key.
The pdfwrite text handling needs to be modified to use this information.

[lib/pdf_font.ps]

2002-08-29T05:41:30.000000Z Ray Johnston

Merge page device Policies from the driver and defaults during the
device initialization to avoid duplication of code for default
policies in the driver (no devices yet do this).  Previously, the whole
/Policies dictionary was replaced forcing the driver to duplicate code.
Improvement developed by Alex Cherepanov.

[lib/gs_setpd.ps]

2002-08-29T00:11:30.000000Z Dan Coby

The two files were missed in earlier commits.

Missing from the 8-28-02 commit form ORIMP.

  src/gxdcolor.c
    Added the "get_phase" method to the gx_device_color_type_t structure,
    and installed this method in various instances of the structure. Also
    provided the two canonical implementations of this method.


Missing from the 8-26-02 commit from ORIMP.

  src/gxdhtserial.c
    1. Updated gx_ht_read_tf and gx_ht_read_and_install to properly
       use the reference count in a transfer function.
    2. Fixed various other errors discovered when this code was first
       used.

[src/gxdhtserial.c src/gxdcolor.h]

2002-08-28T23:11:06.000000Z Dan Coby

We have traced the difficulties with multiple-band processing in the code
we released on Aug. 26 to two problems:

  1. The halftone phase information is not adjusted for bands that
     start at locations other than the top of the page.

  2. The "moveto closepath" style of degenerate path, which our code
     allows to be passed through the band list, is used in the path
     encoding code to indicate that a path lies entirely outside the
     current band (i.e.: all of the path operators between the initial
     moveto and the final closepath have been skipped because they are
     outside of the band). This resulted in the code passing isolated
     "closepath" segments through the command list, which much confused
     the band list renderer.

The attached code release fixes both of these problems, and a couple of
other more minor issues we discovered. With this change, our system has
identical output for the banded and unbanded case for the pkmraw device
at 300 dpi, for all but one FTS file (027-09.ps). In that one case, the
banded and unbanded output are visually identical, so the output difference
may not be significant. We will look into this situation, and test some
of the other devices in the next day or so.

As best we can tell, halftone phase adjustment has never been correctly
implemented for the command list device. The pre-DeviceN code handles
binary halftone colors properly, but does not set the phase for general
colored halftones. General colored halftones are much more common in the
DeviceN code, which probably is the reason Dan first noticed the problem
with FTS file 245-07.ps (and others) with the DeviceN code.

                                                         Jan

Modified Files:

  src/gsht.c
    Modified the code that calculates the lcm_height field of a device
    halftone in gx_imager_dev_ht_install to use the full_height rather
    than the height of a halftone order. This typo was introduced sometime
    during the DeviceN development; the pre-DeviceN code was correct.

  src/gsptype1.c
  src/gsptype2.c
  src/gxwts.c
    Added the "get_phase" method to various gx_device_color_type_t
    instances.

  src/gxcht.c
  src/gxht.c
    Added the "get_phase" method to a pair of gx_device_color_type_t
    instances. Also modified the "write" and "read" methods of these
    structures to ignore halftone phase information. This information
    must be passed to and be directly handled by the command list
    writer code, so that the command list renderer code may correct it
    for the band starting coordinates.

  src/gxclpath.c
    1. Modified cmd_put_drawing_color to directly handle halftone phase
       information, using the new "get_phase" method of device colors.
       The passing of this information must be perfomed at the command
       list level, so that the command list renderer can correct the
       phase for the starting point of the band.
    2. Also in cmd_put_drawing_color, "unset" the saved color information
       if the halftone id does not match the most recently set halftone,
       rather than setting the saved color pointer to 0.
    3. In cmd_put_path, when processing a segment containing a
       moveto followed by a closepath, check if the moveto was to a point
       outside of the current band, and discard the closepath if this
       is the case. This is necessary to avoid inserting isolated
       closepath segments into the command list.

  src/gxclrast.c
    Added code to initialize the dev_color variable to clist_playback_band
    to "no color".

  src/gxdcolor.c
  src/gxdcolor.h
    Added the "get_phase" method to the gx_device_color_type_t structure,
    and installed this method in various instances of the structure. Also
    provided the two canonical implementations of this method.

[src/gxwts.c src/gsptype1.c src/gsptype2.c src/gxcht.c src/gxdcolor.c src/gsht.c src/gxclrast.c src/gxclpath.c src/gxht.c]

2002-08-28T17:34:16.000000Z Raph Levien

Fix: Improve accuracy of transparency detection logic. Fixes SF
bug #586595.

[lib/pdf_main.ps]

2002-08-28T16:20:19.000000Z Ray Johnston

Fix: Unbound null in the PostScript setup code (gs_init.ps) allowed redef
of /null to cause problems. Replace null with //null immediate name binding
to prevent this. Fixes SF bug #539239. Fix by Alex Cherepanov.

[lib/gs_init.ps]

2002-08-28T15:19:12.000000Z Ray Johnston

Fix: FILE_IMPLEMENTATION=fd results in mixed use of unbuffered and
buffered output but the rest of the driver always uses buffered output.
Flushing the buffer in several places solves the problem. Fixes bug
#427347. Fix and analysis by Alex Cherepanov.

[src/gdevpsu.c src/gdevps.c]

2002-08-28T14:32:28.000000Z Ray Johnston

Fix: The technique used to prevent PageSize dimension of 0 silently set the
page size to 6 points whenever the dimension was < 6. Now either dimension
of 0 causes configurationerror from setpagedevice, but small non-zero
values are allowed if the InputAttributes allows it.
Fixes SourceForge bug 521916. Fix mostly by Alex Cherepanov.

[lib/gs_setpd.ps src/zmedia2.c]

2002-08-28T07:07:08.000000Z Ray Johnston

Fix: Extra 'ifelse' in a pdfformaterror case when the Widths array was
smaller than the character range. No SF bug, but fixes George.pdf for
Artifex customer #1 (their support ticket 1-2398).

[lib/pdf_font.ps]

2002-08-28T00:16:14.000000Z Raph Levien

Fix: byte* filearg should be a char* and copied to the heap.  Fixes
SF bug #509646. Also adds byte */char * string convention to
C-style.htm.

[src/icstate.h doc/C-style.htm src/imainarg.c]

2002-08-27T20:27:26.000000Z Ralph Giles

Fix: update MacOS build for changes in gs_abort().

[src/gp_mac.c]

2002-08-27T13:22:24.000000Z Igor Melichev

Fix (pdfwrite) : Uninitialized variable in psf_write_type2_font().

[src/gdevpsf2.c]

2002-08-27T06:55:54.000000Z Ray Johnston

Move the module back to the same as rev 1.5 as the basis for future fixes.
Rev 1.6 was reinstated to avoid a spurious tag for 7.22, but the 1.6
version was flawed and removed by Igor Melichev.

[src/gdevpdtw.c]

2002-08-27T06:51:20.000000Z Ray Johnston

pdfwrite/pdxtext: (1) Widths were computed wrongly,
(2) standard fonts missed Widths. Change by Igor Melichev, later removed.
Reinstated by rayjj since this was part of the 7.22 release.

[src/gdevpdtw.c]

2002-08-26T23:07:00.000000Z Dan Coby

Another fix of a problem that had been previously fixed and lost due to
a commit of files from ORIMP.  MSVC will not accept { } for a structure
initializer.  Added a zero to keep MSVC happy.  Problem previously fixed
by Igor.

[src/gsht1.c]

2002-08-26T23:02:24.000000Z Dan Coby

Re corrected a problem with an illegal (from the point of view of MSVC)
period in a marcro name.  Problem previously fixed by Igor.  It came
back in the previous commit which came from ORIMP.

[src/lib.mak]

2002-08-26T23:00:07.000000Z Dan Coby

Modified files:

  src/gdevdbit.c:
    Changed gx_default_fill_mask to use the fill_masked routine of the
    device color. This avoids an instance in which a possibly
    uninitialized halftone tile is used for drawing. It also makes the
    code considerably cleaner.

  src/gscdefs.h
    Re-installed the definition of extern_gs_find_compositor, which had
    in-advertently been lost in a recent code merge.

  src/gsdcolor.h
    Added the colors.binary.b_level field to the gx_device_color_saved
    structure. Also added a comment explaining why this structure is
    used rather than the gx_device_color structure itself.

  src/gsht.c
    This file should be identical to the version released on Aug. 22nd.
    We are releasing again here just to guard against this code being
    committed without the former change.

  src/gsht1.c
    Modified the check for "binaryness" of a device color model in
    gs_sethalftone_try_wts to handle cases in which not all of the depth
    bits are used.

  src/gstext.c,
  src/gxtext.h
  src/zchar.c
    These files are identical to the set released on Aug. 23rd (the fix
    for color changes in a kshow procedure). We are releasing them again
    here to make certain the rest of this code is not committed without
    the former change.

  src/gxacpath.c
    Modified gx_cpath_accum_end to set the new bbox_accurate field rather
    than the bbox_set field. This avoids overloading the bbox_set field
    in a way that can lead to inconsistent output when the setbbox
    operator is used with a path.

  src/gxcht.c
  src/gxht.c
  src/gxdcolor.c
  src/gxdcolor.h
    Modified the "write" methods for various color spaces so that their
    return value can indicate that the operand and last transmitted
    colors are the same. Also fixed various bugs uncovered when the
    modular device color serialization/de-serialization was first used.
    The changes to gxdcolor.h involve only comments.

  src/gxcldev.h
    1. Added a saved device color (gx_device_color_saved) to the band
       state structure.
    2. Removed the (long since unnecessary) type operand from the
       cmd_put_halftone procedure.
    3. Commented out some now obsolete command codes.

  src/gxclimag.c
    1. Modified clist_fill_mask to work with the new, modular drawing
       color serialization/de-serialization routines.
    2. Rewrote cmd_put_halftone as required by the new mechanism for
       serializing/de-serializing device halftones.
    3. Modified various invocations of cmd_put_halftone to discard the
       the type operand.

    Note: The existing code impose a requirement that image objects that
          used a device color (e.g.: image masks) would only be passed
          through the command list if that color is pure. We do not
          know why this limitation was necessary, and suspect it is no
          longer necessary, but we have left it in place for now.

  src/gxclist.c
    Added gxdcolor.h to the included file list.

  src/gxclpath.c
    1. Rewrote cmd_put_drawing_color to use the new mechanism for
       serialization/de-serialization of device colors.
    2. Removed the device color type information from the stroke/
       fill/polyfill commands.
    3. Modified cmd_put_path so that "moveto closepath" is not
       passed through the command list as just "moveto".

  src/gxclpath.h
    1. Added the cmd_opv_ext_put_ht_seg, to allow device halftones to be
       split across multiple command buffers. Also added the macro
       cbuf_ht_seg_max_size, to indicate the largest halftone segment to
       be put in a single command buffer.
    2. Commented out some now obsolete command codes.

  src/gxclrast.c
    1. Modified the code to read device halftones and device colors to
       use the new serialization/de-serialization methods for these
       structures.
    2. Modified various locations in which partial/temporary device
       colors are used to use the current color for the band.
    3. Removed code for the various stroke/fill/polyfill commands that
       encode device color type as part of the command.
    4. Added code to save the current color when a pure color must be
       set to generate a clip region using the fill procedure.
    5. Modified the clip path reading code to flatten the clip path
       before passing it to the fill operation. This is necessary to
       ensure consistent results between the banded and non-banded
       cases (the non-banded case also flattens a clip path before
       passing it to the fill operation).

  src/gxdhtserial.c
    1. Updated gx_ht_read_tf and gx_ht_read_and_install to properly
       use the reference count in a transfer function.
    2. Fixed various other errors discovered when this code was first
       used.

  src/gxdhtserial.h
    Fixed typo.

  src/gxpath.c
    Initialize the new bbox_accurate field of the gx_path structure to
    false in gx_path_init_contents.

  src/gxpath2.c
    Modified gx_path_bbox to use the bbox_accurate rather than bbox_set
    field to determine if the bounding box of a path needs to be
    explicitly calculated. If bbox_set is true, the bounding box
    in the bbox field will contain the current path, but may be larger
    than necessary. Due to a problem in the clip/fill code, the larger
    bounding box may generate slightly inconsistent results.

  src/gzpath.h
    Added the bbox_accurate field to the gx_path_s structure. This field
    is used by the clip accumulator device, which avoids the need to
    overload the bbox_set field (which is also used by the setbbox
    operator).

  src/lib.mak
    Updated varius dependency lists.

[src/gxcht.c src/gxpath2.c src/gxclist.c src/gstext.c src/gxclpath.h src/gxdcolor.c src/gsdcolor.h src/gstext.h src/gscdefs.h src/gxdhtserial.h src/gsht1.c src/gxdcolor.h src/gxclrast.c src/gdevdbit.c src/gxpath.c src/gxclimag.c src/lib.mak src/gxacpath.c src/gxcldev.h src/gzpath.h src/gsht.c src/zchar.c src/gxht.c src/gxclpath.c]

2002-08-26T22:51:53.000000Z Dan Coby

Modified files:
  src/gstext.h
  src/gstext.c
    Added the routine gs_text_update_dev_color, to update the color
    used for drawing text if this changes during a text operation
    (e.g.: due to the action of a kshow or cshow procedure).

  src/zchar.c
    Modified op_show_continue to call gs_text_update_dev_color in case
    a cshow or kshow procedure changed the current color (strictly
    speaking, this is only a problem with kshow).

[src/gstext.c src/gstext.h src/zchar.c]

2002-08-26T06:51:01.000000Z Igor Melichev

Fix: Undocumented procedure /setweightvector added to internaldict.
Source Forge bug #593355. Patch from Alex Cherepanov.

[lib/gs_type1.ps]

2002-08-26T06:29:15.000000Z Igor Melichev

Fix (pdfwrite) : When device resolution is reduced to keep numbers
within Acrobat Reader limits, the device closed and re-opened.
This re-opened the output PDF file, dropping all preceding pages.
The fix removes the closing of the device.
Source Forge Bug #593124. Patch from Alex Cherepanov.

[src/gdevpdfp.c]

2002-08-24T09:16:28.000000Z Igor Melichev

Fix (FAPI): Improving comments about the 'get_glyph' callback.

[src/zfapi.c]

2002-08-23T07:43:30.000000Z Dan Coby


From ORIMP:

Modified files:

  src/gsht.c:
    In gx_imager_dev_ht_install, the comp_number field in the entries
    for the newly allocated components_array was improperly assigned,
    due to a typo. Later code checks if the comp_number value matches
    the component index and, if not, uses the default halftone order
    for this component. This would cause a typical 4-color device to
    always use the default halftone component (and leak memory).

    As part of the same fix, some redundant code in gx_imager_dev_ht_install
    has been removed, and the code that updates the "used_default" variable
    in this procedure has been corrected.

[src/gsht.c]

2002-08-23T04:15:00.000000Z Dan Coby


This file was evidently dropped from the DeviceN merge.  This eliminates
a loop that can occur in non-sepqxd2distiller.pdf.

lib/gs_icc.ps
    Modified the cs_substitute routine to suppress color space substitution
    if the resulting color space cannot be an Alternate color space for an
    ICCBased color space. This situation arises with some frequency in
    PDF files.

[lib/gs_icc.ps]

2002-08-22T13:37:47.000000Z henrys

This file was left out of the DeviceN checkin.

[lib/gs_cspace.ps]

2002-08-22T10:00:48.000000Z Igor Melichev

Fixing syntax errors and potentially dangerous warnings with MSVC after DeviceN merge.

[src/lib.mak src/dwmain.c src/dwmainc.c src/gsht1.c src/dwtrace.c]

2002-08-22T07:12:29.000000Z henrys

DeviceN.

[src/gxcindex.h src/gdevm48.c src/zshade.c src/gdevht.c src/gdevvec.c src/gdevmem.c src/gdevdgbr.c src/gdevxcf.c src/gdevht.h src/gscdevn.c src/gdevmem.h src/gxoprect.c src/gscdevn.h src/gxacpath.c src/gxoprect.h src/gslib.c src/gsovrc.c src/gdevpsdi.c lib/gs_dpnxt.ps lib/pdf_draw.ps lib/gs_icc.ps src/gswts.c src/gsiparam.h src/gsovrc.h src/zmisc3.c src/gsstate.c lib/gs_init.ps src/gswts.h src/zcsdevn.c src/idparam.c src/gxdhtserial.c src/gscpixel.c src/gxdither.c src/gsstate.h src/gdevpsdu.c src/gxdhtserial.h src/gxdither.h src/zmisc.c src/gxclip.c src/devs.mak src/gdevplnx.c src/zcolor1.c src/gxclutil.c src/gs.mak src/gdevstc.c src/gxiscale.c src/gxpcmap.c src/gxcomp.h src/gdevnfwd.c src/gscsepr.c src/gxdevcli.h src/gscsepr.h src/gxwts.c src/gsimage.c src/gdevxcmp.c src/gscscie.c lib/gs_lev2.ps src/gxdcolor.c src/gxwts.h src/gsdcolor.h src/iimage2.h src/zdfilter.c src/gzstate.h src/zht1.c src/gxdcolor.h src/gdevbmpc.c src/zpcolor.c src/zcssepr.c src/zdevice.c src/gsbitops.c lib/gs_pdfwr.ps src/zdpnext.c src/zimage2.c src/gsbitops.h lib/gs_ll3.ps src/gsht.c src/gdevpsdf.h src/zcolor.c src/gdevm16.c src/gdevp14.c lib/gs_devpxl.ps src/genconf.c src/gdevpdf.c lib/gs_ciecs2.ps src/gsccolor.h src/ztrans.c src/gxdht.h src/gdevpbm.c src/iutil.c src/gxipixel.c src/gdevrops.c src/zcolor2.c src/iutil.h src/gconf.c src/gxcdevn.h src/gsserial.c src/gsshade.c src/gsserial.h src/int.mak src/gscsepnm.h src/gxstate.h src/gdevpcl.c src/gdevcmap.c src/gxclrast.c src/zht2.c src/gsicc.c src/lib.mak src/gsgraph.icx src/gdevdsp.c src/zimage3.c src/gxcldev.h src/gdevdevn.c src/unix-gcc.mak src/msvc32.mak src/igstate.h src/gxclpath.c src/gdev4693.c src/gsptype1.c src/gdevx.c lib/gs_indxd.ps src/gxclpath.h src/gxcmap.c src/gxclbits.c src/gxdevmem.h src/zfsample.c src/zgstate.c src/gxcmap.h lib/gs_img.ps src/gxicolor.c lib/gs_setpd.ps src/gximag3x.c src/gscspace.c src/gdevdbit.c src/gdevpccm.c src/gscolor1.c src/gxclread.c src/zcolor3.c src/gscspace.h src/gsdparam.c src/gdevbbox.c src/gxcspace.h src/gdevmr1.c src/gdevprn.c src/gxdevndi.c src/gdevprn.h src/watclib.mak src/gdevm64.c src/zimage.c src/gxdevndi.h src/gshtscr.c lib/gs_ciecs3.ps lib/gs_sepr.ps src/gdevpdfc.c src/gdevabuf.c src/gdevbit.c src/gdevpdfg.c src/gsht1.c src/gspcolor.c src/gdevps.c src/gsdevice.c src/gxclimag.c src/gsdfilt.c lib/pdf_main.ps lib/gs_patrn.ps src/gshtx.c src/gdevdflt.c src/gdevepsc.c src/iimage.h src/gsdfilt.h lib/gs_res.ps src/gsdps1.c src/gshtx.h src/gxpcolor.h src/gximage2.c src/gxdevice.h src/zht.c src/gdevcdj.c src/gscolor.c src/gxht.c src/gxdcconv.c lib/gs_devcs.ps src/gsptype2.c src/gdevm56.c src/gdevtknk.c src/openvms.mak src/gxclist.c src/gxcht.c src/gdevxalt.c src/gxht.h src/gximono.c src/gzht.h src/gsalphac.c src/gsistate.c src/gdevm1.c src/gxshade.c src/gxbitfmt.h src/gscolor2.c src/gxistate.h src/gdevupd.c src/gscolor2.h src/gxclipm.c lib/gs_devn.ps src/gdevm40.c src/gxclip2.c src/gdevdrop.c]

2002-08-21T17:41:21.000000Z Raph Levien

Fix: Go back to old max_error precision values for Type 1 (function
based) shadings, as increased precision (still enabled for Types 2 and
3, axial and radial) caused a performance hit.

[src/gxshade.c]

2002-08-21T17:41:00.000000Z Raph Levien

Fix: Make rectfill of shadings always take gs_fill path, ensuring
high level pdfwrite rendering.

[src/gsdps1.c]

2002-08-17T10:36:55.000000Z Igor Melichev

Fix (FAPI): Type 1 instruction seac did not work with embedded fonts.

[src/ifapi.h src/zfapi.c]

2002-08-17T09:17:15.000000Z Igor Melichev

Fix (FAPI): Allowing servers to substitute glyph name
for FAPI_FF_get_glyph callback.

[src/ifapi.h src/fapiufst.c src/zfapi.c]

2002-08-17T09:16:34.000000Z jeong

As some PostScript files act differently when /currentdistillerparams is
defined, patched 'known' to hide the systemdict version of the
set/currentdistillerparams unless the currentdevice is pdfwrite.
The patch was done by Ray. Fixes SF#584713, Gradient ignores CRD

[lib/gs_pdfwr.ps]

2002-08-17T08:04:42.000000Z Igor Melichev

Fix (FAPI): Embedded Type 2 was misidentified as a non-embedded font.

[src/zfapi.c]

2002-08-16T15:11:05.000000Z Igor Melichev

Fix (pdfwrite): Widths for different WMode's were mixed in same cache.
Discovered with CompareFiles/093-01.ps .

[src/gdevpdte.c]

2002-08-16T00:32:56.000000Z Ray Johnston

Regression testing showed a difference when built with gcc 2.95.4 between
-DDEBUG and non DEBUG builds. This showed up as some minor pixel diffs.
Change to 'double' from 'float' for some precision sensitive variables
so that -DDEBUG matches non DEBUG results.

[src/gxstroke.c]

2002-08-14T15:56:19.000000Z Igor Melichev

Fix: AR5 fails in image when CTM is singular. Skipping such images.
Source Forge bug #453969. Patch from Alex Cherepanov.

[src/gdevpdfi.c]

2002-08-13T15:32:51.000000Z Ray Johnston

Fix: Dereference indirect objects used as numbers in /Differences array
by pdfTeX-1.0-pdfcrypt. SourceForge bug #580873. Fix by Alex Cherepanov.

[lib/pdf_font.ps]

2002-08-13T10:15:38.000000Z Igor Melichev

Skipping 0-size images in pdfwrite because AR5 doesn't support them.
Patch from Alex Cherepanov.

[src/gdevpdfi.c]

2002-08-09T05:44:56.000000Z jeong

Fix: Radial shading with 2 circles having same origins is not
rendered properly. Now it works correctly.

[src/gxshade1.c]

2002-08-08T12:22:57.000000Z Ralph Giles

Prefer {} to () for optional commandline arguments. Patch from Eric S. Raymond.

[man/ps2pdf.1 man/de/ps2pdf.1 man/ps2pdfwr.1]

2002-08-07T13:01:18.000000Z Ralph Giles

Remove unused defines for the gtk client.

[src/macos-fw.mak]

2002-08-07T11:33:58.000000Z Igor Melichev

Fix (pdfwrite): Widths were missed (written as zeros) for Type 3 fonts.
Source Forge bug #591808 "Scrambled spacing, chars superimposed"

[src/gdevpdti.c]

2002-08-07T11:10:56.000000Z Igor Melichev

Fix (pdfwrite): Widths for /.notdef was not cached,
perhaps Pscript.dll Version 5.0 generates an Encoding,
in which /space is replaced with /.notdef .
Source Forge bug #590979 "Spaces drop out".

[src/gdevpdtt.c]

2002-08-07T07:02:27.000000Z Raph Levien

Fix: Increase fineness of subdivision in axial and radial shadings.
Fixes visible banding as reported in SF bug #586178.

[src/gxshade.c]

2002-08-07T06:58:53.000000Z Raph Levien

Third and final commit of 7.22 release: bump version numbers to 7.23.

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

2002-08-06T23:24:47.000000Z Raph Levien

Second commit in 7.22 release process: autogenned Changes and History7
doc files. Also minor fix for makehist to balance 
 tags correctly.

[doc/History7.htm doc/Changes.htm toolbin/makeset.tcl]

2002-08-06T23:10:40.000000Z Raph Levien

First commit in 7.22 release process: date and News updates.

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

2002-08-05T16:21:12.000000Z Ralph Giles

Fix: remove spurious build of the gtk client along with the macos framework.

[src/macos-fw.mak]

2002-08-03T15:50:51.000000Z Igor Melichev

FAPI project : WMode 1 was wrongly processed for base fonts.

[src/zfapi.c]

2002-07-31T19:06:11.000000Z Ray Johnston

Fix: If a 'stream' operator was followed by whitespace before the EOL, then
the fileposition was not at the start of the data. Add logic to allow for
this and also add a pdfformaterror if the EOL was a  without a .
Fixes SourceForge bug 567612 for Artifex customer #1.

[lib/pdf_base.ps]

2002-07-31T10:00:57.000000Z Igor Melichev

Upgrading ps2pdf.htm about pdfwrite/pdxtext.

[doc/Ps2pdf.htm]

2002-07-31T09:23:32.000000Z Igor Melichev

Fix: (pdfwrite) Standard font names were erroneously suffixed.
Source Forge bug "[ 557024 ] (pdfwrite) Font display incorrect"
This changes old pdfwrite only. The new one was patched separately.

[src/gdevpdff.c]

2002-07-31T04:43:45.000000Z Ray Johnston

Fix: The addition of the function sampling logic for DeviceN tint
transforms (fix 474544) tripped over a bogus assumption in Adobe Procset
for DuoTones generated by (at least) Photoshop. The assumption was that if
the alternate color space of a DeviceN space was being used, that the
procedure would run when 'setcolor' was executed and that the stack would
be accessible during that procedure. This fixes several bug reports with
'/stackunderflow in pop' errors including SF #549307, 576577 and 582385
for Artifex customers. Thanks to Dan Coby for the analysis and fix.

[lib/gs_lev2.ps lib/gs_ll3.ps src/zcolor2.c]

2002-07-29T08:42:39.000000Z Igor Melichev

pdfwrite/pdxtext: TJ arguments were inaccurately rounded.

[src/gdevpdts.c]

2002-07-26T07:27:19.000000Z Igor Melichev

Switching on the new pdfwrite/pdxtext code.

[src/devs.mak]

2002-07-25T19:11:38.000000Z Igor Melichev

pdfwrite/pdxtext: TJ arguments were computed without accounting Tc.

[src/gdevpdts.c]

2002-07-24T18:58:28.000000Z Igor Melichev

pdfwrite/pdxtext: Fixing WMode 1 for simple fonts that have no Metrics2.

[src/gdevpdte.c]

2002-07-24T16:27:41.000000Z Igor Melichev

pdfwrite/pdxtext: Fixing a possibly uninitialized variable.

[src/gdevpdtf.c]

2002-07-24T16:18:48.000000Z Igor Melichev

pdfwrite/pdxtext: Generate uniquie font names for embedded fonts
for compatibility with Acrobat Reader 3.

[src/gdevpdtb.c]

2002-07-24T13:40:04.000000Z Igor Melichev

pdfwrite/pdxtext: fixing the decision about font embedding for the case
when a source document uses both standard and non-standard fonts
with same name.

[src/gdevpdtf.c]

2002-07-24T07:45:28.000000Z Igor Melichev

pdfwrite: implementing WMode 1 for simple fonts.

[src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtt.h src/gdevpdtf.h src/zchar1.c src/gxfont.h]

2002-07-23T16:37:51.000000Z Jack Moffitt

Fix: Changed make_two_versions to use the logging system.

[toolbin/tests/make_two_versions]

2002-07-20T08:21:37.000000Z Igor Melichev

Fixing an unbalanced '>>' in pdf_write_CIDSet().

[src/gdevpdtb.c]

2002-07-19T14:51:27.000000Z Igor Melichev

Fix: (pdfwrite) Quiet Cygwin/gcc warnings.

[src/gdevpdtc.c src/gdevpdfs.c src/gdevpsft.c src/gdevpdfe.c]

2002-07-19T13:35:59.000000Z Igor Melichev

Fix: Always write FontBBox into CFF, even though the spec says it's
optional, to work around a problem when printing the resulting file
with Adobe Acrobat Reader 4 to HP PostScript printers.
Source Forge bug "[ 578899 ] Missing /FontBBox when converting to ps?"

[src/gdevpdtb.c src/gdevpsf2.c src/gdevpdtd.c src/gdevpsf.h src/gdevpdfe.c src/gdevpdtb.h]

2002-07-18T18:03:15.000000Z Igor Melichev

Fix: Renaming few variables in devs.mak for better clarity.

[src/devs.mak]

2002-07-18T11:01:44.000000Z Russell Lang

Fix: When compiled for A4 default page size, the initial
page size is now 595x842pts.   The initial printer page
size in tenths of an inch now uses floating point.  This may
cause problems with old compilers that do not allow floating
point calculations in initializers for integers.  Add some
casts to suppress warnings with the MS compiler. Fixes SourceForge
bug #535997, "ps2pdf produces incorrect A4 page size".

[src/gxdevice.h src/gdevbmpc.c src/gdevprn.h]

2002-07-18T10:46:06.000000Z Russell Lang

Fix: When using -dUseCropBox, use an inherited CropBox.
The previous fix would only use a CropBox on the page
being displayed.

[lib/pdf_main.ps]

2002-07-18T10:41:53.000000Z Russell Lang

Fix: correct the ISO paper sizes in gs_statd.ps to match
those in the Adobe PPD specification, technical note 5003.
Fixes SourceForge bug #536877, "Paper sizes wrong in
gs_statd.ps".

[lib/gs_statd.ps]

2002-07-16T16:47:39.000000Z Igor Melichev

Fix: Results of zchar_get_metrics2 were missinterpreted.

[src/zchar1.c]

2002-07-15T19:34:17.000000Z Igor Melichev

Fix: (pdfwrite) Fixing the image dimensions for the alternative compression stream.
Source Forge bug "[ 574865 ] ioerror only with PDFSETTINGS=/screen"

[src/gdevpdfi.c]

2002-07-15T19:25:11.000000Z Igor Melichev

Fix: (pdfwrite) Enforce compression choice on end of image;
do not choose with zero output length.

[src/gdevpdfj.c]

2002-07-12T06:46:33.000000Z Ray Johnston

Fix: Add a predefined ColorRendering Resource named /DefaultColorRendering
since this is the name that GetSubstituteCRD will return and also is the
name expected by some software. SourceForge bug #570217 for cust #150.

[lib/gs_res.ps]

2002-07-11T02:54:22.000000Z lpd


Changes all references to L. Peter Deutsch as the author of Ghostscript to
refer to artofcode LLC and Artifex Software as the maintainers of
Ghostscript.

[man/pf2afm.1 man/dvipdf.1 man/ps2ascii.1 doc/Use.htm man/printafm.1 man/eps2eps.1 lib/prfont.ps man/ansi2knr.1 doc/New-user.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 man/ps2pdf.1 man/pdf2ps.1 man/pfbtopfa.1 lib/ps2epsi.ps man/gslp.1 man/wftopfa.1 man/ps2ps.1 man/ps2pdfwr.1 man/gs.1]

2002-07-10T23:05:59.000000Z Ray Johnston

Fix: Adobe renders marks outside the ImagingBBox and QuarkXPress relies
on this. Maintain the ImagingBBox of the page device at the PostScript
level independently from the device parameter. There is a slight
incompatibility if programs that set the ImagingBBox incorrectly relied
on this causing clipping, which is prohibited by the PLRM. Programs that
wish to directly set the ImagingBBox device parameter can still do so
from C or from PS using the .putdeviceprops GS private operator.
Fixes SF bug 570829 for Artifex customer #411.

[lib/gs_setpd.ps]

2002-07-10T12:22:12.000000Z Russell Lang

Remove Russell Lang's name from most man pages.
Correct Russell Lang's email address.

[man/pf2afm.1 man/dvipdf.1 man/de/pdf2dsc.1 man/printafm.1 man/de/gsnd.1 man/de/font2c.1 man/pdf2dsc.1 man/de/ps2pdf.1 man/gsnd.1 man/font2c.1 man/ps2pdf.1 man/de/wftopfa.1 man/pfbtopfa.1 man/de/dvipdf.1 man/gslp.1 man/wftopfa.1 man/ps2pdfwr.1 man/de/printafm.1 man/gs.1]

2002-07-10T06:53:24.000000Z Raph Levien

Previous commit was botched because of improperly removed debugging code.
Second commit for fix of SF #576651.

[lib/gs_ttf.ps]

2002-07-10T06:29:34.000000Z Raph Levien

Fix: Avoid opstack overflow by explicit array construction, rather
than unpacking and padding on the stack, for padding of glyphencoding
array. Fixes SF bug #576651.

[lib/gs_ttf.ps]

2002-07-09T14:55:03.000000Z Igor Melichev

Fix: (FAPI) server_font_data were prematurely reset in zFAPIpassfont.
Thanks for Graham Asher for spotting this.
Also fixes minor bugs in comments.

[src/ifapi.h src/zfapi.c]

2002-07-09T14:29:35.000000Z lpd


Fixes the last (?) major batch of problems in the new pdfwrite text code.
We think this code is now good enough for general testing: search for PDTEXT
in src/devs.mak for information on how to enable it.

[src/gdevpdtc.c src/gdevpdts.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdts.h src/gdevpdtt.h src/gdevpdti.c]

2002-07-09T14:26:45.000000Z lpd


Fixes bugs in font copying (currently used only by the new pdfwrite text
code): TrueType glyphs with multiple names in CharStrings only stored a
single name; copied Encodings were initialized incorrectly to .notdef rather
than GS_NO_GLYPH; some of the procedures of copied TrueType fonts weren't
initialized correctly; 'seac' didn't copy the Encoding entries for the
components.  Also shares the known glyph names when possible, to reduce the
load on the garbage collector.

[src/gxfcopy.c src/gxfcopy.h]

2002-07-09T14:04:19.000000Z lpd


Adds a procedure for testing whether a string was returned by
gs_c_glyph_name.  Allows the font copying code to share these strings,
substantially reducing the load on the garbage collector.

[toolbin/encs2c.ps src/gscedata.h src/gscencs.c src/gscencs.h src/gscedata.c]

2002-07-09T07:42:10.000000Z Raph Levien

Bump version number to 7.22 as final commit in 7.21 process.

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

2002-07-09T07:23:07.000000Z Raph Levien

Minor tweaks to release process, based on 7.21 experience.

[doc/Release.htm]

2002-07-08T21:00:12.000000Z Raph Levien

Updated history files based on cvs2hist and makehist. Second significant
commit in Release.htm process for 7.21.

[doc/Changes.htm doc/History7.htm doc/News.htm]

2002-07-08T20:09:54.000000Z Raph Levien

News.htm update, version number and date fixups. First commit
mandated by Release.htm, in preparation for 7.21 release.

[doc/History7.htm doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Maintain.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/Copying.htm doc/API.htm doc/DLL.htm doc/Issues.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 doc/Fonts.htm man/pf2afm.1 doc/Ps2pdf.htm doc/Develop.htm man/printafm.1 doc/Helpers.htm man/pdf2dsc.1 doc/New-user.htm doc/Psfiles.htm doc/Lib.htm doc/Bug-info.htm doc/Tester.htm doc/gs-vms.hlp man/font2c.1 man/gsnd.1 doc/Htmstyle.htm man/pdfopt.1 man/pdf2ps.1 man/ps2pdf.1 doc/News.htm doc/Testing.htm doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/Current.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/Ps2epsi.htm doc/History5.htm doc/History6.htm]

2002-07-07T15:54:23.000000Z lpd


Fix: MSVC can't handle a makefile that compiles two sets of code with some
of the same exported names, but only linked in one set.  The fix still
requires a 1-line edit of devs.mak when using MSVC.

[src/devs.mak]

2002-07-06T02:54:32.000000Z lpd


Fix: The hmtx/vmtx tables generated from the glyph metric data for embedded
TrueType fonts in PDF output were incorrect, due to a misreading of the
TrueType spec.  (This only affects the new pdfwrite text code: the old code
does not generate the tables this way.)

[src/gdevpsft.c]

2002-07-06T02:49:39.000000Z lpd


Adds more tracing (with -DDEBUG) when loading CFF fonts.

[lib/gs_cff.ps]

2002-07-06T02:46:10.000000Z lpd


Exports the procedure for parsing the 'pieces' of a Type 1 or Type 2
CharString (the character codes referenced by 'seac' or the equivalent), if
any.  Needed for font copying.

[src/gxtype1.c src/gxfont1.h]

2002-07-03T22:10:31.000000Z Raph Levien

Fix: Set pdfemptycount in .pdfpaintproc so that .pdfcount gives
correct answers when invoked from inside patterns. Fixes SF bug
#576572.

[lib/pdf_base.ps lib/pdf_draw.ps]

2002-07-03T13:58:14.000000Z Jouk Jansen

Corrected type cast

[src/gdevpdtf.c]

2002-07-02T18:28:31.000000Z Ray Johnston

Fix: If the 'resourceforall' operator's procedure operand gets an error or
performs a 'stop', Adobe interpreters return an operand stack with the
four operands to resourceforall removed from the stack. The comments
suggested this was the intent, but the logic did not work this way and
instead left all four operands on the stack. Fixes CSL startup problem
for Artifex customer #150.

[lib/gs_res.ps]

2002-07-01T14:27:43.000000Z jeong

Fix: The return status values from 'sgets' were not handled properly.
Now the functions that use 'sgets', check the return status and
convert them into proper gs_errors. SF#569111

[src/gsparam2.c src/gsmatrix.c src/iscanbin.c src/gxclrast.c]

2002-07-01T10:49:38.000000Z Igor Melichev

Fix: (PDF interpreter) wrong stack balance in 'resolvedest'.
Source Forge bug "[ 571912 ] pdfwrite: /rangecheck in --pdfmark--"

[lib/pdf_main.ps]

2002-06-28T23:10:45.000000Z Russell Lang

Fix: If a PDF annotation specified other than the default color
with /C, pass this into the pdfmark logic as /Color.

[lib/pdf_main.ps]

2002-06-28T23:10:10.000000Z Russell Lang

Fix: When drawing PDF annotation links which are missing a
/Border, assume the default /Border [0 0 1].
Previously ghostscript assumed that links without a /Border
should not be drawn, which is contrary to the PDF specification.

[lib/pdf_draw.ps]

2002-06-28T22:36:19.000000Z lpd


Fixes further bugs in new pdfwrite text code, primarily relating to
character spacing.  Many bugs still remain.

[src/gdevpdtb.c src/gdevpdtc.c src/gdevpdts.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdts.h src/gdevpdti.c]

2002-06-28T22:35:26.000000Z lpd


Fix: Font copying did not allocate its tables correctly when copying
incrementally downloaded TrueType fonts, and did not implement encode_char
correctly for TrueType fonts when glyph_space == GLYPH_SPACE_NAME.  (Only
affects new pdfwrite text code.)

[src/gxfcopy.c]

2002-06-28T14:36:04.000000Z lpd


Fix: An extra "&" in the recent page rotation change caused a SEGV.

[src/gdevpdf.c]

2002-06-28T10:55:43.000000Z Russell Lang

Fix: Add the option -dUseCropBox to set the page size from
the CropBox rather than the MediaBox.  This is appropriate
when using ghostscript to view PDF files or convert to
bitmaps.  It probably isn't appropriate for printing.
Fixes SourceForge bugs #522486, "Wromg size EPS generated from PDF"
and #538267 "Problems with Media Box in PDF and PS interpreter".

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

2002-06-28T10:42:18.000000Z Igor Melichev

Fix: (pdfwrite) Completely replacing the Rotation computation logics.
Source Forge bug "[ 475147 ] GS 7.03 produces everthing upsidedown"

[src/gdevpdf.c]

2002-06-28T05:31:37.000000Z lpd


Adds a field to TrueType fonts to hold the true numGlyphs value from maxp.

[src/gxfont42.h src/gstype42.c]

2002-06-28T05:27:22.000000Z lpd


Fix: The size of the version field of the ttf_maxp_t structure was defined
incorrectly as 2 rather than 4.  (This structure wasn't referenced
anywhere.)

[src/gxttf.h]

2002-06-28T01:48:41.000000Z lpd


Further improves the new pdfwrite text code.  The new code now demonstrably
fixes several of the outstanding SourceForge bugs.

[src/gdevpdts.c src/gdevpdtt.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdtf.h]

2002-06-28T01:47:22.000000Z lpd


Fixes 3 minor problems with font copying: GC overhead was substantial; the
components of composite glyphs were not copied; the encoding index was not
copied when copying a complete font.

[src/gxfcopy.c]

2002-06-27T17:53:53.000000Z lpd


Fixes bugs and adds further logic to the new pdfwrite text code.  The code
now recognizes and correctly handles the standard 14 fonts (at least some of
the time) as well as all other supported font types.

[src/gdevpdtb.c src/gdevpdtt.c src/gdevpdtd.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtb.h src/gdevpdtd.h src/gdevpdtf.h]

2002-06-27T17:51:57.000000Z lpd


Adds options to gs_copy_glyph to conditionally require that the glyph has or
has not been copied already.

[src/gxfcopy.c src/gxfcopy.h]

2002-06-27T16:35:31.000000Z Ray Johnston

Fix: Define /buildtime in systemdict because Adobe does so and some
protected fonts use it as ID.  Fix provided by Alex Cherepanov.
SourceForge bug #458500.

[lib/gs_lev2.ps]

2002-06-27T04:19:57.000000Z lpd


Fixes more bugs in the new pdfwrite text code.  This code can now process
the entire regression suite with no crashes.  (The output has many problems,
but pdfwrite itself does not crash.)

[src/gdevpdtc.c src/gdevpdts.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtt.h]

2002-06-27T04:03:03.000000Z lpd


Fix: The GC descriptors for psdf_binary_writer and pdf_image_writer weren't
updated when the image compression chooser was added, leading to occasional
memory access crashes.

[src/gdevpsdf.h src/gdevpdfj.c src/gdevpdfg.h]

2002-06-27T03:55:39.000000Z lpd


Fix: Allocating the glyphs and names arrays for copied fonts used the wrong
structure descriptor.

[src/gxfcopy.c]

2002-06-27T00:50:23.000000Z lpd


Fixes a typo in the reference to src/gdevpdte.c.

[doc/Develop.htm]

2002-06-26T23:51:20.000000Z Ray Johnston

Fix: The filenameforall enumeration for the %os% device. Also unroll the
'forall' loop when multiple devices are searched so that each invocation of
filenameforall has the same operand stack.

[lib/gs_diskn.ps]

2002-06-26T23:17:24.000000Z lpd


Fix: Code for writing and copying Type 1 fonts didn't correctly handle Subrs
arrays with null elements.

[src/gdevpsf1.c src/gxfcopy.c src/gdevpsf2.c]

2002-06-26T20:14:45.000000Z lpd


Fixes a typo in, and slightly improves, documentation for invoking cvs2hist
as part of the release process.  Fixes SourceForge #551275.

[doc/Release.htm]

2002-06-26T20:04:12.000000Z Raph Levien

Fix: Fixes uninitialized memory read of stack-allocated stream in
scan_string_token_options() (the implementation of ztoken).

[src/iscan.c]

2002-06-26T20:03:21.000000Z Raph Levien

Fix: Fix uninitialized memory read of pcache->order.data_memory by
zeroing it on construction.

[src/gxht.c]

2002-06-26T20:01:53.000000Z Raph Levien

Fix: Fixes two uninitialized memory reads, by zeroing the gs_allocated
field of newly allocated allocators, and the userdict_index field of
dict stacks in newly allocated contexts.

[src/icontext.c src/gsalloc.c]

2002-06-26T19:55:56.000000Z lpd


Adds a couple of missing dependencies in the makefile.

[src/devs.mak]

2002-06-26T19:03:00.000000Z lpd


In the new pdfwrite text code, fixes bugs and adds new logic for handling
encoded (Type 1/2 and TrueType) fonts.  The code now handles simple fonts of
these types.

[src/gdevpdtb.c src/gdevpdtc.c src/gdevpdts.c src/gdevpdtt.c src/gdevpdtd.c src/gdevpdte.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdts.h src/gdevpdtt.h]

2002-06-26T18:37:16.000000Z Raph Levien

Fix: Generates pdfformaterror rather than PostScript error for broken
PDF files containing unmatched >> in trailer. Workaround for SF bug
#571851.

[lib/pdf_main.ps]

2002-06-26T18:35:51.000000Z Ray Johnston

Fix: Generates pdfformaterror rather than PostScript error for broken
PDF files containing unmatched >>. Workaround for SF bug #553812 for
Artifex customer #580.

[lib/pdf_base.ps]

2002-06-26T00:57:30.000000Z lpd


Fix: The new pdfwrite text code sometimes didn't write font changes
correctly.  The new code now has processed a substantial file correctly,
although all non-CID-based fonts are converted to bitmaps.

[src/gdevpdts.c]

2002-06-25T21:17:42.000000Z lpd


Fixes more bugs in the new pdfwrite text code.  Type 3 bitmap fonts now
appear to work correctly.

[src/gdevpdts.c src/gdevpdtf.c src/gdevpdtw.c src/gdevpdti.c]

2002-06-25T18:58:55.000000Z Ray Johnston

Fix: If the Differences list in the Encoding of an embedded font in a PDF
was not in increasing order, the encoding array length needed for the
differences could be miscalculated. Thanks to Dave Slattengren for spotting
this. No files had been seen (yet) that tripped on this.

[lib/pdf_font.ps]

2002-06-25T17:32:08.000000Z lpd


Fix: The new pdfwrite text code didn't keep track of which CIDs were used
for CIDFonts.  After this fix, the new code processes the HeiseiMinStd.pdf
file from the regression suite correctly.

[src/gdevpdtc.c]

2002-06-25T08:18:37.000000Z lpd


Fixes various bugs in the still pre-alpha new pdfwrite text code.

[src/gdevpdts.c src/gdevpdtf.c src/gdevpdts.h]

2002-06-25T06:52:05.000000Z lpd


Fix: The GSubrs for CIDFontType 0 fonts were not written, possibly producing
invalid embedded fonts from pdfwrite.  Fixes SourceForge #571911.

[src/gdevpsf2.c src/gdevpsf.h]

2002-06-25T06:40:10.000000Z Ray Johnston

Fix: Make sure that the .pdfmapchars which generates the CharStrings
dictionary includes all of the glyphs mentioned by name in the encoding
array (after the Encoding::Differences are applied). This fixes the
".notdef substituted for ccaron" problem that occurs after pdf_font.ps
rev 1.40 fix prevents the "typecheck in length" mentioned in SF bug
#567580 for Artifex customer #1110.

[lib/gs_ttf.ps]

2002-06-25T05:25:45.000000Z lpd


Fix: Two places associated with font writing didn't add in
subroutineNumberBias when interpreting a Type 1 / Type 2 CharString.

[src/gxtype1.c src/gdevpsfx.c]

2002-06-25T05:22:56.000000Z lpd


Fix: gs_copy_font for CIDFontType 0 fonts didn't copy GlobalSubrs correctly.

[src/gxfcopy.c]

2002-06-25T04:32:48.000000Z lpd


Fixes an off-by-1 error in copying [Global]Subrs.

[src/gxfcopy.c]

2002-06-25T01:51:32.000000Z lpd


Adds a complete rewrite of the font and text code in pdfwrite, based on
copying fonts incrementally to stable memory rather than trying to deal with
fonts being freed at unpredictable times.  Should fix a large number of
current SourceForge bugs when completed: however, the code is currently in
pre-alpha state and is not usable on any realistic input.  The API is
compatible with the previous pdfwrite text code; the choice of which set to
use is controlled by a single, documented line in src/devs.mak.

[src/gdevpdts.c src/gdevpdtt.c doc/Develop.htm src/gdevpdtw.c src/gdevpdts.h src/gdevpdtt.h src/devs.mak src/gdevpdtw.h src/gdevpdtx.h src/gdevpdt.c src/gdevpdtb.c src/gdevpdtc.c src/gdevpdtd.c src/gdevpdte.c src/gdevpdt.h src/gdevpdtf.c src/gdevpdtb.h src/gdevpdti.c src/gdevpdtd.h src/gdevpdtf.h src/gdevpdti.h]

2002-06-24T23:48:31.000000Z lpd


Fix: copying a CIDFontType 2 font didn't copy numGlyphs, causing glyphs to
disappear.

[src/gxfcopy.c]

2002-06-24T23:06:31.000000Z lpd


Adds a comment explaining the glyph copying algorithm in
gs_copy_font_complete.

[src/gxfcopy.c]

2002-06-24T17:28:11.000000Z lpd


Fixes an off-by-1 bug in the code for accessing Subrs in copied fonts.

[src/gxfcopy.c]

2002-06-24T17:27:30.000000Z lpd


Adds double-definition protection so that gs_font_type0 can be used as an
abstract type.

[src/gxfont0.h]

2002-06-24T06:20:25.000000Z jeong

Update for Borland 5.5 Compiler.
Files changes include bcwin32.mak, dwmainc.c, unistd_.h, bcc32.cfg
and Make.htm.
Patch by Rod Webster (rodw). SF#559565

[src/bcwin32.mak doc/Make.htm src/dwmainc.c src/bcc32.cfg src/unistd_.h]

2002-06-24T05:35:59.000000Z lpd


Changes the internal name st_pdf_font to st_pdf_font_resource for
compatibility with the new text code.

[src/gdevpdfx.h src/gdevpdfu.c src/gdevpdff.h]

2002-06-24T05:14:15.000000Z lpd


Fix: gxfcache.h didn't #include or define all of its prerequisites.

[src/lib.mak src/gxfcache.h]

2002-06-24T00:49:35.000000Z lpd


Corrects an error in the computation of the (unused) value
st_device_pdf_max_ptrs.

[src/gdevpdfx.h]

2002-06-24T00:40:31.000000Z lpd


Adds a procedure to copy the entire contents (glyphs and Encoding) of a
font.

[src/gxfcopy.c src/gxfcopy.h]

2002-06-22T17:19:48.000000Z Igor Melichev

Fix: (pdfwrite) Force completion of incomplete images encoded with DCT.
Source Forge bug "[ 508675 ] ps2pdf generates broken pdf"

[src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2002-06-22T11:16:12.000000Z Igor Melichev

Fix: Propagate possible errors from pdf_end_image_binary.

[src/gsimage.c src/zimage.c src/gsptype1.c src/gsimage.h src/gxccache.c]

2002-06-22T05:48:47.000000Z Ray Johnston

Fix: Wrong Widths array entry could sometimes be used when the
Encoding (after Differences applied) mapped codes to the same
glyph. Logic introduced in rev 1.22 only prevented some of the
incorrect Width. Fixes SF bug# 570784 for Artifex customer #150.

[lib/pdf_font.ps]

2002-06-22T03:44:40.000000Z Russell Lang

Add a 32 bit/pixel CMYK driver named pam using the Portable
Arbitrary Map file format, one of the netpbm family.
This driver has problems with anti-aliasing that will be
fixed in a later patch.

[src/gdevpbm.c src/devs.mak]

2002-06-22T03:33:12.000000Z Russell Lang

Fix: When building an archive of the graphics library or interpreter,
add only the object files, not the .dev and interpreter files.
Fixes SourceForge bug # 538311 - files missing from library archive.

[src/ugcclib.mak src/gs.mak src/unixlink.mak]

2002-06-21T22:56:18.000000Z lpd


Documents that gs_copy_glyph returns 0 if the glyph is newly copied, 1 if it
was already copied, and adjusts the code slightly to match.

[src/gxfcopy.c src/gxfcopy.h]

2002-06-21T22:41:16.000000Z lpd


Makes pdf_write_font_bbox public, for use by the new pdfwrite text code.

[src/gdevpdfx.h src/gdevpdfu.c src/gdevpdfw.c]

2002-06-21T22:36:09.000000Z lpd


Adds some omitted definitions in gxfcopy.h.

[src/lib.mak src/gxfcopy.h]

2002-06-21T22:30:09.000000Z Russell Lang

Fix: Correct the display device color mapping functions that were wrong.
Change 4-bit mapping functions to standard VGA.
Correct 16-bit native RGB and 32-bit xRGB mapping functions.
Add RGB to color mapping functions for CMYK formats,
needed by anti-aliasing.

[src/gdevdsp.c src/dwimg.c src/dpmain.c]

2002-06-21T22:05:33.000000Z Russell Lang

Fix: When drawing with anti-aliasing on devices with less than
8-bit/pixel, extract the correct existing pixel value.

[src/gdevdbit.c]

2002-06-21T18:38:21.000000Z Ray Johnston

Fix: Fixes regressions caused by previous update including errors with
ImageProb2*.pdf and aaon97_p7.pdf. Removes logic that set StandardEncoding
if BaseEncoding wasn't set since this caused aaon97_p7 regression. Only
use .notdefEncoding if updateencoding sees a null encoding input. This
is the "real" fix for SF bug #566042.

[lib/pdf_font.ps]

2002-06-21T07:46:37.000000Z Ray Johnston

Fix: Previous fix for SF bug #566042 caused a regression by defining an
Encoding array filled with .notdef too aggresively. Only create this array
when we need to update it with /Differences. Some regression files were
onechar.pdf, xngnews.pdf. The testfont.pdf file of 566042 still runs OK.

[lib/pdf_font.ps]

2002-06-21T06:49:50.000000Z Ray Johnston

Fix: Prevents /typecheck in --length-- if given a file with an Encoding
dictionary with a Differences list has no BaseEncoding. This is perfectly
legal -- the base encoding is the font's built-in encoding or
StandardEncoding, per the PDF Reference (depending on whether or not the
font is flagged as "symbolic"). Fixes SF bug #566042.

[lib/pdf_font.ps]

2002-06-21T05:56:32.000000Z lpd


Adds references to new source files gxfcopy.c, gxfcopy.h, stdpn.h, and
zfctest.c.

[doc/Develop.htm]

2002-06-21T05:07:06.000000Z lpd


Removes some obsolete references to Aladdin Enterprises from comments.

[src/winint.mak src/contrib.mak]

2002-06-21T00:06:29.000000Z Jack Moffitt

Adds documentation for pdfwrite regression tools.

[doc/Testing.htm]

2002-06-20T20:26:48.000000Z Raph Levien

Fix: Use actual white point in /Lab spaces, rather than relying on
default. Fixes problem in regression file test.pdf.

[lib/pdf_draw.ps]

2002-06-20T08:39:08.000000Z Jouk Jansen


 Committing in .

 OOps, I committed the wrong file just a minute ago

 Modified Files:
 	gs/src/openvms.mmk
 ----------------------------------------------------------------------

[src/openvms.mmk]

2002-06-20T08:32:15.000000Z Jouk Jansen


 Committing in .

 Added option to chose between the use of VAX-floats (default) and IEEE-floats

 Modified Files:
 	gs/src/openvms.mmk
 ----------------------------------------------------------------------

[src/openvms.mmk]

2002-06-20T08:24:40.000000Z Jouk Jansen


 Committing in .

 one (int*)->(unsigned int*) type cast added

 Modified Files:
 	gs/src/gschar0.c
 ----------------------------------------------------------------------

[src/gschar0.c]

2002-06-19T20:13:05.000000Z Ray Johnston

Fix: pdfinflt.ps should not propagate the /Prev from the input file's
trailer since the output will only have a single xref table. Also add
'whitespace' after a stream before 'endstream' in case the input stream
did not have trailing whitespace (prevents /undefined errors).

[toolbin/pdfinflt.ps]

2002-06-19T15:52:29.000000Z lpd


Adds support for incremental font copying, currently required only by the
new pdfwrite text code.

[src/lib.mak src/gxfcopy.c src/int.mak src/zfctest.c src/gxfcopy.h]

2002-06-19T15:37:22.000000Z Igor Melichev

Fix: Update pdf_image_writer::data in pdf_choose_compression.

[src/gdevpdfj.c]

2002-06-19T15:37:20.000000Z lpd


Fixes another omission in a dependency list.

[src/int.mak]

2002-06-19T15:36:45.000000Z lpd


Fixes an omission in a dependency list.

[src/int.mak]

2002-06-19T15:35:32.000000Z lpd


Adds a comment documenting the fact that errors.h should not be used in
graphics library files.

[src/errors.h]

2002-06-19T15:34:01.000000Z lpd


Fixes minor errors in the makefile dependency lists.  (The dependency list
for gxclrast.c, in particular, had gotten badly mangled.)

[src/lib.mak]

2002-06-19T15:33:01.000000Z lpd


Fix: Removes incorrect #includes of errors.h, which is a PostScript
interpreter file, from library files.

[src/gxchar.c src/gsfcmap1.c]

2002-06-19T11:35:06.000000Z Russell Lang

To improve clarity, use hexadecimal for -dDisplayFormat=16#XXXXXX
in the display device example code.

[src/gdevdsp.c]

2002-06-19T01:06:12.000000Z lpd


Factors out a procedure for copying XUID data, for font copying.

[src/gsfont.c src/gsuid.h src/gsutil.c]

2002-06-19T00:27:57.000000Z lpd


Exports the default get_metrics procedure for Type 42 fonts, for use by
copied fonts.

[src/gxfont42.h src/gstype42.c]

2002-06-18T22:50:51.000000Z lpd


Changes the writing of embedded TrueType (and CIDFontType 2) fonts so that
hmtx/vmtx are written only if the font already includes a hhea/vhea table.
This is not a perfect solution, but it is better than always writing both
hmtx and vmtx, because a TrueType rasterizer cannot make use of the *mtx
table without the corresponding *hea table.

[src/gdevpsft.c]

2002-06-18T18:28:33.000000Z Igor Melichev

Fix: LockDistillerParams locked device parameters besides Distiller parameters.
Source forge bug "[ 567464 ] LockDistillerParams locks page size".

[src/gdevpsdp.c src/gdevpdfp.c]

2002-06-18T06:29:21.000000Z Ray Johnston

Fix: Correct the pdfformaterror message issued when an 'endobj' is seen
instead of 'endstream' and add a comment in the file about the error.
Thanks to Dan Coby for the suggestions improving the previous patch.

[lib/pdf_base.ps]

2002-06-18T05:37:05.000000Z Ray Johnston

Fix: Yet another change to allow our PDF intperpreter to tolerate an out
of spec PDF file that Acrobat Reader (and Glance pdf tools) handle. This
file had an 'endobj' without an 'endstream' terminating a stream. Fixes
SF bug #570262 for Artifex customer #1060.

[lib/pdf_base.ps]

2002-06-18T00:31:20.000000Z lpd


Fix: psf_write_truetype_font and psf_write_cid2_font copied hmtx and vmtx
rather than getting the actual metrics through the font virtual procedures,
which produced incorrect output if the font was defined incrementally and
used MetricsCount.  (This only affected pdfwrite.)

[src/gdevpsft.c src/gdevpsf.h src/gdevpdfe.c]

2002-06-16T22:07:55.000000Z Igor Melichev

Fix: Implementing pdfmark stream compression.
Source forge bug "[ 558476 ] file attachment annotation uncompressed".

[src/gdevpdfm.c src/gdevpdfo.c src/gdevpsds.c src/gdevpdfo.h src/devs.mak src/gdevpsdf.h]

2002-06-16T09:11:47.000000Z lpd


Fixes an oversight that prevented compilation with stdpn.h included.

[src/stdpre.h src/jpeg.mak]

2002-06-16T08:59:16.000000Z lpd


Adds a missing close-comment (*/) marker.

[src/stdpn.h]

2002-06-16T08:57:57.000000Z lpd


Moves the now-unused Pn macros to a separate file, which now can easily be
commented out and eventually removed.

[src/lib.mak src/stdpn.h src/stdpre.h]

2002-06-16T08:55:53.000000Z lpd


Removes a few overlooked uses of the Pn macros.

[src/gximag3x.h src/gscrd.h src/gximage3.h]

2002-06-16T08:45:43.000000Z lpd


Removes all uses of the now-deprecated Pn macros from the remaining
library header files.

[src/gxclip2.h src/gspath2.h src/gxiclass.h src/gsropt.h src/gsdps.h src/gxtext.h src/gsrect.h src/gxalloc.h src/gscdevn.h src/gsmdebug.h src/gxxfont.h src/gsmatrix.h src/gslib.h src/gstrap.h src/gzacpath.h src/gxtype1.h src/gsnotify.h src/gxmatrix.h src/gsiparam.h src/gximage3.h src/gxiparam.h src/gscssub.h src/gsstate.h src/gsuid.h src/gsparams.h src/gscpixel.h src/gxdither.h src/gsmemret.h src/gspath.h src/gsiparm4.h src/gsargs.h src/gxclip.h src/gxfunc.h src/gscolor3.h src/gxcomp.h src/gxcid.h src/gxbcache.h src/gxdevcli.h src/gscsepr.h src/gsdcolor.h src/gscompt.h src/gsimage.h src/gxfarith.h src/gstext.h src/gscdefs.h src/gxsample.h src/gxrplane.h src/gsfcmap.h src/gxdcolor.h src/gserror.h src/gsflip.h src/gscie.h src/gsparam.h src/gsbitops.h src/gxtmap.h src/gxchrout.h src/gxcoord.h src/gsht.h src/gsfunc3.h src/gxdevbuf.h src/gxsync.h src/gscrypt1.h src/gxfapi.h src/gxdht.h src/gsparamx.h src/gsmemraw.h src/gsfunc.h src/gxline.h src/gzpath.h src/gxfixed.h src/gxcdevn.h src/gxcie.h src/gsipar3x.h src/gscrd.h src/gxropc.h src/gxmclip.h src/gxfcid.h src/gxfont.h src/gspaint.h src/gxarith.h src/gsshade.h src/gsalpha.h src/gxstate.h src/gxfmap.h src/gscrdp.h src/gxpcache.h src/gsicc.h src/gxcldev.h src/gdebug.h src/gsfunc0.h src/gsfunc4.h src/gxclpath.h src/gxchar.h src/gsptype1.h src/gxdevmem.h src/gsmemlok.h src/gsstruct.h src/gxcmap.h src/gximage.h src/gsline.h src/gsgc.h src/gsalloc.h src/gsiparm2.h src/gsdsrc.h src/gximag3x.h src/gscspace.h src/gxdhtres.h src/gscolor1.h src/gstype1.h src/gxpageq.h src/gxcspace.h src/gsropc.h src/gsstype.h src/gxcpath.h src/gsfont.h src/gxp1impl.h src/gsexit.h src/gsutil.h src/gxfcache.h src/gxgetbit.h src/gstparam.h src/gsht1.h src/gspcolor.h src/gsdevice.h src/gxclmem.h src/gshtx.h src/gsrefct.h src/gxpcolor.h src/gxdevice.h src/gsmemory.h src/gshsb.h src/gxshade4.h src/gschar.h src/gscolor.h src/gxht.h src/gxpaint.h src/gxdcconv.h src/gxfont42.h src/gzht.h src/gxclist.h src/gsptype2.h src/gsfname.h src/gstrans.h src/gsalphac.h src/gxshade.h src/gxclio.h src/gsiparm3.h src/gsclipsr.h src/gxfont1.h src/gzline.h src/gxistate.h src/gxctable.h src/gxclpage.h src/gsrop.h src/gscolor2.h src/gxpath.h src/gxop1.h src/gxcolor2.h src/gscoord.h src/gsmalloc.h src/gscindex.h src/gxiodev.h]

2002-06-16T07:25:26.000000Z lpd


Removes all uses of the now-deprecated Pn macros from driver-related headers
(gdev*.h).

[src/gdevtfax.h src/gdevpcfb.h src/gdevdcrd.h src/gdevvec.h src/gdevpcl.h src/gdevmem.h src/gdevbmp.h src/gdevfax.h src/gdevpdff.h src/gdevpdfg.h src/gdevcmap.h src/gdevcgml.h src/gdevdljm.h src/gdevpdfo.h src/gdevpsf.h src/gdevppla.h src/gdevpsdf.h src/gdevprna.h src/gdevsvga.h src/gdevpxut.h src/gdevpdfx.h src/gdevtifs.h src/gdevx.h src/gdevpsu.h src/gdevpsds.h src/gdevbjcl.h src/gdevmrop.h src/gdevmrun.h src/gdevplnx.h src/gdevpccm.h src/gdevmswn.h src/gdevmeds.h src/gdevstc.h src/gdevmpla.h src/gdev8bcm.h src/gdevbbox.h src/gdevprn.h]

2002-06-16T06:59:02.000000Z lpd


Removes all uses of the now-deprecated Pn macros from the gp*.h (platform
interface) header files.

[src/gpgetenv.h src/gpmisc.h src/gpsync.h src/gpcheck.h src/gp.h]

2002-06-16T05:48:56.000000Z lpd


Removes all uses of the now-deprecated Pn macros from all remaining .c
files.

[src/gdevpsim.c src/gdevpcfb.c src/gsdps.c src/gdevmsxf.c src/gdevdgbr.c src/gdevcgml.c src/gscdevn.c src/gdevmgr.c src/gsmatrix.c src/gdevpdfp.c src/gslib.c src/gstrap.c src/gsnotify.c src/gdevpdft.c src/gximage3.c src/gxccache.c src/gsstate.c src/gp_unifs.c src/gdevdm24.c src/gsparams.c src/gsiodevs.c src/gp_mswin.c src/gxhint3.c src/gsargs.c src/gspath.c src/gdevwddb.c src/gxclip.c src/gp_os2.c src/gxpcopy.c src/gdevstc.c src/gxpcmap.c src/gscsepr.c src/gp_unix.c src/gp_getnv.c src/gsflip.c src/gxp1fill.c src/gsciemap.c src/gdevhl7x.c src/gscie.c src/geninit.c src/gdevokii.c src/gdevpdfu.c src/gsht.c src/gdevprna.c src/gxshade6.c src/gxfapi.c src/gp_strdl.c src/genconf.c src/gstype42.c src/gdevpbm.c src/gxipixel.c src/gdevalph.c src/gp_msio.c src/gdevifno.c src/gserver.c src/gdevpdfb.c src/gp_dvx.c src/gxclrast.c src/gdevdjtc.c src/gdevwprn.c src/gxpdash.c src/gdevpcx.c src/gsfunc0.c src/gxifast.c src/gdevsvga.c src/gxclpath.c src/gdevepsn.c src/gsptype1.c src/gsparam2.c src/gsimpath.c src/gxchar.c src/gdevx.c src/gdevpsf1.c src/gximage.c src/gdevpsft.c src/gxhint1.c src/gsalloc.c src/gxfill.c src/gximag3x.c src/gxclread.c src/gscolor1.c src/gdevm8.c src/gdevmswn.c src/gxpageq.c src/gsdparam.c src/gxcpath.c src/gdevprn.c src/gspath1.c src/gendev.c src/gdevpjet.c src/gdevtfax.c src/gshtscr.c src/gsnogc.c src/gdevbmpa.c src/gsht1.c src/gp_mac.c src/gdevpdfg.c src/gdevherc.c src/gdevps.c src/gdevsco.c src/gxclimag.c src/gxclmem.c src/gsbittab.c src/gdevepsc.c src/gdevpdfs.c src/gdevs3ga.c src/gdev8510.c src/gshsb.c src/gdevcdj.c src/gxstroke.c src/gschar.c src/gscolor.c src/gxht.c src/gdevxini.c src/gxclist.c src/gxcht.c src/gdevxalt.c src/gxccman.c src/gstrans.c src/gxidata.c src/gsalphac.c src/gxshade.c src/gxhint2.c src/gscolor2.c src/gp_vms.c src/gxpath.c src/gp_iwatc.c src/gdevupd.c src/gp_os9.c src/gscoord.c src/gsmalloc.c src/gxclipm.c src/gdevdrop.c]

2002-06-16T05:03:12.000000Z lpd


Removes all uses of the now-deprecated Pn macros from system header
wrappers.

[src/memory_.h src/math_.h src/pipe_.h src/stdio_.h src/malloc_.h]

2002-06-16T05:00:54.000000Z lpd


Removes all uses of the now-deprecated Pn macros from the stream header
files.

[src/sbcp.h src/shcgen.h src/slzwx.h src/sjpeg.h src/sdcparam.h src/strimpl.h src/std.h src/stream.h src/scommon.h src/sdct.h src/shc.h src/spsdf.h src/spprint.h src/srdline.h src/szlibxx.h]

2002-06-16T04:47:10.000000Z lpd


Removes all uses of the now-deprecated Pn macros from PostScript interpreter
header files.

[src/iplugin.h src/opcheck.h src/iscannum.h src/idstack.h src/ichar.h src/imainarg.h src/vdtrace.h src/idosave.h src/ifrpred.h src/iscan.h src/istruct.h src/ifont1.h src/igstate.h src/igc.h src/ifunc.h src/ichar1.h src/iparray.h src/bfont.h src/icie.h src/ccfont.h src/icsmap.h src/idparam.h src/icharout.h src/ifilter2.h src/iscanbin.h src/dwtrace.h src/opdef.h src/ialloc.h src/dscparse.h src/opextern.h src/oper.h src/ipcolor.h src/isave.h src/inamedef.h src/iutil2.h src/estack.h src/ibnum.h src/iimage2.h src/istack.h src/imemory.h src/btoken.h src/iapi.h src/iht.h src/ifont42.h src/iddstack.h src/igcstr.h src/iimage.h src/imain.h src/ifilter.h src/idebug.h src/ifwpred.h src/ifont2.h src/files.h src/oparc.h src/icid.h src/iparam.h src/iinit.h src/inames.h src/ifcid.h src/ifont.h src/main.h src/iref.h src/iutil.h src/icolor.h src/itoken.h src/idict.h src/icontext.h src/ivmem2.h src/interp.h src/istream.h]

2002-06-16T03:58:15.000000Z lpd


Removes all uses of the now-deprecated Pn macros from the stream
implementation code.

[src/siinterp.c src/scfd.c src/sbwbs.c src/scfe.c src/sfxstdio.c src/siscale.c src/sa85d.c src/scfdtab.c src/scfetab.c src/scfdgen.c src/sfxfd.c src/stream.c]

2002-06-16T03:52:32.000000Z lpd


Removes all uses of the now-deprecated Pn macros from the echogs program.

[src/echogs.c]

2002-06-16T03:51:37.000000Z lpd


Removes all uses of the now-deprecated Pn macros from the DSC parser.

[src/dscparse.c]

2002-06-16T03:48:22.000000Z lpd


Removes all uses of the now-deprecated Pn macros from PostScript interpreter
support code (src/i*.c).

[src/istack.c src/ilocate.c src/idstack.c src/iapi.c src/iccfont.c src/ireclaim.c src/iutil.c src/iscanbin.c src/imainarg.c src/iname.c src/igcstr.c src/idict.c src/iscan.c src/imain.c src/idebug.c src/interp.c src/igc.c src/isave.c src/iparam.c]

2002-06-16T03:43:51.000000Z lpd


Removes all uses of the now-deprecated Pn macros from PostScript operator
files (src/z*.c).

[src/zimage.c src/zchar42.c src/zshade.c src/zfont0.c src/zdps.c src/zht1.c src/zht2.c src/zchar1.c src/zpcolor.c src/zfrsd.c src/zdscpars.c src/zcssepr.c src/zcie.c src/zdpnext.c src/zmatrix.c src/zvmem.c src/zcharout.c src/zfileio.c src/zdps1.c src/zusparam.c src/zbfont.c src/zcfont.c src/zdouble.c src/zht.c src/zfont42.c src/zmisc1.c src/zchar.c src/zmisc2.c src/zcolor.c src/zfile.c src/zfunc4.c src/ztoken.c src/zrelbit.c src/zupath.c src/zcontext.c src/zfilter.c src/zgstate.c src/zfsample.c src/ztrans.c src/ziodevs.c src/zpath.c src/zcsindex.c src/zcolor2.c src/zmedia2.c src/zfont.c src/zcrd.c src/zfproc.c src/zgeneric.c src/zpath1.c src/zcontrol.c src/zdevice2.c src/ztype.c]

2002-06-16T03:20:39.000000Z lpd


Documents the fact that exceptional stream conditions remain set until a
client clears them.

[src/scommon.h]

2002-06-15T21:11:53.000000Z lpd


Improves a few comments, and changes pdf_write_font_resources to
pdf_close_text_document for greater clarity.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdf.c src/gdevpdfb.c src/gdevpdfs.c src/gdevpsf.h src/gdevpdfu.c src/gdevpdfw.c src/gdevpdff.h]

2002-06-15T17:31:19.000000Z lpd


Fix: pdfwrite ignored the return status from sgets when reading ICC profiles
and shading data.

[src/gdevpdfo.c src/gdevpdfo.h src/gdevpdfv.c src/gdevpdfk.c]

2002-06-15T16:58:51.000000Z lpd


Improves the comment for cos_dict_unadd.

[src/gdevpdfo.c]

2002-06-15T04:19:44.000000Z lpd


Fix: Because of a bug introduced by the removal of known_encode, accented
Type 1/2 font characters defined using the 'seac' operator could cause an
error in pdfwrite.  Fixes the recent pdfwrite regression ERROR in Svd.pdf.

[src/zchar1.c]

2002-06-14T16:29:26.000000Z lpd


Fix: In pdfwrite, an error in reading an ICCBased profile stream could cause
an attempt to free an object twice; ICCBased color spaces always caused an
error.  Fixes pdfwrite regression ERROR in Fixed_Original.pdf.

[src/gdevpdfk.c]

2002-06-14T16:03:21.000000Z lpd


Fix: pdfwrite accepted imagemasks with invalid parameters, producing invalid
PDF output.  Fixes the pdfwrite regression ERROR for 269-01.ps.

[src/gdevpdfi.c]

2002-06-14T15:51:55.000000Z lpd


Fix: If a Shading used a color space other than the 3 basic Device spaces,
its ColorSpace reference could be corrupted, because the ColorSpace object
might be freed before the Shading was written.  Finishes fixing pdfwrite
regressions 446-01.ps and 483-05.ps.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfu.c]

2002-06-14T15:47:20.000000Z lpd


Fix: pdfwrite produced incorrect output for ShadingType 6 and 7 shadings if
the coordinate and color data came from an array rather than a stream or
string.  Partially fixes pdfwrite regressions 446-01.ps and 483-05.ps.

[src/gdevpdfv.c]

2002-06-14T14:17:56.000000Z lpd


Fix: As a result of a recent fix, an opdef table had more than 16 entries,
causing initialization to abort.

[src/int.mak src/ztrans.c]

2002-06-14T14:17:25.000000Z lpd


Fix: Initialization did not abort if an opdef table had more than 16
entries (see opdef.h for more information about this restriction).

[src/iinit.c]

2002-06-14T13:31:54.000000Z lpd


Fix: The automatically generated files src/gscedata.[ch] didn't have a RCS
Id line.

[toolbin/encs2c.ps src/gscedata.h src/gscedata.c]

2002-06-14T09:42:54.000000Z Ralph Giles

Fix: .pushpdf14devicefilter was defined in zdfilter.c, but depended on the optional pdf module's
transparency features. Moves the definition of this routine to the conditionally included
ztrans.c. Fix by L. Peter Deutsch, resolves SourceForge Bug 565019.

[src/int.mak src/ztrans.c src/zdfilter.c]

2002-06-14T07:48:59.000000Z lpd


Fix: An incorrect subscript computation, and an incorrect choice of
allocator, in the image compression chooser code caused SEGVs.  Fixes 14 of
the 21 ERRORs in the 2002-06-13 pdfwrite regression report.

[src/gdevpsds.c src/gdevpdfj.c]

2002-06-14T06:35:08.000000Z lpd


Fixes minor compilation errors introduced by the recent image compression
chooser code.

[src/gdevpsds.h src/gdevpdfi.c src/gdevpdfj.c]

2002-06-14T06:03:08.000000Z lpd


Corrects a spelling error ("samile" => "sample"), and changes the name of
pdf_setup_compression_chooser to psdf_... because the procedure can
eventually be shared between pdfwrite and pswrite.

[src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]

2002-06-14T05:53:39.000000Z lpd


Implements namespaces (/NamespacePush, /NamespacePop pdfmarks) and the /NI
pdfmark for named images.  Fixes SourceForge #567653, replacing the
workaround in revision 1.22 of src/gdevpdfm.c.

[src/gdevpdfx.h src/gdevpdfm.c src/gdevpdf.c src/gdevpdfr.c src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2002-06-14T04:04:39.000000Z Ray Johnston

Fix: Limit the number of %disk devices to 7 to prevent problems with the
Dynalab font installer. Also return %disk devices in numeric order from
devforall and suppress %disk devices from filenameforall to match Adobe.
Also correct documentation of devforall (no pattern string used). Thanks
to Nori Matsushima and Erik Strik for testing of this feature (diskn.dev).

[src/gsiodisk.c lib/gs_diskn.ps lib/gs_lev2.ps src/int.mak]

2002-06-14T01:57:44.000000Z lpd


Improves documentation for the gs_glyph data type.

[src/gsccode.h src/gscencs.h]

2002-06-13T20:49:34.000000Z Jack Moffitt

Fix: update_baseline had a typo for the baseline log file.

[toolbin/tests/update_baseline]

2002-06-13T20:40:30.000000Z lpd


Adds two new procedures to pdfwrite's Cos object package, to support
namespaces and /NI pdfmark.

[src/gdevpdfo.c src/gdevpdfo.h]

2002-06-13T15:36:50.000000Z Ralph Giles

Fix: Temporary files weren't being put in the proper location under MacOS X/Carbon. Updates the the proper prameter block type for the Carbon interface so this works properly on both OS 9/X. Patch from Erik Strik.

[src/gp_macio.c]

2002-06-13T00:17:53.000000Z Raph Levien

Workaround for unimplemented NI, to avoid later typechecks on
.PUTDICT. This patch adds the dictionary cos object, but does not push
it in a namespace to be popped on occurrence of an image, as defined
in section 6.2 of the pdfmark reference (TN 5150). Allows test file
of SourceForge bug #567653 to run to completion.

[src/gdevpdfm.c]

2002-06-12T23:42:30.000000Z lpd


Implements the /APPEND pdfmark.

[src/gdevpdfm.c]

2002-06-12T23:26:54.000000Z lpd


Adds stubs for the new PDF 1.4 pdfmark types, and clearly marks all
unimplemented pdfmark types as such.

[src/gdevpdfm.c]

2002-06-12T22:07:43.000000Z lpd


Implements the new get_glyph_index font procedure for PostScript Type 42
fonts.

[src/zfont42.c]

2002-06-12T22:06:51.000000Z lpd


Fixes a bug in writing "stripped" TrueType fonts.  (Only affects font
copying.)

[src/gdevpsft.c]

2002-06-12T20:04:42.000000Z Igor Melichev

Fixing a type cast in gdevpdfv.c .

[src/gdevpdfv.c]

2002-06-12T18:09:18.000000Z lpd


Corrects a typo in the RCS Id line.

[src/gdevpdft.h]

2002-06-11T20:26:41.000000Z lpd


Extends Type 42 fonts at the library level so that if their instantiator
provides a mechanism for named glyphs (such as the PostScript Type 42
CharStrings dictionary), they will be accepted by glyph_info et al.
Required for the new font copying code.

[src/gxfont42.h src/gstype42.c]

2002-06-09T23:08:23.000000Z lpd


Cleans up a number of design problems in the font callback procedures:

1) Eliminates the gx_xfont_callbacks structure entirely.  The known_encode
   procedure is no longer needed: the new facilities in gscencs.[hc] make it
   unnecessary, and none of the three implementors of the xfont interface
   use it.  See below regarding glyph_name.  This is a NON-BACKWARD-
   COMPATIBLE change for all clients of the glyph_name and known_encode
   procedures (of which there are, respectively, 11 and 0 in the current
   code base), and for all places that define gs_font_procs structures
   statically or initialize the callbacks dynamically (of which there are
   currently only two, one in gsfont.c and one in zbfont.c).  There are also
   3 identical places in the GhostPCL code (in plfont.c, plffont.c, and
   plufont.c) that will require very minor changes, with a small net
   reduction in code.

2) Deletes the char_xglyph2 procedure from gx_xfont_procs.  It is optional,
   and none of the three current xfont implementations implements it.

3) Changes the char_xglyph procedure in gx_xfont_procs so that instead of a
   glyph_name callback procedure, it takes a const gs_string * argument that
   is the actual glyph name (if the glyph is not gs_no_glyph and is not a
   CID).  This is a NON-BACKWARD-COMPATIBLE change for both clients and
   implementors of xfonts.  (At present, there are 3 implementors, none of
   which use the glyph_name callback, and a single client call in
   gxccache.c.)

4) Moves the glyph_name procedure, which is still required for other
   purposes, to gs_font_procs, changing its declaration to

	int (*glyph_name)(gs_font *font, gs_glyph glyph,
			  gs_const_string *pstr);

   This is a NON-BACKWARD-COMPATIBLE change for clients, but they must
   already change because of item (1) above.

5) Eliminates the registered_Encodings array in the PostScript interpreter,
   substituting the C representation of the known Encodings.

[src/gsccode.h src/gxchar.c src/gdevpsf1.c src/gdevpsf2.c src/int.mak src/gxchar.h src/gdevpsft.c src/gdevmsxf.c src/ifont.h src/gscencs.c src/gdevpdff.c src/iccfont.c src/zchar1.c src/gscencs.h src/lib.mak src/gsfont.c src/zbfont.c src/gxxfont.h src/gdevpdfs.c src/gdevmacxf.c src/gxccache.c src/gdevpdfw.c src/gxfont.h src/gdevxxf.c lib/gs_init.ps]

2002-06-09T22:13:09.000000Z Igor Melichev

Implementing dynamic choice of image compression filter.
Source forge bug "[ 552949 ] pdfwrite produces bigger pdf than adobe".

[src/gdevpsds.c src/gdevpdfb.c src/gdevpsds.h src/gdevpdfv.c src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2002-06-08T01:22:26.000000Z lpd


Fix: enumerate_glyph would crash if applied to a subfont of a CIDFontType 0
font.  (Probably only affects font copying, to be used in the future by
pdfwrite.)

[src/zcharout.c]

2002-06-07T20:21:16.000000Z Igor Melichev

Fixing erroneous comments in font map files.

[lib/FAPIcidfmap lib/cidfmap lib/FAPIfontmap]

2002-06-06T10:36:12.000000Z Igor Melichev

Changing PDF image writer with writing all images through cos_write_stream.
Another preparation for Source forge bug "[ 552949 ] pdfwrite produces bigger pdf than adobe".

[src/gdevpdfo.c src/gdevpdfb.c src/gdevpdfo.h src/gdevpdfv.c src/gdevpdfi.c src/gdevpdfj.c]

2002-06-06T06:57:12.000000Z Raph Levien

Fix: Fixes uninitialized base buffer and failure to properly increment
a p14_device refcount in the pdf14 imaging code.

[src/gdevp14.c]

2002-06-06T06:55:12.000000Z Raph Levien

Fix: Fixes off-by-one error in loop termination for CIE cache
initializations.

[src/gscie.c]

2002-06-05T20:58:04.000000Z Jack Moffitt

Add separate paramsets for pdfwrite testing.

[toolbin/tests/gsparamsets.py toolbin/tests/gscheck_pdfwrite.py toolbin/tests/make_testdb]

2002-06-05T20:53:20.000000Z Jack Moffitt

Added log file for baseline changes.  update_* and revert_* all log baseline
changes with timestamps now.

[toolbin/tests/update_pdfbaseline toolbin/tests/revert_pdfbaseline toolbin/tests/update_baseline toolbin/tests/gsconf.py toolbin/tests/revert_baseline]

2002-06-05T19:55:04.000000Z lpd


Fix: The rule for building icc.o didn't depend on $(ECHOGS_XE), causing the
build to possibly fail (depending on the order in which `make' built
targets) if executed with empty output directories.

[src/icclib.mak]

2002-06-05T05:23:06.000000Z Jack Moffitt

Implements raster baseline regression test for the pdfwrite device, and adds
new tools to manage the new pdfwrite baselines.

[toolbin/tests/update_pdfbaseline toolbin/tests/make_testdb toolbin/tests/gscheck_pdfwrite.py toolbin/tests/revert_pdfbaseline toolbin/tests/run_regression toolbin/tests/make_two_pdfversions toolbin/tests/gstestgs.py]

2002-06-05T05:05:08.000000Z Raph Levien

Fix: Fixes uninitialized memory read of stack-allocated stream in
t_string case of interp(), and in zfilelineedit().

[src/ziodev.c src/interp.c]

2002-06-04T14:51:00.000000Z lpd


Adds an API for writing TrueType and CIDFontType 2 fonts without any glyphs.
pdfwrite uses this internally for copying fonts.

[src/gdevpsft.c src/gdevpsf.h]

2002-06-03T16:54:27.000000Z lpd


Adds upper-case versions of some macros, retaining the lower-case versions
for backward compatibility.

[src/gsccode.h]

2002-06-03T16:20:10.000000Z Igor Melichev

Adding 2 new functions to public interface of Cos objects.
A preparation for Source forge bug "[ 552949 ] pdfwrite produces bigger pdf than adobe".

[src/gdevpdfo.c src/gdevpdfo.h]

2002-06-03T16:18:34.000000Z Igor Melichev

Fix : ignoring small noise while checking for identity color transfer map.
A partial fix for Source forge bug "[ 552949 ] pdfwrite produces bigger pdf than adobe".

[src/gdevpdfg.c]

2002-06-02T19:27:41.000000Z lpd


Improves documentation of the open_device and open_file procedures in
gx_io_device.

[src/gxiodev.h]

2002-06-02T12:03:28.000000Z mpsuzuki

gs_cjk project : replace "min" & "max" by ".min" & ".max".
        by mpsuzuki (ported from gs7.05)

[lib/viewcmyk.ps lib/pdf_font.ps lib/gs_trap.ps lib/bdftops.ps lib/pdf_sec.ps lib/gslp.ps lib/prfont.ps lib/viewpbm.ps lib/gs_typ32.ps lib/gs_cidfn.ps lib/pdf_main.ps lib/ps2ascii.ps lib/packfile.ps lib/gs_fonts.ps lib/gs_ll3.ps lib/viewpcx.ps lib/gs_ttf.ps lib/font2pcl.ps lib/traceimg.ps lib/pdfopt.ps lib/gs_init.ps]

2002-06-02T12:02:11.000000Z mpsuzuki

gs_cjk project : CIDWProc sample implementation
        Fix by mpsuzuki. (ported from gs7.05)

[lib/pdf_font.ps]

2002-06-02T12:01:31.000000Z mpsuzuki

gs_cjk project : return error when we cannot load even CID=0.
        Fix by mpsuzuki. (ported from gs7.05)

[src/gxchar.c]

2002-06-02T12:00:54.000000Z mpsuzuki

gs_cjk project : CDevProc patch
	Fix by Masatake Yamato. (ported from gs7.05)

[src/zcharout.c]

2002-06-02T11:59:57.000000Z mpsuzuki

gs_cjk project : glyphshow in vertical writing mode bug patch.
        Originally, FontBBox_as_Metrics2 was set when charcode string
	is decoded into CIDs. "glyphshow" bypasses such decoding procedure,
	thus FontBBox_as_Metrics2 is not set.
	Fix by Masatake Yamato. (ported from gs7.05)

[src/gstext.c]

2002-06-02T11:59:20.000000Z mpsuzuki

gs_cjk project :  glyph cache bug patch for vertical writing mode.
        Fallback against inconsistency in double checking of glyph cache.
	The inconsistency causes misplacement of CJK glyph in vertical
	writing mode. Fix by Hideo Saito. (ported from gs7.05)

[src/gxchar.c src/gxchar.h]

2002-06-02T11:58:21.000000Z mpsuzuki

gs_cjk project : cshow bug fix for CIDFontType2.
	Fix by Hideyuki Suzuki. (ported from gs7.05)

[src/gxchar.c]

2002-06-02T11:57:34.000000Z mpsuzuki

gs_cjk project : cshow bug patch for composite font.
        Fix by Masatake Yamato. (ported from gs7.05)

[src/zcfont.c]

2002-06-02T11:57:03.000000Z mpsuzuki

gs_cjk project : cshow bug patch for CIDFont.
        proc passed to cshow can change currentfont internally,
	in such case, rangecheck error should not be returned.
	Fix by Masatake Yamato. (ported from gs7.05)

[src/zchar.c]

2002-06-02T11:56:23.000000Z mpsuzuki

gs_cjk project : bugfix for nested FMapType4/5 OCF.
        Fix by suzuki toshiya. (ported from gs7.05)

[src/lib.mak src/gschar0.c]

2002-06-02T11:55:28.000000Z mpsuzuki

gs_cjk project : return error when we cannot load even CID=0.
        Fix by mpsuzuki. (ported from gs7.05)

[src/zfcid0.c]

2002-06-02T11:54:38.000000Z mpsuzuki

gs_cjk project : handle "cidchar" map correctly.
	Fix by mpsuzuki. (ported from gs7.05)

[src/gsfcmap1.c]

2002-06-02T11:53:58.000000Z mpsuzuki

gs_cjk project : MDRC bug fix pt.2: shrink map infos by endcidchar too,
        to provide parsing of Adobe-CNS1-4 UCS4 CMap.
	Fix by mpsuzuki. (ported from gs7.05)

[lib/gs_cmap.ps]

2002-06-02T11:53:13.000000Z mpsuzuki

gs_cjk project : MDRC bug fix pt.1: use signalerror instead stop
	Fix by mpsuzuki. (ported from gs7.05)

[lib/gs_cmap.ps]

2002-05-31T17:21:36.000000Z Ray Johnston

Fix: Acrobat Reader apparently processes badly formed numbers that have a
'-' after the '.' by ignoring the fraction. If this type of tokenerror is
detected, issue an error message and change the scanning rules to do the
same as Adobe. SourceForge bug #558473 for Artifex customer #561.

[src/iscannum.c src/iscan.c src/iscannum.h src/iscan.h src/ztoken.c]

2002-05-31T17:14:34.000000Z Ray Johnston

Fix: Acrobat Reader apparently processes badly formed numbers that have a
'-' after the '.' by ignoring the fraction. If this type of tokenerror is
detected, issue an error message and change the scanning rules to do the
same as Adobe. SourceForge bug #558473 for Artifex customer #561.

[lib/pdf_base.ps]

2002-05-31T13:05:58.000000Z Jouk Jansen

Fix: Add type cast to prevent problem on OpenVMS

[src/gdevp14.c]

2002-05-30T21:43:10.000000Z Jack Moffitt

Adds logging support for the Ghostscript class and implements logging for
the nightly regression scripts.

[toolbin/tests/run_nightly toolbin/tests/run_regression toolbin/tests/gsconf.py toolbin/tests/gstestgs.py]

2002-05-30T13:43:12.000000Z lpd


Makes the GC descriptor public for allocating the FDArray of CIDFontType 0
fonts.

[src/gsfcid.c src/zfcid0.c src/gxfcid.h]

2002-05-30T07:11:51.000000Z lpd


Adds a GC descriptor for gs_font_info_t.

[src/gsfont.c src/gxfont.h]

2002-05-30T03:32:03.000000Z jeong

Fix: GS doesn't process PDF files without the required key /FontName
in FontDescriptor dict. Adobe Acrobat Reader handles these out of
spec files, so we also allow this. To fix this, now uses /BaseFont key
when /FontName is missing. SF#515475.

[lib/pdf_font.ps]

2002-05-30T03:23:12.000000Z jeong

> Fix: The epswrite did not generate correct bounding box when
> the left or top coord of the bbox for original file is greater than 0.
> Now works correctly. SF#547768, #448241.

[src/gdevps.c]

2002-05-30T03:21:53.000000Z jeong

Fix: The pswrite now does not open and close the device for a page's
output and does not set 'is_open = false'. SourceForge bug #551623.

[src/gdevps.c]

2002-05-29T08:09:59.000000Z Ray Johnston

Fix: Increase clist cmd reading buffer size to 4K to be able to handle
larger halftone bitmaps. The old size of 800 could cause the clist high
level path logic to revert to 'default' filling which created VERY large
clist temp files. SourceForge bug 542664 for Artifex customer 710.

[src/gxcldev.h]

2002-05-28T06:13:29.000000Z lpd


Fix: The recent (2002/05/19 22:37:38) change broke in-line images -- they
were now written with no data between the ID and the EI.  Reverts the two
affected files (gdevpdf[ij].c) to their previous state.

[src/gdevpdfi.c src/gdevpdfj.c]

2002-05-28T02:41:45.000000Z lpd


Adds an #ifndef to allow gs_cid_system_info_t to be defined as an abstract
type.

[src/gxcid.h]

2002-05-26T05:03:31.000000Z jeong

Fix: In radial shading, if radius of a circle is 0, there was division
by zero. This is a regression for the fix of SF#219798. Now fixed.

[src/gxshade1.c]

2002-05-26T04:58:28.000000Z lpd


Adds a return code to two internal procedures previously declared as not
returning a value.

[src/gdevpdfx.h src/gdevpdft.c src/gdevpdfu.c]

2002-05-24T19:15:20.000000Z lpd


Removes an inappropriate e-mail address from a comment.

[src/gscencs.c]

2002-05-24T17:55:06.000000Z Ray Johnston

Fix: Handle packedarray type of array for /PageSize in dictionary to
setpagedevice. Fixes SF bug #483629 for a nobody.

[src/zmedia2.c]

2002-05-22T17:29:37.000000Z Ray Johnston

Fix: Acrobat Reader apparently ignores or clamps 'setflat' parameter values
when rendering PDF. This change emulates that behaviour by clamping the
flatness parameter to a max of 1. Fixes SourceForge bug #555657 for Artifex
customer #150.

[lib/pdf_draw.ps]

2002-05-22T08:26:39.000000Z Ralph Giles

Update Release.htm with changes from the 7.05 release. Fixes SF bug #551275.

[doc/Release.htm]

2002-05-22T05:07:48.000000Z Raph Levien

Fix: In the output of the PDF 1.4 image buffer to the target device,
sets color space in graphics state explicitly to RGB (to match the
color space in the image), and also sets the device in the graphics
state to the target device. It may be that a better fix would be to
make the image work even without these explicit state settings, but
this seems to work for now. Fixes SF #520686.

[src/gdevp14.c]

2002-05-22T05:02:54.000000Z Raph Levien

Fix: Prevent call to pdfmark_make_dest when no /Page or /View is
given, so to avoid creating pdf_page_id()'s for invalid page numbers.
Fixes SF #548285.

[src/gdevpdfm.c]

2002-05-21T20:07:11.000000Z Igor Melichev

Fix : removing unuseful code from the image stream writer in pdfwrite.

[src/gdevpsdu.c src/gdevpsdf.h src/gdevpdfj.c]

2002-05-20T07:07:15.000000Z lpd


Refactors the pdfwrite driver so that none of the structures, and very few
of the procedures, for handling text and fonts are visible to the main body
of code, in preparation for a major rewrite of the text and font code.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfb.c doc/Develop.htm src/gdevpdfs.c src/gdevpdfd.c src/gdevpdft.c src/gdevpdfu.c src/gdevpdff.c src/gdevpdfw.c src/devs.mak src/gdevpdft.h src/gdevpdff.h]

2002-05-20T06:33:36.000000Z Igor Melichev

Fix: completing "remove dependency of pdfwrite on PS"

[src/gdevpdfs.c src/gscencs.c]

2002-05-19T22:37:38.000000Z Igor Melichev

Fix : improving image stream writer in pdfwrite.

[src/gdevpdfi.c src/gdevpdfj.c]

2002-05-19T15:50:00.000000Z lpd


Fix: The previous fix for numerical inaccuracies in CIE cache sampling could
lead to extremely long computation times.

[src/gscie.h src/zcontrol.c src/gscie.c]

2002-05-17T16:38:12.000000Z lpd


Fix: gdevpsf.h didn't define the 'stream' type, which it references.

[src/gdevpsf.h]

2002-05-17T16:15:54.000000Z lpd


Fixes a typo in the comment before pdf_do_subset_font.

[src/gdevpdfe.c]

2002-05-16T08:50:52.000000Z Igor Melichev

Fixing uninitialized pointers in psdf_binary_writer on VMerror.

[src/gdevpsdu.c]

2002-05-15T23:49:39.000000Z lpd


Fix: as a result of a recent fix, the CIEBased color cache code for ensuring
that black (0,0,0) mapped precisely no longer worked.

[src/gscie.c]

2002-05-15T23:40:56.000000Z lpd


Changes the 'base' and 'factor' for CIE caches from float to double, to
avoid numerical inaccuracies.

[src/gscie.h]

2002-05-15T19:07:32.000000Z lpd


Removes an extraneous makefile dependency.

[src/lib.mak]

2002-05-15T12:11:44.000000Z Russell Lang

Fix: Correct the VMS exit codes for exit_OK and exit_FAILED
which depend on the compiler (Forrest Cahoon).
Return the correct exit code from main for VMS.

[src/stdpre.h src/gs.c]

2002-05-14T23:33:58.000000Z lpd


Updates documentation for the revision of the C implementation of known
Encodings.

[doc/Develop.htm doc/Psfiles.htm]

2002-05-14T23:33:18.000000Z lpd


Simplifies the C implementation of the known Encodings, and makes it conform
better to Ghostscript standard coding style.

[toolbin/encs2c.ps src/lib.mak lib/encs2c.ps src/gscedata.h src/gscencs.c src/devs.mak src/gscedata.c]

2002-05-14T14:59:41.000000Z stefan

gs_exit() cleanup.

gs_exit() is renamed gs_to_exit() since it is an about to terminate cleanup
function, it always returns.

Both gs_to_exit() and gs_abort are client provided functions.  The client
can have its own special cleanup on exit, and the client can decide what it
wants to do in the abort case: exit, setjump/longjump, ...

gp_do_exit() is the way for the client to call a system independent exit()
this allows for different exit codes on unix and vms for instance.
Only the client can call this, if so desired from their gs_abort().

[src/gp_iwatc.c src/imain.c src/bench.c src/gp_os9.c src/gslib.c src/gdevpm.c src/imain.h src/iapi.c src/gp_mswin.c src/gp_mac.c src/gp_dvx.c src/gsexit.h src/gp_os2.c src/gp_unix.c src/gs.c]

2002-05-13T16:26:50.000000Z stefan

Changed END_OBJECT_SCAN to call gs_abort() instead of gs_exit in a debug
system when a chunk parsing error occurs.  If gs_abort() is never to be
called such as during a debug dump END_OBJECT_SCAN_NO_ABORT can be called.

[src/gxalloc.h src/gsalloc.c]

2002-05-12T22:38:08.000000Z lpd


Fix: pdfwrite relied on the PostScript interpreter to load and make
available the known encodings and glyph sets identified in src/gsccode.h.
With this change, pdfwrite can now be used without a PostScript interpreter,
and with fonts that do not implement the known_encode callback.

[lib/encs2c.ps src/lib.mak src/gdevpsf2.c src/gdevpsft.c doc/Develop.htm src/gdevpdfs.c src/gscencs.c src/devs.mak doc/Psfiles.htm src/gscencs.h src/gscedata.c]

2002-05-09T21:55:52.000000Z Ralph Giles

Update dependencies for included header files.

[src/lib.mak]

2002-05-09T18:24:17.000000Z Ralph Giles

Add missing headers so types are properly defined. Fixes SF bug #547357.

[src/gxclrast.c]

2002-05-09T16:29:16.000000Z Ralph Giles

Update the url for the zlib website and source. Fixes SF Bug #550585.

[doc/Make.htm src/zlib.mak doc/New-user.htm]

2002-05-09T06:28:27.000000Z lpd

Fix: If a Type 1 font had an initial FontMatrix other than [0.001 0 0 0.001
0 0] and also had a Metrics entry, pdfwrite would produce incorrect
character spacing.  Fixes SourceForge #551077.  (Similar to SourceForge
#535401.)

[src/gdevpdfs.c]

2002-05-08T15:51:58.000000Z Igor Melichev

Fix: Make PDF reader tolerant to singular matrix in Tj.
Source Forge bug "[ 538055 ] /undefinedresult in --currentpoint--".
(The solution was suggested by L. Peter Deutsch.)

[lib/pdf_ops.ps]

2002-05-08T08:43:35.000000Z jeong

Fix: Fix to process documents which have multiple pages and
require differing media sizes.
Thanks to Doug Durning for the patch. Fixes SF#551993.

[src/gdevdljm.c]

2002-05-08T06:57:35.000000Z Igor Melichev

Fix: A minor cleanup of vdtrace.c .

[src/vdtrace.c]

2002-05-08T06:26:56.000000Z jeong

Fix: Adds "wake up" sequence code to be sent before printing
for newer USB Epson Stylus printers.
Thanks to Chris Bagwell for the patch. Fixes SF#448199

[lib/stc600pl.upp lib/stc2.upp lib/stc300.upp lib/st640pl.upp lib/stc800pl.upp lib/stc200_h.upp lib/stc2_h.upp lib/st640plg.upp lib/stc.upp lib/stc300bl.upp lib/stc300bm.upp lib/stc500p.upp lib/stc600p.upp lib/st640p.upp lib/stc600ih.upp lib/stc_h.upp lib/stc800p.upp lib/stcany.upp lib/st640ih.upp lib/stc800ih.upp lib/stc640p.upp lib/stc_l.upp lib/stc2s_h.upp lib/stc500ph.upp lib/st640pg.upp lib/stcany_h.upp lib/st640ihg.upp lib/stc1520h.upp]

2002-05-08T05:55:26.000000Z jeong

Fix: Top and bottom margins for BJ10e were incorrect.
Now works corretly as BJ10 manual describes.
Fix by Jim Hague (bears). Fixes SF#477644.

[src/gdevbj10.c]

2002-05-08T05:41:44.000000Z Dan Coby

Fix:  The GS lib would not build.  This fix corrects two minor problems.
The routine gs_abort was added to gslib.c.  The unused include file gmorecfg.h
was removed from vdtrace.c.

[src/lib.mak src/gslib.c src/vdtrace.c]

2002-05-07T19:56:46.000000Z lpd


Fix: pdfwrite could not convert a CIEBased color space with input domains
larger than [0..1] to an ICCBased space, because the ICC profile
specification inherently limits inputs to this range.  The fix required
explicitly rescaling the decoding of the color data in many different places
when such a color space was involved: the Decode arrays in images; the
tintTransform functions for Separation and DeviceN color spaces; the
Background, Function, and Decode for shadings.  While this was only a
performance problem, it could be a very severe one, because it caused images
using such extended-domain CIEBased spaces to revert to zillions of tiny
rectangles.  This change completes the ability of pdfwrite to convert
PostScript color spaces, aside from DeviceN and Separation spaces which are
the subject of a separate project.

[src/gdevpdfx.h src/gdevpdfb.c src/gdevpdfc.c src/gdevpdfu.c src/gdevpdfv.c src/gdevpdfc.h src/gdevpdfi.c src/gdevpdfk.c src/gdevpdfg.h]

2002-05-07T19:51:53.000000Z lpd


Fix: A rounding problem made installation of CIEBased color spaces
non-idempotent, which could cause seriously incorrect rendering of CIEBased
colors in the sequence [/CIEBased...] setcolorspace, gsave, [/Pattern
[/CIEBased...]] setcolorspace, grestore.  Fixes SourceForge bug #547695,
q.v.

[src/gscie.h src/zcolor.c src/opextern.h src/gscie.c src/zcontrol.c src/zcie.c]

2002-05-06T11:49:30.000000Z Igor Melichev

Fix: Allow readonly FontMatrix in font type 9.
Thanks for Ray Johnston for participation.
Source Forge bug "[ 551958 ] Problems with CIDFont: RcPNOWkana-GB".

[lib/gs_cidfn.ps]

2002-05-05T13:44:27.000000Z Igor Melichev

Fix: Removing the variable $(PSD) from lib.mak to allow
graphics library to build independently on GS.

[src/lib.mak]

2002-05-03T07:34:19.000000Z Ralph Giles

Add a configure option for setting the name of the ghostscript executable. From a patch by Michael Sweet.

[src/Makefile.in src/configure.ac]

2002-05-03T03:51:23.000000Z Ralph Giles

Add a configure option to enable COMPILE_INITS. After a patch from Michael Sweet.

[src/Makefile.in src/configure.ac]

2002-05-02T22:36:47.000000Z lpd


Documents the fact that driver procedures other than put_params must not
reset is_open, and the invariant that requires any device instance
referenced from a graphics state to be open.

[doc/Drivers.htm src/gxdevcli.h]

2002-05-02T21:00:40.000000Z lpd


Reorganizes code slightly to better document the fact that font notification
lists must be allocated in stable memory.

[src/gsfont.c src/gsfcid2.c src/gxfont.h]

2002-05-02T20:48:21.000000Z lpd


Documents the rationale for stable allocators better.

[doc/Develop.htm]

2002-05-02T17:47:02.000000Z jeong

Fix: When CIEBasedDEF or DEFG color space is set, DecodeABC was not
set properly and remained as abc_identity. This caused wrong color
generation in CIEBasedDEFG space. Analysis and fix by L. Peter
Deutsch (lpd). Fixes SF#542786.

[src/zcie.c]

2002-05-01T23:15:23.000000Z Igor Melichev

Fix: More compatibility to Adobe interpreters in 'eexec'.
This is NON-BACKWARD-COMPATIBLE change. Now eexec skips all whitespaces at
the beginning of input stream, except for PFBDecode output.
Thanks to L. Peter Deutsch for participation.
Source Forge bug "[ 428891 ] Undefined commands interpreting Postscri".

[src/seexec.c lib/rollconv.ps lib/pdf_font.ps src/zmisc1.c doc/Language.htm lib/gs_init.ps]

2002-04-30T10:46:20.000000Z Igor Melichev

Fix: More tolerance to inconsistent stream length in PDF reader.
Source Forge bug "[ 538042 ] /syntaxerror in --token--".

[lib/pdf_base.ps]

2002-04-29T22:37:15.000000Z lpd


Adds a project to replace all sampled PostScript procedures with Function
objects, at the PostScript level.  (Suggested by SourceForge bug #547695.)

[doc/Projects.htm]

2002-04-29T22:33:50.000000Z Ray Johnston

Fix: ReusableStreams couldn't handle %diskn devices (or even %os% files for
that matter). Add filename parsing for iodev to make_rfs. Problem showed as
invalidaccess when opening CIDFonts that resided on %disk devices. Fix for
Artifex customer #411.

[src/zfrsd.c]

2002-04-29T17:27:06.000000Z Ray Johnston

Fix: Calculate more accurate BoundingBox and prevent invalidaccess by using
an 8-bit deep preview image.  SF bug #525508.

[lib/ps2epsi.ps]

2002-04-29T16:59:01.000000Z Ray Johnston

Fix: Previous change to optimize setcolorspace (for SF bug #539327) caused
a regression since the CIE space cache management was confused when CIEBased
(including ICCBased) colorspace was the base space for some other space
such as Pattern, Indexed, DeviceN, Separation. The discussion of the fix of
the cache handling will be in doc/Projects.htm. The .dosetcolorspace is now
used internally when setting up the base space for the "outer" colorspaces.
Fixes regression caused by rev 1.15 of gs_lev2.ps and partial fix for SF
bug #547695. Analysis of problem by L. Peter Deutsch (lpd).

[lib/gs_lev2.ps lib/gs_ll3.ps lib/gs_icc.ps]

2002-04-29T09:59:27.000000Z Igor Melichev

Fix: Annotations with empty AP dictionary caused a failure.
Providing more tolerance rather such APs are invalid.
Source Forge bug "[ 538428 ] empty appearance streams".

[lib/pdf_draw.ps]

2002-04-29T04:32:32.000000Z lpd


Fix: When pdfwrite wrote out a fill with an uncolored (mask) Pattern, all
colors other than black were converted to white.  (Bug found during
unrelated pdfwrite development.)

[src/gdevpdfb.c]

2002-04-26T20:51:24.000000Z Ray Johnston

Fix: Add PostScriptLevel3 as one of the Resources of the /Emulator category
so that it shows up with "gs -h". Fixes SourceForge bug #549235.

[src/int.mak]

2002-04-26T08:52:54.000000Z Igor Melichev

Fix: gx_device_clip::memory was not set but used while intersecting clip paths.
Source Forge bug "[ 547111 ] segfault with pdf using ppmraw".

[src/gxclip.c]

2002-04-26T05:01:18.000000Z Russell Lang

Changes to the gtk+ client to request a suitable window size based
on the screen and image sizes, to reduce unnecessary redraws and
erase the window area outside the image.

[src/dxmain.c]

2002-04-25T21:29:08.000000Z Russell Lang

Fix: Correctly embed the original EPS file in the output
of ps2epsi on Windows and OS/2.

[lib/ps2epsi.cmd lib/ps2epsi.bat]

2002-04-23T18:38:52.000000Z lpd


Fix: FunctionType 4 functions with more than 1 output didn't scale the
output properly.

[src/gsfunc4.c]

2002-04-23T17:33:32.000000Z Igor Melichev

FAPI project : nominalWidthX was wrongly processed for Type 2 fonts.
Source Forge bug "[ 545177 ] (FAPI) wrong glyph placement".

[src/zfapi.c]

2002-04-23T16:46:30.000000Z lpd


Fixes an incorrect comment; eliminates a redundant initialization.

[src/gsfunc3.c]

2002-04-23T06:13:58.000000Z jeong

Fix: Radial shading worked only if the original coordinate unit
is identical to the coordinate unit of the output device.
Now it works for every case. Fixes SF#542457.

[src/gxshade1.c]

2002-04-23T01:10:38.000000Z lpd

Fix: Arrayed Output functions didn't check whether their input and output buffers overlapped in memory.  This produced incorrect output from ShadingType 4-7 shadings with a /Function entry that was an array of N 1-output Functions rather than a single N-output function. (Bug discovered during pdfwrite development.)

[src/gsfunc3.c]

2002-04-22T23:01:47.000000Z Raph Levien

Removes unused gdevht halftoning "device". Part of DeviceN task list.

[src/lib.mak src/gdevht.c doc/Drivers.htm doc/Develop.htm src/gdevht.h src/gxclrast.c src/gxclread.c]

2002-04-22T19:53:23.000000Z Ralph Giles

Use sed in preference to tail to avoid conflicts between posix and traditional implementations. Patch from Paul Eggert. Closes SourceForge bug #521597.

[lib/unix-lpr.sh]

2002-04-22T18:30:25.000000Z Ralph Giles

Update icclib to the latest 2.02 release.

[icclib/icc.c icclib/Licence.txt icclib/icc.h icclib/COPYRIGHT icclib/Readme.txt icclib/README]

2002-04-21T22:04:49.000000Z lpd


Documents the need to use ctm_only when passing the CTM of an imager state
to procedures such as gs_point_transform.

[src/gxistate.h]

2002-04-21T17:45:41.000000Z Igor Melichev

Fix: Taking off a debbugging code.

[src/zchar1.c]

2002-04-21T02:48:36.000000Z lpd


Fix: ShadingType 4-7 shadings didn't check the validity of ColorSpace and
BBox like other shadings, and when used with a Function, didn't check that
the Function had the correct number of inputs and outputs.  (Bug found
during pdfwrite development.)

[src/gsshade.c]

2002-04-20T18:50:36.000000Z lpd


Fix: Arrayed Output Functions (used internally to represent an array of
Functions) didn't compute or store their Domain, causing pdfwrite to write
them incorrectly.  (Bug found during development of pdfwrite.)

[src/gsfunc3.c]

2002-04-20T07:05:39.000000Z lpd


Fix: The make_scaled procedure for PostScript Calculator Functions didn't
copy the data_source, causing a memory access error when converting the
Function to printable form.

[src/gsfunc4.c]

2002-04-20T05:51:52.000000Z lpd


Fix: ShadingType 4-7 shadings with a Function and with data coming from a
stream rather than an array incorrectly expected N value ranges in their
Decode array, where N is the number of components in the color space, rather
than a single range for the function argument.  Finishes fixing SourceForge
#546415.

[src/zshade.c]

2002-04-20T05:27:11.000000Z lpd


Fix: ShadingType 4-7 shadings with a Function incorrectly read N values from
their data stream, where N is the number of components in the color space,
rather than a single entry for the function argument.  Fixes SourceForge
#546415.

[src/gxshade.c]

2002-04-19T19:22:14.000000Z lpd


Puts dpsand2.dev first in the dependencies of psl2.dev, so that (eventually)
geninit will have earlier access to the system name table for producing
output with binary token encodings.

[src/int.mak]

2002-04-19T15:06:54.000000Z jeong

Fix: Laserjet familiy drivers make 2 bytes output
when gs is closing. Now they don't.
Fixes SF Bug#427314.

[src/gdevdjet.c]

2002-04-19T06:53:49.000000Z lpd


Changes a temporary buffer, formerly unnecessarily declared static, to being
allocated on the stack.

[src/gdevpdfg.c]

2002-04-19T06:52:25.000000Z lpd


Removes the name SystemNames as a name for the system name table.

[lib/wrfont.ps lib/gs_btokn.ps]

2002-04-19T01:17:53.000000Z lpd


Adds a make_scaled virtual procedure to Function objects, to create a
modified Function whose N output values are transformed linearly according
to a supplied set of N range parameters.  This is the first installment for
implementing conversion of extended-range CIEBased color spaces to ICCBased
spaces in pdfwrite.

[src/lib.mak src/gxfunc.h src/gsfunc.c src/gsfunc0.c src/zfunc.c src/gsfunc3.c src/gsfunc4.c src/ifunc.h src/gsfunc.h]

2002-04-19T01:08:38.000000Z Jack Moffitt

Fix: Adds -p parameter to mkdir to suppress warning messages when the
target already exists and to create parent directories automatically if
they don't exist.  Fixes Sourceforge bug #518742.

[src/unix-dll.mak src/unixinst.mak]

2002-04-19T00:56:28.000000Z Ralph Giles

Fix: the uniprint driver wasn't being included due to a typo.

[src/os2.mak]

2002-04-19T00:54:31.000000Z Ralph Giles

Add the ijs device to the default unix-gcc build.

[src/unix-gcc.mak]

2002-04-19T00:53:19.000000Z lpd


Deletes "Vanilla" functions, which have not been used for a long time.  They
were originally created for implementing FunctionType 4 functions using a
callback to the PostScript interpreter, but FunctionType 4 functions have
had their own interpreter since 3/19/2000 (first revision of gsfunc4.c).

[src/lib.mak src/gsfuncv.h doc/Develop.htm src/gsfuncv.c]

2002-04-19T00:04:52.000000Z Jack Moffitt

Fix: Initializes the green and blue components of cmap and their                multipliers.  A floating point exception was occuring on static gray X          displays when these were left at 0.

[src/gdevxcmp.c]

2002-04-18T20:28:54.000000Z Raph Levien

Removes trailing comma in enum.

[icclib/icc.h]

2002-04-18T18:28:56.000000Z Raph Levien

Upgrade icclib to (proposed) 2.01 release. Patch has been sent to
Graeme Gill for consideration.

[icclib/icc.c icclib/icc.h icclib/icc9809.h]

2002-04-18T14:26:27.000000Z Igor Melichev

Fix : Type2 interpreter state was wrongly backed up for sbw fallback.
Source Forge bug "[ 541877 ] /invalidfont on Kozuka Mincho".

[src/gstype2.c src/gxtype1.c src/zchar1.c]

2002-04-18T10:15:47.000000Z Jouk Jansen


 Committing in .

 Type-cast fix

 Modified Files:
 	gs/src/gsfcid2.c

[src/gsfcid2.c]

2002-04-18T08:12:56.000000Z jeong

Fix: Radial shading fills with /Extend are now clipped correctly.
Also Radial shadings with 2 radii for which the difference is small
or zero, now does as Adobe does.
Fixes SourceForge bug #219798, #542457

[src/gxshade1.c]

2002-04-18T05:59:21.000000Z lpd


Defines a floating-point range type gs_range_t in gstypes.h; redefines the
existing gs_range type in gscie.h in terms of it.

[src/gscie.h src/gstypes.h]

2002-04-18T05:55:04.000000Z lpd


Adds an unnecessary pair of { } to prevent gcc from complaining about an
ambiguous 'else'.

[src/ilocate.c]

2002-04-18T01:53:36.000000Z Ralph Giles

Fix: make symlinks to equivalent manpages with relative rather than
absolute paths to facilitate moving the directory to another location.
Closes SourceForge Bug #416131.

[src/unixinst.mak]

2002-04-16T21:41:28.000000Z Ray Johnston

Fix: Bump the DEFAULT_VM_THRESHOLD value up to prevent excessive GC.
This is a tuned parameter that may need to be adjusted in the future
if -dNOGC runs significantly faster than the normal case. The previous
values were established a long time ago when memory was a more expensive
resource. Fixes SourceForge bug #421057.

[src/zvmem2.c]

2002-04-16T21:22:25.000000Z Jack Moffitt

Fix: missing space bofore the gsoptions are passed.

[toolbin/tests/gstestgs.py]

2002-04-16T21:06:20.000000Z Jack Moffitt

Fix: Options specified in gsconf.py were not being used correctly by all
scripts.  run_regression and revert_baseline were both broken in this
respect.

[toolbin/tests/run_regression toolbin/tests/revert_baseline toolbin/tests/gstestgs.py]

2002-04-16T11:03:29.000000Z Igor Melichev

Fix : Replacing the even-odd filing rule with the non-zero filling rule for fonts.
Source Forge bug "[ 539359 ] problem rendering euro character".

[src/zchar1.c]

2002-04-16T10:18:59.000000Z Igor Melichev

Fix : pdfwrite wrongly computed line width for fonts with PaintType 2.

[src/gdevpdfs.c]

2002-04-15T23:59:20.000000Z lpd


Adds a --[no-]pause switch to suite.tcl, for viewing suite output on the
display.  Also changes the output file names from
t.<>.<>.<> to <>.<>.<>.

[toolbin/suite.tcl]

2002-04-15T15:17:06.000000Z lpd


Changes variables named 'unit' to 'unitary' for better readability.

[src/gdevpdfc.c]

2002-04-14T15:56:53.000000Z lpd


Fix: The new file md5main.c was not included in the catalog of source files.

[doc/Develop.htm]

2002-04-14T07:09:51.000000Z lpd


Fix: pdfwrite would incorrectly output CalGray or CalRGB color spaces even
if the range of the color space was not [0 1] or [0 1 0 1 0 1] respectively.

[src/gdevpdfc.c]

2002-04-14T06:55:58.000000Z lpd


Updates makefile dependencies for the recent change to gdevpdfu.c.

[src/devs.mak]

2002-04-14T06:51:45.000000Z lpd


Fix: If a shading's Function entry was an array of functions rather than a
single function, pdfwrite wrote out an invalid Function object with a
FunctionType of -1.

[src/gdevpdfu.c src/gsfunc3.c]

2002-04-14T04:30:47.000000Z lpd


Fix: Indexed color spaces weren't implemented for ShadingType 4-7 shadings.

[src/lib.mak src/gxshade.c src/gxshade4.c src/gxshade.h]

2002-04-14T03:10:01.000000Z lpd


Fix: ShadingType 1 shadings whose Function was an array required the
individual functions to take 1 argument, rather than the correct 2; shadings
whose Function was not an array didn't check that the function took the
correct number of arguments.  (The Genoa FTS does not check either of
these.)

[src/zshade.c]

2002-04-14T02:48:26.000000Z lpd


Fix: The Matrix entry of ShadingType 1 shading dictionaries was required; it
is now (correctly) optional.

[src/zshade.c]

2002-04-14T01:08:14.000000Z Ralph Giles

Fix: the url for the guide to international paper sizes has changed. Thanks to Nelson Beebe for finding the update.

[doc/Use.htm]

2002-04-13T19:20:28.000000Z lpd


Splits off the md5 test program into a separate file; removes support for
non-ANSI compilers; makes byte order test either static or dynamic.

[src/md5.c src/md5main.c src/md5.h]

2002-04-12T19:38:33.000000Z lpd


Fix: Adding any of the base 14 fonts to the NeverEmbed list produced broken
output in PDF level 1.3 and above.  Makes the 'default', 'screen', and
'ebook' parameter sets not embed the base 14 fonts.  (The documentation
already said this was the case, even though it wasn't.)  This is a partial
fix for SourceForge bug #438957.

[src/gdevpdff.c lib/gs_pdfwr.ps]

2002-04-12T19:34:15.000000Z lpd


Removes all tests for pdfwrite CompatibilityLevel < 1.2, since these are
always false: the lowest supported PDF output level has been 1.2 for quite a
long time.

[src/gdevpdfm.c src/gdevpdfb.c src/gdevpdfe.c src/gdevpdfu.c src/gdevpdfw.c src/gdevpdfg.c src/gdevpdfi.c]

2002-04-12T19:28:15.000000Z lpd


Fix: pdfwrite only updated the overprint flag in the graphics state for fill
and stroke, not for images.  Fixes SourceForge #525712.

[src/gdevpdfg.c]

2002-04-12T05:55:39.000000Z lpd


Brings dependencies in lib.mak up to date.

[src/lib.mak src/vdtrace.c]

2002-04-12T05:42:06.000000Z lpd


Brings dependencies in devs.mak up to date.

[src/devs.mak]

2002-04-12T05:37:43.000000Z lpd


Brings int.mak dependencies up to date.

[src/int.mak]

2002-04-11T22:20:14.000000Z Dan Coby

Create a separate WARNOPT parameter for specifying the warning message
level.  This allows the message level to be specified from the command
line.

[src/msvccmd.mak]

2002-04-11T22:07:36.000000Z lpd


Moves the remaining CID-related test operator (.writefont9) to zcidtest.c.

[src/lib.mak src/zfcid0.c src/int.mak src/zcidtest.c]

2002-04-11T21:44:51.000000Z lpd


Moves the choice of even-odd vs. winding-number rule for filling Type 1
characters to the beginning of its source file, for greater visibility.

[src/zchar1.c]

2002-04-11T18:11:02.000000Z Ray Johnston

Add an example using .locksafe to permit reading of files anywhere while
preventing file writing, deleting or renaming (as with the pre 7.20 SAFER
mode). Related to SourceForge bug #541856.

[doc/Language.htm]

2002-04-11T16:55:35.000000Z Igor Melichev

FAPI project : fixing a misprint in comment.

[src/fapiufst.c]

2002-04-11T15:59:19.000000Z Igor Melichev

Fix : pdfwrite wrongly computed text width for fonts with unusual font matrix.
Source Forge bug "[ 535401 ] euro glyph misplaced after pdfwrite".

[src/gdevpdfs.c src/gdevpdff.c]

2002-04-11T04:12:17.000000Z lpd


Changes two calls of cos_dict_find to cos_dict_find_c_key (hygiene only).

[src/gdevpdfm.c]

2002-04-11T02:18:14.000000Z Dan Coby

Fix for #540871.  Clean up compiler warnings in zfsample.c.
Note:  The addition of two include files in zfsample.c forces a change
in dependencies in int.mak.

[src/int.mak src/zfsample.c]

2002-04-10T15:16:00.000000Z Ray Johnston

Fix: Handle Widths and Encoding arrays in PDF Font objects that
are too small by using reasonable defaults. Adobe Acrobat Reader
handles files with these problems. Fix for Artifex customer 861
for SourceForge bug#538398.

[lib/pdf_font.ps]

2002-04-10T02:34:01.000000Z Ray Johnston

Fix: output of psmono and psgray drivers was scaled twice: using
scale operator and image matrix. This fix removes scaling component
from the image matrix. Fix by Alex Cherepanov for SF bug #482033.

[src/gdevpsim.c]

2002-04-10T02:23:08.000000Z Ray Johnston

Fix: Remove "/tfopdict undef". tfopdict was defined in v.6.01 but the
definition was since removed. Fix for bug #511232 by Alex Cherepanov.

[lib/pdf_draw.ps]

2002-04-09T23:31:44.000000Z lpd


Restores some performance lost as a result of the fix for SourceForge
#495414, by skipping a request for glyph widths which is redundant if the
font doesn't have Metrics or CDevProc.  Addresses SourceForge #451456 (a
general request for better pdfwrite performance), which will be closed after
this change.

[src/gdevpdff.c src/zchar1.c src/gxfont.h]

2002-04-09T23:26:29.000000Z Ray Johnston

Fix: Delete code that caused unshifted arrow keys to enter garbage chars
into the command line buffer. Now arrow keys scroll the image window
regardless of the shift state. Fix by Alex Cherepanov.

[src/dwtext.c]

2002-04-09T22:54:00.000000Z Ray Johnston

 Fix: Check the return code from gs_upathbbox() and zero the bbox if
there is no current point. Propagate other errors up. Adobe implementations
throw nocurrentpoint error, but this is not valid per the PLRM.
Fix for #520972 by Alex Cherepanov.

[src/zupath.c]

2002-04-09T22:51:20.000000Z lpd


Documents a user request for pdfwrite to convert images to a fixed,
specified color space, as it currently does for vectors/text/masks.

[doc/Issues.htm]

2002-04-09T22:43:46.000000Z lpd


Documents more clearly the fact that the ProcessColorModel parameter for
ps2pdf / pdfwrite does not affect (most) images.  Also changes the "notes"
references from the parameter table to live links.

[doc/Ps2pdf.htm]

2002-04-09T21:45:33.000000Z Jack Moffitt

Fix: gscheck_pdfwrite.py was modeled after run_regression instead of
check_*.py.  This corrects the script so that it follows the testing
conventions and also adds gscheck_all.py which will run every gscheck_*.py
test (of which currently there is only one).

[toolbin/tests/gscheck_pdfwrite.py toolbin/tests/gscheck_all.py toolbin/tests/gstestgs.py]

2002-04-09T18:12:24.000000Z Jack Moffitt

Adds gscheck_pdfwrite.py and a new test class, GSFuzzyCompareTest.  This
test does fuzzy compares of ps->raster and ps->pdf->raster to help
ensure the pdfwrite device is functioning properly.

[toolbin/tests/gscheck_pdfwrite.py toolbin/tests/gsconf.py toolbin/tests/gstestgs.py]

2002-04-09T02:03:22.000000Z lpd


Fix: The recently added reference to zcidtest.c had the correct text but an
incorrect URL.

[doc/Develop.htm]

2002-04-09T01:25:26.000000Z Jack Moffitt

Fix: gscdef.c must contain a definition for GS_PRODUCT that matches the
definition used by the baseline.  run_nightly now sets GS_PRODUCT
to "AFPL Ghostscript" correctly regardless of it's setting in the repository.

[toolbin/tests/run_nightly]

2002-04-08T21:21:23.000000Z lpd


Fix: Changes the operation of AutoFilter{Gray,Color}Images to always use the
lossless filter (normally FlateEncode), rather than using DCTEncode for
8-bit-per-component images at least 64x64 in size.  While this isn't
optimal, it fixes a long-standing problem that many users have complained
about.  Fixes SourceForge #450663.

[doc/Ps2pdf.htm src/gdevpsdi.c]

2002-04-08T21:02:44.000000Z lpd


Changes gs_cmap_t (internal representation of CMaps) to an abstract
superclass with multiple implementations: standard Adobe CMapType 1,
TrueType 16-bit cmap (Platform 3, Encoding 1, Format 4), and one-for-one.
Adds the ability to designate a CMap as Unicode-based.  Enhances pdfwrite so
that composite fonts (including those based on TrueType Unicode fonts) with
Unicode-based CMaps are embedded in the PDF file with the original text
preserved and with an appropriate ToUnicode CMap, making the text searchable
in Acrobat.

[src/gdevpdfx.h src/gdevpdf.c src/int.mak src/gsfcmap.c src/gxfont42.h src/zfcmap.c src/zfcid1.c src/gsfcid2.c src/gstype42.c doc/Develop.htm src/gsfont0c.c src/gsfcmap.h src/devs.mak src/zcidtest.c src/gdevpdff.h src/gxfcmap.h src/lib.mak src/gxfont0c.h src/gsfcmap1.c src/gdevpdfs.c src/gdevpdfw.c src/gxfcmap1.h src/gdevpsfm.c]

2002-04-08T20:42:01.000000Z lpd


Fix: Compiling with -dPROFILE could cause compiler warnings about "memxxx
redefined" (memset, memcpy, etc.).

[src/memory_.h]

2002-04-07T01:10:54.000000Z Raph Levien

Moves implementation of TransformPQR procedures in default CRD to
zcrd.c for speed. Fixes SF bug #539327.

[lib/gs_lev2.ps src/zcrd.c]

2002-04-06T01:18:56.000000Z Ray Johnston

Fix: Skip the (potentially time consuming) work of setting the color
space if it is the same as the currentcolorspace. Fixes SF #539327
for Artifex customer #830.

[lib/gs_lev2.ps]

2002-04-04T06:01:51.000000Z mpsuzuki



gs-cjk project : add note about abandoning of CIDFnmap in gs6.53 and gs7.0x
	to incompatible changes.

[doc/News.htm]

2002-04-04T03:14:03.000000Z Ralph Giles

update version numbers after the 7.20 release.

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

2002-04-04T00:16:58.000000Z Ralph Giles

final changelog update for 7.20

[doc/History7.htm doc/Changes.htm]

2002-04-03T20:14:28.000000Z Ray Johnston

Fix: .dev was left off of uniprint.dev in a DEVICES macro

[src/msvc32.mak]

2002-04-03T18:35:28.000000Z Ralph Giles

update changelogs for official 7.20 release

[doc/History7.htm doc/Changes.htm]

2002-04-03T18:25:03.000000Z Ralph Giles

Returns the bbox device to the default build in response to user requests.

[src/openvms.mak src/macosx.mak src/Makefile.in src/msvc32.mak src/unix-gcc.mak src/unixansi.mak src/devs.mak src/os2.mak]

2002-04-03T10:08:14.000000Z mpsuzuki



gs-cjk project : note on obsoleted CIDFnmap of gs-cjk (gs6.53, 7.05),
	Fix by Suzuki Toshiya.

[doc/Changes.htm]

2002-04-03T07:25:21.000000Z Ralph Giles

update changelogs for 7.20rc3 release candidate

[doc/Changes.htm doc/History7.htm]

2002-04-03T07:22:45.000000Z Ralph Giles

Fix: further clarify the call to cvs2hist for the main branch.

[doc/Release.htm]

2002-04-03T06:56:08.000000Z Ralph Giles

Update documentation for 7.20rc3

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

2002-04-03T06:44:57.000000Z Ralph Giles

Fix: the cvs2hist invocation must use -b in the rlog tags, rather than
-r to correctly identify the head branch. Some files are tagged as
'MAIN' rather than 'HEAD'.

[doc/Release.htm]

2002-04-02T19:34:37.000000Z Ray Johnston

Fix: Correct vdtrace.h dependencies. This eliminates >300 lines of output
from the gsmake.tcl makefile check tool.

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

2002-04-02T16:27:56.000000Z Ray Johnston

Fix: Change spaces at start of rule to a single tab required by some makes.

[src/winint.mak]

2002-04-02T01:15:16.000000Z Ralph Giles

Try the standard gcc compile flags only if we think we're using gcc to avoid generating spurious warnings with some other compilers.

[src/configure.ac]

2002-04-01T21:02:49.000000Z Ralph Giles

Fix: remove a C++-style comment from portable code.

[src/ifapi.h]

2002-04-01T09:23:39.000000Z Ralph Giles

Update changelogs for 7.20rc2. These are actually incomplete pending a
bug in cvs2hist.

[doc/Changes.htm doc/History7.htm]

2002-03-31T00:45:57.000000Z Ralph Giles

further cleanups for release

[doc/News.htm doc/Release.htm]

2002-03-31T00:32:38.000000Z Ralph Giles

Updates release date for 7.20rc2

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

2002-03-31T00:28:07.000000Z Ralph Giles

minor cleanup of the release instructions

[doc/Release.htm]

2002-03-31T00:26:43.000000Z Ralph Giles

Fix: 'echo -n' isn't portable.

[src/configure.ac]

2002-03-30T23:55:15.000000Z Ralph Giles

Adds support for compilation against a standard shared libjpeg. It
is believed that non-baseline compliant DCTEncoded data, permitted by
early versions of postscript, is now extremely rare and the prohibition
against SHARE_JPEG=1 may reasonably be removed. The autoconf build will
prefer a local copy of the jpeg source, in which case the
D_MAX_BLOCKS_IN_MCU patch will still be applied. If no such local copy
is found, it will try to find a shared library on the system. For all
unix builds, if $(JSRCDIR)/jmemsys.h cannot be found, we define
DONT_HAVE_JMEMSYS_H and include our own versions of the libjpeg memory
manager prototypes. The default allocator in the shared library is
overridden by the ghostscript one at link-time. While this may be
implementation-dependent, it appears to function as desired on at least
GNU/Linux and Solaris.
Also changes the autoconf build to prefer local zlib and libpng source,
and cleans up some variable names.

[src/ugcclib.mak src/macosx.mak src/dvx-gcc.mak src/Makefile.in src/configure.ac src/unix-gcc.mak src/unix-aux.mak src/unixansi.mak src/sjpegc.c]

2002-03-30T23:39:15.000000Z Raph Levien

Adds DELAYSAFER/.setsafe logic to pdf2dsc output, as needed for a
security update to gv.

[lib/pdf2dsc.ps]

2002-03-30T18:31:56.000000Z Ralph Giles

Updates the documentation with the new windows icons.

[doc/Develop.htm]

2002-03-30T03:44:36.000000Z Ralph Giles

Fix: the warning flag is -Wcast-qual not -Wqual-cast

[src/configure.ac]

2002-03-30T03:24:10.000000Z Ralph Giles

Fix: removes gcc-specific compiler flags from the autoconf makefile,
including the -fomit-frame-pointer optimization. Replaces the workaround
for const not working in gcc 2.7 with the more general autoconf macro
AC_C_CONST. Lists the defines generated by the configure script for
reference in the Makefile, but doesn't make use of them.

[src/Makefile.in src/configure.ac]

2002-03-30T01:29:38.000000Z Russell Lang

Replace Windows icons with new versions that include 48x48 pixel
and 32-bit versions for Windows XP.  Change the 16x16 pixel icons
to use the full 'g' instead of just the head.  Use a restricted
icon gswin16.ico for WinZip SE which can't handle the new icon.

[src/gsdll32.rc src/gsgraph.icx src/dwuninst.rc src/dwsetup.rc src/bcwin32.mak src/winint.mak src/gswin32.rc src/gswin16.icx src/gstext.icx src/dwmain.rc src/gs16spl.rc src/gswin.icx src/gswin.rc src/gswin386.rc]

2002-03-29T23:40:41.000000Z Ralph Giles

Further improves the description of the release process, particularly
the section on making GNU Ghostscript releases.

[doc/Release.htm]

2002-03-29T22:05:54.000000Z Ralph Giles

Fix: removes -Wtraditional for the default gcc compiler flags for the
autoconf build as well.

[src/configure.ac]

2002-03-29T22:04:58.000000Z Ralph Giles

Fix: remove -fno-common from the default LDFLAGS (again) This was
inadvertently reverted in the previous revision.

[src/Makefile.in]

2002-03-29T18:04:04.000000Z Ray Johnston

Fix: Botched macro spelling in prototype corrected, also removing the
incorrect 'private' keyword. Clean up two *++esp; statements that gave
gcc warnings.

[src/zfile.c]

2002-03-29T08:59:22.000000Z Ralph Giles

1.29:Update Changelogs for the 7.20 release.

[doc/Changes.htm]

2002-03-29T08:59:22.000000Z Ralph Giles

Changes smoke.ps to use relative paths fromt he top level of the source tree. This is simpler than relying on the user having a global /gs alias

[toolbin/smoke.ps]

2002-03-29T08:59:22.000000Z Ralph Giles

Update Changelogs for the 7.20 release.

[doc/History7.htm]

2002-03-29T08:55:43.000000Z Ralph Giles

Update release notes for the 7.20 release.

[doc/News.htm]

2002-03-29T08:15:59.000000Z Russell Lang

Document that other API programming examples are available
on the ghostscript web site.

[doc/API.htm]

2002-03-29T07:42:04.000000Z Ralph Giles

Fix: update the instructions for cvs2hist.py to reflect the new branch-sensitivity options.

[doc/Release.htm]

2002-03-29T04:37:50.000000Z Ray Johnston

Fix: Cleanup some casting and other compiler warnings (minor).

[src/zfile.c]

2002-03-29T04:25:13.000000Z Raph Levien

Updates documentation on PDF problem files, removing non-POSIX
compliant suggested workaround. Thanks to Paul Eggers for pointing
out the problem. Fixes SF bug #521597.

[doc/Use.htm]

2002-03-29T03:17:14.000000Z Ralph Giles

Fix: bring Release.htm more up-to-date with current practice

[doc/Release.htm]

2002-03-29T02:32:54.000000Z Raph Levien

Fix: Makes pathname manipulation in check_dirs.py and check_docrefs.py
more portable and robust.

[toolbin/tests/check_dirs.py toolbin/tests/check_docrefs.py]

2002-03-29T02:27:51.000000Z Raph Levien

Documents uncertainty regarding resolution setting parameter for
SPARCprinter devices. Closes SF bug #215256.

[doc/Devices.htm]

2002-03-29T00:48:21.000000Z lpd


Fix: gsfont.h didn't define gs_matrix as an opaque type, causing clients of
gsfont.h to include gsmatrix.h unnecessarily.

[src/lib.mak src/gsfont.h]

2002-03-29T00:44:34.000000Z Ralph Giles

Fix: use UTC universally in the prerelease check script to avoid spurious errors due to timezone differences

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

2002-03-29T00:41:39.000000Z lpd


Fix: gxfont.h didn't include gsmatrix.h, so many places using gxfont.h had
to include gsmatrix.h.

[src/gxfont.h]

2002-03-29T00:36:20.000000Z Ralph Giles

Fix: base release date on UTC rather than local time

[doc/News.htm src/version.mak]

2002-03-29T00:22:42.000000Z Ralph Giles

update the documentation on supported libpng versions

[src/libpng.mak]

2002-03-29T00:19:09.000000Z Ralph Giles

Updates the default version of the PNG library to the most-recent 1.2.1.
Likewise updates references to the zlib version to the more recent
1.1.4, which includes an important security fix. Updates the default
paths to the library source trees in all-arch.mak to reflect current
usage.

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

2002-03-29T00:01:02.000000Z Ralph Giles

Update release dates in preparation of the upcoming development release

[doc/History7.htm doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Maintain.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/Copying.htm doc/API.htm doc/DLL.htm doc/Issues.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 doc/Fonts.htm man/pf2afm.1 doc/Ps2pdf.htm doc/Develop.htm man/printafm.1 doc/Helpers.htm man/pdf2dsc.1 doc/New-user.htm doc/Psfiles.htm doc/Bug-info.htm doc/Tester.htm doc/Lib.htm doc/gs-vms.hlp man/font2c.1 man/gsnd.1 doc/Htmstyle.htm man/pdfopt.1 man/pdf2ps.1 man/ps2pdf.1 doc/News.htm doc/Testing.htm doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/Current.htm man/gslp.1 doc/History2.htm man/wftopfa.1 doc/History3.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/Ps2epsi.htm doc/History5.htm doc/History6.htm]

2002-03-28T23:15:53.000000Z Ralph Giles

Fix: verify that our default collection of compiler switches
(gcc-specific) work before using them. This allows the autoconf build to
work with non-gcc compilers. Completes the fix for SF Bug #514898.

[src/Makefile.in src/configure.ac]

2002-03-28T23:12:09.000000Z Ralph Giles

Fix: remove -fno-common from the standard gcc LDFLAGS. It is only
required at compile time and doesn't need to be passed to the linker.

[src/macosx.mak src/Makefile.in src/unix-gcc.mak]

2002-03-28T21:28:06.000000Z Ralph Giles

Fix: POSIX 2001 has obsoleted tail +128c. Document the new convention
'tail -c +129' as an alternate.

[doc/Use.htm]

2002-03-28T20:48:14.000000Z Ray Johnston

Fix: -dSAFER mode to allow opening a file that references the parent
directory as long as the PermitFileReading strings include a (*)
string (allow all reading)

[src/zfile.c]

2002-03-28T20:44:35.000000Z Raph Levien

Fix: Fixes incorrect margins on IJS devices. Thanks to Dave Suffield
for the patch.

[src/gdevijs.c]

2002-03-28T20:40:25.000000Z Ralph Giles

Fix: improves X11 path settings in the autoconf build. We use
AC_PATH_XTRA instead of the previous "is it null" hack with AC_PATH_X.
The new macro also defines some additional libraries that may need to be
included. We currently don't use this information.

[src/Makefile.in src/configure.ac]

2002-03-28T19:52:28.000000Z Ralph Giles

Fix: Uses a default 'src' setting for PSRCDIR in the autoconf build with
shared libpng, as we do with zlib, preventing compiler confusion from
empty -I lines. Partial fix for SF bug #514898.

[src/configure.ac]

2002-03-28T19:52:09.000000Z Raph Levien

Temporary patch to disable FontObject caching. Fixes regression SF
#533467, but effectively removes the fix for #514956.

[lib/pdf_font.ps]

2002-03-28T19:35:03.000000Z Raph Levien

Fix: Fixes the gdevx.o command line in the case when AC_PATH_X sets
x_includes to the empty string. Fixes SF #530429.

[src/Makefile.in src/configure.ac]

2002-03-28T07:29:46.000000Z lpd


Because of the introduction of CODE_VALUE_NOTDEF in v. 1.14 of gsfcmap.c,
pdfwrite could no longer embed non-standard CMaps.

[src/gdevpsfm.c]

2002-03-27T16:46:06.000000Z Igor Melichev

Fix: (1) real_widths were missed in public_st_pdf_font;
(2) pdf_finalize_font_descriptor was called twice
(form pdf_font_notify_proc and from pdf_write_font_resources),
if a font is garbage-collected after pdf_close.
Source Forge bug "[ 531983 ] ps2pdf coredumps on this ps file".

[src/gsstruct.h src/gdevpdfw.c src/gdevpdff.h]

2002-03-26T08:37:14.000000Z Raph Levien

Fix: Fixes a number of problems with Type11 incremental glyph loading
with MetricsCount=2. Thanks to Brian Stell for the patch.

[src/zchar42.c src/zfcid1.c src/gstype42.c]

2002-03-23T00:14:25.000000Z Ray Johnston

Fix: Add handling of indirect objects some places that were missing.
Fixes SourceForge bug #533775.

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

2002-03-22T20:26:19.000000Z Ray Johnston

Fix: The /Filter parameter didn't properly handle an indirect reference.
Fixes SourceForge bug 533470 for Artifex customer #150.

[lib/pdf_base.ps]

2002-03-22T01:54:01.000000Z Raph Levien

Fixes cut-n-paste error in commit of pclxl_setdash patch.

[src/gdevpx.c]

2002-03-22T01:06:57.000000Z Ralph Giles

Adds a framework_install target to the MacOS X build for testing convenience.

[src/macos-fw.mak]

2002-03-22T00:59:25.000000Z Ray Johnston

Add gs_diskn.ps to the list of Miscellaneous PostScript files.

[doc/Develop.htm]

2002-03-22T00:19:49.000000Z Ralph Giles

backs out a non-portable buildtime revision date accidentally included in the last commit.

[src/version.mak]

2002-03-22T00:05:52.000000Z Ralph Giles

Bumps the next-release version number to 7.20 to leave additional room
for stable releases.

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

2002-03-20T20:25:33.000000Z Igor Melichev

Fix: The formula for dy6 in Type2 hflex1 instruction was wrong.
Source Forge bug #530136 "hflex1 arguments misinterpreted".
Thanks to Felix Pahl (fpahl) for spotting this.

[src/gstype2.c]

2002-03-20T20:20:11.000000Z Igor Melichev

Fix: epswrite was incompatible with HP LaserJet 4000 TN.
Source Forge bug #529202 "Wrong PostScript in pswrite prolog".

[src/gdevpsu.c]

2002-03-20T20:10:06.000000Z Raph Levien

Fix: Outputs PCLXL dash offset as unsigned integer rather than
float, bringing it into compliance with the spec. Thanks to Tobias
Kunze for bug report, analysis, and patch.

[src/gdevpx.c]

2002-03-19T17:35:53.000000Z lpd


Adds documentation for the macros in iref.h, and changes the names of
internal macros to upper case.

[src/idebug.c src/iref.h]

2002-03-19T17:35:11.000000Z lpd


Removes a last vestige of PDF 1.1 support (which was otherwise removed some
time ago) from pdfwrite.

[src/gdevpdfu.c]

2002-03-19T17:34:13.000000Z lpd


Requests that authors of new macros put extra effort into documentation.

[doc/C-style.htm]

2002-03-19T05:34:06.000000Z lpd


Documents the rationale for the imager state / graphics state division.

[src/gxistate.h]

2002-03-15T18:36:27.000000Z Ray Johnston

Add documentation for modules related to diskn.dev FEATURE (lib/gs_diskn.ps
and src/gsiodisk.c).

[doc/Develop.htm doc/Psfiles.htm]

2002-03-15T18:21:17.000000Z Ray Johnston

Move definition of gsiodisk.$(OBJ) from int.mak to lib.mak as requested
by LPD.

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

2002-03-15T07:43:34.000000Z Ray Johnston

Fix: The file_cleanup routine used the wrong offset in the estack for the
enumerator causing a SEGV if the procedure of filenameforall stopped due
to error. Bug was introduced with diskn changes.

[src/zfile.c]

2002-03-15T06:25:13.000000Z Ray Johnston

Fix: Definition for gsiodisk.$(OBJ) was multiply defined. Remove the one
that is not dependent on the diskn.dev FEATURE.

[src/lib.mak]

2002-03-14T19:19:13.000000Z Igor Melichev

Removing return_if_error macro.

[src/fapiufst.c]

2002-03-14T15:53:09.000000Z Raph Levien

Adds -dNOTRANSPARENCY flag, which disables all PDF 1.4 transparency
processing.

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

2002-03-14T04:26:44.000000Z Ralph Giles

Adds multiple inclusion protection to the vdtrace header files.

[src/vdtrace.h src/dwtrace.h]

2002-03-13T20:27:39.000000Z Ray Johnston

Add a new optional FEATURE, diskn.dev that provides emulation of %disk
devices present on some Adobe printers. This version is NOT multiple
instance safe, but is useful for embedded printers or for server systems
with a single Ghostscript instance. Documentation is in Language.htm.
Addresses SourceForge bug #493344 for Artifex customer #411.

[src/gsiodisk.c src/iinit.c lib/gs_diskn.ps lib/gs_lev2.ps src/int.mak src/ziodev2.c lib/gs_statd.ps src/zfrsd.c src/lib.mak src/gs.mak lib/gs_res.ps lib/gs_ttf.ps doc/Language.htm src/files.h src/zfile.c lib/gs_init.ps]

2002-03-13T19:50:13.000000Z Ray Johnston

Create the bboxutil.dev pseudo device to allow inclusion of the bbox device
without putting the bbox device on the list of devices.

Also clean up some minor dependency problems.

[src/lib.mak src/devs.mak]

2002-03-13T16:03:50.000000Z Igor Melichev

Fix: improve pswrite with compatibility to interpreters which
don't consume ASCII85Decode EOD when reader stops immediately before it.
Source Forge bug #525044 "pswrite incompatible with some RIPs".
Thanks to Paul Vojta for spotting this.

[src/gdevps.c]

2002-03-13T15:55:47.000000Z Igor Melichev

Fix: "currentfile closefile" in lib/gs_* files doesn't work with COMPILE_INITS=1,
replacing it with .skipeof .
Source Forge bug "[ 526192 ] Broken COMPILE_INITS".

[lib/gs_fapi.ps]

2002-03-12T20:55:22.000000Z Russell Lang

MS-Windows installer now clears the read-only attribute
when copying files.  The installer was failing when the
source files were stored unpacked on a CD-ROM.

[src/dwinst.h src/dwinst.cpp]

2002-03-12T07:25:58.000000Z Russell Lang

Documents how to build a Windows self-extracting archive
for a ghostscript distribution

[doc/Release.htm]

2002-03-12T07:20:08.000000Z Russell Lang

Update msvc32.mak and documentation to support compilation with
Microsoft Visual Studio .NET.  This requires MSVC_VERSION=7.

[doc/Make.htm src/msvc32.mak]

2002-03-12T07:17:15.000000Z Russell Lang

Correct typo in documentation.

[doc/API.htm]

2002-03-12T07:14:35.000000Z Russell Lang

Add example code to doc/API.htm showing how to call the
Ghostscript DLL as a PostScript to PDF convertor.

[doc/API.htm]

2002-03-11T20:08:50.000000Z lpd


Corrected argument list for main(), and added int return type, in test
program and T value program.

[src/md5.c]

2002-03-11T19:27:45.000000Z lpd


Documents the recommendation to use a suffixed underscore for local
variables introduced by macros.

[doc/C-style.htm]

2002-03-07T20:13:56.000000Z Ralph Giles

Adds the source files associated with the Autoconf build to the developer documentation.

[doc/Develop.htm]

2002-03-07T20:06:49.000000Z Ralph Giles

Adds the Info-macos.plist framework description to the developer documentation.

[doc/Develop.htm]

2002-03-07T19:59:48.000000Z Ralph Giles

Adds the MacOS X platform-dependent makefiles to the developer documentation.

[doc/Develop.htm]

2002-03-07T19:29:50.000000Z Ralph Giles

Adds indications that pre-ANSI compilers are no longer supported.

[doc/Develop.htm]

2002-03-07T10:52:06.000000Z Igor Melichev

Fix: Second attempt to fix COMPILE_INITS=1.
This statically embeds all gs_*.ps files, xlatmap and FAPIconfig.
Source Forge bug "[ 526192 ] Broken COMPILE_INITS".

[src/int.mak lib/gs_res.ps lib/gs_fapi.ps lib/gs_cidfn.ps]

2002-03-07T08:35:16.000000Z Jouk Jansen


 Committing in .

 Long promised type cast changes neede to supress warnings on OpenVMS
 devs.mak : In a condition in a Makefile for OpenVMS the ":" should be
            surrounded by spaces.

 Modified Files:
 	gs/src/devs.mak gs/src/imainarg.c gs/src/zfile.c
 ----------------------------------------------------------------------

[src/imainarg.c src/zfile.c]

2002-03-07T08:35:16.000000Z Jouk Jansen

In a Makefile for OpenVMS the ":" should be
            surrounded by spaces.

[src/devs.mak]

2002-03-07T08:14:44.000000Z Ray Johnston

Fix: PDF files that specify the same embedded font file many times
would reload the FontFile each time, potentially severely impacting
performance. Skip loading the FontFile if the FontDescriptor already
has the font cached in /FontObject. Fixes SF bug #514956 for Artifex
customer #870.

[lib/pdf_font.ps]

2002-03-06T19:15:15.000000Z Ray Johnston

Fix: Prevent image interpolation if the target device has less
than 4 bits per component. This prevents interpolation from
causing 'noise' (stripes, shadows, etc.) in the output when the
device is halftone dithered. SourceForge bug 525708 for Artifex
customer #710.

[src/gxiscale.c]

2002-03-06T17:32:30.000000Z Raph Levien

Adds link to ijs.mak to basic developer documentation.

[doc/Develop.htm]

2002-03-06T08:55:16.000000Z Igor Melichev

Fix: Include gs_resmp.ps into the prelude with ADDMOD rather than .runlibfile
(suggested by Raymond J. Johnston), and
increase MSVC compiler heap for building gs_init.c with COMPILE_INITS=1.
Source Forge bug "[ 526192 ] Broken COMPILE_INITS".

[src/int.mak lib/gs_res.ps src/msvccmd.mak]

2002-03-06T07:54:23.000000Z Ray Johnston

Fix: Another place where Adobe Acrobat Reader tolerates badly formed PDF
files -- in this case streams with incorrect Length. Issue pdfformaterror
and continue. Buggy file from Artifex customer #671.

[lib/pdf_base.ps]

2002-03-05T18:15:12.000000Z lpd


Removes an unsightly paragraph break.

[doc/C-style.htm]

2002-03-05T18:12:51.000000Z lpd


Specifies no initial indentation of preprocessor commands, but indentation
of 2 spaces per nesting level between the # and the command name.

[doc/C-style.htm]

2002-03-05T17:50:11.000000Z lpd


Removes -Wtraditional from the gcc switches, since we no longer support
pre-ANSI compilers and newer gcc versions produce many more warnings if this
switch is present.  Also removes a stray space character.

[src/macosx.mak src/unix-gcc.mak]

2002-03-05T17:48:06.000000Z Ray Johnston

Fix: Characters > 127 (0x7f) in font names of embedded fonts in PDF files
were being misinterpreted by the 'token' operator. Disable binary encodings
when processing PDF. Fixes SourceForge bug #525701 for Artifex customer
#901.

[lib/pdf_main.ps]

2002-03-05T16:56:33.000000Z lpd


Improves comments to describe the alignment and padding requirement for
bitmaps.

[src/gxbitmap.h]

2002-03-04T22:20:34.000000Z Raph Levien

Fix: Triggers an /undefined error rather than segfaulting in the case
where a directional shading dictionary is missing a Function element.
build_shading_function() returns a success code in these cases because
functions are optional in some shading types. Thanks to Alex Cherepanov
for the analysis and patch.

[src/zshade.c]

2002-03-04T06:32:35.000000Z Ray Johnston

Fix: Ignore an invalid 'post' format 2.0 table in TrueType fonts.
Fixes SourceForge bug #523973 for Artifex customer #990.

[lib/gs_ttf.ps]

2002-03-01T15:07:03.000000Z Igor Melichev

FAPI project : Completing basic documentation.

[doc/Develop.htm]

2002-02-28T22:24:09.000000Z Russell Lang

When building the distribution archive, don't flag an error
if gsv16spl.exe doesn't exist.  This file is only needed
for Win32s which is no longer supported.

[src/winint.mak]

2002-02-28T22:23:39.000000Z Russell Lang

Add gdevpccm.obj to the display device dependencies.

[src/devs.mak]

2002-02-28T21:21:42.000000Z Ray Johnston

Remove the return_if_error macro from ALL occurrences and clean up some
of the C-style problems with the FAPI code. Add some of the new rules
about macros to C-style.htm.

[src/vdtrace.h src/gdevxalt.c doc/C-style.htm src/gserror.h src/dwtrace.c src/zfapi.c]

2002-02-27T10:34:57.000000Z Igor Melichev

FAPI project : An unaligned bitmap was passed from UFST to mem_mono_copy_mono.
Creating a temporary aligned copy on necessity.
Source Forge bug #523073 "Segment fault in mem_mono_copy_mono".

[src/fapiufst.c src/zfapi.c]

2002-02-26T18:37:07.000000Z Ray Johnston

Remove debug output inadvertently left in.

[lib/pdf_font.ps]

2002-02-26T17:49:12.000000Z Igor Melichev

FAPI project : Changing the logics of loading GS fonts with FAPI :
now all fonts listed in fontmap are being loaded with GS font loader
and then are passed to FAPI in same way as embedded fonts.

[lib/gs_fonts.ps lib/FAPIconfig lib/gs_fapi.ps]

2002-02-26T16:09:16.000000Z Igor Melichev

Implementing Visual Trace service to graphics library,
and Visual Trace server for Windows.

[doc/Projects.htm src/dwmain.c doc/Use.htm src/dwmainc.c src/iapi.c doc/Develop.htm src/gsdll32.def src/imainarg.c src/iapi.h src/vdtrace.c src/dwtrace.c doc/Lib.htm src/lib.mak src/vdtrace.h doc/API.htm src/dwtrace.h src/winint.mak src/dwdll.c src/dwimg.c src/dwdll.h]

2002-02-25T20:54:30.000000Z Ralph Giles

Removes auto-generated plain text versions of html documentation from cvs and makes their creation an explicit part of the release process.

[doc/Release.htm toolbin/pre.tcl doc/README doc/PUBLIC]

2002-02-25T17:21:09.000000Z Igor Melichev

FAPI project : Fixing bugs (1) in TrueType 'loca' format 1
and (2) in '.notdef' charstring access.

[src/fapiufst.c src/zfapi.c]

2002-02-25T10:02:12.000000Z Igor Melichev

FAPI project : (1) Fixing a bug in stringwidth;
(2) replacing CheckRET macro with return_if_error.

[src/ifapi.h src/int.mak src/fapiufst.c src/zfapi.c]

2002-02-25T07:37:22.000000Z lpd


Makes 'save' create inner chunks for all chunks with at least a minimum
amount of free space (currently defined statically as 500 bytes), rather
than only for the chunk that was open at the time of the save.  This makes
all of this space available for allocation within the scope of the save,
which can substantially improve memory utilization.

[src/isave.c]

2002-02-25T05:40:29.000000Z Igor Melichev

Fix: Another improvement for the hack in 'getfontmetrics', which deals with
encodings where the same character appears more than once.
TeX-1.0a creates Differences with multiple appearances of 'hyphen' character,
some of which specify zero width.
Source Forge bug #517474 "Problem with hyphen in PDF using Minion".
See also #444366 and #467492.

[lib/pdf_font.ps]

2002-02-25T03:48:03.000000Z lpd


Adds wording to make it clearer that procedures must be documented in
explicit detail.

[doc/Release.htm]

2002-02-25T00:04:09.000000Z lpd


Adds a description of the .Widths array project, which would solve some
obscure problems when the PDF interpreter is given certain non-conforming
files.

[doc/Projects.htm]

2002-02-22T23:39:20.000000Z lpd


Fix: Makes the standard memory manager scan all chunks, not just the
currently open one, for available free space.  This is a long-planned,
long-overdue improvement that can improve memory utilization dramatically.

[src/gsalloc.c]

2002-02-22T23:32:41.000000Z lpd


Fixes an out-of-date reference to the Type 2 CharString documentation.

[src/gstype2.c]

2002-02-22T21:38:41.000000Z Dan Coby

Adds a description of the zfsample.c module.

[doc/Develop.htm]

2002-02-22T21:19:30.000000Z Dan Coby

The module zccube.c was extended and the name was changed to zfsample.c.
Please use zfsample.c for future development.

[src/zccube.c]

2002-02-22T19:08:29.000000Z Ray Johnston

Fix: Check in corrected module after "admin -ko" change to prevent the
$Id: lines from having the keyword replacement. This was broken for a
LONG time.

[doc/gsdoc.el]

2002-02-22T15:28:21.000000Z lpd


Fix: The Type 2 CharString interpreter ignored many hints.  (Second part of
two-part fix for SourceForge #520718.)

[src/gstype1.c src/gstype2.c src/gxhint2.c src/gxtype1.h]

2002-02-22T08:37:19.000000Z Igor Melichev

Remove bbox_text_enum_t and related functions because they are unuseful.
This change helps for FAPI project.

[src/gdevbbox.c]

2002-02-22T07:07:47.000000Z lpd


Fix: Converting Type 1 to Type 2 fonts didn't adjust the coordinates of stem
hints, which are relative to the l.s.b. in Type 1 but not in Type 2.  (First
part of two-part fix for SourceForge #520718.)

[src/gdevpsfx.c]

2002-02-22T06:59:31.000000Z lpd


Makes the PDF interpreter run files under a level of 'save'.  This improves
memory utilization significantly, although we don't understand why.

[lib/pdf_main.ps]

2002-02-22T02:42:35.000000Z lpd


Fix: The check_docrefs test script skipped over directories named by links.

[toolbin/tests/check_docrefs.py]

2002-02-22T00:34:54.000000Z Jack Moffitt

Fix: Add LICENSE file and the few files generated by autogen.sh to the
allowed files in check_dir.py.

[toolbin/tests/check_dirs.py]

2002-02-21T23:22:22.000000Z Igor Melichev

FAPI project : Fixing absent entries in Subrs array.

[src/zfapi.c]

2002-02-21T23:14:05.000000Z Igor Melichev

FAPI project : Removing an obsolete fixme comment.

[lib/gs_ciddc.ps]

2002-02-21T23:09:42.000000Z Igor Melichev

FAPI project : Fixing absent entries in Subrs array.

[src/zfapi.c]

2002-02-21T22:49:46.000000Z Ralph Giles

Reverts to marking files with the single Id cvs tag instead of the
RCSfile and Revision pair.

[examples/waterfal.ps]

2002-02-21T22:44:45.000000Z Ralph Giles

Reverts to marking files with the single Id cvs tag instead of the
RCSfile and Revision pair.

[toolbin/leaks.tcl toolbin/tmake.tcl toolbin/makehist.tcl toolbin/tests/update_baseline toolbin/tests/check_source.py toolbin/makefonts toolbin/makegnu toolbin/tests/gssum.py toolbin/makemaster toolbin/gssubst toolbin/cvs2hist.py toolbin/tests/check_all.py toolbin/smoke.ps toolbin/many2pdf.tcl toolbin/tests/run_nightly toolbin/3way.tcl toolbin/errlist.tcl toolbin/precheck.tcl toolbin/cvs2hist toolbin/tests/run_regression toolbin/gsmake toolbin/maketars toolbin/makegnu.tcl toolbin/makefonts.tcl toolbin/tests/gsconf.py toolbin/makemaster.tcl toolbin/gsindent toolbin/tests/revert_baseline toolbin/tests/dump_testdb toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py toolbin/tests/make_testdb toolbin/bughunt.sh toolbin/pre toolbin/pdfinflt.ps toolbin/tests/check_dirs.py toolbin/maketars.tcl toolbin/gsmake.tcl toolbin/makeset toolbin/makewin toolbin/headers.tcl toolbin/tests/gstestgs.py toolbin/tests/make_two_versions toolbin/tmake toolbin/makehist toolbin/pre.tcl toolbin/makeset.tcl toolbin/suite.tcl toolbin/tests/check_docrefs.py toolbin/makewin.tcl]

2002-02-21T22:24:54.000000Z Ralph Giles

Reverts to marking files with the single Id cvs tag instead of the
RCSfile and Revision pair.

[src/iplugin.h src/gsgdata.h src/gdevmsxf.c src/gsropt.h src/gdevmem.c src/gdevmem.h src/zvmem.c src/rm.cmd src/gstrap.c src/icstate.h src/gxxfont.h src/gstrap.h src/gzacpath.h src/gscssub.c src/gdevcgmx.h src/gp_msdos.c src/gdevlbp8.c src/gdevpdfx.h src/gdevdm24.c src/zcsdevn.c src/dwsetup.rc src/icie.h src/gxdither.c src/gscssub.h src/zcontext.c src/ccfont.h src/gxdither.h src/cp.cmd src/macsystypes.h src/gxclutil.c src/gxcomp.h src/echogs.c src/oper.h src/zchar42.c src/gsfont0.c src/gscscie.c src/icfontab.c src/zht1.c src/zpcolor.c src/gdevpdfi.c src/zdevcal.c src/zcssepr.c src/sdcparam.c src/ifont42.h src/bcwin32.mak src/sdcparam.h src/gdevokii.c src/zcfont.c src/gdevprna.c src/zcolor.c src/gxhtbit.c src/oparc.h src/sfxfd.c src/gdevprna.h src/dwuninst.h src/gp_mspol.c src/gpmisc.c src/ireclaim.c src/gxstdio.h src/gpmisc.h src/gsmemraw.h src/gxline.h src/ijs.mak src/gserver.c src/gp_psync.c src/gxclfile.c src/gdebug.h src/zfile.c src/gdev4693.c src/gxchar.c src/gxchar.h src/gsline.c src/gsalloc.c src/gsline.h src/gsalloc.h src/gsiparm2.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 src/szlibx.h src/zmath.c src/gdevpdfk.c src/iimage.h src/gxpcolor.h src/gp_unifn.c src/gdevddrw.c src/gschar.c src/gdevpsfm.c 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/catmake src/gstrans.h src/iestack.h src/gxbitfmt.h src/gxclio.h src/gstype2.c src/itoken.h src/gxop1.h src/inameidx.h src/sfxboth.c src/gp_macio.c src/sbhc.c src/gsdps.c src/zfont1.c src/gdevht.c src/sbhc.h src/gsdps.h src/gdevht.h src/spngp.c src/ghost.h src/gxalloc.h src/gsmatrix.c src/istruct.h src/gdevpsf.h src/gsmatrix.h src/zdouble.c src/dwreg.c src/spdiff.c src/dwreg.h src/scommon.h src/gsiparm4.h src/unixhead.mak 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/gdevxcmp.h src/gdevlj56.c src/gdevhl7x.c src/gdevos2p.c src/gsbitops.c src/gdevmr8n.c src/gsparam.c src/gxftype.h src/gdevpdfm.c src/imain.c src/gsbitops.h src/gsparam.h src/zfilter2.c src/imain.h src/ifilter.h src/zfont42.c src/spdiffx.h src/smd5.c src/smd5.h src/gs16spl.rc src/gxhttype.h src/gspenum.h src/gxipixel.c src/sfilter2.c src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/gxmclip.c src/mv.cmd src/gxcie.h src/gsio.h src/gscrd.h src/gxmclip.h src/unix-end.mak src/inobtokn.c src/gp_mslib.c src/gdevescp.c src/gsiodev.c src/igc.c src/msvc32.mak src/gdevmacxf.c src/gsfunc0.c src/igc.h src/jerror_.h src/slzwce.c src/zdosio.c src/gsfunc0.h src/gdevpsds.c src/gdevpsf1.c src/siscale.c src/gdevpsds.h src/gsdsrc.c src/gxfill.c src/ilevel.h src/siscale.h src/gxclread.c 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 src/gdevfax.c src/gdevbit.c src/gsdevice.c src/gdevfax.h src/gp_wsync.c src/gsdll32.rc src/gxclmem.c src/gshtx.c src/gscparam.c src/gsdevice.h src/gdevsj48.c src/gdevpdfo.c src/gsbittab.c src/gxclmem.h src/sdctd.c src/gshtx.h src/gsmemory.c src/gdevpdfo.h src/gsbittab.h src/ifwpred.h src/gdevcdj.c src/files.h src/gsmemory.h src/gxband.h src/scfdgen.c src/gsbitmap.h src/gdevtknk.c src/idsdata.h src/gxfont42.h src/scf.h src/gsroptab.c src/gxidata.c src/inames.h src/gdevm1.c src/gsistate.c src/os2.mak src/gscolor2.c src/gzline.h src/gscolor2.h src/gsmalloc.c src/ivmem2.h src/gsmalloc.h src/gscindex.h src/gxiodev.h src/dwmain.c src/gdevpcfb.c src/gdevvec.c src/dwmain.h src/gdevpcfb.h src/gdevvec.h src/ostack.h src/sdeparam.c src/gsrect.h src/idosave.h src/ifrpred.h src/gdevimgn.c src/gdevvglb.c src/gsmdebug.h src/gxshade1.c src/gdevm32.c src/scfx.h src/all-arch.mak src/idparam.c src/bfont.h src/gsparams.c src/gdevbjcl.c src/gdevpsdu.c src/dvx-gcc.mak src/idparam.h src/gsparams.h src/gdevdsp2.h src/gp_mswin.c src/gxblend.c src/gdevbjcl.h src/gxblend.h src/gp_mswin.h src/gp_os2.c src/zcolor1.c src/math_.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/rm.bat 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/cp.bat src/sbcp.c src/iref.h src/gsfunc.h src/gdevalph.c src/sbcp.h src/gdevtrac.c src/gp_ntfs.c src/libpng.mak src/gdevatx.c src/zfproc.c src/istream.h src/gs.c src/zdevice2.c src/iscannum.c src/gdevpdfb.c src/iscannum.h src/gspmdrv.c src/gscrdp.c src/gscsepnm.h src/gsfemu.c src/inamestr.h src/gxclrast.c src/gdevxres.c src/gspmdrv.h src/gscrdp.h src/istkparm.h src/gdevo182.c src/zimage3.c src/zcspixel.c src/zarith.c src/gximage1.c src/msvctail.mak src/gsfunc4.c src/isdata.h src/gxclpath.c src/gsfunc4.h src/gxclpath.h src/gxcmap.c src/icsmap.h src/gxhint1.c src/gxcmap.h src/gpgetenv.h src/zpath.c src/gsnorop.c src/gdevmrop.h src/gxcpath.c src/gdevhpij.c src/gxcpath.h src/gdevhpij.h src/gxp1impl.h src/gdevlxm.c src/gxgetbit.h src/gdevabuf.c src/md5.c src/gp_mac.c src/gdevsgi.c src/md5.h src/gdevsco.c src/zcie.c src/stream.c src/gp_mac.h src/gdevsgi.h src/gdevdflt.c src/stream.h src/gsdpnext.h src/gdevpdfs.c src/gdev8510.c src/gxstroke.c src/gdevpxut.c src/zmisc2.c 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/gdevpsfu.c src/gdevlp8k.c src/gp_dosfs.c src/gpcheck.h src/dwuninst.cpp src/gdevxxf.c src/ztype.c src/shc.c src/zshade.c src/opcheck.h src/shc.h src/gdevpdfd.c src/gdevcfax.c src/zicc.c src/gxdda.h src/iscan.c src/iscan.h src/gsnotify.c src/gximage3.c src/srle.c src/zfilterx.c src/gsnotify.h src/gximage3.h src/gsdll2.rc src/iparray.h src/memory_.h src/gsuid.h src/gdevstc2.c src/ziodev2.c src/gsiodevs.c src/gxhint3.c src/zmisc.c src/gsargs.c src/devs.mak src/gp_win32.c src/gsargs.h src/gsinit.c src/wmin.mak src/winplat.mak src/dscparse.c 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/gdevp14.c src/gsfuncv.c src/sfilter.h src/dwinst.h src/gdevp14.h src/gsfuncv.h src/ifcid.h src/sisparam.h src/ifont.h src/zfmd5.c src/unixlink.mak src/zrop.c src/gdevegaa.asm src/gspaint.c src/gspaint.h src/sa85x.h src/gsalpha.c src/int.mak src/watc.mak src/gsalpha.h src/icremap.h src/gdevpdff.c src/imainarg.c src/gp_dvx.c src/gdevpdff.h 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/mv.bat src/gsutil.c src/opextern.h src/gsutil.h src/gdevcgm.c src/zimage.c src/gsht1.c src/gspcolor.c src/gxi12bit.c src/iddstack.h src/gsht1.h src/gspcolor.h src/std.h src/gdevs3ga.c src/gdevpdfw.c src/scfdtab.c src/gscolor.c src/ztoken.c src/gxpaint.c src/seexec.c src/zchar32.c src/gscolor.h src/icid.h src/gxpaint.h src/spsdf.c src/gsfname.c src/spsdf.h src/gsfname.h src/gxalpha.h src/srlx.h src/gxclipsr.h src/gdevmac.c src/idisp.c src/gdevmac.h src/jpeg.mak src/idisp.h src/idstack.c src/idstack.h src/gdevwdib.c src/gdevsunr.c src/gsstate.c src/ichar1.h src/gxiparam.h src/gsstate.h src/gdevcljc.c 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/fcntl_.h src/gdevpe.c src/gxdevcli.h src/zdfilter.c src/zdps1.c src/zhsb.c src/gxsync.c src/zupath.c src/dstack.h src/gsccolor.h src/gxsync.h src/gdevpbm.c 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/gdevpcl.c src/gxstate.h src/gdevcmap.c src/gxfmap.h src/zht2.c src/gdevpcl.h src/gdevpdfj.c src/zfarc4.c src/gdevcmap.h src/ichar.h src/gdevwprn.c src/gxpdash.c src/ztrap.c src/gxlum.h src/gsptype1.c src/gxclbits.c src/zfcid0.c src/gsptype1.h src/zgstate.c src/ctype_.h src/inouparm.c src/gstype1.c src/slzwx.h src/gxdhtres.h src/gdevmpla.c src/gstype1.h src/dwmain.rc src/gxcspace.h src/gdevmpla.h src/watclib.mak 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/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/contrib.mak src/gsiparm3.h src/gxclpage.c src/gxfont1.h src/icontext.c src/gsdllos2.h src/gxclpage.h src/zstring.c src/icontext.h src/unix-aux.mak src/zfont32.c src/gxclip2.c src/szlibxx.h src/gdevdrop.c src/gxclip2.h src/scfd.c src/cfonts.mak src/gxiclass.h src/gdevcgml.c src/gdevpx.c src/gdevcgml.h src/gdevl256.c src/windows_.h src/zcharx.c src/igcref.c src/gxtype1.c src/gxtype1.h src/zccube.c src/gdevcp50.c src/idictdef.h src/gsmemret.c src/gxclip.c src/gsmemret.h src/iname.c src/sfilter1.c src/zmedia2.c src/gxclip.h src/sddparam.c src/iname.h src/gs.mak src/gxpcmap.c src/gp_msdll.c src/gxcid.h src/gdevnfwd.c src/macos-mcp.mak src/zcontrol.c src/icclib.mak src/gsfcmap.c src/zfont2.c src/iimage2.h src/gsfcmap.h src/gxrplane.h src/imemory.h src/gxp1fill.c src/gsciemap.c src/dos_.h src/zdscpars.c src/gscdef.c src/gdevwpr2.c src/gxtmap.h src/zchar.c src/gsbitcom.c src/gdevsun.c src/gscrypt1.c src/gscrypt1.h src/ztrans.c src/dwmainc.c src/gxdht.h src/dvx-head.mak src/zcsindex.c src/gdevrops.c src/gdevijs.c src/icolor.h src/gp_msio.c src/macsysstat.h src/store.h src/gstypes.h src/gxfixed.h src/string_.h src/zfdctd.c src/gsjmorec.h src/gdevcslw.c src/zdps.c src/scanchar.h src/gxpcache.h src/gdevdsp.c src/lib.mak src/zmatrix.c src/sdctc.c src/gdevdsp.h src/gdevpipe.c src/gspmdrv.rc src/gdevsvga.c src/gdevsvga.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/gdevmswn.c src/gxfcmap.h src/gdevjpeg.c src/gximag3x.h src/siinterp.c src/gscolor1.h src/gdevmswn.h src/gdevbbox.c src/opdef.h src/siinterp.h src/gdevbbox.h src/iddict.h src/gp_stdin.c src/gdevtfax.c src/gendev.c src/gdevpjet.c src/gsexit.h src/gdevphex.c src/gslparam.h src/gp.h src/ivmspace.h src/gdevtfax.h src/gshtscr.c src/bench.c src/gsnogc.c src/gsnogc.h src/gdevbmpa.c src/stdio_.h src/gdevemap.c src/gp_sysv.c src/gsrefct.h src/iastruct.h src/gdevbjc.h src/gdevpsf2.c src/gzht.h src/gxcvalue.h src/sstring.c src/gxpath.c src/scfparam.c src/gdevupd.c src/iconf.c src/sstring.h src/gxpath.h src/interp.c src/zcrd.c src/dwnodll.c src/iconf.h src/dwdll.c src/interp.h src/dwdll.h 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/gxacpath.c src/gdevpdfp.c src/ziodev.c src/gdevmgr.h src/gslib.c src/iccinit0.c src/sdcte.c src/zfunc0.c src/gslib.h src/gxccache.c src/ifont1.h src/gxmatrix.h src/ifunc.h src/gp_unifs.c src/gxobj.h src/isstate.h src/gdevm2.c src/ifilter2.h src/gspath.c src/gdevwddb.c src/gxpcopy.c src/gspath.h src/gscolor3.c src/gdevdjet.c src/gscolor3.h src/zpath1.c src/gdevm24.c src/gp_unix.c src/inamedef.h src/ilocate.c src/gxdcolor.c src/gdevpm.c src/gscdefs.h src/vmsmath.h src/gxdcolor.h src/gzstate.h src/gschar0.c src/gdevbmpc.c src/gdevpm.h src/zdevice.c src/iht.h src/gscie.c src/ifapi.h 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/gswin.rc src/gsccode.h src/gsfunc3.h src/gxpath2.c src/gp_strdl.c src/genconf.c src/gxdevbuf.h src/sa85d.c src/gscsel.h src/openvms.mmk src/sa85d.h src/zcolor2.c src/gp_stdia.c src/gdev3b1.c src/gxttf.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/gdevpsft.c src/gsmisc.c src/gdevtfnx.c src/gdevm4.c src/gxicolor.c src/gxpageq.c src/winint.mak src/gsdparam.c src/gxpageq.h src/gsstype.h src/gxdevrop.h src/gdevprn.c src/gdevcif.c src/gdevprn.h src/iesdata.h src/dxmain.c src/gdevpdfc.c src/iapi.c src/spngpx.h src/gdevherc.c src/btoken.h src/gdevpdfc.h src/iapi.h src/zcharout.c src/gdevepsc.c src/gximage2.c src/gxdevice.h src/srld.c src/zht.c src/gxshade4.c src/gxshade4.h src/iinit.c src/gxbitmap.h src/gdevstc1.c src/gxccman.c src/watcw32.mak src/iinit.h src/gsalphac.c src/gxhint2.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/gxcolor2.h src/gscoord.h src/genarch.c src/gscpm.h src/gxcindex.h src/gp_nsync.c src/gdevdgbr.c src/gdevmr2n.c src/zlib.mak 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/zfunc4.c src/zfapi.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 src/gscsepr.h src/gsimage.c src/ipcolor.h src/iutil2.h src/sjpeg.h src/gstext.c src/gsimage.h src/msvccmd.mak src/gstext.h src/gsflip.c src/gdevpdfe.c src/gsflip.h src/zdpnext.c src/gdevdljm.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/zpacked.c src/gsparamx.c src/gdevstc3.c src/szlibc.c src/gp_dosfe.c src/iutil.c src/gsparamx.h src/gdevpng.c src/iutil.h src/gzpath.h src/gxcdevn.h src/sfxstdio.c src/gxropc.h src/gxfcid.h src/gxfont.h src/gdevccr.c src/unix-dll.mak src/gdevdcrd.c src/zbseq.c src/ziodevsc.c src/gdevdcrd.h src/instcopy src/zfrsd.c src/gdevl31s.c src/iosdata.h src/gdevmacpictop.h src/gdevdjtc.c src/gdevpcx.c src/gdevpxop.h src/zfileio.c src/slzwd.c src/gdevpdfv.c src/gxifast.c src/gxpflat.c src/dwimg.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/gximage.h src/gdevpsfx.c src/gscspace.c src/gdevmacttf.h src/gdevm8.c src/gdevpnga.c src/gscspace.h src/gsxfont.h src/gsropc.c src/gsjconf.h src/zstack.c src/gsfcid.c src/gsfont.c src/gsropc.h src/gsfont.h src/isave.c src/isave.h 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 src/gsdps1.c src/time_.h src/pcwin.mak src/gshsb.c src/vms_x_fix.h src/smtf.c src/x_.h src/gdevtifs.c src/gshsb.h src/smtf.h src/gximono.c src/gdevtifs.h src/fapiufst.c src/ansi2knr.c src/szlibe.c src/main.h src/gxctable.c 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]

2002-02-21T22:22:49.000000Z lpd


Fix: The check_source test script didn't properly skip src/gconf.h, and it
was too strict about the form of double-inclusion protection for header
files.

[toolbin/tests/check_source.py]

2002-02-21T22:19:03.000000Z lpd


Fix: The check_dirs test script still tried to check toolbin/regression,
which no longer exists.

[toolbin/tests/check_dirs.py]

2002-02-21T21:53:01.000000Z Ralph Giles

Removes a duplicate Id line.

[lib/fixmswrd.pl]

2002-02-21T21:49:28.000000Z Ralph Giles

Reverts to marking files with the single Id cvs tag instead of the
RCSfile and Revision pair.

[lib/rollconv.ps lib/viewcmyk.ps lib/lp386.bat lib/viewps2a.ps lib/pfbtopfa.ps lib/gsndt.bat lib/pdf2dsc lib/lprsetup.sh lib/ht_ccsto.ps lib/gs_dbt_e.ps lib/gs_fapi.ps lib/gs_statd.ps lib/pf2afm.ps lib/impath.ps lib/cidfmap lib/wftopfa lib/ps2ps lib/gs_dpnxt.ps lib/gs_epsf.ps lib/pdf_draw.ps lib/gs_icc.ps lib/pphs lib/gs_diskf.ps lib/gsdj500 lib/font2c.ps lib/pf2afm.cmd lib/gs_init.ps lib/pdf_font.ps lib/gs_ciddc.ps lib/viewgif.ps lib/gs_wl1_e.ps lib/pdf_base.ps lib/gslp.ps lib/gs_sym_e.ps lib/gs_btokn.ps lib/ps2epsi.cmd lib/lines.ps lib/gsnd lib/pphs.ps lib/pdfopt lib/font2c.cmd lib/ppath.ps lib/ps2ascii.ps lib/gs_resmp.ps lib/ps2pdf12 lib/printafm.ps lib/ps2pdf13 lib/FAPIcidfmap lib/gs_wan_e.ps lib/ps2pdf14 lib/ps2pdf13.cmd lib/gs_ce_e.ps lib/pdf2dsc.ps lib/gs_pfile.ps lib/level1.ps lib/lpgs.bat lib/gs_type1.ps lib/gsnup.ps lib/gs_dps1.ps lib/gs_lev2.ps lib/gs_rdlin.ps lib/eps2eps.cmd lib/gs_fform.ps lib/stocht.ps lib/Fontmap.SGI lib/gs_pdf_e.ps lib/prfont.ps lib/gs_pdfwr.ps lib/gs_cidfn.ps lib/markhint.ps lib/winmaps.ps lib/addxchar.ps lib/wrfont.ps lib/pfbtopfa lib/gs_ll3.ps lib/landscap.ps lib/gs_css_e.ps lib/gs_ccfnt.ps lib/gs_lgx_e.ps lib/font2pcl.ps lib/gs_frsd.ps lib/Fontmap.ATB lib/fixmswrd.pl lib/caption.ps lib/pf2afm.bat lib/gs_trap.ps lib/gsdj500.bat lib/Fontmap.ATM lib/lpr2.bat lib/lp386r2.bat lib/unix-lpr.sh lib/gs_cidcm.ps lib/gs_cmdl.ps lib/ps2epsi.bat lib/gs_cmap.ps lib/gsbj.bat lib/gs_typ32.ps lib/decrypt.ps lib/wmakebat.bat lib/font2c.bat lib/pdfopt.bat lib/gst.bat lib/bdftops.cmd lib/gs_il2_e.ps lib/docie.ps lib/FAPIconfig lib/ps2pdfwr lib/ps2pdf13.bat lib/acctest.ps lib/type1enc.ps lib/sysvlp.sh lib/traceimg.ps lib/dvipdf lib/pftogsf.bat lib/gs_agl.ps lib/ps2ascii.cmd lib/uninfo.ps lib/pdf_sec.ps lib/eps2eps.bat lib/viewmiff.ps lib/pv.sh lib/showchar.ps lib/Fontmap.Sol lib/gs_dps.ps lib/viewjpeg.ps lib/image-qa.ps lib/FAPIfontmap lib/viewpcx.ps lib/xlatmap lib/pcharstr.ps lib/ps2ps.cmd lib/pdf_ops.ps lib/pf2afm lib/bdftops.ps lib/gs_dps2.ps lib/gsbj lib/gs_wl5_e.ps lib/ps2epsi lib/wftopfa.ps lib/gs_setpd.ps lib/font2c lib/gsdj.bat lib/gs_mgl_e.ps lib/gs_ksb_e.ps lib/pdf2ps lib/ps2pdf lib/gs_lgo_e.ps lib/ps2ai.ps lib/pdf2ps.cmd lib/ps2pdf.cmd lib/gs_fonts.ps lib/ps2pdf12.cmd lib/gslj.bat lib/ps2pdf14.cmd lib/bdftops.bat lib/gs_kanji.ps lib/Fontmap.OS2 lib/stcolor.ps lib/gs_mex_e.ps lib/gs_ttf.ps lib/Fontmap.Ult lib/gs_std_e.ps lib/unprot.ps lib/gslp.bat lib/align.ps lib/Fontmap.GS lib/eps2eps lib/gs_wl2_e.ps lib/ps2ascii.bat lib/gs_l2img.ps lib/gstt.bat lib/stcinfo.ps lib/markpath.ps lib/pdf2dsc.bat lib/jispaper.ps lib/pdf_main.ps lib/packfile.ps lib/gs_res.ps lib/gs_il1_e.ps lib/type1ops.ps lib/pdfwrite.ps lib/ps2epsi.ps lib/gs_mro_e.ps lib/ps2ps.bat lib/traceop.ps lib/printafm lib/ps2pdfxx.bat lib/gssetgs.bat lib/gsdj lib/pj-gs.sh lib/viewpbm.ps lib/gs_typ42.ps lib/gs_cidfm.ps lib/cid2code.ps lib/gslj lib/gsnd.bat lib/bdftops lib/pdf2ps.bat lib/gs_dscp.ps lib/ps2pdf.bat lib/gslp lib/errpage.ps lib/ps2pdf12.bat lib/gs_cff.ps lib/ps2pdf14.bat lib/zeroline.ps lib/pdfopt.ps lib/ps2ascii]

2002-02-21T21:36:33.000000Z Ralph Giles

Reverts to marking files with the single Id cvs tag instead of the
RCSfile and Revision pair.

[doc/History7.htm doc/Projects.htm doc/Humor.htm doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm doc/Install.htm doc/Copying.htm doc/API.htm doc/DLL.htm doc/Drivers.htm doc/Release.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm doc/Fonts.htm doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm doc/Psfiles.htm doc/New-user.htm doc/Bug-info.htm doc/Lib.htm doc/Hershey.htm doc/gs-vms.hlp doc/gsdoc.el doc/Htmstyle.htm doc/News.htm doc/Make.htm doc/Public.htm doc/Unix-lpr.htm doc/History1.htm doc/Current.htm doc/History2.htm doc/index.html doc/History3.htm doc/Ps2epsi.htm doc/History4.htm doc/History5.htm doc/History6.htm]

2002-02-21T20:57:53.000000Z Ray Johnston

Update banner to the new format common to all releases (AFPL, GPL and
Artifex Software's commercial release). References file LICENSE.

[src/iplugin.h src/gsgdata.h lib/pfbtopfa.ps src/gdevmsxf.c src/gsropt.h src/gdevmem.c src/gdevmem.h src/zvmem.c src/rm.cmd src/gstrap.c src/icstate.h src/gxxfont.h lib/gs_epsf.ps src/gstrap.h src/gzacpath.h src/gscssub.c src/gdevcgmx.h src/gp_msdos.c src/gdevlbp8.c src/gdevdm24.c src/gdevpdfx.h src/zcsdevn.c src/dwsetup.rc src/gxdither.c src/gscssub.h src/icie.h src/zcontext.c src/ccfont.h src/gxdither.h src/cp.cmd lib/gslp.ps src/macsystypes.h lib/font2c.cmd src/gxclutil.c src/gxcomp.h lib/level1.ps src/echogs.c lib/lpgs.bat src/oper.h doc/History7.htm src/zchar42.c lib/gs_lev2.ps src/gsfont0.c src/gscscie.c src/icfontab.c src/zht1.c toolbin/gssubst src/zdevcal.c src/zpcolor.c src/gdevpdfi.c src/zcssepr.c src/sdcparam.c doc/Install.htm src/ifont42.h lib/markhint.ps src/bcwin32.mak src/sdcparam.h doc/Issues.htm src/gdevokii.c src/zcfont.c toolbin/makefonts.tcl src/gdevprna.c src/zcolor.c src/gxhtbit.c src/oparc.h src/sfxfd.c src/gdevprna.h lib/caption.ps src/dwuninst.h src/gp_mspol.c src/gpmisc.c src/ireclaim.c toolbin/pdfinflt.ps src/gxstdio.h src/gsmemraw.h src/gpmisc.h lib/gs_cidcm.ps doc/Lib.htm src/gxline.h lib/bdftops.cmd lib/FAPIconfig toolbin/tests/check_docrefs.py lib/traceimg.ps src/ijs.mak src/gserver.c src/gp_psync.c toolbin/tests/update_baseline src/gxclfile.c src/gdebug.h lib/viewpcx.ps toolbin/tests/gsconf.py src/zfile.c src/gdev4693.c src/gxchar.c src/gsline.c src/gxchar.h src/gsalloc.c src/gsline.h doc/Helpers.htm src/gsiparm2.h src/gsalloc.h src/gxfont0.h lib/gs_ksb_e.ps lib/ps2pdf.cmd src/gdevmeds.c src/gs16spl.c src/gdev4081.c src/gdevmeds.h src/srdline.h src/dpmain.c src/wctail.mak src/winlib.mak src/szlibx.h src/zmath.c src/gdevpdfk.c lib/jispaper.ps src/iimage.h src/gxpcolor.h doc/Xfonts.htm src/gp_unifn.c src/gdevddrw.c src/gschar.c src/gdevpsfm.c src/sarc4.c src/gschar.h lib/traceop.ps src/gsptype2.c src/gdevpsu.c src/zfcid1.c src/sarc4.h src/gstrans.c src/gdevpsu.h src/gsptype2.h src/catmake src/gstrans.h src/iestack.h src/gxbitfmt.h src/gxclio.h src/gstype2.c src/itoken.h lib/gs_dscp.ps lib/pdf2ps.bat src/inameidx.h src/gxop1.h lib/pdfopt.ps src/sfxboth.c src/gp_macio.c src/sbhc.c lib/viewps2a.ps src/gsdps.c src/zfont1.c src/gdevht.c src/sbhc.h doc/Maintain.htm lib/gs_dbt_e.ps src/gsdps.h src/gdevht.h src/spngp.c src/ghost.h toolbin/tests/check_all.py src/gsmatrix.c src/gxalloc.h lib/cidfmap src/istruct.h src/gdevpsf.h src/gsmatrix.h src/zdouble.c src/dwreg.c src/spdiff.c lib/pf2afm.cmd src/dwreg.h src/scommon.h src/unixhead.mak src/gsiparm4.h lib/ps2ascii.ps src/gxiscale.c lib/gs_ce_e.ps src/gxbcache.c src/dwinst.cpp src/gxbcache.h lib/gs_type1.ps src/ibnum.c lib/gsnup.ps src/gdevxcmp.c src/estack.h src/ibnum.h src/scfe.c lib/eps2eps.cmd src/gscompt.h src/gsdcolor.h src/gdevxcmp.h lib/stocht.ps src/gdevlj56.c src/gdevhl7x.c src/gdevos2p.c src/gdevmr8n.c lib/gs_pdfwr.ps src/gsbitops.c src/gsparam.c src/gxftype.h src/gdevpdfm.c src/imain.c src/gsbitops.h src/gsparam.h src/zfilter2.c src/imain.h src/ifilter.h lib/gs_ccfnt.ps src/zfont42.c lib/Fontmap.ATB doc/Language.htm src/spdiffx.h src/smd5.c src/smd5.h src/gs16spl.rc src/gxhttype.h lib/Fontmap.ATM src/gspenum.h lib/unix-lpr.sh lib/ps2epsi.bat lib/decrypt.ps src/gxipixel.c src/sfilter2.c src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/gxmclip.c src/mv.cmd src/gxcie.h src/gsio.h lib/sysvlp.sh src/gscrd.h toolbin/suite.tcl src/gxmclip.h lib/pftogsf.bat src/unix-end.mak lib/uninfo.ps src/inobtokn.c src/gp_mslib.c lib/Fontmap.Sol src/gdevescp.c src/gsiodev.c src/igc.c src/msvc32.mak src/gdevmacxf.c src/gsfunc0.c src/zdosio.c src/slzwce.c src/igc.h src/jerror_.h src/gsfunc0.h src/gdevpsds.c src/gdevpsf1.c src/siscale.c src/gdevpsds.h src/gxfill.c src/gsdsrc.c src/ilevel.h src/siscale.h src/gxclread.c src/gsdsrc.h toolbin/tests/gstestgs.py lib/pdf2ps src/iostack.h lib/gs_kanji.ps lib/stcolor.ps src/gsdll.c lib/Fontmap.Ult src/gdevmr1.c src/gspath1.c src/gsdll.h src/sjpegc.c src/zfdcte.c lib/ps2ascii.bat src/zfcmap.c doc/Readme.htm src/gdevbit.c src/gdevfax.c toolbin/tests/check_source.py src/gsdevice.c src/gp_wsync.c src/gdevfax.h src/gxclmem.c src/gsdll32.rc src/gshtx.c src/gscparam.c src/gsdevice.h src/gdevsj48.c src/gdevpdfo.c src/gsbittab.c src/gxclmem.h src/sdctd.c src/gsmemory.c src/gshtx.h src/gdevpdfo.h src/gsbittab.h src/ifwpred.h src/gdevcdj.c doc/Devices.htm src/gsmemory.h src/files.h src/gxband.h src/scfdgen.c src/gsbitmap.h src/gdevtknk.c src/idsdata.h src/gxfont42.h src/scf.h src/gxidata.c src/gsroptab.c src/inames.h src/gsistate.c src/gdevm1.c src/os2.mak src/gscolor2.c lib/gs_cidfm.ps src/gzline.h src/gscolor2.h lib/bdftops src/gsmalloc.c lib/errpage.ps src/ivmem2.h src/gsmalloc.h src/gscindex.h src/gxiodev.h toolbin/makewin.tcl src/dwmain.c src/gdevpcfb.c src/gdevvec.c src/dwmain.h src/gdevpcfb.h lib/gs_statd.ps src/gdevvec.h src/ostack.h toolbin/cvs2hist.py src/gsrect.h src/sdeparam.c src/idosave.h src/gdevvglb.c src/gdevimgn.c src/ifrpred.h lib/impath.ps src/gsmdebug.h src/gxshade1.c lib/ps2ps src/gdevm32.c src/scfx.h src/all-arch.mak lib/gs_init.ps src/gsparams.c src/bfont.h src/idparam.c src/gdevbjcl.c src/dvx-gcc.mak src/gdevpsdu.c src/gsparams.h src/idparam.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 doc/Bug-info.htm src/math_.h lib/gs_resmp.ps src/gxfunc.h lib/printafm.ps src/gdevstc.c toolbin/tmake 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 lib/pfbtopfa src/igcstr.h src/rm.bat src/idebug.h toolbin/tests/run_regression src/gsht.c lib/gs_lgx_e.ps 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/gsfunc.c src/iutilasm.asm src/cp.bat src/sbcp.c src/gsfunc.h src/gdevalph.c src/iref.h src/sbcp.h lib/font2c.bat src/gdevtrac.c src/gp_ntfs.c src/libpng.mak lib/docie.ps src/gdevatx.c src/zfproc.c lib/acctest.ps src/gs.c doc/Ps2epsi.htm src/istream.h src/zdevice2.c src/iscannum.c src/gdevpdfb.c src/gspmdrv.c src/gscrdp.c src/iscannum.h src/gscsepnm.h src/gsfemu.c src/gspmdrv.h src/gscrdp.h src/gxclrast.c src/gdevxres.c src/inamestr.h src/gdevo182.c src/istkparm.h src/zimage3.c src/zarith.c src/zcspixel.c src/gximage1.c lib/xlatmap src/msvctail.mak src/gsfunc4.c src/gxclpath.c src/isdata.h src/gsfunc4.h src/gxclpath.h src/gxcmap.c src/icsmap.h src/gxhint1.c src/gxcmap.h src/gpgetenv.h src/zpath.c src/gsnorop.c src/gdevmrop.h src/gxcpath.c src/gdevhpij.c doc/Unix-lpr.htm src/gxcpath.h lib/bdftops.bat src/gdevhpij.h src/gxp1impl.h src/gdevlxm.c lib/Fontmap.GS lib/eps2eps src/gxgetbit.h src/gdevabuf.c doc/Source.htm src/md5.c src/gp_mac.c toolbin/makemaster src/gdevsgi.c src/md5.h src/gdevsco.c src/zcie.c src/stream.c src/gp_mac.h lib/pdf_main.ps src/gdevsgi.h src/gdevdflt.c src/stream.h src/gsdpnext.h src/gdevpdfs.c lib/pdfwrite.ps src/gdev8510.c toolbin/cvs2hist src/gxstroke.c src/gdevpxut.c src/zmisc2.c src/zfunc3.c src/iparam.c toolbin/tests/dump_testdb src/gdevpxut.h src/zrelbit.c src/gxclist.c src/gdevxini.c lib/printafm src/iparam.h src/gxclist.h src/gdevpsfu.c src/gdevlp8k.c doc/Htmstyle.htm lib/gsnd.bat lib/ps2pdf.bat src/gp_dosfs.c src/gpcheck.h lib/ps2ascii src/dwuninst.cpp src/ztype.c src/gdevxxf.c src/shc.c src/zshade.c doc/Use.htm src/opcheck.h src/shc.h lib/gsndt.bat src/gdevpdfd.c toolbin/tests/gssum.py src/gdevcfax.c src/zicc.c src/gxdda.h src/iscan.c src/iscan.h src/gsnotify.c toolbin/errlist.tcl toolbin/precheck.tcl lib/wftopfa src/gximage3.c src/srle.c lib/gs_icc.ps src/zfilterx.c src/gsnotify.h src/gsdll2.rc src/gximage3.h src/memory_.h src/iparray.h lib/gs_wl1_e.ps src/gsuid.h src/gdevstc2.c src/ziodev2.c src/gsiodevs.c lib/gs_sym_e.ps src/gxhint3.c src/zmisc.c src/gsargs.c src/devs.mak src/gp_win32.c lib/ppath.ps doc/gsdoc.el src/gsargs.h src/gsinit.c src/wmin.mak src/winplat.mak src/dscparse.c src/gdev3852.c src/dscparse.h src/gp_getnv.c lib/gs_dps1.ps src/gp_wgetv.c src/gdevpxen.h src/gdevadmp.c src/gdevpxat.h src/zchar2.c src/errno_.h lib/wrfont.ps src/slzwc.c src/gdevpdfu.c src/gdevp14.c src/gsfuncv.c src/sfilter.h src/dwinst.h lib/pf2afm.bat lib/gs_trap.ps src/gdevp14.h src/gsfuncv.h src/ifcid.h src/ifont.h src/sisparam.h src/zfmd5.c src/unixlink.mak doc/Psfiles.htm src/zrop.c lib/pdfopt.bat src/gdevegaa.asm src/gspaint.c doc/index.html src/gspaint.h src/sa85x.h src/gsalpha.c src/int.mak src/watc.mak lib/eps2eps.bat src/gsalpha.h src/icremap.h src/gdevpdff.c src/gp_dvx.c src/imainarg.c src/gdevpdff.h src/imainarg.h src/spprint.c src/gxcldev.h src/zbfont.c lib/FAPIfontmap src/unix-gcc.mak src/spprint.h src/igstate.h lib/ps2ps.cmd src/unistd_.h src/version.mak src/dwtext.c src/sbwbs.c lib/bdftops.ps src/gxdevmem.h src/gdevstc4.c lib/gsbj src/icharout.h src/dwtext.h src/sbwbs.h src/szlibd.c src/gdevpccm.c src/gdevdfax.c src/gdevdbit.c lib/ps2pdf src/gdevpccm.h src/strimpl.h src/mv.bat src/gsutil.c src/opextern.h src/zimage.c src/gdevcgm.c src/gsutil.h lib/gs_wl2_e.ps src/gsht1.c src/gspcolor.c src/gxi12bit.c src/iddstack.h src/gsht1.h src/gspcolor.h src/std.h src/gdevs3ga.c lib/type1ops.ps lib/ps2epsi.ps src/gdevpdfw.c src/scfdtab.c src/gscolor.c src/ztoken.c src/gxpaint.c src/zchar32.c src/seexec.c src/icid.h src/gscolor.h src/spsdf.c src/gxpaint.h src/gsfname.c toolbin/tests/make_testdb lib/gssetgs.bat src/spsdf.h lib/gsdj src/gsfname.h doc/New-user.htm src/gxalpha.h src/srlx.h src/gxclipsr.h src/gdevmac.c src/idisp.c src/jpeg.mak src/gdevmac.h src/idisp.h src/idstack.c toolbin/makehist.tcl toolbin/makegnu src/idstack.h src/gdevwdib.c doc/Copying.htm src/gdevsunr.c lib/gs_diskf.ps lib/font2c.ps src/gsstate.c src/ichar1.h src/gxiparam.h src/gsstate.h src/gdevcljc.c lib/pdf_base.ps doc/Ps2pdf.htm src/iscanbin.c src/gdevmiff.c lib/pphs.ps src/iscanbin.h src/gp_mshdl.c src/zfcid.c src/zfont.c src/unixinst.mak src/zarray.c src/iminst.h src/gdevpe.c src/fcntl_.h src/gxdevcli.h doc/Humor.htm src/zdfilter.c lib/Fontmap.SGI lib/gs_pdf_e.ps lib/prfont.ps src/zdps1.c lib/gs_css_e.ps src/zhsb.c toolbin/makemaster.tcl toolbin/tests/revert_baseline src/zupath.c src/gxsync.c src/dstack.h src/gsccolor.h src/gxsync.h src/gdevpbm.c src/gdevmrun.c src/gsdllwin.h lib/gs_typ32.ps src/gdevmrun.h src/gconf.c src/gconf.h src/sdct.h toolbin/makehist src/zfbcp.c src/gsipar3x.h src/gzcpath.h src/scfetab.c src/gdevpcl.c src/gxstate.h src/gdevcmap.c src/zht2.c src/gxfmap.h src/zfarc4.c src/gdevpdfj.c src/gdevpcl.h src/ichar.h src/gdevcmap.h lib/viewmiff.ps src/gdevwprn.c lib/gs_dps.ps src/gxpdash.c src/ztrap.c src/gxlum.h toolbin/3way.tcl doc/Drivers.htm toolbin/makegnu.tcl src/gsptype1.c src/zfcid0.c src/gxclbits.c src/zgstate.c src/gsptype1.h lib/gs_setpd.ps src/ctype_.h lib/font2c src/inouparm.c src/slzwx.h src/gstype1.c lib/gs_lgo_e.ps src/gxdhtres.h src/gdevmpla.c src/dwmain.rc lib/gs_fonts.ps lib/ps2pdf12.cmd src/gstype1.h lib/gslj.bat src/gxcspace.h src/gdevmpla.h lib/Fontmap.OS2 src/watclib.mak src/gxfcache.h src/istack.c src/gxclzlib.c src/zfont0.c lib/gs_l2img.ps src/istack.h src/gstparam.h lib/stcinfo.ps src/gdevevga.c src/gdevhit.c src/gxclimag.c src/gsdfilt.c lib/packfile.ps toolbin/many2pdf.tcl src/gsdfilt.h toolbin/tests/run_nightly toolbin/gsindent 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/zvmem2.c src/gxdcconv.h src/contrib.mak lib/gs_typ42.ps src/gsiparm3.h src/gxclpage.c src/gxfont1.h lib/gslj src/icontext.c src/gsdllos2.h src/gxclpage.h src/zstring.c src/icontext.h lib/gslp src/unix-aux.mak src/zfont32.c src/szlibxx.h src/gxclip2.c src/gdevdrop.c src/gxclip2.h src/scfd.c src/cfonts.mak src/gxiclass.h lib/pdf2dsc lib/ht_ccsto.ps src/gdevcgml.c src/gdevcgml.h src/gdevpx.c src/windows_.h src/gdevl256.c src/zcharx.c src/igcref.c doc/DLL.htm src/gxtype1.c src/gxtype1.h src/zccube.c src/gdevcp50.c lib/gs_ciddc.ps src/idictdef.h toolbin/bughunt.sh src/gsmemret.c src/gxclip.c src/gsmemret.h src/sfilter1.c src/iname.c lib/gsnd lib/pdfopt src/zmedia2.c src/sddparam.c src/gxclip.h src/iname.h src/gs.mak src/gxpcmap.c doc/News.htm lib/gs_wan_e.ps src/gp_msdll.c lib/ps2pdf13.cmd src/gxcid.h src/gdevnfwd.c src/macos-mcp.mak doc/History1.htm src/zcontrol.c src/icclib.mak src/gsfcmap.c src/zfont2.c src/iimage2.h src/gsfcmap.h src/gxrplane.h src/imemory.h src/gxp1fill.c src/gsciemap.c src/zdscpars.c src/dos_.h src/gscdef.c lib/winmaps.ps src/gdevwpr2.c lib/landscap.ps src/gxtmap.h lib/gs_frsd.ps src/zchar.c src/gsbitcom.c lib/fixmswrd.pl src/gdevsun.c src/gscrypt1.c doc/Fonts.htm lib/gsdj500.bat src/ztrans.c src/gscrypt1.h src/dwmainc.c src/gxdht.h src/dvx-head.mak src/zcsindex.c src/gdevrops.c doc/gs-vms.hlp src/gdevijs.c src/icolor.h src/gp_msio.c src/macsysstat.h src/store.h src/gxfixed.h src/gstypes.h src/string_.h src/zfdctd.c src/gdevcslw.c src/gsjmorec.h src/zdps.c src/scanchar.h src/gxpcache.h src/gdevdsp.c src/lib.mak src/zmatrix.c src/sdctc.c src/gdevdsp.h src/gdevpipe.c src/gspmdrv.rc src/gdevsvga.c lib/pf2afm src/gdevepsn.c src/gdevsvga.h src/gsparam2.c src/gp_mktmp.c src/stat_.h src/zfsample.c src/zfdecode.c lib/gs_wl5_e.ps src/gsstruct.h src/gximag3x.c src/gsgc.h src/gscolor1.c src/gdevmswn.c src/gxfcmap.h src/gdevjpeg.c src/gximag3x.h src/siinterp.c src/gscolor1.h src/gdevmswn.h src/gdevbbox.c src/opdef.h src/siinterp.h lib/ps2pdf14.cmd src/iddict.h src/gdevbbox.h lib/gs_mex_e.ps lib/gs_std_e.ps src/gp_stdin.c doc/History2.htm src/gendev.c src/gdevtfax.c src/gdevpjet.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/gdevemap.c src/gp_sysv.c src/gsrefct.h src/iastruct.h src/gdevbjc.h lib/gs_mro_e.ps lib/ps2ps.bat src/gdevpsf2.c src/gzht.h doc/Develop.htm src/gxcvalue.h toolbin/makeset src/sstring.c lib/cid2code.ps src/gxpath.c src/scfparam.c src/gdevupd.c src/iconf.c src/sstring.h src/gxpath.h src/interp.c src/zcrd.c src/iconf.h src/dwnodll.c src/interp.h src/dwdll.c lib/zeroline.ps lib/gs_cff.ps src/dwdll.h src/sjpegd.c lib/rollconv.ps src/gspath2.h src/dvx-tail.mak src/gdevpsim.c lib/lp386.bat src/errors.h lib/lprsetup.sh src/gp_msprn.c src/gxino12b.c src/gdevmgr.c src/gdevpdfp.c src/gxacpath.c src/ziodev.c src/gdevmgr.h src/gslib.c src/sdcte.c src/iccinit0.c doc/Release.htm src/zfunc0.c src/ifont1.h lib/gs_dpnxt.ps lib/pdf_draw.ps src/gslib.h src/gxccache.c src/gxmatrix.h src/ifunc.h src/gp_unifs.c src/gxobj.h src/isstate.h src/gdevm2.c src/ifilter2.h src/gdevwddb.c src/gspath.c src/gxpcopy.c src/gscolor3.c src/gspath.h src/gdevdjet.c lib/ps2pdf12 src/gscolor3.h lib/ps2pdf13 lib/ps2pdf14 lib/pdf2dsc.ps doc/Current.htm lib/gs_pfile.ps src/zpath1.c doc/History3.htm src/gdevm24.c src/gp_unix.c src/inamedef.h lib/gs_rdlin.ps src/ilocate.c src/gxdcolor.c src/gdevpm.c src/gscdefs.h src/vmsmath.h src/gxdcolor.h src/gzstate.h src/gschar0.c src/gdevbmpc.c src/gdevpm.h src/iht.h src/zdevice.c src/gscie.c lib/gs_cidfn.ps src/ifapi.h lib/addxchar.ps src/zimage2.c src/iastate.h src/gscie.h src/pipe_.h src/gxbitops.h src/ipacked.h lib/font2pcl.ps src/gsfunc3.c src/gpsync.h src/gswin.rc src/gsccode.h src/gxpath2.c src/gsfunc3.h src/gp_strdl.c src/gxdevbuf.h src/genconf.c toolbin/tests/gsparamsets.py lib/lpr2.bat lib/lp386r2.bat src/sa85d.c src/gscsel.h lib/gsbj.bat src/openvms.mmk src/sa85d.h src/gp_stdia.c src/zcolor2.c doc/Hershey.htm src/gdev3b1.c lib/wmakebat.bat lib/gst.bat src/gxttf.h src/genht.c src/zgeneric.c lib/type1enc.ps lib/dvipdf src/gxclrect.c src/gxarith.h src/gsshade.c lib/pdf_sec.ps src/gsshade.h src/msvclib.mak src/gsicc.c src/zcid.c src/dwsetup.cpp lib/pv.sh src/gdevp2up.c src/gsicc.h src/dwuninst.rc lib/viewjpeg.ps lib/image-qa.ps src/gdevpdfr.c src/gdevppla.c toolbin/gsmake src/zmisc1.c src/gsdevmem.c src/gdevppla.h src/wccommon.mak src/gdevpsft.c lib/ps2epsi src/gsmisc.c src/gdevtfnx.c lib/wftopfa.ps src/gxicolor.c src/gdevm4.c src/gxpageq.c lib/ps2ai.ps src/gsdparam.c lib/pdf2ps.cmd src/winint.mak src/gxpageq.h doc/Make.htm src/gxdevrop.h src/gsstype.h src/gdevprn.c src/gdevcif.c doc/History4.htm src/gdevprn.h src/iesdata.h src/dxmain.c src/iapi.c src/gdevpdfc.c lib/gstt.bat src/spngpx.h src/btoken.h src/gdevherc.c src/gdevpdfc.h src/iapi.h src/zcharout.c src/gdevepsc.c lib/gs_il1_e.ps src/gximage2.c src/gxdevice.h src/srld.c src/zht.c toolbin/maketars src/gxshade4.c src/gxshade4.h src/iinit.c src/gxccman.c src/gxbitmap.h src/gdevstc1.c src/watcw32.mak lib/ps2pdfxx.bat src/iinit.h src/gsalphac.c src/gxhint2.c src/gxshade.c toolbin/pre 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 doc/Public.htm src/gxcolor2.h lib/ps2pdf12.bat src/gscoord.h toolbin/pre.tcl src/genarch.c doc/Projects.htm lib/viewcmyk.ps src/gxcindex.h src/gscpm.h src/gp_nsync.c src/gdevdgbr.c src/gdevmr2n.c src/zlib.mak lib/gs_fapi.ps src/gxtext.h src/zchar1.c src/gscdevn.c lib/pf2afm.ps src/gscdevn.h src/gdevpdft.c src/gdevpsdi.c src/shcgen.c src/gsiparam.h lib/pphs src/zmisc3.c src/zfunc4.c src/zfapi.c lib/gsdj500 src/malloc_.h src/shcgen.h src/gscpixel.c lib/pdf_font.ps lib/viewgif.ps src/gscpixel.h lib/gs_btokn.ps lib/ps2epsi.cmd toolbin/tests/check_dirs.py toolbin/gsmake.tcl src/gdevplnx.c lib/lines.ps src/dirent_.h src/gdevplnx.h src/zfzlib.c src/Makefile.in lib/FAPIcidfmap src/gscsepr.c src/iutil2.c doc/History5.htm src/gscsepr.h src/gsimage.c src/ipcolor.h src/iutil2.h src/sjpeg.h src/gstext.c src/gsimage.h lib/gs_fform.ps src/msvccmd.mak src/gstext.h src/gsflip.c src/gdevpdfe.c src/gsflip.h src/gdevdljm.c src/zdpnext.c src/geninit.c src/gdevdljm.h lib/gs_ll3.ps 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/zpacked.c toolbin/tests/gstestutils.py src/gsparamx.c src/gdevstc3.c src/gp_dosfe.c src/iutil.c src/szlibc.c toolbin/maketars.tcl src/gsparamx.h lib/gs_cmdl.ps lib/gs_cmap.ps toolbin/makewin src/gdevpng.c src/iutil.h src/gzpath.h lib/gs_il2_e.ps src/gxcdevn.h src/sfxstdio.c lib/ps2pdfwr lib/ps2pdf13.bat src/gxropc.h toolbin/makeset.tcl src/gxfcid.h src/gxfont.h lib/gs_agl.ps lib/ps2ascii.cmd src/gdevccr.c src/gdevdcrd.c src/unix-dll.mak src/zbseq.c src/ziodevsc.c src/instcopy src/gdevdcrd.h src/gdevl31s.c src/zfrsd.c src/iosdata.h src/gdevmacpictop.h src/gdevdjtc.c lib/showchar.ps src/gdevpcx.c src/gdevpxop.h src/zfileio.c src/slzwd.c src/gxpflat.c src/gxifast.c lib/pcharstr.ps src/gdevpdfv.c src/dwimg.c lib/pdf_ops.ps src/zsysvm.c src/gsimpath.c src/dwimg.h src/gdevx.c src/gsmemlok.c src/gsos2.rc lib/gs_dps2.ps src/gximage.c src/gdevx.h src/gsmemlok.h src/ziodevs.c src/unixansi.mak src/gximage.h src/gdevpsfx.c src/gscspace.c src/gdevmacttf.h lib/gsdj.bat src/gdevm8.c src/gdevpnga.c lib/gs_mgl_e.ps examples/waterfal.ps src/gscspace.h src/gsxfont.h src/gsropc.c src/gsjconf.h toolbin/tests/make_two_versions src/gsfcid.c src/zstack.c src/gsfont.c src/gsropc.h src/gsfont.h lib/gs_ttf.ps lib/unprot.ps src/isave.c lib/gslp.bat lib/align.ps doc/History6.htm src/isave.h src/zdict.c toolbin/leaks.tcl src/gxfrac.h toolbin/tmake.tcl src/gx.h src/iccfont.c toolbin/makefonts lib/markpath.ps src/gdevpdfg.c src/png_.h lib/pdf2dsc.bat src/gdevps.c src/gxcllzw.c src/gdevpdfg.h src/gxhttile.h doc/API.htm toolbin/smoke.ps src/gsdps1.c lib/gs_res.ps src/time_.h src/gshsb.c src/pcwin.mak src/vms_x_fix.h src/smtf.c src/gshsb.h src/gdevtifs.c src/x_.h src/smtf.h src/gximono.c src/gdevtifs.h src/fapiufst.c src/ansi2knr.c lib/pj-gs.sh lib/viewpbm.ps src/szlibe.c src/gxctable.c src/main.h toolbin/headers.tcl src/gp_vms.c src/gp_iwatc.c src/gxctable.h src/ugcclib.mak src/gdev8bcm.c src/gp_os9.c src/dwsetup.h src/gdevbj10.c src/gxclipm.c src/gdev8bcm.h src/zpaint.c src/stdpre.h lib/ps2pdf14.bat src/iplugin.c src/gxclipm.h src/gsgdata.c]

2002-02-21T20:36:32.000000Z Ray Johnston

Add AFPL specific LICENSE file required for common release banner change.

[LICENSE]

2002-02-21T20:32:06.000000Z Ralph Giles

Removes mention of SourceForge Bug #223005, which was closed before the
7.00 release.

[doc/Issues.htm]

2002-02-21T08:12:35.000000Z Dan Coby

Removes a compiler warning on the 4th parameter to valid_cube_size().
Added const conditional to the parameter.

[src/zfsample.c]

2002-02-21T07:42:23.000000Z Dan Coby

This is an improvement from L. Peter Deutsch in the logic which tests the
size of the amount of data required for a function to be sampled.  This
eliminates a possible math overflow and also tests for a negative size
value.  This is part of bug 474544.

[src/zfsample.c]

2002-02-20T19:39:02.000000Z Raph Levien

Fix: Changes XPutImage to use xdev->vinfo->depth rather than
xdev->color_info.depth. These are the same in all cases except a
visual depth of 15, in which the latter is 16.

[src/gdevx.c]

2002-02-20T18:27:49.000000Z Igor Melichev

FAPI project : Providing basic documentation.

[doc/Develop.htm doc/Psfiles.htm]

2002-02-20T07:14:35.000000Z lpd


Fix: The Ghostscript test class didn't initialize the new member gsoptions.
(bug introduced by Windows portability patch)

[toolbin/tests/gstestgs.py]

2002-02-20T07:10:14.000000Z lpd


Fix: check_docrefs didn't pass the gsroot parameter down far enough.

[toolbin/tests/check_docrefs.py]

2002-02-20T01:32:47.000000Z lpd


Fix: Many files lacked double-inclusion protection, or implemented it
incorrectly.

[src/dwimg.h src/dwreg.h src/dwinst.h src/idisp.h src/dwuninst.h src/gxfapi.h src/gdevdsp2.h src/dwtext.h src/dwmain.h src/gdevbjcl.h src/png_.h src/gdevmacttf.h src/gdevmacpictop.h src/ifapi.h src/dwsetup.h src/gdevdsp.h src/gsdfilt.h src/jerror_.h src/vms_x_fix.h src/dscparse.h src/gsdll.h]

2002-02-20T00:16:00.000000Z Ralph Giles

Fix: reverts the license of ijs.mak to AFPL; the previous change was intended for the GPL branch.

[src/ijs.mak]

2002-02-19T23:59:34.000000Z Ralph Giles

Fix: ijs.mak had the wrong license header

[src/ijs.mak]

2002-02-19T19:52:28.000000Z lpd


Fix: pdfopt didn't handle pages with no Contents, and didn't handle files in
which any objects (such as resources) were referenced from both the first
page and later pages.  Also adds more tracing output to pdfopt (with
-dPDEBUG).  Fixes SourceForge #516628.

[lib/pdfopt.ps]

2002-02-19T16:16:07.000000Z lpd


Cleans up a few loose ends from the transition to the new testing framework.

[toolbin/tests/.cvsignore toolbin/tests doc/Testing.htm toolbin/tests/check_docrefs.py]

2002-02-19T15:59:14.000000Z lpd


Updates the new test scripts with Igor's changes for running on MS Windows.

[toolbin/tests/make_two_versions toolbin/tests/make_testdb toolbin/tests/update_baseline toolbin/tests/gsconf.py toolbin/tests/revert_baseline toolbin/tests/gstestgs.py]

2002-02-19T15:48:02.000000Z lpd


Removes files that have been superseded by new ones in toolbin/tests.
(checksource => check_source.py, hrefcov => check_docrefs.py)

[toolbin/checksource toolbin/checksource.py toolbin/hrefcov toolbin/hrefcov.tcl]

2002-02-19T15:46:01.000000Z lpd


Replaces the toolbin/regression directory with a new toolbin/tests directory
that includes all testing scripts.  Adds and documents a framework for
writing and running testing scripts.

[toolbin/regression toolbin/tests/gsparamsets.py toolbin/tests/gstestutils.py doc/Readme.htm toolbin/tests/make_testdb toolbin/tests/check_source.py toolbin/tests/update_baseline toolbin/tests/check_dirs.py toolbin/tests/gssum.py toolbin/tests/gstestgs.py toolbin/tests/check_all.py toolbin/tests/make_two_versions toolbin/tests doc/Testing.htm toolbin/tests/run_nightly toolbin/tests/run_regression toolbin/tests/gsconf.py toolbin/tests/fuzzy.c toolbin/tests/revert_baseline toolbin/tests/check_docrefs.py toolbin/tests/dump_testdb]

2002-02-19T15:08:12.000000Z Igor Melichev

Fix: Porting the regression test tool to Windows.

[toolbin/regression/make_two_versions toolbin/regression/gstest.py toolbin/regression/make_testdb toolbin/regression/update_baseline toolbin/regression/gsconf.py toolbin/regression/revert_baseline]

2002-02-18T17:12:53.000000Z lpd


Fix: gx_begin_image3x_generic passed uninitialized data to
gs_cspace_init_DevicePixel when Shape.MaskDict was absent, causing a garbage
collector crash.  Fixes SourceForge bug #516530 (heap crash with
OTGuide.pdf).  (based on proposed fix by igorm.)

[src/gximono.c src/gsipar3x.h src/gximag3x.c]

2002-02-18T11:22:17.000000Z Igor Melichev

Fix: pkmraw device was not built by Windows makefile,
but it is required for regression testing.

[src/msvc32.mak]

2002-02-18T11:13:19.000000Z Igor Melichev

Remove pdf14_text_enum_t and related functions because they are unuseful.
This change helps for FAPI project.

[src/gdevp14.c]

2002-02-18T02:47:59.000000Z Ralph Giles

Fix: new releases should be uploaded to ftp://upload.sourceforge.net/incoming.

[doc/Release.htm]

2002-02-16T15:19:24.000000Z lpd


Removes some unnecessary #includes from gdevpsdu.c.

[src/gdevpsdu.c src/devs.mak]

2002-02-16T15:08:59.000000Z lpd


Fix: the 1-line comment at the head of sstring.h was garbled.

[src/sstring.h]

2002-02-16T07:32:23.000000Z lpd


Adds more tracing to the DCTEncode filter (under the -Zw switch).

[src/sdcte.c]

2002-02-15T20:36:57.000000Z Raph Levien

Fix: Makes fuzzy.c produce meaningful results when depth is not
equal to the standard value of 2^bps - 1.

[toolbin/regression/fuzzy.c]

2002-02-14T23:04:46.000000Z rayjj

Further warning message cleanup to use pdfformaterror and to use a
consistent format (starting with '   **** '.

[lib/pdf_main.ps lib/pdf_sec.ps]

2002-02-14T17:25:53.000000Z rayjj

Minor cleanup of warning and error messages within the PDF interpreter to
make the format consistent and to use pdfformaterror for all messages.

[lib/pdf_main.ps lib/pdf_font.ps lib/pdf_sec.ps lib/pdf_base.ps lib/pdf_draw.ps]

2002-02-14T03:25:50.000000Z igorm

Fix: Previous revision caused a regression. This version is the
actual fix for SourceForge #510776 for Artifex customer #1110.

[lib/gs_type1.ps]

2002-02-14T03:23:47.000000Z igorm

Fix: Use a more rigorous condition to check the FontBBox validity when
computing default values for UnderlinePosition and UnderlineThickness.
Source Forge bug #510776 for Artifex customer #1110.

[lib/gs_type1.ps]

2002-02-14T01:47:10.000000Z rayjj

Remove some unintentional changes that crept into a previous update.

[lib/gs_init.ps]

2002-02-14T01:23:31.000000Z rayjj

Fix: Prevent .locksafe (and .setsafe) from resetting the current
pagedevice. Fixes SourceForge bug #516379.

[lib/gs_init.ps]

2002-02-13T18:11:09.000000Z Raph Levien

Minor tweaks to Ray's buffer allocation failure patch, as discussed
on gs-code-review.

[src/gdevp14.c]

2002-02-13T17:28:08.000000Z Raph Levien

Fix: Fixes pdf2dsc to open input file before .setsafe, so that it
works even when SAFER locks down read file access.

[lib/pdf2dsc.ps]

2002-02-12T22:00:39.000000Z lpd


Fix: psdf_end_binary didn't convert the stream status to an error code,
possibly causing incorrect error reporting.

[src/gdevpsdu.c]

2002-02-12T21:58:47.000000Z Raph Levien

Fix: Fixes handling of MetricsCount in z11_get_metrics. Thanks to
Brian Stell for the analysis and original version of the patch.

[src/zfcid1.c]

2002-02-12T21:55:31.000000Z lpd


Fix: pdf_end_image_binary didn't propagate all error indications to its
caller.

[src/gdevpdfj.c]

2002-02-12T21:52:16.000000Z lpd


Fix: sclose and spskip incorrectly indicated that they returned a 'code'
(per gserrors.h) rather than a 'status' (per scommon.h).

[src/stream.c]

2002-02-11T16:27:58.000000Z lpd


Moves TrueType glyph flags to gxttf.h, where they should have been from the
beginning.

[src/lib.mak src/gstype42.c src/gxttf.h]

2002-02-11T16:26:21.000000Z lpd


Fix: pdfwrite could output Indexed color spaces with more than 256 entries,
or images with more than 8 bits per component, neither of which PDF
supports.  This patch causes the latter to revert to the
millions-of-tiny-rectangles representation, which is not adequate in the
long run, but is at least valid output.  Fixes SourceForge #513910, for the
moment.

[src/gdevpdfc.c src/gdevpdfi.c]

2002-02-08T09:46:17.000000Z Ralph Giles

Adds the standard GNU copyright banner to the viewjpeg script, with
permission from Thomas Merz. Also updates the author's email address
and removes the obsolete physical address.

[lib/viewjpeg.ps]

2002-02-08T04:37:56.000000Z rayjj

Fix: Typos (" used when ' was needed) fixed. So much for desk checking :-(

[src/gp_vms.c]

2002-02-08T04:34:14.000000Z rayjj


Fix: Extra dict was left on the ostack by rev 1.38 (introduced when
fixing SF bug #495088). Also allow bad images to be skipped (with a
warning message) as Adobe Reader does. Make PDF format error messages
more consistent. Fixes SF bug #513902 for Artifex customer #10.

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

2002-02-06T21:11:54.000000Z Raph Levien

Fix: Fixes cvs2hist.py to be branch-aware, changing log selection
policy from "all logs more recent than the date of the last tag" to
"all logs along the current branch more recent than the reference
tag given in the -j option".

[toolbin/cvs2hist.py]

2002-02-06T07:18:34.000000Z dancoby

Fix 4 of 4 for #474544 "Core dump - shfill error with DeviceN".
Corrects a problem with an unbalanced stack when determining the
range of a colorspace specified by a name.

[lib/gs_lev2.ps]

2002-02-06T07:16:17.000000Z jackiem

Fix: ps2pdf14 was not being installed by unixinst.mak.  Fixes SourceForge
bug #508607.

[src/unixinst.mak]

2002-02-06T02:35:11.000000Z dancoby

Fix 3 of 3 for #474544 "Core dump - shfill error with DeviceN".
1. Recognizes already encapsulated tint transform functions.
2. Generalizes the color cube logic for use in other situations.
3. Uses the domain of the alternate color space for the range
of the tint transform function.

[src/int.mak lib/gs_lev2.ps src/zfsample.c src/zfunc.c]

2002-02-06T01:07:54.000000Z rayjj

Fix: File enumeration on VMS doesn't enumerate "*" as all files, needing
"*.*" similar to gp_dosfe.c. PostScript FONTPATH scanning and PCL font
loading failed prior to this fix. Filenames that already have a "."
prior to the trailing "*" are not modified.

[src/gp_vms.c]

2002-02-05T22:35:10.000000Z rayjj

Add error message complaints when q (gsave) and Q (grestore) operators
do not balance.

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

2002-02-05T20:50:25.000000Z rayjj

Fix: Some PDF files don't have balanced q/Q operators (gsave/grestore) that
left extra dicts on the dictstack. Save the dictstack depth before the page
and pop any left over elements. Fix for SF #495088 for customer #870.

[lib/pdf_main.ps]

2002-02-05T19:54:14.000000Z lpd


Fix: Disables optimization on OpenVMS, because some OpenVMS C compilers
produce incorrect code for gdevpsfx.c.  Fixes SourceForge #508722.

[src/openvms.mak src/openvms.mmk]

2002-02-05T08:13:50.000000Z rayjj


Fix: Prevent large transparency buffer allocations from overflowing
unsigned int. Could lead to SEGV or buffer overflow. Also fix up some
return code handling when allocations fail in PDF 1.4 transparency
logic. Fixes SF bug #511914 for Artifex customer #680.

[src/gdevp14.c]

2002-02-05T05:09:08.000000Z lpd


Fix: The previous version of src/gdevps.c was checked in with DOS/Windows
(^M^J) EOLs rather than Unix (^J) EOLs, causing some C compilers to reject
it.

[src/gdevps.c]

2002-02-05T00:29:59.000000Z rayjj

Fix: The cached effective_clip_id was being set to the clip_id of the
clip_path, ignoring the viewclip path in some cases. Set the 'id' to
correctly reflect the path in effective_clip_path. Fixes SF bug #458769
for Artifex customer #1130.

[src/gspath.c]

2002-02-01T19:46:55.000000Z Ralph Giles

Documents the work-around of using '#' instead of '=' to separate command
line options from their arguments. The was previously listed only as a
quirk of the Wacom build on MS-DOS, but is also needed on win32 because
the command shell treats '=' as whitespace in passing arguments to batch
files (like ps2pdf.bat). Closes SourceForge bug #483066. Also documents
that MS-DOS is no longer a supported operating system.

[doc/Use.htm]

2002-02-01T08:03:46.000000Z rayjj

Fix: Extra (old) parameters to gp_file_name_concat_string removed.

[src/gp_ntfs.c]

2002-02-01T04:16:15.000000Z Ralph Giles

Uses --with-ijs (instead of --without) in the configure option help.

[src/configure.ac]

2002-02-01T04:11:46.000000Z Ralph Giles

Fix: corrects the name of the autoconf generated makefile for the purpose of dependencies

[src/Makefile.in]

2002-02-01T03:17:12.000000Z Raph Levien

Documentation and makefile updates for IJS driver.

[src/openvms.mak src/watcw32.mak src/macosx.mak src/dvx-gcc.mak src/unixansi.mak src/os2.mak src/bcwin32.mak src/ugcclib.mak src/msvc32.mak src/unix-gcc.mak src/macos-mcp.mak doc/Devices.htm src/wctail.mak src/winlib.mak src/ijs.mak src/watclib.mak]

2002-01-31T21:18:08.000000Z rayjj


Minor change from 'search' to 'filenameforall' in discussion about the
wildcard characters in PermitFile... strings.

[doc/Language.htm]

2002-01-31T21:17:25.000000Z rayjj


Fix: .locksafe is not supposed to change the PermitFileWriting and
PermitFileControl paths (was setting them to empty arrays).

[lib/gs_init.ps]

2002-01-31T20:47:16.000000Z Raph Levien

Adds IJS driver to Ghostscript. Includes complete IJS version 0.33
distribution. Also includes autoconf patch by Ralph Giles.

[ijs src/gs.mak src/Makefile.in src/configure.ac doc/Develop.htm doc/Devices.htm src/devs.mak ijs/.cvsignore src/gdevijs.c src/ijs.mak]

2002-01-31T19:09:46.000000Z Raph Levien

Checkin of IJS 0.33 to repository.

[ijs/common.mak ijs ijs/ijs_spec.sgml ijs/ijs_server.h ijs/windows.mak ijs/ijs_client.c ijs/ijs.c ijs/state.eps ijs/ijs_server_example.c ijs/ijs_spec.pdf ijs/ijs_client.h ijs/ijs.h ijs/Makefile ijs/ijs_exec_unix.c ijs/install-sh ijs/ijs_client_example.c ijs/ijs_spec.ps ijs/configure ijs/Makefile.in ijs/state.fig ijs/configure.in ijs/ijs_exec_win.c ijs/ijs-config ijs/unix.mak ijs/unistd_.h ijs/ijs_server.c ijs/README ijs/ijs-config.in]

2002-01-30T20:08:41.000000Z Raph Levien

Fix: Removes broken x11alpha driver, and installs an alias for x11
under that name, with default parameters changed to support
antialiasing. Fixes SourceForge bug #505692.

[src/gdevx.c src/gdevxalt.c]

2002-01-30T07:34:45.000000Z Ralph Giles

Adds a new documentation section on display devices along with a basic
description of the x11 devices.

[doc/Devices.htm]

2002-01-30T01:12:23.000000Z igorm

An addition to Issues.htm about hybrid fonts and the job server loop.
Source Forge bug [500941] /rangecheck in --.type1execchar--.
Thanks to L. Peter Deutsch for participation.

[doc/Issues.htm]

2002-01-30T00:43:29.000000Z dancoby

Fix for "[ #505041 ] /typecheck in --setcolor--".  Customer 150.
An error in counting the number of values by the PDF interpreter
was causing an incorrect number of values to be sent to setcolor.
This in turn caused a typecheck.

[lib/pdf_main.ps]

2002-01-29T19:13:25.000000Z rayjj


Fix: Prevent Type2 fonts from needing more than 48 ostack elements. Patch
provided by Toshiya Suzuki-san (mpsuzuki). Also add checking to prevent
fonts that push more than 48 elements on the ostack from overflowing the
array (could caused SEGV). Fix for SourcForge bug #497537.

[src/gstype1.c src/gstype2.c src/gxtype1.c src/gdevpsfx.c src/gxtype1.h]

2002-01-29T05:57:49.000000Z igorm

Fix: epswrite generates "grestore gsave" while changing a clipping path,
so the internal graphic state and the output document's graphic state
become unsynchonized. Particularly this looses the current color.
Source Forge bug [ #502830 ] pdf2ps - bad color of objects

[src/gdevps.c]

2002-01-29T02:54:43.000000Z lpd


Fix: pdfwrite often gave an error if a name with embedded special characters
was a key or value in a pdfmark dictionary.  Fixes SourceForge #505877.

[src/zstring.c src/gdevpdfr.c doc/Language.htm lib/gs_pdfwr.ps]

2002-01-29T01:03:26.000000Z lpd


Adds a CompressFonts parameter to pdfwrite to control whether embedded
fonts are compressed, to help debugging.  The default value is true.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c doc/Ps2pdf.htm src/gdevpdfs.c src/gdevpdfe.c src/gdevpdfu.c]

2002-01-29T00:44:06.000000Z lpd


Fix: When pdfwrite embedded a TrueType font with a generated format 6 cmap,
it incorrectly added the character bias (0xf000) to the "first character
code" entry in the cmap sub-table.  Fixes SourceForge #434707 and probably
some others.  This fix also adds a set of compile-time options for forcing
embedded TTFs into particular formats for debugging.

[src/gdevpsft.c]

2002-01-24T19:07:57.000000Z rayjj

Fix: Added check for return code from gs_main_init1 that was missed in
previous (security) update.

[src/imainarg.c]

2002-01-24T16:37:53.000000Z lpd


Fix: Setting the parameters for a stroked font could reset other text state
parameters, causing 'Font not set' and other errors from Acrobat.  Fixes
SourceForge bug #505011.

[src/gdevpdfs.c]

2002-01-24T06:33:33.000000Z rayjj

Fix: Improve security in a (mostly) backward compatible fashion
adding more flexible file access paths (PermitFile...) as user
paramters and adding the facility to return to NOSAFER mode after
running jobs (files/procedures) in SAFER mode.
This should address SF bug #474582 and eliminate the need for the
RedHat PARANOIDSAFER patch.

[src/gsutil.h src/iutil2.h src/gp_macio.c doc/Use.htm lib/gs_lev2.ps src/gp_dosfe.c src/imainarg.c src/gp_os2.c src/gp_vms.c src/icontext.c src/zvmem.c src/gp_ntfs.c src/icstate.h lib/gs_fonts.ps src/zusparam.c src/gp_dosfs.c src/gp_unifn.c src/gsutil.c doc/Language.htm src/iutil2.c src/zfile.c src/zcontrol.c lib/gs_init.ps src/gp.h]

2002-01-22T20:25:44.000000Z jackiem

Fix: Incorporate patch from Tim Waugh of RedHat to allow ps2pdfwr to
correctly process files with spaces in their names.  Peter's earlier fix
missed a few enclosing "'s for output files.  Fixes Sourceforge bug
#505338.

[lib/ps2pdfwr]

2002-01-22T08:04:28.000000Z lpd


Fix: MSVC's malloc on x86 only aligns blocks mod 4, even though the compiler
aligns 'double' members of structures mod 8.  Documents this fact in the
relevant places in the Ghostscript code, and removes the check that was
causing gsmalloc.c to produce warning messages.

[src/gxobj.h src/gxbitmap.h src/gsmalloc.c src/gsmemraw.h src/gsmemory.h]

2002-01-18T18:27:08.000000Z lpd


Fix: The check for unaligned return values from malloc still had a bug.

[src/gsmalloc.c]

2002-01-18T11:03:06.000000Z igorm

FAPI project : Provide a transfer of GlobalSubrs through FAPI for embedded Type 2 fonts.

[src/int.mak src/fapiufst.c src/zfapi.c]

2002-01-18T00:43:10.000000Z lpd


Fix: Most of the calls of gs_[main_]init1 didn't check the return value for
errors.

[src/gserver.c src/imainarg.c]

2002-01-18T00:31:25.000000Z lpd


Fix: The recent fix for #502866 required malloc to align blocks at least as
stringently as the compiler requires.  Even though the ANSI C specification
appears to require this, and Ghostscript relies on it, Dan reports that some
C implementation doesn't do it.  Additional patching to deal with this
problem will undoubtedly be required....

[src/gsmalloc.c]

2002-01-17T17:01:38.000000Z lpd


Fix: Work around an apparent Acrobat Reader 5 bug -- it gives an error for
images with a color-key mask, at least for 1-bit-deep images using an
Indexed color space -- by converting the image to an ordinary masked image.
Fixes a PCL->PDF problem reported by a customer.

[src/gdevpdfi.c]

2002-01-17T06:07:01.000000Z dancoby

Fix for #474544.  This is the second of two fixes required for
this problem.  This fix creates a type 0 function which implements
a "color cube" for those tint transform functions which cannot be
converted into a type 4 function.  Customer #710.

Note:  There is one more revision planned for this effort.  This
revision will make the buildcolorcube operator into a more general
buildsampledfunction.  This will allow its use in other situations.

Note:  I forgot this module in the last commit.

[src/zccube.c]

2002-01-17T05:53:41.000000Z dancoby

Fix for #474544.  This is the second of two fixes required for
this problem.  This fix creates a type 0 function which implements
a "color cube" for those tint transform functions which cannot be
converted into a type 4 function.  Customer #710.

Note:  There is one more revision planned for this effort.  This
revision will make the buildcolorcube operator into a more general
buildsampledfunction.  This will allow its use in other situations.

[src/zcsdevn.c src/int.mak lib/gs_lev2.ps src/zfunc.c src/ifunc.h]

2002-01-17T05:13:24.000000Z lpd


Fix: pdfwrite incorrectly handled Metrics[2] and CDevProc by writing Widths
that differed from the widths in the underlying font.  pdfwrite now
positions characters individually in this case, like Acrobat Distiller.
Fixes SourceForge #495414.

[src/gdevpdfs.c src/gdevpdff.c src/zchar1.c src/gxfont.h src/gdevpdff.h]

2002-01-17T00:02:42.000000Z igorm

FAPI project : Implementing Type 2 fonts.

[lib/FAPIconfig lib/gs_fapi.ps src/zfapi.c]

2002-01-16T19:43:48.000000Z igorm

FAPI project : Improve Type 42 processing.

[lib/gs_fapi.ps src/zfapi.c]

2002-01-16T16:09:20.000000Z lpd


Fix: On IA64 CPUs, objects were only aligned on 8-byte boundaries, not
16-byte.  (It may be that only jmpbuf structures actually need 16-byte
alignment, but gcc and glibc malloc align all objects that way.)  Fixes
SourceForge bug #502866.  Also cleans up some minor coding issues in
genarch.c.

[src/gxobj.h src/std.h src/gsmalloc.c src/genarch.c]

2002-01-16T16:05:54.000000Z lpd


Fixes a couple of minor formatting errors.

[doc/C-style.htm]

2002-01-15T23:07:02.000000Z lpd


Fix: the prototype for pdf_text_process was in a .c file rather than a .h
file.

[src/gdevpdft.c src/gdevpdff.h]

2002-01-15T04:44:09.000000Z rayjj

Fix: Don't signal invalidacces if the OutputFile parameter is set
to the current value as would be done by 'currentpagedevice
setpagedevice'.

[src/gdevcgm.c src/gdevprn.c src/gdevmac.c]

2002-01-12T20:09:55.000000Z lpd


Makes the cos_array_reorder procedure private (which it should have been
from the beginning).

[src/gdevpdfo.c src/gdevpdfo.h]

2002-01-12T19:49:00.000000Z igorm

Fix: ReleaseDC was missed in Windows client applications.
SourceForge bug #499903.

[src/dwmain.c src/dwmainc.c]

2002-01-12T02:55:14.000000Z Ralph Giles

Documents ICCSRCDIR along with the other platform-specific defines.

[src/gs.mak]

2002-01-11T05:09:22.000000Z dancoby

Fix for #474544. Corrects inability to convert valid DeviceN tint
transform functions into type 4 functions.  Valid operator names were
not being recognized unless the tint transform function had been
bound.  One of two fixes required for this problem.  Customer #710.

[src/zshade.c src/int.mak src/zfunc0.c src/zfunc.c src/zfunc3.c src/ifunc.h src/zfunc4.c]

2002-01-11T04:58:59.000000Z Ralph Giles

Adds basic documentation on using the ./configure script.

[doc/Make.htm doc/Release.htm]

2002-01-11T04:13:12.000000Z Ralph Giles

Updates the extension of the golfer and tiger example files to '.eps' in
the install target. Also updates some documentation in source file comments.

[src/gserver.c lib/stocht.ps src/gdevcdj.c src/unixinst.mak src/gdevhl7x.c]

2002-01-11T02:27:59.000000Z lpd


Fix: The double-inclusion protection for two header files didn't use the
standard method.

[src/scommon.h src/scfx.h]

2002-01-10T23:11:20.000000Z Ralph Giles

Removes the check for an install program, since it unfortunately
errors out if the local fallback install-sh script from automake
isn't present. We continue to use src/instcopy in any case. Also
some minor cleanup.

[src/configure.ac autogen.sh .cvsignore /trunk/gs]

2002-01-10T23:07:59.000000Z Raph Levien

Adds fuzzy image comparison utility, used in regression testing.

[toolbin/regression/fuzzy.c]

2002-01-10T22:21:34.000000Z Ralph Giles

Changes the extension of the tiger and golfer example files to '.eps' to
accurately reflect their internal filetype.

[doc/Make.htm examples/tiger.ps examples/golfer.ps doc/Devices.htm examples/tiger.eps doc/Psfiles.htm examples/golfer.eps]

2002-01-10T21:57:08.000000Z Ralph Giles

Fix: Operators "clear" and "cleardictstack" should not be used in EPS files.
Patch from Hideyuki Suzuki.

[examples/tiger.ps examples/golfer.ps]

2002-01-10T19:12:27.000000Z lpd


Prevent any attempt to set .EmbedFontObjects (like CoreDistVersion).

[src/gdevpdfp.c]

2002-01-10T17:10:49.000000Z lpd


Improves the description of .EmbedFontObjects.

[doc/Language.htm]

2002-01-10T02:37:40.000000Z Russell Lang

Change the unstopped error handler to print the operand stack
in the same order as the normal error handler, with the top of
the stack at the right.  Fixes Sourceforge bug #496440.

[lib/gs_init.ps]

2002-01-09T23:26:05.000000Z lpd


Fix: gdevpdfc.h and gdevpdfk.c weren't listed in Develop.htm.

[doc/Develop.htm]

2002-01-09T22:03:01.000000Z lpd


decrpyt.ps *still* didn't have a correct RCS 'Id' line.

[lib/decrypt.ps]

2002-01-09T22:01:45.000000Z lpd


decrypt.ps had an incomplete RCS 'Id' line.  Completes the fix for
SourceForge bug # 500922.

[lib/decrypt.ps]

2002-01-09T21:48:00.000000Z Ralph Giles

Fix: ifont.h requires gsmatix.h and gxfont.h for clean compilation. Not having
them was a warning on gcc, but an error on Borland CBuilder 5.5. Thanks to
Rod Webster for the fix. Closes Sourceforge bug #474246.

[src/iccfont.c]

2002-01-09T21:04:21.000000Z Ralph Giles

Fix: some files were missing the RCS 'Id' line with the last modification date.
partial fix for Sourceforge bug #500922.

[src/gp_macio.c src/gdevdsp2.h src/gp_mac.c src/zicc.c src/macsystypes.h src/gdevmacttf.h src/gdevmacpictop.h src/gp_mac.h src/gdevdsp.c src/macsysstat.h src/gdevhpij.c src/gdevdsp.h src/dwnodll.c src/gdevmacxf.c src/gdevhpij.h src/gdevmac.c src/vms_x_fix.h doc/index.html src/idisp.c src/gdevphex.c src/gdevmac.h]

2002-01-09T20:35:32.000000Z Ralph Giles

Fix: some files were missing the RCS 'Id' line with the last modification date.
partial fix for Sourceforge bug #500922.

[lib/viewjpeg.ps lib/printafm.ps lib/landscap.ps lib/acctest.ps lib/level1.ps lib/decrypt.ps lib/pf2afm.ps]

2002-01-09T20:20:27.000000Z Ralph Giles

Fix: prefer 'src' over '.' for the spurious local include line for zlib.
Thanks to Peter Deutsch for the suggestion.

[src/configure.ac]

2002-01-08T17:49:38.000000Z lpd


Adds a check that there are no files other than links or directories in the
top-level directory.

[toolbin/checksource.py]

2002-01-08T11:46:14.000000Z igorm

FAPI project : Define new device parameter .EmbedFontObjects to disable FAPI
for devices which embed fonts.

[doc/Language.htm]

2002-01-08T11:11:24.000000Z igorm

FAPI project : Define new device parameter .EmbedFontObjects to disable FAPI
for devices which embed fonts.

[lib/gs_resmp.ps src/gdevpdfp.c doc/Use.htm lib/gs_fapi.ps src/zfapi.c lib/gs_cidfm.ps]

2002-01-08T08:21:51.000000Z lpd


Adds a very modest checksource script for checking the conformance of source
files with coding and architectural standards.  This script should
eventually be run as part of nightly regression testing.

[toolbin/checksource toolbin/checksource.py doc/Release.htm toolbin/pre.tcl]

2002-01-08T07:21:54.000000Z lpd


Makes tmake a shell script rather than a link, as is done with all the other
tcl scripts.

[toolbin/tmake]

2002-01-06T06:56:02.000000Z Ralph Giles

Adds and rcs line to the autogen script.

[autogen.sh]

2002-01-06T00:12:03.000000Z Ralph Giles

Fix: the configure script was setting ZSRCDIR to the empty string in
the case where SHARE_ZLIB=1, causing a syntax error on the libpng
command line. It is now set to a harmless default

[src/configure.ac]

2002-01-04T05:47:50.000000Z Ralph Giles

Adds basic support for GNU autoconf to the build system.

[src/Makefile.in src/configure.ac autogen.sh .cvsignore /trunk/gs]

2002-01-04T03:52:25.000000Z Ralph Giles

Adds some brief documentation about using the framework build of ghostscript
with MacOS X.

[doc/API.htm]

2002-01-03T20:09:46.000000Z jackiem

Fix: Some gsapi functions were not passing the user_errors argument
to the corresponding gs_main_run_string_* functions, and instead, these
functions were passing 0.

[src/iapi.c]

2002-01-03T17:51:05.000000Z igorm

FAPI project : Implementing the horizontal/vertical glyph substitution.

[src/ifapi.h src/fapiufst.c src/zfapi.c]

2002-01-03T14:16:18.000000Z igorm

FAPI project : Fixing CIDDecodings and QUIET.

[lib/gs_ciddc.ps src/fapiufst.c lib/gs_fapi.ps src/zfapi.c]

2002-01-02T07:24:07.000000Z igorm

FAPI project : implementing CDevProc and CIDDecoding.

[src/ifapi.h lib/gs_ciddc.ps src/int.mak src/fapiufst.c lib/gs_fapi.ps src/zfapi.c]

2002-01-02T06:44:01.000000Z igorm

FAPI project : Provide a disk/embedded font recognition for CID fonts.

[lib/gs_fonts.ps lib/gs_fapi.ps]

2002-01-01T23:08:56.000000Z lpd


Fix: Dictionaries in binary object sequences (a non-standard feature) could
cause an invalidaccess error if any of the keys or values were names.

[src/iscanbin.c]

2002-01-01T23:08:28.000000Z lpd


Fix: The previous fixes for writing binary objects were incorrect, probably
because an incorrect comment misled the author.  Fixes SourceForge #490914.

[lib/gs_btokn.ps]

2001-12-31T22:43:35.000000Z lpd


Fix: A "\" should have been a "\e" for troff.  (fix from Nelson Beebe)

[man/ansi2knr.1]

2001-12-28T18:53:03.000000Z igorm

FAPI project : Making set_char_width to be public to access from FAPI client.

[lib/gs_cmap.ps src/gxfcmap.h src/gdevpsfm.c]

2001-12-22T07:24:50.000000Z masata-y

Fix: T* applied the leading horizontally when using a font in
vertical writing mode, but the PDF Reference says the leading is
always applied vertically.

[lib/pdf_ops.ps]

2001-12-22T00:44:01.000000Z rayjj


Improve security for device related access to the file system and
to pipes by allowing the dangerous parameters to be locked (for
example, OutputFile). The locking is performed after command line
parameters are established. Locking is not turned on by default
as a result of this change, but -d.LockSafetyParams=true can be
added to the command line to accomplish this. Related to SF bug
#474582 (sort of).

[src/gdevcgm.c src/gsdparam.c src/gxdevice.h src/gdevvec.c src/gdevprn.c src/gdevmac.c doc/Language.htm lib/gs_setpd.ps src/zdevice.c src/gxdevcli.h src/zdevice2.c]

2001-12-20T22:17:59.000000Z igorm

FAPI project : Making set_char_width to be public to access from FAPI client.

[src/gxchar.c src/gxchar.h]

2001-12-19T22:13:08.000000Z Russell Lang

Remove C++ // comment from C file.

[src/gdevwdib.c]

2001-12-19T21:22:52.000000Z jackiem

Revert the accidental commit of this file.

[src/gdevxcmp.c]

2001-12-19T20:53:46.000000Z jackiem

Remove C++ style (//) comments from two files to increase portability.

[src/gdevxcmp.c src/gdevhpij.c src/gdevphex.c]

2001-12-19T11:49:44.000000Z igorm

Fix: The constraint for FontBBox to be non-zero was not conforming and now it is removed.
Suggested by L. Peter Deutsch.

[src/bfont.h src/zfcid0.c src/zfcid1.c src/zbfont.c]

2001-12-18T07:02:53.000000Z Russell Lang

Don't allocate memory or call callbacks when display device
does not have a callback function.

[src/gdevdsp.c]

2001-12-14T20:42:51.000000Z igorm

FAPI project : implementing WMode 1; Cleaning-up comments and formatting.

[src/ifapi.h src/fapiufst.c src/zfapi.c]

2001-12-14T19:02:27.000000Z rayjj


Fix: Image Type 4 images processed with the Interpolate turned on (as from
-dDOINTERPOLATE) left an uninitialized variable that could cause extensive
slowdown. Fix for SourceForge bug #491308 for Artifex customer 671.

[src/gxiscale.c]

2001-12-13T19:27:18.000000Z igorm

FAPI project : Removing a trash code from lib/FAPIfontmap .

[lib/FAPIfontmap]

2001-12-13T18:24:05.000000Z lpd


Fix: For images specified in general CIEBased color spaces, pdfwrite would
divide the image into tiny rectangles.  If the output level is PDF 1.3 or
higher, pdfwrite now converts the CIEBased color space to an ICCBased space
if possible.

[src/gdevpdfc.c src/gdevpdfc.h src/devs.mak src/gdevpdfk.c]

2001-12-13T18:12:17.000000Z lpd


Updates the comment describing the AK makefile variable to reflect the fact
that ansi2knr no longer exists.

[src/gs.mak]

2001-12-13T18:11:09.000000Z lpd


Finishes removing support for pre-ANSI (a.k.a. "traditional" or "K&R") C
compilers.

[src/ccgs doc/Make.htm doc/Develop.htm src/unixtrad.mak src/stdpre.h]

2001-12-13T07:07:45.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/ibnum.c

 Corrected syntax error

----------------------------------------------------------------------

[src/ibnum.c]

2001-12-12T23:02:08.000000Z igorm

FAPI project : implementing CID fonts with FAPI.

[lib/gs_resmp.ps lib/gs_ciddc.ps doc/Use.htm lib/FAPIcidfmap lib/cidfmap lib/FAPIfontmap lib/FAPIconfig lib/xlatmap lib/gs_fapi.ps lib/gs_cidfm.ps]

2001-12-12T16:45:09.000000Z igorm

Fix: WMode 1 did not work for CIDFontType 2.
SourceForge bug #91713.
Patch from Mr. Toshiya Suzuki.

[src/zchar42.c]

2001-12-12T02:48:20.000000Z igorm

FAPI project :
Preparing environment for CID font processing;
Fixing UFST file names.

[src/lib.mak lib/gs_ciddc.ps src/gxfapi.c src/zfcid0.c src/int.mak lib/gs_cidcm.ps lib/gs_cidfn.ps]

2001-12-09T00:07:57.000000Z lpd


Updates pdfwrite to match Acrobat Distiller 5 more closely: adds
OffOptimizations and PreserveEPSInfo parameters; adds /ebook value for
PDFSETTINGS; changes some of the DCTEncode parameter values for
auto-filtered images; adds CreationDate and ModDate in Info dictionary;
always subsets non Type 1 fonts.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c doc/Ps2pdf.htm src/gdevpdfu.c src/gdevpdfe.c src/gdevpsdi.c lib/gs_pdfwr.ps]

2001-12-09T00:03:37.000000Z lpd


Fix: CIE color conversion could be very inaccurate if it didn't use
interpolation when cached sampled values were near zero.  This fix detects
numerically sensitive areas and uses interpolation (which is computationally
expensive) only in those areas.  Fixes SourceForge #465921.

[src/gscie.h src/gdevpdfc.c src/gscrd.c src/zcrd.c src/gsciemap.c src/gscie.c src/zcie.c]

2001-12-08T15:43:07.000000Z lpd


Fix: ps2ascii was broken (probably for a long time) because it still used
NOBIND rather than DELAYBIND.  Fixes SourceForge #485029.

[lib/ps2ascii.ps lib/ps2ascii.cmd lib/ps2ascii.bat lib/ps2ascii]

2001-12-08T15:41:28.000000Z lpd


Fixes minor problems with the English introduced by the most recent change.

[doc/Use.htm]

2001-12-08T11:31:20.000000Z igorm

Implementing a mapped resource category redefiner;
Provide a map for CIDFont category;
Reorganize the mapping algorithm for FAPI.

[lib/gs_resmp.ps doc/Use.htm src/int.mak lib/FAPIcidfmap lib/cidfmap lib/gs_res.ps lib/FAPIfontmap lib/gs_fapi.ps lib/gs_cidcm.ps src/zfile.c lib/gs_cidfm.ps lib/gs_typ42.ps lib/gs_type1.ps lib/gs_cidfn.ps]

2001-12-07T07:16:42.000000Z lpd


Adds extensionless aliases for all the scripts used in the normal build
process; renames pre as pre.tcl; adds an Id line to smoke.ps; updates
documentation to match.

[toolbin/tmake.tcl toolbin/pre toolbin/makehist.tcl toolbin/makegnu toolbin/makefonts toolbin/maketars.tcl toolbin/makeset toolbin/makemaster toolbin/makewin toolbin/hrefcov toolbin/smoke.ps toolbin/cvs2hist toolbin/makehist doc/Release.htm toolbin/pre.tcl toolbin/maketars toolbin/gsmake toolbin/makefonts.tcl toolbin/makemaster.tcl toolbin/makeset.tcl toolbin/makewin.tcl]

2001-12-07T05:41:59.000000Z lpd


Fix: Repairs code problems with the fix for bug #224056: non-re-entrant
code, bad formatting, unused variables and computations, and a missing
#include.

[src/int.mak src/zcolor2.c]

2001-12-07T04:28:34.000000Z lpd


Fix: Ghostscript didn't match a bug in Adobe's interpreters, which byte-swap
native reals in binary object sequences iff the native real format is IEEE.
(The PLRM says native reals should never be byte-swapped.)  Fixes
SourceForge bug #489478.

[src/ibnum.h src/iscanbin.c]

2001-12-06T04:16:27.000000Z lpd


Adds additional documentation about continuations on the PostScript e-stack.

[src/estack.h doc/Develop.htm]

2001-12-06T01:45:58.000000Z lpd


Adds more documentation about when the garbage collector can be invoked.

[doc/Develop.htm]

2001-12-04T23:48:45.000000Z lpd


Fix: The regression tests contained 4 separate copies of the parameter sets
for the Ghostscript command line, which had to be kept consistent manually.

[toolbin/regression/gsparamsets.py toolbin/regression/make_testdb toolbin/regression/update_baseline toolbin/regression/run_regression toolbin/regression/revert_baseline]

2001-12-04T00:02:09.000000Z Ralph Giles

Adds xml property/version file for MacOS X Framework build.

[lib/Info-macos.plist]

2001-11-29T17:35:22.000000Z rayjj

Fix: Previous update created a syntax error with unbalanced ( ). Also
remove deprecated crashfiles reference.

[toolbin/regression/run_regression]

2001-11-25T07:52:55.000000Z Ralph Giles

Fix: remove unnecessary include in dxmainc.c.

[src/dxmainc.c]

2001-11-25T07:17:23.000000Z Ralph Giles

adds documentation for the MacOS X framework build.

[doc/Make.htm]

2001-11-25T06:42:59.000000Z Ralph Giles

Fix: makes png the default device on macos which is better supported than the pbm.

[src/macosx.mak]

2001-11-25T01:02:51.000000Z lpd


Fix: Setting any of the pdfwrite xxxProfile "distiller" parameters caused a
garbage collection error.

[src/gdevpsdp.c]

2001-11-23T05:05:06.000000Z lpd


Fix: run_regression included a large amount of duplicated "boilerplate" code
that made it hard to read and that obscured the fact that run_regression
parallels several other files.

[toolbin/regression/run_regression]

2001-11-23T04:45:34.000000Z lpd


Fix: The usage comment omitted the option of providing the name of the test
data base file.

[toolbin/regression/dump_testdb]

2001-11-23T04:38:59.000000Z lpd


Fix: None of the regression test scripts had copyright notices.

[toolbin/regression/make_two_versions toolbin/regression/gstest.py toolbin/regression/make_testdb toolbin/regression/run_nightly toolbin/regression/update_baseline toolbin/regression/run_regression toolbin/regression/gssum.py toolbin/regression/gsconf.py toolbin/regression/revert_baseline toolbin/regression/dump_testdb]

2001-11-23T04:31:47.000000Z lpd


Fix: The regression scripts didn't include a CVS Id line, so it was
impossible to tell what version of the script one was looking at; the
scripts were also public-writable.

[toolbin/regression/make_two_versions toolbin/regression/gstest.py toolbin/regression/make_testdb toolbin/regression/run_nightly toolbin/regression/update_baseline toolbin/regression/run_regression toolbin/regression/gssum.py toolbin/regression/gsconf.py toolbin/regression/revert_baseline toolbin/regression/dump_testdb]

2001-11-22T18:48:51.000000Z lpd


Fix: The min, max, and unread procedures were not clearly marked as being
deprecated.

[lib/gs_init.ps]

2001-11-22T07:29:48.000000Z Ralph Giles

Adds makefile support for building ghostscript as a MacOS X 'Framework'
format encapsulated shared library. The new build is invoked by copying
macosx.mak to the top level directory and invoking 'make framework'.

[src/macosx.mak src/macos-fw.mak]

2001-11-22T05:56:51.000000Z lpd


Fix: gs_purge_font_from_char_caches wasn't declared in any header file.

[src/gxfcache.h src/gsfont.c]

2001-11-22T05:41:05.000000Z lpd


Fix: The private procedure dsc_is_section was not declared dsc_private.

[src/dscparse.c]

2001-11-22T05:38:27.000000Z lpd


Fix: The private procedure gs_get_colorname_string was not declared private.

[src/zcsdevn.c]

2001-11-22T05:14:55.000000Z lpd


Fix: Removes an unused variable.

[src/gsfcmap.c]

2001-11-22T05:10:01.000000Z lpd


Fixes a %ld format with an int argument.

[src/gdevpsu.c]

2001-11-22T05:05:41.000000Z lpd


Fix: Removes 2 undefined variables.

[src/gsdevice.c]

2001-11-22T05:04:24.000000Z lpd


Fixes a compiler warning and several minor formatting inconsistencies.

[src/zmedia2.c]

2001-11-22T05:01:40.000000Z lpd


Fix: There was an unused variable 'code'; 'divide' was misspelled 'devide';
there was a && without enclosing parentheses within a ||.

[src/gxshade1.c]

2001-11-22T04:57:21.000000Z lpd


Fix: There were 3 unused declarations of the variable 'buf'.

[src/ziodevsc.c]

2001-11-22T04:55:31.000000Z lpd


Fix: lineedit_open and statementedit_open were declared "static" but not
defined.  (These procedures are no longer used.)

[src/ziodev.c]

2001-11-21T22:14:22.000000Z lpd


Fix: Reading from /dev/random can cause long blocking on Solaris 8, so we
only attempt it (on all systems) if non-blocking I/O is available, and we
try /dev/urandom first.  Fixes SourceForge #482048.

[src/gdevpdf.c]

2001-11-21T18:40:07.000000Z igorm

Fix: "gs --help" accessed an uninitialized pointer gs_main_instance::i_ctx_p.
Source Forge bug #482271.

[src/imain.c src/iapi.c]

2001-11-20T13:41:41.000000Z igorm

FAPI project: fixing misspelled keyword in Use.htm .

[doc/Use.htm]

2001-11-16T22:45:25.000000Z lpd


Fix: If the initial device couldn't be opened, the error message indicating
this wasn't being printed, because of a missing 'flush'.  Fixes SourceForge
#481600.

[lib/gs_init.ps]

2001-11-16T22:30:40.000000Z lpd


Fix: "Native float" binary tokens and homogenous number arrays failed to
ignore the big/little-endian bit in the format field, causing them to
(usually) read incorrectly on little-endian systems.  (bug reported by
Pierre Arnaud)

[src/ibnum.h src/ibnum.c]

2001-11-15T08:27:37.000000Z igorm

Fix: The change v.1.14 had broken the branch of the font loader, which
works for the case of unequal font names in the font file and in the
font map. SourceForge bug 474581. Also cleans up potential stack
imbalance present since 1.1.

[lib/gs_fonts.ps]

2001-11-15T04:30:25.000000Z rayjj


Fix: showpagecontents needs to be wrapped in a gsave/grestore as rev
1.23 indicates, but we can't wrap around the .pushpdf14devicefilter
or the grestore will change the device back to the original and clear
the page. Fixes SourceForge bug #476821 for Artifex customer 870.
Also clean up some non-standard indentation in the area.

[lib/pdf_main.ps]

2001-11-13T23:12:53.000000Z igorm

FAPI project: fixing memory management problems and missing closepath
importing outlines from UFST.

[src/fapiufst.c src/zfapi.c]

2001-11-12T22:31:27.000000Z lpd


Adds a requested enhancement: pdfwrite should emit warnings when
appropriate.

[doc/Projects.htm]

2001-11-12T22:15:19.000000Z dancoby

Fix for 473305 and a revised fix for 422534.  The fix for 422534 caused
a problem detected by the regression testing.  This was found with test
file 035-01.ps.  Both problems were caused by an error in the logic for
comparing two halftones for equality.  This logic is used to determine
which the halftone cache needs to be reloaded.  In both cases, non equal
halftones were being considered equal.

[src/gxcht.c src/gsdcolor.h src/gxdcolor.c src/gxclrast.c]

2001-11-11T23:09:16.000000Z igorm

FAPI project : (1) upgrading with UFST 4.3, (2) implementing GS cache.

[src/ifapi.h src/gxfapi.c src/int.mak src/fapiufst.c src/gxfapi.h lib/gs_fapi.ps src/zfapi.c]

2001-11-09T18:04:01.000000Z jackiem

Remove hardcoded paths from run_regression and eliminate need for external
command 'md5sum'.  We now use the 'md5' python module which does the same
thing.

[toolbin/regression/run_nightly toolbin/regression/run_regression toolbin/regression/gssum.py]

2001-11-07T18:00:09.000000Z rayjj

Fix: Trailing comma in structure (compile error on AIX).

[src/gxfcmap.h]

2001-11-07T07:48:57.000000Z lpd


Changes uses of 'defined' as an identifier to 'is_defined', since 'defined'
is a (non-standard) reserved word in gcc 2.96.  (Patch from Red Hat.)

[src/gsdparam.c src/gdevcdj.c]

2001-11-06T22:40:05.000000Z rayjj

Fix: Image DataSource procedures that did save/restore would clear the
tile cache which was not detected in image_render_mono resulting in
images being painted with (mostly) all black when the device was a
halftoned device e.g. pcxmono or tiffg3. Check for vailidity of the
ht_cache and re-init the image color clues if not valid. Also improve
performance by preventing restore from always clearing the ht_cache.
Fixes SourceForge bug #436897 for Artifex customer #710.

[src/gximono.c src/gzht.h src/gximage.h src/gxipixel.c src/gxht.c src/gsstate.c]

2001-11-06T22:02:33.000000Z igorm

Improvement for FAPI project :
Splitting set_cache_device in 2 parts to allow computing
the oversampling scale prior to zchar_set_cache.

[src/gxchar.c src/gxchar.h]

2001-11-06T17:34:30.000000Z lpd


Fix: Repeated use of the same color space wrote multiple ColorSpace
resources rather than a single one.  Fixes the pdfwrite part of SourceForge
bug #475219: separate changes to pdf_draw.ps and pdf_ops.ps fix the
interpreter part of the bug.

[src/gdevpdfc.c]

2001-11-06T17:33:08.000000Z lpd


Fix: Setting the same PDF color space repeatedly generated new PostScript
color spaces, stressing the garbage collector.  Fixes the PDF interpreter
part of SourceForge bug #475219: a separate change to gdevpdfc.c fixes the
pdfwrite part of this bug.

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

2001-11-06T04:47:37.000000Z lpd


Refactors the CIEBased color mapping code slightly to make the CIE => XYZ
step separately accessible.  (The XYZ => device step is already exported for
rendering ICCBased color.)  pdfwrite needs this for converting arbitrary
CIEBased spaces to ICCBased.

[src/gscie.h src/gxcie.h src/gsciemap.c src/gscie.c]

2001-11-05T14:44:44.000000Z jackiem

Remove unused parts of code and cleanup constants for CVS.

[toolbin/regression/run_nightly]

2001-11-05T14:40:52.000000Z jackiem

This is the regression testing suite for Ghostscript.

[toolbin/regression/make_two_versions toolbin/regression toolbin/regression/gstest.py toolbin/regression/run_nightly toolbin/regression/make_testdb toolbin/regression/run_regression toolbin/regression/update_baseline toolbin/regression/gssum.py toolbin/regression/gsconf.py toolbin/regression/revert_baseline toolbin/regression/dump_testdb]

2001-11-02T02:16:50.000000Z Ralph Giles

Replaces references of 'FontManagerLib' with 'FontManager' to match the Universal Headers
stub shipped with Metrowerks CW 6.3. Also disables the warning about unused arguments
since we have a lot of those be design and they accounted for the majority of the
warning output on CodeWarrior. The macos shlib now builds and works 'out of the box'.

[src/macgenmcpxml.sh]

2001-10-31T07:10:59.000000Z lpd


Fix: lib.mak failed to include the dependency of gxdevcli.h on gstparam.h.

[src/lib.mak]

2001-10-30T20:55:11.000000Z igorm

Build and use documentation for the FAPI project.

[doc/Use.htm doc/Make.htm]

2001-10-30T19:43:51.000000Z lpd


Improves organization and commenting; adds a --warn-all switch.

[toolbin/tmake.tcl]

2001-10-29T23:49:57.000000Z lpd


Fixes a comment: invoking definefont on a dictionary that already has a FID
entry is, in fact, legal in LanguageLevel 2 and above.

[src/zbfont.c]

2001-10-26T16:28:02.000000Z Raph Levien

Fix: Change show_enum pointer enumeration to properly enumerate
underlying gs_text_enum structure.

[src/gxchar.c]

2001-10-25T22:02:11.000000Z lpd


Fix: the recent (previous) update to tmake.tcl omitted a line, which caused
the detection of out-of-date files to stop working.

[toolbin/tmake.tcl]

2001-10-25T21:17:16.000000Z lpd


Fix: the icclib makefile comments were out of date; the build rule referred
to gs_stdio_h, which no longer exists; the build rule for gsicc.o referred
to icc_h, which was not defined at that point.

[src/lib.mak src/gs.mak src/icclib.mak]

2001-10-25T04:38:34.000000Z lpd


Takes a small step towards fully ANSIfied code by removing all ANSI-testing
uses of __PROTOTYPES__ from code with an Aladdin/artofcode copyright.

[src/gsroptab.c src/gsstruct.h src/gdevpdfg.c src/gdevprn.h]

2001-10-24T22:33:39.000000Z Ralph Giles

Adds a reference to the v7.xx History file.

[doc/gs.css doc/News.htm src/gdevmacxf.c src/gp_mac.c]

2001-10-24T22:22:35.000000Z Ralph Giles

Removes the admonishment to update PVERSION and JVERSION from the Makefile
documentation. The build dependencies were removed earlier to reduce user
confusion; they're currently vestigial in expectation of future build
incompatibilities. This is the second half of the fix for sf bug #457838.

[doc/Make.htm]

2001-10-24T08:10:26.000000Z igorm

FAPI project: improving error handling.

[src/lib.mak]

2001-10-24T06:36:53.000000Z lpd


Upgrades tmake to provide line numbers for undefined variables; improves the
warning message for redefined variables; makes --warn-undefined-variables
warn at every use of a variable, not just the first use, and adds
--warn-undefined-variables-once to warn at only the first use.

[toolbin/tmake.tcl]

2001-10-24T05:45:55.000000Z lpd


Fix: tmake recognized the end of a rule body by a blank line, rather than by
a line that didn't begin with a tab.  Fixes SourceForge #415170.

[toolbin/tmake.tcl]

2001-10-22T16:22:29.000000Z igorm

FAPI project: improving error handling.

[src/ifapi.h src/fapiufst.c lib/xlatmap lib/gs_fapi.ps src/zfapi.c]

2001-10-21T19:10:29.000000Z igorm

FAPI project, UFST only, Type 1 and Type42 fonts.
This version supports disk fonts including FCOs,
and embedded fonts, including incremental ones.

[src/iplugin.h src/ifapi.h src/gxfapi.c src/fapiufst.c src/gxfapi.h lib/xlatmap src/iplugin.c lib/gs_fapi.ps src/zfapi.c]

2001-10-21T18:57:41.000000Z igorm

FAPI project, UFST only, Type 1 and Type42 fonts.
This version supports disk fonts including FCOs,
and embedded fonts, including incremental ones.

[src/openvms.mak src/genconf.c src/int.mak src/dvx-gcc.mak src/unixansi.mak src/unixtrad.mak src/gsmemraw.h src/openvms.mmk lib/gs_typ42.ps src/gconf.c src/lib.mak src/icontext.c src/bcwin32.mak src/imain.c src/iconf.c src/gs.mak lib/gs_fonts.ps src/icstate.h src/zbfont.c src/msvc32.mak src/unix-gcc.mak src/gxfont.h src/winlib.mak lib/gs_type1.ps]

2001-10-21T06:20:08.000000Z lpd


Changes all procedures for getting glyph outline data to return a structure
that includes memory management information.  This is a
NON-BACKWARD-COMPATIBLE change to both implementors and clients.  It
corrects a serious design error: formerly these procedures encoded memory
management information in their return code, which was obscure and
error-prone.

[src/ichar1.h src/zfcid0.c src/gdevpsf1.c src/gsgdata.h src/gdevpsf2.c src/gxfont42.h src/zfcid1.c src/gstype42.c src/gdevpsft.c doc/Develop.htm src/gdevpsfu.c src/icharout.h src/gdevpsfx.c src/zchar1.c src/ifont42.h src/gxfont1.h src/lib.mak src/gstype1.c src/gstype2.c src/zcharout.c src/gsfcid.c doc/News.htm src/gstype1.h src/gxtype1.c src/gdevpsf.h src/zfont42.c src/gxtype1.h src/gxfcid.h src/gxfont.h src/gsgdata.c]

2001-10-21T06:02:21.000000Z Raph Levien

Fix: uses concrete color space of alternate color space, rather than
simply alternate color space, to determine target color space for
concretizing /All colors. Fixes regression of
non-sepqxd2distiller.pdf, for which those color spaces differed.

[src/gscsepr.c]

2001-10-21T02:08:20.000000Z lpd


Advises coders not to "shadow" a local variable or procedure parameter with
an inner local variable of the same name.

[doc/C-style.htm]

2001-10-20T09:25:22.000000Z Raph Levien

Updates version number to 7.10 to indicate that this is now the
development branch.

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

2001-10-20T08:58:26.000000Z Raph Levien

Updates News.htm for 7.03 release. Automatically generated Changes and
History7 files. Also fixes small nit in makehist procedure.

[doc/Changes.htm doc/History7.htm doc/News.htm toolbin/makeset.tcl]

2001-10-20T08:45:39.000000Z Raph Levien

Updates default MSVC_VERSION to 6.

[src/msvc32.mak]

2001-10-20T08:44:31.000000Z Raph Levien

Documentation and version number change in preparation for 7.03 release.

[doc/History7.htm doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Maintain.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/Copying.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm lib/gs_init.ps man/gs.1 src/version.mak man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/New-user.htm doc/README doc/Bug-info.htm doc/Lib.htm doc/Tester.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 man/pdf2ps.1 man/ps2pdf.1 doc/News.htm doc/Make.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/Current.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 man/ps2pdfwr.1 doc/History4.htm doc/Ps2epsi.htm man/ps2ps.1 doc/History5.htm doc/History6.htm]

2001-10-20T08:22:05.000000Z Russell Lang

Use unbuffered read within gtk+ handler instead of using non-blocking
read.  While waiting for stdin, allow gtk main loop to block to avoid
wasting CPU.

[src/dxmain.c]

2001-10-19T21:52:51.000000Z Raph Levien

Updates icclib to version 2.0, and integrates icclib changes. In
particular, icclib now accesses Ghostscript streams through the
clean icmFile object interface, rather than previous hack. Removes
remnants of previous hack, including gs_stdio.h header file and
sread() and swrite() functions in stream.c.

[src/lib.mak icclib/icc.c src/gsicc.h icclib/Licence.txt src/gs_stdio.h icclib/icc.h icclib/NOTES src/gsicc.c icclib/Readme.txt src/stream.c icclib/icc9809.h]

2001-10-19T16:42:47.000000Z masata-y

Applied two patches reported in
http://www.ghostscript.com/pipermail/gs-code-review/2001-October/001255.html
by Hideyuki Suzuki / hideyuki at sat dot t dot u-tokyo dot ac dot jp.
pdf_font.ps: automatic substitution & transformation of CID-keyed fonts.
pdf_ops.ps: make spacings vertical when WMode is 1.

[lib/pdf_font.ps lib/pdf_ops.ps]

2001-10-19T04:20:08.000000Z Raph Levien

Syncs with hpijs version 0.97, and fixes a documentation bug.

[src/gdevhpij.c doc/Devices.htm]

2001-10-17T21:12:44.000000Z Russell Lang

When using STDIO_IMPLEMENTATION=, call gp_stdin_read with a file pointer, not a file handle.

[src/ziodevs.c]

2001-10-17T19:48:36.000000Z Raph Levien

Removes cheq.ps from list of example files installed.

[src/unixinst.mak]

2001-10-17T17:28:10.000000Z Raph Levien

Fix: Fixes reference counting for PDF 1.4 device filter stack.
Temporary patch to not free PDF 1.4 marking device for images (it
was being freed prematurely).

[src/gsdfilt.c doc/Issues.htm src/gdevp14.c]

2001-10-17T10:11:23.000000Z Russell Lang

When building gsx and gsc, use the GS makefile macro as the
shared library name to link against, not a hard coded gs.

[src/unix-dll.mak]

2001-10-16T22:20:31.000000Z dancoby

Fix for #471414.  Thanks to Leon Bottou for his excellent analysis and
fix for this problem.  Ghostscript was incorrectly handling a PDF shading
dictionary in which the /Function entry contained an array of function
dictionary references.  An additonal oforce was required in the array
processing loop.

[lib/pdf_draw.ps]

2001-10-15T21:44:42.000000Z Russell Lang

Proposed log message:
Fix: Callout implementation of %stdin, %stdout and %stderr
now correctly allocates the streams in system memory.
This avoids a crash during garbage collection seen during
frequent open/close of stderr..
Fixes SourceForge bugs #427316, #442477.

[src/ziodevsc.c]

2001-10-15T10:24:21.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/openvms.mmk

 OpenVMS needs
   target : sources
         ^
         this space is realy needed. Otherwise MMS/MMK chokes on it!!!!

----------------------------------------------------------------------

[src/openvms.mmk]

2001-10-14T01:28:05.000000Z igorm

Fix: Changing the hack in PDF font processing, which chooses
character width with encodings where the same character
appears more than once. New code takes width for character code
which appears in Differences.
Source Forge bugs #444366, #468389.

[lib/pdf_font.ps]

2001-10-12T21:41:25.000000Z Russell Lang

Fix: When the display device fails to allocate memory for the bitmap,
set the memory device width and height to zero to prevent drawing
on it.  Always call the display_size callback to prevent a lockup in
the caller, and if there is no memory tell the caller that the width
and height are zero.   Add some casts to remove compiler
warnings.  Fixes SourceForge bug #430879.

[src/gdevdsp.c]

2001-10-12T21:37:08.000000Z Russell Lang

Fixes for stdin as a result of using callouts.
Use unbuffered read, not non-blocking read.
Change gp_stdin_read to use file pointer not handle.
Remove gp_stdin_init since we don't need to set non-blocking.
Change gp_stdin.c to use fread/fwrite to be more portable.
Flush redirected stdout correctly.
Added casts to fix compiler warnings in dxmain.c.
Corrected header dependencies.
Fixes SourceForge bug #467787.

[src/openvms.mak src/dvx-tail.mak src/dxmain.c src/dwmainc.c src/dxmainc.c src/watc.mak src/os2.mak src/openvms.mmk src/gdevsppr.c src/gp_stdia.c src/gxclutil.c src/imain.c src/idebug.c src/igc.c src/unix-aux.mak src/macos-mcp.mak src/gp_stdin.c src/dpmain.c src/winlib.mak src/unistd_.h src/gp.h]

2001-10-12T11:10:37.000000Z Russell Lang

If gtk+ GUI can't be initialised, disable display device.
This allows gsx to be used without an X display.
Partial fix for SourceForge bug #450933.

[src/dxmain.c]

2001-10-12T08:55:24.000000Z igorm

Fix : More error tolerance in type2 charstring interpreter.
2/2 fix for Source Forge bug #468389 "rangecheck in type2execchar".
Thanks to L. Peter Deutsch for participation and for the comment in code.

[src/gstype2.c]

2001-10-12T08:52:14.000000Z igorm

Fix : Making GlobalSubrs to be shared for all descendent fonts within CFF CID font.
1/2 fix for Source Forge bug #468389 "rangecheck in type2execchar"

[lib/gs_cff.ps]

2001-10-12T07:07:54.000000Z rayjj


Fix: If LastPage was greater than the number of pages in the document,
a rangecheck was generated. Instead, limit LastPage (silently) to the
number of pages in the document. If FirstPage is past end of document,
issue a warning. Also, if no pages are processed due to FirstPage >
LastPage, give a clear error message. SourceForge bug #470025.

[lib/pdf_main.ps]

2001-10-11T17:55:32.000000Z igorm

Fixing inaccurate coding in Type 2 font processing :
when GlobalSubrs absents, old code damages useful information in
charstring_font_refs_s::GlobalSubrs, possibly causing indeterministic error.

[src/zfont2.c]

2001-10-09T20:17:23.000000Z lpd


Enhances -dDEBUG for encrypted PDF files to print strings after decryption.

[lib/pdf_sec.ps]

2001-10-09T18:01:17.000000Z rayjj


Fix: Undo previous 1.12 update. The PS file that exhibited the problem was
bad as was my testing against Adobe PS behaviour. Substituted fonts are
neither aliased, nor entered in the FontDirectory by Adobe PostScript.
Fixes regression bug with Genoa PS LL3 FTS test 313-01.ps.

[lib/gs_fonts.ps]

2001-10-07T05:33:11.000000Z lpd


Fix: pdfwrite allowed AutoRotatePages to override DSC comments rather than
vice versa, and it interpreted "Portrait" in a DSC orientation comment as
"don't rotate" rather than as "rotate if necessary so that width < height."
Fixes SourceForge #467259, although the result is not what the submitter
wanted.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c]

2001-10-06T03:27:57.000000Z rayjj


Fix: Correct inverted Decode cases of ImageType 4 color range masks
for the Monochrome single bit per pixel case. Fixes SourceForge bug
#462319 for Artifex customer #671.

[src/gxifast.c]

2001-10-05T18:25:16.000000Z rayjj


Fix: Pop the /None key in the SMask processing of the 'gs' in a PDF 1.4
document. Fixes SourceForge bug #459647 for Artifex customer Accusoft.

[lib/pdf_draw.ps]

2001-10-05T05:40:41.000000Z lpd


Fix: pdfwrite didn't set the orig_matrix of standard fonts, sometimes
causing re-encoded characters to be written with a width of 0.  Bug
introduced by fix for #439474, gdevpdff.c [1.19].  Fixes SourceForge
#463400.

[src/gdevpdff.c]

2001-10-03T17:24:23.000000Z jackiem

Added potential workaround for DCTEncode filter problem where the image
has less rows than requested.

[doc/Issues.htm]

2001-10-01T21:35:53.000000Z rayjj


Fix: When using a substitute for an unknown font, add an alias in
FontDirectory under the original requested font name.

[lib/gs_fonts.ps]

2001-10-01T21:33:05.000000Z rayjj

Remove this file which was referenced from chess.ps -- now it is included
in chess.ps to prevent errors when cheq.ps could not be located.

[examples/cheq.ps]

2001-10-01T21:28:25.000000Z rayjj


Fix: Clean up PostScript files in examples directory to prevent
spurious bug reports caused when running more than a sigle file
or running chess.ps without cheq.ps in the current directory.
Thanks to Russell Lang for cleanup on DSC comment and structure.

[examples/chess.ps examples/waterfal.ps examples/vasarely.ps examples/grayalph.ps examples/escher.ps examples/doretree.ps examples/tiger.ps examples/colorcir.ps examples/golfer.ps examples/alphabet.ps examples/snowflak.ps]

2001-10-01T21:16:47.000000Z Raph Levien

Fix: Fixes nontermination of triangle subdivision in shading, as
triggered by FTS 446-01.ps. The criterion for whether a triangle spans
more than one pixel was too conservative, as it took the fill adjust
into account.

[src/gxshade4.c]

2001-10-01T05:56:58.000000Z lpd


Fix: After removing a compiled font with undefinefont, loading the font or
asking for its resourcestatus left extra information on the stack.  Fixes
SourceForge #458818.

[lib/gs_res.ps]

2001-10-01T05:25:55.000000Z lpd


Adds a -dNOCCFONTS switch to disable use of compiled-in fonts.

[doc/Use.htm lib/gs_ccfnt.ps lib/gs_init.ps]

2001-09-28T23:18:46.000000Z rayjj


Fix: Don't omit zero length deltas when stroking so that linecap will
be produced by resulting PS or EPS file.  SourceForge bug #466162.

[src/gdevps.c]

2001-09-28T22:06:21.000000Z Russell Lang

Fix: bmp16 and png16 devices now create 4 bit/pixel bitmaps instead
of  8.  bmp256 and png256 devices now use dci values which match
the color mapping functions.

[src/gdevbmp.c src/gdevpng.c]

2001-09-28T22:04:03.000000Z Russell Lang

Fix: add missing file descriptor variable to stdin function of dxmainc.c.
Fixes SourceForge bug #465214.

[src/dxmainc.c]

2001-09-25T22:00:44.000000Z lpd


Fix: If "distiller" image compression options were changed in the middle of
a file, the parameter list holding them might not be set back to read mode
when using them to compress an image, causing an error.  Fixes SourceForge
#464938.

[src/gdevpsdi.c]

2001-09-24T10:47:06.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/gp_stdia.c gs/src/openvms.mmk gs/src/ziodevs.c

 patches for OpenVMS

----------------------------------------------------------------------

[src/ziodevs.c src/openvms.mmk src/gp_stdia.c]

2001-09-23T21:05:12.000000Z lpd


Fix: Some print statements for debugging were accidentally left in the code.

[toolbin/cvs2hist.py]

2001-09-23T20:43:16.000000Z lpd


Fix: The previous update to make cvs2hist use Python's re module rather than
the obsolete regex and regsub modules didn't change the code to use match
objects when necessary.  Finishes fixing SourceForge #462777.

[toolbin/cvs2hist.py]

2001-09-23T08:54:03.000000Z Russell Lang

Add new Windows and Unix platform files to developer documentation.

[doc/Develop.htm]

2001-09-23T04:45:10.000000Z lpd


Fix: cvs2hist no longer worked in Python 2.1 and later: the regex and regsub
modules were superseded by re, and append() no longer accepted multiple
arguments to create a tuple.  The fixes are backward compatible for all
versions of Python from 1.5 on.

[toolbin/cvs2hist.py]

2001-09-22T16:36:10.000000Z Raph Levien

Updates History and Changes from automated cvs2hist.py script, in
preparation for 7.02.

[doc/History7.htm doc/Changes.htm]

2001-09-22T16:27:04.000000Z lpd


Fix: pdfwrite failed to recognize several of the standard screen spot
functions: Ellipse, Round, and Diamond weren't implemented, and several of
the others didn't match the PostScript implementation because of
float/double discrepancies.  Also, pdfwrite wrote out halftone screens using
the adjusted ("actual") frequency and angle values rather than the requested
values.  Fixes SourceForge #446676.

[src/gdevpdfg.c src/devs.mak]

2001-09-22T16:26:22.000000Z Raph Levien

Updates version and date in documentation in preparation for 7.02
pre-release.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Maintain.htm man/ps2epsi.1 doc/Copying.htm doc/DLL.htm doc/Drivers.htm doc/Release.htm doc/PUBLIC man/gs.1 src/version.mak lib/gs_init.ps doc/Ps2pdf.htm man/printafm.1 doc/Helpers.htm doc/Bug-info.htm man/gsnd.1 man/pdfopt.1 doc/News.htm man/ps2pdf.1 man/pdf2ps.1 doc/Make.htm doc/Unix-lpr.htm doc/History1.htm doc/Current.htm doc/History2.htm man/wftopfa.1 doc/History3.htm man/ps2ps.1 doc/History4.htm doc/History5.htm doc/History6.htm doc/History7.htm doc/Readme.htm doc/Source.htm doc/Install.htm src/gscdef.c doc/API.htm doc/Issues.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm doc/Fonts.htm man/pf2afm.1 doc/Develop.htm man/pdf2dsc.1 doc/New-user.htm doc/Psfiles.htm doc/Tester.htm doc/Lib.htm doc/README doc/gs-vms.hlp doc/Htmstyle.htm man/font2c.1 doc/Ps-style.htm doc/C-style.htm man/gslp.1 doc/Ps2epsi.htm man/ps2pdfwr.1]

2001-09-22T16:15:43.000000Z Raph Levien

Improves poor performance of shadings in some cases, notably Coons01.ps.
Long, thin triangles are now cut in half, rather than into four smaller
triangles. Thus, the mesh is more regular.

[src/gxshade4.c]

2001-09-22T07:33:35.000000Z Russell Lang

Allow PostScript stdout to be redirected to stderr or a file.
This is required to avoid driver stdout being mixed with PostScript
stdout.  Options are -sstdout=filename or -sstdout=%stderr.
To reset redirection use -sstdout=- or -sstdout=%stdout.
Fixes Sourceforge bug #222534.

[src/imain.c doc/Use.htm src/imain.h src/imainarg.c src/iminst.h]

2001-09-22T07:26:46.000000Z Russell Lang

Fix: Prevent memory corruption when reading %statementedit.
Allocate lineedit buffer in correct memory space.
Line being assembled is stored in a PostScript string during
callouts, so prevent zfilelineedit from reading more than
max_string_size bytes.
Allocate extra space for trailing new-line for statementedit,
rather than fiddling the string length which broke when
sreadline reallocated the string.

[src/int.mak src/ziodev.c src/zfile.c]

2001-09-22T07:24:33.000000Z Russell Lang

Add the needed object files when building Windows large executable.

[src/msvc32.mak]

2001-09-22T07:22:48.000000Z Russell Lang

Don't initialize stdin if it is being handled by the caller.

[src/imain.c]

2001-09-22T07:21:00.000000Z Russell Lang

Correct makefile dependency for gsx/dxmainc.c.

[src/unix-dll.mak]

2001-09-22T07:16:50.000000Z Russell Lang

Correct the stdin code in dxmainc.c (gsc) to be the same as
gp_stdia.c.

[src/dxmainc.c]

2001-09-22T07:07:02.000000Z Russell Lang

Fix for MS-Windows graphics library.  Remove references to
interpreter from gp_check_interrupts function in library.  Make
gslib.c access gs_stdin not stdin.  Correct the build paths for
graphics devices.  Add missing graphics devices.

[src/gp_mslib.c src/gp_mspol.c src/gslib.c src/msvc32.mak src/gp_mswin.c src/msvclib.mak src/winlib.mak]

2001-09-19T07:12:13.000000Z Raph Levien

Updates pdf_sec.ps to use the new PDF 1.4 algorithms and 128 bit
keylengths. Rewritten to use C implementations of Arcfour (RC4
compatible cipher) and MD5. Also fixes bug in processing of
zero-length streams.

[lib/pdf_sec.ps]

2001-09-17T06:01:12.000000Z lpd


Fix: The sin and cos operators in Type 4 (PostScript Calculator) Functions
expected their argument in radians, not degrees.

[src/gsfunc4.c]

2001-09-15T09:17:10.000000Z Russell Lang

When using stdio callouts without callback functions,
flush stdout and stderr.

[src/imain.c]

2001-09-15T08:55:32.000000Z Russell Lang

Change all interpreter builds to use callouts for stdio.
Ghostscript library builds still use file based stdio.

[src/openvms.mak src/bcwin32.mak src/gs.mak src/watcw32.mak src/dvx-gcc.mak src/unix-gcc.mak src/watc.mak src/unixansi.mak src/unixtrad.mak]

2001-09-15T08:48:34.000000Z Russell Lang

Speed up reading stdin when using callouts.
Add platform-specific functions for reading stdin, to allow
non-blocking reading of stdin if supported.
Fixes Sourceforge bug #416973.

[src/openvms.mak src/dvx-tail.mak doc/Develop.htm src/dwmainc.c src/ziodevs.c src/watc.mak src/os2.mak src/gp_stdia.c src/imain.c src/unix-aux.mak src/macos-mcp.mak src/gp_stdin.c src/dpmain.c src/unistd_.h src/winlib.mak src/gp.h]

2001-09-15T08:36:53.000000Z Russell Lang

When using gswin32 (GUI version) and an error occurs or -? is used,
do not display an error message box.  Add a message to the text
window "Close this window with the close button on the title bar
or the system menu".  Flash the window to attract attention.
Fixes sourceforge bug #459019.

[src/dwtext.c src/dwmain.c]

2001-09-15T08:14:21.000000Z Russell Lang

When using the Unix Gtk+ loader gsx, delay setting the default color
map and visual until the display device is opened.  This may allow
gsx to be used when X11 is not available.
May fix Sourceforge bug #450933.

[src/dxmain.c]

2001-09-15T08:10:33.000000Z Russell Lang

The Unix shared object loader 'gsx' depends on Gtk+ which causes it
to fail in an environment where X11 and Gtk+ are not available.
Add a console only loader 'gsc' which does not depend on X11 or Gtk+.
This does not support the 'display' device.
Fixes sourceforge bug #450933.

[src/unix-dll.mak src/dxmainc.c]

2001-09-15T08:04:42.000000Z Russell Lang

Update documentation to describe how to build and install ghostscript
as a shared object on Unix.  Fixes sourceforge bug #444593.

[doc/Make.htm doc/Install.htm]

2001-09-15T07:11:00.000000Z masata-y

.objectprinttest: do one more pop if the operator is executed without
error.

.writeobjects: Before writing the header, check whether the written objects
are arrays or not. If they are arrays, they are left them on the stack.
If they are not arrays, they are removed from the stack.

[lib/gs_btokn.ps]

2001-09-15T06:12:29.000000Z lpd


Fix: Uncolored Patterns with all bits set (equivalent to a solid color)
crashed pdfwrite.  Fixes SourceForge #461330.

[src/gdevpdfv.c]

2001-09-14T20:26:02.000000Z Raph Levien

Fix: fixes bounds overstepping in arcfour filter in the case where
write buffer space is smaller than read buffer space.

[src/sarc4.c]

2001-09-14T04:23:11.000000Z lpd


Fix: Copying a parameter list failed to copy persistent aggregates if the
target list used a different allocator from the source list, possibly
causing crashes at 'restore'.  Fixes SourceForge #461007.

[src/gsparamx.c]

2001-09-14T00:40:04.000000Z lpd


Notes that ps2pdf may cause a limitcheck on PostScript files with
unreasonably large coordinates; suggests using -r as a workaround.  Responds
to SourceForge bug #461335.

[doc/Ps2pdf.htm]

2001-09-13T23:16:29.000000Z lpd


Fix: Running font2c on any of the 35 standard fonts caused an invalidaccess
error if gs was built with compiled fonts (ccfonts.dev "feature").
Fixes SourceForge #458816.

[lib/font2c.ps]

2001-09-06T16:01:23.000000Z rayjj

Move misplaced comment block.

[src/zvmem2.c]

2001-09-06T15:46:13.000000Z rayjj

Change to debug output so that when the ptr is totally bogus, some useful
output will be generated before otype->ssize is dereferenced (which can
cause a memory access crash such as SEGV). No effect on non-debug code.

[src/ilocate.c]

2001-09-05T22:47:27.000000Z Ralph Giles

Adds documentation for the -sPDFPassword command line option for
encrypted pdf files, introduced with the inclusion of pdf_sec.ps.

[doc/Use.htm]

2001-09-05T21:46:35.000000Z Ralph Giles

Fix: allow any value of JVERSION in the platform-specific makefiles to reduce user confusion over minor version naming. We continue to support only libjpeg v6*. Sourceforge bugs #457617 and #457838, September 2001.

[src/jpeg.mak]

2001-09-05T18:03:39.000000Z lpd


Fixes some typos in the comment for FORCE_GC_LIMIT.

[src/gsalloc.c]

2001-09-05T17:54:31.000000Z rayjj


Fix: Quark Xpress turns off garbage collection with -2 vmreclaim when
embedding EPS files which can lead to rampant allocation that is only
reclaimed when GC is reenabled. When the GC is disabled, reduce the
threshold from 2 Gb to 8 Mb. Fixes SourceForge bugs: 444370 and 438676.

[src/gsalloc.c]

2001-09-05T17:50:36.000000Z rayjj


Fix: If MaxLocalVM user parameter is set, perform garbage collection
before checking for potential VMerror. Without this fix, VMerror
would be issued even if a garbage collection would have freed enough
memory to stay below the MaxLocalVM limit.

[src/ireclaim.c]

2001-09-04T22:59:52.000000Z masata-y

Fix a bug that the procedure for arraytype in cntdict leaves an object.

[lib/gs_btokn.ps]

2001-09-04T14:30:13.000000Z Jouk Jansen

Type casts added for OpenVMS

[src/gdevpdfm.c]

2001-09-04T14:30:13.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/gdevpdfm.c gs/src/sarc4.c gs/src/zcsdevn.c
 	gs/src/zfile.c

 Some type casts added

----------------------------------------------------------------------

[src/zcsdevn.c src/sarc4.c src/zfile.c]

2001-09-02T07:09:13.000000Z Ralph Giles

Corrects indenting, and adds another missing header.

[src/sarc4.c src/sarc4.h src/zfarc4.c]

2001-09-02T06:27:18.000000Z Ralph Giles

adds a missing header file for e_rangecheck.

[src/sarc4.c]

2001-09-02T06:16:41.000000Z Ralph Giles

Adds a C implementation of the Arcfour encryption filter.
This is a work-alike of the RC4 cipher used in PDF encryption.

[src/sarc4.c src/lib.mak src/int.mak src/sarc4.h src/zfarc4.c]

2001-09-01T23:54:57.000000Z Raph Levien

Fix: Fixes numerous bugs in setting of DCT compression parameters.
Manual setting of parameters such as QFactor should now work. Also
ColorTransform now defaults to YCC instead of RGB color space so
the default quality and compression ratio should improve. Thanks
to Dave Slattengren for the initial version of this fix.

[src/sdeparam.c src/sdcte.c src/sdcparam.c]

2001-08-29T21:10:23.000000Z rayjj


Fix: Work around a bug in the Adobe AGM_Core that results in areas
painted by the tint transform of a spot color being overpainted
with white. The symptom is missing graphics (lines, fills or text).
SourceForge bug #454415 for Artifex customer #190.

[lib/gs_init.ps]

2001-08-29T19:04:55.000000Z lpd


Fix: Most of the Type 1 hinting code was executed even when hinting was
disabled.  Part 2 of a two-part fix for SourceForge #451456.

[src/gxhint3.c]

2001-08-29T19:03:59.000000Z lpd


Fix: The descriptors for embedded fonts were recomputed unnecessarily.  Part
1 of a two-part fix for SourceForge #451456.

[src/gdevpdff.c]

2001-08-28T03:28:08.000000Z Ralph Giles

Improves documentation of the op_def array elements and removes the obsolete
BEGIN/END_OP_DEFS macros, deprecated since 5.25.

[src/opdef.h]

2001-08-25T06:59:04.000000Z lpd


Makes the spprint* procedures use sputc rather than sputs for printing
converted values.  Speeds up one set of customer ps2pdf conversions by 2.5%.

[src/spprint.c]

2001-08-25T06:46:21.000000Z lpd


Improves documentation for gs_string and gs_bytestring types; adds
gs_free_[const_]bytestring procedures.

[src/gsmemory.c src/gstypes.h src/gsmemory.h]

2001-08-21T23:54:30.000000Z dancoby

Fix:  This problem was a rangecheck error being reported in .setindexedspace
when the base colorspace was DeviceN.  The cause was an error in determining
the number of components in the DeviceN space.  This is the second of two
fixes for SF bugs 427165 (customer #1110) and 438682.

[lib/pdf_draw.ps]

2001-08-21T23:52:36.000000Z dancoby

Fix:  The problem was a rangecheck error being reported in .setdevicenspace
with PDF files.  The cause of the problem was not allowing multiple copies
of the name /None in DeviceN colorant specification.  This is the first of
two fixes for SF bugs 427165 (customer #1110) and 438682.

[src/zcsdevn.c src/gscspace.h src/gscdevn.c]

2001-08-18T02:50:09.000000Z Ralph Giles

Uses lynx instead of netscape to generate text versions of important documentation files.

[toolbin/pre]

2001-08-17T21:27:21.000000Z lpd


Fix: If the base 14 fonts were being embedded, they would often be embedded
multiple times.  Partially fixes SourceForge #438957.

[src/gdevpdff.c]

2001-08-17T19:42:49.000000Z rayjj

Update to
  1. add Active-X project suggested by a user.
  2. Remove the DSC processing project (completed).
  3. provide minor update to the pswrite project.
  4. Update the ICC profile support project to reflect the
     partial support now completed (in 7.00).

[doc/Projects.htm]

2001-08-16T13:36:37.000000Z lpd


Fix: Writing a Type 2 font subset with undefined glyphs in the Encoding
produced invalid output.  Fixes SourceForge #451399.

[src/gdevpsfu.c src/gdevpsf.h]

2001-08-14T02:29:16.000000Z lpd


Shrinks pdfwrite output slightly by omitting the unnecessary space character
before strings and hex strings, as well as before names, arrays, and
dictionaries.

[src/gdevpdfo.c]

2001-08-07T22:13:29.000000Z dancoby

These changes were originally put into the GS_6_5 branch on 2001/03/13.
They are needed for using the current version of teh graphics library
with the PCL6 code.

Short description of changes:

stat_.h:  Added definition of stat_is_dir for use with MSVC.  Not
used in Ghostscript.

gsptype1.c:  Changes in image_PaintProc.  This routine is used
in gs_makepixmappattern.  gs_makepixmappattern is only used in
test8 (in gslib.c - a test module) and gs_makebitmappattern_xform.
gs_makebitmappatern_xform is not used in Ghostscript.  It is
used in pcl6.

[src/gsptype1.c src/stat_.h]

2001-08-06T21:22:31.000000Z dancoby

Fix: Correct a problem with white lines appearing in an image at or
near band boundaries.  Problem caused by different handling for the
last image pixel at a band boundary versus the remaining pixels.
Replaced it with uniform handling. Fixes SourceForge bug #436899
reported by Artifex customer #150. Also included are three lines of
source code clean up in the same section.

[src/gxicolor.c]

2001-08-06T19:36:01.000000Z lpd


Fix: Type 1 fonts that did not use the standard 1000-unit cell, such as some
fonts in PostScript files produced by Windows NT 4.0, were written with an
incorrect FontMatrix.  (The output was visually correct, because the font
size was scaled to compensate.)  Fixes SourceForge #439474.

[src/gdevpdfs.c src/gdevpdff.c src/gdevpdff.h]

2001-08-06T16:47:43.000000Z igorm

Fix: Old hack about underline parameters in gs_type1.ps
now conflicts with QuarkXPress_4.1 3.0 0 procset.
Disabling it for fonts, which have degenerate FontBBox.
Source Forge bug #441870.

[lib/gs_type1.ps]

2001-08-06T10:24:01.000000Z igorm

Documentation update : ps2ascii can't handle incremental fonts.

[doc/Issues.htm]

2001-08-06T10:19:42.000000Z igorm

Fixing wrong binding of .getmetrics32 with -dNOBIND.

[lib/gs_typ32.ps]

2001-08-03T16:12:16.000000Z lpd


Fix: If an image used a color space that couldn't be represented in PDF, an
invalid file was produced, rather than falling back to the default
representation as tiny rectangles.  (bug introduced by H. Blischke's color
space fix)

[src/gdevpdfi.c]

2001-08-03T15:26:35.000000Z rayjj


Fix: For CIEBasedDEF(G) color spaces the interpolated values from
the Table need to be scaled to the range given by RangeABC. Fixes
SourceForge bug #440278 reported by Artifex customer #10.

[src/gsciemap.c]

2001-08-03T06:43:52.000000Z lpd


Converts all locally defined macros to upper case.

[src/gdevpdfc.c]

2001-08-02T20:29:07.000000Z lpd


Fix: ICCBased color spaces were copied to the output even if the output
level was 1.2 (ICCBased color spaces were introduced in PDF 1.3).

[src/gdevpdfc.c]

2001-08-02T08:36:07.000000Z Russell Lang

Adds missing dwreg.cpp and dwreg.h files needed by recent Windows
updates which save and restore window size using registry.

[src/dwreg.h src/dwreg.c]

2001-08-02T00:12:08.000000Z stefan911

Changed fill patterns for unallocated memory to const

[src/gsmemory.c]

2001-08-01T16:21:35.000000Z stefan911

Changed debugging flag variables to const.

[src/gxchar.c src/gshtscr.c src/zvmem.c src/gsmdebug.h src/igc.c src/gxclip.c src/gxclimag.c]

2001-08-01T09:50:36.000000Z Russell Lang

To reduce redraw flicker, do not allow Windows to erase
the background since we paint it ourselves.
Paint areas outside the page with the window background
colour or light grey.
Save and restore window size using registry.
Add "Paste" to system menu of text window.
Make error message box a child of text window to avoid it
appearing behind the text window.
To allow user to read the error message, the text window
is not automatically destroyed in the event of an error.
The user must close text window using close button or system menu.
If text window closed, return e_Fatal to poll function to
provide a cleaner exit without a stack dump.

[src/dwimg.h src/winint.mak src/dwtext.c src/dwmain.c src/dwmainc.c src/dwtext.h src/dwimg.c]

2001-08-01T09:42:01.000000Z Russell Lang

Fix: Link Linux shared object as position independent code, instead
of just compiling the modules as position independent.  Adds prefix
to shared object recursive make to allow install to a temporary
location while building a distribution.

[src/unix-dll.mak]

2001-08-01T09:03:40.000000Z Russell Lang

Fix: Ignore white space between %%DocumentData: and argument.
Fix: Set dsc->preview correctly to DOS EPS if both DOS EPS and
EPSI previews are present.
Update to latest dscparse.c/h used in GSview. Change dscparse to mark
internal functions "dsc_private" not "private", so it can be compiled
as C++ (needed by GSview, not Ghostscript).

[src/dscparse.c src/dscparse.h]

2001-08-01T08:58:49.000000Z Russell Lang

Fix: define previously undefined make variables. DISPLAY_DEV in
unix-gcc.mak. gdevdsp_h and gdevdsp2_h in int.mak.
Add missing iref.h dependency for idisp.  Bug #415006.

[src/int.mak src/unix-gcc.mak src/devs.mak]

2001-08-01T00:48:23.000000Z stefan911

Added const to all printer device descriptors
const gx_device_printer gs_xxx_device = ...

[src/gdevdm24.c src/gdevtknk.c src/gdevcp50.c src/gdevcljc.c src/gdevpdff.c src/gdevlj56.c src/gdevmiff.c src/gdevadmp.c src/gdevhl7x.c src/gdevsgi.c src/gdevsppr.c src/gdevdjtc.c src/gdevsunr.c src/gdevsnfb.c src/gdevn533.c src/gdevo182.c src/gdevepsc.c src/gdevescp.c src/gdevimgn.c src/gdevokii.c src/gdevbj10.c src/gdev4081.c src/gdev8510.c src/gdevcif.c src/gdev3852.c src/gdevpjet.c src/gdevepsn.c src/gdevlbp8.c src/gdev4693.c]

2001-07-31T20:27:42.000000Z Ralph Giles

Removes a reference to mailing separate bug fix notices to artifex made
obsolete by the commit announcement mailing list.

[doc/Maintain.htm]

2001-07-31T20:03:20.000000Z Ralph Giles

Adds generated macos build files to .cvsignore

[.cvsignore /trunk/gs]

2001-07-31T08:06:48.000000Z Ralph Giles

Adds documentation for the 'Fix:' prefix handling in changelog generation.

[doc/Maintain.htm]

2001-07-31T06:39:06.000000Z lpd


Fix: An embedded CFF font could not be larger than 64K.  Fixes SourceForge
#445400.

[src/gdevpsf2.c]

2001-07-31T06:32:42.000000Z lpd


Fix: Some error codes were ignored, masking errors in writing embedded
fonts.

[src/gdevpdfe.c]

2001-07-31T03:31:35.000000Z Ralph Giles

Makes explicit note of the requirement to update the 'incompatible changes' section of the documentation with relevant commits.

[doc/News.htm doc/Maintain.htm]

2001-07-30T15:11:00.000000Z lpd


Writes only the necessary Encoding entries for Type 3 bitmap fonts, rather
than always writing all 256 entries.  Motivated by SourceForge #438957.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdft.c src/gdevpdfw.c]

2001-07-30T07:16:32.000000Z lpd


Changes pdfopt to work around several Acrobat code and documentation bugs,
so that Acrobat now recognizes pdfopt output as "optimized".  Fixes
SourceForge #438685.

[lib/pdfwrite.ps lib/pdfopt.ps]

2001-07-30T07:11:38.000000Z lpd


Fix: If a 'restore' had to restore page device parameters, it did so before
rather than after restoring the state of VM, possibly creating dangling
references.  Fixes SourceForge #230694, #414588, #444565.

[lib/gs_setpd.ps src/zdevice2.c]

2001-07-30T07:03:18.000000Z lpd


Fix: Acrobat Reader would not accept embedded TrueType fonts with a
zero-length glyf table.  Fixes SourceForge #429156.

[src/gdevpsft.c]

2001-07-29T03:00:45.000000Z lpd


Shrinks PDF output slightly by removing unnecessary spaces.

[src/gdevpdfo.c]

2001-07-29T02:21:43.000000Z lpd


Changes the writing of Type 3 character bitmaps to use Decode in the image
dictionary, rather than BlackIs1 in the parameter dictionary, to invert the
data, because it takes slightly less space on the file.

[src/gdevpdfb.c]

2001-07-28T23:02:56.000000Z lpd


Fix: The "Incompatible changes" sections for 6.62 and 6.61 were duplicates
of the section for 6.60.

[doc/History6.htm]

2001-07-27T22:28:31.000000Z lpd


Fix: The calculation of a scaling value for stroked paths was incorrect,
causing Inf and NaN values to be written in the PDF file.  Fixes SourceForge
#444682.  Bug was introduced by the fix for #440476.

[src/gdevpdfd.c]

2001-07-26T03:04:51.000000Z lpd


Fix: An incorrect optimization in the conversion of Type 1 to Type 2
CharStrings could cause character shapes to be mangled.  This probably only
affected embedded fonts in PDF output.  Fixes SourceForge #444374.

[src/gdevpsfx.c]

2001-07-25T23:16:44.000000Z lpd


Changes pdfwrite to produce MediaBox values with up to 2 digits of decimal
fraction, rather than truncating to integers.  SourceForge enhancement
request #440782.

[src/gdevpdfx.h src/gdevpdf.c]

2001-07-25T21:10:39.000000Z Ralph Giles

Fix: index.html and gs.css weren't being copied to the installed documentation directory.

[src/unixinst.mak]

2001-07-24T22:28:42.000000Z lpd


Interprets bookmarks (/OUT pdfmarks) lacking both Action and Dest keys as a
GoTo to the current page, to match Acrobat Distiller.  SourceForge bug
(enhancement) #442111.

[src/gdevpdfm.c]

2001-07-24T22:24:28.000000Z lpd


Improves the comments printed with dumps of Linearized PDF hint tables.

[lib/pphs.ps]

2001-07-24T22:22:59.000000Z Ralph Giles

corrects line endings in gp_macio.c

[src/gp_macio.c]

2001-07-24T04:47:37.000000Z lpd


Fix: If ConvertCMYKImagesToRGB was true, pdfwrite produced images with the
correct RGB data but with the color space still set to DeviceCMYK.  (Fix
originally from Helge Blischke.)

[src/gdevpdfi.c]

2001-07-23T06:57:27.000000Z lpd


Fix: pdfopt was broken because SAFER prevented it from opening its output
and temporary files, and from deleting its temporary files.  Note: this fix
requires the .tempfile operator added in src/zfile.c [1.9].

[lib/pdfopt.bat lib/pdfopt lib/pdfopt.ps]

2001-07-23T06:56:24.000000Z lpd


Allows temporary files (created and opened with .tempfile) to be deleted
even if SAFER is set.

[lib/gs_init.ps]

2001-07-23T05:25:08.000000Z Ralph Giles

Protect the export of 'hwndtext', required by macgsview, with platform #ifdefs to avoid conflicts with the win32 dll build.

[src/gsdll.c]

2001-07-22T20:43:32.000000Z igorm

Fix: glyphshow procedure in ps2ascii lacks a pop in the for loop.
Patch from Leon Bottou.
Source Forge bug #443361.

[lib/ps2ascii.ps]

2001-07-19T18:38:45.000000Z lpd


Adds descriptive labels to the output of the utility for printing linearized
PDF data.

[lib/pphs.ps]

2001-07-18T20:45:35.000000Z rayjj


Fix: Detect and load embedded Type1 fonts that are in PFB format (have
the 6 byte PFB header before each segment). Also ignore /Length values
in the streamdict keys that don't match the PFB segnment lengths. Issue
warning messages to stderr for all of these spec violations.
SourceForge bug #430556 for Artifex customer #671.
VS: ----------------------------------------------------------------------

[lib/pdf_font.ps]

2001-07-18T20:42:48.000000Z rayjj


Fix: Workaround a SEGV caused by GC interaction with stderr
file. Needed to complete the fix for #430556, but the stderr
bug remains open as 442477.

[lib/pdf_main.ps]

2001-07-18T20:28:57.000000Z Ralph Giles

Adds the makefile and script for the new macos build method

[src/macgenmcpxml.sh src/macos-mcp.mak]

2001-07-18T20:27:39.000000Z Ralph Giles

Adds the remaining macos source files

[src/macsysstat.h src/gdevmacxf.c src/macsystypes.h]

2001-07-18T20:20:50.000000Z Ralph Giles

Adds initial support for macos.

[src/gp_macio.c src/gp_mac.c src/gdevmac.c src/gdevmacttf.h src/gdevmacpictop.h src/gdevmac.h src/gp_mac.h]

2001-07-18T20:17:11.000000Z Ralph Giles

Adds documentation of the new macos build processes.

[doc/Make.htm]

2001-07-18T20:16:24.000000Z Ralph Giles

Re-enables export of the hwnd parameter in the old dll interface.
This is required by macgsview.

[src/gsdll.c]

2001-07-16T08:38:14.000000Z igorm

Fix: zfilelineedit sometimes reallocates (resizes) buffer string without
updating reference to it from o-stack, so as console input after callout
reads undefined data. Fixed with copying new reference to o-stack whenever it changes.
Source Forge bug #437808

[src/ziodev.c]

2001-07-16T08:29:46.000000Z igorm

Fix: Non-stable memory was used for internal zlib data,
causing inconsistent heap state after 'restore' while zlib is active,
and subsequent crash.
Source Forge bug #431057

[src/szlibc.c]

2001-07-15T22:53:23.000000Z lpd


Capitalizes a macro, and replaces two other macros with variables.

[src/gdevpdfm.c]

2001-07-15T16:25:02.000000Z lpd


Adds pphs, a utility for printing the Primary Hint Stream of a linearized
PDF file.

[doc/Develop.htm lib/pphs lib/pphs.ps doc/Psfiles.htm]

2001-07-15T16:13:39.000000Z masata-y

Add the local and global vmstatus values to calculate
the memory usage of a resource.

[lib/gs_res.ps]

2001-07-15T13:57:50.000000Z lpd


Fix: gp_open_scratch_file concatenated the temporary directory name with the
prefix even if the prefix was an absolute path; also, it didn't check the
length of the final file name, possibly leading to memory corruption.

[src/gp_iwatc.c src/gp_mswin.c src/gp_os2.c src/gp_unifs.c src/gp_vms.c]

2001-07-15T13:54:17.000000Z lpd


Adds and documents an operator   .tempfile
  to create and open a temporary file, using
gp_open_scratch_file.

[doc/Language.htm src/zfile.c]

2001-07-15T06:38:38.000000Z Raph Levien

Adds knowledge of more paper sizes to PCL driver. Thanks to Jonathan
Kamens for the patch.

[src/gdevpcl.c src/gdevpcl.h]

2001-07-12T19:45:53.000000Z lpd


Fix: When writing text, the leading offset was sometimes ignored if blank
lines were followed by a non-blank line.  Fixes SourceForge bug #440490.

[src/gdevpdft.c]

2001-07-12T14:10:55.000000Z rayjj


Fix: -sOutputFile=%stdout handling was broken by rev. 1.4 is fixed
by giving priority to iodevices when there is a leading %, but if
the iodevice is not recognized, attempting to parse as a format.
Fix for SourceForge bugs 436895 and 428738, Artifex customer #680

[src/gsdevice.c]

2001-07-12T05:47:07.000000Z lpd


Fix: pdfwrite didn't write transfer functions in the output for images, and
allowed lossy compressions on images even in the presence of peculiar
transfer functions (such as functions simulating indexed color spaces).
This fix writes transfer functions for images, prevents lossy compression if
the transfer function is not the identity, and undoes the hack that was
implemented earlier to work around this problem.  Fixes SourceForge bug
#420257.

[src/gdevpdfx.h src/gdevpdf.c lib/gs_ll3.ps src/gdevpdfg.c src/gdevpdfi.c]

2001-07-12T03:28:02.000000Z lpd


Fix: The algorithm for scaling down user coordinates to fall within Acrobat
Reader's limitations didn't work properly for stroked paths with anisotropic
CTMs, possibly producing large coordinates that led Acrobat (but not
Ghostscript) to display the resulting file incorrectly.  Fixes SourceForge
bug #440476.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevvec.c src/gdevpdfd.c src/gdevvec.h]

2001-07-11T12:05:52.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/idisp.c gs/src/imain.c gs/src/zfileio.c

 Some minor fixes (2 added includes and 1 type cast) needed to compile
cleanly on OpenVMS.
----------------------------------------------------------------------

[src/imain.c src/zfileio.c src/idisp.c]

2001-07-10T22:04:20.000000Z lpd


Fix: Before processing an image that uses the current color, call
gs_state_color_load to ensure that if the current color is a pattern, the
pattern is loaded.  (This parallels existing code used for filling paths and
processing text.)  This prevents a SEGV caused when pdfwrite dereferenced a
0 pointer to pdc->colors.pattern.p_tile.  Fixes SourceForge bug #422089 for
Artifex Customer #1110.

[src/gsimage.c]

2001-07-10T03:14:33.000000Z Ralph Giles

minor comment cleanup

[src/libpng.mak]

2001-07-10T02:07:08.000000Z Ralph Giles

drops support for libpng v0.89 and streamlines the library makefile.

[src/libpng.mak]

2001-07-10T01:39:57.000000Z Ralph Giles

updates makefiles to use version 1.0.12 of the png library.

[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/watcw32.mak src/dvx-gcc.mak src/libpng.mak src/unix-gcc.mak src/msvc32.mak src/watc.mak src/unixtrad.mak src/unixansi.mak src/msvclib.mak src/os2.mak src/all-arch.mak src/watclib.mak]

2001-07-09T19:27:37.000000Z igorm

Fix: Wrong entry name (BaseFont instead CIDFontName) was used
while resolving font resource to CIDFontType2 in PDF interpreter.
Source Forge bug #436892

[lib/pdf_font.ps]

2001-07-08T15:24:11.000000Z lpd


Fix: Reading a TrueType font with an empty table could cause a rangecheck
error.

[lib/gs_ttf.ps]

2001-07-08T13:46:25.000000Z lpd


Fix: MSVC requires that a label not be the last thing in a block.

[src/gdevpdfv.c]

2001-07-08T04:27:48.000000Z lpd


Makes pdfwrite recognize colored Patterns where all the pixels are the same
color, and convert them to uncolored Patterns.  This is an important
optimization for files produced by certain applications (the test file came
from Freehand on the Mac).  Fixes item (3) of SourceForge bug #414104.

[src/gdevpdfv.c]

2001-07-07T19:41:12.000000Z lpd


Fix: pdfwrite could write out a Pattern image too large for Acrobat Reader
to handle, which would then never be referenced.  Fixes item (4) of
SourceForge bug #414104.

[src/gdevpdfv.c]

2001-07-07T19:15:51.000000Z lpd


Fix: pdfwrite generated masked images, a PDF 1.3 feature, even when
CompatibilityLevel < 1.3.  Fixes item (2) of SourceForge bug #414104.

[src/gdevpdfv.c src/gdevpdfj.c]

2001-07-07T06:28:08.000000Z lpd


Fix: If the FontMatrix of a CFF CIDFont was the default [0.001 0 0 0.001 0
0], it was not written, causing the FontMatrices of the subfonts to be
scaled by 1000.  (The Adobe documentation isn't at all clear about this.)
Fixes SourceForge bug #428595.

[src/gdevpsf2.c]

2001-07-06T17:02:25.000000Z rayjj


Fix: Prevent non-persistent name_arrays of size==0 from causing a VMerror
if alloc of size 0 returns a NULL. Detected with SeparationColorNames
from the PCL code.

[src/gscparam.c]

2001-07-06T05:17:31.000000Z lpd


Makes embedded CFF fonts in PDF files omit the FontBBox if it is [0 0 0 0].
This should only be a minor optimization, but SourceForge bug #428595 claims
that Acrobat Reader cares.

[src/gdevpsf2.c]

2001-07-05T23:21:01.000000Z Raph Levien

Fix: Removes duplicate rc_decrement_only() in pdf14_begin_typed_image(),
so that the marking device is now deallocated once. Fixes SourceForge
bug #434705.

[src/gdevp14.c src/gdevpnga.c]

2001-07-05T20:36:55.000000Z Raph Levien

Fix: Changes clip logic in gx_image_cached_char() to affect the
imaging device, so that clipping is reliably effective. Fixes SF
bug #433821 (and probably others).

[src/gxccache.c]

2001-07-04T21:57:02.000000Z uid22160


Fix: Scaled fonts with PaintType = 2 (stroked) were painted with incorrect
stroked width.

[src/gdevpdfs.c]

2001-07-04T18:06:39.000000Z uid22160


Fix: When producing text using a Type 3 (bitmap) font, the TL command was
used (incorrectly) when the new text position was directly below the current
text position, not (correctly) when the new text position was directly below
the beginning of the current text line.  Fixes SourceForge bug #228180.

[src/gdevpdft.c]

2001-07-04T16:47:33.000000Z uid22160


Fix: When producing text in a Type 3 (bitmap) font and using TL and ' for Y
positioning, emitting a horizontal space character reset text.use_leading,
causing the line to be positioned incorrectly.  Fixes SourceForge bug
#427159.

[src/gdevpdft.c]

2001-07-04T01:23:46.000000Z lpd


Fix: FunctionType 4 functions that contained conditionals (if/ifelse) would
report the length of their symbolic definition incorrectly; FunctionType 4
functions that had to return their symbolic definition in pieces would loop
forever.  Fixes SourceForge bug #427191.

[src/gsfunc4.c]

2001-07-02T19:09:23.000000Z lpd


Fix: pdfwrite didn't set returned.current_char, so the "current character"
for kshow was 0 or a random value.  Fixes SourceForge bug #420933.

[src/gdevpdfs.c]

2001-07-02T18:07:55.000000Z lpd


Fix: Some poorly designed PDF tools couldn't handle the fact that the
Contents stream of each page was not surrounded by q/Q.  (The PDF spec does
not require this.)  Fixes SourceForge bug #231390.

[src/gdevpdfu.c]

2001-07-02T15:50:19.000000Z lpd


Fix: If the OpenAction of a document referred to a Page object, pdfopt would
try to include the page in the "document-level objects" section of the
output, causing a rangecheck error.  Fixes SourceForge bug #437724.  Also
adds more tracing to pdfopt (with -dPDEBUG).

[lib/pdfopt.ps]

2001-07-02T15:46:05.000000Z lpd


Adds more tracing (with -dPDEBUG) to lib/pdfwrite.ps, used by pdfopt.

[lib/pdfwrite.ps]

2001-07-01T08:55:34.000000Z igorm

Fix: Implementing CIDFont.CMap construction with period character
(see Ken Lunde, "CJKV Information Processing," O'RELILLY. 1999. p284)
for any compatible pair of CIDFont & CMap.
This feature complies with Adobe CPSI.
Thanks to Masatake Yamato for discovering this feature.

[lib/gs_cidcm.ps]

2001-07-01T07:23:36.000000Z lpd


Fix: The first pass of pdfopt always estimated the size of the primary hint
stream as 0, which occasionally caused the second-pass fixup to fail.
Fixes SourceForge bug #409887.

[lib/pdfopt.ps]

2001-07-01T07:20:30.000000Z lpd


Adds more tracing output to pdfopt with -dPDEBUG.

[lib/pdfopt.ps]

2001-07-01T07:16:28.000000Z lpd


Fix: pdfopt gave an error if the input file had PageMode = /UseOutlines but
lacked an Outlines tree.  Fixes SourceForge bug #410371.

[lib/pdfopt.ps]

2001-06-29T17:05:35.000000Z lpd


Changes the locally used BASE_ENCODING macro to an inline procedure
base_encoding_index.  (Code hygeine only, no functional effect.)

[src/gdevpdfs.c]

2001-06-29T17:04:17.000000Z lpd


Fix: When tiling with a bitmap, the /Type entry in the Pattern resource was
written twice.  (Minor file size problem only, not a functional problem.)

[src/gdevpdfb.c]

2001-06-29T06:52:13.000000Z lpd


Fix: Empty pages included a Contents entry whose value was an empty array:
the spec allows this, and AR3 and 4 accept it, but AR5 rejects it.

[src/gdevpdf.c]

2001-06-27T00:25:08.000000Z dancoby


Fix for [ #435157 ] segmentation fault in dsc_page.  Add test for
valid page data before using.

[src/zdscpars.c]

2001-06-23T10:21:24.000000Z Russell Lang

Fix: When finding a %%Page line in the trailer due to incorrect DSC
comments, the DSC parser now returns CDSC_PAGE only if the parser
treats it as a valid page. Partial fix for SourceForge bug #435157.

[src/dscparse.c]

2001-06-22T16:09:22.000000Z lpd


Fix: Many scripts for invoking Ghostscript-based utilities didn't properly
handle file names that included spaces.  Unix and DOS/Windows/OS/2 scripts
required different fixes.

[lib/pf2afm.bat lib/eps2eps lib/ps2pdfxx.bat lib/gssetgs.bat lib/ps2epsi lib/eps2eps.bat lib/ps2epsi.cmd lib/ps2epsi.bat lib/pdf2dsc.bat lib/pdfopt lib/pdf2ps lib/pfbtopfa lib/pdfopt.bat lib/pdf2ps.bat lib/ps2pdf.bat lib/ps2pdf12.bat lib/ps2pdf13.bat lib/ps2pdfwr lib/ps2ps lib/ps2pdf14.bat lib/ps2ps.bat lib/dvipdf lib/ps2ascii]

2001-06-17T05:09:07.000000Z lpd


Adds extern_inline for including inline procedures in header files.

[doc/C-style.htm src/stdpre.h]

2001-06-17T04:28:10.000000Z lpd


Adds a comment describing the function and return value of sreadbuf.

[src/stream.c]

2001-06-17T04:12:06.000000Z lpd


Adds an explanation of why stable allocators are needed, rather than using
the system VM allocator for all stable objects.

[doc/Develop.htm]

2001-06-17T04:06:05.000000Z lpd


Fixes a typo: gs_stable_memory should have been gs_memory_stable.

[doc/Develop.htm]

2001-06-17T04:03:52.000000Z lpd


Notes that the 'foreign' member of the vm_spaces.memories allocator array is
not used (always zero).

[src/gsgc.h]

2001-06-16T19:02:32.000000Z igorm

Patch from Mr. Toshiya Suzuki :

Implementing multi-dimensional CID ranges, and fixing bugs
about decoding text string with CID font :

(1) when GS consumes undefined byte sequence (which cannot be mapped
    to some glyphs), GS aborts.

(2) when selected CID font lacks the glyph for requested CID, GS aborts.

(3) "notdefrange" defines SINGLE CID for undefined byte sequences
    in specified range, but current GS implementation take it as
    an offset to calculate MULTIPLE CID.

(4) "cidrange" operators accept only
       full range specification (<0000> to )
    or 8 bit width range        ( to ).

Source Forge bug #415163.

[src/zfcid0.c src/gsfcmap.c src/gdebug.h src/gsmisc.c lib/gs_cmap.ps src/gxfcmap.h]

2001-06-15T05:32:56.000000Z jackiem

Change ps2pdfxx.bat to use lowercase output file extension to be consistent
with other platforms.  This closes sourceforge bug #430129.

[lib/ps2pdfxx.bat]

2001-06-14T22:25:36.000000Z dancoby

This is the fix for [ #427354 ] PDF checkboxes problem.
The PDF annotation handler was not correctly handling cases
in which there was no appearance in the appearance dictionary
AP for the current appearance state AS.  It should not
display anything in this case.

[lib/pdf_draw.ps]

2001-06-13T05:30:29.000000Z rayjj

Fix: The March 1999 PDF 1.3 version of the specification had a change to
make the /FormType key and /Matrix key optional in a Form. While we had
already handled missing /Matrix key, the missing /FormType key was not
accounted for in all cases. Move this to the common DoForm code. Fix for
SourceForge bug #430556, Artifex customer #671.

[lib/pdf_draw.ps]

2001-06-12T23:06:19.000000Z dancoby

This revision allows the MSVC makefiles to work with
spaces in the DEVSTUDIO path.  Also if DEVSTUDIO is set
to empty then the PATH, LIB, INCLUDE environment variables
are used for building.  The MSVC section of Make.htm was enlarged.

[doc/Make.htm src/msvccmd.mak src/msvc32.mak src/msvclib.mak src/msvctail.mak]

2001-06-12T16:02:39.000000Z rayjj

If an ICC color space failed to load, Acrobat Reader uses the alternate
color space. Previous implementation ignored errors during load and used
the partial ICC space. This change signals an error and uses the alternate
space by catching the error in a stopped context in the interpreter.

[lib/gs_icc.ps src/gsicc.c]

2001-06-12T15:32:20.000000Z rayjj

fix: If the ICC profile fails to load completely, or is missing a WhitePoint
a valid default is needed to prevent a divide by zero. The WhitePoint is the
same as the ICC default illuminant, D50. SourceForge bug 432130 for Artifex
customer #150 as well as bug 427156, customers #880 and #1110 and bug
414984.

[src/gsicc.c]

2001-06-08T07:08:44.000000Z rayjj


Move jpeg_decompress structure enum/reloc handler from interp
level to stream utility level to support non-PostScript clients.
(see also zfdcte.c and sdcte.c)

[src/sdct.h]

2001-06-07T22:01:16.000000Z Ralph Giles

removes unnessary whitespace, which was breaking tmake.tcl. Part of sourceforge bug #415170, 2001 April 10.

[src/libpng.mak]

2001-06-07T21:04:52.000000Z Raph Levien

Fix: Include  as required by Debian systems with glibc 2.2.
Fixes SourceForge bugs 413747, 417180, 417181, 417182.

[src/time_.h]

2001-06-07T14:48:24.000000Z Alex Cherepanov

Fix: Adobe PhotoShop 5+ duotone code assumes that setcolor operator
calls tint transform function if source colors don't make a subset
of device colors. Bug #224056, Customer #150

[src/int.mak src/zcolor2.c]

2001-06-06T18:46:23.000000Z Ralph Giles

Changes release policy to preserve the original filenames of 3rd party tarballs.

[doc/Release.htm]

2001-06-06T10:44:05.000000Z igorm

Unwind to the revision 1.2, because CIDFont.CMap patch misses
some important CIDFont-CMap combinations.

[lib/gs_cidcm.ps]

2001-06-06T08:14:14.000000Z dancoby

This is the fix for [ #425014 ] Compile error on AIX in icc.c.
The control87 is not defined on AIX systems (or probably on
anything but x86 systems).  This was suggested by Graeme Gill.

[icclib/icc.c]

2001-06-06T08:11:20.000000Z dancoby

Fix for [ #419211 ] .parse_dsc_comments not robust.  This change
modifies the DSC parser so that errors in DSC comments do not
abort the file processing.

[src/zdscpars.c]

2001-06-05T02:31:58.000000Z Ralph Giles

corrects the spelling of Metrowerks CodeWarrior

[doc/Bug-info.htm]

2001-06-05T02:30:47.000000Z Ralph Giles

updates the bug report for to reflect the public nature of the new
bug lists and tracker.

[doc/Bug-form.htm]

2001-05-31T04:54:51.000000Z rayjj

This file is a new utility intended for debug.

It is not yet ready for prime time, but is available for whoever
wants to fix it.

The main problems are:

1. It doesn't work for files that use chained filters such as
   [ /ASCII85Decode /FlateDecode ]

2. The PDF files that are written are sometimes broken. GS gets an
   xref problem.

   This second problem may actually due to lib/pdfwrite.ps since
   even when no conversion is done, the file is bad.

[toolbin/pdfinflt.ps]

2001-05-31T04:38:42.000000Z rayjj


Fix: pass #xx escaped characters in names through and fix the escape
logic to prevent a /typecheck in add.

[lib/pdfwrite.ps]

2001-05-31T04:34:23.000000Z rayjj


Fix: Prevent SEGV caused by freeing memory not owned. Variable 'code'
was overwritten, losing the get_outline return code that was needed
for the decision to free the glyph_string.data. Problem detected with
PCL. Bug was introduced in rev 1.10.

[src/gstype42.c]

2001-05-30T23:58:44.000000Z Raph Levien

Minor documentation update for HPIJS driver (adds more supported devices).

[doc/Devices.htm]

2001-05-30T23:25:25.000000Z Raph Levien

Updates hpijs driver to version 0.96.

[src/gdevhpij.c src/gdevhpij.h doc/Devices.htm]

2001-05-30T21:14:35.000000Z rayjj


Fix: Add all page sizes supported in statusdict to the .pagetypenames
array so that these page sizes can be selected from the command line
using -sPAPERSIZE=... parameter. Also implement the STRICT that limits
the available known paper sizes to those Adobe had defined prior to
Level 2 when 'setpagedevice' replaced this mess.  SourceForge bug #427898

[lib/gs_statd.ps]

2001-05-30T17:38:45.000000Z rayjj


Move jpeg_decompress structure enum/reloc handler from interp
level to stream utility level to support non-PostScript clients.

[src/zfdcte.c src/sdcte.c]

2001-05-25T13:54:01.000000Z Alex Cherepanov

Fix: Current code for /All separations marks all planes in the alternate
color space, not the destination color space. This is wrong, but
gx_concretize_Separation() doesn't have access to the destination device
color space. This fix makes tint value 1 print as black in any alternate
color space. It printed as white in DeviceCMYK before.  Bug #423838

[src/gscsepr.c]

2001-05-25T00:35:41.000000Z lpd


Restructures the C style guide to explicitly distinguish language
restrictions from purely stylistic issues.  (Requested by Artifex engineer.)

[doc/C-style.htm]

2001-05-24T16:48:59.000000Z Alex Cherepanov

Fix: .resolvefn4 used stream length as the length of the decompressed data,
truncated the PostScript procedure and caused syntax error in the token
operator because of the unmatched brackets. Reading directly from the stream
fixes the problem. Bugs #425919

[lib/pdf_draw.ps]

2001-05-12T17:15:41.000000Z rayjj


Improvement: Prevents PDF files with more than 65534 page from failing due
to the dict size limit. The caches never hit on pages past 65534.  Problem
was reported by a potential Artifex customer re their customer's files.

[lib/pdf_main.ps]

2001-05-12T14:51:52.000000Z igorm

Fix: dev_color_eq used wrong number of components for halftones.
Source Forge bug #422534.

[src/gxcht.c src/gsht1.c]

2001-05-12T00:11:42.000000Z rayjj


Fix: PDF files containing strings with codes that map to glyph
names that are not part of the font would error with undefined
in --get--. Substitute the .notdef glyph as Adobe Acrobat Reader
apparently does.

[lib/pdf_font.ps]

2001-05-12T00:08:36.000000Z rayjj


Fix: If the OutputFile name was not NULL terminated, the strcmp would
fail in unpredictable ways.

[src/gsdevice.c]

2001-05-11T23:12:11.000000Z jackiem

This fixes a minor omission that prevents ghostscript from building on at
least some platforms.  After an #ifndef, a #define isn't done.

[src/gsptype2.h]

2001-05-10T19:15:29.000000Z igorm

The show operator doesn't clear the operand stack on interrupts.
Source Forge bug 209350.

[src/zchar.c]

2001-05-10T18:36:40.000000Z igorm

Fix: Optimization for shading fill.
The general path filling algorithm subdivides fill region with
trapezoid or rectangle subregions and then paints each subregion
with given color. If the color is shading, each subregion to be
subdivided into areas of constant color. But with radial
shading each area is a high order polygon, being
subdivided into smaller subregions, so as total number of
subregions grows huge. Faster processing is done here by changing
the order of subdivision cycles : we first subdivide the shading into
areas of constant color, then apply the general path filling algorithm
(i.e. subdivide each area into trapezoids or rectangles), using the
filling path as clip mask.
Source Forge bug #414022.

[src/lib.mak src/gsptype2.c src/gsptype2.h src/gxfill.c]

2001-05-10T17:41:23.000000Z igorm

Fix: Writing each page to separate file, epswrite wrote
wrong number of pages to their trailers.

[src/gdevpsu.c src/gdevpsim.c src/gdevpsu.h src/gdevps.c]

2001-05-09T09:42:57.000000Z masata-y

Set file_name.size = 0 when file_name.data is set to 0.

[src/stream.c]

2001-05-09T09:25:24.000000Z masata-y

In zfilename, a string allocated by ialloc_string is put
on the stack with correct memory space.

[src/zfileio.c]

2001-05-09T09:15:19.000000Z masata-y

Added dot(.) composed font name(CIDFont.CMap) supports.

[lib/gs_cidcm.ps]

2001-05-08T19:42:13.000000Z Alex Cherepanov

Fix: This IdiomSet replaces 3 procedures generated by Win2K driver in level
1 mode for RGB source image and DeviceRGB, DeviceCMYK, and DeviceGray color
models. Original implementation uses transfer functions to simulate the indexed
color space. Currently, GS always ignore transfer functions. The replacement
procedure uses indexed color space directly. This Idiom should really be in
a file in the IdiomSet directory of the Resource path, but we put it here until
GS has a way to handle distribution and installation of Resources.
Customer #670, Bug #420257

[lib/gs_ll3.ps]

2001-05-08T12:28:38.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/openvms.mmk

 Enabling mkstemp on VMS.

----------------------------------------------------------------------

[src/openvms.mmk]

2001-05-07T19:05:46.000000Z jackiem

Changes gp_open_scratch_file() to use mkstemp() rather than mktemp() on
gcc builds, which avoids warnings. Adds CAPOPT variable to unix-gcc.mak
to select which function is used, so that builds will still succeed on
systems that don't have mkstemp().

[src/unix-gcc.mak src/gp_unifs.c]

2001-05-05T11:04:22.000000Z igorm

Fix: epswrite now writes each page into separate file,
if OutputFile specifies format.
SourceForge bug #228641.

[src/gdevpsu.c src/gdevpsim.c src/gdevpsu.h src/gdevps.c]

2001-05-05T10:12:23.000000Z igorm

Fix: When input stream of an input filter reports EOF,
old code reports EOF for the filter. But if output buffer for
the filter is not empty, EOF status to be delayed until it empties.
Source Forge bug #417127.

[src/stream.c]

2001-05-04T20:59:33.000000Z Alex Cherepanov

Fix: in global mode pdfmark with composite objects causes invalidaccess
because the objects are copied to local memory but the array is copied to
current memory. Now the array is copied to local memory too.
Fix from Helge Blischke with changes.

[lib/gs_pdfwr.ps]

2001-05-04T20:35:33.000000Z rayjj


Fix: EPS files without a showpage could not be viewed if given
as a command line arg. Extra call to display_set_callback erased
the page before going to the GS> prompt the first time. Only do
display_set_callback as part of init_2.

[src/imain.c]

2001-05-04T20:27:40.000000Z Alex Cherepanov

Fix: On Windows GS enumerated "." and ".." as external resources and failed
with /invalidresource trying to load them later.

[src/gp_ntfs.c]

2001-05-03T23:54:51.000000Z Ralph Giles


Adds a 'see also' reference to ps2pdf from the pdf2pdfwr manpage.

[man/ps2pdfwr.1]

2001-05-03T21:07:33.000000Z Ralph Giles


Clarifies the manpage for the ps2pdfwr wrapper script, mentioning the -dSAFER option and adding a sentence describing the role of this particular script.

[man/ps2pdfwr.1]

2001-04-28T01:45:25.000000Z Alex Cherepanov

Fix: 5-element DeviceN array (with attributes) messed up the operand stack and
failed. The attributes is an informational entry that can be safely ignored.
Bug #419509, Customer #150.

[lib/pdf_draw.ps]

2001-04-28T01:01:38.000000Z Alex Cherepanov

Fix: null object was converted to -nostringval-
Discovered during the work on pdfopt.

[lib/pdfwrite.ps]

2001-04-28T00:53:46.000000Z Alex Cherepanov

Fix: !ifndef COMPILED_INITS instead of !ifndef COMPILE_INITS
Discovered fixing bug #414985 from anonymous user

[src/msvclib.mak]

2001-04-27T23:41:28.000000Z Alex Cherepanov

Added entry about confusing error messages.

[doc/Issues.htm]

2001-04-26T17:57:41.000000Z Alex Cherepanov

Fix: Auto-rotation is enabled for non-null orientations. Auto rotation now
always rotates the image +90 degrees relative to the orientation.
Bug #416830 Customer #430

[src/zmedia2.c]

2001-04-25T13:24:20.000000Z Jouk Jansen


 Committing in .

 Modified Files:
    gs/src/openvms.mak

 bringing openvms.mak in sync. with new features( Icclib etc.) and with new
 compile strategy with long variable names( as in openvms.mmk)

 Patch from Rick Dyson.

----------------------------------------------------------------------

[src/openvms.mak]

2001-04-25T08:19:41.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/gdevpdf.c gs/src/imainarg.c gs/src/openvms.mmk

 Merged in some patches by Rick Dyson, which affect compilation on VMS only.

----------------------------------------------------------------------

[src/imainarg.c src/openvms.mmk]

2001-04-25T08:19:41.000000Z Jouk Jansen

Merged in some patches by Rick Dyson, which affect compilation on VMS only.

[src/gdevpdf.c]

2001-04-24T18:36:55.000000Z Raph Levien

Fix: Undoes makefile breakage introduced in previous version (for VMS).

[src/lib.mak src/icclib.mak]

2001-04-21T17:14:33.000000Z rayjj


Make copyright and AFPL license info at the end match other .htm files.

[doc/Humor.htm]

2001-04-20T20:17:28.000000Z lpd


Adds documentation for the graphics library's implementation of clipping.

[doc/Develop.htm]

2001-04-20T19:44:18.000000Z lpd


Documents the circumstances when no structure descriptor is needed.

[doc/Develop.htm]

2001-04-20T10:39:44.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/src/lib.mak

 Patch for OpenVMS (little delayed since it was merged first with another
   commit)
----------------------------------------------------------------------

[src/lib.mak]

2001-04-20T10:07:48.000000Z igorm

Fix: Removing the dependence of graphic library on PS interpreter.
Source Forge bug #415003.

[src/gscsepr.c]

2001-04-20T09:56:22.000000Z Jouk Jansen

Patches for OpenVMS

[icclib/icc.c src/gdevpdf.c]

2001-04-20T09:56:22.000000Z Jouk Jansen


 Committing in .

 Modified Files:
 	gs/icclib/icc.c gs/src/gdevpdf.c gs/src/gp_vms.c
 	gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
 	gs/src/x_.h
 Added Files:
 	gs/src/vms_x_fix.h

 Patches for OpenVMS

----------------------------------------------------------------------

[src/gsnogc.c src/vms_x_fix.h src/openvms.mmk src/x_.h src/gp_vms.c src/icclib.mak]

2001-04-20T09:38:39.000000Z igorm

Fix: Removing the dependence of graphic library on PS interpreter.
Source Forge bug #415003.

[src/lib.mak src/gscspace.h src/gscsepr.c src/zcssepr.c]

2001-04-20T06:36:00.000000Z rayjj


Fix: Corrects incorrect month value in TIFF headers. Need to increment
tm_mon by one to get actual month. Fix from Helge Blischke.

[src/gdevtifs.c]

2001-04-20T02:35:24.000000Z rayjj


Fix: Prevent empty or invalid OutputFile values from causing SEGV
in psrgb, psgray and psmono. SourceForge bug #414151.

[src/gdevpsu.c]

2001-04-19T23:39:39.000000Z Russell Lang

Fix: GS didn't exit to shell when it was used with '--' option.
The bug was introduced in revision 1.7 when many references to
exit() were replaced with returns. Bug #416498 by Paul Vojta

[src/imainarg.c]

2001-04-17T07:40:12.000000Z Raph Levien

Increments version number after 7.00 release. Also fixes gs_init.ps to
consistently print minor revision number as two digits.

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

2001-04-12T08:45:02.000000Z Russell Lang

Fix: When copying a device, copy the static procs if needed before
calling finish_copydevice, so that the correct finish_copydevice is
used.

[src/gsdevice.c]

2001-04-09T09:01:10.000000Z Raph Levien

More two-digit minor number fixes. Thanks to Russell Lang for spotting
the problem with gp_wgetv.c; it would have led to significant breakage
in the Windows install. Also updates the Windows copyright message.

[src/dwsetup.rc src/gp_wgetv.c doc/Install.htm]

2001-04-09T08:35:51.000000Z Raph Levien

Minor fixups related to the decision to use two-digit minor numbers
consistently.

[doc/Readme.htm doc/Release.htm src/gsmisc.c toolbin/makeset.tcl]

2001-04-09T07:01:25.000000Z Ralph Giles

More broken link fixes. Updates to MacOS build section.

[doc/Fonts.htm doc/Use.htm doc/Make.htm doc/Release.htm doc/New-user.htm]

2001-04-09T06:57:24.000000Z Raph Levien

Changes makeset.tcl to always use two digits for minor number, eg 7.00.

[toolbin/makeset.tcl]

2001-04-09T06:41:34.000000Z Raph Levien

Updates Changes, News, and History for 7.00 release. Removes "BETA RELEASE"
from GS_PRODUCT. History7.htm is a new file.

[doc/Changes.htm doc/History7.htm doc/News.htm src/gscdef.c]

2001-04-09T06:20:03.000000Z Raph Levien

Updates version number and date in preparation for 7.00 release.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Maintain.htm man/ps2epsi.1 doc/Install.htm doc/Copying.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Commprod.htm doc/Release.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 lib/gs_init.ps src/version.mak man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/New-user.htm doc/Lib.htm doc/README doc/Tester.htm doc/Bug-info.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 doc/News.htm man/ps2pdf.1 man/pdf2ps.1 doc/Make.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/Current.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/History4.htm doc/Ps2epsi.htm man/ps2ps.1 man/ps2pdfwr.1 doc/History5.htm doc/History6.htm]

2001-04-09T06:09:58.000000Z Raph Levien

Fix: Setting an ICC color space now invalidates the joint cache, so that
TransformPQR gets computed. The profile is explicitly loaded so that the
TransformPQR procedures have access to the white point. Also, the
photometric interpretation of the hack for /All separation color spaces
is reversed. Fixes Fixed_Original.pdf from Michael Jahn and Adobe tech
note 5002_EPSF_Spec.pdf.

[src/gsicc.h src/gscsepr.c src/zicc.c src/gsicc.c]

2001-04-09T05:15:57.000000Z rayjj


Fix: Need a cast to (gs_memory_t *) to prevent errors on some compliers.
Change provided by Nelson H. F. Beebe.

[src/zfdctd.c]

2001-04-08T14:12:56.000000Z Alex Cherepanov

Fix: AR4 doesn't like fonts with empty FontBBox which happens when the font
contains only space characters. Small BBox causes AR 4 to display a hairline.
So we use the full BBox.

[src/gdevpdfw.c]

2001-04-08T08:43:24.000000Z Russell Lang

Fix:  Ghostscript should return to the caller, not exit.
Remove exit() from gp_do_exit() for all platforms except VMS.

[src/gp_iwatc.c src/gp_os9.c src/gp_dvx.c src/gp_unix.c src/gs.c]

2001-04-08T08:40:29.000000Z Russell Lang

Fix: Correct the Unix executable handing of the display device
formats of 8bit and 24bit per pixel RGB.

[src/dxmain.c]

2001-04-08T04:42:55.000000Z Ralph Giles

Updates broken and obsolete offsite links in the documenation.

[doc/Fonts.htm doc/Projects.htm doc/Readme.htm doc/Make.htm doc/Maintain.htm doc/Devices.htm doc/Language.htm doc/Ps2epsi.htm doc/New-user.htm doc/Lib.htm]

2001-04-07T23:34:40.000000Z Raph Levien

Completes the change of default X directories to /usr/X11R6. Last commit
on this was inadvertently incomplete.

[src/unix-gcc.mak src/unixansi.mak]

2001-04-07T08:39:17.000000Z Raph Levien

Updates Changes and History6 doc files (using script) in prep for 6.64.

[doc/Changes.htm doc/History6.htm]

2001-04-07T08:18:53.000000Z Ralph Giles

Documentation fixups for broken internal links.

[doc/Make.htm doc/Maintain.htm doc/Release.htm doc/Devices.htm]

2001-04-07T08:07:17.000000Z Raph Levien

Removes \r\n line ends inadvertently added.

[icclib/icc.c icclib/icc.h src/dscparse.h]

2001-04-07T07:58:50.000000Z Raph Levien

Trivial doc patch.

[doc/Develop.htm]

2001-04-07T07:55:25.000000Z Raph Levien

Updates version number and date in preparation for 6.64 release. Updates
Develop.htm to accurately list source files.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Source.htm doc/Maintain.htm man/ps2epsi.1 doc/Install.htm doc/Copying.htm doc/API.htm doc/DLL.htm doc/Issues.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 lib/gs_init.ps src/version.mak doc/Fonts.htm man/pf2afm.1 man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/New-user.htm doc/Lib.htm doc/Bug-info.htm doc/README doc/Tester.htm doc/gs-vms.hlp man/font2c.1 man/gsnd.1 doc/Htmstyle.htm man/pdfopt.1 man/ps2pdf.1 man/pdf2ps.1 doc/News.htm doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/History1.htm doc/Current.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm man/ps2ps.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 doc/History5.htm doc/History6.htm]

2001-04-07T07:28:33.000000Z Ralph Giles

Fix: two small issues with compilation under xlc on IBM AIX RS6000, a name
conflict with structures names (u)int64, and trailing commas in enum
declarations. Patch from Dan Coby. Sourceforge bug #414328.

[icclib/icc.c icclib/icc.h src/dscparse.h]

2001-04-07T07:12:52.000000Z Raph Levien

Fix: Emits W or W* after path construction operators when outputting
clip paths in the pdfwrite driver, to be correct with respect to the
PDF spec.

[src/gdevpdfd.c]

2001-04-07T06:50:27.000000Z Raph Levien

Changes default XLIBDIR and XINCLUDE to /usr/X11R6, which is far more
likely than the previous values.

[src/ugcclib.mak src/unix-gcc.mak src/unixtrad.mak src/contrib.mak]

2001-04-07T01:47:00.000000Z Alex Cherepanov

Fix: A comment is corrected to match the source.

[lib/pdf_main.ps]

2001-04-07T01:34:23.000000Z Alex Cherepanov

Fix: The search area for %%EOF at the end of PDF file is increased
to 4K to cover a file generated by Distiller 3.02b for AIX 4.1.1
Customer #580

[lib/pdf_main.ps]

2001-04-07T01:17:50.000000Z Russell Lang

Corrections to interpreter API documentation.
If "gs -h" executed, gsapi_exit() must be called next.
Assign copyright to artofcode LLC.

[doc/API.htm]

2001-04-07T01:07:01.000000Z Alex Cherepanov

Fix: Compressed fonts are now recognized as narrow during font substitution.
Customer #580

[lib/gs_fonts.ps]

2001-04-07T00:33:29.000000Z Raph Levien

Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.

[src/gdevhpij.c src/gdevhpij.h src/contrib.mak doc/Devices.htm]

2001-04-07T00:33:22.000000Z rayjj


Fix: Genoa FTS 035-07.ps got a SEGV error caused by data being allocated
in non-GC memory, but pointer enumumeration giving these pointers to the
GC for tracing. Since these objects didn't have GC type headers bad things
happened. Also change one of the allocations in sjpegc.c to immovable that
was not -- this change was not needed to prevent the crash.

[src/zfdctd.c src/sjpegc.c]

2001-04-07T00:15:03.000000Z Ralph Giles

adds a last few doc fixups before the 6.64 beta release.

[doc/Htmstyle.htm doc/C-style.htm doc/Bug-info.htm]

2001-04-07T00:08:08.000000Z Raph Levien

Uses better test for avoiding crash on "gs -h". Also updates API document.
Thanks to Russell Lang.

[src/imain.c doc/API.htm]

2001-04-06T22:57:46.000000Z bdheller

Removed unecessary include of Macintosh QDOffscreen.h header

[src/iapi.h]

2001-04-06T22:23:44.000000Z Raph Levien

PDF 1.4 improvements: Fixes garbage collection of device filter stack.
Forces idempotent path drawing in transparency mode. Corrects handling
of Group at toplevel page.

[lib/pdf_main.ps lib/pdf_draw.ps src/gsstate.c src/gdevp14.c]

2001-04-06T22:22:38.000000Z Raph Levien

Fix: Fixes crashes in Type 4 function evaluator when stack is empty.

[src/gsfunc4.c]

2001-04-06T11:27:00.000000Z Ralph Giles

Various documenation fixups.
Removes pointer to external pdf_sec.ps now that the full implementation is in our distribution.
Adds note on the class="offset" attribute to the html style guidelines.

[doc/Htmstyle.htm doc/API.htm doc/Readme.htm doc/Bug-form.htm doc/Psfiles.htm doc/New-user.htm]

2001-04-06T08:43:29.000000Z Russell Lang

Fix: Do not put Windows stdin into binary mode if it is the console
because this returns CR and LF each time the Enter key is pressed.
This caused Ghostscript to not pause at following showpage prompts.

[src/dwmainc.c]

2001-04-06T08:36:02.000000Z Russell Lang

Fix: Apparently Japanese Windows uses WM_USER+1 internally
and conflicts with gswin32c messages starting from WM_USER+1.
So gswin32c messages are moved to WM_USER+101 range.
Fix from Akira Kakuto

[src/dwmainc.c]

2001-04-06T07:27:22.000000Z Ralph Giles

updates to support libpng v1.0.10.
OS/2 makefile fixup for v1.0.9 and above from Russell Lang.

[src/openvms.mak src/watcw32.mak src/dvx-gcc.mak src/watc.mak src/unixansi.mak src/unixtrad.mak src/msvclib.mak src/os2.mak src/imain.c src/bcwin32.mak src/ugcclib.mak src/libpng.mak src/msvc32.mak src/unix-gcc.mak src/all-arch.mak src/watclib.mak]

2001-04-06T06:42:45.000000Z rayjj


Fix: Set default size of MAX_ESTACK to 5000. This is the minimal fix
recommended by L. Peter Deutsch in the followup to SourceForge bug
#224095. This should be fixed later to handle automatic stack
expansion. The approaches are defined by Peter as #2 and #3.
Interim resolution to SorceForge bug #224095.

[src/interp.c]

2001-04-06T03:19:07.000000Z rayjj


Fix: Some compilers complain that: "Argument of type "stream *" is
incompatible with parameter of type "FILE *". Thanks to Nelson Beebe
for finding this (on SGI).

[src/gs_stdio.h]

2001-04-05T23:21:15.000000Z Raph Levien

Adds a lop_pdf14 field to logical operators, which is used to force non-
idempotent drawing of paths.

[src/gsropt.h]

2001-04-05T14:44:39.000000Z rayjj

Adds issues from SourceForge bug numbers: 232334, 233403, 406643.
Also adds missing bug ID for #228808.

[doc/Issues.htm]

2001-04-05T08:49:58.000000Z Russell Lang

Updates to documentation.  Location of main ftp site is now
ftp://mirror.cs.wisc.edu/pub/mirrors/ghost.
Correct some links to the www.cs.wisc.edu web site.
Remove the statement that the Inprise compiler is used
for Windows distribution archives.

[doc/Fonts.htm doc/Make.htm doc/Release.htm doc/New-user.htm doc/Bug-info.htm doc/Install.htm doc/Tester.htm]

2001-04-05T08:32:28.000000Z igorm

Fix: Speed up shading type 1.

[src/lib.mak src/gsshade.c src/gxshade1.c]

2001-04-04T21:05:00.000000Z Raph Levien

Fix: Adds whitespace to sed command in ps2epsi, needed on RH Linux 6.2.

[lib/ps2epsi]

2001-04-04T19:20:27.000000Z Alex Cherepanov

Fix: JPEG data made GC-traceable to prevent early freeing. Bug # 227090
gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure is
   allocated with a descriptor.
sdct.h : defines descriptors for JPEG structures.
sjpegc.c : implements the linked list of JPEG core blocks
sjpegd.c sjpege.c : corrects the initialization order of (de)compress struct's
gsstruct.h : yet another macro for a structure with 1 string and 1 ptr

[src/sdeparam.c src/sjpegd.c src/sjpege.c src/zfdctd.c src/zfdcte.c src/gdevpsdu.c src/sdct.h src/gdevjpeg.c src/sjpegc.c]

2001-04-04T18:45:08.000000Z Alex Cherepanov

Fix: JPEG data made GC-traceable to prevent early freeing. Bug # 227090
gsstruct.h : yet another macro for a structure with 1 string and 1 ptr

[src/gsstruct.h]

2001-04-04T16:36:36.000000Z rayjj

Move SourceForge bug #226943 to the "Other implementation" section
of this document. The %ram% device has never been a user or customer
issue, but it might be handy to have.

[doc/Projects.htm]

2001-04-04T16:09:15.000000Z Alex Cherepanov

Fix: Register /All and /None in the name table on look-up. Otherwise
an attempt to set the separation color space fails with /undefined

[src/gscsepr.c src/zcssepr.c]

2001-04-04T07:51:15.000000Z Ralph Giles


updates to support libpng v1.0.9.

[src/bcwin32.mak src/openvms.mak src/ugcclib.mak src/watcw32.mak src/libpng.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/watc.mak src/unixansi.mak src/unixtrad.mak src/msvclib.mak src/all-arch.mak src/os2.mak src/watclib.mak]

2001-04-04T07:22:48.000000Z Raph Levien

Adds request for code-review submissions to identify intended branches.

[doc/Maintain.htm]

2001-04-04T05:25:32.000000Z Alex Cherepanov

Fix: equality operation between a pointer and enum constant (with 0 value) is a
syntax error on CodeWarrior. Replacing the enum with NULL. From Bernd Heller

[src/zdscpars.c]

2001-04-04T05:19:33.000000Z Alex Cherepanov

Fix: Previous fix had OutputFile set to a debug value. Restoring it to NUL

[lib/ps2epsi.bat]

2001-04-04T04:54:53.000000Z rayjj


Fix: The fileposition operator cannot be used on some data sources.
Use .fileposition (if on Ghostscript) and make some other changes
to make this portable to other PostScript interpreters.
SourceForge bug #223005.

[lib/image-qa.ps]

2001-04-04T04:45:42.000000Z Alex Cherepanov

Fix: -dDELAYSAFER flag added; append operator fixed in Windows and
OS/2 scripts; literal newlines removed from sed script. Bugs #223896, #230699

[lib/ps2epsi lib/ps2epsi.ps lib/ps2epsi.cmd lib/ps2epsi.bat]

2001-04-04T04:25:00.000000Z Raph Levien

Updates Glenn Ramsey's email address in the Epson 300 documentation.

[doc/Devices.htm]

2001-04-03T20:04:46.000000Z rayjj


Remove the bmpa*** devices from the default build. These are
example devices to demonstrate async rendering but do not have
any advantages to users over the bmp*** devices, and their
inclusion requires thread support which is not available on
all systems. Resolves SourceForge bug #213799.

[src/unix-gcc.mak src/unixansi.mak src/unixtrad.mak]

2001-04-03T15:53:01.000000Z igorm

1. Removing the article "Minor Bugs. kshow doesn't restore currentfont after running proc." due to fixed.
2. Adding article "Buffering in input filters" to "Differences from Adobe Implementation".

[doc/Issues.htm]

2001-04-03T11:12:58.000000Z Russell Lang

Fix: Windows poll function now returns a code to interrupt Ghostscript
if the text window is closing.  Don't show message box on exit if
user closed the text window.

[src/dwtext.c src/dwmain.c]

2001-04-01T10:13:24.000000Z Russell Lang

Adds target to OS/2 makefile to build distribution zip archive.
Disables multiple image windows for OS/2 because we can't tell
when subsequent windows are closed.  To allow multiple windows
we would need to rewrite gspmdrv.c.

[src/dpmain.c src/os2.mak]

2001-04-01T01:15:24.000000Z Raph Levien

Updates Changes and History6 files from CVS logs using automated tools,
in preparation for 6.63 release.

[doc/Changes.htm doc/History6.htm]

2001-04-01T01:10:55.000000Z Raph Levien

Updates dates in preparation for 6.63 beta release. News updated.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm doc/Copying.htm doc/API.htm doc/Issues.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/New-user.htm doc/Psfiles.htm doc/Lib.htm doc/Bug-info.htm doc/README doc/Tester.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 man/pdf2ps.1 man/ps2pdf.1 doc/News.htm doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/Current.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 man/ps2ps.1 doc/History4.htm man/ps2pdfwr.1 doc/Ps2epsi.htm doc/History5.htm doc/History6.htm]

2001-04-01T00:35:26.000000Z Raph Levien

Change: The Ghostscript 'pwrite' function name conflicted with the
standard pwrite function defined in unistd.h on several systems.
To avoid confusion with the standard function change the name to
stream_write. Also change 'pputc' to 'stream_putc' and 'pputs' to
'stream_puts'. Fixes SourceForge bug #410772. Fix by Ray Johnston.

[src/gdevpsu.c src/gdevpdf.c src/spsdf.c src/gdevpsf1.c src/zfcmap.c src/gdevpdfb.c src/gdevpsdu.c src/gdevpdfc.c src/gdevpsft.c src/gdevpdfd.c src/gdevpdfe.c src/gdevpdfg.c src/gdevps.c src/gdevpdfj.c src/gdevpdfm.c src/gdevpdfo.c src/spprint.c src/gdevpdfs.c src/gdevpdft.c src/gdevpdfu.c src/spprint.h src/gdevpdfw.c src/gsfunc4.c src/gdevpsfm.c]

2001-04-01T00:33:36.000000Z Raph Levien

Fix: Adds imaging_dev field to text enumeration, so that bbox device can
intercept low level drawing operations caused by implementation of
forwarded high level text operations.

[src/gstext.c src/gdevbbox.c src/gxccache.c src/gxtext.h]

2001-04-01T00:30:41.000000Z Raph Levien

Applies PDF 1.4 rendering with all devices. Previously, only pnga device
contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
model is detected in the source file, it installs the pdf 1.4 rendering
device as a device filter.

[src/gsdfilt.c src/lib.mak lib/pdf_main.ps src/gdevp14.h src/gsdfilt.h src/zdfilter.c src/gdevp14.c]

2001-03-31T10:11:55.000000Z Russell Lang

Fix: When gswin32 text window is closed, exit the interpreter on next
access to stdin and then destroy the text window.

[src/imain.c src/dwtext.c src/dwmain.c]

2001-03-31T10:09:47.000000Z Russell Lang

Fix: Corrects memory allocation of command line arguments
in the programs which load the Ghostscript interpreter
DLL / shared object.

[src/dwmain.c src/dxmain.c src/dwmainc.c src/dpmain.c]

2001-03-31T10:08:43.000000Z Russell Lang

Fix: Put Windows console stdout and stderr in binary mode.
Ignore the initial callout for stdout and stderr as the
procedure stream acquires a buffer.

[src/imain.c src/dwmainc.c]

2001-03-31T10:07:48.000000Z Russell Lang

Fix: Correct the Windows virtual key code passed from the image
window to the console.

[src/dwimg.c]

2001-03-30T18:22:28.000000Z rayjj


Fix: Prevents the buffered mode of the x11 device from missing updates
from the bitmap buffer to the X display.  Fix for Artifex customer #1130

[src/gdevx.c]

2001-03-29T13:27:59.000000Z igorm


Fix: After recognizing a number the scanner wrongly interpreted it
as a name, if the number ends at the end of input buffer.
Change from Raph.  SourceForge bug #224205.

[src/iscannum.c]

2001-03-29T07:26:57.000000Z Russell Lang

Fix: Correct memory allocation problems in the display device.
Return correct pointers from display_enum_ptrs so that the
memory device and bitmap are not moved or prematurely freed.
Adds a finalize procedure.
Change the memory device to not forward to the display device.
Mark the memory device as retained so it gets freed at the
correct time.

[src/gdevdsp.c src/gdevdsp2.h]

2001-03-29T04:09:40.000000Z rayjj


Fix: Changes to introduce the min_left stream state variable set this to
1 for procedure streams, which caused 1 character to be retained in the
stream buffer which was not passed to the client. This broke the DLL
interface where procedure callouts were used to get the string from the
callback.  Procedure streams have no need for EOD lookahead (to force
closure) so the correct min_left value is 0. SourceForge bug #404331.

[src/stream.h src/zfproc.c src/stream.c]

2001-03-28T21:50:56.000000Z Alex Cherepanov

Fix: mdev->memory member was set to 0 causing gx_device_enum_ptr()
not enumerate mdev. This led to freeing of mdev by GC and memory
exceptions during de-allocation of the display device.

[src/gdevdsp.c]

2001-03-28T21:27:15.000000Z Raph Levien

Increments version number after 6.62 release.

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

2001-03-28T21:24:00.000000Z Raph Levien

Adds icclib subdirectory to tarballs.

[toolbin/makeset.tcl]

2001-03-28T18:30:35.000000Z rayjj

Update mail address from bug-gs@aladdin.com to bug-gs@ghostscript.com.

[src/imainarg.c]

2001-03-28T08:46:15.000000Z Russell Lang

Fix: In the display device, allow NULL as a valid value for
DisplayHandle.  Correct the code which requires the device to
be closed before changing the DisplayHandle and DisplayFormat
parameters.  SourceForge bug # 411101.

[src/gdevdsp.c]

2001-03-27T21:15:55.000000Z Alex Cherepanov

Fix: BATCH parameter is added to all bdftops* scripts

[lib/bdftops lib/bdftops.cmd lib/bdftops.bat]

2001-03-27T21:03:18.000000Z Alex Cherepanov

Some attributes of Catalog object are lost during PDF to PDF conversion

[doc/Issues.htm]

2001-03-27T20:53:36.000000Z Alex Cherepanov

Fix: Avoid rangecheck error when character code exceeds 255.
Support zero-size bitmap used by some fonts for space character.

[lib/bdftops.ps]

2001-03-27T09:56:39.000000Z igorm

Fix for CIDFontType 0 :
1. Erroneous glyphs are drawn by cshow (with -dNOCACHE);
2. Glyphs written in horizontal direction instead vertical (with anti-aliasing);
3. Erroneous glyphs and awkward metrics (with anti-aliasing and -dNOCACHE);
Patches 1 & 3 from Hideyuki Suzuki (hideyuki), improved by igorm.
SourceForge bug #222683.

[src/gxchar.c src/zchar1.c]

2001-03-27T09:38:39.000000Z Russell Lang

Fix: flush procedure based stdout and stderr on exit.

[src/imain.c]

2001-03-27T09:37:10.000000Z Russell Lang

Fix: closefile added for procedure based stdio to prevent disabled
stream from appearing valid.

[src/ziodevsc.c]

2001-03-27T09:35:22.000000Z Russell Lang

Change the search order for the Ghostscript Windows DLL to
try the executable directory before the location specified
in the GS_DLL environment variable.

[src/dwdll.c doc/Install.htm]

2001-03-26T12:00:07.000000Z Russell Lang

Adds Windows %printer% device to MS Visual C++ build.

[src/msvc32.mak]

2001-03-26T11:28:20.000000Z Russell Lang

Adds %printer% device to Windows to allow a printer to be specified
as -sOutputFile="%printer%Printer Name".  This replaces the use of
"\\spool\Printer Name" for all but Windows 3.1/Win32s.
Unlike the old \\spool\, the new %printer% device does not
write a large temporary file.

[src/gdevwpr2.c src/gp_msprn.c src/winlib.mak doc/Install.htm]

2001-03-26T09:44:08.000000Z Russell Lang

Adds Tumble parameter to mswinpr2 device for specifying the duplex
arrangement.  Adds QueryUser to the parameters returned by
win_pr2_get_params, so that it works from the command line.

[src/gdevwpr2.c]

2001-03-25T10:18:50.000000Z igorm

Fix: The old code can mis-identify ShadingType 1 function as constant
due to testing it at insufficient set of points.
Replacing it with slower accurate code.
SourceForge bug #228714.

[src/gxshade.c src/gxshade1.c src/gxshade.h]

2001-03-25T02:03:44.000000Z Alex Cherepanov

Implementation of security hooks for PDF reader by Geoffrey Keating
is merged into the main GS code base.

[lib/pdf_sec.ps]

2001-03-24T23:59:23.000000Z Alex Cherepanov

Fix: URI action was not converted to corresponding pdfmark and
lost during PDF to PDF conversion. Bug #409245, patch Leon Bottou
with some changes.

[lib/pdf_main.ps]

2001-03-24T04:17:07.000000Z Alex Cherepanov

Fix: AutoFilter.* options now select lossless compression for the image
smaller than 64 pixels in any dimension. Bug # 226391 from a free user.

[src/gdevpsdi.c]

2001-03-23T22:18:28.000000Z Alex Cherepanov

Fix: Maximum depth of an outline tree increased from 8 to 32.
Bug #410595 from a free user.

[src/gdevpdfx.h]

2001-03-23T22:04:19.000000Z Alex Cherepanov

Fix: pdf_reset_graphics() didn't set correct default color (black)
in /DeviceCMYK color model. An attempt to set white color was ignored
because it was considered equal to the default color causing white
objects rendered black. Bug #410441 from a free user.

[src/gdevpdfg.c]

2001-03-22T15:12:48.000000Z Alex Cherepanov

Fix: initial values of fill and stroke color didn't change when
ProcessColorModel changed. An attempt to set white color in CMYK mode
was ignored because it was considered equal to the default color.
Bug #410441 from a free user.

[src/gdevpdf.c]

2001-03-21T05:10:31.000000Z Alex Cherepanov

Fix: ARTICLE pdfmark generated invalid bead object if /Page key
was left out. Bug # 227651 from  mbentley at users.sourceforge.net

[src/gdevpdfm.c]

2001-03-21T04:25:48.000000Z Alex Cherepanov

Fix: coordinate range is reduced to +/- 16383 to satisfy actual AR4
restrictions. When CTM was scaled to reduce the range, line width in
stroke and CTM in fill were wrong. Bug # 409105 from raf_mellen at
users.sourceforge.net

[src/gdevpdfd.c]

2001-03-20T16:41:28.000000Z Alex Cherepanov

Added 2 issues related to JPEG in PDF, Bug 226391

[doc/Issues.htm]

2001-03-20T07:36:30.000000Z rayjj


Moves the following SourceForge bugs to the Issues.htm documentation:
      201955, 220967, 223992.

[doc/Issues.htm]

2001-03-20T05:04:59.000000Z Alex Cherepanov


Fix: OmniForm generates PDF files with endobj missing in some objects.
Adobe Acrobat Reader ignores this. Generally speaking, Ghostscript does
not attempt to accept files that grossly fail to obey the Adobe
specification and are produced by software other than a very few
extremely widespread applications. However work-around for this case
is easy and unlikely to break anything. SourceForge bug #406694.

[lib/pdf_base.ps]

2001-03-19T19:36:44.000000Z Raph Levien

Updates Changes and History files in preparation for 6.62 beta. Also
references new Issues.htm file from Readme.

[doc/Changes.htm doc/News.htm doc/Readme.htm doc/History6.htm]

2001-03-19T19:27:04.000000Z rayjj

Inital version of this file that will be used to capture notes about
minor bugs or compatibility that are identified when action will not
be undertaken immediately.

[doc/Issues.htm]

2001-03-19T17:26:18.000000Z Raph Levien

Updates date for 6.62 release to 2001-03-19.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm doc/Copying.htm doc/API.htm doc/DLL.htm doc/Bug-form.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 src/version.mak man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Ps2pdf.htm doc/Develop.htm doc/Helpers.htm man/pdf2dsc.1 doc/New-user.htm doc/Psfiles.htm doc/Lib.htm doc/Bug-info.htm doc/README doc/Tester.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/Current.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 man/ps2ps.1 doc/History4.htm man/ps2pdfwr.1 doc/Ps2epsi.htm doc/History5.htm doc/History6.htm]

2001-03-19T17:12:45.000000Z Raph Levien

Fix: Adds lib directory to MS-Windows distribution archive.
Change copyright message in MS-Windows setup program
to artofcode LLC. Thanks to Russell Lang for the patch.

[src/winint.mak]

2001-03-19T17:11:15.000000Z Raph Levien

Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
makefile changes to match. Adds missing COPYRIGHT and other documentation
to icclib. Thanks to L. Peter Deutsch for pointing out the need.

[icclib src/openvms.mak src/watcw32.mak src/dvx-gcc.mak src/unixtrad.mak src/watc.mak src/unixansi.mak src/msvclib.mak icclib/COPYRIGHT src/os2.mak icclib/icc9809.h icclib/icc.c src/icc9809.h src/bcwin32.mak src/icc.c src/ugcclib.mak icclib/icc.h src/unix-gcc.mak src/msvc32.mak src/icc.h icclib/NOTES icclib/README src/watclib.mak]

2001-03-19T16:46:05.000000Z Alex Cherepanov

There was a spelling error in Juan Manuel Acosta's name.
His entry is also moved to "major contributers" section.

[doc/Helpers.htm]

2001-03-18T19:17:50.000000Z igorm

Fix: /None and /All separations are now supported.
SourceForge bug #228354.

[src/lib.mak src/gscsepr.c src/zcssepr.c]

2001-03-17T01:30:16.000000Z Raph Levien

Updates Changes and History6 files from cvs commit logs, in preparation for
6.62 beta release.

[doc/Changes.htm doc/History6.htm]

2001-03-17T01:26:50.000000Z Raph Levien

Documentation changes in preparation for 6.62 beta release.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm doc/Copying.htm doc/API.htm doc/DLL.htm doc/Bug-form.htm doc/Drivers.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm man/gs.1 man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/New-user.htm doc/Bug-info.htm doc/Lib.htm doc/README doc/Tester.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/Current.htm doc/History1.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 man/ps2ps.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 doc/History5.htm doc/History6.htm]

2001-03-17T01:18:34.000000Z Raph Levien

Minor patch to header files so that unlink() prototype doesn't conflict
when const is disabled through #define.

[src/stdio_.h src/unistd_.h]

2001-03-17T01:15:42.000000Z Raph Levien

Integrates ICC profile input support from Jan Stoeckenius. Also includes
slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
Gill.

[src/gscscie.c src/gs_stdio.h src/int.mak src/gdevpdfc.c src/unixtrad.mak src/watc.mak src/msvclib.mak src/gsciemap.c src/zicc.c src/gsicc.c src/zcie.c src/gscie.c src/gscdef.c src/stream.c src/lib.mak src/bcwin32.mak src/icc9809.h src/gsicc.h src/gdevpx.c src/icc.c src/gscie.h src/msvc32.mak src/unix-gcc.mak src/icc.h lib/pdf_draw.ps lib/gs_icc.ps src/gscolor.c src/gscssub.c lib/pdf_ops.ps src/version.mak src/openvms.mak src/icie.h src/watcw32.mak src/dvx-gcc.mak src/gxshade.c src/unixansi.mak src/devs.mak src/gscolor1.c src/os2.mak src/gscspace.h src/ugcclib.mak src/gs.mak src/gxcie.h src/wctail.mak src/winlib.mak src/icclib.mak src/watclib.mak]

2001-03-17T00:16:53.000000Z Raph Levien

Adds typed image rendering to pnga (prototype PDF 1.4) device.

[src/gdevpnga.c]

2001-03-16T22:53:18.000000Z Russell Lang

Fix:
Fixes SourceForge bug #219677.
Adds debug and debugclean targets to MSVC++ makefile that
build in the debugobj and debugbin directories.
Fixes BEGINFILES and BEGINFILES2 so that 'make clean' removes
all files.

[src/msvc32.mak src/winlib.mak]

2001-03-16T22:19:16.000000Z Russell Lang

Change AFPL Ghostscript path on Windows and OS/2 platforms
from c:/aladdin to c:/gs.

[src/bcwin32.mak src/watcw32.mak src/msvc32.mak src/watc.mak src/msvclib.mak src/watclib.mak]

2001-03-16T22:12:34.000000Z Ralph Giles


Fix: properly include unistd_.h in files that call unlink()

[src/gxclfile.c src/gdevpdf.c src/gsiodev.c]

2001-03-15T09:11:28.000000Z Russell Lang

When building the Linux shared object, separate directories soobj and sobin
are used to prevent 'make' from mixing the object files and building a
corrupt executable.
Added 'API.htm' to the installed documentation files.

[src/unix-dll.mak src/unix-gcc.mak src/unixinst.mak]

2001-03-14T13:03:49.000000Z igorm

Fix: kshow now restores currentfont if changed while running proc. Fixes
SourceForge bug #221715.

[src/gxchar.c]

2001-03-14T12:00:37.000000Z igorm

Fix: Define to DefaultGray, DefaultRGB, DefaultCMYK color spaces to
allow UseCIEColor to work. SourceForge bugs #216461, #219676.

[lib/gs_ll3.ps]

2001-03-13T22:50:03.000000Z Alex Cherepanov

Interpolation overriding is modified to support
- colorimage; old version did nothing
- ImageType 3 dictionaries; old version did nothing
- local data source in global mode; old version failed

[lib/gs_init.ps]

2001-03-13T20:01:35.000000Z Raph Levien

Fix: Corrects whitespace for new entries in devs.mak for VMS build. Thanks
to Jouk Jansen.

[src/devs.mak]

2001-03-13T19:57:06.000000Z Raph Levien

Fix: ztype9mapcid now allocates string in global memory space to match
allocation of contents. Thanks to Masatake YAMATO for the patch.

[src/zfcid0.c]

2001-03-13T08:38:03.000000Z igorm

Fix: Some device color components were missed while serializing halftone to clist,
causing segment fault during playback. Changes use proper number
of device color components to be written to clist and read from it.
SourceForge bug #211449.

[src/gxclrast.c src/gxclpath.c]

2001-03-13T07:12:06.000000Z Russell Lang

Added documentation for Ghostscript interpreter API as used
by Windows and OS/2 DLL and Linux shared object.

[doc/API.htm doc/DLL.htm doc/Readme.htm]

2001-03-13T07:09:29.000000Z Russell Lang

Implement new Ghostscript interpreter API for DLL or shared object.
Reimplement old DLL interface using new API.
See iapi.h and iapi.c for new API.
For unix, build using "make so".
Added loader programs for Ghostscript interpreter library
for Linux (dxmain.c), Windows (dw*.c) and OS/2 (dpmain.c).
Add new "display" device for use with the new API.
Linux dxmain.c uses the "display" device, Gtk+ and GdkRgb
for faster drawing than the "x11" device.

[src/idisp.h src/dwmain.c src/dwtext.cpp src/dxmain.c src/int.mak src/iapi.c src/unix-dll.mak src/gdevpm.c src/dwmainc.cpp src/dwmain.h src/iapi.h src/imainarg.c src/gdevdsp.c src/imain.c src/gdevdsp.h src/dwnodll.cpp src/msvc32.mak src/unix-gcc.mak src/gsdll2.def src/dwdll.cpp src/dwimg.c src/files.h src/dwimg.h src/dwmain.cpp src/dwtext.c src/dwmainc.c src/gdevdsp2.h src/gp_mswin.c src/dwtext.h src/gsdll32.def src/devs.mak src/gp_mswin.h src/gsdllwin.h src/gp_os2.c src/main.h src/os2.mak src/gdevmswn.c src/iconf.c src/winint.mak src/gp_msdll.c src/dwnodll.c src/gsdll.c src/dwdll.c src/dwimg.cpp src/idisp.c src/dpmain.c src/gsexit.h src/iminst.h src/gs.c src/gsdll.h src/winlib.mak src/dwdll.h src/dpmainc.c]

2001-03-13T06:51:39.000000Z Russell Lang

Redirect all user messages from stdout and stderr to outwrite() and
errwrite().  This is needed to allow stdout/err to be redirected to
the caller for DLL / shared object builds.

[src/gsmisc.c src/gsargs.c src/gdevwddb.c src/imainarg.c src/gdevhl7x.c src/gdevos2p.c src/gdevsppr.c src/gxclutil.c src/gdevpdfm.c src/imain.c src/gdevsunr.c src/gsinit.c src/gdevupd.c src/idebug.c src/std.h src/gslib.c src/gdevimgn.c src/gdevwpr2.c src/gdevifno.c src/igc.c src/gsio.h src/gdevcdj.c src/gs.c src/gp_unifs.c src/gdev4693.c]

2001-03-13T00:41:10.000000Z Raph Levien

Adds device filter pipeline, which will be used by PDF 1.4 and other
enhanced imaging operations.

[src/gsdfilt.c src/lib.mak src/int.mak src/gsdfilt.h src/zdfilter.c src/gzstate.h src/gsstate.c]

2001-03-12T22:53:22.000000Z Alex Cherepanov

Fix: GS didn't accept packed array as data source in image with
multiple data sources. From internal bug report.

[src/zimage2.c]

2001-03-12T22:41:22.000000Z dancoby

This fix corrects a problem with VM usage in the DSC parser.
Previously the dictionary dsc_dict was allocated in global VM
but the DSC parser would try to insert items while in local VM
mode.  This fix forces the DSC parser into global VM mode.

[lib/gs_dscp.ps]

2001-03-12T04:11:28.000000Z Russell Lang

stdio implementation using callouts.  Missing file from last commit.

[src/ziodevsc.c]

2001-03-12T04:05:19.000000Z Russell Lang

Provide alternate %stdin/out/err implementation using procedure
based streams and callouts.
Previous stdio implementation with STDIO_IMPLEMENTATION=
New callout stdio implementation with STDIO_IMPLEMENTATION=c
Bug fix to zflush and zpeekstring.
New stdio stream code is in ziodevsc.c which will be in next commit.

[src/openvms.mak src/int.mak src/watcw32.mak src/errors.h src/dvx-gcc.mak src/unixtrad.mak src/unixansi.mak src/watc.mak src/msvclib.mak src/os2.mak src/imain.c src/bcwin32.mak src/ugcclib.mak src/gs.mak src/ziodev.c src/zfileio.c src/interp.c src/zfproc.c src/msvc32.mak src/unix-gcc.mak src/files.h src/iminst.h src/zfile.c src/watclib.mak]

2001-03-12T03:56:13.000000Z Russell Lang

Cleanup of MS-Windows and OS/2 code.
Remove old 16-bit MS-Windows code.
Remove references to stdout/err, replacing with eprintf().
Remove global variables.
Disable mswindll and os2dll devices if a callback function is not provided.

[src/gdevwprn.c src/gdevwpr2.c src/gdevpm.c src/gp_mswin.c src/gp_mswin.h src/gp_os2.c src/gdevmswn.c src/gdevwdib.c]

2001-03-12T03:50:02.000000Z Russell Lang

Replace many references to exit() with returns.

[src/imainarg.h src/imain.c src/gxalloc.h src/zcontext.c src/igcref.c src/errors.h src/gsargs.c src/stdpre.h src/gp_dvx.c src/imainarg.c src/gsexit.h src/gs.c src/gp_unix.c src/gp_os2.c src/gsargs.h]

2001-03-12T00:04:28.000000Z rayjj


Fix: When objects were resized or trimmed, the objects o_size was not
being updated if the rounded_size didn't change. This could lead to
alignment issues on some systems (causing a crash). Problem reported
by Artifex customer #460.

[src/gsalloc.c]

2001-03-11T05:15:26.000000Z Alex Cherepanov

Fix: GS can override image interpolation using INTERPOLATE or NOINTERPOLATE
flags. These flags had no effect on PDF because the PDF interpreter is bound
earlier than image operator is redefined. New version takes image and imagemask
values from systemdict at run time.

[lib/pdf_draw.ps]

2001-03-04T16:59:19.000000Z Alex Cherepanov

Fix: When the stream is located in an external file (i.e. the stream dictionary
contains an /F entry) GS fails with "typecheck in .knownget" because of a minor
bug in stack handling in pdf_base.ps. Bug #229425, the fix from Andreas Bolsch

[lib/pdf_base.ps]

2001-03-03T15:09:12.000000Z igorm

Fix: Removes Category dictionary from dictionary stack during
the execution of the /Font resourceforall procedure, needed
for proper access from the procedure to underlying dictionary.
Fixes SourceForge bug #224973.

[lib/gs_cidcm.ps]

2001-03-03T04:38:19.000000Z Alex Cherepanov

Fix: gp_file_name_sizeof is increased to 260 bytes, == MAX_PATH
on MS Windows. The platform-specific fix is too difficult because
some platforms may have very long or unlimited file names.
Bug #231514 submitted by anonymous user.

[src/gp.h]

2001-03-03T03:27:03.000000Z Alex Cherepanov

Fix: to achieve page independence, every page must in the general case
set page parameters. To preserve duplexing the page cannot set page
parameters. New code checks the current page size and sets it only if it
is necessary. Bug #404376 reported by bannis at users.sourceforge.net

[src/gdevpsu.c]

2001-03-03T00:45:01.000000Z Raph Levien

Adds Epson Stylus Color 300 support to uniprint, also some code cleanups.
Thanks to Glenn Ramsey and Gunther Hess for the patch.

[lib/stc300bm.upp lib/stc300.upp src/gdevupd.c doc/Devices.htm lib/stc300bl.upp]

2001-03-02T03:06:50.000000Z Alex Cherepanov

Fix: Speed-up JPEG decompression by increasing file buffer to 2K. This
avoids installation of an intermediate buffering filter that resulted in
a byte-by-byte filling of the buffer to the JPEG code. When the buffer was
not full enough a recoverable error would result in a round trip for the
next byte. Fixes SourcForge bug #405342 for Artifex customer #350.

[src/zfile.c]

2001-03-01T22:16:02.000000Z Raph Levien

Fix: Minor changes to fix compilation on VMS, thanks to Jacob =JoukJansen
for the patch.

[src/gstrans.c src/devs.mak]

2001-02-28T00:39:26.000000Z rayjj


Fix: Allocate filter in local VM when currentglobal is false. Prevents
a problem with some QuarkXpress ProcSets that turn off vmreclaim and
expect save/restore to free memory which only works on local VM. Fix
for problem reported by Artifex customer #150, file "japan.ps".

[src/zfilter.c]

2001-02-24T01:56:01.000000Z Raph Levien

Increments version number to 6.62 as part of 6.61 release process.

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

2001-02-23T03:00:13.000000Z Alex Cherepanov

Fix: eexecDecode filter returned EOF immediately if the input stream was
shorter than 9 characters. New code may misidentify short streams but old
code always failed.

[src/seexec.c]

2001-02-22T07:39:14.000000Z Raph Levien

Updates Changes.htm and History6.htm files in preparation for 6.61 release.

[doc/Changes.htm doc/History6.htm]

2001-02-22T07:30:39.000000Z Raph Levien

Updates dates and version numbers in preparation for 6.61 release.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm doc/Copying.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Commprod.htm doc/Release.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 doc/PUBLIC man/pf2afm.1 doc/Fonts.htm man/printafm.1 doc/Develop.htm doc/Ps2pdf.htm doc/Helpers.htm man/pdf2dsc.1 doc/Psfiles.htm doc/New-user.htm doc/README doc/Bug-info.htm doc/Lib.htm doc/Tester.htm doc/gs-vms.hlp doc/Htmstyle.htm man/gsnd.1 man/font2c.1 man/pdfopt.1 doc/News.htm man/pdf2ps.1 man/ps2pdf.1 doc/Make.htm doc/Unix-lpr.htm doc/Ps-style.htm doc/C-style.htm doc/History1.htm doc/Current.htm doc/History2.htm man/gslp.1 doc/History3.htm man/wftopfa.1 doc/Ps2epsi.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/History5.htm doc/History6.htm]

2001-02-22T07:27:10.000000Z Raph Levien

Continuing development of PDF 1.4 transparency and blending. This round of
commits implements groups, including non-isolated and knockout variants.
Also, moves the build rule for the pnga device from contrib to devs.

[src/gstrans.c lib/pdf_draw.ps src/contrib.mak src/devs.mak src/gxdevcli.h src/gdevpnga.c]

2001-02-22T03:59:39.000000Z Raph Levien

Fix: Defines prototypes for fputs only for (broken) Sun platforms, to
avoid type mismatches when compiling with -Dconst=. Fixes SourceForge
bug 133358.

[src/echogs.c]

2001-02-21T05:52:07.000000Z Alex Cherepanov

Fix: pswrite ProcSet is reordered to eliminate forward references
and please a simplistic parser used by one of GS customers.

[src/gdevps.c]

2001-02-21T04:23:44.000000Z Alex Cherepanov

Fix: New TransformPQR implements a relative colorimetric intent by scaling
the XYZ values relative to the white and black points. Bug #129771

[lib/gs_lev2.ps]

2001-02-20T06:09:31.000000Z dancoby

Added addition comments about how to build GS on am IBM RS6000 under AIX
version 4.3.3 using the IBM C compiler (xlc) version 5.

[doc/Make.htm]

2001-02-13T19:45:38.000000Z Alex Cherepanov

Fix: memmove() was used without portability header file memory_.h

[src/ztrans.c]

2001-02-12T21:02:51.000000Z Alex Cherepanov

Fix: Added down cast from gx_device_printer to gx_device_fax
The fix is suggested by the user.

[src/gdevdfax.c]

2001-02-09T23:38:12.000000Z Russell Lang

Added DOPDFMARKS to allow pdfmark to be called for
annotations, links and cropboxes for PDF files on
any device.
Fixes SourceForge bug # 127062.

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

2001-02-09T01:59:35.000000Z Ralph Giles


Fix: Ps-style.htm was missing from the index/blurbs in Readme.htm

Adds a note about documentation to the "Adding and Removing Files" section,
and moves that section to Maintain.htm from Release.htm.

Closes sourceforge bug #126771

[doc/Readme.htm doc/Maintain.htm doc/Release.htm]

2001-02-07T03:49:27.000000Z Alex Cherepanov

Fix: imagemask used the color of previous object if the object had smaller
clipping path than imagemask. Deferred grestore and setcolor were transposed.

[src/gdevpdfi.c]

2001-02-06T21:42:38.000000Z Alex Cherepanov

Fix: in pdfwrite mode kshow called its procedure in infinite loop bacause
the character indes was not updated. Unexpected number of calls to the
procedure often caused various errors such as /stackunderfloe.

[src/gdevpdfs.c]

2001-02-05T20:43:40.000000Z Alex Cherepanov

Fix: cvs operator did't report rangecheck when source operand is a name or
string and it's longer than the destination string. Bug # 130975

[src/iutil.c]

2001-02-03T21:31:40.000000Z Alex Cherepanov

Converted to SAFER mode.

[lib/pf2afm.bat lib/pf2afm lib/pf2afm.ps lib/pf2afm.cmd]

2001-02-03T18:50:01.000000Z Raph Levien

Fix: Changes tiff12nc to output correct number of bytes for odd widths.

[src/gdevtfnx.c]

2001-02-03T18:31:12.000000Z Alex Cherepanov

Fix: Added -dSAFER

[lib/pdf2ps.cmd]

2001-02-03T16:12:29.000000Z Alex Cherepanov

Fix: Temporary _.at file was not deleted.

[lib/pdf2ps.bat]

2001-02-03T01:23:03.000000Z Raph Levien

Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
process.

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

2001-02-02T22:08:33.000000Z Alex Cherepanov

Fix: skip all bytes after the end of the stream in the inline image until
EOL or EI is found. Some buggy PDF files require this.
 
Fix: In PDF 1.3 /Matrix key in XObject is optional. Add unitary matrix to
the form dictionary if XObject has none.

[lib/pdf_draw.ps]

2001-02-02T07:52:26.000000Z Raph Levien

Minor patches for clean VMS compile. Thanks to Jacob (=Jouk) Jansen.

[src/gsnogc.c src/gxblend.c src/stdio_.h]

2001-01-25T21:36:17.000000Z Alex Cherepanov

Fix: egcc - 2.91.66 generates incorrect code for dda_step_add(dxx4, dxx4);
Using the intermediate variable now to wark around the problem.
This bug corrupted memory block headers and caused random crashes.

[src/gxifast.c]

2001-01-14T00:25:28.000000Z Raph Levien

First cut of the PDF 1.4 transparency and blending operations.

[src/lib.mak src/gxblend.c src/contrib.mak src/gxblend.h src/gdevpnga.c]

2001-01-14T00:24:30.000000Z Raph Levien

Updates documentation in gxdevcli.h on creating device instances.

[src/gxdevcli.h]

2001-01-07T18:36:35.000000Z Ralph Giles


Updates png and zlib urls to the new canonical domain. Patch from Tobias Burnus.

[src/libpng.mak doc/Make.htm src/zlib.mak doc/Devices.htm doc/New-user.htm]

2001-01-07T18:21:55.000000Z Ralph Giles


Adds a link to Adobe's Technote #5407 regarding transparency.

[doc/Language.htm]

2001-01-04T19:39:24.000000Z Raph Levien

Changes gx_image_cached_char so that it now images to the device in the
text enumeration, rather than the current device. This change gives more
flexibility for implementations of begin_text to interpose a device of
their own for actual imaging.

[src/gxccache.c]

2001-01-04T19:08:25.000000Z Raph Levien

Brings prototypes for fill_path, stroke_path, and fill_trapezoid in sync
with code. New description for fill_trapezoid, as the parameters changed
considerably.

[doc/Drivers.htm]

2001-01-01T01:09:59.000000Z lpd


Checks in the final updates to the release documentation, including fixes
for makehist (which had been broken by the changes in the HTML formatting
conventions).

[doc/Changes.htm doc/News.htm toolbin/makeset.tcl doc/History6.htm]

2001-01-01T00:24:06.000000Z lpd


Updates repository for 6.60 release.

[doc/Projects.htm man/dvipdf.1 man/ps2ascii.1 doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm man/ps2epsi.1 doc/Install.htm src/gscdef.c doc/Copying.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm man/pfbtopfa.1 doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm src/version.mak man/gs.1 doc/Fonts.htm man/pf2afm.1 doc/Ps2pdf.htm man/printafm.1 doc/Develop.htm man/eps2eps.1 toolbin/pre doc/Helpers.htm man/pdf2dsc.1 doc/New-user.htm doc/Psfiles.htm doc/Bug-info.htm doc/Lib.htm doc/Tester.htm doc/gs-vms.hlp man/font2c.1 man/gsnd.1 doc/Htmstyle.htm man/pdfopt.1 doc/News.htm man/ps2pdf.1 man/pdf2ps.1 doc/Make.htm doc/Unix-lpr.htm doc/C-style.htm doc/Ps-style.htm doc/Current.htm doc/History1.htm doc/History2.htm man/gslp.1 man/wftopfa.1 doc/History3.htm doc/History4.htm man/ps2pdfwr.1 man/ps2ps.1 doc/Ps2epsi.htm doc/History5.htm doc/History6.htm]

2000-12-31T22:28:09.000000Z lpd


Adds a script for batch-converting PostScript files to PDF, intended to be
useful for testing.

[toolbin/many2pdf.tcl]

2000-12-31T22:26:08.000000Z lpd


Updates documentation for the Windows uninstall program to reflect the name
change from Aladdin Ghostscript to AFPL Ghostscript.

[doc/Install.htm]

2000-12-31T21:44:00.000000Z lpd


Removes or updates no longer appropriate references to Aladdin Enterprises.

[doc/Fonts.htm doc/Projects.htm doc/Use.htm doc/Make.htm doc/Commprod.htm doc/New-user.htm doc/Install.htm]

2000-12-31T01:07:18.000000Z lpd


Fix: The PDF interpreter didn't rotate the CropBox for landscape pages,
producing incorrect output if the input of ps2pdf was a landscape PDF file.

[lib/pdf_main.ps]

2000-12-30T22:07:37.000000Z lpd


Adds some developer documentation on design principles.

[doc/Develop.htm]

2000-12-30T18:45:37.000000Z Alex Cherepanov

Fix: _.at file was not deleted in BAT file;
SAFER option added to CMD file.

[lib/eps2eps.cmd lib/eps2eps.bat]

2000-12-29T05:03:49.000000Z Alex Cherepanov

Safe mode implemented using DELAYSAFER flag.

[lib/pdf2dsc lib/pdf2dsc.ps lib/pdf2dsc.bat]

2000-12-29T04:13:56.000000Z Alex Cherepanov

New flag DELAYSAFER added to defer activation of safety checks.
SAFER=false => no safety checks
SAFER=true, DELAYSAFER=false => safety checks always
SAFER=true, DELAYSAFER=true => safety checks after .setsafe

[lib/gs_init.ps]

2000-12-29T02:33:40.000000Z lpd


Adds the Fontmaps and the contributed drivers to the developer documentation
"roadmap", which is now complete.

[doc/Develop.htm]

2000-12-29T02:18:47.000000Z lpd


Adds more files to the developer "roadmap" documentation.

[doc/Develop.htm]

2000-12-29T02:17:12.000000Z lpd


Fix: documentation for gs_cidcm.ps and gs_dscp.ps was missing.

[doc/Psfiles.htm]

2000-12-29T02:16:13.000000Z lpd


Improves the set of files checked by hrefcov +lib.

[toolbin/hrefcov.tcl]

2000-12-29T02:12:08.000000Z lpd


Documents the need to run hrefcov as part of the release process; also fixes
some minor inaccuracies.

[doc/Release.htm]

2000-12-29T01:18:55.000000Z lpd


Fix: Embedded Type 1 fonts omitted StdVW.  (Acrobat Reader requires this,
even though the Type 1 specification says it is optional.)

[src/gdevpsf1.c]

2000-12-28T18:29:49.000000Z lpd


Documents about 15 additional non-standard operators (the ones most likely
to be used in future code).

[doc/Develop.htm doc/Language.htm]

2000-12-28T17:06:07.000000Z Alex Cherepanov

Fix: /NullEncode filter no longer supports fileposition.
Replacing fileposition with .fileposition

[lib/impath.ps]

2000-12-28T07:12:38.000000Z lpd


Adds substantial new material on coding conventions for structures, classes,
and subclasses.

[doc/C-style.htm]

2000-12-28T05:57:18.000000Z lpd


Makes some minor corrections and improvements to the developer
documentation.

[doc/Develop.htm]

2000-12-28T01:45:01.000000Z Russell Lang

Fix to dscparse.c for parsing DOS EPS files.
Code now looks for %!PS-Adobe- at the start of the PostScript
section, not at the start of the DOS EPS header.

[src/dscparse.c]

2000-12-26T13:41:40.000000Z igorm

The old code caused gswin crash when console window closes.

[src/dwimg.cpp]

2000-12-26T06:09:58.000000Z lpd


Fix: Expanding a permanent dictionary (systemdict or userdict) destroyed the
single-definition bookkeeping for names defined in that dictionary, slowing
down subsequent interpretation.

[src/idict.c]

2000-12-26T04:29:30.000000Z Alex Cherepanov

Fix: When a non-TrueType font was substituted for a TrueType font, the
Encoding in the font descriptor was ignored. This hack was intended to fix
SF bug # 104702, an invalid PDF file, but it broke another case. Removal of
the hack makes GS render both cases similar to AR 4.

[lib/pdf_font.ps]

2000-12-26T04:25:54.000000Z lpd


Fix: systemdict was being created too small for LanguageLevel 3 systems.
(It expanded properly, but left a sandbar.)

[src/iinit.c]

2000-12-26T04:10:12.000000Z lpd


Fixes a slight oversight in the true/false/null improvement for the PDF
interpreter.

[lib/pdf_base.ps]

2000-12-26T04:08:44.000000Z lpd


Makes the PDF interpreter handle true, false, and null specially, rather
than by dictionary lookup, so that the PostScript interpreter can still
process these names using the special fast case for names defined only in
systemdict.

[lib/pdf_main.ps lib/pdf_base.ps]

2000-12-26T01:20:58.000000Z lpd


Updates the comments with a new proposal for speeding up name lookup in the
interpreter.

[src/dstack.h]

2000-12-23T16:34:12.000000Z lpd


Fix: unixinst.mak was checked in with the previous fix only partly done.

[src/unixinst.mak]

2000-12-23T16:30:36.000000Z lpd


Fix: The list of doc files to be installed had gotten out of date
(Develop.htm, Maintain.htm, and Ps-style.htm were missing).

[src/unixinst.mak]

2000-12-23T16:29:54.000000Z lpd


Fix: The recent change for localized man pages didn't update 2 of the 3
top-level Unix makefiles.

[src/unixansi.mak src/unixtrad.mak]

2000-12-23T10:10:37.000000Z Ralph Giles


Adds support for localized manpages to the make 'install' target. On unix
the makefile will now intall any files with the $MAN1EXT extension it finds
under locale subdirs of the man directory that are listed in the MAN_LCDIRS
variable. The $man1dir is correspondingly removed from unix-gcc.mak.
Also adds separate targets: install-doc install-man install-examples
install-libdata

[src/unix-gcc.mak src/unixinst.mak]

2000-12-23T09:38:10.000000Z Ralph Giles


Adds a '-t' option to enable text output rather than html, replacing the
old behavior, which was to return text unless a version string was
passed with '-v'. The version string is now set to 'CVS' if no explicit
version is passed, and this is used in the named anchors within the html
output.

[toolbin/cvs2hist.py]

2000-12-23T06:02:39.000000Z lpd


Fixes a subtle logic bug in the scan line path filling code, which
unfortunately involved rewriting the code from scratch.  The new code is
also somewhat subtle, and may contain new bugs: DON'T TRUST IT YET.  Fixes
SourceForge bug # 117066.

[src/gxfill.c]

2000-12-23T01:33:06.000000Z lpd


Fix: The documentation of the -dSAFER command line switch was inaccurate.

[doc/Use.htm]

2000-12-22T16:58:55.000000Z lpd


Documents the preferred line breaking and indentation format for assignment
statements, including chain assignments.

[doc/C-style.htm]

2000-12-21T16:10:36.000000Z lpd


Brings gxfill.c up to date with current coding standards (except for adding
_t to the names of locally defined structure types); also puts #ifdef
FILL_TRAPEZOIDS around a little more code that tests 'if (fill_trapezoids)'.

[src/gxfill.c]

2000-12-21T03:58:54.000000Z lpd


Fix: The pswrite device produced an extra page if the transfer function
didn't map "1 setgray" to device white.

[src/gdevps.c]

2000-12-20T20:15:41.000000Z lpd


Adds more developer documentation on the PostScript interpreter; divides up
some lists of files to provide more helpful detail.

[doc/Develop.htm]

2000-12-20T19:02:24.000000Z Alex Cherepanov

AI8 writes bogus encoding array [0 1 0 0 0 0 0 0]
AR doesn't care. So we have to straighten it up here.

[lib/pdf_draw.ps]

2000-12-20T05:09:31.000000Z lpd


Adds more documentation on makefiles, .dev files, and related topics.

[doc/Develop.htm]

2000-12-20T04:20:34.000000Z lpd


Adds extensive documentation to genconf.c; also brings it into line with
current Ghostscript coding standards.

[src/genconf.c]

2000-12-19T17:55:55.000000Z lpd


Fix: The default ps2pdf "distiller parameters" weren't documented correctly;
the parameter values for the other PDFSETTINGS (screen, printer, prepress)
weren't documented at all; the xxxImageDownsampleThreshold parameters were
incorrectly documented as xxxDownsampleThreshold.

[doc/Ps2pdf.htm]

2000-12-19T05:35:53.000000Z Alex Cherepanov

Fix: In the previous fix unistd__h was misspelt as unistd_h .

[src/lib.mak]

2000-12-19T03:44:24.000000Z Alex Cherepanov

Fix: File flush method uses file member in stream. On Windows and OS/2
it is NULL for %stdout or %stderr. So the standard flush method is installed.

[src/gp_msio.c src/gp_os2.c]

2000-12-19T03:35:40.000000Z Alex Cherepanov

Fix: Seek was broken and PDF interpreter failed when FILE_IMPLEMENTATION=fd
The implementation of streams using direct OS calls is extended to support
MSVC && Win32. close_.h is replaced by more general unistd_.h

[src/lib.mak src/gpmisc.c src/close_.h src/unistd_.h src/sfxfd.c]

2000-12-18T21:58:03.000000Z Alex Cherepanov

Fix: Strict type correctness is required on VMS system.
Contributed by Jouk Jansen joukj@hrem.stm.tudelft.nl

[src/gsfcmap.c src/gdevpsf2.c src/gdevpdfw.c]

2000-12-18T06:45:23.000000Z lpd


Adds additional documentation on makefile conventions, and improves a few
other areas.

[doc/Develop.htm]

2000-12-18T03:41:35.000000Z Alex Cherepanov

The PDF specification says that the 'xref' must be on a line
by itself. The code formerly used readline and linene to check
this. However, Acrobat Reader only requires the line to begin
with 'xref', and there are enough applications producing
non-compliant PDF files that we have to do this too.

[lib/pdf_main.ps]

2000-12-17T19:06:19.000000Z Alex Cherepanov

Fix: GS didn't dereference indirect objects in Widths array.

[lib/pdf_font.ps]

2000-12-16T19:36:32.000000Z lpd


Fix: Resource usage wasn't tracked separately for Form XObjects (BP/EP
pdfmarks), producing non-compliant files that caused errors from Acrobat.
Fixes SourceForge bug # 102146.

[src/gdevpdfm.c src/gdevpdfx.h src/gdevpdfo.c src/gdevpdf.c src/gdevpdfo.h src/gdevpdft.c src/gdevpdfu.c src/gdevpdff.c src/gdevpdfw.c src/gdevpdff.h]

2000-12-16T19:31:10.000000Z lpd


Slightly changes the initialization of the random offset for font subset
prefixes, to work better with low-resolution clocks such as those typical on
PCs.

[src/gdevpdf.c]

2000-12-16T19:28:51.000000Z lpd


Fix: The previous fix for copying DSC comment keys to the heap was
unnecessarily complex.

[src/gdevpdfp.c]

2000-12-16T08:00:53.000000Z lpd


Fix: If the same standard (base 14) font was loaded more than once (because
of save/restore), the PDF file could contain fonts that had suffixed names
(e.g., Helvetica~2) but with data missing as though they were standard
fonts, upsetting Acrobat Reader.  Fixes SourceForge bug # 101905.  THIS FIX
IS IN A VERY FRAGILE AREA AND MAY INTRODUCE NEW PROBLEMS.

[src/gdevpdff.c]

2000-12-16T07:02:35.000000Z lpd


Fix: When processing DSC comments, some constant strings weren't copied to
the heap, possibly causing memory access errors.

[src/gdevpdfp.c]

2000-12-15T10:18:47.000000Z Russell Lang

Fixes bug introduced in gdevxini.c revision 1.5.
Don't overwrite the pixmap handle provided in the
GHOSTVIEW environment variable.

[src/gdevxini.c]

2000-12-15T06:09:27.000000Z rayjj


Fix: Invalid (uninitialized) StripByteCount was being left in file for the
tiff12nc and tiff24nc devices. Needed to call gdev_tiff_end_strip().

[src/gdevtfnx.c]

2000-12-15T01:46:57.000000Z lpd


Adds some additional documentation on halftones.

[doc/Develop.htm]

2000-12-14T00:14:52.000000Z lpd


Splits off the code for downsampling an oversampled character bitmap into a
separate file.

[src/lib.mak src/gsbitcom.c src/gsbitops.c]

2000-12-13T07:18:46.000000Z Alex Cherepanov

Fix: Unitialized member of CDSCPAGE caused random crashes.

[src/dscparse.c]

2000-12-13T01:33:37.000000Z lpd


Fix: pdfwrite would crash if a bitmap character was larger than 10Kb
(compressed).  The fix simply raises the limit to 1 Mb.

[src/gdevpdft.c]

2000-12-12T22:27:56.000000Z Alex Cherepanov

Fix: In TrueType fonts, glyph outlines starting with an off-curve point
didn't render correctly, replacing the curve with a pair of straight lines.

[src/gstype42.c]

2000-12-12T19:52:49.000000Z lpd


In the developer documentation, breaks down several long file lists into
shorter, more focused ones.

[doc/Develop.htm]

2000-12-11T19:40:23.000000Z Ralph Giles

removes a spurious import of the cgi module

[toolbin/cvs2hist.py]

2000-12-11T19:39:36.000000Z Ralph Giles

adds a brief blurb for Develop.htm

[doc/Readme.htm]

2000-12-11T12:52:16.000000Z Alex Cherepanov

Moves definitions of gs_state_do_ptrs and gs_state_num_ptrs from gsstate.c
to gzstate.h since they depend on the contents of struct gs_state_s defined
there.

[src/gzstate.h src/gsstate.c]

2000-12-11T08:52:01.000000Z lpd


Fix: Non-embedded Multiple Master instances weren't identified as such (font
Subtype = /MMType1).

[src/gdevpdfw.c]

2000-12-11T04:06:22.000000Z Alex Cherepanov

Fix: The pointers to the substituted color spaces in the graphics
state weren't included in the structure descriptor, causing memory
access errors if UseCIEColor was used.

[src/gsstate.c]

2000-12-10T00:17:51.000000Z lpd


Fixes a couple of dependency lists that had gotten out of sync.

[src/devs.mak]

2000-12-10T00:12:23.000000Z lpd


Fix: Embedded font subsets always used similar sequences of prefixes, making
it likely that combining multiple PDF files would lead to clashes; the code
now generates truly random prefixes, using an external source of random
data.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfe.c src/gdevpdff.c src/devs.mak src/gdevpdff.h]

2000-12-09T19:54:55.000000Z lpd


Makes the PDF writer extract orientation and bounding box information from
DSC comments, if present.  The orientation is used to set Rotate if
AutoRotatePages is not selected; the bounding box is not yet used for
anything.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c doc/Ps2pdf.htm]

2000-12-09T19:53:48.000000Z lpd


Documents the change from ViewerOrientation to ViewingOrientation in the
DSC parser.

[doc/News.htm]

2000-12-09T19:52:49.000000Z lpd


Changes .parse_dsc_comments to distinguish (document default)
ViewingOrientation from PageViewingOrientation, as for [Page]Orientation.

[src/zdscpars.c]

2000-12-09T18:28:24.000000Z lpd


Fix: The %%ViewingOrientation: DSC comment was misspelled
%%ViewerOrientation:.  This also corrects the CDSC_VIEWINGORIENTATION enum
value (formerly CDSC_VIEWERORIENTATION, and the viewing_orientation members
of the CDSCPAGE structure and the CDSC structure (formerly
viewer_orientation).

[src/dscparse.c src/dscparse.h src/zdscpars.c]

2000-12-09T17:52:30.000000Z lpd


Changes the parsing of the DSC Orientation comments to return -1 .. 3 rather
than 0 or 1.

[lib/gs_dscp.ps src/zdscpars.c]

2000-12-09T08:01:56.000000Z lpd


Updates documentation to reflect recent improvements in text and DSC comment
handling.

[doc/Ps2pdf.htm]

2000-12-09T08:00:52.000000Z lpd


Makes the default value of ParseDSCCommentsForDocInfo true rather than
false.

[lib/gs_pdfwr.ps]

2000-12-09T07:49:22.000000Z lpd


If ParseDSCCommentsForDocInfo is set to true, copies information from DSC
comments Creator, CreationDate, For, and Title into the output's Info
dictionary.

[src/gdevpdfp.c]

2000-12-09T06:53:25.000000Z lpd


Fix: Embedded CIDFontType 2 fonts had an incorrect BoundingBox.

[src/gdevpdff.c]

2000-12-08T23:35:38.000000Z lpd


Extensively revises and updates the pdfwrite text handling code to support
processing and embedding of all types of fonts (except for Type 3 and
CIDFontType 1, which are defined by PostScript procedures), and all variants
of 'show' (including kshow and glyphshow).  In particular, Type 0 fonts with
all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
standard and non-standard CMaps are supported.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpsf2.c src/int.mak src/gdevpsft.c src/gdevpsfu.c src/gdevpdfe.c src/gdevpdff.c src/devs.mak src/gdevpdff.h lib/gs_cidfn.ps src/lib.mak src/gdevpdfs.c src/gdevpsf.h src/gdevpdft.c src/gdevpdfu.c src/gdevpdfw.c src/gdevpsfm.c]

2000-12-07T23:41:10.000000Z lpd


Fix: The PDF interpreter ignored the CIDToGIDMap entry in (embedded)
CIDFontType 2 fonts, producing incorrect output if the map wasn't /Identity.

[lib/pdf_font.ps]

2000-12-05T21:16:25.000000Z lpd


Adds documentation on creating a release directory on the Wisconsin server,
including checking the version numbers of the third-party libraries.

[doc/Release.htm]

2000-12-05T21:14:14.000000Z lpd


Updates the date and version checker for compatibility with the newest
documentation standards; also makes it check the makefile values of JVERSION
and PVERSION against the currently installed third-party source code.

[toolbin/pre]

2000-12-05T09:24:57.000000Z Raph Levien

Fix: An inadvertent change caused the graphics state not to be freed on
grestore. This fix, due to lpd, restores the freeing statement.

[src/gsstate.c]

2000-12-05T01:16:26.000000Z lpd


Fix: The OS/2 platform code would no longer compile, because the stdio files
are no longer available.  (fix from rjl)

[src/gp_os2.c src/os2.mak]

2000-12-04T21:13:55.000000Z Raph Levien

Fix: Allocates graphics state path in stable memory. This prevents paths
in Type 3 fonts allocated inside a save ... setcachedevice ... restore
sequence from being prematurely freed. Fixes SourceForge bug 101549.

[src/gspath1.c src/gsstate.c]

2000-12-04T01:11:53.000000Z lpd


Adds macros for suffix subclass structures with 7 or 8 additional pointers
(1-6 and 9 existed already).

[src/gsstruct.h]

2000-12-03T23:35:30.000000Z lpd


Fix: The font_info procedure for PostScript fonts other than Type 1 didn't
return information from the FontInfo dictionary (Copyright, FamilyName,
FullName, Notice), causing this information to be omitted when embedding the
font in a PDF file.

[src/zfont.c src/zfont1.c src/zbfont.c src/ifont.h]

2000-12-03T23:14:28.000000Z lpd


Adds documentation for the procedures declared in ifont.h.

[src/ifont.h]

2000-12-03T16:56:31.000000Z Alex Cherepanov

Fix: The first call of check_psc_function in gs_build_function_4
didn't initialize size to 0, causing the computed value of size to
be garbage, possibly leading to a VMerror or memory corruption.

[src/zfunc4.c]

2000-12-02T20:41:52.000000Z lpd


Fix: Type 0 fonts with a non-standard (embedded) CMap didn't work at all.

[lib/pdf_font.ps]

2000-12-02T20:39:37.000000Z lpd


Fix: 'gstate' was allowed in global VM even if the current graphics state
included references to structures in local VM (which is, in fact, normally
the case) and the save level was non-zero: this could create a dangling
pointer after the 'restore'.  This "fix" is a workaround that simply
prohibits doing this, but a correct fix would copy any such structures.

[src/zdps1.c]

2000-12-02T19:58:45.000000Z Raph Levien

Fix: Further tweaking of the logic to clear end_status flags in a
pipeline in the continuation of a procedure write, making it more
aggressive than the previous fix, but less aggressive than the
original code. This is a revised fix for Sourceforge bug 119777.

[src/zfproc.c]

2000-12-01T04:15:52.000000Z lpd


Fix: pdfopt.ps used the "unresolved?" procedure from pdf_base.ps, which has
been replaced by the slightly different "resolved?" procedure.

[lib/pdfopt.ps]

2000-12-01T00:47:08.000000Z Ralph Giles

updates the version 5.x history file to the conforming html4

[doc/History5.htm]

2000-11-30T18:22:11.000000Z lpd


Improves documentation of cid2code.ps by adding a complete usage example.

[lib/cid2code.ps]

2000-11-30T07:13:08.000000Z lpd


Fix: In dictionaries, an int lookup key sometimes didn't match a real stored
key, and vice versa.  Fixes SourceForge bug # 123678.

[src/idict.c]

2000-11-30T05:58:19.000000Z lpd


Fix: The change for freeing transient CharStrings introduced two bugs,
possibly causing the code to free data twice, or to free data that should be
retained.

[src/gdevpsfx.c]

2000-11-29T14:41:34.000000Z igorm

The old code did not comply ISO/IEC C language standard and
compiled wrongly to Mac, causing halftone problem on Mac.

[src/gshtscr.c]

2000-11-29T07:10:27.000000Z lpd


Makes single-byte CMap ranges convert into a single range in the internal
representation, rather than (largest - smallest + 1) separate single-element
ranges.

[lib/gs_cmap.ps]

2000-11-29T06:58:36.000000Z lpd


Fix: Single-byte notdef ranges in CMaps incorrectly incremented the CID
number, rather than assigning the same CID to all characters in the range.

[lib/gs_cmap.ps]

2000-11-29T05:50:03.000000Z lpd


Adds an internal unique ID to CMap structures (gs_cmap_t), for use as a
cache or comparison key.

[src/gsfcmap.c src/gxfcmap.h]

2000-11-29T02:25:13.000000Z lpd


Fix: The pswrite device couldn't write to pipes. The fix involved expanding
the API for opening device OutputFiles so that the individual driver could
specify whether it required, requested, or did not want a positionable file.
Fixes SourceForge bug # 122223.

[src/gdevpx.c doc/Use.htm src/gdevpipe.c src/gdevvec.c src/gdevps.c src/gdevvec.h src/gsdevice.c]

2000-11-29T01:31:30.000000Z Raph Levien

Implements the stopgap measure of increasing fill_adjust for Coons
patch shading, to cover the dropouts caused by incorrect triangulation
of the mesh surface. See SourceForge Bug 119588 for a more thorough
analysis.

[src/gsptype2.c src/gxshade4.c]

2000-11-28T22:55:35.000000Z Ralph Giles

updates history files 1-4 (historical) to valid html4 and the new stylesheet

[doc/History1.htm doc/History2.htm doc/History3.htm doc/History4.htm]

2000-11-28T18:55:24.000000Z Alex Cherepanov

The published PDF specification says the Encoding name
"must be" one of the 3 predefined Encodings, implying
that an error should occur if it isn't.  However, Acrobat
Reader simply ignores unknown names, and since there are
some buggy applications that rely on this, we do the same.

[lib/pdf_font.ps]

2000-11-28T00:14:48.000000Z Raph Levien

Avoids exporting empty LD_RUN_PATH environment variable to the link
process. This was causing binaries to search the current directory for
libraries, which was a security hole. Fixes SourceForge bug 122532.

[src/ugcclib.mak src/unixlink.mak]

2000-11-26T04:08:41.000000Z lpd


Adds a procedure for creating an Identity CMap, needed by the PDF writer.

[src/gsfcmap.c src/gxfcmap.h]

2000-11-25T22:00:21.000000Z Raph Levien

Wraps the showpagecontents call in gsave/grestore, so that the
graphics state for drawing annotations is pristine. Fixes Sourceforge
bug 123310.

[lib/pdf_main.ps]

2000-11-24T07:10:41.000000Z lpd


Improves the performance of embedded font writing by freeing strings when no
longer needed, and by removing redundant computation.  (Currently relevant
only to the PDF writer.)

[src/gdevpsf1.c src/gdevpsf2.c src/gdevpsfu.c src/gdevpsfx.c]

2000-11-24T06:53:23.000000Z lpd


Speeds up the slow case of fixed_mult_quo by nearly a factor of 2, by using
a tiny bit of numerical analysis.

[src/gxfixed.h src/gsmisc.c]

2000-11-23T23:34:23.000000Z lpd


Fix: Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
freed, except by garbage collection (which doesn't reclaim chunks with only
a small amount of surviving data).  In practice, this probably only affects
the PDF writer.

[src/gstype1.c src/gstype2.c src/gsfcid.c src/zfcid0.c doc/News.htm src/gxtype1.c src/gxtype1.h src/gxfont1.h]

2000-11-23T23:23:40.000000Z lpd


Adds a procedure for testing whether a glyph is a "notdef" in a font,
necessary for fixing a memory consumption problem when accessing type 0
CIDFonts.

[src/gsfont.c src/gxfont.h]

2000-11-22T08:32:07.000000Z lpd


Fix: Disk-based TrueType fonts caused a memory leak.  (Currently, there are
no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
fonts, should be made disk-based.)

[src/zfcid1.c src/gstype42.c src/gdevpsft.c]

2000-11-21T16:46:55.000000Z lpd


Adds a macro for declaring suffix subclasses with 5 added pointers (in
addition to the existing 1, 2, 3, 4, and 6).

[src/gsstruct.h]

2000-11-21T02:35:59.000000Z lpd


Fix: The code for writing a CIDFontType0 CFF font mistook Type 2 CharStrings
for Type 1, and tried to convert them to Type 2.  (This currently affects
only the PDF writer.)

[src/gdevpsf2.c]

2000-11-21T02:33:55.000000Z lpd


Fix: The Type 1 to Type 2 CharString converter (currently used only by the
PDF writer) often didn't detect invalid CharStrings as input.

[src/gdevpsfx.c]

2000-11-20T21:09:09.000000Z lpd


Fix: Computing the default width or the fixed width for a CIDFont or
TrueType font could do a huge amount of unnecessary work.  (Probably only
affects the PDF writer.)

[src/gsfont.c]

2000-11-20T20:34:23.000000Z Ralph Giles


Fix: Removes obsolete documentation reference to -DUsePrinterImages and
clarifies the entry for the replacing -DPrinted. Fixes sourceforge bug # 121907.

[doc/Use.htm]

2000-11-20T18:13:55.000000Z lpd


Fix: The PDF writer incorrectly assumed that in PDF 1.3, the standard Latin
character set was the PostScript 3 extended set (it's actually the old
PostScript Level 2 set).

[src/gdevpdft.c]

2000-11-20T08:31:21.000000Z lpd


Makes glyphshow no longer revert to bitmapped fonts.  Also adds a CIDFont
pseudo-resource, in anticipation of adding CID-keyed font support.

[src/gdevpdfx.h src/gdevpdft.c src/gdevpdff.c src/gdevpdff.h]

2000-11-19T17:48:08.000000Z lpd


Fix: Attempting to write a CFF Type 2 font larger than 32K but smaller than
64K caused a rangecheck.

[src/gdevpsf2.c]

2000-11-17T22:11:44.000000Z lpd


Reorganizes some text-writing code in anticipation of adding CIDFont and
CMap support.

[src/gdevpdft.c src/gdevpdff.c src/devs.mak src/gdevpdff.h]

2000-11-16T00:37:32.000000Z Raph Levien

Changes .buildshading to always apply a ReusableStreamDecode filter to
file and stream DataSources, so that multiple passes over the stream
work. This patch closes SourceForge bug 121810.

[lib/gs_ll3.ps]

2000-11-16T00:32:00.000000Z lpd


Slightly simplifies the code for creating the internal representation of
CMaps.

[lib/gs_cmap.ps]

2000-11-14T16:47:09.000000Z lpd


When writing PDF output, adds the ability to convert text in Type 0 fonts to
text in the descendant leaf fonts.  This completes the handling of text
output except for CID-keyed fonts.

[src/gdevpdft.c]

2000-11-14T07:41:08.000000Z lpd


Fix: The pdfwrite and pswrite drivers could emit a lineto or rlineto without
a moveto at the beginning of the path.  (bug introduced very recently, by a
workaround for an Acrobat Reader bug)

[src/gdevvec.c]

2000-11-14T06:57:21.000000Z lpd


Changes the internal indication of whether to allow font subsetting from a
Boolean to OK, YES, NO.  (Unfortunately, I no longer remember why this
change is needed.)

[src/gdevpdft.c src/gdevpdfe.c src/gdevpdff.c src/gdevpdff.h]

2000-11-13T17:06:18.000000Z lpd


Adds %%EndDefaults, %%For:, and %%ViewerOrientation: to the set of DSC
comments handled by the .parse_dsc_comments operator.

[src/zdscpars.c]

2000-11-13T17:03:51.000000Z lpd


Adds DSC comment tracing to ps2pdf, if -dDEBUG is specified on the command
line.

[lib/gs_pdfwr.ps]

2000-11-13T05:44:58.000000Z lpd


DSC parser changes: adds %%ViewerOrientation to DSC parser; doesn't flag an
error if %%Pages is absent but one %%Page is found; frees memory if
initialization fails; recognizes general whitespace in some places where
only spaces were recognized before.  (changes from gsview@ghostgum.com.au)

[src/dscparse.c src/dscparse.h]

2000-11-12T07:14:30.000000Z lpd


Fix: When mixing filled and stroked fonts, the color wasn't set correctly.

[src/gdevpdft.c]

2000-11-12T07:13:26.000000Z lpd


Fix: In PDF output, color values of 1.0 were usually written as 0.999.  (bug
introduced in version 6.22)

[src/gdevpsdu.c]

2000-11-12T06:52:08.000000Z lpd


Fix: The PDF writer didn't handle stroked fonts correctly (they were filled
instead of stroked).

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfd.c src/gdevpdft.c src/gdevvec.c src/gdevvec.h]

2000-11-11T17:34:06.000000Z lpd


Fix: If the procedure of a FunctionType 4 Function was syntactically valid
but exceeded the maximum stack depth, an attempt was made to free a string
as an object, causing memory corruption.

[src/zfunc4.c]

2000-11-10T01:52:35.000000Z Ralph Giles


Fix: cvs2hist was generating invalid anchor names and not escaping
special charaters. also enable '-r' commandline option, and pass
'-b' if it's not specified for default branch logs only.

Changes.htm now passes the validator. Minor url cleanup in Release.htm

[doc/Changes.htm doc/Release.htm toolbin/cvs2hist.py]

2000-11-09T05:41:46.000000Z lpd


Expands the description of the color mapping process.

[doc/Develop.htm]

2000-11-08T07:07:32.000000Z lpd


Rewrites .parse_dsc_comment to use the parameter list machinery, removing a
little functionally duplicated code; changes two incorrect uints to ints
(fix from dan@artifex.com); adds additional comment types (BoundingBox,
PageBoundingBox, BeginDefaults, EndDefaults) to the interface.

[src/zdscpars.c]

2000-11-08T06:56:50.000000Z lpd


Adds a param_string_from_transient_string macro, to parallel
param_string_from_string for non-permanent C strings.

[src/gsparam.h]

2000-11-08T00:54:48.000000Z dancoby

Return code variables (code and comment_code) in zparse_dsc_comments().
need to be signed.

[src/zdscpars.c]

2000-11-07T19:27:14.000000Z lpd


Fix: There was still a bug in the code for passing DSC comments to the PDF
writer, causing typecheck errors.

[lib/gs_pdfwr.ps]

2000-11-07T18:54:26.000000Z lpd


Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
actually process any of the comments.  NOTE: Part of this code was
accidentally included in the recent fix for local/global VM problems in the
PostScript code for using the DSC parser.

[src/gdevpdfp.c src/devs.mak]

2000-11-07T18:51:25.000000Z lpd


Fix: The recently updated code for activating the DSC comment parser had
several local/global VM problems, causing invalidaccess errors.

[lib/gs_dps2.ps lib/gs_dscp.ps lib/gs_pdfwr.ps lib/gs_init.ps]

2000-11-07T16:42:28.000000Z lpd


Fix: Works around an Acrobat Reader 4 bug that causes AR4 to draw a single
pixel, rather than nothing, when filling a subpath consisting only of a
moveto.

[src/gdevvec.c]

2000-11-07T07:34:57.000000Z lpd


Adds documentation on Ghostscript's object-oriented coding conventions, and
more documentation on error generation.

[doc/Develop.htm doc/C-style.htm]

2000-11-06T07:35:51.000000Z lpd


... and fixes an overlooked const discrepancy.

[src/zdscpars.c]

2000-11-06T07:34:21.000000Z lpd


Polishes the DSC parser interface: improves comments and formatting, and
fixes a couple of very minor glitches.

[src/zdscpars.c]

2000-11-06T04:17:14.000000Z lpd


Fix: kshow caused the PDF writer to revert to bitmapped fonts.  Fixes
SourceForge bug # 104118.

[src/gdevpdft.c]

2000-11-06T00:44:37.000000Z lpd


Improves the documentation of the minimum responsibilities of the 'process'
procedure in a text enumerator.

[src/gxtext.h]

2000-11-05T18:44:57.000000Z Raph Levien

Fixes infinite loops when writing large bitmaps into clist. Now,
cmd_put_bits never requests an allocation in the clist buffer
larger than cbuf_size.

[src/gxclbits.c]

2000-11-05T18:33:53.000000Z lpd


Adds DSC parsing capability to the PostScript interpreter, with an optional
'feature' to use the DSC Orientation comments to compensate for sloppy
PostScript producers that don't emit an appropriate setpagedevice command.

[src/int.mak lib/gs_dscp.ps src/dscparse.c src/zdscpars.c src/dscparse.h]

2000-11-05T17:36:28.000000Z Raph Levien

Improves font substitution by taking the "Narrow" property into account.
Fixes SourceForge bug 116460. Fix due to Leon Bottou.

[lib/pdf_font.ps]

2000-11-05T00:34:24.000000Z lpd


Fix: Several places in the band list code didn't call s_init_state to
initialize locally allocated stream states: this is now required (see the
"Incompatible changes" section above).  We suspect there are a few more
places that will need this fix.

[src/gxclbits.c src/gxcldev.h src/gxclread.c src/gxclutil.c]

2000-11-04T21:59:35.000000Z Ralph Giles

updated News.htm to use gs.css

[doc/News.htm]

2000-11-04T17:53:57.000000Z lpd


Fix: An isolated ampersand needed to be converted to the HTML form.

[doc/Bug-form.htm]

2000-11-04T06:13:42.000000Z rayjj

Add COMPILE_INITS information line to -h help output.

[src/imainarg.c]

2000-11-04T06:12:02.000000Z rayjj

Collect some stray configuration related externs into iconf.h

[src/imain.c src/int.mak src/iconf.h src/imainarg.c]

2000-11-04T05:00:00.000000Z Ralph Giles


Switches the rest of the human-maintained html documentation to the
new stylesheet. We now pass validator.w3.org for HTML 4.01 with the
exception of an error I couldn't figure out in Bug-form.htm.

[doc/Fonts.htm doc/Projects.htm doc/Humor.htm doc/Use.htm doc/Readme.htm doc/Ps2pdf.htm doc/Maintain.htm doc/Source.htm doc/Helpers.htm doc/New-user.htm doc/Psfiles.htm doc/Lib.htm doc/Install.htm doc/Tester.htm doc/Hershey.htm doc/Htmstyle.htm doc/Make.htm doc/Unix-lpr.htm doc/Public.htm doc/Bug-form.htm doc/Release.htm doc/Ps-style.htm doc/Xfonts.htm doc/index.html doc/Language.htm doc/Ps2epsi.htm]

2000-11-03T23:33:18.000000Z lpd


Lists all the monochrome TIFF drivers individually, rather than as a class.

[doc/Devices.htm]

2000-11-03T20:15:56.000000Z Ralph Giles

update remaining file links in Develop.htm to 
format, plus additional cleanup

[doc/DLL.htm doc/Develop.htm doc/Drivers.htm doc/Commprod.htm doc/Devices.htm]

2000-11-03T06:42:43.000000Z Ralph Giles

switch to Tobias Burnus' stylesheet for the B-D html documentation, along with some minor cleanups

[doc/Copying.htm doc/gs.css doc/DLL.htm doc/Bug-form.htm doc/Develop.htm doc/Drivers.htm doc/Commprod.htm doc/C-style.htm doc/Devices.htm doc/Current.htm doc/Bug-info.htm]

2000-11-03T04:53:00.000000Z lpd


Adds developer documentation on the color mapping pipeline.

[src/gxfrac.h doc/Develop.htm]

2000-11-02T19:09:30.000000Z lpd


Extends the Font resource category so that composed fonts, with names
- or -- where the CIDSystemInfo of the CIDFont
and CMap are compatible, appear to exist and are actually created
dynamically when needed.  (code from igor@artifex.com)

[src/int.mak lib/gs_cidcm.ps]

2000-11-02T07:58:05.000000Z lpd



Fix: CIDFontType 2 fonts with a GlyphDirectory and string or string array
CIDMap ignored GDBytes, causing an arithmetic error (division by zero).
(SourceForge bug # 115942)

[src/zfcid.c src/zfcid1.c]

2000-11-02T07:31:36.000000Z lpd


Fix: Getting the glyph_info of a Type 2 CharString could cause an invalid
memory access.  (SourceForge bug # 121070)

[src/gstype2.c]

2000-11-02T06:58:12.000000Z lpd


Fix: The algorithm for reducing the resolution of PDF output to deal with
Acrobat Reader's 32K limit on user space coordinates was too conservative
(reduced the resolution more than necessary).

[src/gdevpdfp.c]

2000-11-02T00:23:56.000000Z lpd


Fix: PDF patterns and masks could be compressed with the DCT filter, causing
possible color distortion and loss of detail.

[src/gdevpdfb.c src/gdevpsdi.c src/gdevpdfv.c src/gdevpsdf.h]

2000-11-02T00:08:13.000000Z lpd


Fix: resourceforall was a procedure rather than an operator.  Also adds an
explicit acknowledgement that the method used for this fix is a hack.

[lib/gs_res.ps lib/gs_setpd.ps]

2000-11-01T22:36:13.000000Z lpd


Fix: Decoding filters that didn't detect an EOD in the source data still
tried to look 1 byte ahead, occasionally causing obscure errors.  The fix
unfortunately required adding a new architectural requirement to the
implementation of such filters.  (fix from igor@artifex.com)

[src/srlx.h src/sstring.h src/sbhc.c src/scfd.c src/strimpl.h doc/News.htm src/scommon.h src/slzwd.c src/zfproc.c src/szlibd.c src/sa85d.h src/sfilter1.c src/zfile.c src/stream.c]

2000-11-01T21:24:42.000000Z lpd


Adds more documentation on refs, VM spaces, and stable allocators.

[doc/Develop.htm src/iref.h]

2000-11-01T05:27:03.000000Z lpd


Speeds up loading embedded CFF fonts some more, by adding some missing
'bind's and similar tactics.

[lib/gs_cff.ps]

2000-11-01T05:19:24.000000Z lpd


Fix: The margin settings for the Color LaserJet were incorrect.  (fix from
henrys@artifex.com)

[src/gdevcljc.c]

2000-10-31T01:42:10.000000Z lpd


Adds a comment about implementations of the text_begin procedure; replaces
all references to source files with actual links.

[doc/Drivers.htm]

2000-10-31T01:41:25.000000Z lpd


Adds documentation on the obligations of any implementation of the 'process'
procedure in a text enumerator.

[src/gxtext.h]

2000-10-31T01:23:22.000000Z lpd


Adds sections on Ghostscript's design goals and layer architecture.

[doc/Develop.htm]

2000-10-30T22:23:22.000000Z lpd


Improves the documentation of odef; adds documentation for signalerror.

[doc/Ps-style.htm]

2000-10-30T22:16:04.000000Z Raph Levien

Implements correct pixround logic in shade_fill_device_rectangle;
previous commit had inadvertently left out part of the logic.

[src/gxshade1.c]

2000-10-30T21:32:44.000000Z Raph Levien

Changes coordinate transformation in shade_fill_device_rectangle to
use pixround rather than truncation, fixing the problem reported in
SourceForge bug 114812.

[src/gxshade1.c]

2000-10-30T21:04:04.000000Z lpd


Fix: Output filters with a procedure target didn't pass 'false' as the
second argument to the procedure when closing the stream.

[src/zfproc.c]

2000-10-30T19:23:53.000000Z lpd


Adds material on structure member alignment, and on Boolean vs. integer
types.

[doc/C-style.htm]

2000-10-30T08:48:51.000000Z lpd


Updates Aladdin Enterprises' contact information, removing Aladdin as a
point of contact for Ghostscript.

[doc/Make.htm doc/Maintain.htm doc/New-user.htm]

2000-10-30T06:58:21.000000Z lpd


Updates the list of open PDF writer tasks to reflect recent progress.

[src/gdevpdfp.c]

2000-10-30T02:00:09.000000Z lpd


Provides somewhat better documentation for the unstable / experimental
filters.

[doc/Language.htm]

2000-10-29T07:34:12.000000Z lpd


Fix: Most of the procedures in this file didn't use 'bind' (performance bug
only).  Fixing this sped up interpretation of PLRM.pdf by 40%!

[lib/gs_cff.ps]

2000-10-28T21:51:25.000000Z lpd


Brings the catalog of PostScript run-time and example files up to date,
and makes all the file names in the catalog be actual links to the files.

[doc/Psfiles.htm]

2000-10-28T21:50:20.000000Z lpd


Changes the href coverage program yet again to have no default; +src and
+lib set the defaults for source files (described in doc/Develop.htm) and
PostScript run-time files (described in doc/Psfiles.htm) respectively.

[toolbin/hrefcov.tcl]

2000-10-28T21:40:15.000000Z lpd


Fix: The simple platform benchmarking program had gotten out of date, and
would no longer compile and link.

[src/bench.c]

2000-10-28T15:45:46.000000Z lpd


Finishes categorizing all of the C files, aside from printer drivers.

[doc/Develop.htm]

2000-10-28T15:16:11.000000Z lpd


Moves another tool script from src/ to toolbin/.

[toolbin/bughunt.sh src/bughunt.sh]

2000-10-28T15:07:31.000000Z lpd


Removes some old embryonic DSC parser code, since a complete third-party DSC
parser is nearly ready for use.

[src/gsdsc.c]

2000-10-28T15:04:57.000000Z lpd


Moves a tool script from src/ to toolbin/.

[toolbin/gssubst src/gssubst]

2000-10-28T14:13:50.000000Z lpd


Modifies the href coverage script to produce output in a slightly different
form, more convenient for adding unreferenced files to a document.

[toolbin/hrefcov.tcl]

2000-10-28T05:30:11.000000Z lpd


Adds categorization for nearly all the files in the graphics library.

[doc/Develop.htm]

2000-10-28T00:21:05.000000Z lpd


Adds developer documentation categorizing all non-printer device code
(including internal and high-level devices), and MS Windows-specific code.

[doc/Develop.htm]

2000-10-27T22:50:36.000000Z lpd


Tweaks the handling of the endpoints for FunctionType 0 functions with Order
= 3 to match Acrobat Reader's apparent behavior.

[src/gsfunc0.c]

2000-10-27T15:14:44.000000Z lpd


Implements cubic interpolation (Order = 3) for FunctionType 0 functions.
Thanks to raph@acm.org for a reference to the formula.

[src/gsfunc0.c]

2000-10-27T06:18:16.000000Z lpd


Fix: The PDF interpreter caused an error if the output device wasn't a page
device.

[lib/pdf_main.ps]

2000-10-27T06:15:08.000000Z lpd


Fix: If an error occurred in a page device Install procedure, the stacks
weren't restored properly, possibly leading to other errors.

[lib/gs_setpd.ps]

2000-10-27T05:35:22.000000Z lpd


Fix: Incrementally downloaded Type 1 fonts weren't embedded properly in PDF
output.  (This might have been the case for some TrueType fonts as well,
although we never observed it.)

[src/gdevpdft.c src/gdevpdff.c]

2000-10-26T23:51:01.000000Z Ralph Giles

adds german translation of pdf2dsc.1 from Tobias Burnus

[man/de/pdf2dsc.1]

2000-10-26T23:43:11.000000Z Ralph Giles

eps2eps->ps2ps manpage merge from Tobias Burnus

[man/de/ps2ps.1 man/de/eps2eps.1]

2000-10-26T18:35:38.000000Z Ralph Giles


merges the eps2eps manpage with the one for ps2ps
fixes installation of symlinked shared manpages

[man/eps2eps.1 src/unixinst.mak man/ps2ps.1]

2000-10-26T17:45:02.000000Z lpd


Fix: The build process terminated with an error on some versions of MS
Windows, because the ERASE command returned an error status if the file
didn't exist.

[src/winlib.mak]

2000-10-26T17:19:16.000000Z lpd


Finishes categorizing all of the C code files in the PostScript interpreter.

[doc/Develop.htm]

2000-10-26T17:18:32.000000Z lpd


Modifies the href coverage script to allow both adding and removing both
directories and files that should be referenced.

[toolbin/hrefcov.tcl]

2000-10-26T16:46:54.000000Z lpd


Removes a duplicate file that should have been a symbolic link.  CVS can't
manage symbolic links, so users will have to add the link manually, as for
several other toolbin scripts.

[toolbin/hrefcov]

2000-10-26T10:40:54.000000Z Ralph Giles


adds additional german translations by Tobias Burnus.
we've now standarized on 'SYNTAX' for the de pages synopsis section heading.

[man/de/ps2ps.1 man/de/gsnd.1 man/de/pdfopt.1 man/de/ps2ascii.1 man/de/eps2eps.1]

2000-10-26T07:23:19.000000Z lpd


Fix: The PDF writer could write embedded Type 1 fonts with lenIV = -1, which
Acrobat Reader 3 accepts but Acrobat Reader 4 doesn't.

[src/gdevpsf1.c src/gdevpsf.h src/gdevpdfe.c]

2000-10-26T01:42:42.000000Z lpd


Adds lists of files for the stream and interpreter sections of the developer
documentation.

[doc/Develop.htm]

2000-10-25T23:58:18.000000Z lpd


Adds a tool to check whether a document mentions all the files in a set of
directories, and uses it to fix a few incorrect links in the developer
documentation.

[doc/Develop.htm toolbin/hrefcov toolbin/hrefcov.tcl]

2000-10-25T21:27:13.000000Z Ralph Giles

adds more german manpage translations by Tobias Burnus

[man/de/ansi2knr.1 man/de/font2c.1 man/de/gsnd.1 man/de/dvipdf.1 man/de/pdf2ps.1 man/de/eps2eps.1]

2000-10-25T16:56:53.000000Z Alex Cherepanov


Fix: More robust %%EOF handling. When %%EOF in PDF file doesn't end with a
line terminator.  GS fails with /invalidaccess in setfileposition because
readline closes the file . This fix replaces readline with readstring and
checks for line end explicitly.

[lib/pdf_main.ps]

2000-10-24T18:15:17.000000Z lpd


Adds developer documentation on save/restore, global and local VM,
troubleshooting, PDF interpreter, build support, and utilities.  Some of
this is just a list of files, which are supposed to have their own
documentation in comments.

[doc/Develop.htm]

2000-10-24T17:22:18.000000Z lpd


Fix: Type 42 / TrueType fonts didn't clear the pointers to the metrics
tables in the font, possibly producing incorrect metrics or memory access
errors for fonts that lack one or more of hhea, hmtx, vhea, or vmtx.  (fix
from henrys@artifex.com)

[src/gstype42.c]

2000-10-24T06:54:03.000000Z Ralph Giles


Adds initial german (de) manpage translations by Tobias Burnus.

[man/de/wftopfa.1 man/de/pdf2ps.1 man/de/ps2pdf.1 man/de/printafm.1 man/de]

2000-10-24T01:16:25.000000Z lpd


Adds additional documentation on refs and on garbage collection.

[doc/Develop.htm src/iref.h]

2000-10-23T21:37:04.000000Z lpd


Adds developer documentation on freeing and structure descriptors, and some
sketchy material on garbage collection.

[doc/Develop.htm]

2000-10-23T20:26:54.000000Z lpd


Re-enables processing of incrementally downloaded TrueType fonts.  We had
disabled this before, but we now believe that at least the ADOBEPS driver
downloads the fonts in a manner that produces correct output.

[src/gdevpdft.c]

2000-10-23T15:35:44.000000Z lpd


Fix: The LogicalSize of the %os% IODevice was given (correctly) in pages,
but the Free value was given (incorrectly) in bytes.  (fix from
alex@artifex.com)

[src/gsiodev.c]

2000-10-23T04:55:34.000000Z lpd


Adds requirements for functional comments on procedures, comments at the
head of functional sections, and making objects read-only when appropriate;
adds .knownget to the list of useful non-standard operators.

[doc/Ps-style.htm]

2000-10-22T03:21:29.000000Z lpd


Works around a bug in the DEC VMS C compiler, which incorrectly defines the
second argument of fdopen as (char *) rather than (const char *).

[src/gpmisc.c]

2000-10-22T03:20:29.000000Z lpd


Fix: A { } was omitted around an arm of a conditional, causing a compilation
error.

[src/gp_vms.c]

2000-10-22T03:15:26.000000Z lpd


Fix: Sampling the spot function for a halftone didn't correctly sample at
the centers of device space pixels, causing moire' effects and irregular
variations in spot size.  (fix from igor@artifex.com)

[src/gshtscr.c src/gzht.h]

2000-10-22T01:19:36.000000Z lpd


Fix: The ASCII85Decode filter sometimes asked for too much output space,
which caused a limitcheck error on ASCII85 strings whose decoded size was
65533 - 65535 bytes.

[src/sa85d.c]

2000-10-20T22:55:51.000000Z lpd


Adds some developer documentation on the memory manager design.

[doc/Develop.htm]

2000-10-19T23:46:46.000000Z lpd


Fix: WMode was generally ignored in handling the metrics when rendering a
Type 1 or Type 2 CharString; also, the default metrics for WMode = 1 were
the same as the default metrics for WMode = 0, whereas (at least for
CID-keyed fonts) they should be computed from the FontBBox.  (fix from
igor@artifex.com)

[src/lib.mak src/zchar42.c src/gstext.c src/zcharout.c src/int.mak src/gsfcmap.c doc/News.htm src/icharout.h src/gschar0.c src/gxtext.h src/zchar1.c]

2000-10-19T22:28:59.000000Z lpd


Fix: The PDF interpreter didn't skip garbage bytes between the last data
byte of an in-line image (ID operator) and the next end-of-line.  While this
appears to be required by the Adobe spec, it indicates a sloppy PDF
producer.  (fix from igor@artifex.com)

[doc/News.htm lib/pdf_draw.ps]

2000-10-18T05:05:19.000000Z lpd


Completes the Portability section of the developer documentation.

[doc/Develop.htm]

2000-10-18T01:55:33.000000Z Alex Cherepanov

Progressive JPEG was disabled because PostScript and PDF 1.2 don't use it.
PDF 1.3 can use progressive JPEG. Such files failed with /ioerror in
%image_file_continue. This fix enables progressive JPEG everywhere, even
in PostScript.

[src/gsjmorec.h]

2000-10-17T17:57:54.000000Z lpd


Adds developer documentation on file structure for portability.

[doc/Develop.htm]

2000-10-17T17:09:36.000000Z lpd


Fix: Text that used [a]widthshow with a 'space' character other than 32, or
that used [a][width]show with non-zero Y displacement, was converted to
bitmaps rather than being written as text.

[src/gdevpdft.c]

2000-10-17T15:59:27.000000Z Raph Levien

Revises the font substitutions slightly to improve the quality of the
matching.

[lib/gs_fonts.ps]

2000-10-17T14:41:35.000000Z lpd


Fix: Mapping of CIEBasedDEF[G] colors was incorrect.  The original code used
pcie->Table.dims[i] instead of
pcie->caches_defg.DecodeDEFG[i].floats.params.factor as the domain of the
DEFG table, so all colors were scaled down by a factor of about 100.  Also
added interval narrowing before indexing for greater stability.  (fix from
igor@artifex.com)

[src/gsciemap.c]

2000-10-16T21:53:21.000000Z lpd


Fix: usecmap didn't copy information from the "used" CMap correctly, causing
a rangecheck error.  (fix from igor@artifex.com)

[lib/gs_cmap.ps]

2000-10-16T19:52:36.000000Z lpd


Fix: TrueType glyphs with more than 200 points caused a crash or corrupted
memory.

[src/gstype42.c]

2000-10-16T18:36:47.000000Z lpd


Adds a documentation file that will eventually contain a source file roadmap
and important architectural information for developers.  Currently this file
is just a skeleton.

[doc/Readme.htm doc/Develop.htm]

2000-10-16T15:12:03.000000Z lpd


Fix: Writing a Function with subfunctions (Functions array) could produce
garbage output, because the subfunctions could be freed before the
containing Function was written.

[src/gdevpdf.c]

2000-10-16T15:11:06.000000Z lpd


Fix: Writing a shading with ShadingType >= 4 and data given by a stream
rather than an array could cause a crash.

[src/gdevpdfv.c]

2000-10-16T07:11:43.000000Z lpd


Fix: Writing text with a Pattern color didn't set up the Pattern rendering
before calling the driver's text_begin procedure, possibly causing invalid
memory accesses in high-level drivers.

[src/gstext.c]

2000-10-15T19:28:07.000000Z lpd


Adds code for constructing a Lab space to substitute for any CIEBased space
that can't be represented as CalGray or CalRGB, but doesn't allow it to be
used yet, because the code for transforming the color values (not only the
current color in the graphics state, but also color values in images and
shadings) doesn't exist yet.

[src/gdevpdfc.c]

2000-10-14T05:15:27.000000Z lpd


In order to work around the ADOBEPS4 Windows driver's habit of defining
/.notdef as {pop 0 0 setcharwidth} in otherwise well-behaved Type 1 fonts,
which prevents the PDF writer from embedding the font, recognizes this
construct as a special case and converts it to a Type 1 CharString (0 0 hsbw
endchar).

[src/zcharout.c]

2000-10-14T04:22:52.000000Z lpd


Fix: With a non-orthogonal CTM, a rounding problem could cause
[a][width]show to write text as bitmaps unnecessarily.

[src/gdevpdft.c]

2000-10-12T18:07:28.000000Z Raph Levien

Updates version numbers to 6.60 and status to CVS PRE-RELEASE, reflecting
the development status of this branch.

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

2000-10-12T03:08:06.000000Z lpd


Adds the first version of a PostScript style guide, similar to the C style
guide.

[doc/Ps-style.htm]

2000-10-09T18:14:15.000000Z Raph Levien

Added guidelines for CVS commits to documentation.

[doc/Maintain.htm]

2000-10-08T03:30:53.000000Z lpd


Fix: CIDs were looked up incorrectly in CMaps with more than one entry per
sub-map.  (fix from Artifex)

[src/gsfcmap.c]

2000-10-07T15:12:03.000000Z lpd


Fix: gs_type1_glyph_info didn't handle the endchar=seac case of Type 2
CharStrings, which could cause component glyphs to be omitted from embedded
font subsets in PDF output, causing an /undefined error when the PDF file
was interpreted.

[src/gxtype1.c]

2000-10-06T02:50:56.000000Z lpd


Fix: The -Kn debugging switch wasn't documented.

[doc/Use.htm]

2000-10-05T19:05:13.000000Z rayjj

Remove code that prevented /Rotate flag in PDF file from affecting the
/Orientation on printers. This was a frequent request from users to
have landscape pages come out rotated on the page as they are on the
window display.

[lib/pdf_main.ps]

2000-10-04T05:39:48.000000Z Raph Levien

Committing History6 file autogenned by makehist. Minor updates to
Release.htm for pedantically correct invocation of Python and Tcl scripts.

[doc/News.htm doc/Release.htm doc/History6.htm]

2000-10-04T05:28:02.000000Z Raph Levien

Ran cvs2hist.py to update Changes file from cvs logs.

[doc/Changes.htm doc/Release.htm]

2000-10-04T05:18:54.000000Z Raph Levien

Bring version numbers and dates up to date. Small bug fix in toolbin/pre
to make it able to handle months with leading zeros.

[toolbin/pre doc/C-style.htm doc/Helpers.htm man/ps2ps.1 src/gscdef.c]

2000-10-04T04:33:29.000000Z Raph Levien

Documentation changes in preparation for 6.30 release. Replaced some
contact information, updated version numbers.

[doc/Projects.htm doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm doc/Install.htm doc/Copying.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm lib/gs_init.ps src/version.mak doc/Fonts.htm doc/Ps2pdf.htm doc/Helpers.htm doc/Psfiles.htm doc/New-user.htm doc/README doc/Tester.htm doc/Bug-info.htm doc/Lib.htm doc/gs-vms.hlp doc/Htmstyle.htm doc/News.htm doc/Make.htm doc/Unix-lpr.htm doc/Current.htm doc/History1.htm doc/History2.htm doc/History3.htm doc/History4.htm doc/Ps2epsi.htm doc/History5.htm doc/History6.htm]

2000-10-01T15:25:37.000000Z Alex Cherepanov

When GSC environment variable is not set, gssetgs.bat fails to set it,
which makes ps2pdf.bat and several other scripts fail on Windows NT 4.0
with the following misleading error message:
"_.at" This file doesn't have a program associated with it ...
This change fixes the problem.

[lib/gssetgs.bat]

2000-09-26T06:42:05.000000Z lpd


Fix: The 'head' table in embedded TrueType fonts had a length of 56; it
should have a length of 54 and be followed by 2 padding bytes.

[src/gdevpsft.c]

2000-09-26T01:04:40.000000Z lpd


Adds a reference to PreScript, another free text extraction program based
on Ghostscript.

[doc/New-user.htm]

2000-09-25T15:06:28.000000Z lpd


Updates the makefiles from libpng version 1.0.5 to 1.0.8.

[src/openvms.mak src/watcw32.mak src/dvx-gcc.mak src/unixansi.mak src/watc.mak src/unixtrad.mak src/msvclib.mak src/openvms.mmk src/os2.mak src/bcwin32.mak src/ugcclib.mak src/libpng.mak src/msvc32.mak src/unix-gcc.mak src/all-arch.mak src/watclib.mak]

2000-09-25T14:40:37.000000Z lpd


Adds a project for fixing PDF files that have gotten mangled by EOL
conversion.

[doc/Projects.htm]

2000-09-23T18:47:06.000000Z lpd


Fix: Attempting to show an undefined character code in a TrueType font with
no .notdef entry caused an error.

[lib/gs_ttf.ps]

2000-09-23T04:52:57.000000Z lpd


Fix: The pgnm and pnm drivers didn't properly detect the presence of gray
shades or color in images, sometimes causing gray or color information to be
lost in the output.  (fix contributed by a user)

[src/gdevpbm.c src/devs.mak]

2000-09-22T20:33:19.000000Z lpd


Replaces the OpenVMS installation instructions with an improved set
contributed by a user.

[doc/Helpers.htm doc/Install.htm]

2000-09-22T05:35:02.000000Z lpd


Changes the default Windows Start Menu Folder from "Aladdin" to
"Ghostscript".

[src/dwsetup.rc src/dwsetup.cpp]

2000-09-22T05:32:17.000000Z lpd


Changes the default Windows installation directory from c:\Aladdin to c:\gs.

[src/dwsetup.rc doc/News.htm doc/Install.htm src/dwsetup.cpp]

2000-09-22T04:18:17.000000Z lpd


Fix: A missing cast caused the picky OpenVMS compiler to complain.

[src/zdevcal.c]

2000-09-22T04:17:52.000000Z lpd


Fix: Works around ANSI C's unreasonable new aliasing restrictions.

[src/gsnogc.c]

2000-09-22T04:05:40.000000Z lpd


Fix: The definition of PSRCDIR was inconsistent with the definition of
PVERSION.

[src/openvms.mak]

2000-09-22T03:30:21.000000Z lpd


Fix: The OpenVMS Fontmap had gotten badly out of date; specifically, it
didn't reference the URW++ fonts distributed with Ghostscript.

[lib/Fontmap.VMS]

2000-09-21T15:14:37.000000Z rayjj

Add commands to make the target GLGENDIR and BINDIR directories so that a
clean build works automatically.

[src/msvctail.mak]

2000-09-21T15:12:01.000000Z rayjj

Change to avoid multiply defined rect_param when NOPRIVATE is used. This
module uses 4 element X/Y/width/Height, not a gs_rect so xywh_param is
a better name.

[src/zdpnext.c]

2000-09-21T03:02:03.000000Z lpd


Fix: CID-keyed (FMapType 9) composite fonts didn't return the correct parsed
character code, possibly causing widthshow or cshow to produce incorrect
output.

[src/gsfcmap.c src/gsfcmap.h]

2000-09-21T02:44:44.000000Z lpd


Fix: Undefined characters in CID-keyed (FMapType 9) composite fonts caused
an infinite loop, because the parsing index was never advanced past the
character.

[src/gsfcmap.c]

2000-09-20T07:15:12.000000Z lpd


Fix: .LocalDefaults was stored in a local array in the (global) ColorSpace
category dictionary, causing memory anomalies with multiple contexts.

[lib/gs_res.ps lib/gs_ll3.ps]

2000-09-19T23:39:31.000000Z lpd


Updates README from Readme.htm.

[doc/README]

2000-09-19T21:37:52.000000Z lpd


Updates the license notices to reflect the name change from Aladdin
Ghostscript to AFPL Ghostscript; also updates many internal references from
Aladdin Ghostscript to AFPL Ghostscript, and from Aladdin Enterprises to
artofcode LLC.

[doc/Projects.htm doc/Use.htm doc/Readme.htm doc/Maintain.htm doc/Source.htm doc/Install.htm doc/Copying.htm doc/Changes.htm doc/DLL.htm doc/Drivers.htm doc/Bug-form.htm doc/Release.htm doc/Commprod.htm doc/Xfonts.htm doc/Devices.htm doc/Language.htm doc/PUBLIC doc/Fonts.htm doc/Ps2pdf.htm doc/Helpers.htm doc/New-user.htm doc/Psfiles.htm doc/Bug-info.htm doc/Lib.htm doc/Tester.htm doc/gs-vms.hlp doc/Htmstyle.htm doc/News.htm doc/Make.htm doc/Public.htm doc/Unix-lpr.htm doc/C-style.htm doc/Current.htm doc/History1.htm doc/History2.htm doc/History3.htm doc/Ps2epsi.htm doc/History4.htm doc/History5.htm doc/History6.htm]

2000-09-19T19:00:55.000000Z lpd


Updates the license notices to reflect the name change from Aladdin
Ghostscript to AFPL Ghostscript, as well as some internal references to the
program name.

[src/idstack.c src/gsropt.h src/gdevmsxf.c src/gdevmem.c src/idstack.h src/gdevmem.h src/gdevwdib.c src/gdevsunr.c src/zvmem.c src/gstrap.c src/icstate.h src/gxxfont.h src/gstrap.h src/gzacpath.h src/gscssub.c src/gdevcgmx.h src/gsstate.c src/gdevlbp8.c src/gp_msdos.c src/zcsdevn.c src/ichar1.h src/gdevpdfx.h src/gdevdm24.c src/gxiparam.h src/dwsetup.rc src/zcontext.c src/icie.h src/gxdither.c src/gscssub.h src/gsstate.h src/ccfont.h src/gdevcljc.c src/gxdither.h src/iscanbin.c src/gdevmiff.c src/gxclutil.c src/iscanbin.h src/gp_mshdl.c src/zfcid.c src/zfont.c src/gxcomp.h src/unixinst.mak src/echogs.c src/iminst.h src/zarray.c src/fcntl_.h src/gdevpe.c src/gxdevcli.h src/oper.h src/zchar42.c src/gsfont0.c src/gscscie.c src/icfontab.c src/zht1.c src/gdevpdfi.c src/zdevcal.c src/zpcolor.c src/zcssepr.c src/ifont42.h src/sdcparam.c src/bcwin32.mak src/sdcparam.h src/gdevokii.c src/zdps1.c src/zcfont.c src/zhsb.c src/gdevprna.c src/zcolor.c src/oparc.h src/gxhtbit.c src/sfxfd.c src/zupath.c src/gxsync.c src/gdevprna.h src/dstack.h src/gxsync.h src/dwuninst.h src/gsccolor.h src/gpmisc.c src/gdevpbm.c src/ireclaim.c src/gxstdio.h src/gdevmrun.c src/gpmisc.h src/gsmemraw.h src/gsdllwin.h src/gxline.h src/gdevmrun.h src/gconf.c src/gconf.h src/sdct.h src/zfbcp.c src/gzcpath.h src/gsipar3x.h src/scfetab.c src/gserver.c src/gp_psync.c src/gxstate.h src/gdevpcl.c src/gdevcmap.c src/zht2.c src/gxfmap.h src/gdevpdfj.c src/gdevpcl.h src/ichar.h src/gdevcmap.h src/gdevwprn.c src/gxclfile.c src/gxpdash.c src/ztrap.c src/gxlum.h src/gdebug.h src/zfile.c src/gxchar.c src/gsptype1.c src/zfcid0.c src/gxclbits.c src/zgstate.c src/gxchar.h src/gsline.c src/gsptype1.h src/gsalloc.c src/gsline.h src/ctype_.h src/gsalloc.h src/gsiparm2.h src/inouparm.c src/gxfont0.h src/gstype1.c src/slzwx.h src/gxdhtres.h src/gdevmeds.c src/gs16spl.c src/gdevmpla.c src/gstype1.h src/dwmain.rc src/gdev4081.c src/gxcspace.h src/gdevmeds.h src/gdevmpla.h src/srdline.h src/wctail.mak src/winlib.mak src/watclib.mak src/gxfcache.h src/gxclzlib.c src/istack.c src/szlibx.h src/zfont0.c src/gstparam.h src/istack.h src/zmath.c src/gdevevga.c src/gdevhit.c src/gxclimag.c src/iimage.h src/gxpcolor.h src/gp_unifn.c src/gdevddrw.c src/gschar.c src/gxht.c src/gdevpsfm.c src/gxdcconv.c src/gschar.h src/gdevpsdp.c src/gsptype2.c src/gdevpsu.c src/gxcht.c src/openvms.mak src/gdevclj.c src/gdevxalt.c src/gxht.h src/gxdcconv.h src/zfcid1.c src/zvmem2.c src/gstrans.c src/gsptype2.h src/gdevpsu.h src/gstrans.h src/contrib.mak src/iestack.h src/gxbitfmt.h src/gsiparm3.h src/gxclio.h src/gxclpage.c src/gxfont1.h src/gstype2.c src/icontext.c src/gsdllos2.h src/itoken.h src/gxclpage.h src/zstring.c src/icontext.h src/gxop1.h src/inameidx.h src/unix-aux.mak src/zfont32.c src/gxclip2.c src/szlibxx.h src/gdevdrop.c src/gxclip2.h src/sfxboth.c src/sbhc.c src/scfd.c src/gsdps.c src/gdevht.c src/zfont1.c src/cfonts.mak src/gxiclass.h src/sbhc.h src/gsdps.h src/gdevht.h src/spngp.c src/gdevcgml.c src/ghost.h src/gdevcgml.h src/gdevpx.c src/gxalloc.h src/gsmatrix.c src/gdevl256.c src/windows_.h src/igcref.c src/zcharx.c src/gxtype1.c src/istruct.h src/gsmatrix.h src/gdevpsf.h src/zdouble.c src/gxtype1.h src/spdiff.c src/gdevcp50.c src/idictdef.h src/scommon.h src/gsmemret.c src/gxclip.c src/gsmemret.h src/iname.c src/sfilter1.c src/gsiparm4.h src/gxclip.h src/sddparam.c src/unixhead.mak src/zmedia2.c src/iname.h src/gs.mak src/gxiscale.c src/gxpcmap.c src/gxcid.h src/gxbcache.c src/gdevnfwd.c src/dwimg.cpp src/dwinst.cpp src/gxbcache.h src/ibnum.c src/zcontrol.c src/gdevxcmp.c src/ibnum.h src/estack.h src/scfe.c src/gsfcmap.c src/gscompt.h src/gsdcolor.h src/zfont2.c src/iimage2.h src/gdevxcmp.h src/gxrplane.h src/gsfcmap.h src/imemory.h src/gxp1fill.c src/gdevlj56.c src/gdevhl7x.c src/gsciemap.c src/gdevos2p.c src/dos_.h src/gdevmr8n.c src/gsbitops.c src/gsparam.c src/gxftype.h src/gscdef.c src/gdevpdfm.c src/imain.c src/gsbitops.h src/gsparam.h src/gdevwpr2.c src/zfilter2.c src/imain.h src/ifilter.h src/gxtmap.h src/zfont42.c src/zchar.c src/dwsetup.def src/spdiffx.h src/smd5.c src/gdevsun.c src/gscrypt1.c src/smd5.h src/ztrans.c src/gxhttype.h src/gs16spl.rc src/gscrypt1.h src/gxdht.h src/gspenum.h src/dvx-head.mak src/zcsindex.c src/gxipixel.c src/gdevrops.c src/sfilter2.c src/icolor.h src/gp_msio.c src/gdevsnfb.c src/store.h src/gscrd.c src/gxmclip.c src/gxfixed.h src/gstypes.h src/gxcie.h src/gsio.h src/gscrd.h src/gxmclip.h src/string_.h src/unix-end.mak src/zfdctd.c src/gdevcslw.c src/gsjmorec.h src/zdps.c src/inobtokn.c src/unixtrad.mak src/scanchar.h src/gxpcache.h src/lib.mak src/gp_mslib.c src/zmatrix.c src/sdctc.c src/gdevescp.c src/gsiodev.c src/igc.c src/msvc32.mak src/gdevpipe.c src/gspmdrv.rc src/gsfunc0.c src/gdevsvga.c src/zdosio.c src/slzwce.c src/jerror_.h src/igc.h src/gsfunc0.h src/gdevsvga.h src/gdevepsn.c src/gsparam2.c src/gp_mktmp.c src/stat_.h src/gdevpsf1.c src/gdevpsds.c src/dwmain.cpp src/zfdecode.c src/siscale.c src/gsstruct.h src/gdevpsds.h src/ilevel.h src/gxfill.c src/gsdsrc.c src/gximag3x.c src/siscale.h src/gsgc.h src/gxclread.c src/gscolor1.c src/gxfcmap.h src/gdevmswn.c src/gsdsrc.h src/gdevjpeg.c src/gximag3x.h src/siinterp.c src/gscolor1.h src/gdevmswn.h src/gdevbbox.c src/siinterp.h src/opdef.h src/iostack.h src/gsdll32w.lnk src/iddict.h src/gdevmr1.c src/gdevbbox.h src/gsdll.c src/gspath1.c src/gdevtfax.c src/gendev.c src/gdevpjet.c src/gsexit.h src/gdevphex.c src/gsdll.h src/sjpegc.c src/gp.h src/gslparam.h src/ivmspace.h src/gdevtfax.h src/gshtscr.c src/zfdcte.c src/bench.c src/zfcmap.c src/gsnogc.c src/dwmainc.cpp src/gdevbit.c src/gdevfax.c src/gdevbmpa.c src/gsnogc.h src/stdio_.h src/dwuninst.def src/gdevemap.c src/gdevfax.h src/gp_wsync.c src/gsdevice.c src/gp_sysv.c src/gxclmem.c src/gsdll32.rc src/gscparam.c src/gshtx.c src/gdevsj48.c src/gdevpdfo.c src/gsdevice.h src/gsbittab.c src/sdctd.c src/gxclmem.h src/gshtx.h src/gsmemory.c src/gsrefct.h src/iastruct.h src/gdevpdfo.h src/gsbittab.h src/ifwpred.h src/gdevcdj.c src/files.h src/gsmemory.h src/gxband.h src/scfdgen.c src/gdevbjc.h src/close_.h src/gsbitmap.h src/gdevtknk.c src/idsdata.h src/scf.h src/gxfont42.h src/gdevpsf2.c src/inames.h src/gzht.h src/gxidata.c src/gsroptab.c src/gxcvalue.h src/gdevm1.c src/gsistate.c src/sstring.c src/os2.mak src/gscolor2.c src/gxpath.c src/scfparam.c src/gzline.h src/sstring.h src/iconf.c src/gdevupd.c src/gscolor2.h src/gxpath.h src/interp.c src/gsmalloc.c src/zcrd.c src/ivmem2.h src/interp.h src/gsmalloc.h src/gscindex.h src/gxiodev.h src/dwdll.h src/sjpegd.c src/gspath2.h src/gdevpsim.c src/dvx-tail.mak src/gdevpcfb.c src/errors.h src/gdevvec.c src/dwmain.h src/gdevpcfb.h src/gdevvec.h src/ostack.h src/gxino12b.c src/gdevmgr.c src/sdeparam.c src/gsrect.h src/idosave.h src/gdevpdfp.c src/gxacpath.c src/ziodev.c src/ifrpred.h src/gdevvglb.c src/gdevimgn.c src/gdevmgr.h src/gslib.c src/sdcte.c src/iccinit0.c src/gsmdebug.h src/gxshade1.c src/zfunc0.c src/ifont1.h src/gslib.h src/gxccache.c src/gdevm32.c src/scfx.h src/gxmatrix.h src/ifunc.h src/all-arch.mak src/gp_unifs.c src/idparam.c src/bfont.h src/gsparams.c src/gxobj.h src/gdevbjcl.c src/dvx-gcc.mak src/gdevpsdu.c src/isstate.h src/gsparams.h src/idparam.h src/gp_mswin.c src/gdevm2.c src/gdevbjcl.h src/ifilter2.h src/gspath.c src/gdevwddb.c src/gp_mswin.h src/gp_os2.c src/gxpcopy.c src/zcolor1.c src/gspath.h src/gscolor3.c src/gdevdjet.c src/math_.h src/gdevstc.c src/gxfunc.h src/gscolor3.h src/ialloc.c src/gdevstc.h src/zpath1.c src/gdevm24.c src/ialloc.h src/gp_unix.c src/gserrors.h src/inamedef.h src/sjpege.c src/gxsample.c src/ilocate.c src/gxdcolor.c src/gxfarith.h src/gdevpm.c src/gscdefs.h src/gdevbmp.c src/vmsmath.h src/gxsample.h src/gxdcolor.h src/gzstate.h src/gschar0.c src/gdevbmpc.c src/gdevpm.h src/gserror.h src/gdevbmp.h src/iht.h src/zdevice.c src/gscie.c src/gdevsppr.c src/igcstr.c src/gdevn533.c src/zimage2.c src/gscie.h src/iastate.h src/idebug.c src/igcstr.h src/pipe_.h src/gxbitops.h src/idebug.h src/gsht.c src/ipacked.h src/ifont2.h src/gdevpsdf.h src/gsfunc3.c src/gpsync.h src/gswin.rc src/gdevm16.c src/gsht.h src/scantab.c src/gsccode.h src/gsfunc3.h src/gxpath2.c src/gp_strdl.c src/genconf.c src/gxdevbuf.h src/zfilter.c src/gstype42.c src/sa85d.c src/gsfunc.c src/gscsel.h src/iutilasm.asm src/sbcp.c src/sa85d.h src/openvms.mmk src/gsfunc.h src/gdevalph.c src/iref.h src/zcolor2.c src/gdev3b1.c src/sbcp.h src/gdevtrac.c src/gp_ntfs.c src/gxttf.h src/libpng.mak src/gdevatx.c src/zfproc.c src/genht.c src/zgeneric.c src/gs.c src/istream.h src/gxarith.h src/gxclrect.c src/zdevice2.c src/iscannum.c src/gsshade.c src/gdevpdfb.c src/gspmdrv.c src/gscrdp.c src/iscannum.h src/gsshade.h src/gscsepnm.h src/msvclib.mak src/gsfemu.c src/gspmdrv.h src/gscrdp.h src/gdevxres.c src/gxclrast.c src/inamestr.h src/zcid.c src/dwsetup.cpp src/gdevp2up.c src/dwuninst.rc src/gdevo182.c src/istkparm.h src/zimage3.c src/gdevpdfr.c src/zarith.c src/zcspixel.c src/gdevppla.c src/gximage1.c src/dwnodll.cpp src/zmisc1.c src/gsdevmem.c src/gdevppla.h src/msvctail.mak src/wccommon.mak src/gsfunc4.c src/gxclpath.c src/isdata.h src/gsfunc4.h src/gxcmap.c src/gxclpath.h src/icsmap.h src/gdevpsft.c src/gxhint1.c src/gpgetenv.h src/gxcmap.h src/gsmisc.c src/gdevtfnx.c src/gdevm4.c src/gxicolor.c src/zpath.c src/gsnorop.c src/gdevmrop.h src/gxpageq.c src/gsdparam.c src/gxcpath.c src/winint.mak src/gxpageq.h src/gsstype.h src/gxcpath.h src/gxdevrop.h src/gdevprn.c src/gdevlxm.c src/gxp1impl.h src/gdevcif.c src/gdevprn.h src/iesdata.h src/gdevpdfc.c src/gxgetbit.h src/gdevabuf.c src/spngpx.h src/gdevherc.c src/btoken.h src/gdevsco.c src/zcie.c src/stream.c src/gdevdflt.c src/zcharout.c src/gdevepsc.c src/stream.h src/gsdpnext.h src/gdev8510.c src/gxdevice.h src/gximage2.c src/srld.c src/zht.c src/gdevpxut.c src/gxstroke.c src/gxshade4.c src/zmisc2.c src/zfunc3.c src/iparam.c src/gdevpxut.h src/zrelbit.c src/gxshade4.h src/iinit.c src/gdevxini.c src/gxclist.c src/iparam.h src/gxccman.c src/gxbitmap.h src/gdevstc1.c src/watcw32.mak src/iinit.h src/gsalphac.c src/gxclist.h src/gdevpsfu.c src/gxhint2.c src/gxshade.c src/gdevlp8k.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/gp_dosfs.c src/gxcolor2.h src/gscoord.h src/genarch.c src/gpcheck.h src/dwuninst.cpp src/gdevxxf.c src/ztype.c src/shc.c src/gscpm.h src/gxcindex.h src/zshade.c src/gp_nsync.c src/opcheck.h src/shc.h src/gdevpdfd.c src/gdevdgbr.c src/gdevmr2n.c src/zlib.mak src/gdevcfax.c src/gxtext.h src/zchar1.c src/gscdevn.c src/gxdda.h src/iscan.c src/gscdevn.h src/gsnotify.c src/iscan.h src/gdevpdft.c src/gximage3.c src/gdevpsdi.c src/srle.c src/gsnotify.h src/shcgen.c src/zfilterx.c src/gsiparam.h src/zmisc3.c src/gsdll2.rc src/gximage3.h src/zfunc4.c src/malloc_.h src/iparray.h src/memory_.h src/shcgen.h src/gscpixel.c src/gsuid.h src/gdevstc2.c src/ziodev2.c src/gsiodevs.c src/gscpixel.h src/gxhint3.c src/zmisc.c src/gsargs.c src/devs.mak src/gdevplnx.c src/gp_win32.c src/dirent_.h src/gsargs.h src/gdevplnx.h src/gsinit.c src/wmin.mak src/zfzlib.c src/winplat.mak src/gscsepr.c src/gdev3852.c src/iutil2.c src/gp_getnv.c src/gscsepr.h src/dpmainc.c src/gsimage.c src/ipcolor.h src/iutil2.h src/sjpeg.h src/gstext.c src/dwtext.cpp src/gsimage.h src/gp_wgetv.c src/msvccmd.mak src/gstext.h src/gsflip.c src/gdevpdfe.c src/gdevpxen.h src/gdevadmp.c src/gdevpxat.h src/gsflip.h src/errno_.h src/zchar2.c src/gdevdljm.c src/zdpnext.c src/geninit.c src/gdevdljm.h src/slzwc.c src/zusparam.c src/gxchrout.c src/gdevpdfu.c src/gximage4.c src/dwdll.cpp src/gxchrout.h src/gxshade6.c src/gxcoord.h src/gsfuncv.c src/dwinst.h src/sfilter.h src/gdevpdf.c src/gsfuncv.h src/zpacked.c src/gsparamx.c src/gdevstc3.c src/ifcid.h src/ifont.h src/sisparam.h src/zfmd5.c src/gp_dosfe.c src/iutil.c src/szlibc.c src/gsparamx.h src/unixlink.mak src/gdevpng.c src/zrop.c src/iutil.h src/gdevegaa.asm src/gzpath.h src/gxcdevn.h src/sfxstdio.c src/gspaint.c src/gxropc.h src/gxfcid.h src/gspaint.h src/gxfont.h src/gdevccr.c src/sa85x.h src/gsalpha.c src/int.mak src/gdevdcrd.c src/gsalpha.h src/watc.mak src/zbseq.c src/gdevpdff.c src/icremap.h src/gp_dvx.c src/gdevdcrd.h src/imainarg.c src/gdevl31s.c src/zfrsd.c src/iosdata.h src/gdevdjtc.c src/gdevpdff.h src/imainarg.h src/spprint.c src/gdevpcx.c src/gdevpxop.h src/gxcldev.h src/zfileio.c src/zbfont.c src/slzwd.c src/unix-gcc.mak src/spprint.h src/gdevpdfv.c src/gxifast.c src/gxpflat.c src/igstate.h src/version.mak src/zsysvm.c src/gsimpath.c src/dwimg.h src/gdevx.c src/gsmemlok.c src/gsos2.rc src/sbwbs.c src/gxdevmem.h src/gximage.c src/gdevx.h src/gsmemlok.h src/gdevstc4.c src/icharout.h src/ziodevs.c src/dwtext.h src/unixansi.mak src/sbwbs.h src/gdevpsfx.c src/gximage.h src/szlibd.c src/gscspace.c src/gdevdfax.c src/gdevdbit.c src/gdevpccm.c src/gdevm8.c src/gsxfont.h src/gsropc.c src/gscspace.h src/gdevpccm.h src/gsjconf.h src/gsfcid.c src/strimpl.h src/zstack.c src/gsfont.c src/gsropc.h src/gsfont.h src/gsutil.c src/isave.c src/opextern.h src/gsutil.h src/gdevcgm.c src/isave.h src/zimage.c src/zdict.c src/gxfrac.h src/gx.h src/iccfont.c src/gsht1.c src/gdevpdfg.c src/gspcolor.c src/gdevps.c src/png_.h src/gxi12bit.c src/gxcllzw.c src/gsht1.h src/gdevpdfg.h src/iddstack.h src/gspcolor.h src/gxhttile.h src/std.h src/gsdps1.c src/time_.h src/gdevs3ga.c src/gshsb.c src/gdevpdfw.c src/pcwin.mak src/gscolor.c src/smtf.c src/gxpaint.c src/ztoken.c src/gshsb.h src/gdevtifs.c src/x_.h src/seexec.c src/zchar32.c src/gscolor.h src/icid.h src/smtf.h src/gxpaint.h src/spsdf.c src/gsfname.c src/gdevtifs.h src/gximono.c src/spsdf.h src/gsfname.h src/szlibe.c src/gxalpha.h src/gxctable.c src/main.h src/gp_vms.c src/gp_iwatc.c src/srlx.h src/gxctable.h src/ugcclib.mak src/gdev8bcm.c src/gp_os9.c src/dwsetup.h src/gxclipsr.h src/gdevbj10.c src/gxclipm.c src/gdev8bcm.h src/zpaint.c src/stdpre.h src/gxclipm.h src/jpeg.mak]

2000-09-19T18:29:11.000000Z lpd


Updates the license notices to reflect the name change from Aladdin
Ghostscript to AFPL Ghostscript, and changes a few other internal
references.

[lib/viewcmyk.ps lib/uninfo.ps lib/viewps2a.ps lib/pfbtopfa.ps lib/pdf_sec.ps lib/gs_dbt_e.ps lib/gs_statd.ps lib/viewmiff.ps lib/showchar.ps lib/gs_dps.ps lib/Fontmap.Sol lib/image-qa.ps lib/impath.ps lib/viewpcx.ps lib/gs_epsf.ps lib/gs_dpnxt.ps lib/pcharstr.ps lib/pdf_draw.ps lib/gs_diskf.ps lib/pdf_ops.ps lib/font2c.ps lib/gs_init.ps lib/pdf_font.ps lib/viewgif.ps lib/gs_wl1_e.ps lib/gs_dps2.ps lib/bdftops.ps lib/pdf_base.ps lib/gs_wl5_e.ps lib/ps2epsi lib/gslp.ps lib/gs_sym_e.ps lib/gs_btokn.ps lib/wftopfa.ps lib/gs_setpd.ps lib/lines.ps lib/gs_mgl_e.ps lib/gs_ksb_e.ps lib/ppath.ps lib/ps2ascii.ps lib/gs_lgo_e.ps lib/ps2ai.ps lib/gs_fonts.ps lib/gs_wan_e.ps lib/gs_ce_e.ps lib/gs_kanji.ps lib/Fontmap.OS2 lib/stcolor.ps lib/pdf2dsc.ps lib/gs_ttf.ps lib/Fontmap.Ult lib/gs_mex_e.ps lib/gs_std_e.ps lib/unprot.ps lib/cbjc600.ppd lib/gs_pfile.ps lib/align.ps lib/cbjc800.ppd lib/gs_type1.ps lib/Fontmap.GS lib/gsnup.ps lib/gs_dps1.ps lib/gs_wl2_e.ps lib/gs_rdlin.ps lib/gs_lev2.ps lib/gs_fform.ps lib/gs_l2img.ps lib/Fontmap.SGI lib/stocht.ps lib/stcinfo.ps lib/gs_pdf_e.ps lib/markpath.ps lib/gs_pdfwr.ps lib/gs_cidfn.ps lib/jispaper.ps lib/markhint.ps lib/pdf_main.ps lib/packfile.ps lib/addxchar.ps lib/winmaps.ps lib/wrfont.ps lib/gs_il1_e.ps lib/gs_res.ps lib/gs_ll3.ps lib/type1ops.ps lib/pdfwrite.ps lib/gs_css_e.ps lib/ps2epsi.ps lib/gs_ccfnt.ps lib/gs_lgx_e.ps lib/font2pcl.ps lib/gs_frsd.ps lib/Fontmap.ATB lib/gs_mro_e.ps lib/afmdiff.awk lib/caption.ps lib/traceop.ps lib/gs_trap.ps lib/Fontmap.ATM lib/gs_cmdl.ps lib/viewpbm.ps lib/gs_cmap.ps lib/gs_typ32.ps lib/gs_typ42.ps lib/cid2code.ps lib/docie.ps lib/gs_il2_e.ps lib/errpage.ps lib/zeroline.ps lib/gs_cff.ps lib/type1enc.ps lib/traceimg.ps lib/pdfopt.ps lib/gs_agl.ps]

2000-09-19T18:10:51.000000Z lpd


Updates the license notices to reflect the name change from Aladdin
Ghostscript to AFPL Ghostscript, and changes internal references in various
scripts.

[toolbin/leaks.tcl toolbin/tmake.tcl toolbin/3way.tcl toolbin/precheck.tcl toolbin/errlist.tcl toolbin/pre toolbin/makegnu.tcl toolbin/gsmake.tcl toolbin/suite.tcl toolbin/makeset.tcl toolbin/gsindent toolbin/headers.tcl toolbin/cvs2hist.py]

2000-09-19T18:03:40.000000Z lpd


Updates the license notice to reflect the name change from Aladdin
Ghostscript to AFPL Ghostscript.

[examples/waterfal.ps]

2000-09-19T17:30:25.000000Z lpd


Updates license notices to reference the AFPL (like the rest of Ghostscript)
rather than simply saying "All rights reserved".

[toolbin/leaks.tcl toolbin/tmake.tcl toolbin/3way.tcl toolbin/precheck.tcl toolbin/errlist.tcl toolbin/pre toolbin/makegnu.tcl toolbin/gsmake.tcl toolbin/suite.tcl toolbin/makeset.tcl toolbin/gsindent toolbin/headers.tcl toolbin/cvs2hist.py]

2000-09-18T22:26:32.000000Z lpd


Adds a paragraph explaining why and how the AFPL is not an Open Source /
Free Software license.

[doc/Public.htm doc/PUBLIC]

2000-09-18T06:38:38.000000Z lpd


Fix: The page dictionary was left on the operand stack while the page was
being rendered, causing the sc[n]/SC[N] operators to give an error if the
color consisted of only a single value.  (bug introduced after 6.23)

[lib/pdf_main.ps]

2000-09-18T06:28:58.000000Z lpd


Undoes uncommented and in some cases inappropriate changes.

[lib/pdf_main.ps src/zmatrix.c src/int.mak lib/gs_init.ps]

2000-09-18T06:22:35.000000Z lpd


Fix: Printing the program name and version didn't use fprintf, so it didn't
work properly with the stdout redirection on Windows.  (fix from Artifex)

[src/gsmisc.c]

2000-09-15T23:44:21.000000Z lpd


Documents division of bug-gs mailbox into bug-gs, bug-gs-dev, and
bug-gs-beta.

[doc/Bug-form.htm doc/Bug-info.htm]

2000-09-15T03:51:54.000000Z Alex Cherepanov

*** empty log message ***

[lib/pdf_main.ps]

2000-09-15T03:01:51.000000Z Alex Cherepanov

*** empty log message ***

[src/gsmisc.c]

2000-09-14T19:46:05.000000Z Alex Cherepanov

*** empty log message ***

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

2000-09-14T00:38:05.000000Z lpd


Fix: Filters with indirect object parameters caused an error.  (Fix from
Artifex.)

[lib/pdf_base.ps]

2000-09-12T20:36:23.000000Z lpd


Renders pages that use any transparency features as transparency groups.

[lib/pdf_main.ps]

2000-09-12T20:35:05.000000Z lpd


Fix: The -Zv tracing messages for gs_begin_transparency_{group,mask} were
incorrect.

[src/gstrans.c]

2000-09-12T02:03:35.000000Z lpd


Replaces "Distiller" with our program name in the Info Producer string.

[src/gdevpdfx.h src/gdevpdfm.c src/gdevpdf.c src/gdevpdfu.c]

2000-09-12T02:02:52.000000Z lpd


Makes the default string matching parameters public.

[src/gsutil.h src/gsutil.c]

2000-09-11T22:20:05.000000Z lpd


Finishes the (dummy) implementation of the transparency layer stack in the
graphics library.

[src/gxistate.h src/gstrans.c src/gsistate.c src/gstparam.h src/gsstate.c]

2000-09-11T21:13:49.000000Z lpd


Fix: When CompatibilityLevel < 1.4, transparency was ignored rather than
being rendered explicitly.

[src/gdevpdfg.c]

2000-09-11T21:12:12.000000Z lpd


Fix: Works around a gcc code generation bug that sometimes caused gray
colors to be written out as RGB in PDF files.  (Minor performance issue
only.)

[src/gdevpsdu.c]

2000-09-11T20:13:31.000000Z lpd


Upgrades the proposed driver interface transparency extension from comments
to macros, changing the name 'discard_transparency_level' to
'discard_transparency_layer'.

[src/gstrans.c src/ztrans.c src/gstrans.h]

2000-09-11T04:43:09.000000Z lpd


Fix: Cleans up some missing and incorrect dependencies.

[src/lib.mak src/int.mak src/devs.mak src/gdevsco.c]

2000-09-11T04:38:01.000000Z lpd


Adds a default implementation of soft-masked images that simply ignores the
mask.

[src/gximag3x.c]

2000-09-11T04:10:42.000000Z lpd


Adds the ability to write PDF 1.4 soft-masked images.

[src/gdevpdfo.c src/gdevpdfo.h src/gdevpdfv.c src/gdevpdfi.c]

2000-09-11T04:08:13.000000Z lpd


Moves the Matte entry of soft mask images from the main structure to the
mask structures, and changes Matted to has_Matte.

[src/gximag3x.h src/ztrans.c src/gsipar3x.h lib/pdf_draw.ps doc/Language.htm src/gximag3x.c]

2000-09-11T02:14:09.000000Z lpd


Adds the ability to write some PDF 1.4 constructs: graphics state parameters
AIS, BM, ca/CA, and TK, and images with soft masks (except for Matte).

[src/gdevpdfg.c src/gdevpdfi.c src/gdevpdfg.h]

2000-09-11T02:12:19.000000Z lpd


Fix: Several places in the code for ImageType 3x (soft-masked) images didn't
correctly handle the case where only one of the two masks was supplied
(which is always the case for PDF).

[src/gximag3x.c]

2000-09-11T02:10:28.000000Z lpd


Checks that the TransferFunction of a soft mask is 1-in, 1-out; sets Matted
correctly in the soft mask parameters passed to the graphics library.

[src/ztrans.c]

2000-09-11T02:08:58.000000Z lpd


Documents the addition of (limited) PDF 1.4 output capabilities.

[doc/Ps2pdf.htm]

2000-09-10T19:33:47.000000Z lpd


Adds script / batch / command files for producing PDF 1.4 output.

[lib/ps2pdf14 lib/ps2pdf14.cmd lib/ps2pdf14.bat]

2000-09-10T19:32:44.000000Z lpd


Fix: ps2pdf13.cmd set the output PDF version to 1.2 rather than 1.3.

[lib/ps2pdf13.cmd]

2000-09-10T18:48:26.000000Z lpd


Fix: The new code for detecting whether a page used any transparency
features could cause an error.

[lib/pdf_main.ps]

2000-09-10T18:20:09.000000Z lpd


Fixes a type error caused by a change in the TransferFunction member of
gs_transparency_mask_params_t.

[src/gstrans.c]

2000-09-10T05:26:28.000000Z lpd


Implements another chunk of the PDF 1.4 transparency features, fixing some
bugs in the previous code.

[lib/pdf_main.ps src/gstrans.c src/ztrans.c lib/gs_ll3.ps src/gstparam.h lib/pdf_draw.ps doc/Language.htm src/gximag3x.c lib/pdf_ops.ps]

2000-09-10T05:23:10.000000Z lpd


Changes the -Zv switch to trace alpha/transparency-related features.

[doc/Use.htm doc/News.htm src/gdevabuf.c]

2000-09-10T05:21:44.000000Z lpd


Adds color space type names for tracing/debugging.

[src/gscspace.h]

2000-09-08T04:54:10.000000Z lpd


Adds most of the code needed to support PDF 1.4 transparency groups and soft
masks in the graphics state.

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

2000-09-08T04:53:14.000000Z lpd


Adds a requirement to only use ANSI standard C library facilities.

[doc/C-style.htm]

2000-09-07T06:35:06.000000Z lpd


Fix: Configurations including PDF but not PostScript didn't include all the
PostScript LL3 features needed to interpret PDF 1.3 et seq.

[src/int.mak]

2000-09-07T06:14:45.000000Z lpd


Fix: Because "-" as an OutputFile now references the %stdout IODevice, it no
longer worked in configurations without a PostScript interpreter. Fixing
this required factoring out the stdin/out/err IODevices and providing an
implementation that didn't reference the PostScript interpreter.

[src/lib.mak src/ugcclib.mak src/gslib.c src/ziodev.c src/int.mak src/gsiodevs.c src/ziodevs.c]

2000-08-31T20:22:47.000000Z lpd


Adds documentation on proposed driver interface additions for managing the
transparency rendering stack.

[src/gstrans.c]

2000-08-31T18:49:59.000000Z lpd


Fix: The SrcPg entry in ANN pdfmarks was (effectively) ignored.  (bug
introduced between 5.50 and 6.01.)

[src/gdevpdfm.c]

2000-08-31T15:55:46.000000Z lpd


Fix: Dictionary-valued device parameters for high-level devices could be
freed while the device still referred to them.

[src/gdevpsdp.c]

2000-08-31T14:43:58.000000Z lpd


Fix: If changing LanguageLevels caused a dictionary to grow, memory could be
corrupted.

[src/zmisc2.c]

2000-08-31T03:51:29.000000Z lpd


Fix: The BeOS C compiler objected to some int/bool mismatches.

[src/icontext.c src/gxfill.c src/gxtext.h src/gp.h]

2000-08-31T03:34:41.000000Z lpd


Adds more documentation for the transparency rendering stack.

[doc/Language.htm]

2000-08-31T03:23:26.000000Z lpd


Works around the bug in Acrobat Reader (all versions) that apparently treats
stroked fonts as filled fonts, ignoring the PaintType.

[src/gdevpdft.c]

2000-08-31T03:21:45.000000Z lpd


Fix: Type 2 fonts should insert an explicit closepath only if the font's
PaintType != 1.

[src/gstype2.c]

2000-08-31T02:16:45.000000Z lpd


Fix: Type 2 CharStrings didn't insert an explicit closepath at the end of
each subpath.  (This matters for charpath followed by stroke.)

[src/gstype2.c]

2000-08-31T02:05:55.000000Z lpd


Fix: The PDF text rendering modes that included clipping (modes 4-7) didn't
work.  The fix is a bit of a hack, but it's much closer to being right.

[lib/pdf_ops.ps]

2000-08-31T02:04:50.000000Z lpd


Fix: If the OutputFile of a high-level device was ever set, any subsequent
execution of setpagedevice would cause a rangecheck in .installpagedevice.

[src/gdevvec.c]

2000-08-30T21:24:00.000000Z lpd


Divides the list of documents according to whether the document is for
users, for developers, or both.

[doc/Readme.htm]

2000-08-30T21:11:55.000000Z lpd


*Really* finishes the transparency rendering stack operators (the previous
version didn't even compile), except for TransferFunction.

[src/ztrans.c]

2000-08-30T15:03:36.000000Z lpd


Completes the parsing of .{begin,end}transparency{group,mask}, except for
the TransferFunction for masks.  The specification is still subject to
change.

[src/gstrans.c src/ztrans.c src/gstparam.h src/gstrans.h doc/Language.htm]

2000-08-30T04:30:06.000000Z lpd


Finishes the code for parsing ImageType 103 (soft-mask) images.

[src/lib.mak src/int.mak src/ztrans.c src/gximag3x.c]

2000-08-30T01:34:40.000000Z lpd


Brings the (still mostly stubbed) transparency code to a more
self-consistent state.

[src/gxclpath.h src/gstrans.c src/ztrans.c src/gsstruct.h src/gstparam.h src/gstrans.h src/gximag3x.c src/gxclrast.c src/gximag3x.h src/lib.mak src/gxistate.h src/gximage1.c src/gsipar3x.h doc/Language.htm src/gsiparam.h src/gxclpath.c]

2000-08-26T03:21:34.000000Z lpd


Implements some minor improvements to the freelist algorithms that can
produce nearly a factor of 2 speedup in some allocation-intensive
situations.

[src/gxalloc.h src/gsalloc.c src/isave.c]

2000-08-26T03:19:56.000000Z lpd


Completes an edit that accidentally left the repository in an inconsistent
state.

[src/gxclrast.c src/gxclpath.c]

2000-08-26T01:18:33.000000Z lpd


Changes remove_range_from_freelist to only scan relevant freelists, rather
than all of them.  On some files, the speedup is dramatic.

[src/gsalloc.c]

2000-08-25T01:46:48.000000Z lpd


Partly implements opacity and shape mask bookkeeping.  gsave/grestore/etc.
and banding don't do the right thing yet.

[src/gxclpath.h src/int.mak src/gxcldev.h src/gstrans.c src/ztrans.c src/gstparam.h src/igstate.h src/gstrans.h src/gxclpath.c src/version.mak]

2000-08-24T19:43:48.000000Z lpd


Fix: An AIX compiler could get confused if the last elements of a structure
were individual bytes.

[src/gzpath.h]

2000-08-24T19:20:13.000000Z lpd


Adds Matte and has_Matte members to ImageType 1 images.  These are only used
with the new transparency features.

[src/gximage1.c src/gsiparam.h]

2000-08-24T17:58:18.000000Z lpd


Changes the band list representation of mask images to allow
BitsPerComponent > 1 (for soft masks).

[src/gximage1.c]

2000-08-24T05:42:30.000000Z lpd


Adds a new equality-testing virtual procedure for color spaces.

[src/lib.mak src/gscspace.h src/gscpixel.c src/gscscie.c doc/News.htm src/gxcspace.h src/gscsepr.c src/gscspace.c src/gspcolor.c src/gscdevn.c src/gscolor2.c]

2000-08-24T04:18:40.000000Z lpd


If a PDF file is invalid but repairable, prints out the Producer as part of
the warning message.

[lib/pdf_main.ps]

2000-08-24T03:43:12.000000Z lpd


Adds a project to avoid DCT-decoding followed by DCT-encoding images when
writing PDF files.

[doc/Projects.htm]

2000-08-24T03:04:29.000000Z lpd


Implements the new PDF 1.4 scalar graphics state parameters (ca, CA, SMask,
AIS, BM, TK).  The implementation of SMask is a stub.

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

2000-08-24T03:03:18.000000Z lpd


Fix: The stub implementations of .{set,current}{opacity,shape}mask didn't
{pop the argument}{push null}.

[src/ztrans.c]

2000-08-24T02:26:52.000000Z lpd


Implements the op, OP, and OPM (overprint control) elements of ExtGStates.

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

2000-08-24T01:55:37.000000Z lpd


Fix: Setting the color (fill or stroke) sometimes overwrote the color
associated with an outer gsave level.

[lib/pdf_ops.ps]

2000-08-23T21:46:31.000000Z lpd


Starts to implement the PDF 1.4 transparency features.  All API and operator
additions are now implemented (at least as stubs) and documented, as is
bookkeeping for the new scalar graphics state members (but not for the soft
masks or the transparency group stack).

[src/lib.mak src/gxistate.h src/gxclpath.h src/int.mak src/gstrans.c src/ztrans.c src/gstparam.h src/gsistate.c src/gstrans.h src/gzstate.h doc/Language.htm src/gxclrast.c src/gsstate.c src/gxclpath.c]

2000-08-23T17:54:16.000000Z lpd


Adds the PDF "overprint mode" to the graphics state.  THE ACTUAL
FUNCTIONALITY IS NOT IMPLEMENTED YET.

[src/gxistate.h src/gxclpath.h src/gscsepr.c src/gxclrast.c src/zcssepr.c src/gsstate.c src/gxclpath.c src/gscsepr.h]

2000-08-23T02:23:54.000000Z lpd


Documents the deletion of lib/pdfeof.ps.

[doc/News.htm]

2000-08-23T02:22:39.000000Z lpd


Puts the logic for detecting garbage after %%EOF (and some similar invalid
constructs) back into the main code, making it produce a message on stderr.

[lib/pdf_main.ps lib/pdfeof.ps src/unixinst.mak doc/Psfiles.htm]

2000-08-23T01:45:08.000000Z lpd


Fix: When given an array of the wrong size, a number of operators produced a
limitcheck error rather than a rangecheck.

[src/idparam.c src/zimage2.c src/zshade.c src/zimage3.c src/zfont1.c src/idparam.h src/zfunc0.c src/zfunc.c src/zpcolor.c src/zcie.c]

2000-08-21T17:23:26.000000Z lpd


Fix: The emulation of XPutImage (Ghostscript*useXPutImage: 0) was broken.

[src/gdevx.c]

2000-08-21T14:43:17.000000Z lpd


Fix: BJC printers with different X and Y resolution produced incorrect
output.  Also removes the comment asking users to report problems to Yves
Arrouye, since he no longer maintains this code.

[src/gdevcdj.c]

2000-08-21T14:38:28.000000Z lpd


Changes text to make it clear that Yves Arrouye no longer maintains the BJC
drivers that he wrote.

[doc/Devices.htm src/contrib.mak]

2000-08-20T00:21:42.000000Z lpd


Fix: gdev_vector_dopath could return 1, which value was then propagated to
callers that interpreted it differently.

[src/gdevvec.c src/gdevvec.h]

2000-08-20T00:20:42.000000Z lpd


Notes the change in the return value of gdev_vector_dopath.

[doc/News.htm]

2000-08-19T03:31:44.000000Z lpd


In the X Windows driver, changes XFlush() to XSync(False) so that updates
will actually complete before the command prompt appears.

[src/gdevx.c src/gdevxini.c]

2000-08-19T03:01:30.000000Z lpd


Fix: Parameter lists didn't have proper GC descriptors; garbage collection
could mangle keys and collection values in non-transient parameter lists
(such as distiller parameters).

[src/gscparam.c]

2000-08-18T03:20:12.000000Z lpd


Fix: The *ACSImageDict parameter dictionaries weren't being set for the
/default configuration; the *ACSImageDict parameters were never recognized,
because their names were spelled incorrectly as *ACSDict.  (Two separate
bugs.)

[lib/gs_pdfwr.ps]

2000-08-18T03:18:59.000000Z lpd


Fix: Setting parameters for the PS/PDF writer reset any unspecified *Dict
parameter dictionaries to the empty dictionary, rather than leaving them
alone.

[src/gdevpsdp.c]

2000-08-17T20:43:50.000000Z lpd


Adds a mention of the Color LaserJet 4500 as a color PCL XL printer.

[src/devs.mak]

2000-08-17T17:00:42.000000Z lpd


Fix: the "User parameters" section was incorrectly titled "Device
parameters".

[doc/Language.htm]

2000-08-17T04:43:25.000000Z lpd


Fix: the user-contributed cfax driver didn't correctly handle page widths
other than the standard fax widths, and didn't write the required
end-of-document marker.

[src/gdevcfax.c]

2000-08-17T01:31:52.000000Z lpd


Documents the -dDEVICE{WIDTH,HEIGHT}POINTS= switches.

[doc/Use.htm]

2000-08-16T01:26:22.000000Z lpd


Fix: s_add_filter used min_out_size rather than min_in_size for the minimum
buffer size, which could cause an endless loop when writing to the filter.
(This only affected filters allocated by C code, not by the PostScript
filter operator.)

[src/stream.h src/stream.c]

2000-08-09T16:55:25.000000Z lpd


Fix: The FlateEncode and zlibEncode filters didn't implement the "Effort"
parameter.  (fix from Alex Cherepanov)

[src/int.mak src/zfzlib.c]

2000-08-09T16:54:39.000000Z lpd


Adds Alex Cherepanov to the roster of helpers.

[doc/Helpers.htm]

2000-08-09T16:54:02.000000Z lpd


Initializes files for the 6.24 fileset.

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

2000-08-09T06:55:45.000000Z lpd


Fix: The PostScript image writing drivers (psmono/gray/rgb) didn't set the
page size in the output, and didn't produce DSC-compliant output.

[src/gdevpsu.c src/gdevpsim.c src/gdevpsu.h src/gdevpsci.c src/devs.mak src/gdevps.c]

2000-08-08T22:29:12.000000Z lpd


Fix: PDF files with embedded CID fonts with FontName != BaseFont (prohibited
by the PDF specification, but produced by some Adobe software) caused an
error.

[lib/pdf_font.ps lib/pdf_ops.ps]

2000-08-07T20:41:45.000000Z lpd


Checks in the final set of changes for this fileset.

[doc/Changes.htm doc/History6.htm]

2000-08-07T17:52:22.000000Z lpd


Adds some missing dependencies.

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

2000-08-07T17:48:10.000000Z lpd


Updates dates and version #s for the 6.23 fileset.

[doc/Fonts.htm doc/Projects.htm doc/Use.htm doc/Ps2pdf.htm doc/New-user.htm doc/Bug-info.htm doc/Install.htm src/gscdef.c doc/Changes.htm doc/Htmstyle.htm doc/News.htm doc/Drivers.htm doc/Release.htm doc/Language.htm man/ps2ps.1 doc/History5.htm src/version.mak]

2000-08-07T17:35:27.000000Z lpd


Fix: 'pre' didn't work with dates in August or September (Tcl doesn't accept
08 and 09 as valid numbers).

[toolbin/pre]

2000-08-07T17:22:27.000000Z lpd


Changes 'gsmake' to report line number rather than character position for
errors and warnings.

[toolbin/gsmake.tcl]

2000-08-05T01:04:28.000000Z lpd


Fix: "Accurate curves" was a no-op for certain cases of horizontal or
vertical tangents.

[src/gxpcopy.c]

2000-08-04T16:09:30.000000Z lpd


Fix: Showing text with a singular matrix (scaling matrix x CTM) could leave
extraneous values on the operand stack.

[src/zchar1.c]

2000-08-04T16:08:05.000000Z lpd


Fix: Setting a singular text matrix (e.g., 0 0 0 0   Tm) caused an
error.

[lib/pdf_ops.ps]

2000-08-04T04:29:45.000000Z lpd


Ensures that errordict has at least one empty entry, for the sake of some
astonishingly bad PostScript code that tests for this and has a bug in the
case where it isn't true.

[lib/gs_init.ps]

2000-08-03T20:47:48.000000Z lpd


Improves the smoothness of ShadingType 4 - 7 gradient fills.

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

2000-08-03T17:42:52.000000Z lpd


Fix: The dependency on gsparamx.$(OBJ) was incorrectly attached to
pdfwrite.dev rather than psdf.dev.

[src/devs.mak]

2000-08-03T06:45:25.000000Z lpd


Fix: The documented limit on the length of a file name was incorrect.

[doc/Language.htm]

2000-08-03T06:43:17.000000Z lpd


Fix: Errors while executing gs_init.ps and other PostScript initialization
files were sometimes ignored, leading to mysterious error messages later.

[src/imainarg.c]

2000-07-29T05:58:28.000000Z lpd


Adds the ability to load CIDFont resources from CFF OpenType font files.

[lib/gs_cff.ps lib/gs_cidfn.ps]

2000-07-29T04:00:00.000000Z lpd


Adds a partially implemented driver that just produces a trace of its
drawing calls.  This driver also serves as a minimal example of how to
implement the high-level driver operations.

[src/lib.mak src/gdevtrac.c doc/Drivers.htm]

2000-07-27T14:18:11.000000Z lpd


Fix: 'show'ing an empty string could cause the next string to be positioned
incorrectly.

[src/gdevpdft.c]

2000-07-27T04:19:24.000000Z lpd


Adds glyphs_used to FontDescriptors and pfd to std_fonts in the device
structure.  WORK IN PROGRESS.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdff.c src/gdevpdff.h]

2000-07-27T04:18:13.000000Z lpd


Updates font embedding code to handle CIDFontType 2 fonts.  NOT TESTED.

[src/gdevpdfe.c]

2000-07-24T18:08:38.000000Z lpd


Fix: Type 1 or Type 2 fonts with invalid LanguageGroup values < 0 caused an
error.  (Such fonts are invalid, but some real fonts have garbage
LanguageGroup values, and Adobe software doesn't give an error.)

[src/zfont1.c]

2000-07-24T15:12:21.000000Z lpd


Fix: Some DOS/Windows script files didn't use 'call', so they would
terminate execution prematurely if called from another script file.

[lib/ps2pdfxx.bat lib/ps2pdf.bat lib/ps2pdf12.bat lib/ps2pdf13.bat]

2000-07-21T01:09:16.000000Z lpd


Adds the ability to write subsetted CIDFontType 2 (TrueType-based) fonts.

[src/gdevpsft.c src/gdevpsfu.c src/gdevpsf.h src/gxfcid.h]

2000-07-20T14:50:34.000000Z lpd


Directs users to the Ghostscript home page on the Web for information about
third-party drivers.

[doc/New-user.htm]

2000-07-20T14:49:52.000000Z lpd


Removes the SVG driver from the list of projects, since there is a group
close to completing one (referenced from the Ghostscript home page on the
Web).

[doc/Projects.htm]

2000-07-20T01:40:50.000000Z lpd


Fix: When NOPROMPT was set, no flush or flushpage occurred at the end of a
page.  (fix from an anonymous user on SourceForge)

[lib/gs_init.ps]

2000-07-19T22:50:18.000000Z lpd


Adds a project for making Ghostscript work as a Netscape browser plug-in.

[doc/Projects.htm]

2000-07-19T21:32:12.000000Z lpd


Fix: Freeing a locking allocator could cause infinite recursion.

[src/gsmemlok.c]

2000-07-19T15:57:54.000000Z lpd


Fix: As a result of some recent changes to fix other problems, setting
certain text state parameters (Tf, Ts, Tz) outside of text mode (BT/ET)
caused an error.

[lib/pdf_ops.ps]

2000-07-19T14:32:00.000000Z lpd


Fix: During compilation, GLSRCDIR was searched before GLGENDIR.  (We're very
surprised that this didn't cause detectable trouble before.)

[src/lib.mak]

2000-07-19T14:30:46.000000Z lpd


Fix: The use of macros within procedure argument lists confused ansi2knr.

[src/gximage3.c src/gximage3.h]

2000-07-19T08:12:41.000000Z lpd


Fix: When loading a TrueType font, invalid glyph numbers in the 'post' table
(which appear in some Adobe-created PDF files) caused an error instead of
being ignored; a test was backwards, causing some embedded TrueType fonts in
PDF files to produce a rangecheck error.

[lib/gs_ttf.ps]

2000-07-19T08:11:15.000000Z lpd


Fix: TrueType font loading now requires the Adobe glyph list, but this
dependency was missing from the makefile.

[src/int.mak]

2000-07-18T15:41:55.000000Z lpd


Fix: (correction) An interruption (including a callout for a procedure-based
stream), not a garbage collection, while scanning a binary token sequence
could cause a syntaxerror or corrupted data.

[src/iscan.c]

2000-07-18T15:39:02.000000Z lpd


Fix: A garbage collection occurring while scanning a binary token sequence
could cause a syntaxerror or corrupted data.

[src/iscan.c]

2000-07-17T20:13:03.000000Z lpd


Clarifies that device parameters set with -d or -s can be changed
subsequently.

[doc/Use.htm]

2000-07-17T17:10:57.000000Z lpd


Adds documentation and a script for preparing GNU releases from Aladdin
releases.

[doc/Release.htm toolbin/makegnu.tcl]

2000-07-15T19:23:45.000000Z lpd


Updates the (user-contributed) all-architecture build script to work around
a detail in the SGI IRIX C library header files.

[src/all-arch.mak]

2000-07-14T05:30:19.000000Z lpd


Fix: Piped input beginning with a % caused an ioerror. (bug introduced in
6.22)

[lib/pdf_main.ps src/zfileio.c]

2000-07-14T05:28:56.000000Z lpd


Fix: A garbage collection occurring within a save could cause a memory
access error. (bug introduced in 6.22)

[src/zcontext.c]

2000-07-13T02:09:21.000000Z lpd


Fix: Type 2 fonts that used the 'hflex' operator could produce distorted
characters (e.g., slanted bottoms).

[src/gstype2.c]

2000-07-13T02:02:09.000000Z lpd


Fix: A file had accidentally acquired an incorrect license notice.

[src/gscoord.c]

2000-07-12T14:02:04.000000Z lpd


Fix: With some high-level drivers, changing the OutputFile after opening the
device could cause a crash.  After the fix, doing this works properly if no
pages have actually been written out, but causes a rangecheck error if any
pages have been written.  (This is required to maintain internal
consistency.)

[doc/News.htm src/gdevvec.c]

2000-07-12T04:49:44.000000Z lpd


Removes a structure member no longer needed after a recent fix.

[src/gscoord.c src/gxmatrix.h]

2000-07-11T15:33:19.000000Z lpd


Adds some user-contributed comments about using the Canon BJ200 driver with
the BJ300.

[src/gdevbj10.c src/contrib.mak]

2000-07-11T14:33:54.000000Z lpd


Fix: The word and character spacing values were not tracked correctly when
mixing text and graphics, sometimes producing horizontally misplaced text.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfu.c src/gdevpdfg.c]

2000-07-11T14:00:09.000000Z lpd


Fix: If the current color space was DeviceRGB, gs_currentgray returned the
wrong value. (bug introduced in 6.22)

[src/gscolor.c]

2000-07-11T09:25:46.000000Z lpd


Fix: Some coordinate computations for Type 1 fonts could lose far too much
precision if _fixed_shift was reduced.

[src/gscoord.c src/gxmatrix.h]

2000-07-10T23:56:55.000000Z lpd


Fix: Local GC in a multi-context system caused a crash. Also updates all the
internal type names in zcontext.c by adding a _t suffix if necessary.

[src/zcontext.c doc/News.htm]

2000-07-10T19:32:59.000000Z lpd


Updates a couple of release procedures.

[doc/Release.htm]

2000-07-10T15:43:30.000000Z lpd


Adds _simple_final structure type definition macros.

[src/gsstruct.h]

2000-07-10T13:35:24.000000Z lpd


Fix: Redefining setcolorspace could cause an infinite recursion.

[lib/gs_lev2.ps]

2000-07-10T13:18:28.000000Z lpd


Fix: If a badly-constructed PDF file referenced one of the 12 base
alphabetic fonts explicitly as a TrueType font (e.g., /BaseFont
/TimesNewRoman /Subtype /TrueType) without embedding it, the substituted
Type 1 font had the wrong Encoding.

[lib/pdf_font.ps]

2000-07-10T12:48:54.000000Z lpd


Fix: The workaround for attempting to set a 4-element PageSize value in a
page device sometimes caused an error. (bug introduced in 6.21)

[lib/gs_setpd.ps]

2000-07-09T23:29:25.000000Z lpd


Updates the references to the Computer Modern Fontmap on CTAN.

[doc/Fonts.htm doc/New-user.htm]

2000-07-09T23:19:59.000000Z lpd


Fix: $(GLGEN)/md5.h wasn't deleted after compilation.

[src/lib.mak]

2000-07-09T23:11:31.000000Z lpd


Fix: M_2PI was predefined on some systems.

[src/gdevpdfg.c]

2000-07-09T23:10:58.000000Z lpd


Fix: A constant 1 should have been 1L, causing a warning on systems where
sizeof(long) > sizeof(int).

[src/zarith.c]

2000-07-09T22:34:30.000000Z lpd


Fix: Removes the '?' procedure, which was defined solely for the convenience
of users who don't read the documentation and which interfered with the
operation of some code produced by the Adobe PS5 Windows driver.

[lib/gs_init.ps]

2000-07-09T21:09:51.000000Z lpd


Fix: An invalid file name or pattern passed to filenameforall would
(incorrectly) return an empty string rather than not returning any file
names at all.

[src/gp_vms.c]

2000-07-09T21:04:25.000000Z lpd


Adds a little more tracing output for images.

[src/gxidata.c]

2000-07-06T05:29:46.000000Z lpd


Implements finish_copydevice for X windows, to allow copying instances as
well as the prototype.

[src/gdevx.c src/gdevxini.c src/gdevx.h]

2000-07-06T04:13:24.000000Z lpd


Adds a finish_copydevice device procedure, for cleaning up after copying the
bits of a device prototype or instance.  For safety, the default
implementation only allows copying the prototype, not instances.  This is a
NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
instance never worked reliably, so it should not have been used this way
before.

[src/gxclist.c src/gdevht.c src/gxclip.c src/gsdevice.c src/gdevmem.h src/gdevrops.c src/gdevdflt.c src/gxacpath.c src/gxpcmap.c doc/News.htm src/gdevbbox.c doc/Drivers.htm src/gxclipm.c src/gxdevice.h src/gdevnfwd.c src/gxclip2.c src/gdevprn.h src/gxdevcli.h lib/gs_init.ps]

2000-07-06T03:26:13.000000Z lpd


Redefines [gs_]copydevice in terms of a new gs_copydevice2/.copydevice2,
which adds a Boolean keep_open argument that requests (but does not
guarantee) that a copy of an open device remain open.

[src/gsdevice.h src/zdevice.c src/gsdevice.c lib/gs_init.ps]

2000-07-06T02:45:06.000000Z lpd

Update notes and dates for the 8.32 release.

[doc/News.htm]

2000-07-06T02:45:06.000000Z lpd


Increments the version number, in preparation for the next fileset.

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

2000-07-06T00:05:43.000000Z lpd


Updates the change and history logs for making the fileset.

[doc/Changes.htm doc/History6.htm]

2000-07-06T00:01:39.000000Z lpd


Updates documentation dates for making a fileset.

[doc/Changes.htm doc/Use.htm doc/News.htm doc/Readme.htm doc/Ps2pdf.htm doc/Drivers.htm doc/Devices.htm doc/Language.htm doc/New-user.htm doc/History6.htm]

2000-07-06T00:01:03.000000Z lpd


Updates GS_PRODUCT for making a fileset.

[src/gscdef.c]

2000-07-06T00:00:13.000000Z lpd


Fix: Adds a missing dependency.

[src/contrib.mak]

2000-07-05T18:27:50.000000Z lpd


Updates documentation related to version numbering, reflecting the move back
to sequential numbering.

[doc/Maintain.htm doc/Release.htm]

2000-07-05T18:20:41.000000Z lpd


Fix: X Windows platform fonts were broken when using multiple device
instances (windows).

[src/gdevxxf.c]

2000-07-05T17:36:14.000000Z lpd


Per user request, changes the license on the basic monochrome
DeskJet/LaserJet drivers from AFPL to dual AFPL/GPL.

[src/gdevdljm.c src/gdevdjet.c src/gdevdljm.h]

2000-07-05T17:23:54.000000Z lpd


Changes the version numbering system back to sequential (not odd/even).
Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".

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

2000-07-05T17:21:43.000000Z lpd


Adds O_BINARY to the Microsoft compatibility fcntl.h patch.

[src/fcntl_.h]

2000-07-05T17:08:27.000000Z lpd


Fix: Watcom C requires the non-standard O_BINARY mode flag when opening
(with open) a file that will later be opened in binary mode with fdopen.

[src/gpmisc.c]

2000-07-05T16:21:13.000000Z lpd


Adds a number of (user-maintained) command files for OS/2.

[lib/ps2ascii.cmd lib/pdf2ps.cmd lib/ps2pdf.cmd lib/ps2pdf12.cmd lib/bdftops.cmd lib/eps2eps.cmd lib/ps2pdf13.cmd lib/ps2epsi.cmd lib/ps2ps.cmd lib/font2c.cmd lib/pf2afm.cmd]

2000-07-05T04:50:13.000000Z lpd


Fix: The "smoke test" procedure for fileset releases didn't stress the
banding code nearly as hard as intended.

[doc/Release.htm]

2000-07-05T04:49:11.000000Z lpd


Adds a findprotodevice "operator", to find a device prototype by name.

[doc/Language.htm lib/gs_init.ps]

2000-07-05T00:48:21.000000Z lpd


Finishes working around the fact that Microsoft C, in defiance of multiple
standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
anywhere else).

[src/lib.mak src/stat_.h src/gpmisc.c src/fcntl_.h]

2000-07-04T22:30:33.000000Z lpd


Fix: Adds a missing dependency.

[src/devs.mak]

2000-07-04T22:30:10.000000Z lpd


Fixes a typo.

[src/contrib.mak]

2000-07-04T22:25:08.000000Z lpd


Fixes references to undeclared functions.

[src/gdevl256.c src/gdevdfax.c]

2000-07-04T19:54:00.000000Z lpd


Fix: If TMPDIR wasn't defined, TEMP would be ignored. (bug introduced in
6.23)

[src/gpmisc.c]

2000-07-04T19:19:38.000000Z lpd


Fixes a couple of typos.

[doc/Release.htm]

2000-07-04T19:19:17.000000Z lpd


Fixes a typo; reduces the number of false warnings for documentation date
mismatches.

[toolbin/pre]

2000-07-04T19:05:12.000000Z lpd


Fix: A dependency was missing.

[src/lib.mak]

2000-07-04T18:34:38.000000Z lpd


Fix: [e]pswrite didn't guarantee a maximum line length of 255 characters,
and didn't mark binary data with %%BeginData:/%%EndData.

[src/gdevps.c]

2000-07-03T21:55:18.000000Z lpd


Fix: Some picky compilers complained about "integer constant is unsigned in
ANSI C, signed with -traditional".

[src/md5.c]

2000-07-03T21:30:41.000000Z lpd


Fix: Two values were computed and not used.

[src/gdevpx.c]

2000-07-03T21:10:33.000000Z lpd


Fix: Moves an assignment to eliminate a bogus warning from some picky
compilers about a variable supposedly clobbered by longjmp.

[src/gdevpng.c]

2000-07-03T21:07:05.000000Z lpd


Fix: The workaround for Microsoft C's omission of O_APPEND et al caused
warnings or errors with other compilers.

[src/stat_.h]

2000-07-03T15:28:26.000000Z lpd


Fix: [gs_]currentgray didn't return the correct value if the current color
space was a DeviceN space using the alternate space.

[src/gscolor.h doc/News.htm src/gscolor.c src/zcolor.c src/gscolor1.c src/zcolor1.c]

2000-07-02T22:11:31.000000Z lpd


Removes some third-party drivers with incompatible licenses.

[src/gdevhl12.c src/gdevdj9.c src/gdevcd8.c src/contrib.mak]

2000-06-30T00:09:15.000000Z lpd


Improves the documentation of copydevice regarding where it allocates the
copy, and documents finddevice.

[doc/Drivers.htm doc/Language.htm]

2000-06-29T23:31:14.000000Z lpd


Fix: The code for registering compiled fonts was sensitive to its position
in the order of loading the initialization files (caused an error if loaded
too early).

[lib/gs_ccfnt.ps]

2000-06-29T16:00:48.000000Z lpd


Brings the language documentation (more) up to date.

[doc/Language.htm]

2000-06-29T15:58:24.000000Z lpd


Changes the name of the unread operator to .unread, retaining unread as a
synonym for backward compatibility.

[src/zfileio.c lib/gs_init.ps]

2000-06-29T15:55:13.000000Z lpd


Fix: If PDF interpretation was included in the build, the very first line of
a non-PDF file wouldn't be processed (if applicable) as a comment.

[lib/pdf_main.ps]

2000-06-28T20:17:00.000000Z lpd


Finishes implementing the Process[DSC]Comment callout.

[src/icontext.c src/itoken.h src/int.mak src/icstate.h src/interp.c src/zusparam.c src/iscan.h src/ztoken.c lib/gs_init.ps]

2000-06-28T05:14:17.000000Z lpd


Fix: In some cases, two successive DSC comments produced a syntaxerror.

[src/ztoken.c]

2000-06-28T05:13:19.000000Z lpd


Fix: Uncolored Patterns used with a gray color produced incorrect PDF
output.  (Bug introduced in 6.2x.)

[src/gdevpsdu.c]

2000-06-28T01:36:30.000000Z lpd


Fix: The built-in Identity CMaps had an incorrect entry count for
begincodespacerange and begincidrange; these CMaps, and all Type 0 fonts,
were constructed in a way that was incompatible with some old Adobe font
loading software.

[lib/pdf_font.ps]

2000-06-28T00:47:05.000000Z lpd


Fix: Calling out to process a comment during scanning left an extra element
on the operand stack if the comment appeared within { }.

[src/ztoken.c]

2000-06-27T17:56:04.000000Z lpd


Fix: The change in parameter type checking required for the new
Process[DSC]Comment user parameters broke type checking for system
parameters.

[lib/gs_lev2.ps]

2000-06-27T17:55:05.000000Z lpd


Fix: The dictionary used to hold Encodings wasn't large enough.

[lib/gs_init.ps]

2000-06-27T17:36:42.000000Z lpd


Fix: The makefiles didn't include the requirement that gs_mro_e.ps be loaded
before gs_mgl_e.ps.

[src/int.mak src/devs.mak]

2000-06-27T17:23:13.000000Z lpd


Fix: The makefile missed a dependency (CIDFontType 0 fonts require FontType
2 fonts).

[src/int.mak]

2000-06-27T17:06:32.000000Z lpd


Refactors some PDF-writing code for use in a PDF decompressor.

[lib/pdfwrite.ps]

2000-06-27T14:03:29.000000Z lpd


Adds a reference to a user-maintained Czech translation of the Ghostscript
'man' pages.

[doc/Readme.htm]

2000-06-27T06:32:03.000000Z lpd


Fix: Images that ended prematurely still (again?) weren't written correctly.

[src/gdevpdfj.c]

2000-06-27T00:53:38.000000Z lpd


Adds user parameters ProcessComment and ProcessDSCComment.  If not null,
these procedures are called with the file and the comment line whenever the
scanner detects a comment (or non-DSC comment) or DSC comment.  NOTE: the
interpreter is currently patched so that ProcessComment is never called.

[src/iscan.c lib/gs_lev2.ps doc/News.htm src/interp.c src/iscan.h doc/Language.htm src/ztoken.c src/ztype.c lib/gs_init.ps]

2000-06-22T14:55:53.000000Z lpd


Updates the ATX driver(s) to enforce maximum page width and minimum page
length.

[src/gdevatx.c]

2000-06-22T14:05:49.000000Z lpd


Fix: Calling get_params with a static (read-only) device prototype could
cause a memory access error.

[src/gsdparam.c]

2000-06-21T18:06:07.000000Z lpd


Updates documentation on the ProcessColorModel and ColorConversionStrategy
parameters.

[doc/Ps2pdf.htm]

2000-06-21T17:10:41.000000Z lpd


Updates documentation to reflect the use of the GSC environment variable to
set the name of the executable for ps2pdf.

[doc/Ps2pdf.htm]

2000-06-21T02:15:01.000000Z lpd


Fix: PDF files with embedded TrueType fonts didn't map characters to glyph
indices correctly (i.e., using the same algorithm as Acrobat Reader).

[lib/pdf_font.ps lib/gs_ttf.ps lib/gs_agl.ps]

2000-06-20T15:46:53.000000Z lpd


Fix: Rendering TrueType fonts didn't adjust the flatness to ensure accurate
results.

[src/lib.mak src/gstype42.c src/gxtype1.c src/gxchrout.c src/gxchrout.h]

2000-06-20T14:21:35.000000Z lpd


Fix: Works around a bug in the MSVC++ 5.0 compiler that treats (int <<
unsigned) as unsigned rather than int.

[src/gdevdj9.c src/gdevcd8.c src/gdevcdj.c]

2000-06-19T22:22:51.000000Z lpd


Fix: If the new value of a device parameter was an array with some integers
and some reals, and the first element was a real, a typecheck error would
occur.

[src/iparam.c]

2000-06-13T20:27:26.000000Z lpd


Adds an umbrella document for maintenance procedures, initially describing
the procedure for uploading bug report test data to SourceForge.

[doc/Readme.htm doc/Maintain.htm]

2000-06-13T16:34:42.000000Z lpd


Fix: Text in Type 3 synthesized fonts was often positioned incorrectly,
usually too far to the left.  (bug introduced since 6.01)

[src/gdevpdft.c]

2000-06-13T07:05:21.000000Z lpd


Fix: the row buffers for images weren't allocated with a stable allocator,
possibly causing data corruption or invalid accesses if a PostScript program
invoked save/restore within the data-reading procedure for an image.

[src/gsimage.c]

2000-06-13T07:04:18.000000Z lpd


Fix: When allocator debugging was enabled (-Z@), 'restore' didn't clear
vacated space in inner chunks.

[src/gsalloc.c]

2000-06-12T21:45:19.000000Z lpd


Fix: Axial shadings with a non-orthogonal CTM could fail to fill the
required region.  (fix from Artifex)

[src/gxshade1.c]

2000-06-12T19:17:03.000000Z lpd


Fix: The code for keeping the Install procedure from getting more and more
deeply nested didn't actually work, and also caused pages with a non-zero
MediaBox offset to be translated incorrectly.

[lib/pdf_main.ps]

2000-06-12T18:15:20.000000Z lpd


Fix: Embedded Type 1 (but not Type 2 / 1C) fonts were written without eexec
encryption.  We can't figure out how this happened, because the PDF spec
requires eexec encryption and the correct code was commented out; we suppose
this was a debugging or testing modification that got left in.  (bug
introduced since 6.01)

[src/gdevpdfe.c]

2000-06-12T18:13:51.000000Z lpd


Fix: Works around the fact that Acrobat Reader won't accept /MMType1 fonts,
but will accept MM Type 1 instances if they're tagged as /Type1 rather than
/MMType1.

[src/gdevpdft.c src/gdevpdfw.c]

2000-06-12T17:38:48.000000Z lpd


Fix: Type 1 fonts without eexec encryption still included the 4 eexec
padding bytes.  (bug probably introduced since 6.0)

[src/gdevpsf1.c]

2000-06-12T04:41:15.000000Z lpd


Adds some code contributed by Leon Bottou  that
makes the X driver prefer TrueColor visuals.  We aren't sure of the
ramifications of this....

[src/gdevxini.c]

2000-06-12T04:39:48.000000Z lpd


Fix: In the ATX drivers, the word count for compressed scan lines was
written as 2 bytes rather than 1; the drivers wouldn't accept a page width
greater than 2400 pixels.

[src/gdevatx.c]

2000-06-12T02:45:25.000000Z lpd


Fix: Finishes fixing the handling of MaxBitmap in the X driver.

[src/gdevxini.c]

2000-06-12T01:52:16.000000Z lpd


Fix: In the X driver, resetting MaxBitmap didn't have the proper effect, and
could cause a crash.  (This is probably only a partial fix.)

[src/gdevxini.c]

2000-06-12T00:40:45.000000Z lpd


Fix: If the TR element of an ExtGState was an array of Functions (for
setcolortransfer) rather a single Function (for settransfer), an error
occurred.  (fix from Artifex)

[lib/pdf_draw.ps]

2000-06-08T02:55:37.000000Z lpd


Updates the open ICC color support project to reference Graeme Gill's icclib
package.

[doc/Projects.htm]

2000-06-08T02:33:09.000000Z lpd


Fix: The ps2pdf.bat script didn't set the default PDF level, so it normally
produced PDF 1.3 rather than 1.2, which was contrary to the documentation
and different from the Unix ps2pdf script.

[lib/ps2pdf.bat]

2000-06-07T19:08:00.000000Z lpd


Fix: FunctionType 3 functions with indirect /Bounds or /Encode entries
caused a typecheck error.

[lib/pdf_draw.ps]

2000-06-07T19:07:17.000000Z lpd


Fix: 32-bit sample values in shading data didn't work, because some CPUs
execute (1 << 32) as (1 << 0).

[src/gxshade.c]

2000-06-07T13:32:44.000000Z lpd


Documents the fact that the IJG JPEG library header files must be available
when compiling, even if SHARE_JPEG=1.

[src/dvx-gcc.mak src/unix-gcc.mak src/unixansi.mak src/unixtrad.mak src/jpeg.mak]

2000-06-07T06:36:54.000000Z lpd


Fix: Corrects a typo introduced by recent changes.

[src/msvctail.mak]

2000-06-06T18:05:32.000000Z lpd


Removes an obsolete file.

[toolbin/package.tcl]

2000-06-06T15:28:01.000000Z lpd


Notes that the vgalib driver only suppotrs 16-color modes.

[src/gdevvglb.c src/devs.mak]

2000-06-06T06:38:31.000000Z lpd


Adds a user-contributed driver for SFF (the file format for CAPI fax
devices).

[src/contrib.mak src/gdevcfax.c]

2000-06-06T06:37:37.000000Z lpd


Fix: The change to implement stripped TIFF files broke non-TIFF fax output
formats (faxg* drivers).  Also factors plain-fax writing from TIFF writing.

[src/gdevtfax.h src/gdevfax.c src/devs.mak src/gdevtfax.c src/gdevfax.h]

2000-06-05T05:41:55.000000Z lpd


Adds the ability to write multi-strip monochrome TIFF files, controlled by a
new MaxStripSize parameter for the monochrome TIFF drivers.

[src/gdevtfax.h src/gdevtifs.h src/gdevtfnx.c doc/Devices.htm src/gdevtfax.c src/gdevtifs.c]

2000-06-05T02:46:07.000000Z lpd


Makes it possible to build on MSVC++ systems without specifying the paths
for the tools, headers, or libraries.  See msvc{32,lib}.mak for details.

[src/winint.mak src/msvccmd.mak src/msvc32.mak src/msvclib.mak src/msvctail.mak]

2000-06-05T02:04:26.000000Z lpd


Fix: Printer drivers that didn't implement print_page_copies didn't print
multiple copies of the same page on separate files if the OutputFile name
included %d, and some drivers (such as the TIFF drivers) produced invalid
output.

[src/gdevprn.c]

2000-06-05T01:26:05.000000Z lpd


Documents that user_names_p and system_names_p may now be NULL.

[doc/News.htm]

2000-06-04T20:58:23.000000Z lpd


Improves some comments in A_fill_stripe.

[src/gxshade1.c]

2000-06-04T18:26:17.000000Z lpd


Fix: Shadings with an array of Functions caused a rangecheck or typecheck
error.

[src/zshade.c]

2000-06-04T18:25:33.000000Z lpd


Fix: ShadingType 2 shadings could cause an invalid memory access.

[src/gsfunc3.c]

2000-06-04T17:00:29.000000Z lpd


Fix: MAX_HALF_INTVAL was defined incorrectly, causing the mul operator to
run slower than necessary when multiplying two small integers.

[src/zarith.c]

2000-06-01T20:25:39.000000Z lpd


Fix: The dependency list for the new Epson Stylus Photo driver was wrong,
causing build problems if this driver was included.

[src/contrib.mak]

2000-05-31T22:20:04.000000Z lpd


Fix: If [eo]clip set a rectangular region, clippath would return the rounded
clipping box, not the correct clipping path.

[src/gxcpath.c]

2000-05-31T20:34:43.000000Z lpd


Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
flags for the `open' library call.

[src/lib.mak src/stat_.h src/gpmisc.c]

2000-05-30T23:07:34.000000Z lpd


Fix: 'make install' on Unix systems didn't install pdfopt.ps and
pdfwrite.ps.

[src/unixinst.mak]

2000-05-30T23:04:23.000000Z lpd


Fix: The FontDescriptor flags for non-embedded alphabetic fonts with
non-Standard encodings incorrectly identified the font as a small-caps font.

[src/gdevpdff.c]

2000-05-30T20:45:45.000000Z lpd


Adds comments about H-P's inconsistent use of different names and size codes
for the 11x17 paper size.

[src/gdevpcl.c src/gdevpcl.h]

2000-05-30T20:40:17.000000Z lpd


Fix: As a result of the fix removing the incorrect same-local-VM check in
context_state_load, userparams wasn't updated properly when switching
contexts.

[src/icontext.c]

2000-05-30T20:35:56.000000Z lpd


Cleans up code and comments slightly.

[lib/gs_dps.ps]

2000-05-30T05:54:23.000000Z lpd


Adds glyph decaching notification to the list of projects.

[doc/Projects.htm]

2000-05-30T05:28:22.000000Z lpd


Adds -dSAFER to one more script.

[lib/pdfopt]

2000-05-30T04:38:26.000000Z lpd


Fix: The fix for associating the user name array with local VM didn't create
the user name table properly for new contexts with their own local VM.  The
user name array is now created lazily.

[src/zdps.c src/zbseq.c src/iscanbin.c src/btoken.h]

2000-05-30T03:43:19.000000Z lpd


Fix: Invoking an image operator with an empty string data source caused an
infinite loop.

[src/zimage.c]

2000-05-30T03:26:15.000000Z lpd


Documents the change in the paper size selection for PCL drivers.

[doc/News.htm]

2000-05-30T03:24:17.000000Z lpd


Adds support for 11x17 paper in PCL printers; changes the paper size tests
so that paper size N+1 is selected if the requested height is at least 0.1"
greater than the height of paper size N.

[src/gdevpcl.c src/gdevpcl.h]

2000-05-26T20:48:37.000000Z lpd


Fix: The fix for 'seac' when converting Type 1 to Type 2 CharStrings wasn't
quite complete.

[src/gdevpsfx.c]

2000-05-26T02:33:38.000000Z lpd


Fix: The change for local user names didn't update the structure descriptor
for gs_ref_memory_t.

[src/gxalloc.h src/gsalloc.c]

2000-05-26T02:27:58.000000Z lpd


Fix: The definitions of user names weren't properly associated with local VM
(they were stored in a static variable).

[src/gxalloc.h src/zdps.c src/int.mak src/zbseq.c src/gsalloc.c src/iscanbin.c src/btoken.h src/iref.h]

2000-05-24T23:52:58.000000Z lpd


Changes some assignments to work around over-zealous compiler warnings.

[src/gxtype1.c]

2000-05-24T23:30:15.000000Z lpd


Adds implementation of the %font% IODevice to the list of projects.

[doc/Projects.htm]

2000-05-24T23:20:43.000000Z lpd


Fix: In PDF output, the conversion of Type 1 to Type 2 CharStrings didn't
adjust the X offset of the accent for 'seac', causing accents to be
displaced to the right.

[src/gdevpsfx.c]

2000-05-24T20:39:30.000000Z lpd


Fix: In PDF 1.2 output, several synthesized Type 3 fonts could have the same
name, producing errors and/or incorrect output.  (bug introduced since 6.01)

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdft.c]

2000-05-24T18:49:54.000000Z lpd


Works around the fact that Microsoft Visual C++ defines S_IREAD and S_IWRITE
but not their newer equivalents S_IRUSR and S_IWUSR.

[src/gpmisc.c]

2000-05-24T18:48:14.000000Z lpd


Fix: When writing PDF or PostScript, stroked rectangles could sometimes be
omitted from the output.

[src/gdevvec.c]

2000-05-23T21:05:00.000000Z lpd


Fix: The PDF writer could still produce coordinates for paths that exceeded
Acrobat Reader's user-coordinate limit of +/- 32K.

[src/gdevpdfd.c]

2000-05-23T18:58:56.000000Z lpd


Adds (more) user-contributed uniprint parameter files for the Epson Stylus
Color 640.

[lib/st640pl.upp lib/st640p.upp lib/st640ih.upp lib/st640plg.upp doc/Devices.htm lib/st640pg.upp lib/st640ihg.upp]

2000-05-23T05:46:52.000000Z lpd


Fix: In rare cases, an overflow could occur in the filling loop, producing
distorted output.  (Fix from Artifex Software.)

[src/gxfill.c]

2000-05-22T21:29:45.000000Z lpd


Fix: The -dCompatibilityLevel= switch was incorrectly identified in one
place as -dCompatibility=.

[doc/Ps2pdf.htm]

2000-05-22T21:15:23.000000Z lpd


Fix: 'monitor' left its operand on the stack.

[src/zcontext.c]

2000-05-20T20:53:05.000000Z lpd


Fix: The batch files for MS-DOS, MS Windows, and OS/2 referred to the
executable by the name 'gs'.  They now use environment variables GS
(graphical) and GSC (console) for the executable names, defaulting to
gswin32 and gswin32c respectively.

[lib/gsdj500.bat lib/ps2ascii.bat doc/Use.htm lib/ps2pdfxx.bat lib/gssetgs.bat lib/gsndt.bat lib/lpr2.bat lib/eps2eps.bat lib/gstt.bat lib/ps2epsi.bat lib/gsbj.bat lib/gsdj.bat lib/font2c.bat lib/gsnd.bat lib/pdfopt.bat lib/gst.bat doc/News.htm lib/pdf2ps.bat lib/gslj.bat lib/bdftops.bat lib/lpgs.bat lib/gslp.bat lib/ps2ps.bat lib/pftogsf.bat]

2000-05-20T20:25:48.000000Z lpd


Changes gdev_prn_file_is_new from a macro to a procedure.

[src/gdevprn.c src/gdevprn.h]

2000-05-20T14:39:42.000000Z lpd


Fix: gsdll_init didn't propagate an error return from
gs_main_init_with_args, causing clients to think Ghostscript was initialized
properly when it wasn't.

[src/gsdll.c]

2000-05-20T06:58:11.000000Z lpd


Fix: OutputFile values starting with a %d format string caused an error.
(bug introduced in 5.85)

[src/gsdevice.c]

2000-05-20T06:36:30.000000Z lpd


Fix: The epswrite driver could produce output that used initclip, which is
not allowed in EPS files.

[src/gdevps.c]

2000-05-19T19:35:01.000000Z lpd


Fix: Flushing or closing a procedure-based output stream still wasn't
implemented correctly (it could cause an endless loop).

[src/zfproc.c]

2000-05-19T17:59:28.000000Z lpd


Documents the addition of TMPDIR for specifying the directory for temporary
files.

[doc/Use.htm doc/News.htm]

2000-05-19T17:52:51.000000Z lpd


Fix: Temporary files weren't created as private or exclusive.

[src/lib.mak src/gp_iwatc.c src/gpmisc.c src/gp_mswin.c src/watc.mak src/gpmisc.h src/close_.h src/os2.mak src/gp_os2.c src/gp_unifs.c src/winlib.mak src/watclib.mak]

2000-05-19T06:38:25.000000Z lpd


Adds -dSAFER to all the format conversion scripts in which the input is
executed as PostScript or PDF code.

[lib/pdf2ps lib/eps2eps lib/ps2ascii.bat lib/pdf2ps.bat lib/ps2pdfxx.bat lib/pdf2dsc lib/ps2epsi lib/eps2eps.bat lib/ps2ps lib/ps2pdfwr lib/ps2epsi.bat lib/ps2ps.bat lib/ps2ascii]

2000-05-19T06:08:01.000000Z lpd


Fix: smd5.c didn't compile properly with "traditional C" compilers.

[src/lib.mak src/smd5.c]

2000-05-19T05:48:30.000000Z lpd


Updates the ATX printer drivers to handle the unprintable margins.

[src/gdevatx.c]

2000-05-18T19:02:25.000000Z lpd


Fix: dict_matrix3_param didn't work correctly on platforms where the
compiler aligned structures to a boundary larger than sizeof(float), causing
incorrect output or arithmetic exceptions for CIE color spaces.

[src/zcie.c]

2000-05-17T20:39:20.000000Z lpd


Fix: CFF CID fonts in which the FDSelect array occurred before the
CharStrings caused an error.

[lib/gs_cff.ps]

2000-05-17T19:17:40.000000Z lpd


Fix: -dSTRICT caused an error, /undefined in SIZES.

[lib/gs_statd.ps]

2000-05-15T19:58:38.000000Z lpd


Fix: CIEBasedDEF[G] color spaces computed incorrect results or caused
invalid memory accesses, especially if DecodeDEF[G] is not the identity
function.  (This bug had probably been there since these color spaces were
first implemented, unnoticed because DecodeDEF[G] is almost always the
identity.)

[src/gsciemap.c src/gxctable.c src/gscie.c]

2000-05-15T19:14:25.000000Z lpd


Fix: The 'monitor' operator was broken (probably had never been tried!).

[src/zcontext.c]

2000-05-11T16:14:51.000000Z lpd


Fixes minor syntactic incompatibilities with "traditional C" compilers.

[src/zfcid0.c src/gstype42.c src/zbfont.c src/gdevpdfg.c src/gsfunc4.c]

2000-05-11T16:13:16.000000Z lpd


Fix: Returning an image compression parameter dictionary didn't close an
enumeration, failing to free a bookkeeping structure.

[src/gdevpsdp.c]

2000-05-07T15:51:18.000000Z lpd


Fix: -q (-dQUIET) didn't suppress all warnings from the PDF interpreter.

[lib/pdf_base.ps]

2000-05-07T15:38:27.000000Z lpd


Fix: If a file made no marks at all, ps2[e]ps produced bad output.

[src/gdevps.c]

2000-05-06T08:19:37.000000Z lpd


Changes .buildfont1 to accept Type 1 fonts with LanguageGroup other than 0
or 1.  This is contrary to the spec, but we've seen a few fonts with other
values.

[src/zfont1.c]

2000-05-06T00:32:08.000000Z lpd


Adds a small project to remove the limit on the length of the OutputFile
parameter for printer drivers.

[doc/Projects.htm]

2000-05-06T00:31:25.000000Z lpd


Fix: The "compressed data" command encoding was wrong in one place in the
documentation, and the code used the incorrect encoding.

[src/gdevatx.c]

2000-05-05T03:21:03.000000Z lpd


Fixes a couple of minor Windows NT compatibility problems in script files.

[lib/ps2pdf.bat lib/ps2pdfxx.bat]

2000-05-04T21:16:44.000000Z lpd


Adds a reference to Karel Kulhavy's pdf2html program.

[doc/New-user.htm]

2000-05-04T16:40:08.000000Z lpd


Removes an out-of-date e-mail address.

[lib/ps2pdfxx.bat]

2000-05-04T01:29:53.000000Z lpd


Fix: The code for adding elements to small-string free lists was wrong,
possibly causing an endless loop.

[src/gsnogc.c]

2000-05-03T20:30:06.000000Z lpd


Adds the first draft of a driver for the Practical Automation ATX-23, -24,
and -38 label/ticket printers, developed under contract.  This has a dual
GPL/AFPL license.

[src/gdevatx.c src/devs.mak]

2000-05-02T07:14:58.000000Z lpd


Implements PatternType 2 patterns and shfill in the PDF writer.

[src/gdevpdfx.h src/gsptype2.c src/gdevpdfo.c doc/News.htm src/gdevpdfc.c src/gdevpdfo.h src/gdevpdfv.c src/devs.mak src/gdevpdfg.h]

2000-05-02T07:14:11.000000Z lpd


Fix: Once again, corrects an incorrect dependency list.

[src/lib.mak src/gscolor3.c]

2000-05-02T07:06:23.000000Z lpd


Fix: shfill didn't go through the device fill_path procedure, preventing it
from being written out as a high-level PostScript or PDF construct.

[src/gscolor3.c]

2000-05-02T07:05:10.000000Z lpd


Fix: If the DataSource of a shading was a reusable stream, the stream wasn't
reset before rendering the shading.

[src/gxshade.c]

2000-05-02T07:03:09.000000Z lpd


Fix: PatternType 2 (shaded) Patterns caused errors.

[lib/pdf_draw.ps]

2000-05-02T02:06:41.000000Z lpd


Fix: file_limit wasn't initialized properly in some cases.

[src/sfxstdio.c src/sfxfd.c]

2000-05-02T01:55:10.000000Z lpd


Fix: A "0 ||" was omitted, potentially causing some kinds of errors that
never happen in practice to be overlooked.

[src/gdevpdfi.c]

2000-05-02T01:47:50.000000Z lpd


Fix: A procedure name exceeded VMS's 31-character limit.

[src/gsparam.h]

2000-05-02T01:42:12.000000Z lpd


Fix: The rule for the recently-added gdevhl12 driver omitted the space
before the colon.

[src/contrib.mak]

2000-05-01T15:15:07.000000Z lpd


Fix: A null Pattern color caused an error.

[src/gspcolor.c src/zcolor2.c]

2000-05-01T07:20:37.000000Z lpd


Fix: localfork didn't properly initialize userdict in the new context.

[lib/gs_dps.ps]

2000-04-30T19:37:37.000000Z lpd


Creates a procs structure for shadings, moving the fill_rectangle procedure
into it, in anticipation of adding a get_params procedure.

[src/gsshade.c doc/News.htm src/gsshade.h src/gxshade.h]

2000-04-30T19:24:28.000000Z lpd


When printing color values derived from 8-bit fields, rounds the output to 3
decimal places for compactness with no loss of precision.

[src/gdevpsdu.c]

2000-04-30T06:21:58.000000Z lpd


Implements ImageType 3 images in the PDF writer.

[src/gdevpdfx.h doc/News.htm src/gdevpdfb.c src/gximage3.c src/devs.mak src/gdevpdfi.c src/gdevpdfj.c src/gximage3.h src/gdevpdfg.h]

2000-04-30T03:08:15.000000Z lpd


Restructures the code for handling ImageType 3 images, for the benefit of
the PDF writer.

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

2000-04-30T01:26:41.000000Z lpd


Improves the test for whether compressing an image is worthwhile.

[src/gdevpsdi.c]

2000-04-29T20:51:41.000000Z lpd


Adds a user-contributed program for displaying the differences between two
AFM (font metric) files.  This has a dual AFPL/GPL copyright.

[lib/afmdiff.awk]

2000-04-29T16:49:43.000000Z lpd


Increments the version number to 6.23.  From now on, we use odd numbers
during development, even numbers for released filesets.

[doc/Changes.htm doc/News.htm doc/Release.htm lib/gs_init.ps src/version.mak doc/History6.htm]

2000-04-29T02:29:21.000000Z lpd


Adds predefined pdfwrite settings similar to the three standard settings in
Adobe Acrobat Distiller 4, plus a "default" setting, with
-dPDFSETTINGS=/settingname.

[doc/Ps2pdf.htm lib/gs_pdfwr.ps]

2000-04-28T22:21:34.000000Z lpd


Does the final check-in for the 6.21 fileset.

[doc/Changes.htm doc/History6.htm]

2000-04-28T22:18:16.000000Z lpd


Updates the news for the 6.21 fileset.

[doc/News.htm]

2000-04-28T22:08:41.000000Z lpd


Fixes a few typos, and adds GS_FONTPATH to the list of environment variables
to be unset for a pristine test run.

[doc/Release.htm]

2000-04-28T22:06:26.000000Z lpd


Updates version numbers and dates for the 6.21 fileset.

[doc/Fonts.htm doc/Projects.htm doc/Use.htm doc/Make.htm doc/Readme.htm doc/Bug-form.htm doc/Devices.htm doc/Language.htm doc/Ps2epsi.htm doc/Psfiles.htm src/version.mak]

2000-04-28T22:03:58.000000Z lpd


Fix: Loading an unknown font gave a spurious "non-string font name" message;
unknown fonts with names containing style strings like Bold or Italic caused
an error.  (bug introduced since 6.20)

[lib/gs_fonts.ps]

2000-04-28T18:29:32.000000Z lpd


Updates release dates.

[man/pdf2ps.1 man/ps2ps.1]

2000-04-28T18:29:14.000000Z lpd


Changes the check for documentation files having the correct embedded date.

[toolbin/pre]

2000-04-28T18:28:42.000000Z lpd


Yet again, updates an out-of-date dependency list.

[src/contrib.mak]

2000-04-28T14:27:02.000000Z lpd


Notes that the uniprint dnj750c.upp parameters are also good for the 450C.

[doc/Devices.htm]

2000-04-28T13:37:47.000000Z lpd


Makes the printers in gdevdjet.c that support setting the number of copies
use this feature when multiple copies are requested.

[src/gdevdljm.c src/gdevdjet.c src/gdevdljm.h]

2000-04-28T13:36:16.000000Z lpd


Adds template macros for printer devices that implement print_page_copies
rather than print_page.

[src/gdevprn.c src/gdevprn.h]

2000-04-28T12:24:42.000000Z lpd


Fix: Patterns were sometimes written twice, with an empty definition the
second time.

[src/gdevpdfi.c]

2000-04-28T12:23:54.000000Z lpd


Fix: Patterns were sometimes written with a duplicate Type element.

[src/gdevpdfc.c]

2000-04-28T12:07:37.000000Z lpd


Fix: The color space for images wasn't always written in the correct form
(an object reference for image XObjects, a resource name for in-line
images).

[src/gdevpdfi.c]

2000-04-28T10:51:02.000000Z lpd


Adds a sample file containing a wide variety of PDF annotations; updates
documentation for this and some other overlooked files.

[examples/annots.pdf doc/Psfiles.htm]

2000-04-28T10:42:02.000000Z lpd


Updates the description of the project to produce higher-level PCL output.

[doc/Projects.htm]

2000-04-27T21:36:52.000000Z lpd


Updates the list of remaining pdfwrite tasks.

[src/gdevpdfp.c]

2000-04-27T21:36:19.000000Z lpd


Once again, updates some dependency lists that had become inconsistent with
the code.

[src/lib.mak src/gdevdj9.c src/contrib.mak src/devs.mak]

2000-04-27T20:18:39.000000Z lpd


Adds a user-contributed driver for the Brother HL-1250 laser printer.  This
has a dual AFPL/GPL license, and a non-Aladdin copyright.

[src/gdevhl12.c src/contrib.mak]

2000-04-27T20:16:33.000000Z lpd


Factors the H-P monochrome laser and inkjet drivers into a generic driver
and printer-specific clients.

[src/gdevdljm.c src/gdevdjet.c src/gdevdljm.h src/devs.mak]

2000-04-27T14:55:56.000000Z lpd


Adds a user-contributed driver for the H-P 970Cxi inkjet printer.

[src/gdevdj9.c src/contrib.mak]

2000-04-27T14:39:57.000000Z lpd


Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
No output is produced until the filter is closed.

[src/lib.mak src/smd5.h src/int.mak src/zfmd5.c doc/Language.htm src/devs.mak src/smd5.c]

2000-04-27T13:44:52.000000Z lpd


Fix: The URL for the Arphic free Chinese fonts had become incorrect.

[doc/Fonts.htm]

2000-04-27T08:17:05.000000Z lpd


Documents the new -dPrinted[=true/false] switch for PDF files.

[doc/Use.htm]

2000-04-27T08:16:40.000000Z lpd


Fix: Colored annotation borders caused an error; 0-width borders were drawn
even though they shouldn't be; Link and Stamp annotations weren't drawn at
all.  Also adds a new -dPrinted[=true/false] switch to choose whether to
produce "screen" or "printer" output.  (code from Artifex)

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

2000-04-27T07:39:05.000000Z lpd


Notes that even if SHARE_JPEG=1, the IJG library sources are required.

[doc/Make.htm]

2000-04-27T01:44:04.000000Z lpd


Fix: ps2epsi removed all ^M characters in the input, possibly corrupting
binary data.

[lib/ps2epsi]

2000-04-25T22:39:54.000000Z lpd


Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
vertical line segments going in the same direction.  This makes a big
difference for PostScript files produced by certain applications.

[src/gdevpdf.c src/gdevvec.c src/gdevpdfd.c src/gdevvec.h src/gdevps.c]

2000-04-25T20:35:46.000000Z lpd


Cleans up code by replacing macros with procedures or variables.

[src/gdevps.c]

2000-04-25T19:35:07.000000Z lpd


Fix: The [e]pswrite driver produced incorrect output for color images with
multiple data sources.

[src/gdevps.c]

2000-04-25T07:22:50.000000Z lpd


Fix: The "point matching" feature of TrueType composite glyphs wasn't
implemented, causing some composite (accented) characters to have their
accents misplaced.

[src/gstype42.c]

2000-04-24T06:37:18.000000Z lpd


Fix: If a font specified Subtype = /TrueType but the actual font used was
not a TrueType font, any Encoding in the Font object should be ignored.
(This is a hack required by the PDF specification.)

[lib/pdf_font.ps]

2000-04-24T06:13:02.000000Z lpd


Adds compression for pdfwrite Patterns.

[src/gdevpdfc.c src/devs.mak]

2000-04-24T05:53:43.000000Z lpd


Fix: *Really* fixes the problem of data source aliasing for masked images.

[lib/pdf_draw.ps]

2000-04-24T05:40:30.000000Z lpd


Fix: PDF Patterns weren't written correctly if the ProcessColorModel wasn't
Device RGB.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpsdu.c src/gdevpdfc.c src/gdevpdfi.c src/gdevpdfg.h]

2000-04-24T05:39:45.000000Z lpd


Fix: Masked images weren't drawn properly, because the two data sources
could reference the same file.

[lib/pdf_draw.ps]

2000-04-24T01:11:36.000000Z lpd


Fix: Patterns were written upside-down.

[src/gdevpdfc.c]

2000-04-24T00:59:04.000000Z lpd


Fix: PDF images with a bitmap Mask caused errors or produced incorrect
output.

[src/int.mak lib/pdf_draw.ps]

2000-04-24T00:45:38.000000Z lpd


Fix: .reusablestreamdecode wasn't defined for use in LanguageLevel 2.  (The
ReusableStreamDecode filter itself was properly defined.)

[lib/gs_frsd.ps]

2000-04-24T00:09:37.000000Z lpd


Fix: Colored Patterns requiring masking weren't written properly.

[src/gdevpdfc.c]

2000-04-24T00:07:41.000000Z lpd


Fix: Images with multiple file DataSources where two or more of the files
were the same caused a crash.

[src/zimage.c]

2000-04-22T16:03:18.000000Z lpd


Speeds up Type 1 font loading slightly by removing a conversion from binary
to hex and back again.

[src/seexec.c src/sfilter.h src/zmisc1.c]

2000-04-22T07:02:18.000000Z lpd


Fix: The structure descriptor for ImageType 3 images was public rather than
private.

[src/gximage3.c src/gsiparm3.h]

2000-04-22T03:55:22.000000Z lpd


Fix: The PixelDifference filters (Predictor = 2) weren't implemented for
Colors > 4 and BitsPerComponent != 8, and they dropped trailing bytes if the
length of the data wasn't an exact multiple of the pixel size.

[src/spdiff.c]

2000-04-22T00:34:46.000000Z lpd


Fix: Showing a string in a Type 1 font with a singular combined matrix
(e.g., after 0 scalefont setfont) caused an error instead of doing nothing.

[src/zchar1.c]

2000-04-22T00:13:11.000000Z lpd


Fix: Backs out the change that allowed embedding of the base 14 fonts,
because it produces invalid output.

[src/gdevpdff.c]

2000-04-21T22:29:05.000000Z lpd


Fix: The recent optimization for using the ' command in PDF output lost
track of the leading value between blocks of text, causing lines in later
blocks to overprint each other.

[src/gdevpdfu.c]

2000-04-21T19:26:37.000000Z lpd


Adds an internal filter for converting images to Indexed form if possible.

[src/gdevpsds.c src/gdevpsds.h]

2000-04-21T16:58:28.000000Z lpd


Reduces the startup time for displaying PDF files, by skipping the creation
of pdfmarks for annotations and outlines when the output device doesn't
process pdfmarks.

[lib/pdf_main.ps src/gdevpdfp.c doc/News.htm]

2000-04-21T15:29:20.000000Z lpd


Fix: Indexed color spaces used in in-line images were being written
incorrectly.  Also optimizes Indexed images by converting RGB palettes to
Gray if all the entries are actually gray.

[src/gdevpdfc.c]

2000-04-21T06:46:08.000000Z lpd


When writing PDF output, reduces the size of compressed images in Indexed
color spaces by not using a Predictor for them.

[src/gdevpsdi.c]

2000-04-21T06:39:17.000000Z lpd


Fix: The elimination of stdin/out/err also eliminated some #defines that are
needed for error printout.

[src/gsio.h]

2000-04-20T23:50:20.000000Z lpd


Adds an essential new file overlooked in the removal of references to
stdin/out/err.

[src/gxstdio.h]

2000-04-20T23:49:40.000000Z lpd


Fix: When pdfwrite was producing PDF 1.3 output, the base 14 fonts were
never embedded, rather than being handled like all other fonts.

[doc/News.htm src/gdevpdff.c]

2000-04-20T23:30:22.000000Z lpd


Removes all remaining direct references to stdin/out/err from the library,
interpreter, and non-contributed drivers; moves the ersatz definitions of
stdin/out/err to a new header file.

[src/lib.mak src/std.h doc/News.htm src/gxdevice.h src/unix-gcc.mak src/gsmisc.c src/gsio.h src/imainarg.c src/gsdevice.c src/gdevxxf.c]

2000-04-20T23:27:21.000000Z lpd


Checks in a file overlooked in the elimination of the gp_ console procedures.

[src/gp_os2.c]

2000-04-20T22:47:35.000000Z lpd


Removes the gp_ procedures for managing screen swapping between console and
graphics, which haven't been used for a long time and are no longer useful.

[src/lib.mak src/gp_iwatc.c src/openvms.mak src/dvx-tail.mak src/bench.c doc/News.htm src/gp_dosfb.c src/unix-aux.mak src/watc.mak src/openvms.mmk src/os2.mak src/winlib.mak src/gp_nofb.c src/watclib.mak src/gp.h]

2000-04-20T19:59:28.000000Z lpd


Documents the astounding fact that the Xt implementation actually writes
into the XtResource tables.

[src/gdevxres.c]

2000-04-20T17:37:31.000000Z lpd


Fix: A table of constant strings wasn't declared as const.

[src/gdevpdfp.c]

2000-04-20T17:19:21.000000Z lpd


Converts the bmp* and bmpa* devices to -dev2, to make them const.

[src/gdevbmp.c src/gdevbmpa.c src/devs.mak]

2000-04-20T17:12:54.000000Z lpd


Fix: The Color LaserJet 5 drivers were incorrectly identified as "supported"
rather than "contributed".

[src/contrib.mak src/devs.mak]

2000-04-20T07:24:22.000000Z lpd


Checks in the accumulated change log.

[doc/Changes.htm src/version.mak]

2000-04-20T06:36:02.000000Z lpd


Fix: When processing a PDF file, the font substitution heuristic based on
the FontName sometimes overrode the Flags information in the FontDescriptor.

[lib/pdf_font.ps doc/News.htm lib/gs_fonts.ps]

2000-04-20T06:24:39.000000Z lpd


Fix: The fix to make setpagedevice ignore 4-element PageSizes in
InputAttributes was broken.  (It's impossible that it could ever have
worked, despite the fact that we tested it.)

[lib/gs_setpd.ps]

2000-04-19T21:37:47.000000Z lpd


Adds a project for creating an OutputDevice resource instance for each
device.

[doc/Projects.htm]

2000-04-19T13:48:48.000000Z lpd


Fix: When choosing a substituted font, 'Serif' had priority over 'Sans', so
unknown fonts with 'SansSerif' in their name would have a serif font
substituted.

[lib/gs_fonts.ps]

2000-04-19T06:01:19.000000Z lpd


Fix: Attempting to set a PageSize with 4 elements actually set the PageSize
(to the first 2 elements), rather than ignoring the attempt.  (This is just
a patch to prevent some PageMaker files from being thrown off by the
4-element PageSizes in Input Attributes.)

[lib/gs_setpd.ps]

2000-04-19T05:59:05.000000Z lpd


Fix: putdeviceparams allowed a PageSize or .MediaSize value with the wrong
number of elements to take effect.

[src/gsdparam.c]

2000-04-19T04:05:11.000000Z lpd


Adds a couple of graphics library optimization projects.

[doc/Projects.htm]

2000-04-18T17:59:13.000000Z lpd


Converts the ps2epsi documentation to HTML.

[doc/ps2epsi.txt doc/Readme.htm src/unixinst.mak doc/Ps2epsi.htm]

2000-04-18T17:42:55.000000Z lpd


Fix: gxdcolor.h was required for gxpcolor.h, but wasn't included.

[src/gdevpdfc.c]

2000-04-18T16:40:14.000000Z lpd


Moves the optimization prologue for ps2pdf from the command line to a
procedure, to avoid shell length limits.

[lib/ps2pdfxx.bat lib/ps2pdfwr lib/gs_pdfwr.ps]

2000-04-18T16:37:04.000000Z lpd


Fix: Downsampled mask images could cause a memory access error.

[src/gdevpsdi.c]

2000-04-18T16:08:16.000000Z lpd


Tweaks the PDF writer to use the ' command for positioning text when
possible (small optimization only).

[src/gdevpdfx.h src/gdevpdft.c src/gdevpdfu.c src/gdevpdfg.c]

2000-04-18T07:18:42.000000Z lpd


Works around a bug in the AdobePS5 Windows driver, which emits CMaps
lacking the required CMapName entry.

[lib/gs_cmap.ps lib/gs_cidfn.ps]

2000-04-18T06:34:26.000000Z lpd


Adds a user-contributed driver for the Epson Stylus (Color) Photo printers.

[src/contrib.mak src/gdevphex.c]

2000-04-18T05:58:08.000000Z lpd


Fix: CIDFontType 0 CIDFonts in which some FDArray element had no Subrs
caused an error.

[lib/gs_cidfn.ps]

2000-04-18T05:50:15.000000Z lpd


Fix: flushfile and closefile didn't properly flush streams whose final
target was a procedure, and closefile didn't actually close them.  (This is
a very old bug.)

[src/zfproc.c src/stream.c]

2000-04-18T05:45:49.000000Z lpd


Tweaks up the performance of the PDF interpreter loop slightly.

[lib/pdf_base.ps]

2000-04-17T22:59:24.000000Z lpd


Clarifies some details of posting releases on SourceForge.

[doc/Release.htm]

2000-04-17T19:06:58.000000Z lpd


Increases the VMThreshold when converting PostScript to PDF, to reduce
garbage collection overhead.

[lib/ps2pdfwr]

2000-04-16T07:48:23.000000Z lpd


Makes undefined XObject resources for the Do operator produce a warning
rather than an error, to parallel Acrobat Reader.

[lib/pdf_draw.ps]

2000-04-16T03:05:29.000000Z lpd


Completes code for reading and writing CMaps.

[src/gsccode.h src/lib.mak src/gsfcid.c src/gsfcmap.c doc/News.htm src/int.mak src/zfcmap.c src/gxcid.h src/gdevpsf.h lib/gs_cmap.ps src/gxfcmap.h src/gdevpsfm.c]

2000-04-15T00:20:54.000000Z lpd


Slightly updates the user-contributed documentation on the new BJC-8200
uniprint parameters.

[doc/Devices.htm]

2000-04-14T07:53:10.000000Z lpd


Fix: CMaps with more than one code space range weren't converted to the
internal form correctly; begincidchar and beginnotdefchar caused errors.

[src/zfcmap.c lib/gs_cmap.ps]

2000-04-14T07:17:24.000000Z lpd


Adds code to write out CMaps, similar to the code for writing fonts, for
eventual embedding in PDF output.

[src/lib.mak src/zfcmap.c src/int.mak src/gdevpsf.h src/gdevpsfm.c]

2000-04-14T04:06:13.000000Z lpd


Fix: `make install' didn't install all the documentation files.

[src/unixinst.mak]

2000-04-14T03:59:57.000000Z lpd


Adds user-contributed uniprint parameter files for the Canon BJC-8200,
including an addition for the Red Hat printer data base.

[lib/bj8hg12f.upp lib/bj8pp12f.upp lib/bj8oh06n.upp lib/bj8ts06n.upp lib/bj8.rpd doc/Devices.htm lib/bj8gc12f.upp src/unixinst.mak lib/bj8pa06n.upp]

2000-04-13T18:40:23.000000Z lpd


Implements pdfwrite compression for mask images, using the same parameters
as for monochrome images.

[doc/News.htm src/gdevpsdi.c]

2000-04-13T17:24:54.000000Z lpd


Fix: Bitmapped characters weren't written properly on the output file (new
bug since 6.20).

[src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2000-04-13T16:44:59.000000Z lpd


Fix: The PDF writer could get an ioerror when downsampling images whose size
wasn't an exact multiple of the downsampling factor.

[src/gdevpsds.c doc/News.htm src/gdevpsds.h src/gdevpsdi.c src/gdevpdfi.c]

2000-04-13T04:52:38.000000Z lpd


Fix: Compressing with DCTEncode tried to add the compression filter twice.

[src/gdevpsdi.c]

2000-04-13T04:12:33.000000Z lpd


Fix: Pattern resources were written with incorrectly scaled XStep and YStep,
and without a Type entry.

[src/gdevpdfc.c src/gdevpdfi.c]

2000-04-13T03:47:21.000000Z lpd


Fix: The changes for the new color handling code caused stroked graphics not
to output the line width.  (new bug since 6.20)

[src/gdevpdfd.c]

2000-04-13T03:41:48.000000Z lpd


Fix: Backs out contributed changes of 2000-03-05 because of bugs.

[src/ansi2knr.c]

2000-04-13T01:53:07.000000Z lpd


Fix: Setting pdfwrite parameters for a DCTEncode filter could cause a crash
(memory fault).

[src/gdevpsdp.c src/gdevpsdu.c src/gdevpsdi.c src/gdevpsdf.h src/devs.mak]

2000-04-12T19:51:14.000000Z lpd


Fix: pdfwrite output could contain commands to set the line width to a
negative value, which PostScript allows but PDF doesn't.

[src/gdevpdfd.c]

2000-04-12T19:25:56.000000Z lpd


Fix: The pdfwrite driver sometimes compressed images in an Indexed color
space with the DCTEncode filter, producing garbage.

[src/gdevpsdi.c]

2000-04-12T18:44:35.000000Z lpd


In pdfwrite, rewrites the image writing code to use Cos objects rather than
direct printing, and splits off the creation of image dictionaries into a
new file; adds support for tiling with uncolored Patterns; implements
converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
same for ImageType 3.  This code is "in progress" and likely to have
problems for a while.

[src/gdevpdfx.h src/gdevpdf.c doc/News.htm src/gdevpdfc.c src/gdevpdfg.c src/devs.mak src/gdevpdfi.c src/gdevpdfj.c src/gdevpdfg.h]

2000-04-12T17:41:41.000000Z lpd


Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa
dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'.

[lib/pfbtopfa man/pfbtopfa.1]

2000-04-11T22:56:17.000000Z lpd


Updates documentation to match recent changes in the pdfwrite driver.

[doc/Ps2pdf.htm]

2000-04-11T19:20:56.000000Z lpd


Integrates a couple of minor overlooked changes in the text-writing code.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdft.c]

2000-04-11T19:10:13.000000Z lpd


Splits off creation and writing of color spaces, and writing color values,
into a separate file.  Adds support for (Function-based) Separation and
DeviceN color spaces, general Pattern color spaces, and procedure-based
Indexed color spaces.  Adds some code to support Pattern colors, but stubs
it out because it depends on changes in the image writing code that haven't
been integrated yet.  In fact, most of the new code isn't called yet,
either.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfc.c src/gdevpdfd.c src/gdevpdft.c src/gdevpdfg.c src/devs.mak src/gdevpdfg.h]

2000-04-11T18:31:32.000000Z lpd


Implements additional distiller parameters: PreserveHalftoneInfo,
PreserveOverprintSetting, TransferFunctionInfo (except for Apply
vs. Remove), UCRandBGInfo.  Splits off graphics state management into
separate files.  Implements the remaining graphics state parameters
(halftone, transfer function, black generation, undercolor removal, halftone
phase, smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES
******.  In anticipation of handling more general colors, renames
pdf_set_color as pdf_set_pure_color, and adds pdf_set_drawing_color.

[src/gdevpdfx.h src/gdevpdf.c doc/News.htm src/gdevpdfd.c src/gdevpdft.c src/gdevpdfu.c src/gdevpdfg.c src/devs.mak src/gdevpdfi.c src/gdevpdfg.h]

2000-04-11T16:38:14.000000Z lpd


Adds ExtGState resources.  These should be written and freed at the end of
each page, but they aren't yet.

[src/gdevpdfx.h]

2000-04-11T16:32:51.000000Z lpd


Fix: If a font didn't have a FontName (which is the case for bitmap fonts
produced by recent versions of dvips), ps2epsi caused an error.

[lib/ps2epsi.ps]

2000-04-11T16:06:57.000000Z lpd


Factors out code for writing functions and for adding filter-related entries
to a stream dictionary; implements the DefaultRenderingIntent distiller
parameter.

[src/gdevpdfx.h src/gdevpdf.c doc/Ps2pdf.htm src/gdevpdfu.c src/devs.mak]

2000-04-11T15:59:42.000000Z lpd


Fix: Once again, the dependencies hadn't been updated.

[src/int.mak]

2000-04-11T14:23:24.000000Z lpd


Enhances pdf2ps to allow defaulting the output file name.

[lib/pdf2ps man/pdf2ps.1]

2000-04-11T14:06:54.000000Z lpd


Documents the fact that building on NeXTSTEP 3.3 systems requires removing
-Wmissing-declarations from GCFLAGS.

[doc/Make.htm]

2000-04-11T05:33:13.000000Z lpd


Fix: Embedded subset CFF fonts in PDF files were defined using the name in
the font data rather than the font name in the PDF resource object.  (bug
#102901)

[lib/gs_cff.ps lib/pdf_ops.ps]

2000-04-10T19:39:44.000000Z lpd


Makes Separation and DeviceN color spaces detect that their tint transform
procedure is a Function, and call it rather than using its cached values.

[src/zcsdevn.c src/zcssepr.c]

2000-04-10T19:38:53.000000Z lpd


Fix: Attempting to build an invalid FunctionType 4 function could cause a
memory access error.

[src/zfunc4.c]

2000-04-10T19:02:19.000000Z lpd


Adds Function-based tint_transform procedures for Separation and DeviceN
color spaces.

[src/lib.mak src/gscdevn.h src/gscsepr.c src/gscdevn.c src/gscsepr.h]

2000-04-10T18:57:33.000000Z lpd


Fix: The dependencies in the makefile weren't updated for the pdfwrite font
embedding overhaul.

[src/devs.mak]

2000-04-10T18:29:04.000000Z lpd


Fix: /Category defineresource didn't make the category definition dictionary
read-only.

[lib/gs_res.ps]

2000-04-10T17:21:41.000000Z lpd


Fix: One picky compiler complained about (1L << 31).

[src/gsmisc.c]

2000-04-10T16:01:29.000000Z lpd


Fix: gdevpdfe.c was omitted from the check-in for the overhaul of pdfwrite
font embedding.

[src/gdevpdfe.c]

2000-04-10T16:00:31.000000Z lpd


Fix: gsmisc.c didn't compile in DEBUG mode on systems with a non-standard
prototype for the sqrt function.

[src/gsmisc.c]

2000-04-10T07:48:37.000000Z lpd


Overhauls font embedding in the PDF writer: splits off the code into a new
file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
adds a little bit of code for future support of Type 0 and CID-keyed fonts.

[doc/News.htm src/gdevpdft.c src/gdevpdff.c src/gdevpdfw.c src/devs.mak src/gdevpdff.h]

2000-04-10T07:42:31.000000Z lpd


Fix: Writing a Type 2 CFF with multiply-encoded glyphs produced an incorrect
Encoding.  Also, when producing output for PDF 1.2 files, no longer emits
certain opcodes that cause an (unjustified) error in Acrobat Reader 3 for
Linux.

[src/gdevpsf2.c src/gdevpsf.h]

2000-04-10T04:46:36.000000Z lpd


Updates version #s to 6.21.  (We should have done this earlier.)

[lib/gs_init.ps src/version.mak]

2000-04-10T04:45:37.000000Z lpd


Documents the need to set SYNC=nosync on NextStep / OpenStep systems.

[doc/Make.htm]

2000-04-10T04:17:56.000000Z lpd


Fix: The Cos objects of resources not shared between pages weren't freed at
the end of each page.

[src/gdevpdf.c]

2000-04-10T02:41:48.000000Z lpd


Fix: FILE_IMPLEMENTATION=both was broken (by the introduction of
sread_subfile).

[src/sfxfd.c]

2000-04-10T02:27:21.000000Z lpd


Fix: The e-mail address for reporting problems was out of date.

[lib/ps2epsi.ps]

2000-04-09T22:51:01.000000Z lpd


Fix: the most recent 'fixes' for loading font resources caused all built-in
fonts to be returned as null.

[lib/gs_res.ps]

2000-04-09T20:04:00.000000Z lpd


Fix: A -> should have been a . (only shows up on 64-bit systems).

[src/zfunc4.c]

2000-04-08T03:54:38.000000Z lpd


Completely redesigns the representation of CMaps, to reduce space
requirements and make comparing them more reasonable, changing gs_cmap to
gs_cmap_t and gx_code_map to gx_code_map_t.  (****** NOTE ****** The
PostScript code currently only handles a few well-behaved CMap structures.)

[src/zfont0.c src/zfcmap.c src/gsfcmap.c src/int.mak doc/News.htm src/gsfcmap.h lib/gs_cmap.ps src/gxfont0.h src/gxfcmap.h]

2000-04-08T03:45:41.000000Z lpd


Fix: Automatic loading of fonts from resource files didn't work (usually
caused an unmatchedmark or typecheck error).

[lib/gs_fonts.ps lib/gs_res.ps]

2000-04-08T01:53:16.000000Z lpd


Adds a workaround for misnamed glyphs in some Microsoft TrueType font 'post'
tables.

[lib/gs_ttf.ps lib/gs_mgl_e.ps]

2000-04-08T01:30:36.000000Z lpd


Enhances the ASCII85Encode filter to avoid %! at the beginning of a line of
output, in addition to avoiding %% which it did already.

[src/sa85x.h src/sfilter2.c]

2000-04-07T19:40:25.000000Z lpd


Fix: A dependency wasn't updated when moving the gdevpsf* rules from
devs.mak to lib.mak.

[src/lib.mak]

2000-04-07T19:39:27.000000Z lpd


Fix: `makemaster' referred to an undefined variable.  (How could it ever
have worked?)

[toolbin/makeset.tcl]

2000-04-07T19:37:21.000000Z lpd


Fix: gsmake would get into a loop if the makefile was not a symbolic link;
`gsmake check' didn't accept a makefile name on the command line.

[toolbin/gsmake.tcl]

2000-04-07T19:28:14.000000Z lpd


Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with
.ps.

[man/ps2pdf.1 lib/ps2pdfxx.bat doc/Ps2pdf.htm lib/ps2pdfwr man/ps2pdfwr.1]

2000-04-07T19:17:48.000000Z lpd


Fix: `make install-data' didn't install lib/gs_frsd.ps or lib/pdfopt.ps.

[src/unixinst.mak]

2000-04-07T18:39:12.000000Z lpd


Adds projects related to SVG and to pswrite image compression.

[doc/Projects.htm]

2000-04-07T16:02:03.000000Z lpd


Fix: Some makefile macros were used before being defined.

[src/lib.mak src/devs.mak]

2000-04-07T15:27:14.000000Z lpd


Fixes some signed/unsigned char * mismatches.

[src/gdevpsf2.c src/zfrsd.c]

2000-04-07T05:35:39.000000Z lpd


Fix: maketars and related scripts didn't handle version numbers #.#0
correctly.

[toolbin/makeset.tcl]

2000-04-07T05:33:20.000000Z lpd


Brings documentation up to date for the release.

[doc/Changes.htm doc/News.htm doc/History6.htm]

2000-04-07T05:25:18.000000Z lpd


Updates the build date for the release.

[src/version.mak]

2000-04-07T05:24:29.000000Z lpd


Removes redundant material, and the www.aladdin.com distribution point, from
the release procedure documentation.

[doc/Release.htm]

2000-04-07T05:23:12.000000Z lpd


Updates a few dependencies for the release.

[src/int.mak]

2000-04-07T05:21:45.000000Z lpd


Updates release dates and version numbers.

[doc/Htmstyle.htm doc/Projects.htm man/ps2pdf.1 doc/Make.htm doc/Readme.htm doc/Ps2pdf.htm doc/Bug-form.htm man/ps2ps.1 doc/Psfiles.htm doc/New-user.htm doc/Bug-info.htm]

2000-04-07T05:20:35.000000Z lpd


Fix: Removes some occurrences of $,I,d,: that shouldn't be substituted.

[toolbin/pre]

2000-04-07T03:01:52.000000Z lpd


Fix: The location of the lists of supported and unsupported drivers was
incorrect.

[doc/Bug-info.htm]

2000-04-07T03:00:56.000000Z lpd


Adds a missing dependency.

[src/lib.mak]

2000-04-07T02:48:23.000000Z lpd


Fix: If an alphabetic font defined and used a .notdef character, pdfwrite
always converted it to a bitmap.

[lib/gs_lgo_e.ps]

2000-04-06T05:25:10.000000Z lpd


Extends the undocumented CCRun procedure to take an additional argument, a
Private dictionary, required by some Adobe font downloading code.

[lib/gs_type1.ps]

2000-04-06T04:50:28.000000Z lpd


Fix: Some Adobe font downloading code assumed that loading a resource file
would never leave extra values on the stack; our implementation didn't
ensure this (by popping them if needed).

[lib/gs_res.ps]

2000-04-06T04:40:06.000000Z lpd


Implements the framework for superexec (but none of the actual access check
bypasses).

[src/icontext.c src/icstate.h src/zcontrol.c]

2000-04-05T23:31:54.000000Z lpd


Works around an Adobe code assumption that the default FindResource
procedure does *not* call the ResourceStatus procedure if the requested
instance is already defined in VM.

[lib/gs_res.ps]

2000-04-05T21:51:43.000000Z lpd


Fix: The just-checked-in fixed for resourceforall didn't work properly for
the IdiomSet category.  (They probably failed for other categories that had
no instances, but we didn't check this.)

[lib/gs_res.ps]

2000-04-05T21:20:07.000000Z lpd


Fix: The implementation of resourcestatus wasn't compatible with some badly
written code in an Adobe font downloader that assumes that the
implementation of resourcestatus in Generic and Font is the same.

[lib/gs_res.ps]

2000-04-05T21:07:02.000000Z lpd


Fix: resourceforall didn't enumerate external (loadable) instances, and
would enumerate an instance twice if it had both a local and a global
definition.

[lib/gs_res.ps]

2000-04-05T19:55:29.000000Z lpd


Fix: Updates clients for the change in the last argument of cff_string_index
from uint * to int *.

[src/gdevpsf2.c]

2000-04-05T19:53:27.000000Z lpd


Fix: Replaces a final exit() with a return, to avoid a compiler warning.

[src/genconf.c]

2000-04-05T19:51:54.000000Z lpd


Adds an #include required by the Watcom compiler.

[src/gdevpsf1.c src/devs.mak]

2000-04-05T19:46:04.000000Z lpd


Adds .cvsignore files, to prevent bogus warnings on cvs update.

[src/.cvsignore src .cvsignore /trunk/gs]

2000-04-04T22:26:02.000000Z lpd


Fixes several problems in resourceforall and resource loading: the operands
of resourceforall were restored even in the case of an error in the client's
procedure; the name Instances had special meaning for some Adobe code;
resourceforall caused an invalidaccess error if an operand was in local VM
but the current VM was global; loading a resource from a file could cause a
typecheck error if the file left values on the operand stack.

[doc/News.htm src/interp.c lib/gs_res.ps lib/gs_ccfnt.ps]

2000-04-04T22:17:33.000000Z lpd


Fix: If there was a CIDInit ProcSet defined in the filesystem, the code for
initializing the built-in CIDInit ProcSet became confused.

[lib/gs_cidfn.ps]

2000-04-04T22:16:02.000000Z lpd


Fix: The internaldict "operator" was allocated in local VM, preventing it
from being bound into procedures allocated in global VM.

[lib/gs_init.ps]

2000-04-04T22:13:23.000000Z lpd


Extends .forceput to handle arrays as well as dictionaries, required to fix
a bug with internaldict.

[src/zdict.c src/zgeneric.c]

2000-04-04T04:14:02.000000Z lpd


Updates the problem reporting procedure to use SourceForge; separates the
description of the procedure from the reporting form.

[doc/News.htm doc/Readme.htm doc/Bug-form.htm doc/New-user.htm doc/Bug-info.htm]

2000-04-03T14:36:12.000000Z lpd


Fix: When printing on monochrome LaserJet/DeskJet printers, the driver
didn't set the number of copies to 1; on the LJ 4si, this sometimes caused
double printing.

[src/gdevdjet.c]

2000-04-03T06:01:25.000000Z lpd


Fix: Resolving a Shading didn't create a reusable stream for the shading
data; since the data was then read at unpredictable times, the shading or
other constructs in the PDF file could read incorrect data.

[lib/pdf_draw.ps]

2000-04-03T02:54:41.000000Z lpd


Implements the AutoRotatePages distiller parameter.

[src/gdevpdfx.h src/gdevpdf.c doc/Ps2pdf.htm src/gdevpdft.c src/gdevpdfu.c]

2000-04-03T02:37:55.000000Z lpd


Makes the .writefont9 operator (used only for testing) available in both
DEBUG and PROFILE configurations.

[src/zfcid0.c]

2000-04-02T19:57:37.000000Z lpd


Slightly simplifies the output of the psmono and psgray drivers.

[src/gdevpsim.c]

2000-04-02T18:56:58.000000Z lpd


Updates the documentation on preparing releases to reflect the addition of
the toolbin directory.

[doc/Release.htm]

2000-04-02T18:56:25.000000Z lpd


Moves gsindent from src to toolbin.

[toolbin/gsindent]

2000-04-02T18:44:27.000000Z lpd


Adds a variety of tools used to build and distribute Ghostscript releases.
The only documentation is comments in the files themselves, and there isn't
much of it.  All aspects of these tools are subject to change without
notice.

[toolbin/leaks.tcl toolbin/tmake.tcl toolbin/pre toolbin/gsmake.tcl toolbin/pre.chk toolbin/headers.tcl toolbin/cvs2hist.py src/gsindent toolbin/smoke.ps toolbin toolbin/3way.tcl toolbin/precheck.tcl toolbin/errlist.tcl toolbin/suite.tcl toolbin/makeset.tcl toolbin/package.tcl]

2000-04-02T07:38:46.000000Z lpd


Finishes implementing the ability to write CIDFontType 0 CFFs.  This
involved a surprising number of changes in other font-related files.

[src/ichar1.h src/zfcid0.c src/gsfcid.c src/zfcid.c src/gdevpsf2.c src/zfcid1.c doc/News.htm src/int.mak src/zfont1.c src/ifcid.h src/gdevpsfu.c src/zchar1.c src/gxfcid.h]

2000-04-01T01:18:32.000000Z lpd


Fix: If two embedded fonts had the same base font, the PDF file could wind
up with an invalid entry in the xref table.

[src/gdevpdft.c]

2000-04-01T00:43:11.000000Z lpd


Creates a real list of projects on which help would be appreciated.

[doc/Projects.htm]

2000-03-31T23:21:57.000000Z lpd


Fix: The new C BuildGlyph code for CIDFontType 0 fonts didn't handle
GlyphDirectory or Type 2 CharStrings correctly.

[src/zfcid.c lib/gs_cidfn.ps]

2000-03-31T05:50:33.000000Z lpd


Fix: MSVC versions before 5, not before 6, recognize /FPi87.

[src/msvccmd.mak]

2000-03-31T05:11:30.000000Z lpd


Allows dictionaries as the value of CIDMap resources.  (Also removes an
unrelated obsolete comment.)

[lib/gs_cidfn.ps]

2000-03-31T05:06:53.000000Z lpd


Fix: The MSVC++ 6 compiler no longer recognizes the /FPi87 switch.

[src/msvccmd.mak]

2000-03-31T05:03:30.000000Z lpd


Cleans up some dependencies missed at the last checkin.

[src/int.mak src/devs.mak]

2000-03-31T04:55:18.000000Z lpd


Finishes moving support for CIDFontType 0 fonts from PostScript to C.

[src/zfcid.c src/ifont.h src/zfont42.c src/gxfcid.h src/ifont42.h lib/gs_cidfn.ps]

2000-03-30T18:01:58.000000Z lpd


Fix: Text with a Pattern color scaled the pattern according to the text
matrix, not the default matrix of the marking context.

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

2000-03-30T07:59:39.000000Z lpd


Updates the change log with recent changes.

[doc/Changes.htm src/version.mak]

2000-03-30T07:03:59.000000Z lpd


Fix: Filling or clipping with ridiculously large (out-of-bounds) coordinates
could cause an internal overflow that produced incorrect results.  (This is
probably not the last such bug.)

[src/gxfill.c]

2000-03-30T06:55:26.000000Z lpd


Fixes a couple of typos in the recently checked-in image interpolation fix.

[src/siscale.c]

2000-03-29T22:10:31.000000Z lpd


Changes the procs structure of gs_type1_data to an in-line structure rather
than a pointer to a const structure.  (Needed for moving CIDFontType 0
support into C.)

[src/gstype1.c src/gstype2.c src/gdevpsf1.c src/gdevpsf2.c doc/News.htm src/zfont1.c src/gxtype1.c src/gdevpsfx.c src/gxfont1.h]

2000-03-29T20:34:45.000000Z lpd


Fix: When FPU_TYPE <= 0, the image interpolation code lost too much
accuracy, producing color streaks in the output.  (Fix by DanCoby.)

[src/siscale.c]

2000-03-29T19:29:08.000000Z lpd


Adds a note about bogus "ANSI aliasing" warnings from the DEC C compiler.

[doc/Make.htm]

2000-03-29T18:19:44.000000Z lpd


Fix: The PCL XL 2.0 value for sRGB color space was wrong, and the attribute
for writing mode was missing.

[src/gdevpxen.h src/gdevpxat.h]

2000-03-28T18:47:02.000000Z lpd


Changes the get_outline / glyph_data procedure for getting encoded font
outline data to return an indication of whether the outline data were just
allocated and can be freed by the client.  (This is a possibly
non-backward-compatible change.)

[src/zfcid.c src/gxfont42.h doc/News.htm src/gxfcid.h]

2000-03-28T18:21:50.000000Z lpd


Fix: Re-registering a CIDFont with definefont, or defining a CIDFont with
definefont instead of /CIDFont defineresource, caused an invalidfont error
or a crash.

[lib/gs_fonts.ps lib/gs_cidfn.ps]

2000-03-28T18:20:39.000000Z lpd


Fix: In some cases, re-registering an existing font or CIDFont with
definefont would cause an invalidfont error.

[src/zbfont.c src/zfont42.c]

2000-03-28T17:03:48.000000Z lpd


Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from
0 to 387, since all current desktop CPUs include floating point hardware.

[src/watcw32.mak doc/News.htm src/msvc32.mak src/msvclib.mak src/os2.mak]

2000-03-28T07:57:14.000000Z lpd


Changes the initial values of the "job control" parameters to match Acrobat
Distiller 4.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c]

2000-03-28T07:52:06.000000Z lpd


Implements LockDistillerParams; completes the StartPage/EndPage fix checked
in just before.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c doc/Ps2pdf.htm]

2000-03-28T07:45:25.000000Z lpd


Fix: The name of the EndPage Distiller parameter collided with the EndPage
page device parameter.

[src/gdevpdfp.c]

2000-03-28T07:36:58.000000Z lpd


Adds parsing for the remaining Acrobat Distiller 4 parameters, although most
of them don't have any effect yet; brings documentation up to date.

[src/gdevpdfx.h src/gdevpdfp.c src/gdevpdf.c doc/Ps2pdf.htm]

2000-03-28T02:01:34.000000Z lpd


Changes a few initializations to suppress warnings from one picky compiler
that doesn't like ptr = buf - 1 where buf is an array.

[src/spsdf.c src/gdevpdfr.c src/gxclpath.c]

2000-03-28T00:52:46.000000Z lpd


Fix: In the output of the pswrite driver (pdf2ps, ps2ps), the showpage for
each page occurred before, not after, the restore that ended the page
contents.  This contradicted Adobe's documentation, and made utilities like
N-up printing not work properly.

[src/gdevps.c]

2000-03-27T16:36:24.000000Z lpd


Changes the implementation of incrementally loaded CIDFontType 0 fonts to
use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph
procedure for these fonts from PostScript to C.

[src/zfcid.c src/int.mak src/zbfont.c lib/gs_cidfn.ps src/version.mak]

2000-03-24T16:28:26.000000Z lpd


Speeds up reading embedded Type 1 fonts a little more.

[lib/pdf_font.ps]

2000-03-24T07:42:16.000000Z lpd


Speeds up loading embedded Type 1 fonts a little.

[lib/pdf_font.ps lib/pdf_base.ps]

2000-03-24T06:18:39.000000Z lpd


Fix: The SP pdfmark didn't check that its argument was a graphics stream.

[src/gdevpdfm.c]

2000-03-24T06:12:52.000000Z lpd


Substantially enhances the Cos object machinery.  Interface: Adds a few more
procedures, including a procedure to create a stream that writes directly
into a Cos stream object, procedures for putting more kinds of values into
arrays and dictionaries, and a param_list interface.  Changes Cos objects to
store a reference to the PDF device, and removes the device argument from
all Cos procedures other than object creation.  Replaces the Boolean
is_object member of Cos values by a value_type enum: clients must now use
COS_VALUE_IS_OBJECT() to test whether a value is an object reference.  To
reduce allocator overhead, makes the Cos procedures that take C strings no
longer copy the string.  Records whether each Cos object has been written
into the output, so that in the future (but not in this batch of changes)
resource definitions can be copied at the end of each page.  Implementation:
Moves more of the implementation of Cos objects to the .c file.

[src/gdevpdfx.h src/gdevpdfm.c src/gdevpdfo.c src/gdevpdf.c doc/News.htm src/gdevpdfr.c src/gdevpdfo.h src/gdevpdfu.c src/gdevpdfi.c]

2000-03-24T05:09:56.000000Z lpd


Fix: If a page ended with an incomplete outline tree, an invalid memory
access occurred.

[src/gdevpdfm.c src/gdevpdf.c]

2000-03-24T05:04:55.000000Z lpd


Checks in the latest consolidated change log.

[doc/Changes.htm src/version.mak]

2000-03-24T03:59:42.000000Z lpd


Finishes implementing the file case of ReusableStreamDecode.  This required
adding the ability to restrict file-reading streams to a subfile.

[src/stream.h src/zfileio.c src/sfxstdio.c lib/gs_frsd.ps src/zfrsd.c src/sfilter1.c src/sfxfd.c src/stream.c]

2000-03-23T18:47:17.000000Z lpd


Changes the new .filename operator to return true/false rather than causing
an error; redefines findlibfile in terms of a simpler .libfile operator +
.filename.

[src/zfileio.c src/zfile.c lib/gs_init.ps]

2000-03-23T18:31:46.000000Z lpd


Fix: The "fix" for FunctionTypes 2 and 3 in PDF files had made things worse,
because the code didn't distinguish between resolving to a PostScript
function (for shadings) and resolving to a PostScript procedure (for
halftones, BG/UCR, alternate color space mapping, etc.)

[lib/pdf_draw.ps]

2000-03-23T02:13:40.000000Z lpd


Makes file streams remember the file name, needed for efficiently
implementing reusable streams.

[src/stream.h src/int.mak src/zfileio.c src/zfile.c src/stream.c]

2000-03-22T22:13:49.000000Z lpd


Updates information about reporting problems when using Ghostview or GSview.

[doc/Bug-form.htm doc/New-user.htm]

2000-03-22T21:45:03.000000Z lpd


Fix: A couple of places in the Windows code didn't correctly handle
Ghostscript version numbers of the form #.0#.

[src/gp_wgetv.c src/dwsetup.cpp]

2000-03-22T21:39:32.000000Z lpd


Fixes a warning about aliasing produced by one extremely picky compiler.

[src/gsnogc.c]

2000-03-22T20:55:21.000000Z lpd


Fix: In PCL XL output (pxl* drivers), if a PostScript image didn't provide
enough source data, the remainder of the output image was erroneously filled
with pixel value 0 (typically black or the foreground color).

[src/gdevpx.c]

2000-03-22T17:08:33.000000Z lpd


Fixes a bug in the mswinpr2 driver in the handling of BitsPerPixel.

[src/gdevwpr2.c]

2000-03-21T23:08:32.000000Z lpd


Fix: In PDF files, the page CropBox was not being used to clip the output.

[lib/pdf_main.ps doc/News.htm lib/pdf_ops.ps]

2000-03-21T21:34:57.000000Z lpd


Splits off the ReusableStreamDecode filter as a separate module, since
CIDFontType 0 fonts will use it even in LanguageLevels below 3.

[src/int.mak lib/gs_ll3.ps src/zfreuse.c lib/gs_frsd.ps src/zfrsd.c]

2000-03-21T20:06:44.000000Z lpd


Changes Subr loading for CIDFontType 0 fonts from lazy to immediate, so that
C code can be guaranteed access to the Subrs.  (In every CIDFontType 0 font
that we have seen, SubrCount is 5, so this has no significant time or space
cost.)  Also adds support for FDBytes > 1 in GlyphDirectory definitions.

[lib/gs_cidfn.ps]

2000-03-21T18:36:36.000000Z lpd


Fix: When ProcessColorModel=/DeviceCMYK, if the first object on a page or
after changing the clipping path was white, the PDF writer would write it as
black.

[src/gdevpdfu.c]

2000-03-21T17:01:33.000000Z lpd


Adds invocation scripts and documentation for the PDF "optimizer".

[man/pdfopt.1 lib/pdfopt.bat src/unixinst.mak lib/pdfopt lib/pdfopt.ps]

2000-03-21T07:43:42.000000Z lpd


Extends the C support for CIDFontType 0 fonts to include those with FontType
2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
fonts).

[src/zfcid.c src/int.mak src/zfont2.c src/gdevpsf.h src/ifont2.h]

2000-03-21T06:39:49.000000Z lpd


Replaces the O(N^2) sorting algorithm for printing unencoded characters with
a O(N log N) algorithm, which makes printing Unicode and Chinese/Japanese
fonts practical.

[lib/prfont.ps]

2000-03-21T00:43:17.000000Z lpd


Fix: The test for whether an CIDFontType 2 outline string was large enough
to include prefixed metrics was backwards, which would have caused problems
with any font that used MetricsCount.

[src/zfcid.c]

2000-03-21T00:32:15.000000Z lpd


Hooks the new CIDMap code into the BuildGlyph procedure for CIDFontType 2
fonts.  (Contrary to a previous log comment, MetricsCount is already hooked
in.)  Support for CIDFontType 2 fonts is now implemented entirely in C, as
for Type 42 fonts.

[src/zfcid.c lib/gs_cidfn.ps]

2000-03-21T00:11:55.000000Z lpd


Fix: The addition of the dummy cid_Setup procedure in gs 6.01 was
accidentally commented out.

[lib/gs_cidfn.ps]

2000-03-20T21:05:11.000000Z lpd


Fix: The color_info member of the Windows and OS/2 printer devices (and
other devices using PC-style palettes) wasn't initialized properly, causing
improper behavior.

[src/gdevpccm.h src/gdevwpr2.c src/gdevos2p.c]

2000-03-20T20:04:20.000000Z lpd


Notes that the argument list for the internal build_gs_TrueType_font
procedure has changed, as part of the CIDFont migration to C code.

[doc/News.htm]

2000-03-20T19:53:06.000000Z lpd


Starts to move support for CIDFontType 0 and 2 into C code, needed by the
PDF writer for handling CID-keyed fonts.  Implements GlyphDirectory for
CIDFonts.  Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
that have a GlyphDirectory (not documented in the PLRM, but clearly
correct).  Implements Adobe 3011 features: integer and dictionary CIDMaps,
and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)

[src/lib.mak src/icid.h src/gsfcid.c src/zfcid.c src/gsfcmap.c src/zfcmap.c doc/News.htm src/int.mak src/ifont.h src/zfont42.c src/zcid.c src/ifont42.h src/gxfcmap.h src/gxfont1.h]

2000-03-20T19:30:35.000000Z lpd


Updates the makefile for the renaming of gdevpsdf.c => gdevpsdu.c.

[src/devs.mak]

2000-03-20T19:03:43.000000Z lpd


Renames an inappropriately named file.

[src/gdevpsdu.c src/gdevpsdf.c src/gdevpsdf.h]

2000-03-20T16:38:46.000000Z lpd


Fix: The referenced libpng version hadn't been updated to 1.0.5.

[src/openvms.mmk]

2000-03-20T07:18:38.000000Z lpd


Updates the consolidated change log with today's changes.

[doc/Changes.htm]

2000-03-20T07:16:35.000000Z lpd


Updates dependencies to reflect today's batches of checked-in changes.

[src/lib.mak src/int.mak src/devs.mak]

2000-03-20T07:02:12.000000Z lpd


Moves font-writing support into a new module (gdevpsf*), changing the source
file names.  Adds the ability to write CFF fonts, with either Type 1 or Type
2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
with Type 1 CharStrings.  Adds the ability to convert Type 1 CharStrings to
Type 2, including optimizing sequences of Type 1 operators into a single
Type 2 operator.  Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
TESTED].  Starts (just barely) to remove more unneeded information from
embedded TrueType fonts.

[src/gdevpsd1.c src/gdevpsf1.c src/gdevpsf2.c src/gdevpsdt.c src/gdevpsft.c src/gdevpsfu.c src/gdevpdff.c src/gdevpsfx.c src/devs.mak src/lib.mak doc/News.htm src/gxttf.h src/gdevpsdf.c src/gdevpsf.h src/gdevpdfw.c src/gdevpsdf.h]

2000-03-20T06:40:22.000000Z lpd


Starts to move support for CIDFontType 0 and 2 fonts into C code.  (These
header files are the ones needed to compile the new gdevpsf* files; they
don't interact with any existing code.)

[src/gxcid.h src/gxfcid.h]

2000-03-20T05:58:15.000000Z lpd


Fix: The computation for testing whether a tiled pattern could be
represented in line, and whether it exceeded Acrobat Reader's size limit,
was wrong, causing some patterns not to be represented as Patterns.

[src/gdevpdfi.c]

2000-03-20T05:54:13.000000Z lpd


Fix: The pointer enumeration procedure for pdf_image_enum was wrong,
possibly producing a mangled pointer and a memory access error if a garbage
collection occured while writing an image in a PDF file.

[src/gdevpdfi.c]

2000-03-20T05:40:04.000000Z lpd


Adds parsing for the remaining Acrobat Distiller 4 parameters.  Implements
the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
xxxACSImageDict distiller parameters.  Implements DCTEncode as an
xxxImageFilter option (it used to cause a crash).  Makes the
AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
if the image has 8 bits per component and is not Indexed, and LZW/Flate
otherwise: this still isn't right, but it's closer.  Implementation changes:
Changes the implementation of distiller parameter dictionaries from stream
states to parameter lists; changes the test for masks in
psdf_setup_image_filters, and changes the image argument from gs_image_t to
gs_pixel_image_t.

[src/gdevpsdp.c doc/News.htm src/gdevpsdi.c src/gdevpsdf.h src/gdevpdfi.c]

2000-03-20T04:31:22.000000Z lpd


Adds a PDF linearizer ("optimizer").  This is a separate utility (not
integrated with the pdfwrite driver), written in PostScript.

[lib/pdfwrite.ps doc/Psfiles.htm lib/pdfopt.ps]

2000-03-20T04:30:49.000000Z lpd


Adds a .fileposition operator that will read the position even of
non-positionable streams, needed for the PDF linearizer.

[src/zfileio.c]

2000-03-19T18:46:44.000000Z lpd


Exports the 'blend' operators of the Type 1 interpreter, for use by the Type
1 / Type 2 font writer.

[src/gstype1.c src/gxtype1.c src/gxtype1.h]

2000-03-19T17:29:57.000000Z lpd


Update the date and change log for the latest batches of checked-in changes.

[doc/Changes.htm src/version.mak]

2000-03-19T17:26:42.000000Z lpd


Refactors some code to make it usable by the PDF linearizer.

[lib/pdf_main.ps]

2000-03-19T17:21:36.000000Z lpd


Fix: Separation color spaces didn't store the separation name.

[src/zcssepr.c]

2000-03-19T17:14:47.000000Z lpd


Fix: If log2_transfer_map_size > 8, identity transfer functions returned
garbage.  The fix requires that if a client wants to set a transfer function
to the identity mapping, it must call gx_set_identity_transfer rather than
simply setting the procedure to gs_identity_transfer.

[src/gxcmap.c doc/News.htm src/gxfmap.h src/gxclrast.c src/zcolor.c]

2000-03-19T17:02:37.000000Z lpd


Adds procedures for building and accessing DeviceN color spaces.

[src/gscdevn.h src/gscdevn.c]

2000-03-19T16:53:50.000000Z lpd


Fix: .buildfont0 should not check CIDSystemInfo compatibility.  The PLRM3
says PostScript interpreters do not make this check, even though the PLRM2
says compatibility is required (!).

[src/zfcmap.c]

2000-03-19T16:45:47.000000Z lpd


Refactors the code for building fonts so it can be used for FDArray entries
of CIDFontType 0 fonts.

[src/bfont.h src/zbfont.c]

2000-03-19T16:37:28.000000Z lpd


Makes st_indexed_map private.  Clients must now use the constructor
procedure alloc_indexed_map rather than allocating instances directly.

[doc/News.htm src/gxcolor2.h src/gscsepr.c src/gxclrast.c src/zcsindex.c src/gscolor2.c]

2000-03-19T16:23:46.000000Z lpd


Adds a proc_data member to the map for Separation and Indexed color spaces.

[src/gxcolor2.h src/gscolor2.c]

2000-03-19T15:47:47.000000Z lpd


Documents the fact that drivers that device halftone order implementations
must now provide the new bit_index procedure.  (This should have been
documented when bit_index was introduced!)

[doc/News.htm]

2000-03-19T15:43:36.000000Z lpd


Records the CTM used for sampling HalftoneType 1 spot functions.  This is
needed for recognizing the standard spot functions when producing PDF
output.  Also factors the code for initializing spot functions for the
benefit of the PDF writer.

[src/gshtscr.c src/gzht.h src/gxdht.h]

2000-03-19T15:35:31.000000Z lpd


Adds a procedure for copying one parameter list to another.

[src/gsparamx.c src/gsparamx.h]

2000-03-19T15:28:34.000000Z lpd


Makes Separation and DeviceN color spaces convert their tint transform
function to a FunctionType 4 Function if possible, for better accuracy and
to allow writing in PDF files.

[lib/gs_lev2.ps lib/gs_ll3.ps]

2000-03-19T15:23:10.000000Z lpd


Fix: FunctionType 2 and 3 functions didn't work.

[lib/pdf_draw.ps]

2000-03-19T15:16:11.000000Z lpd


Changes the key type returned by parameter list enumeration to include a
persistence flag, makes C parameter lists support non-persistent keys, and
upgrades GC descriptors so that parameter lists can be used non-transiently;
updates implementors of parameter lists to call gs_param_list_init to
initialize the common members, which is now required.

[src/gscparam.c src/spsdf.c src/gsparam.h doc/News.htm src/iparam.c src/gsparam.c]

2000-03-19T15:13:13.000000Z lpd


Fix: Enumerating the elements of a dictionary-based parameter list returned
garbage for the keys.

[src/iparam.c]

2000-03-19T15:07:59.000000Z lpd


Undoes a premature change that depends on an update not yet checked in.

[src/gscparam.c]

2000-03-19T15:00:05.000000Z lpd


Adds a procedure for allocating a C parameter list.

[src/gscparam.c src/gsparam.h]

2000-03-19T07:37:03.000000Z lpd


Fix: the PDF interpreter hadn't been updated for the move to library-based
FunctionType 4 Functions, and still tried to bind the names true and false
to the no longer existing operators .true and .false.

[lib/pdf_draw.ps]

2000-03-19T07:33:08.000000Z lpd


Splits off "vanilla" Functions into separate files, in anticipation of
removing them (they were only used to implement PostScript Calculator
Functions).

[src/lib.mak src/gsfuncv.h src/gsfunc.c src/gsfunc.h src/gsfuncv.c]

2000-03-19T07:24:53.000000Z lpd


Adds virtual procedures for Functions to write their parameters to a
parameter list, and to access their data source and subfunctions.  This is
needed for writing Functions in PDF files.  This change is also a
prerequisite for the C implemention of FunctionType 4 functions, even though
it appears later in the change log.

[src/gxfunc.h src/gsparam.h src/gsfunc.c src/gsfunc0.c src/gsfunc3.c src/gsdsrc.h src/gsparam.c src/gsfunc.h]

2000-03-19T07:03:53.000000Z lpd


Adds dependencies for the new implementation of FunctionType 4 functions.

[src/int.mak]

2000-03-19T06:56:23.000000Z lpd


Replaces the implementation of FunctionType 4 functions at the PostScript
language level with one that uses the new library-based facilities.

[src/zfunc4.c src/zdevice2.c]

2000-03-19T06:51:13.000000Z lpd


Changes the default value of BufferSpace to 4 Mb.  In desktop applications,
this is a reasonable value that can substantially improve performance
(especially for color printers); embedded applications will want to set
BufferSpace themselves in any case.

[doc/News.htm src/gdevprn.h]

2000-03-19T06:46:08.000000Z lpd


Moves gx_device_color_equal to the public API, for detecting redundant color
setting when writing PDF files.

[src/gsdcolor.h src/gxdcolor.c src/gxdcolor.h]

2000-03-19T06:07:15.000000Z lpd


Adds a new document listing projects with which we are seeking help.  Also
makes the description of Changes.htm and News.htm more accurate.

[doc/Projects.htm doc/Readme.htm doc/New-user.htm]

2000-03-19T05:39:58.000000Z lpd


Updates the change log with recent changes.

[doc/Changes.htm]

2000-03-19T05:37:38.000000Z lpd


Updates makefiles with dependencies for recent changes.

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

2000-03-19T05:25:53.000000Z lpd


Reimplements "PostScript calculator" (FunctionType 4) functions entirely in
C, to allow them to be written out in PDF files.

[src/gsfunc4.h src/gsstruct.h src/gsfunc4.c]

2000-03-19T05:20:28.000000Z lpd


Adds a public procedure for getting a palette entry of an Indexed color
space, used when writing Indexed color spaces in PDF files.

[src/gscolor2.h src/gscindex.h src/gscolor2.c]

2000-03-19T05:10:55.000000Z lpd


Adds a bit_index procedure to the implementation of device halftones,
required for writing halftones in PDF files.  (The only implementors are
internal ones.)

[src/gxdht.h src/gxhtbit.c]

2000-03-19T05:03:31.000000Z lpd


Fix: The AutoPositionEPSFiles Distiller parameter was misspelled
AutoPositionEPSFile.

[lib/gs_pdfwr.ps]

2000-03-19T04:32:09.000000Z lpd


Documents the fact that ImageType 4 images now cause an error for
out-of-range MaskColor values.

[doc/News.htm]

2000-03-19T04:10:09.000000Z lpd


Fix: ImageType 4 images didn't give an error for out-of-range MaskColor
values.  The file also had an unnecessary #include.

[src/gximage4.c]

2000-03-19T04:03:45.000000Z lpd


Fix: The parameters of SubFileDecode filters weren't initialized fully
(required by a change in this version).

[src/zfilter.c]

2000-03-19T03:58:51.000000Z lpd


Fix: TrueType fonts didn't use vhea/vmtx if WMode = 1.  Also makes
gs_font_type42 subclassable, for implementing CIDFontType 2 fonts, and makes
its procedure for getting a glyph's side bearing and width virtual, required
to support MetricsCount in CIDFontType 2 fonts.

[src/gxfont42.h src/gstype42.c]

2000-03-19T03:37:08.000000Z lpd


Fix: param_coerce_typed, which works with any parameter list implementation,
was incorrectly described as associated with the default implementation.

[src/gsparam.h]

2000-03-19T03:20:18.000000Z lpd


Adds a skip_count parameter to the SubFileDecode filter, giving the number
of initial bytes or records to skip over.  (Needed for printing FunctionType
4 functions, possibly useful for other things.)

[src/sfilter.h src/sfilter1.c]

2000-03-19T03:15:02.000000Z lpd


Fix: s_add_filter didn't ensure enough buffering.  This entailed moving the
NullEncode/Decode filters to stream.[hc].

[src/sfilter.h src/stream.h src/sfilter1.c src/stream.c]

2000-03-19T02:46:11.000000Z lpd


Fix: Two comments in the file were incorrect.

[src/gsiparm3.h]

2000-03-19T02:40:18.000000Z lpd


Splits out the [T]BCP filter interface into a separate file.

[src/sbcp.h src/sfilter.h doc/News.htm src/zfbcp.c src/sbcp.c]

2000-03-19T02:22:01.000000Z lpd


Adds a public procedure for determining whether a PostScript object is a
Function, and if so, returning the pointer to the gs_function_t structure.

[src/zfunc.c src/ifunc.h]

2000-03-19T02:16:58.000000Z lpd


Speeds up Function evaluation slightly, by preallocating space for a
reasonable number of operands and results on the C stack rather than always
allocating it on the heap.

[src/zfunc.c]

2000-03-19T02:12:37.000000Z lpd


Fix: The attribute check for Functions being executed was incorrect (always
succeeded).

[src/zfunc.c]

2000-03-19T02:07:45.000000Z lpd


Refactors the code for getting Type 1/2/4 font parameters so it can be used
for FDArray entries of CIDFontType 0 fonts.

[src/zfont1.c src/ifont1.h]

2000-03-19T02:00:09.000000Z lpd


Fix: pdfread.dev incorrectly depended on dpsnext_.

[src/int.mak]

2000-03-19T01:53:58.000000Z lpd


Changes the PDF interpreter so that following an object reference doesn't
store the result back into the referring slot, and so that # # R always
creates an indirect object.  This is necessary for the PDF linearizer.  It
shouldn't have any visible effect (other than a possible small performance
cost).

[lib/pdf_base.ps lib/pdf_draw.ps]

2000-03-19T01:50:05.000000Z lpd


Adds a lforall procedure for the PDF linearizer.

[lib/pdf_base.ps]

2000-03-19T01:46:27.000000Z lpd


Fix: PDF images with a Mask ignored the mask.

[lib/pdf_draw.ps]

2000-03-19T01:44:53.000000Z lpd


Fix: PDF images with DeviceN color spaces caused an error.

[lib/pdf_draw.ps]

2000-03-19T01:33:23.000000Z lpd


Fix: EXTEND_NAMES had stopped working, because not all places that needed
the index of a name ref used name_index rather than r_size (ilocate.c), and
because the high_index value in the name sub-table was set incorrectly
(iname.c).

[src/ilocate.c src/iname.c]

2000-03-19T01:28:59.000000Z lpd


Fix: Reading embedded compressed CIDFonts wasn't implemented.

[lib/pdf_font.ps]

2000-03-19T00:45:40.000000Z lpd


Fix: The CFF reader gave an error if a font included any Subrs (it's very
surprising that this hasn't surfaced before, but apparently Acrobat
Distiller always produces CFF fonts with no Subrs); the CFF reader didn't
default lenIV to -1 for Type 1 CharStrings; the CFF reader wasn't able to
read CIDFonts.

[lib/gs_cff.ps lib/gs_cidfn.ps]

2000-03-19T00:38:50.000000Z lpd


Adds a pseudo-encoding for the CFF StandardStrings that represent
characters.

[src/gsccode.h src/int.mak lib/gs_css_e.ps lib/gs_cff.ps src/unixinst.mak src/devs.mak]

2000-03-19T00:27:22.000000Z lpd


Increments the version number to 6.20, in anticipation of the next release.
(We do this at the beginning of the development for a release, not the end.)

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

2000-03-19T00:22:05.000000Z lpd


Fix: Font substitution was broken.

[lib/gs_fonts.ps]

2000-03-18T23:35:53.000000Z lpd


Adds the ImagemaskTrapping parameter to the trapping state.

[lib/gs_trap.ps]

2000-03-18T23:29:32.000000Z lpd


Speeds up string garbage collection by scanning unmodified string regions
faster.

[src/igcstr.c]

2000-03-18T23:26:17.000000Z lpd


Adds the new ImagemaskTrapping parameter to the trapping state.

[src/gstrap.c src/gstrap.h]

2000-03-18T23:19:17.000000Z lpd


Adds a public procedure for restricting a color to its legal range.

[src/gscspace.h src/gxcspace.h src/gscspace.c]

2000-03-18T23:16:16.000000Z lpd


Improves the 8x8 bitmap "flipping" procedure to take advantage of 32-bit
ints.

[src/gsutil.c]

2000-03-18T23:10:39.000000Z lpd


Provides a gs_atan2_degrees procedure to parallel sin and cos.

[src/gxfarith.h src/zmath.c src/gsmisc.c]

2000-03-18T22:51:24.000000Z lpd


Makes geninit remove whitespace adjacent to hex and base-85 string literals.

[src/geninit.c]

2000-03-18T22:29:03.000000Z lpd


Undoes an accidental RCS ID substitution in what was supposed to be literal
text.

[doc/Htmstyle.htm]

2000-03-18T04:17:09.000000Z lpd


Checks in what should be the final wrap-up for the 6.01 release.

[doc/Changes.htm doc/History6.htm]

2000-03-18T04:13:40.000000Z lpd


Checks in the first wrap-up for the 6.01 release.

[doc/Changes.htm doc/News.htm src/unix-gcc.mak doc/History6.htm src/version.mak]

2000-03-18T04:11:59.000000Z lpd


Fix: In the X driver, the full-page buffer controlled by -dMaxBitmap= wasn't
allocated with a stable allocator, possibly leading to memory access errors
if save/restore were used.

[src/gdevxini.c]

2000-03-18T01:45:16.000000Z lpd


Fix: For printer devices, a non-null definition for OutputFile was required
even on platforms that had a default printer (as implemented by
gp_open_printer for that platform).

[src/gp_os9.c src/gp_unix.c src/gsdevice.c src/gp.h src/gp_vms.c]

2000-03-18T01:15:16.000000Z lpd


Fixes a typo in the fix for putting stdout in binary mode.

[src/gp_ntfs.c]

2000-03-17T17:42:59.000000Z lpd


Adds information on building with the Intel C/C++ optimizing compiler
(requires the Microsoft Visual C++ environment), and fixes a typo in the link to ftp.cdrom.com.

[doc/Make.htm]

2000-03-17T08:17:55.000000Z lpd


Fix: The code for Axial shadings incorrectly assumed that if the shading
axis was horizontal or vertical in user space, it was also horizontal or
vertical in device space: this caused incorrect results when the CTM wasn't
orthogonal.

[src/gxshade1.c]

2000-03-17T07:35:43.000000Z lpd


Fix: The X driver's algorithm for deciding when to update the screen was
changed several times between 5.50 and 6.0, and one of the more recent
changes caused it to copy many more pixels to the screen than necessary if
the file was making marks on the page in widely separated places.

[src/gdevx.c]

2000-03-17T06:22:59.000000Z lpd


On Windows, puts stdout into binary mode as well as stdin, to allow piping
printer output through stdout (not a good idea, but it should be supported
as well as on other platforms).

[src/gp_ntfs.c src/dwmainc.cpp]

2000-03-17T04:40:47.000000Z lpd


Removes the attempted documentation on building Windows executable
distributions: it was never correct, and Aladdin will no longer be creating
such distributions.  Also reorganizes the document slightly and brings the
rest of it fully into line with reality.

[doc/Release.htm]

2000-03-17T03:01:58.000000Z lpd


Adds a disclaimer of responsibility for the makefile section for creating
distribution archives, which Aladdin is no longer maintaining.

[src/winint.mak]

2000-03-17T02:59:26.000000Z lpd


Adds a missing dependency of gdevpdft.o on gxfont42.h.

[src/devs.mak]

2000-03-17T00:47:08.000000Z lpd


Updates the version number reference in the troff header.

[man/ps2pdf.1 man/ps2ps.1]

2000-03-16T08:09:42.000000Z lpd


Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver.
The code will eventually be included in gdevcd8.c, but it is not yet mature
enough.

[src/contrib.mak doc/Devices.htm]

2000-03-16T07:38:07.000000Z lpd


Fix: Directly-loaded TrueType fonts (including embedded TrueType fonts in
PDF files) could get confused with each other in the cache, because their
XUIDs were based on the font checksum field, which some fonts don't have set
correctly.

[lib/gs_ttf.ps]

2000-03-16T04:05:07.000000Z lpd


Adds a reference to a third-party Fontmap for the Computer Modern fonts.

[doc/Fonts.htm]

2000-03-16T02:03:40.000000Z lpd


Adds two more user-contributed 'uniprint' printer parameter sets: Epson
Stylus Color 640, and a generic Epson Stylus Color in high resolution mode
(720x720 dpi).

[lib/stc640p.upp lib/stcany_h.upp]

2000-03-16T02:01:36.000000Z lpd


Fixes a problem producing too much black in the output; also adds support
for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and Epson
Stylus Color 200).  Note that this is user-contributed code.

[lib/bjc610b4.upp lib/bjc610b6.upp lib/bjc610b7.upp lib/bjc610b8.upp lib/stc2_h.upp lib/stc.upp lib/stc600p.upp lib/stc800p.upp doc/Devices.htm lib/stc2s_h.upp lib/bjc610a0.upp lib/stc500ph.upp lib/cdj690ec.upp lib/bjc610a1.upp lib/bjc610a2.upp lib/bjc610a3.upp lib/dnj750c.upp lib/bjc610a4.upp lib/stc2.upp lib/bjc610a5.upp lib/stc600pl.upp lib/bjc610a6.upp lib/bjc610a7.upp lib/stc800pl.upp lib/bjc610a8.upp lib/stc200_h.upp lib/dnj750m.upp src/gsargs.h lib/cdj550.upp lib/ras32.upp src/gdevupd.c lib/stc500p.upp lib/cdj690.upp lib/stc_h.upp lib/stc600ih.upp lib/stcany.upp lib/stc800ih.upp lib/stc_l.upp lib/bjc610b1.upp lib/bjc610b2.upp lib/stc1520h.upp lib/bjc610b3.upp]

2000-03-16T01:21:24.000000Z lpd


Adds the ability to set the ProcessColorModel of the pdfwrite device to
/DeviceGray, /DeviceRGB, or /DeviceCMYK.  This affects the color space used
for fill, stroke, text, and imagemask, and for images that (for whatever
reason) can't be written in their specified color space.  Note that this is
a short-term fix: pdfwrite should output colors in the color space in which
they were specified.  However, a proper fix will require more significant
architectural changes.

[src/gdevpdfx.h src/gdevpdf.c src/gdevpdfp.c doc/News.htm src/gdevpsdf.c src/gdevpdfd.c src/gdevpdft.c src/gdevpdfu.c src/gdevpsdf.h src/gdevpdfi.c src/version.mak]

2000-03-15T18:38:29.000000Z lpd


Adds entries for ibm-rs6000-aix-4.3, sgi-mips-irix6.5-64bit, and
sun-sparc-solaris-64bit.

[src/all-arch.mak]

2000-03-15T07:29:53.000000Z lpd


Adds information on uninstalling Ghostscript on Windows.

[doc/Install.htm]

2000-03-15T07:23:52.000000Z lpd


Fix: The gs###src.zip and gs###lib.zip files weren't mentioned as being
included in distributions; News.htm and Changes.htm weren't mentioned at
all.

[doc/Release.htm]

2000-03-15T02:24:58.000000Z lpd


Revises the release procedures to reflect use of SourceForge, and to
separate out the procedures for building Windows executables.

[doc/Release.htm]

2000-03-14T20:20:20.000000Z lpd


Changes the ps2pdf MS Windows / MS-DOS scripts to use temporary files to
avoid the absurdly low limits on the length of a command line and the total
size of environment variable definitions.

[lib/ps2pdfxx.bat lib/ps2pdf.bat lib/ps2pdf12.bat lib/ps2pdf13.bat lib/ps2pdfwr.bat]

2000-03-14T06:48:44.000000Z lpd


Adds a change log generated mechanically from the CVS logs.  Future releases
may omit this file (doc/Changes.htm) from their change log.

[doc/Changes.htm doc/News.htm]

2000-03-14T06:39:23.000000Z lpd


Partially updates the release procedure documentation to reflect the use of
SourceForge and CVS.

[doc/Release.htm]

2000-03-14T06:14:44.000000Z lpd


Moves all history for versions 5.n into History5.htm; creates History6.htm
for versions 6.n; redefines News.htm as containing only news for the current
release; adds (a link to) Changes.htm for the mechanically generated change
log.

[doc/News.htm doc/Readme.htm src/unixinst.mak doc/History5.htm doc/README doc/History6.htm src/version.mak]

2000-03-10T19:50:49.000000Z lpd


Adds the ability to compile on OS/2 with XFree86.

[doc/Make.htm src/os2.mak doc/Install.htm]

2000-03-10T18:47:31.000000Z lpd


Changes the default undercolor removal and black generation functions back
from f(k) = k to f(k) = 0.  This fixes some, but not all, of the reported
problems with color inkjet output in 6.0.

[src/gxdcconv.c lib/gs_init.ps]

2000-03-10T17:18:29.000000Z lpd


Updates the version # to 6.01, and the version date.

[lib/gs_init.ps src/version.mak]

2000-03-10T15:55:39.000000Z lpd


Updates the documentation for building Aladdin releases to reflect revised
procedures for the Windows executable, and a few other minor changes.

[doc/Release.htm]

2000-03-10T15:53:08.000000Z lpd


Fix: gsmalloc.c didn't include the prototype for gs_exit(), which it calls.

[src/lib.mak]

2000-03-10T15:48:58.000000Z lpd


Updates all makefiles to the current libpng version, 1.0.5.

[src/bcwin32.mak src/ugcclib.mak src/watcw32.mak src/dvx-gcc.mak src/msvc32.mak src/unix-gcc.mak src/watc.mak src/unixansi.mak src/unixtrad.mak src/msvclib.mak src/os2.mak src/watclib.mak]

2000-03-10T15:44:01.000000Z lpd


Fix: The documentation for building with pthreads on FreeBSD hadn't been
updated.

[src/unix-gcc.mak src/unixansi.mak src/unixtrad.mak]

2000-03-10T15:40:43.000000Z lpd


Fix: the "all architectures" build and test script hadn't been updated to
use different STDLIBS values depending on where the platform provides the
pthreads library.

[src/all-arch.mak]

2000-03-10T08:18:36.000000Z lpd


Removes a temporary file that was included in the fileset by mistake.

[lib/history]

2000-03-10T08:17:06.000000Z lpd


Fix: The Windows zip archive didn't include font metrics files.  (This
change only fixes the build procedure: it doesn't actually update the
currently released zip archive.)

[src/winint.mak]

2000-03-10T08:15:31.000000Z lpd


Fix: The Watcom compiler switches didn't force enums to occupy a full int,
leading to execution errors because the code casts (enum *) pointers to (int
*).

[src/wccommon.mak]

2000-03-10T08:02:59.000000Z lpd


Removes support for VAX C, which DEC stopped supporting 9 (!) years ago.

[src/openvms.mak doc/Use.htm doc/Make.htm src/openvms.mmk]

2000-03-10T08:01:35.000000Z lpd


Updates documentation regarding Unix systems that do/don't use libpthread.

[doc/Make.htm]

2000-03-10T07:59:53.000000Z lpd


Adds a recommendation to use gcc on SGI platforms.

[doc/Make.htm]

2000-03-10T07:58:00.000000Z lpd


Updates the documentation on making RPMs, which is no longer supported.

[doc/Make.htm doc/Install.htm]

2000-03-10T07:51:55.000000Z lpd


Adds a new eps2eps utility analogous to ps2ps.

[lib/eps2eps man/eps2eps.1 lib/eps2eps.bat src/unixinst.mak man/ps2ps.1]

2000-03-10T07:49:21.000000Z lpd


Fix: The Unix install process tried to make links without deleting them
first.

[src/unixinst.mak]

2000-03-10T07:45:50.000000Z lpd


Enhances the [e]pswrite driver to handle Indexed color spaces over Device
color spaces, only with the standard Decode.

[src/gdevps.c]

2000-03-10T07:44:27.000000Z lpd


Fix: The [e]pswrite driver produced invalid output if the input file didn't
end with a showpage.

Also cleans up some formatting and removes a redundant test.

[src/gdevps.c]

2000-03-10T07:40:00.000000Z lpd


Fix: The ps2pdf*.bat scripts didn't set PS2PDFSW to the empty string if
there were no arguments, causing the same file to be processed again.

[lib/ps2pdf12.bat lib/ps2pdf13.bat]

2000-03-10T07:33:44.000000Z lpd


Updates the Brother HL7xx drivers with a new user-contributed version, plus
a couple of minor fixes.

[src/contrib.mak src/gdevhl7x.c]

2000-03-10T07:32:43.000000Z lpd


Fix: The makefile still referred to a long-gone driver for the DEC LA70.

[src/contrib.mak]

2000-03-10T07:30:54.000000Z lpd


Fix: The dependency list for coslwxl omitted a $(DD).

[src/contrib.mak]

2000-03-10T07:06:08.000000Z lpd


Clarifies when xdpyinfo and xwininfo are needed.
Adds privacy options for problem reports.

[doc/Bug-form.htm]

2000-03-10T07:03:57.000000Z lpd


Removes an inappropriate copying notice.

[doc/Hershey.htm]

2000-03-10T07:03:09.000000Z lpd


Fix: The description of the value returned by code_map_decode_next in *pchr
was incorrect.  (documentation bug only)

[src/gsfcmap.c]

2000-03-10T07:02:07.000000Z lpd


Fix: The %ram% IODevice was defined, but should not be (it represents a
RAM-based file system, which Ghostscript does not provide).

Fix: The type of the %null% IODevice was /FileSystem rather than /Special.

[src/int.mak src/ziodev2.c]

2000-03-10T07:00:28.000000Z lpd


Fixes incorrect documentation of several procedures.

[lib/gs_fonts.ps]

2000-03-10T06:56:27.000000Z lpd


Fix: When operating in buffered mode (MaxBitmap > 0), the X driver sometimes
failed to copy all of the updated area to the screen.

[src/gdevxini.c src/gdevx.c src/gdevx.h src/gdevxxf.c]

2000-03-10T04:54:15.000000Z lpd


Fix: resourcestatus for fonts was broken.

[lib/gs_res.ps]

2000-03-10T04:53:25.000000Z lpd


Some Adobe CIDFonts include a line
	/Setup /cid_Setup load def
that apparently is intended only to prevent the fonts from being loaded by a
standard PostScript interpreter (as opposed to ATM or a special font
loader), since cid_Setup is not defined anywhere and Setup is never
referenced; this change adds a dummy definition of cid_Setup to work around
this.

[lib/gs_cidfn.ps]

2000-03-10T04:41:47.000000Z lpd


Fix: The check for a show within a cshow procedure for a CID font was wrong.

Fix: Character widths in CIDFontType 0 fonts were ignored (!).

Adds a .glyphwidth operator to support correct handling of character widths
for CID fonts.

Adds a glyphwidth procedure to the library, like glyphshow and glyphpath, in
order to support correct handling of widths for CID fonts.

[src/gschar.h src/gstext.c src/zcharx.c src/gstext.h src/gschar.c src/zchar.c lib/gs_cidfn.ps src/ichar.h]

2000-03-10T04:37:02.000000Z lpd


Fix: Images with input from a file or filter demanded 1 byte of data too
many, sometimes causing the last line of the image to be dropped.  (bug
probably introduced in 6.0)

[src/zimage.c]

2000-03-10T04:35:53.000000Z lpd


Fix: fileposition didn't give an error for filters or non-seekable streams.

[src/zfileio.c]

2000-03-10T04:35:08.000000Z lpd


Fix: findlibfile didn't handle %iodevice% prefixes correctly.

[src/zfile.c]

2000-03-10T04:32:51.000000Z lpd


Fix: CloseSource and CloseTarget were effectively ignored for Flate and LZW
filters with a Predictor, and for the DCT filters.

[src/zfdctd.c src/zfdcte.c src/zfilter.c src/zfilter2.c src/ifilter.h src/zfdecode.c]

2000-03-10T04:30:58.000000Z lpd


Fix: An incorrectly formatted procedure couldn't be converted correctly by
ansi2knr.

[src/gxidata.c]

2000-03-10T04:29:37.000000Z lpd


Changes a few macro definitions to work around over-zealous compiler
warnings.

[src/gstype1.c src/gstype2.c src/gxtype1.h]

2000-03-10T04:27:31.000000Z lpd


Fix: Writing of dictionaries in binary object output, a non-standard
extension, was enabled by default, and also had to be enabled at startup
time if it was ever going to be used.

Fix: Binary error messages caused an error if the command wasn't of a type
that printobject could handle.  We now do what the Adobe implementations
appear to do in this case, namely, convert the object with cvs.

[lib/gs_btokn.ps]

2000-03-10T04:26:07.000000Z lpd


Fix: The mswinpr2 driver didn't handle setting BitsPerPixel to the same
value when the device was already open, possibly causing an error on restore
or grestore.

[src/gdevwpr2.c]

2000-03-10T04:16:09.000000Z lpd


Fix: When converting PostScript to PDF, selecting /Bicubic as an image
DownsampleType caused an error instead of defaulting to /Average.

[src/gdevpsdp.c doc/Ps2pdf.htm src/gdevpsdi.c src/gdevpsdf.h]

2000-03-10T04:13:57.000000Z lpd


Fix: The type of the %pipe% IODevice was /FileSystem, whereas it should be
/Special.

[src/gdevpipe.c]

2000-03-10T04:08:23.000000Z lpd


Fix: The prototype for gs_exit() was not included even though gs_exit() was
called.

Fix: A cast discarded const unnecessarily.

[src/gsalloc.c]

2000-03-10T04:06:15.000000Z lpd


Fix: RasterOps with source transparency = 0, texture transparency = 1 didn't
match the (very peculiar) H-P specification even if TRANSPARENCY_PER_H_P was
defined.

[src/gsropt.h src/gdevmrop.h src/gdevdrop.c]

2000-03-10T04:04:38.000000Z lpd


Fix: The code for handling execstackoverflow errors didn't cut back the
stack correctly, possibly causing invalid memory accesses if an incorrect
attempt was made to run a cleanup procedure.

[src/interp.c]

2000-03-10T04:01:55.000000Z lpd


Adds implementations of the devforall, devstatus, and diskonline
compatibility operators.

[lib/gs_statd.ps]

2000-03-10T04:00:45.000000Z lpd


Adds a new example file, a 3-D synthetic image.

[examples/doretree.ps]

2000-03-10T03:58:14.000000Z lpd


Cleans up some formatting.

[lib/pdf_base.ps]

2000-03-10T03:57:50.000000Z lpd


Fix: When interpreting a PDF file, substituted small-cap fonts were created
with incorrect scaling.

[lib/pdf_font.ps]

2000-03-10T03:57:03.000000Z lpd


Fix: When interpreting a PDF file, text drawing operators didn't reset the
text position, so strings could get displayed on top of each other. (bug
introduced by a fix in 5.98)

[lib/pdf_ops.ps]

2000-03-10T03:56:11.000000Z lpd


Fix: When interpreting a PDF file, the Install page device procedure got
more and more deeply nested after every page, eventually causing an
execstackoverflow.

[lib/pdf_main.ps]

2000-03-10T03:48:48.000000Z lpd


Fix: Incrementally downloaded TrueType fonts produced truncated Widths
tables in the output.  We have patched this with a ******HACK****** that
causes such fonts to be converted to bitmaps: the correct fix (to delay
determining the range of valid characters until the font is written) is too
large a change to make in a bug fix release.

[src/gdevpdft.c]

2000-03-10T03:48:10.000000Z lpd


Fix: The change in 5.99 to work around Acrobat Reader's 32K limit on user
space coordinates caused all 0-width rectangles to disappear, which had
major effects on some files.

[src/gdevpdfd.c]

2000-03-10T03:47:37.000000Z lpd


Fix: In-line images emitted an extra 'q' (gsave), causing the CTM to become
incorrect, entries to pile up on the dictionary stack, and an invalidrestore
error to occur at the end of the page.

[src/gdevpdfi.c]

2000-03-10T03:45:29.000000Z lpd


Clears the glyf and loca offsets in TrueType fonts that lack these tables,
so that clients who care can tell whether the font is being downloaded
incrementally.

[src/gstype42.c]

2000-03-10T03:44:33.000000Z lpd


Fix: The terminating $ on the $Id: line in gsmalloc.c was missing, and
dwuninst.rc lacked a $Id: line.

[src/dwuninst.rc src/gsmalloc.c]

2000-03-10T03:43:06.000000Z lpd


Fix: (%os%) currentdevparams didn't return (fixed) values for
InitializeAction, Mounted, Removable, Searchable, SearchOrder, and
Writeable, or (meaningful) values for BlockSize, Free, and LogicalSize.
Currently, the latter values are dummies.

[src/gsiodev.c]

2000-03-10T03:40:13.000000Z lpd


Changes the sbuf_min_left macro to a procedure for readability and in
preparation for later revision.

[src/stream.h src/stream.c]

2000-03-10T03:38:50.000000Z lpd


Fix: When reading the strings of a binary object sequence, having to get
more data from a procedure-based stream sometimes caused a syntaxerror.

Fix: If the reserved (0) field in binary objects or binary object sequences
was not 0, no syntaxerror occurred.

[src/iscanbin.c]

2000-03-10T03:37:14.000000Z lpd


Fix: If an error occurred while loading a font, it wouldn't produce an error
message.  (This is a 'fix' of a 'fix' of a 'fix': it might well break
something else.)

[lib/gs_type1.ps]

2000-03-10T03:35:37.000000Z lpd


Updates the pf2afm.ps utility with a revised version from its authors.

[lib/pf2afm.ps]

2000-03-10T03:34:44.000000Z lpd


Fix: The loader for the stochastic halftone incorrectly assumed that the
resource file left the resource on the stack, causing a stackunderflow
error.

[lib/stocht.ps]

2000-03-10T03:33:21.000000Z lpd


Increases the stack size for the PC platforms, since a user had reported
that the OS/2 stack size was too small.

[src/dw32c.def src/dwmain32.def src/gsos2.def]

2000-03-10T03:31:39.000000Z lpd


Fix: There were extraneous 'def' commands that caused definitions to be made
in the wrong dictionary.

[lib/gs_ttf.ps]

2000-03-10T03:22:04.000000Z lpd


Because of rampant confusion, disagreement, and lack of standardization,
removes the RPM-related spec and patch files.

[src/rpm-conf.dif src/gs-fonts.rps src/gs.rps]

2000-03-10T03:16:17.000000Z lpd


In ansi2knr, adds user-contributed support for concatenated string literals
and character constants, and fixes for a couple of minor bugs.

[src/ansi2knr.c man/ansi2knr.1]

2000-03-10T03:11:06.000000Z lpd


Fixes a typo.

[man/ps2pdf.1]

2000-03-09T08:40:45.000000Z lpd


Populate repository with gs 6.0 files.

[lib/pfbtopfa.ps src/gdevmsxf.c src/gsropt.h src/gdevmem.c man/ps2epsi.1 src/gdevmem.h src/zvmem.c src/rm.cmd src/gstrap.c src/icstate.h src/gxxfont.h lib/gs_epsf.ps src/gstrap.h src/gzacpath.h src/gdevcgmx.h src/gscssub.c src/gp_msdos.c src/gdevlbp8.c src/rm_one.com src/gdevpdfx.h src/gdevdm24.c src/zcsdevn.c src/dwsetup.rc src/icie.h src/gscssub.h src/gxdither.c src/zcontext.c src/ccfont.h src/gxdither.h src/cp.cmd lib/gslp.ps src/gxclutil.c src/gxcomp.h lib/level1.ps lib/lpgs.bat src/echogs.c lib/ras3.upp src/oper.h src/zchar42.c lib/gs_lev2.ps src/gsfont0.c src/gscscie.c lib/stc2_h.upp src/icfontab.c src/zht1.c src/zpcolor.c src/zdevcal.c src/gdevpdfi.c src/zcssepr.c src/sdcparam.c doc/Install.htm lib/markhint.ps src/bcwin32.mak src/sdcparam.h src/gdevokii.c src/zcfont.c src/gdevprna.c src/zcolor.c lib/bjc610a1.upp src/oparc.h src/gxhtbit.c src/sfxfd.c src/gdevprna.h lib/caption.ps src/dwuninst.h src/ireclaim.c src/gsmemraw.h doc/Lib.htm src/gxline.h lib/history man/gslp.1 lib/traceimg.ps src/gserver.c src/gp_psync.c lib/gs_s.xpm src/gxclfile.c src/gdebug.h lib/viewpcx.ps src/bcc32.cfg src/zfile.c src/gdev4693.c src/gxchar.c src/gxchar.h src/gsline.c src/gsalloc.c src/gsline.h doc/Helpers.htm src/gsiparm2.h src/gsalloc.h src/gxfont0.h lib/gs_s_m.xbm lib/ras32.upp lib/gs_ksb_e.ps src/gdevmeds.c src/gs16spl.c src/gdev4081.c src/gdevmeds.h src/srdline.h src/wctail.mak lib/ras4.upp src/winlib.mak src/szlibx.h src/zmath.c lib/jispaper.ps src/iimage.h src/gxpcolor.h src/gp_unifn.c doc/Xfonts.htm src/gdevddrw.c src/gschar.c lib/bjc610a2.upp src/gswin386.rc src/gschar.h lib/traceop.ps src/gsptype2.c src/gdevpsd1.c src/gsptype2.h src/catmake src/gsdll32.def src/iestack.h src/gxbitfmt.h src/gxclio.h src/gstype2.c lib/quit.ps lib/pdf2ps.bat src/inameidx.h src/gxop1.h lib/bjc610b1.upp src/sfxboth.c src/sbhc.c lib/viewps2a.ps src/gsdps.c src/zfont1.c src/gdevht.c src/sbhc.h lib/gs_dbt_e.ps src/gsdps.h src/gdevht.h src/spngp.c src/ghost.h lib/ras24.upp lib/gs_t.xpm src/gsmatrix.c src/gxalloc.h src/istruct.h src/gsmatrix.h src/zdouble.c src/gsos2.def src/spdiff.c src/scommon.h src/unixhead.mak src/gsiparm4.h lib/ps2ascii.ps src/gxiscale.c lib/stc_h.upp lib/gs_ce_e.ps src/gxbcache.c src/dwimg.cpp src/dwinst.cpp src/gxbcache.h lib/gs_type1.ps src/ibnum.c lib/gsnup.ps src/gdevxcmp.c src/estack.h src/ibnum.h src/scfe.c src/gsdcolor.h src/gscompt.h src/gdevxcmp.h lib/stocht.ps src/gdevlj56.c src/gdevhl7x.c src/gdevos2p.c src/gdevmr8n.c lib/gs_pdfwr.ps src/gsparam.c src/gsbitops.c src/gxftype.h src/gdevpdfm.c src/imain.c src/gsbitops.h src/gsparam.h src/zfilter2.c src/imain.h src/ifilter.h lib/gs_ccfnt.ps src/zfont42.c src/dwsetup.def lib/Fontmap.ATB doc/Language.htm src/spdiffx.h lib/bjc610a3.upp src/gs16spl.rc src/gxhttype.h lib/Fontmap.ATM src/gspenum.h lib/unix-lpr.sh lib/ps2epsi.bat lib/decrypt.ps src/gxipixel.c src/sfilter2.c doc/Tester.htm src/gdevsnfb.c src/gdevifno.c src/gscrd.c src/mv.cmd src/gxmclip.c src/gxcie.h examples src/gsio.h lib/sysvlp.sh src/gscrd.h src/gxmclip.h lib/bjc610b2.upp lib/pftogsf.bat src/unix-end.mak lib/uninfo.ps src/gswin32.rc src/inobtokn.c src/unixtrad.mak lib/ras8m.upp src/gp_mslib.c lib/Fontmap.Sol src/gdevescp.c src/gsiodev.c src/igc.c src/msvc32.mak src/gsfunc0.c src/slzwce.c src/zdosio.c src/jerror_.h src/igc.h src/gsfunc0.h src/gdevpsds.c src/siscale.c src/gdevpsds.h src/gsdsrc.c src/gxfill.c src/ilevel.h src/siscale.h src/gxclread.c src/gsdsrc.h lib/pdf2ps lib/stcany.upp src/iostack.h lib/gs_kanji.ps lib/stcolor.ps src/gdevmr1.c lib/Fontmap.Ult src/gsdll.c src/gspath1.c src/gsdll.h src/sjpegc.c src/zfdcte.c lib/ps2ascii.bat src/zfcmap.c doc/Readme.htm src/gdevbit.c src/gsdevice.c src/gp_wsync.c src/gxclmem.c src/gsdll32.rc src/gscparam.c src/gshtx.c src/gsdevice.h src/gdevpdfo.c src/gdevsj48.c src/gsbittab.c src/gxclmem.h src/sdctd.c src/gsmemory.c src/gshtx.h src/gdevpdfo.h src/gsbittab.h src/ifwpred.h src/gdevcdj.c lib/Fontmap.VMS doc/Devices.htm src/gsmemory.h src/files.h src/gxband.h src/scfdgen.c src/gsbitmap.h lib/bjc610a4.upp src/gdevtknk.c src/idsdata.h src/gxfont42.h src/scf.h src/gxidata.c src/inames.h src/gsroptab.c src/gsistate.c src/gdevm1.c src/os2.mak src/gscolor2.c src/gzline.h src/gscolor2.h lib/bdftops src/gsmalloc.c lib/errpage.ps src/ivmem2.h src/gsmalloc.h src/gxiodev.h lib/bjc610b3.upp src/gdevpcfb.c src/gs-fonts.rps src/gdevvec.c src/dwmain.h src/gdevpcfb.h lib/gs_statd.ps src/gdevvec.h src/ostack.h src/gsrect.h src/sdeparam.c src/idosave.h src/ifrpred.h lib/stc600p.upp src/gdevvglb.c src/gdevimgn.c lib/impath.ps src/gsmdebug.h src/gsdsc.c src/gxshade1.c lib/ps2ps src/copy_one.com src/gdevm32.c src/scfx.h src/all-arch.mak lib/gs_init.ps src/idparam.c src/gsparams.c src/bfont.h src/gdevbjcl.c src/dvx-gcc.mak src/idparam.h src/gsparams.h src/gp_mswin.c src/gdevbjcl.h src/gp_mswin.h src/gp_os2.c src/zcolor1.c doc src/math_.h src/gxfunc.h lib/printafm.ps src/gdevstc.c src/ialloc.c src/gdevstc.h src/ialloc.h src/gserrors.h src/sjpege.c src/gxsample.c src/gxfarith.h src/gdevbmp.c src/gxsample.h src/gserror.h src/gdevbmp.h lib/stc.upp src/gdevsppr.c src/igcstr.c src/gdevn533.c src/idebug.c lib/pfbtopfa src/igcstr.h src/gdevpsdf.c src/rm.bat src/idebug.h src/gsht.c lib/gs_lgx_e.ps src/gdevpsdf.h src/gdevm16.c src/gsht.h src/scantab.c lib/bjc610a5.upp src src/zfilter.c src/gstype42.c src/gsfunc.c src/iutilasm.asm src/cp.bat src/sbcp.c src/gsfunc.h src/gdevalph.c src/iref.h lib/font2c.bat src/gp_ntfs.c src/libpng.mak lib/docie.ps src/zfproc.c lib/acctest.ps src/gs.c src/istream.h examples/snowflak.ps src/zdevice2.c lib/bjc610b4.upp src/iscannum.c src/gspmdrv.c src/gscrdp.c src/iscannum.h src/gscsepnm.h src/gsfemu.c src/gxclrast.c src/inamestr.h src/gspmdrv.h src/gscrdp.h src/gdevxres.c src/gdevo182.c src/istkparm.h src/zimage3.c src/zcspixel.c src/zarith.c src/gximage1.c src/msvctail.mak src/gxclpath.c src/isdata.h lib/stc600pl.upp src/gxclpath.h src/gxcmap.c src/icsmap.h src/gxhint1.c src/gp_dosfb.c src/gxcmap.h src/gpgetenv.h src/zpath.c src/gsnorop.c src/gdevmrop.h src/gxcpath.c doc/Unix-lpr.htm src/gxcpath.h src/gdevpsci.c lib/bdftops.bat src/gxp1impl.h src/gdevlxm.c man/ps2ps.1 lib/Fontmap.GS src/gxgetbit.h src/gspmdrv.icx src/gdevabuf.c doc/Source.htm src/md5.c src/gdevsgi.c src/gdevsco.c src/zcie.c src/md5.h src/stream.c lib/pdf_main.ps 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/zfunc3.c src/iparam.c src/gdevpxut.h src/zrelbit.c src/gxclist.c src/gdevxini.c lib/bjc610a6.upp lib/printafm src/iparam.h src/gxclist.h src/gdevlp8k.c man/font2c.1 doc/Htmstyle.htm lib/gsnd.bat lib/ps2pdf.bat src/gp_dosfs.c src/gpcheck.h src/dwuninst.cpp lib/ps2ascii src/gdevxxf.c src/ztype.c src/shc.c src/zshade.c man/ps2ascii.1 doc/Use.htm src/opcheck.h lib/gsndt.bat src/shc.h src/gdevpdfd.c src/gxdda.h lib/showpage.ps src/iscan.c src/gsnotify.c src/iscan.h src/gximage3.c lib/wftopfa src/srle.c src/gsnotify.h src/zfilterx.c src/gsdll2.rc src/gs16spl.def man/gs.1 src/memory_.h src/iparray.h lib/gs_wl1_e.ps src/gsuid.h src/gdevstc2.c src/ziodev2.c lib/gs_sym_e.ps src/gxhint3.c src/zmisc.c src/gsargs.c src/devs.mak src/gp_win32.c src/gsargs.h doc/gsdoc.el lib/ppath.ps src/gsinit.c src/wmin.mak src/winplat.mak lib/stc_l.upp lib/cbjc600.ppd lib/gs_l.xbm src/gdev3852.c src/gp_getnv.c lib/ps2pdfwr.bat src/dpmainc.c lib/gs_dps1.ps src/gp_wgetv.c src/gdevpxen.h src/gdevpxat.h src/gdevadmp.c src/zchar2.c src/errno_.h lib/wrfont.ps src/slzwc.c src/gdevpdfu.c src/dwdll.cpp src/sfilter.h src/dwinst.h lib/pf2afm.bat lib/bjc610a7.upp lib/gs_trap.ps src/sisparam.h src/ifont.h lib/necp2x6.upp src/unixlink.mak doc/Psfiles.htm src/zrop.c lib src/gdevegaa.asm src/gspaint.c doc/index.html src/gspaint.h src/sa85x.h lib/bjc610b6.upp src/gsalpha.c src/int.mak src/watc.mak src/gsalpha.h src/gdevpdff.c src/icremap.h src/gp_dvx.c src/imainarg.c src/gdevpdff.h src/gsgraph.icx src/imainarg.h src/spprint.c src/gxcldev.h src/zbfont.c src/unix-gcc.mak examples/colorcir.ps src/spprint.h src/igstate.h src/version.mak doc/PUBLIC src/sbwbs.c lib/bdftops.ps src/gxdevmem.h src/gdevstc4.c lib/gsbj src/icharout.h src/dwtext.h src/sbwbs.h src/szlibd.c src/gdevpccm.c src/gdevdfax.c src/gdevdbit.c lib/ps2pdf src/gdevpccm.h src/strimpl.h src/mv.bat src/gsutil.c lib/gs_m.xbm src/opextern.h src/zimage.c src/gdevcgm.c src/gsutil.h examples/vasarely.ps lib/gs_wl2_e.ps src/gsht1.c src/gspcolor.c src/gxi12bit.c src/gsht1.h src/iddstack.h src/gspcolor.h src/std.h lib/stc800p.upp src/gdevs3ga.c lib/type1ops.ps src/gsdll2.def lib/ps2epsi.ps src/scfdtab.c src/gdevpdfw.c src/gscolor.c src/ztoken.c src/gxpaint.c src/seexec.c src/zchar32.c src/gscolor.h src/spsdf.c lib/bjc610a8.upp src/gxpaint.h src/gsfname.c src/spsdf.h lib/gsdj src/gsfname.h doc/New-user.htm src/gxalpha.h src/srlx.h src/gxclipsr.h src/jpeg.mak lib/bjc610b7.upp src/idstack.c src/idstack.h src/gdevwdib.c doc/Copying.htm src/gdevsunr.c lib/gs_diskf.ps examples/ridt91.eps lib/font2c.ps src/gsstate.c src/ichar1.h src/gxiparam.h src/gsstate.h src/gdevcljc.c lib/pdf_base.ps doc/Ps2pdf.htm lib/gs_m_m.xbm src/iscanbin.c src/gdevmiff.c src/iscanbin.h src/gp_mshdl.c src/dw32c.def src/zfont.c lib/stc600ih.upp src/unixinst.mak src/zarray.c src/iminst.h src/gdevpe.c src/gxdevcli.h doc/Humor.htm lib/Fontmap.SGI lib/gs_pdf_e.ps lib/prfont.ps src/ccgs src/zdps1.c doc/Commprod.htm src/zhsb.c src/zupath.c src/gxsync.c src/dstack.h src/gsccolor.h src/gxsync.h src/gdevpbm.c src/gdevmrun.c src/gsdllwin.h lib/gs_typ32.ps src/gs.rps src/gconf.c src/gdevmrun.h src/gconf.h examples/tiger.ps src/sdct.h src/zfbcp.c src/gzcpath.h src/scfetab.c lib/bjc610b8.upp src/gdevpcl.c src/gxstate.h src/gdevcmap.c src/zht2.c src/gxfmap.h src/gdevpcl.h src/gdevcmap.h lib/viewmiff.ps src/ichar.h src/gdevwprn.c lib/gs_dps.ps src/gxpdash.c src/ztrap.c src/gxlum.h doc/Drivers.htm src/gsptype1.c lib/stc800pl.upp src/gxclbits.c src/zgstate.c src/gsptype1.h lib/gs_setpd.ps src/ctype_.h lib/font2c src/inouparm.c src/slzwx.h src/gstype1.c lib/gs_lgo_e.ps src/gxdhtres.h src/gdevmpla.c man/pdf2ps.1 src/dwmain.rc lib/gs_fonts.ps src/gstype1.h lib/gslj.bat src/gxcspace.h lib/Fontmap.OS2 src/gdevmpla.h man/wftopfa.1 lib/cbjc800.ppd src/watclib.mak src/gxfcache.h src/istack.c src/gxclzlib.c src/zfont0.c lib/gs_l2img.ps src/istack.h lib/stcinfo.ps lib/Fontmap.OSF src/gdevevga.c src/gdevhit.c src/gxclimag.c lib/packfile.ps examples/alphabet.ps src/gxht.c src/gxdcconv.c lib/stc2.upp src/gdevpsdp.c src/openvms.mak src/gxcht.c src/gdevclj.c src/gdevxalt.c src/gxht.h src/zvmem2.c src/gxdcconv.h lib/pdfeof.ps src/contrib.mak lib/gs_typ42.ps src/gsiparm3.h src/gxclpage.c src/gxfont1.h lib/gslj src/icontext.c src/gsdllos2.h src/gxclpage.h src/zstring.c src/icontext.h lib/gslp src/unix-aux.mak src/zfont32.c src/szlibxx.h src/gxclip2.c src/gdevdrop.c src/gxclip2.h man/dvipdf.1 src/scfd.c src/gxiclass.h src/cfonts.mak lib/pdf2dsc lib/gs_l.xpm lib/ht_ccsto.ps src/gdevcgml.c src/gdevcgml.h src/gdevpx.c src/windows_.h src/gdevl256.c src/zcharx.c doc/DLL.htm src/igcref.c src/gxtype1.c src/gxtype1.h examples/cheq.ps src/gdevcp50.c src/idictdef.h src/gsmemret.c src/gdevcd8.c src/gxclip.c src/gsmemret.h src/sfilter1.c lib/gsnd src/iname.c src/zmedia2.c src/sddparam.c src/gxclip.h src/iname.h lib/stc500p.upp src/gs.mak src/gxpcmap.c doc/News.htm lib/gs_wan_e.ps src/gdevnfwd.c doc/History1.htm src/zcontrol.c lib/stc1520h.upp src/gsfcmap.c src/zfont2.c src/iimage2.h src/gsfcmap.h src/gxrplane.h src/imemory.h src/gxp1fill.c src/gsciemap.c src/dos_.h src/gscdef.c lib/winmaps.ps src/gdevwpr2.c lib/Fontmap lib/landscap.ps src/gxtmap.h src/zchar.c src/gdevsun.c lib/fixmswrd.pl src/gscrypt1.c doc/Fonts.htm lib/gsdj500.bat src/gscrypt1.h src/gxdht.h src/dvx-head.mak src/zcsindex.c src/gdevrops.c lib/gs_t_m.xbm doc/gs-vms.hlp src/icolor.h src/gp_msio.c src/store.h src/gstypes.h src/gxfixed.h src/string_.h src/zfdctd.c src/gdevcslw.c src/gsjmorec.h src/zdps.c lib/gs_m.xpm src/scanchar.h src/gxpcache.h src/lib.mak src/zmatrix.c src/sdctc.c src/gdevpipe.c src/gspmdrv.rc src/gdevsvga.c lib/pf2afm src/gdevepsn.c src/gdevsvga.h src/gsparam2.c src/gp_mktmp.c src/stat_.h src/dwmain.cpp src/zfdecode.c lib/gs_wl5_e.ps src/gsstruct.h src/gsgc.h src/gscolor1.c src/gdevmswn.c src/gxfcmap.h src/gdevjpeg.c src/siinterp.c src/gspmdrv.def src/gscolor1.h src/gdevmswn.h src/gdevbbox.c src/siinterp.h src/opdef.h src/gsdll32w.lnk lib/gs_mex_e.ps src/gdevbbox.h src/iddict.h lib/gs_std_e.ps doc/History2.htm src/gendev.c src/gdevpjet.c src/gdevtfax.c src/gsexit.h src/gp.h src/gslparam.h src/ivmspace.h src/gdevtfax.h src/gshtscr.c src/bench.c src/gsnogc.c src/dwmainc.cpp src/gdevbmpa.c src/gsnogc.h src/stdio_.h src/dwuninst.def src/gdevemap.c src/gp_sysv.c src/gsindent src/gsrefct.h src/iastruct.h lib/gs_mro_e.ps src/gdevbjc.h lib/ps2ps.bat src/gdevpsdt.c src/gzht.h src/gxcvalue.h src/sstring.c lib/cid2code.ps src/gxpath.c src/scfparam.c src/sstring.h src/gdevupd.c src/iconf.c src/gxpath.h src/interp.c src/zcrd.c doc/C-style.htm lib/zeroline.ps lib/gs_cff.ps src/interp.h man/ps2pdfwr.1 src/dwdll.h src/sjpegd.c lib/rollconv.ps src/gspath2.h src/dvx-tail.mak src/gdevpsim.c lib/lp386.bat src/errors.h lib/lprsetup.sh src/gxino12b.c src/gdevmgr.c src/gdevpdfp.c src/gxacpath.c src/ziodev.c src/gdevmgr.h lib/necp2x.upp src/gslib.c src/sdcte.c src/iccinit0.c doc/Release.htm src/zfunc0.c lib/gs_dpnxt.ps lib/pdf_draw.ps src/gslib.h src/gxccache.c src/ifont1.h src/gxmatrix.h src/ifunc.h src/gp_unifs.c src/gxobj.h src/isstate.h src/gdevm2.c src/ifilter2.h src/gdevwddb.c src/gspath.c src/gxpcopy.c src/gspath.h src/gscolor3.c src/gdevdjet.c man/gsnd.1 src/gsos2.icx lib/ps2pdf12 lib/ps2pdf13 doc/ps2epsi.txt examples/escher.ps src/dwmain32.def src/gscolor3.h lib/stc800ih.upp lib/pdf2dsc.ps examples/golfer.ps doc/Current.htm src/zpath1.c lib/gs_pfile.ps src/gdevm24.c doc/History3.htm src/gp_unix.c src/inamedef.h lib/gs_rdlin.ps src/ilocate.c src/gxdcolor.c src/gdevpm.c src/gscdefs.h src/vmsmath.h src/gzstate.h src/gxdcolor.h src/gdevbmpc.c src/gdevpm.h src/gschar0.c /trunk/gs src/zdevice.c src/iht.h src/gscie.c lib/gs_cidfn.ps lib/addxchar.ps src/zimage2.c examples/grayalph.ps src/gscie.h src/iastate.h src/pipe_.h src/bughunt.sh src/gxbitops.h src/ipacked.h lib/font2pcl.ps src/gpsync.h src/gsfunc3.c src/gswin.rc src/gsccode.h src/gsfunc3.h src/gxpath2.c src/gp_strdl.c src/genconf.c src/gxdevbuf.h lib/lpr2.bat lib/lp386r2.bat src/sa85d.c src/gscsel.h man/pdf2dsc.1 lib/gsbj.bat src/sa85d.h src/openvms.mmk src/zcolor2.c src/gdev3b1.c doc/Hershey.htm lib/wmakebat.bat lib/gst.bat src/genht.c src/zgeneric.c lib/type1enc.ps lib/dvipdf src/gxclrect.c src/gxarith.h src/gsshade.c src/gstext.icx lib/pdf_sec.ps src/gsshade.h src/msvclib.mak src/zcid.c src/dwsetup.cpp lib/pv.sh src/gdevp2up.c src/dwuninst.rc lib/viewjpeg.ps lib/image-qa.ps src/gdevpdfr.c src/gdevppla.c src/dwnodll.cpp lib/stc2s_h.upp src/zmisc1.c src/gsdevmem.c src/gdevppla.h src/wccommon.mak lib/ps2epsi src/gsmisc.c lib/wftopfa.ps src/gdevtfnx.c src/gxicolor.c src/gdevm4.c src/gxpageq.c lib/ps2ai.ps src/gsdparam.c src/winint.mak man/ps2pdf.1 src/gxpageq.h doc/Make.htm src/gxdevrop.h src/gsstype.h man src/gdevprn.c src/gdevcif.c doc/History4.htm src/gdevprn.h lib/gs_s.xbm src/iesdata.h lib/gstt.bat src/spngpx.h src/btoken.h src/gdevherc.c src/zcharout.c src/gdevepsc.c lib/gs_il1_e.ps doc/Bug-form.htm src/gxdevice.h src/gximage2.c src/srld.c src/zht.c src/gxshade4.c src/gxshade4.h src/iinit.c src/gxccman.c src/gxbitmap.h src/gdevstc1.c src/watcw32.mak src/iinit.h src/gsalphac.c src/gxshade.c src/gxhint2.c src/sbtx.h src/zfunc.c src/gsclipsr.c src/gsalphac.h src/gxshade.h src/gsrop.c doc/README src/gsclipsr.h src/idict.c examples/chess.ps src/gxistate.h src/gsrop.h src/gscoord.c src/idict.h src/dwmain16.def doc/Public.htm src/gxcolor2.h lib/ps2pdf12.bat src/gscoord.h src/genarch.c lib/viewcmyk.ps src/gscpm.h src/gxcindex.h src/gp_nsync.c src/gdevdgbr.c src/gdevmr2n.c src/zlib.mak src/gxtext.h src/zchar1.c src/gscdevn.c lib/pf2afm.ps src/gdevpdft.c src/gdevpsdi.c src/shcgen.c src/gsiparam.h src/zmisc3.c src/gssubst src/zfunc4.c lib/gsdj500 src/malloc_.h src/shcgen.h src/gscpixel.c lib/pdf_font.ps lib/viewgif.ps src/gscpixel.h lib/gs_btokn.ps src/gdevplnx.c lib/lines.ps src/dirent_.h src/gdevplnx.h src/zfzlib.c src/gscsepr.c lib/ras1.upp src/iutil2.c doc/History5.htm src/gscsepr.h src/gsimage.c src/ipcolor.h src/sjpeg.h src/iutil2.h src/gstext.c lib/gs_t.xbm src/dwtext.cpp src/gsimage.h lib/gs_fform.ps src/msvccmd.mak src/gstext.h src/zfreuse.c src/gsflip.c src/gsflip.h src/zdpnext.c src/geninit.c lib/gs_ll3.ps src/zusparam.c man/pfbtopfa.1 src/gximage4.c src/gxshade6.c src/gxcoord.h src/gdevpdf.c src/zpacked.c src/gsparamx.c src/gdevstc3.c lib/gs_l_m.xbm src/gp_dosfe.c src/szlibc.c src/iutil.c src/gsparamx.h lib/gs_cmdl.ps lib/gs_cmap.ps src/gdevpng.c src/iutil.h src/gzpath.h lib/gs_il2_e.ps src/gxcdevn.h src/sfxstdio.c lib/ps2pdf13.bat lib/ps2pdfwr src/gxropc.h src/gxfont.h src/gdevccr.c src/append_l.com src/gdevdcrd.c src/zbseq.c src/gdevdcrd.h src/instcopy src/gdevl31s.c src/iosdata.h man/ansi2knr.1 src/gdevdjtc.c lib/showchar.ps src/gdevpcx.c src/gdevpxop.h src/zfileio.c src/slzwd.c src/gxifast.c src/gxpflat.c lib/pcharstr.ps lib/stc500ph.upp lib/pdf_ops.ps src/gp_nofb.c src/zsysvm.c src/gsimpath.c src/dwimg.h src/gdevx.c src/gsmemlok.c src/gsos2.rc lib/gs_dps2.ps src/gximage.c man/printafm.1 src/gdevx.h src/gsmemlok.h src/unixansi.mak src/gximage.h src/gscspace.c lib/gsdj.bat src/gdevm8.c lib/gs_mgl_e.ps examples/waterfal.ps src/gsxfont.h src/gscspace.h src/gsropc.c src/gsjconf.h src/zstack.c src/gsfont.c src/gsropc.h src/gsfont.h lib/gs_ttf.ps lib/unprot.ps src/isave.c lib/gslp.bat lib/align.ps src/turboc.cfg src/isave.h src/zdict.c src/gxfrac.h src/gx.h src/iccfont.c lib/markpath.ps src/gdevps.c src/png_.h src/gxcllzw.c src/gxhttile.h src/gsdps1.c lib/gs_res.ps src/rpm-conf.dif src/rm_all.com src/time_.h src/gshsb.c src/pcwin.mak lib/bjc610a0.upp src/smtf.c src/gshsb.h src/gdevtifs.c src/x_.h man/pf2afm.1 src/smtf.h src/gximono.c src/gdevtifs.h src/ansi2knr.c lib/pj-gs.sh lib/viewpbm.ps src/szlibe.c src/gxctable.c src/main.h src/gp_vms.c lib/cdj550.upp src/gp_iwatc.c src/gxctable.h src/ugcclib.mak 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/gxclipm.h]