summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-01-31 15:57:53 +0100
committerLars Knoll <lars.knoll@nokia.com>2011-02-01 15:29:55 +0100
commit213bd693a55c04ef25f5e8de5f6feefa9473a30a (patch)
tree991b374451f422f56e26254a5a03088f4229c473
parent3af70a9936269e7af0e7847497292e28065dea28 (diff)
Fix hebrew shaping of characters with multiple diacritics.
The old code would work for a maximum of one diacritic and insert dotted circles in valid syllables.
-rw-r--r--src/harfbuzz-hebrew.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/harfbuzz-hebrew.c b/src/harfbuzz-hebrew.c
index 67029be..b5431a5 100644
--- a/src/harfbuzz-hebrew.c
+++ b/src/harfbuzz-hebrew.c
@@ -84,7 +84,7 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
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 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
}
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;
}