diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2011-01-31 14:57:53 (GMT) |
---|---|---|
committer | Jiang Jiang <jiang.jiang@nokia.com> | 2011-03-14 10:28:10 (GMT) |
commit | a12d39fddf615a7d75e56403525a64847e4ba5a6 (patch) | |
tree | 486ecb6fb8fa0151a3011fe873d2005ffefa9ecd /src/3rdparty | |
parent | 57bda4d3139edeb76689ac64a8c36e5551093bf9 (diff) | |
download | Qt-a12d39fddf615a7d75e56403525a64847e4ba5a6.zip Qt-a12d39fddf615a7d75e56403525a64847e4ba5a6.tar.gz Qt-a12d39fddf615a7d75e56403525a64847e4ba5a6.tar.bz2 |
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.
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c b/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c index 67029be..b5431a5 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c +++ b/src/3rdparty/harfbuzz/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; } |