2003-08-16 19:52 giles

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]

2003-08-16 19:48 giles

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]

2003-08-16 19:43 giles

Document testing.cfg as well as testing.cfg.example.

[doc/Testing.htm 1.21]

2003-08-16 07:53 raph

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]

2003-08-16 06:51 ray

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]

2003-08-16 00:42 ray

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]

2003-08-15 22:32 raph

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]

2003-08-15 20:23 giles

Correct a typo in the previous commit.

[src/gp_macio.c 1.29]

2003-08-15 20:19 giles

Remove redunant prototypes from gp_mac.h and modernise the implementation
of gp_open_scratch_file on MacOS to match the updated prototype in gp.h.
Also adds some limit checking in that implementation.

Note that gp_mac.h is now empty. I've left it in the build in expectation of
future usefulness.

[src/gp_mac.h 1.5, src/gp_macio.c 1.28]

2003-08-14 22:28 ghostgum

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]

2003-08-14 19:56 alexcher

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]

2003-08-14 17:52 alexcher

Include time.h and sys/time.h on Intel compiler as requested by Duraid Madina.
Fix bug 686984

[src/time_.h 1.7]

2003-08-14 17:32 alexcher

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]

2003-08-13 16:04 alexcher

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]

2003-08-13 15:56 alexcher

Don't rely on MS linker merging global variables defined multiple times.

[src/dwtrace.h 1.5]

2003-08-13 15:54 alexcher

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]

2003-08-13 15:49 alexcher

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]

2003-08-13 15:14 alexcher

OpenWatcom doesn't define LPRGBQUAD. Add the corresponding typedef.
Partial fix for 686816

[src/windows_.h 1.5]

2003-08-12 14:13 ray

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]

2003-08-12 13:32 igor

Fix : The condition for empty environment string was wrong in ztempfile.
Bug 686922 "no default temp dir"

[src/zfile.c 1.35]

2003-08-11 19:14 igor

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]

2003-08-11 17:42 ray

Correct offsets into .bigstring (broken when string size changed from 1000).

[lib/gs_frsd.ps 1.8]

2003-08-11 11:50 igor

Fix (pdfwrite) : Don't write OP into charprocs.

DETAILS :

Bug 686986  "Could not find the extended graphic state ..." error

[src/gdevpdfg.c 1.34]

2003-08-11 11:44 igor

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]

2003-08-10 06:33 dan

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]

2003-08-08 18:45 ray

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]

2003-08-07 18:19 ray

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]

2003-08-07 17:09 igor

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]

2003-08-06 17:05 alexcher

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]

2003-08-06 16:24 giles

Disable the legacy macstdio device in the default Codewarrior build. It conflicts
with and is obsoleted by the modern Metrowerks Standard Library and our default
Carbon build, which most users are now using.

[src/macos-mcp.mak 1.21]

2003-08-06 16:13 giles

Remove an unused local variable

[src/gdevpdtw.c 1.22]

2003-08-06 15:50 giles

Fix incorrect line endings.

[src/gdevpdtw.c 1.21]

2003-08-04 13:51 giles

Document adding the jbig2dec source to the source release.

[doc/Release.htm 1.79]

2003-08-02 22:50 igor

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]

2003-08-02 15:52 igor

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]

2003-08-02 12:00 igor

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]

2003-08-02 09:54 igor

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]

2003-08-01 20:37 igor

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]

2003-08-01 16:50 jack

Update News.htm with current open bugs and incompatible changes.

[doc/News.htm 1.133]

2003-08-01 15:53 giles

Remove a redundant dependency definition.

[src/lib.mak 1.130]

2003-08-01 15:40 giles

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]

2003-08-01 15:21 giles

Update release date for stable 8.11 release.

[doc/News.htm 1.131, src/gscdef.c 1.37, src/version.mak 1.64]

2003-07-31 20:14 alexcher

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]

