PATCH: better freetype enc fix

Marcus Meissner marcus at jet.franken.de
Sun Oct 26 03:58:05 CST 2003


Hi,

This fix supercedes Rein Klazes fix, since MS_MAKE_TAG is used in other places.

Ciao, Marcus

Changelog:
	Use the correct byteorder for the freetype encoding tag.

Index: dlls/gdi/freetype.c
===================================================================
RCS file: /home/wine/wine/dlls/gdi/freetype.c,v
retrieving revision 1.40
diff -u -r1.40 freetype.c
--- dlls/gdi/freetype.c	15 Oct 2003 20:51:22 -0000	1.40
+++ dlls/gdi/freetype.c	26 Oct 2003 09:22:32 -0000
@@ -1249,17 +1249,24 @@
         free_font( ret );
         return 0;
     }
+
+#define WINE_FT_ENC_TAG( _x1, _x2, _x3, _x4 ) \
+          ( ( (FT_ULong)_x1 << 24 ) |     \
+            ( (FT_ULong)_x2 << 16 ) |     \
+            ( (FT_ULong)_x3 <<  8 ) |     \
+              (FT_ULong)_x4         )
 	
     if (ret->charset == SYMBOL_CHARSET && 
-        !pFT_Select_Charmap(ret->ft_face, MS_MAKE_TAG('s','y','m','b'))) {
+        !pFT_Select_Charmap(ret->ft_face, WINE_FT_ENC_TAG('s','y','m','b'))) {
         /* No ops */
     }
-    else if (!pFT_Select_Charmap(ret->ft_face, MS_MAKE_TAG('u','n','i','c'))) {
+    else if (!pFT_Select_Charmap(ret->ft_face, WINE_FT_ENC_TAG('u','n','i','c'))) {
         /* No ops */
     }
     else {
-        pFT_Select_Charmap(ret->ft_face, MS_MAKE_TAG('a','r','m','n'));
+        pFT_Select_Charmap(ret->ft_face, WINE_FT_ENC_TAG('a','r','m','n'));
     }
+#undef WINE_FT_ENC_TAG
 
     ret->orientation = lf.lfOrientation;
     ret->name = strdupW(family->FamilyName);



More information about the wine-patches mailing list