[gs-cvs] rev 8276 - trunk/gs/src

leonardo at ghostscript.com leonardo at ghostscript.com
Tue Oct 9 10:02:50 PDT 2007


Author: leonardo
Date: 2007-10-09 10:02:49 -0700 (Tue, 09 Oct 2007)
New Revision: 8276

Modified:
   trunk/gs/src/fapiufst.c
Log:
Fix (FAPI / UFST bridge) : A crash when processing an embedded CIDFontType 11.

DETAILS :

Debugged with running the test case of the bug 689471 with FAPI.
Needs an additional change to lib/FAPIconfig for running the test case with FAPI :

- /HookDiskFonts        [1 2 9 11 42]  % FontType values for disk PS fonts to be redirected to FAPI.
- /HookEmbeddedFonts    [1 2 9 11 42]  % FontType values for embedded PS fonts to be redirected to FAPI.
+ /HookDiskFonts        [2 9 11 42]  % FontType values for disk PS fonts to be redirected to FAPI.
+ /HookEmbeddedFonts    [2 9 11 42]  % FontType values for embedded PS fonts to be redirected to FAPI.

because UFST still can't handle embedded Type 1.

This patch passes impl_PCLchId2ptr as p_PCLglyphID2Ptr argument.
We believe it is correct for True Type,
but we're not sure about Type 1,
because Type 1 composite glyphs refer subglyphs 
in an inobvious way - see Type 1 specification.

EXPECTED DIFFERENCES :

None,


Modified: trunk/gs/src/fapiufst.c
===================================================================
--- trunk/gs/src/fapiufst.c	2007-10-09 08:28:49 UTC (rev 8275)
+++ trunk/gs/src/fapiufst.c	2007-10-09 17:02:49 UTC (rev 8276)
@@ -207,7 +207,7 @@
 	    return code;
 	}
     }
-    gx_set_UFST_Callbacks(NULL, impl_PCLchId2ptr, NULL);
+    gx_set_UFST_Callbacks(NULL, impl_PCLchId2ptr, impl_PCLchId2ptr);
     return 0;
 }
 
@@ -928,6 +928,9 @@
     int code;
     FSA_FROM_SERVER;
 
+#if !UFST_REENTRANT
+    static_server_ptr_for_ufst_callback = r;
+#endif
     make_asciiz_char_name(PSchar_name, sizeof(PSchar_name), c);
     r->ff = ff;
     CGIFchIdptr(FSA &cc, PSchar_name);



More information about the gs-cvs mailing list