2003-07-31 12:15 igor

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]

2003-07-30 20:24 giles

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]

2003-07-30 15:48 ray

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]

2003-07-30 13:35 ray

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]

2003-07-30 07:26 ray

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]

2003-07-30 00:25 giles

Properly handle the absence of a parameter dictionary in the JBIG2Decode
filter implementation. Closes bug 686979.

DETAILS:

Filter implementations can be called with   or just
with  on the stack. Previously our jbig2 decode filter only
supported the former. This went undetected because previous files we'd
encountered from the CVISION and Adobe encoders included a /JBIG2Globals
filter parameter even if it was empty. The file submitted with the bug
has no filter params at all for the JBIG2Decode stream. It identifies
itself as having been generated by CVISION Technologies' PDFCompressor 2.0.

[src/zfjbig2.c 1.3]

2003-07-29 12:24 giles

Correct capitalization of the -d parameter in the IJS examples.

[doc/Devices.htm 1.68]

2003-07-26 19:23 dan

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]

2003-07-25 14:08 giles

Build fix of the jbig2 makefile. OOur portable (v)snprintf implementation is
in snprintf.c, notvsnprintf.c. Reported in but 686966.

[src/jbig2.mak 1.6]

2003-07-25 00:05 giles

Record that .buildnativefontmap has been run even if .getnativefonts returns
false (unimplemented). This was causing an endless loop if a font was not
found as dofindfont tried to call the native font enumeration code over and
over.

[lib/gs_fonts.ps 1.38]

2003-07-24 15:22 ray

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]

2003-07-24 00:25 giles

Fix security issue with .setnativefontmapbuilt. Procedures that change the
systemdict must be execute-only so the .forceput cannot be extracted and
used to change other parameters. Thanks to Russell Lang for this.

[lib/gs_fonts.ps 1.37]

2003-07-24 00:07 giles

Since globaldict isn't always available and userdict is subject to save/restore,
keep /.nativefontmapbuilt in systemdict, with an accompanying procedure to set
its value since systemdict is read-only from the normal runlevel.

[lib/gs_fonts.ps 1.36]

2003-07-23 23:31 giles

Record whether the .buildnativefontmap has been run as a boolean under
the key /.nativefontmapbuilt in userdict, instead of the array hack
used previously.

A better choice would be globaldict which is less susceptible to save/restore
but this is a language level 2 feature and not defined with gs_fonts.ps is
run.

[lib/gs_fonts.ps 1.35]

2003-07-23 21:27 raph

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]

2003-07-23 17:20 giles

Enable native font enumeration by default. This change also corrects some
flaws in the search logic. Like with the FONTPATH directory scanning,
.buildnativefontmap will only be called the first time a font cannot be found.
However, it can still be run manually to update the in-memory Fontmap.

DETAILS:

To record that .buildnativefontmap has been run, we define /.nativefontmapbuilt
as an array containing a single element, either 'true' or 'false'. We use an
array to avoid local vs. global issues when the value is set during the call
to .buildnativefontmap.

[lib/gs_fonts.ps 1.34]

2003-07-19 06:13 raph

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]

2003-07-18 21:40 raph

Draws the alpha plane of PDF 1.4 SMask images as a soft masked group.

[lib/pdf_draw.ps 1.71]

2003-07-17 13:49 giles

Speed up native font enumeration on MacOS by caching the results of parsing the FOND resource
table.

Also return paths of the from '%macresource%path:to:file#POST' for resource files without
FOND tables, on the assumption these are LWFN files. The font loading machinery doesn't yet
support such paths, and they are simply skipped without being added to the in-memory font map.

[src/gp_macio.c 1.27]

2003-07-15 16:47 giles

Rename reftable to fond_table, etc. to avoid confusion with postscript references.

[src/gp_macio.c 1.26]

2003-07-15 01:05 giles

Improve native font enumeration on MacOS. This feature is still not enabled.

