summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2009-11-05 16:28:49 +0100
committerLars Knoll <lars.knoll@nokia.com>2009-11-05 16:28:49 +0100
commite6636cadacf220785fca12b741b4587ff1ee42ec (patch)
treef56f26d68d6103da543e62948b705e38d0f0de54
parente66916e33821e71ba19479c32108a2be8bb539b2 (diff)
fix bug with Malayalam Samvruthokaram.
As reported on the mailing list on June 10, 2009 by Praveen A.
-rw-r--r--src/harfbuzz-indic.cpp4
-rw-r--r--tests/shaping/main.cpp2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/harfbuzz-indic.cpp b/src/harfbuzz-indic.cpp
index df447e6..3008fca 100644
--- a/src/harfbuzz-indic.cpp
+++ b/src/harfbuzz-indic.cpp
@@ -1746,6 +1746,10 @@ static int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int
++pos;
continue;
}
+ if (script == HB_Script_Malayalam && state == Matra && uc[pos-1] == 0x0d41) {
+ ++pos;
+ continue;
+ }
goto finish;
case Nukta:
if (state == Consonant)
diff --git a/tests/shaping/main.cpp b/tests/shaping/main.cpp
index 9b6aa31..41f2dbb 100644
--- a/tests/shaping/main.cpp
+++ b/tests/shaping/main.cpp
@@ -979,6 +979,8 @@ void tst_QScriptEngine::malayalam()
{ 0x5e, 0x34, 0x65, 0x0 } },
{ { 0xd15, 0xd57, 0x0 },
{ 0x34, 0x65, 0x0 } },
+ { { 0xd1f, 0xd4d, 0xd1f, 0xd41, 0xd4d, 0x0 },
+ { 0x69, 0x5b, 0x64, 0x0 } },
{ {0}, {0} }
};