summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-12-07 21:15:26 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-12-07 21:15:26 +0000
commite35b3f26ffc3a810036c04dedc0ed80d13dca5f1 (patch)
treec8a33c71bc37d7b082ba3b9a52edce8ab6c148fc
parentb025bc7dba63caae0ae53c1435c069852b8a2d92 (diff)
downloadpango-e35b3f26ffc3a810036c04dedc0ed80d13dca5f1.tar.gz
Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai)
2006-12-07 Behdad Esfahbod <behdad@gnome.org> Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai) Composed char is not rendering properly Patch from LingNing Zhang * modules/indic/indic-ot.c (indic_ot_reorder): Fix it!
-rw-r--r--ChangeLog8
-rw-r--r--modules/indic/indic-ot.c23
2 files changed, 28 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 28ca1eb0..99bdc606 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-12-07 Behdad Esfahbod <behdad@gnome.org>
+
+ Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai)
+ Composed char is not rendering properly
+ Patch from LingNing Zhang
+
+ * modules/indic/indic-ot.c (indic_ot_reorder): Fix it!
+
2006-12-06 Behdad Esfahbod <behdad@gnome.org>
Red Hat Bug 216850: Issue in combination with vowels (ml_IN)
diff --git a/modules/indic/indic-ot.c b/modules/indic/indic-ot.c
index 68d7f105..47df96a4 100644
--- a/modules/indic/indic-ot.c
+++ b/modules/indic/indic-ot.c
@@ -437,9 +437,26 @@ glong indic_ot_reorder(const gunichar *chars, const glong *utf8_offsets, glong c
}
if ((class_table->scriptFlags & SF_MATRAS_AFTER_BASE) != 0) {
- writeMbelow(&output);
- writeMabove(&output);
- writeMpost(&output);
+ gboolean is_for_0C48 = FALSE;
+ if (output.fOutChars != NULL) { /*for 0x0C48 of Telugu*/
+ int t;
+ for (t = prev; t < syllable; t++) {
+ if (chars[t] == 0x0C48) {
+ writeMabove(&output);
+ writeMbelow(&output);
+ writeMpost(&output);
+
+ is_for_0C48 = TRUE;
+ break;
+ }
+ }
+ }
+
+ if (!is_for_0C48) {
+ writeMbelow(&output);
+ writeMabove(&output);
+ writeMpost(&output);
+ }
}
/* write below-base consonants */