DETAILS:

There are six different api calls to open a resource file on MacOS Carbon,
all of various provenance and history. We were using FSOpenResourceFile()
in our FOND parsing code because it will open the data fork of .dfont files
or the resource fork of resource font files. Very convenient. However, it
fails for some common font files with broken resource maps. Therefore we
now fall back to FSpOpenResFile() which only tries the resource fork, but
can handle the broken maps, if the first attempt fails. I've not encountered
any .dfont files with broken resource maps; they're a recent phenomenon so
we should be safe there.

Also contains changes to skip the FOND parsing for .ttf and .otf filenames,
to ask for 'Local' instead of 'Global' fonts in the enumerator (the difference
is unclear) and changes to use the Carbon headers in the Carbon build.

[src/gp_macio.c 1.25]

2003-07-14 19:32 ray

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]

2003-07-14 07:20 ghostgum

Exclude NT file attributes when building zip file of sources.

[doc/Release.htm 1.78]

2003-07-11 15:18 giles

Have configure define DONT_HAVE_JMEMSYS_H is appropriate, is support of the eventual generation of gconfig_.h by the configure script rather than unix-aux.mak.

[src/configure.ac 1.32]

2003-07-10 22:32 dan

Added casts to remove some warning messages from MSVC.  Partial fix for
bug #686592.

[src/gdevdevn.c 1.8, src/gdevpsd.c 1.5]

2003-07-10 19:21 ray

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]

2003-07-10 18:42 raph

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]

2003-07-10 18:34 raph

A code clarity change only. Make the value of 1-input stitching function
more explicit in the degenerate case.

[src/gsfunc3.c 1.15]

2003-07-10 18:07 giles

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]

2003-07-10 17:55 giles

Generate the list of X11 libraries we need to link to in configure. Previously this was hardwired, but some systems do require the addition of the X_PRE_LIBS and X_EXTRA_LIBS discovered by the configure macro. Closes bug 686938.

[src/Makefile.in 1.26, src/configure.ac 1.31]

2003-07-10 17:46 ray

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]

2003-07-10 17:11 giles

Recognize the 0.3 source release jbig2dec.

[src/configure.ac 1.30]

2003-07-10 17:08 giles

Improve a comment in the generated gconfig_.h on unix.

[src/unix-aux.mak 1.10]

2003-07-10 02:56 ray

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]

2003-07-09 23:55 igor

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]

2003-07-09 23:46 igor

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]

2003-07-09 14:03 igor

Fixing a C++ style comment in fapi_ft.c.

[src/fapi_ft.c 1.10]

2003-07-08 21:03 giles

Don't redefine _Windows, since msvctail.mak passes it on the command line. Fixes a warning under
MSVC reported by Igor Melichev.

[src/iapi.h 1.10]

2003-07-08 17:31 giles

Use 'fontname' instead of 'name' as an argument to gp_enumerate_fonts_next()
to avoid a warning on MSVC. Thanks to Igor for pointing out the issue.

[src/gp.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]

2003-07-08 15:02 giles

Add dmmain.c to the list of (platform-specific) source files exempt from the C++ comment policy.

[toolbin/tests/check_comments.py 1.2]

2003-07-08 14:58 giles

Remove some C++ style comments.

[src/gsiomacres.c 1.4]

2003-07-08 14:56 giles

Remove some C++ style comments and correct formatting.

[src/zfontenum.c 1.2]

2003-07-08 14:51 giles

Add zfontenum.c to the file listing in the documentation.

[doc/Develop.htm 1.117]

2003-07-08 13:26 igor

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]

2003-07-07 21:54 jack

Implement C++ style comment checking.  Partially fixes bug #538033.

[toolbin/tests/check_comments.py 1.1]

2003-07-07 21:53 jack

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]

2003-07-04 19:31 giles

Initial check in of the native font enumeration mechanism with an implementation for MacOS. The
code is currently disabled pending resolution of bugs regarding some font files.

