summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ben Wagner <bungeman@google.com> 2016-02-19 15:03:47 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-02-19 15:03:48 +0000
commit31af215b26cc0832a35509668241f0f7c2496e3c (patch)
treebdc7454541430a8cff6be6b4c29e6cf9a4c479f0
parent477ecd762262ef1f4812ac92b352a282d458e1d5 (diff)
parentc1fa6d0deb21bdfb59368a9c88b263ea5c65f9cf (diff)
Merge "Use UTF32 directly in HarfBuzz<->Skia interface." into nyc-dev
-rw-r--r--core/jni/android/graphics/HarfBuzzNGFaceSkia.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/core/jni/android/graphics/HarfBuzzNGFaceSkia.cpp b/core/jni/android/graphics/HarfBuzzNGFaceSkia.cpp
index ae99f0bff330..731d22ada710 100644
--- a/core/jni/android/graphics/HarfBuzzNGFaceSkia.cpp
+++ b/core/jni/android/graphics/HarfBuzzNGFaceSkia.cpp
@@ -39,7 +39,6 @@
#include <SkPoint.h>
#include <SkRect.h>
#include <SkTypeface.h>
-#include <SkUtils.h>
#include <hb.h>
@@ -82,17 +81,16 @@ static void SkiaGetGlyphWidthAndExtents(SkPaint* paint, hb_codepoint_t codepoint
static hb_bool_t harfbuzzGetGlyph(hb_font_t* hbFont, void* fontData, hb_codepoint_t unicode, hb_codepoint_t variationSelector, hb_codepoint_t* glyph, void* userData)
{
HarfBuzzFontData* hbFontData = reinterpret_cast<HarfBuzzFontData*>(fontData);
+ SkPaint* paint = hbFontData->m_paint;
+ paint->setTextEncoding(SkPaint::kUTF32_TextEncoding);
if (unicode > 0x10ffff) {
unicode = 0xfffd;
}
- SkPaint* paint = hbFontData->m_paint;
- // It would be better to use kUTF32_TextEncoding directly
- paint->setTextEncoding(SkPaint::kUTF16_TextEncoding);
+ SkUnichar unichar = unicode;
+
uint16_t glyph16;
- uint16_t unichar[2];
- size_t size = SkUTF16_FromUnichar(unicode, unichar);
- paint->textToGlyphs(unichar, size * sizeof(*unichar), &glyph16);
+ paint->textToGlyphs(&unichar, sizeof(unichar), &glyph16);
*glyph = glyph16;
return !!*glyph;
}