diff options
Diffstat (limited to 'WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp')
-rw-r--r-- | WebCore/platform/graphics/haiku/SimpleFontDataHaiku.cpp | 16 |
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 |