Bug 3204605: Hebrew Diacritics rendering problem.
Problem: Non-spacing Hebrew discritics is rendered as a spacing
character(base char) instead of positioned to last precediding
base character.
This is a new bug after sync to latest Harfbuzz.old library.
Reverted to the older version of harfbuzz-hebrew.c
Change-Id: I7e9cc5296fdfb0654ab1eeccfce960a3c2ffa5f0
diff --git a/src/harfbuzz-hebrew.c b/src/harfbuzz-hebrew.c
index 67029be..b5431a5 100755
--- a/src/harfbuzz-hebrew.c
+++ b/src/harfbuzz-hebrew.c
@@ -84,7 +84,7 @@
logClusters[0] = 0;
for (i = 1; i < shaper_item->item.length; ++i) {
- hb_uint16 base = shapedChars[slen-1];
+ hb_uint16 base = shapedChars[cluster_start];
hb_uint16 shaped = 0;
HB_Bool invalid = FALSE;
if (uc[i] == Dagesh) {
@@ -143,7 +143,7 @@
}
if (shaped) {
if (shaper_item->font->klass->canRender(shaper_item->font, (HB_UChar16 *)&shaped, 1)) {
- shapedChars[slen-1] = shaped;
+ shapedChars[cluster_start] = shaped;
} else
shaped = 0;
}