| Index: Source/platform/fonts/harfbuzz/HarfBuzzFaceCoreText.cpp
|
| diff --git a/Source/platform/fonts/harfbuzz/HarfBuzzFaceCoreText.cpp b/Source/platform/fonts/harfbuzz/HarfBuzzFaceCoreText.cpp
|
| index 96b0285d4ec5b3a3300e6775111f86fca32c30e5..84d32f79f67aa6bac06571e8a5ef67309f202029 100644
|
| --- a/Source/platform/fonts/harfbuzz/HarfBuzzFaceCoreText.cpp
|
| +++ b/Source/platform/fonts/harfbuzz/HarfBuzzFaceCoreText.cpp
|
| @@ -31,12 +31,12 @@
|
| #include "config.h"
|
| #include "platform/fonts/harfbuzz/HarfBuzzFace.h"
|
|
|
| +#include "hb-coretext.h"
|
| +#include "hb.h"
|
| #include "platform/fonts/FontPlatformData.h"
|
| #include "platform/fonts/SimpleFontData.h"
|
| #include "platform/fonts/harfbuzz/HarfBuzzShaper.h"
|
| -
|
| #include <ApplicationServices/ApplicationServices.h>
|
| -#include "hb.h"
|
|
|
| namespace WebCore {
|
|
|
| @@ -100,31 +100,9 @@ static hb_font_funcs_t* harfBuzzCoreTextGetFontFuncs()
|
| return harfBuzzCoreTextFontFuncs;
|
| }
|
|
|
| -static void releaseTableData(void* userData)
|
| -{
|
| - CFDataRef cfData = reinterpret_cast<CFDataRef>(userData);
|
| - CFRelease(cfData);
|
| -}
|
| -
|
| -static hb_blob_t* harfBuzzCoreTextGetTable(hb_face_t* face, hb_tag_t tag, void* userData)
|
| -{
|
| - CGFontRef cgFont = reinterpret_cast<CGFontRef>(userData);
|
| - CFDataRef cfData = CGFontCopyTableForTag(cgFont, tag);
|
| - if (!cfData)
|
| - return 0;
|
| -
|
| - const char* data = reinterpret_cast<const char*>(CFDataGetBytePtr(cfData));
|
| - const size_t length = CFDataGetLength(cfData);
|
| - if (!data || !length)
|
| - return 0;
|
| - return hb_blob_create(data, length, HB_MEMORY_MODE_READONLY, reinterpret_cast<void*>(const_cast<__CFData*>(cfData)), releaseTableData);
|
| -}
|
| -
|
| hb_face_t* HarfBuzzFace::createFace()
|
| {
|
| - // It seems that CTFontCopyTable of MacOSX10.5 sdk doesn't work for
|
| - // OpenType layout tables(GDEF, GSUB, GPOS). Use CGFontCopyTableForTag instead.
|
| - hb_face_t* face = hb_face_create_for_tables(harfBuzzCoreTextGetTable, m_platformData->cgFont(), 0);
|
| + hb_face_t* face = hb_coretext_face_create(m_platformData->cgFont());
|
| ASSERT(face);
|
| return face;
|
| }
|
|
|