diff options
| author | 2016-02-19 15:03:47 +0000 | |
|---|---|---|
| committer | 2016-02-19 15:03:48 +0000 | |
| commit | 31af215b26cc0832a35509668241f0f7c2496e3c (patch) | |
| tree | bdc7454541430a8cff6be6b4c29e6cf9a4c479f0 | |
| parent | 477ecd762262ef1f4812ac92b352a282d458e1d5 (diff) | |
| parent | c1fa6d0deb21bdfb59368a9c88b263ea5c65f9cf (diff) | |
Merge "Use UTF32 directly in HarfBuzz<->Skia interface." into nyc-dev
| -rw-r--r-- | core/jni/android/graphics/HarfBuzzNGFaceSkia.cpp | 12 |
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; } |