summaryrefslogtreecommitdiffstats
path: root/third_party/harfbuzz
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-15 21:38:18 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-15 21:38:18 +0000
commita1d1ca839b89485079d21282e1a4d8f4ed938d9b (patch)
treeb6700ccae9c90e6b28ff6a0a50d6979a6544454a /third_party/harfbuzz
parent3b13c31b62fba930d227c053e51a6701ee365d83 (diff)
downloadchromium_src-a1d1ca839b89485079d21282e1a4d8f4ed938d9b.zip
chromium_src-a1d1ca839b89485079d21282e1a4d8f4ed938d9b.tar.gz
chromium_src-a1d1ca839b89485079d21282e1a4d8f4ed938d9b.tar.bz2
linux: fix multicharacter hebrew shaping
When we have base + vowel1 + vowel2, and there's no composed version of base + vowel1, attempt to compose base + vowel2 rather than composing vowel1 + vowel2 and then giving up on it because they don't compose. Review URL: http://codereview.chromium.org/549069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36413 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/harfbuzz')
-rw-r--r--third_party/harfbuzz/src/harfbuzz-hebrew.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/third_party/harfbuzz/src/harfbuzz-hebrew.c b/third_party/harfbuzz/src/harfbuzz-hebrew.c
index 2bda386..d2664de 100644
--- a/third_party/harfbuzz/src/harfbuzz-hebrew.c
+++ b/third_party/harfbuzz/src/harfbuzz-hebrew.c
@@ -86,7 +86,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) {
@@ -145,7 +145,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;
}