[Chromium] CTFontCopyTable of MacOSX10.5 SDK doesn't work for layout tables
authorbashi@chromium.org <bashi@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2012 02:37:43 +0000 (02:37 +0000)
committerbashi@chromium.org <bashi@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Jun 2012 02:37:43 +0000 (02:37 +0000)
https://bugs.webkit.org/show_bug.cgi?id=90235

Reviewed by Kent Tamura.

Use CGFontCopyTableForTag instead.

No new tests. css3/font-feature-settings-rendering.html should pass. I'll rebase expectations once bots get the result.

* platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:
(WebCore::harfbuzzCoreTextGetTable):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121510 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp

index 52a0b72..b3f6890 100644 (file)
@@ -1,3 +1,17 @@
+2012-06-28  Kenichi Ishibashi  <bashi@chromium.org>
+
+        [Chromium] CTFontCopyTable of MacOSX10.5 SDK doesn't work for layout tables
+        https://bugs.webkit.org/show_bug.cgi?id=90235
+
+        Reviewed by Kent Tamura.
+
+        Use CGFontCopyTableForTag instead.
+
+        No new tests. css3/font-feature-settings-rendering.html should pass. I'll rebase expectations once bots get the result.
+
+        * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:
+        (WebCore::harfbuzzCoreTextGetTable):
+
 2012-06-28  Philip Rogers  <pdr@google.com>
 
         Add preventative assert in SVGTRefElement
index 6209e70..966589d 100644 (file)
@@ -109,8 +109,10 @@ static void releaseTableData(void* userData)
 static hb_blob_t* harfbuzzCoreTextGetTable(hb_face_t* face, hb_tag_t tag, void* userData)
 {
     FontPlatformData* platformData = reinterpret_cast<FontPlatformData*>(userData);
-    CTFontRef ctFont = platformData->ctFont();
-    CFDataRef cfData = CTFontCopyTable(ctFont, tag, kCTFontTableOptionNoOptions);
+    // It seems that CTFontCopyTable of MacOSX10.5 sdk doesn't work for
+    // OpenType layout tables(GDEF, GSUB, GPOS). Use CGFontCopyTableForTag instead.
+    CGFontRef cgFont = platformData->cgFont();
+    CFDataRef cfData = CGFontCopyTableForTag(cgFont, tag);
     if (!cfData)
         return 0;