diff --git a/core/jni/android/graphics/TextLayoutCache.cpp b/core/jni/android/graphics/TextLayoutCache.cpp index d26f563519ade..bd44a96ad4c9e 100644 --- a/core/jni/android/graphics/TextLayoutCache.cpp +++ b/core/jni/android/graphics/TextLayoutCache.cpp @@ -811,7 +811,7 @@ size_t TextLayoutEngine::shapeFontRun(SkPaint* paint, bool isRTL) { case HB_Script_Hebrew: case HB_Script_Bengali: case HB_Script_Thai:{ - const uint16_t* text16 = (const uint16_t*)mShaperItem.string; + const uint16_t* text16 = (const uint16_t*)(mShaperItem.string + mShaperItem.item.pos); SkUnichar firstUnichar = SkUTF16_NextUnichar(&text16); baseGlyphCount = paint->getBaseGlyphCount(firstUnichar); break;