[gs-bugs] [Bug 690203] handle io device not working

bugs.ghostscript.com-bugzilla-daemon at ghostscript.com bugs.ghostscript.com-bugzilla-daemon at ghostscript.com
Sun Mar 15 12:13:05 PDT 2009


http://bugs.ghostscript.com/show_bug.cgi?id=690203

henry.stiles at artifex.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ken.sharp at artifex.com



------- Additional Comments From henry.stiles at artifex.com  2009-03-15 12:13 -------
We are still working on how we want to handle this.  The problem is the driver
writer is using a truetype collection header with a truetype font, resulting in
a corrupt font.  It looks like HP and other PCL rips don't look at the header
and simply treat everything as truetype.  If you are only running pcl the
following patch is a workaround until we have a permanent fix.

svn diff
Index: base/gstype42.c
===================================================================
--- base/gstype42.c	(revision 9528)
+++ base/gstype42.c	(working copy)
@@ -153,6 +153,7 @@
     static const byte version_ttcf[4] = {'t', 't', 'c', 'f'};
 
     READ_SFNTS(pfont, 0, 12, OffsetTable);
+#if 0
     if (!memcmp(OffsetTable, version_ttcf, 4)) {
     	version = u32(OffsetTable + 4);
     	if (version != 0x00010000 && version !=0x00020000) {
@@ -169,11 +170,12 @@
     } else {
 	OffsetTableOffset = 0;
     }
-
     if (memcmp(OffsetTable, version1_0, 4) &&
 	    memcmp(OffsetTable, version_true, 4))
 	return_error(gs_error_invalidfont);
-
+#else
+	OffsetTableOffset = 0;
+#endif
     numTables = U16(OffsetTable + 4);
     if (numTables > MAX_NUM_TT_TABLES)
 	return_error(gs_error_invalidfont);
Index: base/ttfmain.c
===================================================================
--- base/ttfmain.c	(revision 9528)
+++ base/ttfmain.c	(working copy)
@@ -229,6 +229,7 @@
     this->tti = tti;
     this->design_grid = design_grid;
     r->Read(r, sVersion, 4);
+#if 0
     if(!memcmp(sVersion, "ttcf", 4)) {
 	unsigned int nFonts;
 	unsigned int nPos = 0xbaadf00d; /* Quiet compiler. */
@@ -248,6 +249,7 @@
     }
     if(memcmp(sVersion, sVersion1, 4) && memcmp(sVersion, "true", 4))
 	return fUnimplemented;
+#endif
     nNumTables    = ttfReader__UShort(r);
     ttfReader__UShort(r); /* nSearchRange */
     ttfReader__UShort(r); /* nEntrySelector */




------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.



More information about the gs-bugs mailing list