DETAILS:

This adds a trio of gp_enumerate_fonts calls which implement an interator for querying the native
operating system for font files. This is essentially required to make use of the support for
reading resource-based font collection files on MacOS since there is no convenient way to
construct a Fontmap by hand. Thus our initial implementation focusses there and only stubs are
provided on other platforms. However, it would generally be a useful feature on any system that
provides such services.

An iterator object is created with gp_enumerate_fonts_init() and released with
gp_enumerate_fonts_free(). Between these calls, each font is returned by a successive
call to gp_enumerate_fonts_next() as a pair of C strings giving the access path and reported font
name.

On MacOS these are implemented using the FMFontIterator API from Carbon. Unfortunately, while this
returns font names and files, it does not provide details about the resource internals so we must
open the file and extract the resource id corresponding to the font itself. It also is not always
possible to obtain the correct postscript name from the OS call.

Connection is made to postscript through the .getnativefonts operator, implemented in zfontenum.c.
I handles the interation and places the results on the stack as an array of two element arrays,
each representing the name and path as postscript strings. New code in gs_fonts.ps calls this and
adds the entries to the fontmap after first calling .findfontname on each path to verify
accessibility and in case the reported font name is unreliable. This is implemented as the
.buildnativefontmap procedure, which is called by the font location logic if a requested font
is not found in the Fontmap.

Caveats: This can be a very expensive operation, so like the FONTPATH directory scanning it should
probably only happen once in a given session, instead of every time a font isn't found. The macos
implementation could also be considerably streamlined.

[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]

2003-07-04 15:08 giles

Apparently Metrowerks CodeWarrior defines _WINDOWS_ instead of the normal __WINDOWS__. Support both for determining the calling conventions of the client api. Problem reported by Des Courtney as bug 686934.

[src/iapi.h 1.9]

2003-07-04 13:02 giles

Add the new get_baselines script to the regression test documentation.

[doc/Testing.htm 1.20]

2003-07-03 12:20 igor

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]

2003-07-02 23:41 jack

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]

2003-07-02 14:35 giles

Change the release instructions to refer to GPL Ghostscript rather than GNU Ghostscript. We're no longer part of the GNU project. Closes bug 686913.

[doc/Release.htm 1.77]

2003-07-02 13:16 giles

Document passing -DGX_COLOR_INDEX_TYPE in unixansi.mak in response to the confusion reported in bug 686876.

[src/unixansi.mak 1.32]

2003-07-01 15:01 giles

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]

2003-07-01 14:41 giles

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]

2003-07-01 10:00 igor

Fix : merge Adobe Glyph List to gs/Resource/Decoding/Unicode.

[Resource/Decoding/Unicode 1.3]

2003-07-01 04:37 alexcher

Fix premature increment of a nested string counter.
Skip white space characters before '(' on 0 level.

[src/geninit.c 1.8]

2003-07-01 04:19 alexcher

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]

2003-06-30 16:23 alexcher

Fix a typo in a comment.

[lib/gs_stres.ps 1.5]

2003-06-26 22:42 dan

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]

2003-06-26 22:20 alexcher

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]

2003-06-26 15:59 alexcher

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]

2003-06-26 09:14 igor

Fix : Improving an error message.

[src/imain.c 1.32]

2003-06-24 10:57 igor

Fix : gs/Resource/Decoding/Unicode contained wrong codes for Cyrillic and Herbrew.

[Resource/Decoding/Unicode 1.2]

2003-06-22 11:15 igor

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]

2003-06-21 15:16 igor

Fix (pdfwrite) : Improving the condition for writing ToUnicode CMap for simple fonts.

[src/gdevpdte.c 1.39, src/gdevpdtw.c 1.19]

2003-06-21 12:12 igor

Fix : Remove LONG_MIN from gxfill.c for a better portability.

