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 1.51]
Correct some inconsistent line endings.[src/stdio_.h 1.10, src/ttfsfnt.h 1.5]
Updated release notes and change history for the 8.12 release.[doc/Changes.htm 1.49, doc/Details.htm 1.8, doc/Details8.htm 1.4, doc/History8.htm 1.8, doc/News.htm 1.138]
Update documentation with release version and date.[doc/API.htm 1.41, doc/Bug-form.htm 1.39, doc/Bug-info.htm 1.38, doc/C-style.htm 1.45, doc/Commprod.htm 1.30, doc/Copying.htm 1.29, doc/DLL.htm 1.33, doc/Deprecated.htm 1.10, doc/Details8.htm 1.3, doc/Develop.htm 1.127, doc/Devices.htm 1.72, doc/Drivers.htm 1.43, doc/Fonts.htm 1.39, doc/Helpers.htm 1.33, doc/History1.htm 1.29, doc/History2.htm 1.29, doc/History3.htm 1.29, doc/History4.htm 1.29, doc/History5.htm 1.31, doc/History6.htm 1.46, doc/History7.htm 1.34, doc/History8.htm 1.7, doc/Htmstyle.htm 1.34, doc/Install.htm 1.44, doc/Issues.htm 1.39, doc/Language.htm 1.78, doc/Lib.htm 1.32, doc/Maintain.htm 1.40, doc/Make.htm 1.70, doc/New-user.htm 1.49, doc/Projects.htm 1.56, doc/Ps-style.htm 1.27, doc/Ps2epsi.htm 1.31, doc/Ps2pdf.htm 1.56, doc/Psfiles.htm 1.50, doc/Readme.htm 1.52, doc/Release.htm 1.82, doc/Source.htm 1.29, doc/Tester.htm 1.29, doc/Testing.htm 1.23, doc/Unix-lpr.htm 1.29, doc/Use.htm 1.95, doc/Xfonts.htm 1.29, doc/gs-vms.hlp 1.28, man/dvipdf.1 1.27, man/font2c.1 1.27, man/gs.1 1.28, man/gslp.1 1.27, man/gsnd.1 1.27, man/pdf2dsc.1 1.26, man/pdf2ps.1 1.28, man/pdfopt.1 1.26, man/pf2afm.1 1.27, man/pfbtopfa.1 1.28, man/printafm.1 1.27, man/ps2ascii.1 1.26, man/ps2epsi.1 1.25, man/ps2pdf.1 1.32, man/ps2pdfwr.1 1.31, man/ps2ps.1 1.34, man/wftopfa.1 1.27]
Update date, product name and open bug list for release.[doc/News.htm 1.137, src/gscdef.c 1.39, src/version.mak 1.67]
Add the experimental spot analysis source files to the developer file roadmap.[doc/Develop.htm 1.126]
2003-12-07 16:17 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 1.5]
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 1.7]
Also split changelog entries on the new "EXPECTED DIFFERENCES:" header.[toolbin/split_changelog.py 1.6]
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 1.28]
2003-12-04 16:57 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 1.37]
2003-12-04 16:19 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/gxfill.c 1.57, src/gxpflat.c 1.10, src/gzpath.h 1.12]
Minor spelling and grammar corrections.[doc/Devices.htm 1.71]
2003-12-04 13:52 Igor Melichev
Document the new feature "Unicode support for high level devices".[doc/Devices.htm 1.70]
2003-12-04 12:35 Igor Melichev
Fix : Cygwin/gcc compiler claimed possibly uninitialized variables. EXPECTED DIFFERENCES : None.[src/gdevdevn.c 1.12, src/gdevp14.c 1.20, src/gdevpdfm.c 1.34, src/gdevpdtc.c 1.30, src/gdevpdtf.c 1.32, src/gdevpdtt.c 1.68, src/gdevplnx.c 1.7, src/gdevprn.c 1.14, src/gdevps.c 1.38, src/gpmisc.c 1.22, src/gsalloc.c 1.20, src/gscie.c 1.14, src/gsfont.c 1.27, src/gxclpath.c 1.19, src/gxclrast.c 1.27, src/gxfcopy.c 1.38, src/gxfill.c 1.56, src/gximono.c 1.11, src/gxstroke.c 1.10, src/iscan.c 1.16, src/ttfmain.c 1.19, src/ttinterp.c 1.11, src/zdscpars.c 1.16, src/zht2.c 1.11]
2003-12-04 11:09 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/gx.h 1.18, src/gxfdrop.c 1.4, src/gxfill.c 1.55, src/gxfill.h 1.4, src/gxpflat.c 1.9, src/gzpath.h 1.11]
2003-12-04 10:10 Igor Melichev
Fix : misprints in lib.mak . DETAILS : Some dependencies were missed. EXPECTED DIFFERENCES : None.[src/lib.mak 1.151]
2003-12-04 10:07 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 1.26]
2003-12-04 10:01 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 1.11]
2003-12-04 09:46 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 1.37]
2003-12-04 09:37 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 1.30, src/gstype2.c 1.33, src/gxhintn.c 1.36, src/gxhintn.h 1.16]
2003-12-04 03:51 Alex Cherepanov
Add new files; make all lists separated with comma and terminated with a period.[doc/Develop.htm 1.125]
2003-12-03 22:31 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 1.9, src/ierrors.h 1.2]
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 1.21]
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 1.20]
Typedef uint64_t from 'unsigned __int64' on win32. From Alex Cherpanov's patch for bug 687162.[src/stdpre.h 1.19]
2003-11-27 22:32 Alex Cherepanov
Add support to pnm images with max_pixel_value < (1<[toolbin/tests/fuzzy.c 1.13]
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/genarch.c 1.8, src/std.h 1.10]
2003-11-25 15:32 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 1.26]
2003-11-25 08:34 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/gx.h 1.17, src/gxfdrop.c 1.3, src/gxfdrop.h 1.4, src/gxfill.c 1.54, src/gxfill.h 1.3, src/gxpath.h 1.10, src/gxpcopy.c 1.11, src/gzspotan.c 1.4]
2003-11-25 00:21 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/gx.h 1.16, src/gxfdrop.c 1.2, src/gxfdrop.h 1.3, src/gxfill.c 1.53, src/gxfill.h 1.2, src/gxpath.h 1.9, src/gxpcopy.c 1.10, src/gxpflat.c 1.8, src/gzpath.h 1.10, src/vdtrace.h 1.9]
2003-11-24 14:50 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 1.52]
2003-11-23 18:44 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 1.51]
2003-11-23 10:16 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 1.1, lib/gs_stres.ps 1.7]
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 1.7]
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/ttinterp.c 1.10, src/ttobjs.h 1.5, src/tttables.h 1.2, src/tttype.h 1.2]
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/genarch.c 1.6, src/std.h 1.9, src/stdpre.h 1.18]
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 1.42]
2003-11-20 23:01 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/gxpflat.c 1.7, src/gzpath.h 1.9, src/lib.mak 1.150, src/vdtrace.c 1.8, src/vdtrace.h 1.8]
2003-11-20 20:52 Alex Cherepanov
Restore v.1.2 rolled back by mistake. Partial fix for bug 687029[src/ttfsfnt.h 1.4]
Add prefix headers for the MacOS build to define DEBUG for the appropriate targets. Bug 686844.[src/macgenmcpxml.sh 1.11, src/macos_carbon_d_pre.h 1.1, src/macos_classic_d_pre.h 1.1]
Replace non-standard #if DEBUG lines with #ifdef DEBUG. Discovered in fixing bug 686844.[src/igc.h 1.7]
Replace non-standard #if DEBUG lines with #ifdef DEBUG. Discovered in fixing bug 686844.[src/igc.c 1.12]
2003-11-20 07:53 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 1.3]
Add some basic instructions for creating an IDE project file for the example API client code. Bug 669654.[doc/API.htm 1.40]
Link to the MacOS example client from the API documentation, along with the others.[doc/API.htm 1.39]
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 1.34]
2003-11-19 13:09 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 1.3]
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 1.10]
Enhancement for bug 687148. Add 12 and 16 bits to the possible number of bits per component for the bit devices.[src/gdevbit.c 1.9]
2003-11-18 16:35 Alex Cherepanov
Replace non-portable types with ISO/IEC 988:1999 exact-size types. Partial fix for bug 687029[src/ttfsfnt.h 1.2]
2003-11-18 13:24 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/gxttfb.c 1.19, src/gzspotan.c 1.2, src/gzspotan.h 1.2, src/lib.mak 1.149]
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 1.42]
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 1.8]
2003-11-17 16:42 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/gsfont.c 1.26, src/gx.h 1.15, src/gxfcache.h 1.21, src/gxfdrop.h 1.2, src/gxfill.c 1.50, src/gxttfb.c 1.18, src/gzspotan.c 1.1, src/gzspotan.h 1.1, src/lib.mak 1.148]
2003-11-17 15:46 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 1.44]
2003-11-14 18:59 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 1.147, src/szlibd.c 1.6]
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_pdfwrite.py 1.15, toolbin/tests/gscheck_raster.py 1.6]
2003-11-13 22:41 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 1.2, src/ttmisc.h 1.2]
2003-11-13 22:27 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 1.10]
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 1.33]
2003-11-13 15:19 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 1.43]
2003-11-12 19:58 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 1.12]
2003-11-12 14:29 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/gdevpdfd.c 1.35, src/gxcpath.c 1.9, src/gzcpath.h 1.5]
2003-11-11 12:16 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 1.33]
2003-11-11 11:23 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 .[src/gdevdflt.c 1.15, src/gdevnfwd.c 1.14, src/gdevpdfc.c 1.41, src/gdevpdfg.h 1.27, src/gdevpdfv.c 1.32, src/gscolor2.c 1.17, src/gscolor2.h 1.9, src/gxdevcli.h 1.20, src/zcolor.c 1.17, lib/gs_ciddc.ps 1.13, lib/gs_devcs.ps 1.6, lib/gs_init.ps 1.101]
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 1.8]
2003-11-10 16:55 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 1.35]
2003-11-10 13:34 Igor Melichev
Fix : Refer new source modules from Develop.htm .[doc/Develop.htm 1.124]
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 1.12]
2003-11-07 04:40 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 1.12, src/gscolor1.c 1.9]
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 1.14]
Correct spelling and wording.[doc/Use.htm 1.94]
2003-11-03 02:39 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 1.28]
2003-11-01 13:18 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 1.44]
2003-11-01 04:43 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 1.81]
2003-10-31 22:12 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[src/zbfont.c 1.25, lib/gs_fonts.ps 1.43, doc/Use.htm 1.93]
2003-10-30 14:56 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 1.6]
2003-10-30 12:56 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 1.49]
2003-10-30 11:39 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 1.48]
2003-10-30 11:02 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 1.47]
2003-10-30 10:45 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 1.46]
2003-10-30 09:33 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/gxfdrop.c 1.1, src/gxfdrop.h 1.1, src/gxfill.c 1.45, src/gxfill.h 1.1, src/lib.mak 1.146]
2003-10-30 07:55 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 1.44]
2003-10-30 06:34 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 1.9]
2003-10-29 17:43 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 1.43]
2003-10-29 15:58 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 1.42]
2003-10-29 14:57 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 1.41]
2003-10-28 14:44 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 1.5, src/gxfill.c 1.40]
2003-10-28 14:42 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[src/gx.h 1.14, doc/Develop.htm 1.123, doc/Language.htm 1.77, doc/Projects.htm 1.55, doc/Use.htm 1.92]
2003-10-27 10:45 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 1.37]
2003-10-27 09:04 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 1.54]
2003-10-27 08:02 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 1.11, src/igc.h 1.6]
2003-10-26 00:52 Alex Cherepanov
Apply oforce to every element of MediaBox and CropBox arrays. Fix bug 687035 from customer 831[lib/pdf_base.ps 1.39, lib/pdf_main.ps 1.80]
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 1.30, src/dvx-gcc.mak 1.24, src/macos-mcp.mak 1.23, src/macosx.mak 1.21, src/msvc32.mak 1.50, src/msvclib.mak 1.25, src/msvctail.mak 1.10, src/openvms.mak 1.33, src/os2.mak 1.35, src/ugcclib.mak 1.26, src/unixansi.mak 1.33]
2003-10-23 17:45 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 1.59]
2003-10-23 10:46 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 1.27]
2003-10-23 09:56 Igor Melichev
Fix (pdfwrite) : MSVC compiler warning. EXPECTED DIFFERENCES : None.[src/gdevpdte.c 1.49]
2003-10-23 09:49 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 1.67, src/gdevpdtt.h 1.20, src/gscencs.c 1.7, src/gscencs.h 1.5]
2003-10-23 09:04 Igor Melichev
Fix : ColorSpace resource files define global resources. DETAILS : This is an optimisation issue. EXPECTED DIFFERENCES : None.[Resource/ColorSpace/DefaultCMYK 1.2, Resource/ColorSpace/DefaultGray 1.2, Resource/ColorSpace/DefaultRGB 1.2]
Always install all the available resource categories (directories) on unix, in place of the earlier hard-wired list. Closes bug 687092.[src/unixinst.mak 1.34]
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 1.33]
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 1.79]
file gslibctx.c was initially added on branch gslibctx.[src/gslibctx.c 1.1]
file gslibctx.h was initially added on branch gslibctx.[src/gslibctx.h 1.1]
Change the name of the switch NOSUBDEVICECOLORS to NOSUBSTDEVICECOLORS. This was done to prevent confusion about being read as 'No subdevice colors'.[doc/Use.htm 1.91, lib/gs_devcs.ps 1.5, lib/gs_init.ps 1.100]
2003-10-22 13:11 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/devs.mak 1.100, src/gdevpdtc.c 1.29, src/gdevpdte.c 1.48, src/gdevpdtt.c 1.66, src/gdevpdtt.h 1.19]
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 1.9]
2003-10-22 11:22 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/gs_ll3.ps 1.20, doc/Language.htm 1.76, lib/gs_init.ps 1.99, lib/ps2ascii.ps 1.8]
Make a sentence fragment a clause.[doc/Drivers.htm 1.41]
2003-10-22 08:55 Alex Cherepanov
Dereference indirect objects during conversion from PDF form XObject to PostScript form. Minimize dictionary copying. Fix bug 686953.[lib/pdf_draw.ps 1.79]
2003-10-22 07:07 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 1.78]
2003-10-21 15:02 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 1.65]
Complete the replacement for fname_size described in the previous commit. Part of fixing bug 686981.[src/gdevcgm.c 1.8]
Replace a non-standard local filename length define with gp_file_name_sizeof.[src/devs.mak 1.99, src/gdevcgm.c 1.7]
2003-10-21 11:54 Alex Cherepanov
Fix compiler warnings. Include gpmisc.h when needed. Fix bug 687006.[src/gp_dosfs.c 1.16, src/gp_macio.c 1.32, src/gp_ntfs.c 1.21, src/gp_unifn.c 1.15, src/gp_vms.c 1.36, src/int.mak 1.118, src/lib.mak 1.145, src/macos-mcp.mak 1.22, src/openvms.mak 1.32, src/openvms.mmk 1.27, src/stdio_.h 1.9, src/winplat.mak 1.5, src/zfile.c 1.39]
2003-10-21 11:20 Alex Cherepanov
Issue a path construction command after accumulation of 500 values to prevent operand stack overflow. Fix bug 687016[src/gdevps.c 1.37]
2003-10-21 10:06 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 1.47, src/gdevpdti.c 1.22]
2003-10-21 08:05 Igor Melichev
Fix : Add newly defined resource files to static resources. EXPECTED DIFFERENCES : None.[lib/gs_stres.ps 1.6]
2003-10-21 07:50 Igor Melichev
Fix : Some Cygwin/gcc compiler warnings. EXPECTED DIFFERENCES : None.[src/gdevpdfg.c 1.42, src/gdevpdtt.c 1.64, src/gxhintn.c 1.34, src/gxtype1.c 1.35, src/interp.c 1.17, src/isave.c 1.9, src/iscan.c 1.15, src/zfapi.c 1.49, src/zfont.c 1.9, src/devs.mak 1.98, src/icid.h 1.7, src/isave.h 1.6]
2003-10-21 01:43 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/gdevpdte.c 1.46, src/gdevpdtt.c 1.63, src/gstext.c 1.14, src/gstype1.c 1.29, src/gstype1.h 1.9, src/gstype2.c 1.32, src/gxfcopy.c 1.36, src/gxhintn.c 1.33, src/gxhintn.h 1.15, src/gxtext.h 1.12, src/gxttfb.c 1.17, src/gxtype1.c 1.34, src/gxtype1.h 1.18, src/zchar1.c 1.34]
2003-10-20 12:06 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 1.58]
2003-10-19 17:48 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 1.117, src/zcolor.c 1.16]
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 1.11]
2003-10-16 20:42 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/gdevpdf.c 1.75, src/gdevpdfx.h 1.77, src/gdevpdte.c 1.45, src/gdevpdtf.h 1.21, src/gdevpdti.c 1.21, src/gdevpdts.c 1.26, src/gdevpdtt.c 1.62, src/gdevpdtx.h 1.2]
2003-10-16 13:37 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/gdevpsft.c 1.31, src/gstype42.c 1.40, src/gxfcopy.c 1.35]
2003-10-16 12:33 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 1.36]
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 1.34]
2003-10-16 11:15 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 1.78]
2003-10-15 15:36 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 1.74]
2003-10-15 15:35 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 1.15]
2003-10-15 11:34 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 1.17]
2003-10-15 11:29 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/gsstruct.h 1.17, src/gxfcopy.c 1.34]
2003-10-15 08:53 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 1.35, src/interp.c 1.16, src/interp.h 1.6]
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.[doc/Use.htm 1.90, lib/gs_devcs.ps 1.4, lib/gs_init.ps 1.98]
Add new header file src/gdevdevn.h to doc/Develop.htm.[doc/Develop.htm 1.122]
2003-10-15 00:03 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 1.33]
2003-10-14 20:37 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 1.40, src/gdevpdfu.c 1.43]
2003-10-14 15:00 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 1.3, lib/gs_ll3.ps 1.19]
2003-10-14 14:58 Igor Melichev
Initial commit for ColorSpace resources.[Resource/ColorSpace/DefaultCMYK 1.1, Resource/ColorSpace/DefaultGray 1.1, Resource/ColorSpace/DefaultRGB 1.1]
2003-10-14 12:53 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/gxccache.c 1.27, src/gxttfb.c 1.16, src/ttfmain.c 1.18]
2003-10-14 12:43 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/gdevbbox.c 1.15, src/gdevdflt.c 1.14, src/gdevnfwd.c 1.13, src/gdevpdf.c 1.73, src/gdevpdfd.c 1.34, src/gdevpdfv.c 1.31, src/gdevpdfx.h 1.76, src/gdevrops.c 1.9, src/gscolor2.c 1.16, src/gscolor2.h 1.8, src/gxclip.c 1.12, src/gxclip2.c 1.9, src/gxclipm.c 1.11, src/gxclist.c 1.12, src/gxdevcli.h 1.19, src/gxdevice.h 1.14, src/zcolor.c 1.15]
2003-10-14 10:15 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 1.32]
2003-10-14 09:16 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 1.36]
2003-10-14 09:14 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/gxfcopy.c 1.33, src/gxfont1.h 1.12, src/gxtype1.c 1.33, src/zchar1.c 1.33, src/zfcid0.c 1.21]
2003-10-13 19:10 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 1.12]
2003-10-13 15:06 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 1.13]
2003-10-13 12:16 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/gxccache.c 1.26, src/gxttfb.c 1.15, src/ttfmain.c 1.17, src/ttfoutl.h 1.12, src/ttinterp.c 1.9]
2003-10-12 19:09 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 1.14, src/ttfmain.c 1.16, src/ttfmemd.c 1.6, src/ttfoutl.h 1.11]
2003-10-10 07:08 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/gxccache.c 1.25, src/gxccman.c 1.22, src/gxfcache.h 1.20]
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/gdevpdf.c 1.72, src/gdevpdfp.c 1.33]
2003-10-09 20:29 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 1.25, src/gxccman.c 1.21]
2003-10-09 19:19 Igor Melichev
fuzzy.c : Implementing a ne option -c to switch on/off the reporting of coordinates of differences.[toolbin/tests/fuzzy.c 1.12]
2003-10-09 14:56 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/gstype42.c 1.39, src/gxccache.c 1.24, src/gxccman.c 1.20, src/gxchar.c 1.37, src/gxfcache.h 1.19, src/gxttfb.c 1.13, src/gxttfb.h 1.9, src/ttfmain.c 1.15, src/ttfoutl.h 1.10, src/ttinterp.c 1.8]
2003-10-09 12:51 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/gxccman.c 1.19, src/gxttfb.c 1.12, src/ttfmain.c 1.14]
2003-10-09 00:13 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.[lib/gs_init.ps 1.97, src/gsfont.c 1.24, src/gsfont.h 1.9, src/gxccman.c 1.18, src/gxfcache.h 1.18, src/gxttfb.c 1.11, src/gxttfb.h 1.8, src/icontext.c 1.17, src/ttfmain.c 1.13, src/ttfoutl.h 1.9, src/ttinterp.c 1.7, src/zusparam.c 1.10]
2003-10-08 22:07 Igor Melichev
fuzzy.c : Implement a reporting of coordinates of different pixels.[toolbin/tests/fuzzy.c 1.11]
2003-10-08 18:53 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/dmmain.c 1.3, src/dpmain.c 1.11, src/dwmain.c 1.15, src/dwmainc.c 1.17, src/dxmain.c 1.12, src/dxmainc.c 1.9, src/gsdll.c 1.11]
2003-10-08 17:18 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 1.38, src/dpmain.c 1.10, src/dwmain.c 1.14, src/dwmainc.c 1.16, src/gsexit.h 1.9, src/iapi.c 1.10, src/imain.c 1.34, src/imain.h 1.8]
2003-10-08 14:19 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 1.12, src/ttinterp.c 1.6]
2003-10-08 13:54 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/gxccman.c 1.17, src/gxttfb.c 1.10, src/ttfmain.c 1.11, src/ttobjs.c 1.6, src/ttobjs.h 1.4]
2003-10-08 11:43 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 1.77]
2003-10-08 11:34 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/gstype42.c 1.38, src/gxccman.c 1.16, src/gxttfb.c 1.9, src/gxttfb.h 1.7, src/lib.mak 1.144, src/ttfmain.c 1.10, src/ttfoutl.h 1.8]
2003-10-07 20:02 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 1.8, src/ttfmain.c 1.9, src/ttfmemd.c 1.5, src/ttfoutl.h 1.7, src/ttinterp.c 1.5, src/ttload.c 1.4, src/ttobjs.c 1.5]
2003-10-07 15:26 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/gsfont.c 1.23, src/gstype42.c 1.37, src/gxccman.c 1.15, src/gxttfb.c 1.7, src/ttfmain.c 1.8, src/gxfcache.h 1.17, src/gxttfb.h 1.6, src/lib.mak 1.143, src/ttfmemd.c 1.4, src/ttfmemd.h 1.3, src/ttfoutl.h 1.6, src/ttinterp.c 1.4, src/ttobjs.c 1.4, src/ttobjs.h 1.3]
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 1.11, src/gdevdevn.h 1.2]
2003-10-06 19:08 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 1.14, src/ttfmain.c 1.7, src/ttobjs.c 1.3]
2003-10-06 16:43 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 1.6, src/ttfmain.c 1.6]
2003-10-06 16:42 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 1.36]
2003-10-06 12:20 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/gxccman.c 1.14, src/gxttfb.c 1.5, src/gxttfb.h 1.5, src/ttfmain.c 1.5, src/ttinterp.c 1.3, src/ttload.c 1.3]
2003-10-06 11:38 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/gsfont.c 1.22, src/gxccman.c 1.13, src/gxfcache.h 1.16, src/gxttfb.c 1.4, src/gxttfb.h 1.4, src/ttfmain.c 1.4, src/ttfmemd.c 1.3, src/ttfoutl.h 1.5, src/ttinterp.c 1.2, src/ttload.c 1.2, src/ttobjs.c 1.2, src/ttobjs.h 1.2]
2003-10-06 08:34 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/gstype42.c 1.35, src/gxccache.c 1.23, src/gxccman.c 1.12, src/gxchar.c 1.36, src/gxfcache.h 1.15, src/gxfont42.h 1.17, src/gxttfb.c 1.3, src/gxttfb.h 1.3, src/ttfmain.c 1.3, src/ttfoutl.h 1.4]
2003-10-02 15:30 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/gstype42.c 1.34, src/gxttfb.c 1.2, src/gxttfb.h 1.2, src/lib.mak 1.142, src/ttfmain.c 1.2, src/ttfoutl.h 1.3]
2003-10-02 11:48 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/gstext.c 1.13, src/gstype42.c 1.33, src/gx.h 1.13, src/gxccache.c 1.22, src/gxccman.c 1.11, src/gxchar.c 1.35, src/gxfcache.h 1.14, src/gxfont42.h 1.16, src/gxttfb.c 1.1, src/ttfmemd.c 1.2, src/zchar42.c 1.13, src/gxtext.h 1.11, src/gxttfb.h 1.1, src/lib.mak 1.141, src/ttfmemd.h 1.2, src/ttfoutl.h 1.2]
2003-10-02 10:15 Igor Melichev
Fix : Removing the dependence on graphic state from font cache rutines. DETAILS : This change is algorithmically equivalent. EXPECTED DIFFERENCES : None.[src/gxccache.c 1.21, src/gxccman.c 1.10, src/gxchar.c 1.34, src/gxfcache.h 1.13]
2003-10-02 09:59 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/gxccache.c 1.20, src/gxccman.c 1.9, src/gxfcache.h 1.12]
2003-10-02 08:51 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/gxccache.c 1.19, src/gxchar.c 1.33, src/gxfcache.h 1.11]
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/devs.mak 1.97, src/gdevdevn.c 1.10, src/gdevdevn.h 1.1]
Fix two bugs in testdiff that work around missing baselines.[toolbin/tests/testdiff 1.4]
2003-10-01 13:44 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/lib.mak 1.140, src/ttcalc.c 1.1, src/ttcalc.h 1.1, src/ttcommon.h 1.1, src/ttconf.h 1.1, src/ttconfig.h 1.1, src/ttfinp.c 1.1, src/ttfinp.h 1.1, src/ttfmain.c 1.1, src/ttfmemd.c 1.1, src/ttfmemd.h 1.1, src/ttfoutl.h 1.1, src/ttfsfnt.h 1.1, src/ttinterp.c 1.1, src/ttinterp.h 1.1, src/ttload.c 1.1, src/ttload.h 1.1, src/ttmisc.h 1.1, src/ttobjs.c 1.1, src/ttobjs.h 1.1, src/tttables.h 1.1, src/tttype.h 1.1, src/tttypes.h 1.1]
2003-09-30 15:16 Alex Cherepanov
Handle missing /BitsPerComponent key case. Fix bug 687956.[lib/pdf_draw.ps 1.76]
2003-09-30 11:00 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 1.25]
2003-09-29 20:32 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 1.18]
2003-09-29 13:41 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 1.61]
2003-09-28 19:54 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 1.12]
2003-09-25 21:23 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/gdevpdfo.c 1.21, src/gdevpdfu.c 1.42, src/gdevpdfx.h 1.75]
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 1.10]
2003-09-18 13:20 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 1.32]
2003-09-16 13:54 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 1.32]
2003-09-16 12:11 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/gdevpdfg.c 1.41, src/gdevpdtt.c 1.60, src/gsht.c 1.17, src/gsstate.c 1.22, src/gxistate.h 1.17, src/gxstate.h 1.8]
2003-09-16 10:02 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 1.32]
Remove extra carriage returns (^M) at the end of some lines.[lib/pdf_draw.ps 1.75]
2003-09-15 20:05 Alex Cherepanov
Following PLRM, set identity initial matrix for non-forwarding nulldevice. Fix bug 687041[src/gdevnfwd.c 1.12]
2003-09-15 17:11 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/gdevpdti.c 1.20, src/gdevpdtt.c 1.59]
2003-09-15 10:04 Igor Melichev
Fix : A bug in the new code of gs_rectfill (gsdps1.c Revision 1.9).[src/gsdps1.c 1.10]
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 1.14]
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.[doc/Use.htm 1.89, lib/gs_devcs.ps 1.2, lib/gs_init.ps 1.96]
2003-09-11 21:12 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/gdevpdtc.c 1.28, src/gdevpdte.c 1.44, src/gdevpdtt.c 1.58, src/gdevpdtt.h 1.18, src/gstext.h 1.9, src/gxfont.h 1.21, src/int.mak 1.116, src/zchar.c 1.12, src/zchar1.c 1.32, src/zchar42.c 1.12, src/zchar42.h 1.1]
2003-09-11 20:43 Igor Melichev
Fix (pdfwrite) : A part of CID text was missed after a font change.[src/gdevpdtc.c 1.27]
2003-09-11 16:34 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 1.15]
2003-09-11 11:14 Igor Melichev
Fix (pdfwrite) : Stream content of ICC color space was missed. It seems a very old bug...[src/gdevpdfo.c 1.20]
2003-09-10 12:01 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 1.20, src/gdevpdtt.c 1.57]
2003-09-10 08:01 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 1.26]
2003-09-09 20:35 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 1.39, src/gdevpdfg.c 1.40, src/gdevpdfg.h 1.26, src/gdevpdfv.c 1.30, src/gspcolor.c 1.12]
2003-09-09 19:30 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 1.38]
2003-09-09 16:03 Igor Melichev
pdfwrite : Apply the color space serialization for color space comparizon. DETAILS : Fixes the bug 687022 "pdfwrite : Redundant color space objects"[src/devs.mak 1.96, src/gdevpdfc.c 1.37, src/gdevpdfg.h 1.25]
2003-09-09 15:54 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/gsfunc.c 1.9, src/gsfunc0.c 1.12]
2003-09-09 14:25 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/gscie.h 1.13, src/gscscie.c 1.10, src/gsicc.c 1.11, src/gspcolor.c 1.11, src/lib.mak 1.139]
2003-09-09 12:44 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/gscdevn.c 1.15, src/gscdevn.h 1.8, src/gscolor2.c 1.15, src/gscpixel.c 1.9, src/gscscie.c 1.9, src/gscsepr.c 1.22, src/gscspace.c 1.10, src/gsfunc.c 1.8, src/gsfunc.h 1.9, src/gsfunc0.c 1.11, src/gsfunc3.c 1.16, src/gsfunc4.c 1.14, src/gxcspace.h 1.10, src/gxfunc.h 1.8, src/lib.mak 1.138]
2003-09-08 13:30 Igor Melichev
Fix : Cygwin/gcc compiler warnings.[src/gdevdgbr.c 1.11, src/gstrans.c 1.18]
2003-09-08 13:19 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 1.13, src/gdevnfwd.c 1.11, src/gdevpdfd.c 1.33, src/gsdps1.c 1.9, src/gspaint.c 1.8, src/gxdevcli.h 1.18]
2003-09-08 12:06 Igor Melichev
Fix : Cygwin/gcc compiler warnings. DETAILS : The change to zbfont.c may cause a progression on low endian platforms.[src/gdevpdfc.c 1.36, src/gxcldev.h 1.13, src/gxcpath.c 1.8, src/lib.mak 1.137, src/zbfont.c 1.24, src/ztrans.c 1.21]
2003-09-08 11:45 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/gdevbbox.c 1.14, src/gdevdflt.c 1.12, src/gdevnfwd.c 1.10, src/gdevpdf.c 1.71, src/gdevpdfd.c 1.32, src/gdevpdfx.h 1.74, src/gdevrops.c 1.8, src/gsdps1.c 1.8, src/gspaint.c 1.7, src/gxclip.c 1.11, src/gxclip2.c 1.8, src/gxclipm.c 1.10, src/gxclist.c 1.11, src/gxdevcli.h 1.17, src/gxdevice.h 1.13, src/gxhldevc.c 1.3, src/gxhldevc.h 1.4, src/lib.mak 1.136]
Add gxhldevc.c and gxhldevc.h to the file list.[doc/Develop.htm 1.121]
VMS fix from Forrest Cahoon.[src/gp_vms.c 1.35]
2003-09-04 14:51 Igor Melichev
Removing rudiments of the old hinter (step 5). DETAILS : Removed an unused variable.[src/gxtype1.c 1.31]
2003-09-04 14:31 Igor Melichev
Removing rudiments of the old hinter (step 4).[src/gxop1.h 1.7]
2003-09-04 14:28 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/gdevpsfx.c 1.24, src/gstype1.c 1.28, src/gstype2.c 1.31, src/gxop1.h 1.6, src/gxtype1.c 1.30, src/gxtype1.h 1.17, src/lib.mak 1.135]
2003-09-04 12:10 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/dwsetup.def 1.4, src/dwuninst.def 1.4, src/msvc32.mak 1.49]
2003-09-04 11:30 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 1.32]
Committing in . OpenVMS patches Modified Files: gs/src/gp_vms.c gs/src/openvms.mmk gs/src/vms_x_fix.h ----------------------------------------------------------------------[src/gp_vms.c 1.34, src/openvms.mmk 1.26, src/vms_x_fix.h 1.7]
2003-09-03 20:31 Igor Melichev
Fix : Removing obsolete linker statements from Win32 linkage definitions (an addition).[src/dwsetup.def 1.3, src/dwuninst.def 1.3, src/msvc32.mak 1.48]
2003-09-03 20:27 Igor Melichev
Removing rudiments of the old hinter (step 3, final).[src/gxhint1.c 1.7, src/gxhint2.c 1.8, src/gxhint3.c 1.9]
2003-09-03 20:21 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/gstype2.c 1.30, src/gxtype1.c 1.29, src/gxtype1.h 1.16, src/lib.mak 1.134]
Make run_nightly retry sending mail every 5 seconds.[toolbin/tests/run_nightly 1.20]
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.[doc/API.htm 1.37, doc/C-style.htm 1.44, doc/Develop.htm 1.120, src/dmmain.c 1.2, src/dpmain.c 1.9, src/dwmain.c 1.13, src/dwmainc.c 1.15, src/dxmain.c 1.11, src/dxmainc.c 1.8, src/errors.h 1.8, src/fapi_ft.c 1.11, src/fapiufst.c 1.23, src/gs.c 1.11, src/gsdll.c 1.10, src/gsiomacres.c 1.5, src/ialloc.c 1.6, src/iapi.c 1.9, src/iapi.h 1.12, src/ibnum.c 1.7, src/iccfont.c 1.8, src/icontext.c 1.16, src/idict.c 1.8, src/idparam.c 1.8, src/ierrors.h 1.1, src/igc.c 1.10, src/igstate.h 1.8, src/iinit.c 1.9, src/ilocate.c 1.9, src/imain.c 1.33, src/imainarg.c 1.31, src/iname.c 1.7, src/inobtokn.c 1.5, src/int.mak 1.115, src/interp.c 1.15, src/iparam.c 1.9, src/iplugin.c 1.4, src/ireclaim.c 1.7, src/isave.c 1.8, src/iscan.c 1.14, src/iscanbin.c 1.13, src/iscannum.c 1.7, src/istack.c 1.6, src/iutil.c 1.9, src/iutil2.c 1.6, src/macos-fw.mak 1.7, src/opcheck.h 1.6, src/oper.h 1.6, src/os2.mak 1.34, src/zcid.c 1.8, src/zfile1.c 1.11, src/ziodev.c 1.13]
2003-09-02 22:50 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 1.35]
2003-09-02 21:57 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 1.39]
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 1.27]
2003-09-02 15:47 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 1.34, src/gdevpdfg.c 1.38]
2003-09-02 10:17 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/gdevpsfx.c 1.23, src/gstype1.c 1.27, src/gstype2.c 1.29, src/gxhint1.c 1.6, src/gxhint2.c 1.7, src/gxhint3.c 1.8, src/gxhintn.c 1.31, src/gxhintn.h 1.14, src/gxtype1.c 1.28, src/gxtype1.h 1.15]
Add 'extern "C"' protection to iapi.h for inclusion in C++ clients. Closes bug 686990.[src/iapi.h 1.11]
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 1.9]
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 1.32]
2003-08-28 19:42 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/devs.mak 1.95, src/gdevpdfc.c 1.33, src/gdevpdfd.c 1.31, src/gdevpdfg.c 1.37, src/gdevpdfg.h 1.24, src/gdevpdfv.c 1.29, src/gdevpdtw.c 1.25, src/gdevpsdf.h 1.20, src/gdevpsdu.c 1.20, src/gxhldevc.c 1.2, src/gxhldevc.h 1.3]
2003-08-28 10:18 Igor Melichev
Fix : Removing obsolete linker statements from Win32 likage definitions.[src/dw32c.def 1.3, src/dwmain32.def 1.3, src/gsdll32.def 1.4]
2003-08-26 21:08 Igor Melichev
Fixing all MSVC compiler warnings (icclib).[icclib/icc.c 1.9]
2003-08-26 20:54 Igor Melichev
Fixing all MSVC compiler warnings (Release build).[src/gxclipm.c 1.9]
2003-08-26 15:38 Igor Melichev
Fixing all MSVC compiler warnings.[src/gdevpsdu.c 1.19, src/gdevupd.c 1.13, src/gsciemap.c 1.15, src/gswts.c 1.5, src/gxclrect.c 1.6, src/gxdda.h 1.5, src/gxshade.c 1.17, src/gxstroke.c 1.8, src/sdcparam.c 1.6]
2003-08-26 12:37 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/gdevpdfd.c 1.30, src/gdevpdfg.c 1.36, src/gdevpdfg.h 1.23, src/gdevpdfx.h 1.73, src/gdevpdtt.c 1.56, src/gdevps.c 1.36, src/gdevpsdf.h 1.19, src/gdevpsdu.c 1.18, src/gdevpx.c 1.14, src/gdevvec.c 1.20, src/gdevvec.h 1.12, src/gsdcolor.h 1.12, src/gxdcolor.c 1.12, src/gxhldevc.h 1.2, src/lib.mak 1.133]
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 1.74]
Re-enable tempfile creation with empty string prefix - was disabled as part of tempfile prefix_is_simple checking patch.[src/zfile.c 1.38]
2003-08-21 14:55 Igor Melichev
Fixing some Cygwin/gcc warnings.[src/gdevdgbr.c 1.10, src/gdevepsc.c 1.10, src/gdevmrun.c 1.5, src/gdevpdtw.c 1.24, src/gspath.c 1.8, src/gstype1.c 1.26, src/gstype1.h 1.8, src/gxcmap.c 1.16, src/gxcpath.c 1.7, src/gxhintn.c 1.30, src/gxpath.h 1.8, src/gzacpath.h 1.6, src/ifont2.h 1.6]
2003-08-21 14:25 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/gdevddrw.c 1.8, src/gdevddrw.h 1.3, src/gx.h 1.12, src/gxccache.c 1.18, src/gxchar.c 1.31, src/gxfill.c 1.39, src/gxpcopy.c 1.9, src/gxpflat.c 1.6, src/zchar42.c 1.11]
2003-08-21 13:47 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 1.25, src/gstype2.c 1.28, src/gx.h 1.11, src/gxtype1.c 1.27, src/gxtype1.h 1.14]
2003-08-20 19:53 Igor Melichev
Removing the obsolete code PATTERN_STREAM_ACCUMULATION 0 .[src/gdevpdf.c 1.70, src/gdevpdfi.c 1.49, src/gdevpdfm.c 1.32, src/gdevpdfv.c 1.28, src/gdevpdfx.h 1.72, src/gdevpdti.c 1.19, src/gsptype1.c 1.17, src/gx.h 1.10, src/gxpcmap.c 1.10, src/gxpcolor.h 1.9, src/zpcolor.c 1.11]
2003-08-20 17:58 Igor Melichev
Removing the obsolete code NEW_COMBINE_PATH 0 .[src/gp_dosfs.c 1.15, src/gp_iwatc.c 1.16, src/gp_macio.c 1.31, src/gp_ntfs.c 1.20, src/gp.h 1.26, src/gp_os2.c 1.29, src/gp_unifn.c 1.14, src/gp_unifs.c 1.14, src/gp_vms.c 1.33, src/icontext.c 1.15, src/icstate.h 1.12, src/imainarg.c 1.30, src/zfile.c 1.37, src/zfile1.c 1.10, lib/gs_ciddc.ps 1.12, lib/gs_fonts.ps 1.42, lib/gs_init.ps 1.95, lib/gs_res.ps 1.35]
2003-08-19 20:20 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 1.33]
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 1.21]
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/devs.mak 1.94, src/gdevbbox.c 1.13, src/gdevdbit.c 1.9, src/gdevpdfb.c 1.19, src/gdevpdfd.c 1.29, src/gdevpdfg.c 1.35, src/gdevpdfi.c 1.48, src/gdevpdfv.c 1.27, src/gdevpdtt.c 1.55, src/gdevplnx.c 1.6, src/gdevps.c 1.35, src/gdevpx.c 1.13, src/gdevvec.c 1.19, src/gsciemap.c 1.14, src/gscolor.c 1.11, src/gscsepr.c 1.21, src/gsdcolor.h 1.11, src/gslib.c 1.12, src/gspcolor.c 1.10, src/gsptype2.c 1.13, src/gsptype2.h 1.8, src/gxacpath.c 1.9, src/gxcmap.c 1.15, src/gxdcolor.c 1.11, src/gxhldevc.c 1.1, src/gxhldevc.h 1.1, src/gxi12bit.c 1.6, src/gxicolor.c 1.9, src/gxifast.c 1.9, src/gximage3.c 1.12, src/gxipixel.c 1.9, src/gxpcmap.c 1.9, src/lib.mak 1.132]
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 1.77, lib/pdf_rbld.ps 1.4]
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 1.32]
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 1.30]
Bump the version number post-release.[doc/News.htm 1.136, lib/gs_init.ps 1.94, src/gscdef.c 1.38, src/version.mak 1.66]
Protect a Carbon-only call in the MacOS code. This was preventing linking in the Classic shlib build.[src/gp_macio.c 1.30]
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/ETHK-B5-H 1.1, Resource/CMap/ETHK-B5-V 1.1, Resource/CMap/ETen-B5-H 1.2, Resource/CMap/ETen-B5-UCS2 1.1, Resource/CMap/ETen-B5-V 1.2, Resource/CMap/ETenms-B5-H 1.1, Resource/CMap/ETenms-B5-V 1.1]
Add the jbig2dec source directory to the Windows Release instructions.[doc/Release.htm 1.81]