summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp')
-rw-r--r--WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp b/WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp
index 34941c0..adb7573 100644
--- a/WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp
+++ b/WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp
@@ -39,6 +39,8 @@
#include <unicode/unorm.h>
+extern int charUnicodeToUTF8HACK(unsigned short, char*);
+
namespace WebCore {
void SimpleFontData::platformInit()
@@ -93,15 +95,15 @@ void SimpleFontData::determinePitch()
float SimpleFontData::platformWidthForGlyph(Glyph glyph) const
{
- const char charArray[1] = { glyph };
- float escapements[1];
+ if (!m_platformData.font())
+ return 0;
- if (m_platformData.font()) {
- m_platformData.font()->GetEscapements(charArray, 1, escapements);
- return escapements[0] * m_platformData.font()->Size();
- }
+ char charArray[4];
+ float escapements[1];
- return 0;
+ charUnicodeToUTF8HACK(glyph, charArray);
+ m_platformData.font()->GetEscapements(charArray, 1, escapements);
+ return escapements[0] * m_platformData.font()->Size();
}
} // namespace WebCore