summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 071fc059..a4b021d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
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-07 Behdad Esfahbod <behdad@gnome.org>
+
* pango/pango-layout-private.h:
* pango/pango-layout.c (pango_layout_get_extents_internal),
(pango_layout_get_extents), (pango_layout_clear_lines),
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 */