diff options
author | Owen Taylor <otaylor@redhat.com> | 2004-07-29 22:37:39 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2004-07-29 22:37:39 +0000 |
commit | ffdcd28a9a3c87be593d17c8695302e259fdbc4a (patch) | |
tree | cad3c628aa48ddad50197ad6b7b00e8e27130eb2 /modules/indic | |
parent | 61c32cedb92a6e00c3ec4b29961310cf4b56fe9e (diff) | |
download | pango-ffdcd28a9a3c87be593d17c8695302e259fdbc4a.tar.gz |
Fix Malayalam double-consonant conjuncts: #121671, Rajkumar S
Thu Jul 29 16:10:06 2004 Owen Taylor <otaylor@redhat.com>
Fix Malayalam double-consonant conjuncts: #121671, Rajkumar S
* modules/indic/indic-ot.[ch]: Add a new feature
set pstf_p and use it for post-base consonants, since
the existing nukt_p suppressed the pstf feature.
(#121671, Rajkumar S)
* modules/indic/indic-ot-class-tables.c (mlymCharClasses):
make U+D2F (MALAYALAM LETTER YA) _pb not _ct.
* modules/indic/indic-ot-class-tables.c (mlymCharClasses):
Classify U/UU/VOCALIC R as _dr not _db since they should
be ordered after post-base consonants.
Diffstat (limited to 'modules/indic')
-rw-r--r-- | modules/indic/indic-ot-class-tables.c | 4 | ||||
-rw-r--r-- | modules/indic/indic-ot.c | 3 | ||||
-rw-r--r-- | modules/indic/indic-ot.h | 1 |
3 files changed, 4 insertions, 4 deletions
diff --git a/modules/indic/indic-ot-class-tables.c b/modules/indic/indic-ot-class-tables.c index 22d0c23f..f0eff95c 100644 --- a/modules/indic/indic-ot-class-tables.c +++ b/modules/indic/indic-ot-class-tables.c @@ -185,9 +185,9 @@ static IndicOTCharClass mlymCharClasses[] = { _xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, _iv, /* 0D00 - 0D0F */ _iv, _xx, _iv, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _bb, /* 0D10 - 0D1F */ - _ct, _ct, _ct, _bb, _ct, _bb, _bb, _ct, _ct, _xx, _ct, _ct, _ct, _ct, _ct, _ct, /* 0D20 - 0D2F */ + _ct, _ct, _ct, _bb, _ct, _bb, _bb, _ct, _ct, _xx, _ct, _ct, _ct, _ct, _ct, _pb, /* 0D20 - 0D2F */ _pb, _cn, _bb, _ct, _ct, _pb, _ct, _ct, _ct, _ct, _xx, _xx, _xx, _xx, _dr, _dr, /* 0D30 - 0D3F */ - _dr, _db, _db, _db, _xx, _xx, _dl, _dl, _dl, _xx, _s1, _s2, _s3, _vr, _xx, _xx, /* 0D40 - 0D4F */ + _dr, _dr, _dr, _dr, _xx, _xx, _dl, _dl, _dl, _xx, _s1, _s2, _s3, _vr, _xx, _xx, /* 0D40 - 0D4F */ _xx, _xx, _xx, _xx, _xx, _xx, _xx, _dr, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, /* 0D50 - 0D5F */ _iv, _iv, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx /* 0D60 - 0D6F */ }; diff --git a/modules/indic/indic-ot.c b/modules/indic/indic-ot.c index 211d3e9c..332638a4 100644 --- a/modules/indic/indic-ot.c +++ b/modules/indic/indic-ot.c @@ -370,11 +370,10 @@ glong indic_ot_reorder(const gunichar *chars, const glong *utf8_offsets, glong c } /* write post-base consonants */ - /* FIXME: does this put the right tags on post-base consonants? */ if (baseConsonant != lastConsonant) { if (postBase <= lastConsonant) { for (i = postBase; i <= lastConsonant; i += 1) { - writeChar(&output, chars[i], /*i*/ prev, nukt_p); + writeChar(&output, chars[i], /*i*/ prev, pstf_p); } /* write halant that was after base consonant */ diff --git a/modules/indic/indic-ot.h b/modules/indic/indic-ot.h index d52a3542..9fb46877 100644 --- a/modules/indic/indic-ot.h +++ b/modules/indic/indic-ot.h @@ -133,6 +133,7 @@ enum indic_glyph_property_ rphf_p = (junk | dist), blwf_p = (junk | dist | rphf), half_p = (junk | dist | rphf | blwf), + pstf_p = (junk | dist | rphf | blwf | half), nukt_p = (junk | dist | rphf | blwf | half | pstf) }; |