From e35b3f26ffc3a810036c04dedc0ed80d13dca5f1 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 7 Dec 2006 21:15:26 +0000 Subject: Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai) 2006-12-07 Behdad Esfahbod 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! --- ChangeLog | 8 ++++++++ modules/indic/indic-ot.c | 23 ++++++++++++++++++++--- 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 + + 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 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 */ -- cgit v1.2.1