[src/gxfill.c 1.38]

2003-06-20 15:52 giles

Give the explicit maximum buffer size in bytes. Suggestion by Ray re bug
686925.

[doc/API.htm 1.35, doc/DLL.htm 1.31]

2003-06-20 14:32 giles

Document the 64 KB length limit on input data passed through the
gsapi_run_string* and gsdll_run_cont() calls. Fixes bug 686925.

[doc/API.htm 1.34, doc/DLL.htm 1.30]

2003-06-20 13:20 giles

Remove  inclusions as it defines types that conflict with our
std*.h on HPUX and probably other systems. Fix for bug 686920.

Also correct the copyright dates for gxhintn.c.

DETAILS:

limits.h was defining ushort on HPUX which conflicts with the definition
imported in stdpre.h. There are two approaches within our portability
framework: don't use these defines, or make them part of the
output from genarch. Since there's only one use in the code (for
MIN_LONG) I simply defined it at the top of the file.

The test used should work on all 2's complement systems and would
probably fail miserably on anything else. It was the most portable
define I could come up with. A less assuming variant
((long)(ARCH_MAX_ULONG>>1)+1) also works but generates a warning about
the overflow.

genarch.c could of course test a variety of candidates and look for the
rollover. We could also switch to autoconf for provisioning the whole
set of defines. This was chosen as the simplest fix for the time.

[src/gxfill.c 1.37, src/gxhintn.c 1.27]

2003-06-20 11:23 giles

Declare zimage_data_setup() as private to match its prototype. Corrects
a warning on the HPUX native compiler.

[src/zimage.c 1.11]

2003-06-19 15:38 igor

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]

2003-06-18 20:51 alexcher

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]

2003-06-18 20:01 alexcher

Use single '%' in a comment.

[lib/gs_stres.ps 1.4]

2003-06-18 19:58 alexcher

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]

2003-06-18 19:56 alexcher

Fix mis-identificaion of every DSC-conforming file as EPS.

[src/gdevpdfp.c 1.32]

2003-06-18 19:53 alexcher

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]

2003-06-18 13:30 igor

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]

2003-06-17 13:41 igor

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]

2003-06-17 12:10 giles

Clarify a comment.

[src/macos-mcp.mak 1.20]

2003-06-17 09:42 igor

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]

2003-06-16 15:04 igor

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]

2003-06-16 10:46 igor

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]

2003-06-11 19:49 igor

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]

2003-06-11 12:02 igor

Fix : Errors in a comment documenting gs_glyph.

[src/gsccode.h 1.11]

2003-06-11 01:35 giles

Print out modified file names and versions when generating the html changelog. Update the current
versions of Changes.html and Details.html as an example.

[doc/Changes.htm 1.47, doc/Details.htm 1.6]

2003-06-11 01:31 giles

Print out modified filenames and versions when generating the html changelog.

[toolbin/split_changelog.py 1.5]

2003-06-10 14:29 igor

Fix : (type 1 interpreter) : ce1_setcurrentpoint was wrong.

[src/gdevpsfx.c 1.18, src/gstype1.c 1.23]

2003-06-09 22:25 alexcher

Edited to reflect new capabilities of Bugzilla and current bug reporting
practices.

[doc/Bug-form.htm 1.37]

2003-06-09 22:16 alexcher

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]

2003-06-09 21:55 alexcher

Add hyperlinks to Ghostscript Bugzilla bug entries.

[doc/Devices.htm 1.67, doc/Issues.htm 1.37, doc/Projects.htm 1.52]

2003-06-09 13:58 alexcher

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]

2003-06-08 13:59 igor

Fix : Removing an unused code.

[src/gdevbit.c 1.8]

2003-06-08 03:30 igor

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]

2003-06-07 21:17 igor

pdfwrite : Write Encoding for True Type fonts.

DETAILS :

See comment in code.

[src/gdevpdtt.c 1.48]

