summaryrefslogtreecommitdiff
path: root/modules/indic/indic-ot.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-12-07 21:14:52 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-12-07 21:14:52 +0000
commitf41604ffcaaae2f34ad989ccbe09f2f38e665146 (patch)
tree42ef3d614dd7876d85943999f1d74d78a4925618 /modules/indic/indic-ot.c
parent819c2195c4615ae155160cc63b8fa3f77ee6ae53 (diff)
downloadpango-f41604ffcaaae2f34ad989ccbe09f2f38e665146.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!
Diffstat (limited to 'modules/indic/indic-ot.c')
-rw-r--r--modules/indic/indic-ot.c23
1 files changed, 20 insertions, 3 deletions
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 */