diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-12-07 21:14:52 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-12-07 21:14:52 +0000 |
commit | f41604ffcaaae2f34ad989ccbe09f2f38e665146 (patch) | |
tree | 42ef3d614dd7876d85943999f1d74d78a4925618 /modules/indic/indic-ot.c | |
parent | 819c2195c4615ae155160cc63b8fa3f77ee6ae53 (diff) | |
download | pango-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.c | 23 |
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 */ |