Propagate release date to all documentation.[doc/API.htm 1.47, doc/Bug-form.htm 1.43, doc/Bug-info.htm 1.42, doc/C-style.htm 1.49, doc/Commprod.htm 1.35, doc/Copying.htm 1.33, doc/DLL.htm 1.37, doc/Deprecated.htm 1.14, doc/Details8.htm 1.13, doc/Develop.htm 1.142, doc/Devices.htm 1.83, doc/Drivers.htm 1.51, doc/Fonts.htm 1.44, doc/Helpers.htm 1.37, doc/History1.htm 1.33, doc/History2.htm 1.33, doc/History3.htm 1.33, doc/History4.htm 1.33, doc/History5.htm 1.35, doc/History6.htm 1.50, doc/History7.htm 1.38, doc/History8.htm 1.18, doc/Htmstyle.htm 1.38, doc/Install.htm 1.48, doc/Issues.htm 1.45, doc/Language.htm 1.89, doc/Lib.htm 1.37, doc/Maintain.htm 1.44, doc/Make.htm 1.82, doc/New-user.htm 1.54, doc/Projects.htm 1.61, doc/Ps-style.htm 1.31, doc/Ps2epsi.htm 1.35, doc/Ps2pdf.htm 1.73, doc/Psfiles.htm 1.56, doc/Readme.htm 1.60, doc/Release.htm 1.88, doc/Source.htm 1.33, doc/Tester.htm 1.33, doc/Testing.htm 1.31, doc/Unix-lpr.htm 1.33, doc/Use.htm 1.123, doc/Xfonts.htm 1.33, doc/gs-vms.hlp 1.31, man/dvipdf.1 1.31, man/font2c.1 1.31, man/gs.1 1.32, man/gslp.1 1.31, man/gsnd.1 1.31, man/pdf2dsc.1 1.30, man/pdf2ps.1 1.32, man/pdfopt.1 1.30, man/pf2afm.1 1.31, man/pfbtopfa.1 1.32, man/printafm.1 1.31, man/ps2ascii.1 1.30, man/ps2epsi.1 1.29, man/ps2pdf.1 1.36, man/ps2pdfwr.1 1.35, man/ps2ps.1 1.38, man/wftopfa.1 1.31]
Correct a typo in the reference to the cmpi script.[doc/Testing.htm 1.30]
Update release date and product name.[doc/News.htm 1.155, src/gscdef.c 1.49, src/version.mak 1.77]
Define SHARE_JASPER=0 by default in the windows build. This doesn't enable anything, but makes it easier to get going.[src/winlib.mak 1.23]
Due to an oversight, JBIG2Decode was omitted from the windows build. Now it is included in the default FEATURE_DEVS although in the future this should probably be moved to the pdf.dev[src/msvc32.mak 1.66]
Add some missing initializers for glyph_data_t->memory. Related to the 687459 fix.[src/gdevpsf1.c 1.18, src/gdevpsf2.c 1.33, src/gdevpsfu.c 1.12, src/gsfcid.c 1.13, src/gstype42.c 1.48, src/gxfcopy.c 1.54, src/gxtype1.c 1.41, src/zchar1.c 1.42, src/zfcid0.c 1.25, src/zfcid1.c 1.23]
Copies over new-style color procs when making a null device with a target, to avoid inconsistent states. Fixes bug #687770. DETAILS The problem was a null device (for implementing stringwidth) with inconsistent color info; the color_info struct specified 4 components, but the get_color_mapping_procs was gx_default_DevGray_get_color_mapping_procs, which is the desired value for null devices instantiated through gs_copydevice (i.e. -sDEVICE=null). As a result, cm_comps[1] through [3] were left uninitialized, and, when negative, would crash the halftone logic. This patch copies over the new-style color mapping procs (the old-style were already copied) in the gs_make_null_device routine. A strong argument could be made for changing the logic in gx_device_copy_color_procs() instead, but it was felt that this change was more localized. Dan reviewed this patch during a phone conversation, so I am going ahead and committing. I'm also opening a new bug to encourage a closer look at other uses of gx_device_copy_color_procs() to see whether a change there is beneficial or harmful.[src/gsdevice.c 1.24]
Fix regression created by previous patch for bug 687752.[lib/pdf_draw.ps 1.88]
Update Windows installer to use the current name for the license file, Public.htm not the older PUBLIC.[src/winint.mak 1.23]
Add utility mkcidfm.ps to create a cidfmap file based on fonts found in a directory. Change MS-Windows installer to optionally update lib/cidfmap with the CJK fonts found in the Windows font directory. DETAILS: Ghostscript does not ship with CJK fonts. If support for Chinese, Japanese or Korean is added to MS-Windows, CJK TrueType fonts and font collections are added to the MS-Windows fonts directory. These can be used by ghostscript by specifying mapping and aliases in the lib/cidfmap file. This patch looks in the MS-Windows fonts directory for known CJK fonts, and if present it appends appropriate mappings or aliases to the lib/cidfmap file. The font names and aliases are currently fixed, but can be changed by editing mkcidfm.ps. A new checkbox is added to the installer dialog "Use Windows TrueType fonts for Chinese, Japanese and Korean" Only if the user selects this will lib/cidfmap will be updated. The default behavior is that lib/cidfmap is unchanged.[doc/Psfiles.htm 1.55, lib/mkcidfm.ps 1.1, src/dwinst.cpp 1.6, src/dwinst.h 1.7, src/dwsetup.cpp 1.9, src/dwsetup.h 1.6, src/dwsetup.rc 1.12, src/dwuninst.cpp 1.5]
Fix a missing part of the JOBSERVER implementation that makes the ^D a self-delimitting token. Fixes bug 687779.[src/iscan.c 1.19]
Fix for unlimited recursion in 'cs/CS' implementation (actually in a certain path in 'resolvecolorspace'. Fixes bug 687752 for Artifex customer 190.[lib/pdf_draw.ps 1.87]
Fix bug 687777 to remove the makefile dependency of dscparse from the pdfwrite device. This allows non-PS to include the pdfwrite.dev in the build. Also updated zdscpars.c to add needed 'mem' pointer.[src/devs.mak 1.119, src/int.mak 1.131, src/zdscpars.c 1.17]
2004-11-16 02:53 Igor Melichev
Fix (pdfwrite) : Page context stream was not properly formed when starts with an invisible text. DETAILS : Bug 687797 "pdfwrite generates invalid pdf". The improved condition made consistent with gdevpdte.c ln 501. EXPECTED DIFFERENCES : None.[src/gdevpdtt.c 1.94]
Fix for Bug 687459 (SEGV) addressing several problems: (i) Elements fetched from a font dictionary have to be dereferenced into a ref since pointers change if the dictionary is resized (to add entries); (ii) The glyph_cache used by gs_font_cid2 fonts needs to be in stable memory since elements might be added after a 'save' and the list will still be refereced by the font, so cannot be freed by 'restore'; (iii) The gs_glyph_cache__release was never being called so creating a memory leak -- font notification (called by gs_font_finalize) is now used to free the cache list; (iv) The gs_glyph_cache__release did not work (probably was never tested since it was not being used). DETAILS: Using stable_memory means that the objects created need to be freed properly, that's why the font_notify mechanism was used. This fixes the problem reported by the bug and doesn't seem to have created any other problems (regression test passed). A 'memory' element was added to the gs_glyph_data_s structure so that the 'bits' can be allocated using the desired memory (stable memory in the case that we are using the cache). This was deemed preferable to always using the pfont->memory->stable_memory since changing to this might cause other problems. This did create a fair number of changes since every place the get_outline was used, the glyph_data structure needed to have the 'memory' element set. We could have used 'NULL' to signal pfont->memory, but this might have masked uninitialized memory issues that can be tracked with tools such as valgrind. The gs_glyph_cache__release was totally broken, and since it was not previously used, fixing and testing it presents no risk of other clients relying on broken behaviour. The implementation of the cache is VERY RUDIMENTARY -- a linked list of elements with a hard-coded number (32767) limit to the size of the cache. The size is too small to be useful for Asian fonts, but making it bigger will result in a lot of time spent finding a 'miss' condition. At least the current logic has LRU slot re-use behaviour (which should be retained). Fixing this, and making the cache limit larger are left for a later change (post 8.50 release). EXPECTED DIFFERENCES: None.[src/gdevpsft.c 1.33, src/gsgcache.c 1.3, src/gsgcache.h 1.2, src/gsgdata.h 1.5, src/gstype42.c 1.47, src/gxfcopy.c 1.53, src/gxttfb.c 1.36, src/zbfont.c 1.28, src/zfcid0.c 1.24, src/zfcid1.c 1.22]
Add missing header include for setting the display device callback.[src/imain.c 1.41]
2004-11-13 22:08 Igor Melichev
Fix : toolbin/pdfinflt.ps did not decompress some streams (continued). DETAILS : The 2nd Patch from SaGS for the bug 687746 "gs\toolbin\pdfinflt.ps doesn't unpack a stream" The previous patch contained on over-optimization that leaded to a corrupted operand stack. "{ [ {proc} {proc} ] }" (note: 2 identical inner procs) can be optimized: either as "{ [ {proc} dup ] }" - use VM for only 1 copy of "{proc}" or as "{ { {proc} {proc} } }" - the 2-element array is allocated only once, by the parser, not at each execution of the enclosing proc but we cannot apply both these optimizations at the same time. This error affects PDF files that include a /Filter and/or /DecodeParams specified as 1-element arrays. PDFs for which these entries are a single name (for /Filter) or dict (for /DecodeParams) or arrays with 2 or more elements are not affected. EXPECTED DIFFERENCES : None.[toolbin/pdfinflt.ps 1.7]
Spelling corrections.[doc/Use.htm 1.122]
Add the new image comparison tool to the file index in the documentation.[doc/Testing.htm 1.29]
2004-11-07 21:09 Igor Melichev
Fix : Improve the resource path customization and the related documentation (continued). DETAILS : This fixes some minor ambiguities.[doc/Use.htm 1.121]
2004-11-07 19:57 Igor Melichev
fuzzy.c : Implementing multipage image files. DETAILS: Report will contain a line per different page. Thus the report file may contain multiple lines. The output image file contains only the the first page difference due to a restricted capability of available viewers. Bug 687765 "fuzzy.c : multipage documents unsupported.".[toolbin/tests/fuzzy.c 1.17]
2004-11-07 19:25 Igor Melichev
Fix : Cygwin/gcc warnings. DETAILS : Cygwin/gcc claims an undefined result in spdiff.c due to possibly undefined order of evaluation of operands of a binary operation. The hunk #2 now sets 'ti', rather the old code does not. But we believe that the change is algorithmically equivalent. EXPECTED DIFFERENCES : None.[src/gxdevndi.c 1.5, src/spdiff.c 1.8, src/ttinterp.c 1.16]
Remove some obsolete assert calls which caused problems on some platforms due to incorrect string quoting in assert.h.[src/gxhintn.c 1.55]
Fix: Python opens files in text mode unless "rb" is needed.[toolbin/tests/cmpi.py 1.2]
Add an interactive image compare tool written in Python by a Python neophyte. Not quite ready for prime-time, but an interesting enough start to commit. Even though there are bugs in the differencing, responsiveness and memory usage, it is still sometimes useful. If a version # were to be applied to this, I would call it 0.1 (at least it is a positive number).[toolbin/tests/cmpi.py 1.1]
Update the MacOS X platform-specific makefile. Remove -traditional-cpp. This was added to work around bugs in earlier releases of Apple's gcc, but it is not necessary with more recent releases, and conflicts with newer cpp features used by more recent Ghostscript code. Partial fix for bug 687787.[src/macosx.mak 1.25]
Improve documentation for CID fonts.[doc/Use.htm 1.120]
Include stdio_.h instead of the system header according to C style.[src/gslibctx.h 1.5, src/lib.mak 1.203]
Add handling for missing EOL following the %PDF-#.## string in the header. Yet another bad file that Acrobat Reader handles. Bug 687781. DETAILS: If we get an error doing the 'cvr' to get the version #, trim a character from the end of the string and try again. Stop if the string becomes empty.[lib/pdf_main.ps 1.88]
Add missing opening quotes to the error printouts. This typo came in as part of an earlier bug fix and prevented compilation. Bug 687784.[src/gdevsppr.c 1.9]
Fixes Bug#687762. Includes the date specification of the CVS checkout in the baseline update log. This then gets propagated to the daily reports.[toolbin/tests/update_specific 1.4]
2004-11-01 21:09 Igor Melichev
Fix (pdfwrite) : Forget cancelled resources. DETAILS : Bug 687749 "PS to PDF generates very large PDF document" 1. An indeterministic bug fixed in gdevpdfi.c, hunk #1. 2. Implemented a recognition of equal patterns in gdevpdfi.c and provided a PDF pattern substitution. We caould not provide a substitution in the PS interpreter because an accumulated pattern instance doesn't point to the corresponding client color. 3. pdf_forget_resource is applied when a resource is cancelled and is not longer needed. This applies to all redundant resources except patterns, because patterns keep the substitution data. We would like to save memory from substitured patterns with a special substitution table, but we have no time for such optimization now. 4. The function pdf_forget_resource is some slow because the data structure was not designed for removing resources from lists. We would like to implement dual linked lists, but we have no time for such optimization now. 5. Since pdf_forget_resource is not applied to patters, we need to prevent a big growth of the number of stored patterns. We implemented pdf_drop_resources for that purpose and drop all substitured pattrens after 300 ones have been accumulated, but not frequenter than once per page. This solution isn't perfect, but should work for most cases. If a substituted pattern is dropped erroneusely, it will be accumulated again, maybe causing some slowdown. 6. Implemented a new device parameter PrintStatistics. The new function pdf_print_resource_statistics prints a statistics to stdout. EXPECTED DIFFERENCES : None.[src/gdevpdf.c 1.101, src/gdevpdfg.c 1.59, src/gdevpdfg.h 1.34, src/gdevpdfi.c 1.57, src/gdevpdfj.c 1.32, src/gdevpdfp.c 1.40, src/gdevpdfu.c 1.61, src/gdevpdfv.c 1.37, src/gdevpdfx.h 1.103, src/gdevpdti.c 1.39, src/gdevpdtt.c 1.93]
Exempt three new files from the multiple-include protect check. Like the previous exemptions, these are templates that must be instantiated multiple times to function properly.[toolbin/tests/check_source.py 1.11]
We now implement job server behavior. This is no longer an open issue.[doc/Issues.htm 1.44]
Mention the issue with polygon overlap in antialiased rendering. Closes bug 687742.[doc/Use.htm 1.119]
Documentation update to fix some dead links.[doc/Readme.htm 1.59]
Documentation fixes, due to changes in iapi.h.[doc/API.htm 1.46, doc/Lib.htm 1.36]
2004-10-28 17:34 Igor Melichev
Fix (pdfwrite) : Font size was wrong when definefont applied to a scaled font. DETAILS : Bug 687615 "ps2pdf squeezes glyph strings". This continues the patch http://www.ghostscript.com/pipermail/gs-cvs/2003-August/003487.html (igor486). EXPECTED DIFFERENCES : None.[src/gdevpdtd.c 1.17]
2004-10-28 11:58 Igor Melichev
Fix (vdtrace.c) : Fix gcc warnings and improve C-style. DETAILS : This change is algorithmically equivalent. EXPECTED DIFFERENCES : None.[src/vdtrace.c 1.9]
2004-10-28 09:26 Igor Melichev
Fix (gswin32) : Opened a window outside the desctop area. DETAILS : When the Tracer window was opened with a clean Registry (particularly at a first run after the operating system instalaton), the window placement got big negative coordinates. EXPECTED DIFFERENCES : None.[src/dwimg.c 1.17]
2004-10-28 08:39 Igor Melichev
Fix (type 1 interpreter) : Replaced Metrics was missed. DETAILS : Bug 687614 "mirrored glyph is rendered at incorrect position". This patch fixes the problem for raster devices. Without -dNOCACHE the behavior was indeterministic due to uninitialized cxs.use_FontBBox_as_Metrics2 in zchar1.c. We ported the change from gstype1.c to gstype2.c with no special testing because we have no practical examples of Type 2 with a replaced lsb. It happens so because Type 2 only appears in PDF, which doesn't replace lsb. EXPECTED DIFFERENCES : None.[src/gstype1.c 1.32, src/gstype2.c 1.36, src/zchar1.c 1.41]
2004-10-28 07:25 Igor Melichev
Fix (pdfwrite) : Glyph positions were wrong for vertical CID fonts (continued 2). DETAILS : Bug 687614 "mirrored glyph is rendered at incorrect position". The new code implements the improved logics : /* With WMode 1 v-vector is (WMode 1 origin) - (WMode 0 origin). The glyph shifts in the opposite direction. */ /* With WMode 0 v-vector is (Metrics sb) - (native sb). The glyph shifts in same direction. */ Also improved the related comments. EXPECTED DIFFERENCES : pdfwrite 093-01.ps .[src/gdevpdte.c 1.65]
2004-10-27 10:56 Igor Melichev
Fix (resource machinery) : Improve the resource path customization and the related documentation (continued). DETAILS : A wrong paragraph removed form the documentation. EXPECTED DIFFERENCES : None.[doc/Use.htm 1.118]
Bump the version info after the 8.32 release.[doc/News.htm 1.154, lib/gs_init.ps 1.113, src/gscdef.c 1.48, src/version.mak 1.76]
2004-10-26 17:07 Igor Melichev
Fix (resource machinery) : Improve the resource path customization and the related documentation. DETAILS : 1. Explained the resource locator's logics in Use.htm . Bug 687767 "Adding -Ic:\windows\fonts breaks CJK fonts". 2. The old code missed some directories when the user specifies a non-absolute path as GenericResourcePath. EXPECTED DIFFERENCES : None.[doc/Use.htm 1.117, lib/gs_res.ps 1.38]
2004-10-26 09:44 Igor Melichev
Fix (PDF interpreter) : Improve the font substitution and the CID font substitution. DETAILS : 1. A new procedure .remove_font_name_prefix removes the subset font name prefix when computing a substitute font name. 2. Improved a warning when substituting a CID font resource. 3. Improved the documentation about CID font substitution if the PDF interpreter Bug 687747 "PDF tries substituting but throws /undefinedresource in --findresource--". EXPECTED DIFFERENCES : None.[doc/Use.htm 1.116, lib/pdf_font.ps 1.71]