From 77f99dd9e17c5051b2b2dcfe6e7746f924e9f71b Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Feb 2010 13:48:22 +0100 Subject: 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 file changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/basic/basic-atsui.c b/modules/basic/basic-atsui.c index a3df773d..369a596a 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, -- cgit v1.2.1