2003-06-07 21:14 igor

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]

2003-06-06 17:50 igor

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]

2003-06-06 16:29 alexcher

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]

2003-06-03 07:31 igor

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]

2003-06-03 06:26 dan

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]

2003-06-03 05:30 dan

This fix corrects a recursion loop that exists with PDF form objects
with a transparency group.

[lib/pdf_draw.ps 1.69]

2003-06-02 19:52 alexcher

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]

2003-06-02 16:21 igor

pdfwrite : Glyph indices were wrongly computed with copied FontType 11.
Ghostscript Bug 686894 "Corrupted CMap".

[src/gxfcopy.c 1.26]

2003-06-02 13:35 giles

Add standard banner and (unnecessary) double include protection to satisfy policy tests.

[src/macos_carbon_pre.h 1.2]

2003-06-02 13:29 giles

Correct listing of MacOS platform-specific source files.

[doc/Develop.htm 1.116]

2003-05-31 00:10 ray

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]

2003-05-30 23:28 ray

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]

2003-05-29 19:28 giles

Add an example library client for MacOS, comparable to dxmain and dwmain for other platforms. This
implementation is specific to Metrowerk CodeWarrior, relying on the MSL/SIOUX stdio implementation
for the interactive window. No project file support at the moment.

Code contributed by Nigel Hathaway.

[src/dmmain.c 1.1, src/dmmain.r 1.1]

2003-05-29 19:11 giles

Add a prefix header file for the MacOS Carbon build to enable target-specific settings.

DETAILS:

Metrowerks CodeWarrior doesn't really have an equivalent of the -D commandline option to set CPP
defines at compile time. This makes it difficult to set target-specific #ifdef's, for example the
__CARBON__ switches used in the MacOS support code. The closest thing offered is a hook in the
project file for a 'prefix' header file that will be prepended to each source file as it is fed to
the preprocessor. We add such a file for the carbon build, and enable it in the project file xml.

The conditional in macgenmcpxml.sh is a direct comparison for the Ghostscript carbon shlib name,
which is excessively brittle. Something like perl's =~ /carbon/i on the target name would be
preferable, but I couldn't figure out how to do that reliably in sh.

[src/macgenmcpxml.sh 1.10, src/macos_carbon_pre.h 1.1]

2003-05-29 19:02 giles

Check for a valid filter name before trying to parse jbig2 global context streams.
Fixes bug 686829.

DETAILS:

The expansion of abbreviated filter names and check for supported filters was
happening after the special-case handling of JBIG2Decode parameters, resulting
is an '/undefined in /.jbig2makeglobalctx' error if Ghostscript was compiled
without jbig2 support, rather than the usual 'Unable to process' warnings for
files containing JBIG2Decode data.

[lib/pdf_base.ps 1.38]

2003-05-29 16:38 giles

Remove spurious '-c' options to install. Closes bug 686895.

[ijs/Makefile.in 1.2]

2003-05-27 16:10 alexcher

Initialize current color value as null when pattern color space is set.
Fixes bug 686805

[src/zpcolor.c 1.10]

2003-05-24 22:41 igor

Fix : Don't fail when GlyphNames2Unicode can't be provided for a CID font.

[lib/gs_fntem.ps 1.6]

2003-05-24 17:19 dan

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]

2003-05-23 09:57 igor

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]

2003-05-23 01:53 ray

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]

2003-05-22 23:37 igor

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]

2003-05-22 22:57 giles

Double-equals ('==') for string comparison is not portable shell. Thanks
to Nelson Beebe for pointing out the issue.

[src/configure.ac 1.29]

2003-05-22 20:27 igor

Fix : Removed a debug hack.

[src/gsfcmap1.c 1.6]

2003-05-22 15:51 ray

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]

2003-05-22 15:41 igor

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]

2003-05-22 06:02 igor

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]

2003-05-21 17:50 giles

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]