diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp b/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp index a239d643d..2ed4a98c3 100644 --- a/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp +++ b/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp @@ -25,6 +25,7 @@ #include "FontPlatformData.h" #include "FontCascade.h" +#include "SharedBuffer.h" #include <wtf/text/WTFString.h> namespace WebCore { @@ -139,6 +140,20 @@ bool FontPlatformData::operator==(const FontPlatformData& other) const return equals; } +PassRefPtr<SharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const +{ + const char tag[4] = { + char(table & 0xff), + char((table & 0xff00) >> 8), + char((table & 0xff0000) >> 16), + char(table >> 24) + }; + QByteArray tableData = m_data->rawFont.fontTable(tag); + + // TODO: Wrap SharedBuffer around QByteArray when it's possible + return SharedBuffer::create(tableData.data(), tableData.size()); +} + unsigned FontPlatformData::hash() const { if (!m_data) |