[pango] Bug 608923 - Incorrect/broken ligatures on MacOS



commit 77f99dd9e17c5051b2b2dcfe6e7746f924e9f71b
Author: Kristian Rietveld <kris gtk org>
Date:   Sun Feb 28 13:48:22 2010 +0100

    Bug 608923 - Incorrect/broken ligatures on MacOS
    
    Fix the basic ATSUI to probably work on 64-bit Snow Leopard.  The main
    culprit was most probably in the usage of CGFontRef, where ATSUFontID
    was expected.

 modules/basic/basic-atsui.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/modules/basic/basic-atsui.c b/modules/basic/basic-atsui.c
index a3df773..369a596 100644
--- a/modules/basic/basic-atsui.c
+++ b/modules/basic/basic-atsui.c
@@ -86,21 +86,24 @@ basic_engine_shape (PangoEngineShape    *engine,
   const char *p;
   PangoATSUIFont *afont = PANGO_ATSUI_FONT (font);
   ATSUStyle style;
-  CGFontRef fontID;
+  ATSUFontID fontID;
   ATSUAttributeTag styleTags[] = { kATSUFontTag };
   ATSUAttributeValuePtr styleValues[] = { &fontID };
-  ByteCount styleSizes[] = { sizeof (CGFontRef) };
+  ByteCount styleSizes[] = { sizeof (ATSUFontID) };
 
   utf16 = g_utf8_to_utf16 (text, length, NULL, &n16, NULL);
 
-  err = ATSUCreateTextLayout (&text_layout);
-  err = ATSUSetTextPointerLocation (text_layout, utf16, 0, n16, n16);
+  err = ATSUCreateTextLayoutWithTextPtr (utf16, 0, n16, n16,
+                                         0,
+                                         NULL,
+                                         NULL,
+                                         &text_layout);
 
   err = ATSUCreateStyle(&style);
-  fontID = pango_atsui_font_get_cgfont (afont);
+  fontID = pango_atsui_font_get_atsfont (afont);
 
   err = ATSUSetAttributes(style,
-			  sizeof(styleTags) / sizeof(styleTags[0]),
+			  (ItemCount)(sizeof(styleTags) / sizeof(styleTags[0])),
 			  styleTags, styleSizes, styleValues);
 
   err = ATSUSetRunStyle(text_layout,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]