diff options
author | claireho <chinglanho@gmail.com> | 2011-12-16 17:15:50 -0800 |
---|---|---|
committer | claireho <chinglanho@gmail.com> | 2011-12-16 17:58:25 -0800 |
commit | db0ba8cf3183e1c6296b2d1bde2af3f83e1affc7 (patch) | |
tree | d74e983a55395fb3d6c0ad748028755ea10288bf | |
parent | 5b51d0c851af1852ecc7562790cbbbee156c2c44 (diff) | |
download | harfbuzz-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-x | src/harfbuzz-indic.cpp | 4 |
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; } |