Huw Davies : wineps.drv: When we' re using a GlyphDirectory we should clear the offsets and lengths of the loca and glyf tables in addition to changing their names .

Alexandre Julliard julliard at wine.codeweavers.com
Wed Dec 6 05:48:59 CST 2006


Module: wine
Branch: master
Commit: 9a2c4f7114231d7e99a9966840c23b58161f9b1f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9a2c4f7114231d7e99a9966840c23b58161f9b1f

Author: Huw Davies <huw at codeweavers.com>
Date:   Tue Dec  5 15:13:06 2006 +0000

wineps.drv: When we're using a GlyphDirectory we should clear the offsets and lengths of the loca and glyf tables in addition to changing their names.

Should fix printing on Mac based cups servers.

---

 dlls/wineps.drv/type42.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/wineps.drv/type42.c b/dlls/wineps.drv/type42.c
index 27b4174..8c6b9b7 100644
--- a/dlls/wineps.drv/type42.c
+++ b/dlls/wineps.drv/type42.c
@@ -161,7 +161,10 @@ TYPE42 *T42_download_header(PSDRV_PDEVIC
     static const char storage[] ="]\nhavetype42gdir{pop}{{string} forall}ifelse\n";
     static const char end[] = "] def\n"
       "havetype42gdir{/GlyphDirectory 256 dict def\n"
-      " sfnts 0 get dup %d (locx) putinterval %d (glfx) putinterval}if\n"
+      " sfnts 0 get dup\n"
+      "  %d <6c6f6378000000000000000000000000> putinterval\n" /* replace loca entry with dummy locx */
+      "  %d <676c6678000000000000000000000000> putinterval\n" /* replace glyf entry with dummy glfx */
+      " }if\n"
       "currentdict end dup /FontName get exch definefont pop\n";
 
 




More information about the wine-cvs mailing list