summaryrefslogtreecommitdiff
path: root/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp')
-rw-r--r--Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp15
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)