aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclaireho <chinglanho@gmail.com>2011-12-16 17:15:50 -0800
committerclaireho <chinglanho@gmail.com>2011-12-16 17:58:25 -0800
commitdb0ba8cf3183e1c6296b2d1bde2af3f83e1affc7 (patch)
treed74e983a55395fb3d6c0ad748028755ea10288bf
parent5b51d0c851af1852ecc7562790cbbbee156c2c44 (diff)
downloadharfbuzz-db0ba8cf3183e1c6296b2d1bde2af3f83e1affc7.tar.gz
Fix Indic Text overlap problem.
Bug 5775639 In indic_shape_syllable(), control characters are skipped from the output. However, the offsets and advances data of shaped item are not shifted when skipping the shaped item data. Change-Id: If24706e8bffbad533fd97a2ccb030513c4e4694a
-rwxr-xr-xsrc/harfbuzz-indic.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/harfbuzz-indic.cpp b/src/harfbuzz-indic.cpp
index ffe9573..3c10c57 100755
--- a/src/harfbuzz-indic.cpp
+++ b/src/harfbuzz-indic.cpp
@@ -1683,6 +1683,10 @@ static bool indic_shape_syllable(HB_Bool openType, HB_ShaperItem *item, bool inv
}
item->glyphs[j] = item->glyphs[i];
item->attributes[j] = item->attributes[i];
+ // BEGIN android-added
+ item->offsets[j] = item->offsets[i];
+ item->advances[j] = item->advances[i];
+ // END android-added
++i;
++j;
}