Correct the release date in the documentation footer and increment the version number for release.[doc/API.htm 1.36, doc/Bug-form.htm 1.38, doc/Bug-info.htm 1.37, doc/C-style.htm 1.43, doc/Commprod.htm 1.29, doc/Copying.htm 1.28, doc/DLL.htm 1.32, doc/Deprecated.htm 1.9, doc/Develop.htm 1.119, doc/Devices.htm 1.69, doc/Drivers.htm 1.40, doc/Fonts.htm 1.38, doc/Helpers.htm 1.32, doc/History1.htm 1.28, doc/History2.htm 1.28, doc/History3.htm 1.28, doc/History4.htm 1.28, doc/History5.htm 1.30, doc/History6.htm 1.45, doc/History7.htm 1.33, doc/History8.htm 1.5, doc/Htmstyle.htm 1.33, doc/Install.htm 1.43, doc/Issues.htm 1.38, doc/Language.htm 1.75, doc/Lib.htm 1.31, doc/Maintain.htm 1.39, doc/Make.htm 1.69, doc/New-user.htm 1.48, doc/Projects.htm 1.53, doc/Ps-style.htm 1.26, doc/Ps2epsi.htm 1.30, doc/Ps2pdf.htm 1.55, doc/Psfiles.htm 1.49, doc/Readme.htm 1.51, doc/Source.htm 1.28, doc/Tester.htm 1.28, doc/Testing.htm 1.22, doc/Unix-lpr.htm 1.28, doc/Use.htm 1.88, doc/Xfonts.htm 1.28, doc/gs-vms.hlp 1.27]
Bump the release date for Ghostscript 8.11.[doc/News.htm 1.134, doc/Release.htm 1.80, man/dvipdf.1 1.26, man/font2c.1 1.26, man/gs.1 1.27, man/gslp.1 1.26, man/gsnd.1 1.26, man/pdf2dsc.1 1.25, man/pdf2ps.1 1.27, man/pdfopt.1 1.25, man/pf2afm.1 1.26, man/pfbtopfa.1 1.27, man/printafm.1 1.26, man/ps2ascii.1 1.25, man/ps2epsi.1 1.24, man/ps2pdf.1 1.31, man/ps2pdfwr.1 1.30, man/ps2ps.1 1.33, man/wftopfa.1 1.26, src/version.mak 1.65]
Document testing.cfg as well as testing.cfg.example.[doc/Testing.htm 1.21]
Cleans up the behavior of the .tempfile operator, primarily making it consistent across all the platforms, ensuring that the TMPDIR and TEMP environment variables are effective, the system temp directory is used when these are not specified, and the permissions for tempfile creation work as expected (allowed in the simple case, but closing off potential vulnerabilities in other cases. Intended as a final fix for bug #686922. DETAILS: 1. The permissions behavior of .tempfile is changed so that simple prefixes are always allowed, absolute pathname prefixes are checked using the PermitFileWriting logic, and other cases are disallowed. In particular, it is no longer possible to specify temp prefixes relative to the current directory, or as subdirectories of the standard temp directory. Both such cases are potential security holes, and are probably not useful in any real application. 2. The meaning of gp_open_scratch_file() is made more consistent across the platforms. In particular, it is now the clear responsibility of this function to add the appropriate temp directory. As such, gp_gettmpdir() is no longer exported in the public gp.h interface (gpmisc.h is intended only for the convenience of gp_ implementations). 3. On VMS, gp_open_scratch_file() didn't previously add the temporary directory pathname. Now it does. 4. On Windows, gp_open_scratch_file()'s behavior was somewhat inconsistent, calling GetTempPath() only when the length of the TMPDIR or TEMP environment variables overflowed the buffer provided. It now additionally uses GetTempPath() in the cases where these environment variables are not set. 5. Since gp_open_scratch_file() now takes responsibility for determining the temporary directory, ztempfile() no longer attempts to do this.[doc/Language.htm 1.74, src/gp.h 1.25, src/gp_mswin.c 1.22, src/gp_vms.c 1.32, src/gpmisc.h 1.12, src/lib.mak 1.131, src/zfile.c 1.36]
Convert ASCII range font names found during the FONTPATH scanning to simole ASCII aliases (original Unicode names preserved). Fixes bug 686861 for customer 131. DETAILS: This is an interim patch that establishes the alias in the ASCII code range if (and only if) the high byte of ALL characters in the name are NULL (\000). The future improved implementation would be to add a UTF-8 fontname when the TTF font has the name in Unicode. This would allow simple PostScript applications that use the 8-bit character name to work as this patch does.[lib/gs_fonts.ps 1.41]
Pass path across grestore using base "identity" coordinates to prevent limitcheck errors. The upath operator returns coordinates in the current user space, but these are no longer valid across a CTM change such as "grestore" or "setgstate" causes. Fixes SF bug #687001 for customers 580 and 590. DETAILS: The patch gets the upath using identity user space, then stuffs it into the graphics state after the grestore in the same identity space restoring the CTM of the grestore after the uappend. Both grestore_nopath and setgstate are modified. These could probably be refactored later to share PS code, but the value is minimal (IMO). Interesting that this hadn't turned up before, but two customers tripped over this recently.[lib/pdf_ops.ps 1.31]
Fixes two pointers to freed objects that were left dangling in the PDF 1.4 transparency logic. Fixes bug #686994. DETAILS: With some test files, saved graphics states had held on to pointers to the device filter stack that had already been freed by a gs_pop_device_filter() call. These dangling pointers can cause garbage collection corruption. This patch introduces reference counting discipline to these pointers so that the dfilter_stack objects are not actually freed until the last reference is dropped. A similar but simpler argument applies to the pdf14_ctx object in the pdf14_device. This patch simply sets the pointer to NULL when freeing the context.[src/gdevp14.c 1.19, src/gsdfilt.c 1.8, src/gsdfilt.h 1.9, src/gsstate.c 1.21, src/gzstate.h 1.9]
Correct a typo in the previous commit.[src/gp_macio.c 1.29]
Remove redunant prototypes from gp_mac.h and modernise the implementation of gp_open_scratch_file on MacOS to match the updated prototype in gp.h. Also adds some limit checking in that implementation. Note that gp_mac.h is now empty. I've left it in the build in expectation of future usefulness.[src/gp_mac.h 1.5, src/gp_macio.c 1.28]
Update DSC parser to latest version from GSview. DETAILS: Recognise MacBinary or AppleSingle files and process the data fork only, similar to DOS EPS files. Handle DCS2 files that contravene the spec by putting the TIFF preview between the composite and the separations. Recognise CMYK and RGB names if separations are renamed using epstool.[src/dscparse.c 1.13, src/dscparse.h 1.12]
Fix make files and portability layer to compile on Borland 5.5 freeware compiler.[src/bcwin32.mak 1.29, src/unistd_.h 1.9, src/winint.mak 1.20]
Include time.h and sys/time.h on Intel compiler as requested by Duraid Madina. Fix bug 686984[src/time_.h 1.7]
Update non-DLL version to support visual tracer. Fix bug 686993[src/dwdll.c 1.6, src/dwnodll.c 1.5, src/msvc32.mak 1.47]
Fix portability issues: add a portable header for sscanf() and use specific handle HDROP instead of generic HANDLE.[src/dwimg.c 1.9, src/winint.mak 1.19]
Don't rely on MS linker merging global variables defined multiple times.[src/dwtrace.h 1.5]
Update GS icon file by re-saving it in MSVC 6. Old icon file was incompatible with OpenWatcom resource compiler.[src/gswin.icx 1.2]
Remove comma from the linker command line because the following indirect file contains keyword-value pairs, not a list of values.[src/watcw32.mak 1.27]
OpenWatcom doesn't define LPRGBQUAD. Add the corresponding typedef. Partial fix for 686816[src/windows_.h 1.5]
Add the headers ($Id: Details.htm,v 1.7 2003/08/16 21:27:24 giles Exp $ line and copyright notices).[toolbin/genfontmap.ps 1.2]
Fix : The condition for empty environment string was wrong in ztempfile. Bug 686922 "no default temp dir"[src/zfile.c 1.35]
Fix (pdfwrite) : The default implementation of stringwidth is incompatible with Type 3 font processing. DETAILS : With Type 3 fonts the default implementation of stringwidth renders characters to PS cache, causing them to convert to bitmaps in further rendering. This patch implements stringwidth with Type 3 fonts inside pdfwrite, allowing the charproc accumulation during stringwidth. Bug 686992 "Duplicated characters in Arabian Type 3".[src/gdevpdte.c 1.43, src/gdevpdtt.c 1.54, src/gxchar.c 1.30, src/gxchar.h 1.14]
Correct offsets into .bigstring (broken when string size changed from 1000).[lib/gs_frsd.ps 1.8]
Fix (pdfwrite) : Don't write OP into charprocs. DETAILS : Bug 686986 "Could not find the extended graphic state ..." error[src/gdevpdfg.c 1.34]
Fix (pdfwrite) : Check a run out charstring while converting Type 1 font into Type2. DETAILS : 1. Compare the instruction pointer with the charstring end address (gdevpsfx.c). 2. Error codes were not propagated. Bug 686985 "pdfwriter segfaults converting a charstring".[src/gdevpdtb.c 1.21, src/gdevpsf2.c 1.27, src/gdevpsfx.c 1.22]
Fix for Bug 686991 Memory leak in CET test file 12-07.ps. DETAILS: A pointer to a free object was found while running the CET with the memory allocation test switches (-Z@?$). The free object was a color space and the pointer was inside a gs_image_enum_common structure. The situation occurs when an error is found in the data source for for an image. The actual cause was that the image enum common structure should have also been released. Note: The data source checking is the only place that has this problem. After the data source checking, the image enum common structure pointer is placed into an image enum structure. Errors that are detected after that point call gx_image_cleanup which handles all of the data in the image enum structure including the image enum common structure.[src/zimage.c 1.12]
Adjust internal string lengths to allow for long path/filenames such as for Resource paths. OS limits may be shorter than the 8192 length allowed for after this changes, but now interpreter internals won't cause a failure. Customer 590 found this with a long GenericResourceDir. Bug #686989. DETAILS: While 8192 is also arbitrary, now all strings used for path/filenames are the same and probably long enough for a while. Also I made all the string lengths used for file copy operations be the same 64000 bytes (they were highly inconsistent).[lib/gs_cidcm.ps 1.11, lib/gs_diskn.ps 1.5, lib/gs_fntem.ps 1.7, lib/gs_fonts.ps 1.40, lib/gs_frsd.ps 1.7, lib/gs_pdfwr.ps 1.36, lib/gs_pfile.ps 1.5, lib/gs_res.ps 1.34, lib/gs_resst.ps 1.3, lib/gs_statd.ps 1.12, lib/gslp.ps 1.6, lib/pdf_main.ps 1.76, lib/pphs.ps 1.6, lib/wftopfa.ps 1.5]
Add a utility to create a Fontmap format file after forcing a scan of all FONTPATH directories. The created Fontmap file will contain direct links to all fonts found, so that subsequent runs of Ghostscript that use this Fontmap won't need to perform the time consuming scan of the FONTPATH.[toolbin/genfontmap.ps 1.1]
Fix (pdfwrite) : Widths were computed wrongly with Type 3 fonts. DETAILS : 1. With glyphshow process_text_modify_width called pdf_char_widths with GS_NO_CHAR. 2. In pdf_char_widths an index for real_widths array was wrong (2 times smaller) with Type 3. 3. Now we write Widths as reals, improving the precision. Now the precision isn't smaller than 1/100, rather the old code looses all significant digits when a width is smaller than 1. A better way would be re-scaling the font, but currently we don't see a strong need for that. Bug 686988 "test-setweightvector.ps wrongly converts to PDF". This patch fixes the test-setweightvector.ps problem and improves glyph positions in Altona.Page_3.2002-09-27.pdf .[src/gdevpdte.c 1.42, src/gdevpdtw.c 1.23]
Allocate larger buffer for generated charstrings. Old allocation was insufficient for gray block characters. (Unicode 2591, 2592, 2593). Fix bug 686987.[lib/bdftops.ps 1.7]
Disable the legacy macstdio device in the default Codewarrior build. It conflicts with and is obsoleted by the modern Metrowerks Standard Library and our default Carbon build, which most users are now using.[src/macos-mcp.mak 1.21]
Remove an unused local variable[src/gdevpdtw.c 1.22]
Fix incorrect line endings.[src/gdevpdtw.c 1.21]
Document adding the jbig2dec source to the source release.[doc/Release.htm 1.79]
Fix (pdfwrite) : Providing an access to the original font matrix via a special font dictionary key /.OrigFont (part 2). DETAILS : The patch http://www.ghostscript.com/pipermail/gs-cvs/2003-August/003482.html was buggy. This patch corrects it and fixes the 2003-08-02 regression with two_encodings.ps .[src/gdevpdtt.c 1.53, src/zbfont.c 1.23]
Fix (pdfwrite) : A workaround for Type 3 fonts with instandard BuildChar. DETAILS : Bug 686982 "Wrong characters in PDF".[src/gdevpdti.c 1.18, src/gsccode.h 1.12, src/zbfont.c 1.22]
Fix (pdfwrite) : xshow, xyshow array index was wrong. DETAILS : Bug 686976 "type3 fonts are mangled in pdf conversion", but the problem was more general than Type3.[src/gdevpdtc.c 1.26, src/gdevpdte.c 1.41]
Fix (pdfwrite) : gs_copied_can_copy_glyphs used glyph names instead glyph indices with Type 42. DETAILS : This change is a continuation of the glyph/glyph_index cleanup started in http://www.ghostscript.com/pipermail/gs-cvs/2003-June/003354.html . Bug 686983 "TT fonts converted to type3".[src/gxfcopy.c 1.31]
Fix (pdfwrite) : Providing an access to the original font matrix via a special font dictionary key /.OrigFont . DETAILS : The new key is implementation specific and should not affect regular documents. It works for the case when a font is copied like this : /x findfont dup length dict copy /y exch definefont - it points from the copy to the original font. This change fixes Ghostscript Bug 686970 "Overlapping characters" and causes a progression with 455690.pdf with pdfwrite. A long ago Peter L. Deutsch and me discussed the heuristic in pdf_font_orig_matrix/font_orig_scale. I was aware of its limitations, but I followed Peter's authority. Now we get a real case that it can't handle, and therefore I take the responsibility for the different approach. -igor.[lib/gs_fonts.ps 1.39, src/gdevpdtt.c 1.52, src/gsfont.c 1.21, src/gxfont.h 1.20, src/zbfont.c 1.21]
Update News.htm with current open bugs and incompatible changes.[doc/News.htm 1.133]
Remove a redundant dependency definition.[src/lib.mak 1.130]
Set release dates on the documenation.[doc/News.htm 1.132, man/dvipdf.1 1.25, man/font2c.1 1.25, man/gs.1 1.26, man/gslp.1 1.25, man/gsnd.1 1.25, man/pdf2dsc.1 1.24, man/pdf2ps.1 1.26, man/pdfopt.1 1.24, man/pf2afm.1 1.25, man/pfbtopfa.1 1.26, man/printafm.1 1.25, man/ps2ascii.1 1.24, man/ps2epsi.1 1.23, man/ps2pdf.1 1.30, man/ps2pdfwr.1 1.29, man/ps2ps.1 1.32, man/wftopfa.1 1.25]
Update release date for stable 8.11 release.[doc/News.htm 1.131, src/gscdef.c 1.37, src/version.mak 1.64]
Create a table that decides whether the glyph index belongs to [WinAnsiEncoding, StandardEncoding, MacExpertEncoding], or SymbolEncoding, or none of them. Use this table instead of searching the encoding vectors for every glyph. Fix bug 686929[doc/Develop.htm 1.118, src/devs.mak 1.93, src/gdevpdtv.c 1.1, src/gdevpdtv.h 1.1, src/gdevpdtw.c 1.20, toolbin/encs2c.ps 1.4]
Fix (the new Type 1 hinter) : Accent was misplaced in composite Type 2 glyphs. DETAILS : Bug 686971 "Characters with accents problem". Expected progressions : Altona.Page_3.2002-09-27.pdf Svd.pdf[src/gstype2.c 1.27, src/gxhintn.c 1.29]
Document the .bindnow operator and the need to rebind bind to .bind after calling it with -dDELAYBIND. Closes bug 633299.[doc/Language.htm 1.73, doc/Use.htm 1.87]
Remove superfluous 'save pop' from .setpdfwrite definition since gs_init.ps now performs the outer level save which addresses the font loading issue .setpdfwrite was solving.[lib/gs_pdfwr.ps 1.35]
Add -dNOOUTERSAVE when -c false 0 startjob pop is used to set up a job server environment so that Genoa tests will operate as if under a job server and so that global VM will be restored when Genoa tests check the exitserver operation.[toolbin/tests/gstestgs.py 1.20]
Add an initial outermost save unless -dNOOUTERSAVE option is specified. Fixes Bug #686972 and others that were closed with the instructions to use -c "save pop" prior to the file. DETAILS: The initial save is needed for several ProcSets from Adobe applications and those of other vendors that expect objects in global VM to be retained after a restore that would otherwise remove objects in global VM defined after the corresponding save. This kept recurring because several ProcSets from Adobe, Quark and others expect to run under a job server. The -dNOOUTERSAVE is needed for backward compatibility and for those that want to run under a job server and want global VM to be restored between jobs (as expected under a job server). Note that the save object is discarded so that it cannot be used to restore to the state prior to .setsafe and thus circumvent security when -dNOSAFER is used and .setsafe or .locksafe is subsequently used to go to SAFE mode.[doc/Use.htm 1.86, lib/gs_init.ps 1.93]
Properly handle the absence of a parameter dictionary in the JBIG2Decode filter implementation. Closes bug 686979. DETAILS: Filter implementations can be called with[src/zfjbig2.c 1.3]
Correct capitalization of the -d parameter in the IJS examples.[doc/Devices.htm 1.68]
Correct a problem which was created when the SeparationOrder parameter was implemented. The usual symptom was an uninitialized value left in the cyan component for a gray color space.[src/gdevdevn.c 1.9]
Build fix of the jbig2 makefile. OOur portable (v)snprintf implementation is in snprintf.c, notvsnprintf.c. Reported in but 686966.[src/jbig2.mak 1.6]
Record that .buildnativefontmap has been run even if .getnativefonts returns false (unimplemented). This was causing an endless loop if a font was not found as dofindfont tried to call the native font enumeration code over and over.[lib/gs_fonts.ps 1.38]
Fix a SEGV that could occur during 'shfill' if a GC occurred between the .buildhading and the .shfill internal operators. DETAILS: The DataSource sub-structure that is part of the shading_mesh_params was not being traced, so that memory pointed to by elements of that structure would be prematurely freed. This was detected running files produced by libGL2ps that turned an Open GL rendering into LOTS of shapes to be filled with Gouraud triangles.[src/gsshade.c 1.9, src/gsshade.h 1.7, src/gsstruct.h 1.16]
Fix security issue with .setnativefontmapbuilt. Procedures that change the systemdict must be execute-only so the .forceput cannot be extracted and used to change other parameters. Thanks to Russell Lang for this.[lib/gs_fonts.ps 1.37]
Since globaldict isn't always available and userdict is subject to save/restore, keep /.nativefontmapbuilt in systemdict, with an accompanying procedure to set its value since systemdict is read-only from the normal runlevel.[lib/gs_fonts.ps 1.36]
Record whether the .buildnativefontmap has been run as a boolean under the key /.nativefontmapbuilt in userdict, instead of the array hack used previously. A better choice would be globaldict which is less susceptible to save/restore but this is a language level 2 feature and not defined with gs_fonts.ps is run.[lib/gs_fonts.ps 1.35]
More transparency fixes: set color space when computing /BC in soft-mask transparency groups. Implement /TR transfer function in soft-mask groups.[lib/pdf_draw.ps 1.73, src/gdevp14.c 1.18]
Enable native font enumeration by default. This change also corrects some flaws in the search logic. Like with the FONTPATH directory scanning, .buildnativefontmap will only be called the first time a font cannot be found. However, it can still be run manually to update the in-memory Fontmap. DETAILS: To record that .buildnativefontmap has been run, we define /.nativefontmapbuilt as an array containing a single element, either 'true' or 'false'. We use an array to avoid local vs. global issues when the value is set during the call to .buildnativefontmap.[lib/gs_fonts.ps 1.34]
More transparency fixes: fix broken remapping of Separation and DeviceN colorspaces in PDF 1.4 mode. Convert background color for soft mask groups to DeviceGray colorspace using PostScript code (currentgray).[lib/pdf_draw.ps 1.72, src/gdevp14.c 1.17, src/ztrans.c 1.20]
Draws the alpha plane of PDF 1.4 SMask images as a soft masked group.[lib/pdf_draw.ps 1.71]
Speed up native font enumeration on MacOS by caching the results of parsing the FOND resource table. Also return paths of the from '%macresource%path:to:file#POST' for resource files without FOND tables, on the assumption these are LWFN files. The font loading machinery doesn't yet support such paths, and they are simply skipped without being added to the in-memory font map.[src/gp_macio.c 1.27]
Rename reftable to fond_table, etc. to avoid confusion with postscript references.[src/gp_macio.c 1.26]
Improve native font enumeration on MacOS. This feature is still not enabled. DETAILS: There are six different api calls to open a resource file on MacOS Carbon, all of various provenance and history. We were using FSOpenResourceFile() in our FOND parsing code because it will open the data fork of .dfont files or the resource fork of resource font files. Very convenient. However, it fails for some common font files with broken resource maps. Therefore we now fall back to FSpOpenResFile() which only tries the resource fork, but can handle the broken maps, if the first attempt fails. I've not encountered any .dfont files with broken resource maps; they're a recent phenomenon so we should be safe there. Also contains changes to skip the FOND parsing for .ttf and .otf filenames, to ask for 'Local' instead of 'Global' fonts in the enumerator (the difference is unclear) and changes to use the Carbon headers in the Carbon build.[src/gp_macio.c 1.25]
Read a PostScript embedded ICC input profile into a bytestring (.bigstring) rather than a temp file. This is faster and doesn't leave the temp file laying around. Bug #686926 for Artifex customer #1110. DETAILS: Since we don't know the size of the bytestring needed to invoke .bigstring, we read the ICC profile data into an array of 64,000 byte strings, then create the bytestring and fill it with putinterval. This bytestring then becomes the source for a ReusableStreamDecode filter which is a seekable filter. We'd like to have simply used SubFileDecode filter and ASCIIHexDecode as the source for ReusableStreamDecode, but this only works if SubFileDecode has a count.[lib/gs_icc.ps 1.10]
Exclude NT file attributes when building zip file of sources.[doc/Release.htm 1.78]
Have configure define DONT_HAVE_JMEMSYS_H is appropriate, is support of the eventual generation of gconfig_.h by the configure script rather than unix-aux.mak.[src/configure.ac 1.32]
Added casts to remove some warning messages from MSVC. Partial fix for bug #686592.[src/gdevdevn.c 1.8, src/gdevpsd.c 1.5]
Comment out the #define for the DUMP_TO_PNG debug mode (it will need make file changes to compile correctly since png.h may not be on standard include paths.[src/gdevp14.c 1.16]
First batch of transparency improvments. With these changes, ChineseOpera.ai and a number of other files using soft mask groups should render correctly.[src/gdevp14.c 1.15, src/gstrans.c 1.17, src/gxblend.c 1.5]
A code clarity change only. Make the value of 1-input stitching function more explicit in the degenerate case.[src/gsfunc3.c 1.15]
Update version information and links to the web and bts sites, after a patch from Ambrose Li. Bug 686939.[doc/Bug-info.htm 1.36, doc/New-user.htm 1.47]
Generate the list of X11 libraries we need to link to in configure. Previously this was hardwired, but some systems do require the addition of the X_PRE_LIBS and X_EXTRA_LIBS discovered by the configure macro. Closes bug 686938.[src/Makefile.in 1.26, src/configure.ac 1.31]
Prevent divide by zero when invalid Bounds arrays are encountered. Earlier we allowed invalid Bounds to be compatible with Adobe, but did not supply a non-zero denominator value. Fix required for ChineseOpera.ai[src/gsfunc3.c 1.14]
Recognize the 0.3 source release jbig2dec.[src/configure.ac 1.30]
Improve a comment in the generated gconfig_.h on unix.[src/unix-aux.mak 1.10]
Add some casts to prevent excessive warnings when compiling C fonts with MSVC 6. This only affects the syntax of the generated fonts.[lib/font2c.ps 1.6]
Fix: Cygwin/gcc warnings. DETAILS : One of them actually was a bug in the recent patch.[src/gxtype1.c 1.26, src/zchar1.c 1.31]
pdfwrite : Improving the font metrics handling. DETAILS : 1. Metrics, Metrics2 was ignored for CID fonts; 2. usematrix was ignored; 3. v-vector was erroneusely scaled down in 1000 for TT fonts; 4. glyph_info mixed WMode 0 1nd 1 in some cases. This patch is a partial fix for the bug #686947 "rotated japanese chars". A complete fix should include a handling of CDevProc. This patch causes an unexpected progression of pdfwrite with keyboard.pdf at any resolution, and a minor difference with 093-01.ps at 300dpi.[src/gdevpdtc.c 1.25, src/gdevpdte.c 1.40, src/gdevpdtt.c 1.51, src/gstype42.c 1.32, src/gxfcopy.c 1.30, src/gxtype1.c 1.25, src/ichar1.h 1.10, src/int.mak 1.114, src/zchar1.c 1.30, src/zfcid1.c 1.18]
Fixing a C++ style comment in fapi_ft.c.[src/fapi_ft.c 1.10]
Don't redefine _Windows, since msvctail.mak passes it on the command line. Fixes a warning under MSVC reported by Igor Melichev.[src/iapi.h 1.10]
Use 'fontname' instead of 'name' as an argument to gp_enumerate_fonts_next() to avoid a warning on MSVC. Thanks to Igor for pointing out the issue.[src/gp.h 1.24, src/gp_dvx.c 1.10, src/gp_iwatc.c 1.15, src/gp_macio.c 1.24, src/gp_mswin.c 1.21, src/gp_os2.c 1.28, src/gp_os9.c 1.11, src/gp_unix.c 1.12, src/gp_vms.c 1.31, src/zfontenum.c 1.3]
Add dmmain.c to the list of (platform-specific) source files exempt from the C++ comment policy.[toolbin/tests/check_comments.py 1.2]
Remove some C++ style comments.[src/gsiomacres.c 1.4]
Remove some C++ style comments and correct formatting.[src/zfontenum.c 1.2]
Add zfontenum.c to the file listing in the documentation.[doc/Develop.htm 1.117]
Fix (pdfwrite) : Enlarge font resource arrays on demand. DETAILS : The patch fixes CID fonts that provide a lesser CIDCount than CIDs used in a document. Rather PS requires to print CID=0, we need to provide a bigger CIDCount since we don't re-encode the text. The text should look fine if the viewer application substitutes the font. Fixes the pdfwrite regression with 401-01.ps, which caused a segfault on Linux. Thanks to Ray Johnston for the fault analyzis.[src/gdevpdtc.c 1.24, src/gdevpdtf.c 1.31, src/gdevpdtf.h 1.20]
Implement C++ style comment checking. Partially fixes bug #538033.[toolbin/tests/check_comments.py 1.1]
Require python2.2 now, since the new C++ style comment checking requires it.[toolbin/tests/check_all.py 1.4, toolbin/tests/check_dirs.py 1.7, toolbin/tests/check_docrefs.py 1.8, toolbin/tests/check_source.py 1.6, toolbin/tests/dump_testdb 1.5, toolbin/tests/get_baselines 1.2, toolbin/tests/gscheck_all.py 1.4, toolbin/tests/gscheck_fuzzypdf.py 1.6, toolbin/tests/gscheck_pdfwrite.py 1.14, toolbin/tests/gscheck_raster.py 1.5, toolbin/tests/make_testdb 1.11, toolbin/tests/make_two_pdfversions 1.7, toolbin/tests/make_two_versions 1.11, toolbin/tests/revert_baseline 1.11, toolbin/tests/revert_pdfbaseline 1.9, toolbin/tests/run_nightly 1.19, toolbin/tests/run_regression 1.12, toolbin/tests/testdiff 1.3, toolbin/tests/update_baseline 1.12, toolbin/tests/update_pdfbaseline 1.8]
Initial check in of the native font enumeration mechanism with an implementation for MacOS. The code is currently disabled pending resolution of bugs regarding some font files. DETAILS: This adds a trio of gp_enumerate_fonts calls which implement an interator for querying the native operating system for font files. This is essentially required to make use of the support for reading resource-based font collection files on MacOS since there is no convenient way to construct a Fontmap by hand. Thus our initial implementation focusses there and only stubs are provided on other platforms. However, it would generally be a useful feature on any system that provides such services. An iterator object is created with gp_enumerate_fonts_init() and released with gp_enumerate_fonts_free(). Between these calls, each font is returned by a successive call to gp_enumerate_fonts_next() as a pair of C strings giving the access path and reported font name. On MacOS these are implemented using the FMFontIterator API from Carbon. Unfortunately, while this returns font names and files, it does not provide details about the resource internals so we must open the file and extract the resource id corresponding to the font itself. It also is not always possible to obtain the correct postscript name from the OS call. Connection is made to postscript through the .getnativefonts operator, implemented in zfontenum.c. I handles the interation and places the results on the stack as an array of two element arrays, each representing the name and path as postscript strings. New code in gs_fonts.ps calls this and adds the entries to the fontmap after first calling .findfontname on each path to verify accessibility and in case the reported font name is unreliable. This is implemented as the .buildnativefontmap procedure, which is called by the font location logic if a requested font is not found in the Fontmap. Caveats: This can be a very expensive operation, so like the FONTPATH directory scanning it should probably only happen once in a given session, instead of every time a font isn't found. The macos implementation could also be considerably streamlined.[lib/gs_fonts.ps 1.33, src/gp.h 1.23, src/gp_dvx.c 1.9, src/gp_iwatc.c 1.14, src/gp_macio.c 1.23, src/gp_mswin.c 1.20, src/gp_os2.c 1.27, src/gp_os9.c 1.10, src/gp_unix.c 1.11, src/gp_vms.c 1.30, src/int.mak 1.113, src/zfontenum.c 1.1]
Apparently Metrowerks CodeWarrior defines _WINDOWS_ instead of the normal __WINDOWS__. Support both for determining the calling conventions of the client api. Problem reported by Des Courtney as bug 686934.[src/iapi.h 1.9]
Add the new get_baselines script to the regression test documentation.[doc/Testing.htm 1.20]
Fix (Type 1 hinter) : -dAlignToPixels=0 was ignored with -dNOCACHE. DETAILS : Now we pass the oversampling scale and the number of subpixels to the Type 1 hinter in separate parameters. The old interface was wrong when alpha buffer is installed with -dNOCACHE. The patch cause difference in rendering with -dTextAlphaBits=2,4. These cases are not tested by the regression test tool. Minor changes : - fixed C-style in gxhintn.c; - removed "const gs_log2_scale_point no_scale = {0, 0}" to simplify calls to gs_type1_interp_init.[src/gdevpsfx.c 1.21, src/gstype1.c 1.24, src/gstype1.h 1.7, src/gstype2.c 1.26, src/gxfcopy.c 1.29, src/gxhintn.c 1.28, src/gxhintn.h 1.13, src/gxtype1.c 1.24, src/gxtype1.h 1.13, src/zchar1.c 1.29]
Report upgraded baselines in the last 24 hours. Closes bug #654532.[toolbin/tests/get_baselines 1.1, toolbin/tests/gscheck_raster.py 1.4, toolbin/tests/run_nightly 1.18, toolbin/tests/testing.cfg.example 1.3]
Change the release instructions to refer to GPL Ghostscript rather than GNU Ghostscript. We're no longer part of the GNU project. Closes bug 686913.[doc/Release.htm 1.77]
Document passing -DGX_COLOR_INDEX_TYPE in unixansi.mak in response to the confusion reported in bug 686876.[src/unixansi.mak 1.32]
Correct a bug with zero-length files in .findfontvalue, used by .findfonttype and .findfontname.[lib/gs_fonts.ps 1.32, lib/gs_ttf.ps 1.31]
Document the need to set /OutputFile to a valid filename before calling 'setdevice' with the pdfwrite device. Closes bug 686784.[doc/Language.htm 1.72]
Fix : merge Adobe Glyph List to gs/Resource/Decoding/Unicode.[Resource/Decoding/Unicode 1.3]
Fix premature increment of a nested string counter. Skip white space characters before '(' on 0 level.[src/geninit.c 1.8]
Include default font map into compiled initialization files but use it only if the default font map file fails to open at run time. Fix bug 414985.[lib/Fontmap 1.2, lib/gs_fonts.ps 1.31, doc/Make.htm 1.68]
Fix a typo in a comment.[lib/gs_stres.ps 1.5]
Fix for 686927 Bug in implementation of .hsb2rgb (gs_cspace.ps). This is a bug report, fix, and a test file from Heiko Oberdiek. I love it when the bug reporter also includes an analysis, a fix and a test file. The problem was an error in the calculations for an HSB (hue, saturation, brightness) color to RGB when the hue was 1. The only change that I made in Heiko's fix was to change a few more comments.[lib/gs_cspace.ps 1.6]
PDF fonts can have different widths assigned to character codes corresponding to the same glyph. There is no equivalent feature in PostScript. In this case we define a new entry in CharString dictionary, and change Encoding vector and Metrics accordingly. Currently the font adjustment is applied to Type1, MMType1, and TrueType font resources as defined in adjustfonttypes dictionary. Fixes bug 623292[lib/pdf_font.ps 1.57, lib/pdf_ops.ps 1.30]
Don't oversample characters for rendering in non-pure color. Search the character cache for the exact match -- don't do routine downsampling. Move cached image depth calculations to compute_glyph_raster_params(). Fix downsampling depth calculation although it is not expected to be used in normal operation. Leave the downsampling code intact because it is also used for error recovery. Fix bug 570772 from customer 1.[src/gxccache.c 1.17, src/gxccman.c 1.8, src/gxchar.c 1.29]
Fix : Improving an error message.[src/imain.c 1.32]
Fix : gs/Resource/Decoding/Unicode contained wrong codes for Cyrillic and Herbrew.[Resource/Decoding/Unicode 1.2]
Fix (pdfwrite) : pdev->black and pdev->white were not set when ProcessColorModel changes. Bug 686921 "/ProcessColorModel /DeviceCMYK causes black page".[src/gdevpdfg.c 1.33]
Fix (pdfwrite) : Improving the condition for writing ToUnicode CMap for simple fonts.[src/gdevpdte.c 1.39, src/gdevpdtw.c 1.19]
Fix : Remove LONG_MIN from gxfill.c for a better portability.[src/gxfill.c 1.38]
Give the explicit maximum buffer size in bytes. Suggestion by Ray re bug 686925.[doc/API.htm 1.35, doc/DLL.htm 1.31]
Document the 64 KB length limit on input data passed through the gsapi_run_string* and gsdll_run_cont() calls. Fixes bug 686925.[doc/API.htm 1.34, doc/DLL.htm 1.30]
Removeinclusions as it defines types that conflict with our std*.h on HPUX and probably other systems. Fix for bug 686920. Also correct the copyright dates for gxhintn.c. DETAILS: limits.h was defining ushort on HPUX which conflicts with the definition imported in stdpre.h. There are two approaches within our portability framework: don't use these defines, or make them part of the output from genarch. Since there's only one use in the code (for MIN_LONG) I simply defined it at the top of the file. The test used should work on all 2's complement systems and would probably fail miserably on anything else. It was the most portable define I could come up with. A less assuming variant ((long)(ARCH_MAX_ULONG>>1)+1) also works but generates a warning about the overflow. genarch.c could of course test a variety of candidates and look for the rollover. We could also switch to autoconf for provisioning the whole set of defines. This was chosen as the simplest fix for the time. [src/gxfill.c 1.37, src/gxhintn.c 1.27]
Declare zimage_data_setup() as private to match its prototype. Corrects a warning on the HPUX native compiler.[src/zimage.c 1.11]
Fix (pdfwrite) : FontMatrix was wrong when a standard font is used with various encodings. DETAILS : The core of the change is one in pdf_font_std_alloc. Others provide information for it. Bug 686917 "bad type1 font handling in pdfwriter".[src/gdevpdtb.c 1.20, src/gdevpdtd.c 1.13, src/gdevpdtf.c 1.30, src/gdevpdtt.c 1.50, src/gxfcopy.c 1.28, src/gdevpdtb.h 1.9, src/gdevpdtf.h 1.19, src/gxfcopy.h 1.9]
Windows 2000 driver includes PJL into %%BeginFeature block. Identify this from the operand stack pattern: countdictstack lucas mark and fail the feature request. Fix bug 686916[lib/gs_init.ps 1.92]
Use single '%' in a comment.[lib/gs_stres.ps 1.4]
Activate DSC parser only after all prologue files are read to prevent spurious comments starting with '%%' from disturbing the parser.[lib/gs_pdfwr.ps 1.34]
Fix mis-identificaion of every DSC-conforming file as EPS.[src/gdevpdfp.c 1.32]
Add a paragraph documenting current page orientation options, document limitations on ps2pdf options, and show a work-around. Fixes bug 592930[doc/Ps2pdf.htm 1.54]
pdfwrite : Generate ToUnicode CMaps for CID fonts. DETAILS : This patch must not affect any rendering. The main change is in gdevpdtc.c and zbfont.c . Minor changes : - removed an debug code (#if TEST_UNICODE_SUPPORT, #if 0 in gdevpdtc.c); - Propagated error code in gdevpdf.c . Bug 686887 "Searchable pdf".[src/gdevpdf.c 1.69, src/gdevpdtc.c 1.23, src/gdevpdte.c 1.38, src/zbfont.c 1.20]
Fix (type 1 hinter) : Don't apply alignment zone to horizontal stems when the shift is bigger than half pixel. DETAILS : Fixes a problem with comparefiles/font_issue.pdf . This patch causes minor differences in rendering of multiple files : 72dpi : 027-09.ps bulletin.pdf chess.ps CIDembedded.pdf fonttest.pdf Svd.pdf test.pdf 300dpi : 01_001.pdf 027-05.ps 027-09.ps 033-52-5873.pdf 045-01.ps 093-01.ps 136-01.ps 154-01.ps 158-01.ps 159.pdf 165-01.ps 1_pct_50_bang.pdf 231-01.ps 233-01.ps 251-01.ps 268-03.ps 268-05.ps 281-01.ps 327-01.ps 450-01.ps 455690.pdf 541.pdf 541_623.pdf 86554321.pdf aaon97_p7.pdf acrobat.pdf adesso1.pdf adesso3.pdf adesso5.pdf adesso6.pdf adesso7.pdf AdobeLic.pdf alphabet.ps Altona-Testsuite_p2_S_x3.pdf Altona.Page_3.2002-09-27.pdf ats-3-5-99.pdf besttest.pdf brochurep1.pdf bug-gstest.pdf bugsample.pdf bulletin.pdf ccc.pdf chess.ps CIDembedded.pdf colorcir.ps dave.pdf Dave_Barry.pdf DisplayedGood.pdf DisplayedWrong.pdf fonttest.pdf frosch.pdf gs5.98-dragon.pdf gs6.0-dragon.pdf H00216q.pdf js.pdf kazmir.pdf KozukaB-ILEmbed.pdf laballade.pdf LD.pdf narrow_font.pdf ngnews.pdf ngnews1.pdf NIL_0003.pdf Openhuis_pdf_zw.pdf pdftops.pdf PixelisAd.pdf prfmm.pdf pstopdf.pdf pstopdfO3.pdf QA_Inv.pdf RealCities.pdf rf1025.pdf ridt91.eps RodinCIDEmbed.pdf S2_Digitalproof-Forum_x3k.pdf smdf.90441.102.pdf Svd.pdf test.pdf test2.pdf test2a.pdf textsavematrix.pdf time1.pdf vsem0093.pdf waterfal.ps xgfddg.pdf xngnews.pdf[src/gxhintn.c 1.26]
Clarify a comment.[src/macos-mcp.mak 1.20]
Implementing the text rendering mode 3 with graphics library to allowing PDF interpreter with pdfwrite to pass invisible text (continued). DETAILS : 2 files were missed from the previous patch. Adding them now.[src/gsstate.c 1.20, src/gxistate.h 1.16]
Implementing the text rendering mode 3 with graphics library to allowing PDF interpreter with pdfwrite to pass invisible text. DETAILS : This patch improves the text rendering mode 3 only. Other text modes stay like they were - implemented with charpath in pdf_ops.ps (to be improved someday). We process invisible text with TEXT_DO_NONE, adding an additional check to op_show_restore in zchar.c . We would like to implement a new mode TEXT_DO_INVISIBLE, but we don't want to do so deep change without a strong neccessity. It can be subject of a further improvement. With this patch stringwidth won't work with text rendering mode 3. We never use this combination. TEXT_DO_INVISIBLE could work for it. Bug 686914 "pdfwrite does not preserve invisible text".[src/gdevpdte.c 1.37, src/gdevpdtt.c 1.49, src/gsstate.h 1.9, src/gstext.c 1.12, src/int.mak 1.112, src/zchar.c 1.11, src/zgstate.c 1.8, lib/pdf_ops.ps 1.29]
Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong (3nd attempt). DETAILS : This patch defines a compatible workaround for fonts that use ce1_setcurrentpoint in an illegal way. See comments in code.[src/gdevpsfx.c 1.20, src/gxhintn.c 1.25]
Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong (2nd attempt). DETAILS : The previous patch appears wrong. This patch unwinds the change to gdevpsfx.c and fixes ce1_setcurrentpoint in the new Type1 hinter.[src/gdevpsfx.c 1.19, src/gxhintn.c 1.24]
Fix : Errors in a comment documenting gs_glyph.[src/gsccode.h 1.11]
Print out modified file names and versions when generating the html changelog. Update the current versions of Changes.html and Details.html as an example.[doc/Changes.htm 1.47, doc/Details.htm 1.6]
Print out modified filenames and versions when generating the html changelog.[toolbin/split_changelog.py 1.5]
Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong.[src/gdevpsfx.c 1.18, src/gstype1.c 1.23]
Edited to reflect new capabilities of Bugzilla and current bug reporting practices.[doc/Bug-form.htm 1.37]
Change links from SourceForge bug tracker, http://sourceforge.net/bugs/?group_id=1897 to Ghostscript Bugzilla, http://bugs.ghostscript.com Fix bug #686888[doc/Bug-info.htm 1.35, doc/Make.htm 1.67]
Add hyperlinks to Ghostscript Bugzilla bug entries.[doc/Devices.htm 1.67, doc/Issues.htm 1.37, doc/Projects.htm 1.52]
Permit explicit specification of /GDBytes equal to 0 for incrementally downloadable CIDFonts. Fixes bug 686890 from customer 131. DETAILS: Incrementally downloadable CIDFont has GlyphDirectory key. According to PLRM3 p. 376 "The binary data section of a CIDFont with a GlyphDirectory entry does not need a charstring offset table or charstrings; if present, they will be ignored". PLRM3 says nothing about GDBytes entry but it seems logical that the entry is no longer needed when the structure it describes is ignored. Old code used 0 as a default GDBytes value but required explicit specification to be > 0. New code permits explicit 0 value because "Acrobat PDFMaker 5.0 for Word" generates it.[src/zfcid.c 1.14]
Fix : Removing an unused code.[src/gdevbit.c 1.8]
Fix : Completing the extended semantics of gs_glyph. DETAILS : The extended semantics was introduced with the patch http://www.ghostscript.com/pipermail/gs-cvs/2003-June/003354.html That patch appears incomplete. Hopely this one completes it. Also it fixes the bug #686910, which was not detected with comparefiles.[src/zfont42.c 1.16]
pdfwrite : Write Encoding for True Type fonts. DETAILS : See comment in code.[src/gdevpdtt.c 1.48]
Fix (PDF interpreter) : Account Encoding while building CharStrings for TrueType fonts. DETAILS : If an Encoding is specified with a symbolic TrueType font, its character names to be used for generating CharStrings. The old code uses SymbolEncoding instead, missing some characters. Fixes the bug 686912 "PDF interpreter problem with True Type & Encoding".[lib/gs_ttf.ps 1.30, lib/pdf_font.ps 1.56]
Fix (pdfwrite) : Convert Type 0 fonts with multiple CID font descendents into Type 0 fonts with single CID font descendents (the part 3). DETAILS : At last we got a non-degenerate test for multiple CID font descendents and could debug this stuff with a real document. This patch mixes several changes : - In some cases CIDFontType 2 fonts wrongly computed glyph indices ignoring GlyphDirectory. The new function z11_glyph_info works for it. - The text decomposition in gdevpdtc.c mixed font indices of various font descendents. - font->procs.get_glyph_info sometimes received glyph indices instead glyph names or CIDs. This happened with subglyphs of a CIDFontType 2 glyph. This patch improves the semantics of gs_glyph with distinguishing CIDs and GIDs with a new tag in the 2nd high order bit. The new macro GS_MAX_GLYPH_INDEX and related stuff works for it. - gdevpdtd.c tried to compute CID font features using glyph names, which don't exist in this case. Replaced with CIDs. - In gdevtrac.c a wrong glyph space was specified enumerating glyphs (a minor change, since gdevtrac.c is almost an example). - Fixed a compiler warning in gdevdevn.c . Working on this patch, we can see rudiments in pdfwrite code, which are inherited from pre-8.00 code (before stable font copies are implemented), which to be fixed someday : - subset_glyphs arguments in gdevpsft.c looks always NULL and probably to be removed; - COPY_GLYPH_BY_INDEX is now obsolete and to be removed; - glyph enumeration procedures (*enumerate_glyph*) sometimes retrieve a wrong tag in gs_glyph values. The new macro GS_GLYPH_TAG works against it, rather an improvement to enumeration procedures would be useful. The patch is debugged with korea.ps from the bug #686894. After this change the embedded composite font with 2 CIDFontType 2 descendents is correctly decomposed into 2 Type 0 fonts with single descendents (the old (gs8.10) code converts it into a Type 3 with outlines). The generated PDF satisfies the PDF specification and Ghostscript can handle it. Meanwhile Acrobat Reader 4,5,6 fails with it. It appears an old known problem : if a Type 42 font and a CIDFontType 2 with a non-standard CMap appear in same PDF document, Acrobat Reader fails. We believe it's a bug in Acrobat reader, because if we modify the document with removing portions of text so that only one of the 2 fonts is really used, Acrobat Reader renders it fine. It fails only when both things are really used for rendering. A workaround for this problem to do separately.[src/gdevdevn.c 1.7, src/gdevpdtc.c 1.22, src/gdevpdtd.c 1.12, src/gdevpdtf.c 1.29, src/gdevpdtt.c 1.47, src/gdevpsf.h 1.24, src/gdevpsft.c 1.30, src/gdevpsfu.c 1.11, src/gdevtrac.c 1.5, src/gsccode.h 1.10, src/gstype42.c 1.31, src/gxfcopy.c 1.27, src/gxfont42.h 1.15, src/zfcid1.c 1.17, src/zfont42.c 1.15]
Process encryption dictionary after reading all parts of xref. Old code resolved encryption dictionary after reading the latest part of xref only and returned null instead of the dictionary for some files. Fixes bug 686907 from customer 1060.[lib/pdf_main.ps 1.75]
pdfwrite : Don't add subset prefix when a font doesn't embeed. Ghostscript Bug 686893 NeverEmbed for Japanese CID fonts doesn't work correctly Patch from Koji Nakamaru.[src/gdevpdtf.c 1.28]
Fix for 686785 segfault with PDF 1.4. The PDF interpreter was calling PDF 1.4 transparency features (begin_trasnparency_group) even though the alpha involved was 1.0. THe fix is to set a flag when the need for transparency is done at the start of a page and then testing it when transparency may be needed durng the page.[lib/pdf_draw.ps 1.70, lib/pdf_main.ps 1.74]
This fix corrects a recursion loop that exists with PDF form objects with a transparency group.[lib/pdf_draw.ps 1.69]
Count 1st page objects as shared objects. This is the 1st version that generates files compatible with AR5 used as a browser plug-in. Earlier versions of Acrobat ignore malformed hint tables. All versions ignore the tables when they read the file from disk. Fixes bug 592841[lib/pdfopt.ps 1.20]
pdfwrite : Glyph indices were wrongly computed with copied FontType 11. Ghostscript Bug 686894 "Corrupted CMap".[src/gxfcopy.c 1.26]
Add standard banner and (unnecessary) double include protection to satisfy policy tests.[src/macos_carbon_pre.h 1.2]
Correct listing of MacOS platform-specific source files.[doc/Develop.htm 1.116]
Previous commit was from a bad version of the file (prior to a local correction in a different directory). This fix is the correct fix for embedded fonts that have Length 0 for customer #590.[lib/pdf_font.ps 1.55]
Some PDF files have embedded fonts with Length == 0. These should default to the same handling as when there is no embedded font. Fix for customer #590.[lib/pdf_font.ps 1.54]
Add an example library client for MacOS, comparable to dxmain and dwmain for other platforms. This implementation is specific to Metrowerk CodeWarrior, relying on the MSL/SIOUX stdio implementation for the interactive window. No project file support at the moment. Code contributed by Nigel Hathaway.[src/dmmain.c 1.1, src/dmmain.r 1.1]
Add a prefix header file for the MacOS Carbon build to enable target-specific settings. DETAILS: Metrowerks CodeWarrior doesn't really have an equivalent of the -D commandline option to set CPP defines at compile time. This makes it difficult to set target-specific #ifdef's, for example the __CARBON__ switches used in the MacOS support code. The closest thing offered is a hook in the project file for a 'prefix' header file that will be prepended to each source file as it is fed to the preprocessor. We add such a file for the carbon build, and enable it in the project file xml. The conditional in macgenmcpxml.sh is a direct comparison for the Ghostscript carbon shlib name, which is excessively brittle. Something like perl's =~ /carbon/i on the target name would be preferable, but I couldn't figure out how to do that reliably in sh.[src/macgenmcpxml.sh 1.10, src/macos_carbon_pre.h 1.1]
Check for a valid filter name before trying to parse jbig2 global context streams. Fixes bug 686829. DETAILS: The expansion of abbreviated filter names and check for supported filters was happening after the special-case handling of JBIG2Decode parameters, resulting is an '/undefined in /.jbig2makeglobalctx' error if Ghostscript was compiled without jbig2 support, rather than the usual 'Unable to process' warnings for files containing JBIG2Decode data.[lib/pdf_base.ps 1.38]
Remove spurious '-c' options to install. Closes bug 686895.[ijs/Makefile.in 1.2]
Initialize current color value as null when pattern color space is set. Fixes bug 686805[src/zpcolor.c 1.10]
Fix : Don't fail when GlyphNames2Unicode can't be provided for a CID font.[lib/gs_fntem.ps 1.6]
A pair of fixes for Bug 686791 Device bitcmyk produces wrong output The bitcmyk device produce the wrong output if GrayValues=8. In this case the pixel size is 32 bits. The encode_color procedure was sign extending the MSB into the upper 32 bits of 64 bit gx_color_indexes. The fix in gdevbit.c prevents this from happening. The fix in gdevm32.c makes it so that it does not matter. I am including both for completeness. The bitcmyk device should not produce garbage in the remaining bits. Thus the first fix. However there may be other devices with this problem so I am including the fix in gdevm32.c. There was a recent report from an AIX system with a similar problem[src/gdevbit.c 1.7, src/gdevm32.c 1.5]
Provide a trial support for converting a text to Unicode.[lib/gs_cidfn.ps 1.27, lib/gs_fntem.ps 1.5, lib/gs_fonts.ps 1.30, lib/gs_pdfwr.ps 1.33, src/gdevpdtc.c 1.21, src/zbfont.c 1.19]
Stream 'position' was not update correctly under some conditions. Fixes Bug #686859 for customer #600. DETAILS: The stream position was not updated if the buffer was emptied by sgets, which then called to spgetcc. The latter would reset the read pointers needed in order to account for the empty buffer.[src/stream.c 1.22]
pdfwrite : Convert Type 0 fonts with multiple CID font descendents into Type 0 fonts with single CID font descendents (part 2). DETAILS : The previous patch appears wrong for the case when same CID font is used with different CMaps. Creating multiple Type 0 fonts for this case, assigning them a composite font name with CMap name. Minor changes : - a compiler warning in gdevpdfv.c . - a wrong error code was returned from zfcid0.c .[src/gdevpdfv.c 1.26, src/gdevpdtc.c 1.20, src/gdevpdtf.c 1.27, src/gdevpdtf.h 1.18, src/gdevpdtt.c 1.46, src/gdevpdtt.h 1.17, src/zfcid0.c 1.20]
Double-equals ('==') for string comparison is not portable shell. Thanks to Nelson Beebe for pointing out the issue.[src/configure.ac 1.29]
Fix : Removed a debug hack.[src/gsfcmap1.c 1.6]
PDF Forms that contained indirect objects need to be resolved prior to processing with 'execform'. Bug #686884 for customer #150.[lib/pdf_draw.ps 1.68]
Fix (pdfwrite) : Convert Type 0 fonts with multiple CID font descendents into Type 0 fonts with single CID font descendents. DETAILS : Bug 686869 "Rasterized characters". Our testbase doesn't test this case. Rather the test file for 686869 contains a font with 2 CID descendents, it actually uses only the 1st descendent, so it's not a complete test. The new code fails with 401-01.ps . This test file is buggy and requires a special workaround, which should be a separate patch. The main change is gdevpdtc.c, gdevpdtf.h . Minor changes : - added a new argument to a set of CMap management functions to access a submap corresponding to a specified font index; - gs_cmap_init now reserves so many gs_id numbers, as many fonts it refer; - removed some unused variables (gdevpdfm.c, gdevpdfv.c, gdevpdtb.c).[src/gdevpdfm.c 1.31, src/gdevpdfv.c 1.25, src/gdevpdtb.c 1.19, src/gdevpdtc.c 1.19, src/gdevpdtf.c 1.26, src/gdevpdtf.h 1.17, src/gdevpdtt.c 1.45, src/gdevpdtt.h 1.16, src/gdevpdtw.c 1.18, src/gdevpdtw.h 1.3, src/gdevpsf.h 1.23, src/gdevpsfm.c 1.14, src/gsfcmap.c 1.22, src/gxfcmap.h 1.15, src/zcidtest.c 1.3]
Fix (pdfwrite) : Removing the 'vdata' argument to simplify internal interfaces. DETAILS : This change is algorithmically equivalent. Note that 'size' argument is replaced with 'bsize', which now passes the buffer size rather than text size. Added some dynamical checks to ensure the buffer size is enough.[src/gdevpdtc.c 1.18, src/gdevpdte.c 1.36, src/gdevpdtt.c 1.44, src/gdevpdtt.h 1.15]
Bump version number after the 8.10 release.[doc/News.htm 1.130, lib/gs_init.ps 1.91, src/gscdef.c 1.36, src/version.mak 1.63]