diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2012-05-09 15:56:35 +0200 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2012-05-09 15:59:47 +0200 |
commit | d4480ace7fdbe48aeaf77278c032b8b2ef2ebe8e (patch) | |
tree | e4d972bf449895a576598cf6e033cde5f0908075 /src/hb-ot-shape-complex-indic-private.hh | |
parent | 33c92e769563ec2a6c1249b57d8cac742eea6f88 (diff) |
[Indic] Improve matra vs consonant ordering
Another 1.5% down.
Diffstat (limited to 'src/hb-ot-shape-complex-indic-private.hh')
-rw-r--r-- | src/hb-ot-shape-complex-indic-private.hh | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/hb-ot-shape-complex-indic-private.hh b/src/hb-ot-shape-complex-indic-private.hh index e60b00aa..8ba37d36 100644 --- a/src/hb-ot-shape-complex-indic-private.hh +++ b/src/hb-ot-shape-complex-indic-private.hh @@ -62,11 +62,19 @@ enum indic_category_t { /* Visual positions in a syllable from left to right. */ enum indic_position_t { + POS_LEFT_MATRA = 0, + POS_PRE = 1, POS_BASE = 2, POS_ABOVE = 3, POS_BELOW = 4, - POS_POST = 5 + POS_POST = 5, + + POS_MATRAS = 6, + + POS_REPH = 7, + + POS_SMVD = 8 }; /* Categories used in IndicSyllabicCategory.txt from UCD */ @@ -100,10 +108,10 @@ enum indic_syllabic_category_t { enum indic_matra_category_t { INDIC_MATRA_CATEGORY_NOT_APPLICABLE = POS_BASE, - INDIC_MATRA_CATEGORY_LEFT = POS_PRE - 1, /* Move *before* existing "pre" chars */ - INDIC_MATRA_CATEGORY_TOP = POS_ABOVE, - INDIC_MATRA_CATEGORY_BOTTOM = POS_BELOW, - INDIC_MATRA_CATEGORY_RIGHT = POS_POST, + INDIC_MATRA_CATEGORY_LEFT = POS_LEFT_MATRA, + INDIC_MATRA_CATEGORY_TOP = POS_MATRAS, + INDIC_MATRA_CATEGORY_BOTTOM = POS_MATRAS, + INDIC_MATRA_CATEGORY_RIGHT = POS_MATRAS, /* We don't really care much about these since we decompose them * in the generic pre-shaping layer. They will only be used if @@ -114,13 +122,13 @@ enum indic_matra_category_t { * TODO: There are some split matras without Unicode decompositions. * We have to figure out what to do with them. */ - INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT = 8 + INDIC_MATRA_CATEGORY_BOTTOM, - INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT = 8 + INDIC_MATRA_CATEGORY_LEFT, - INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM = 8 + INDIC_MATRA_CATEGORY_BOTTOM, - INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = 8 + INDIC_MATRA_CATEGORY_BOTTOM, - INDIC_MATRA_CATEGORY_TOP_AND_LEFT = 8 + INDIC_MATRA_CATEGORY_LEFT, - INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = 8 + INDIC_MATRA_CATEGORY_LEFT, - INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = 8 + INDIC_MATRA_CATEGORY_RIGHT, + INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT = POS_MATRAS, + INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT = POS_LEFT_MATRA, + INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM = POS_MATRAS, + INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = POS_MATRAS, + INDIC_MATRA_CATEGORY_TOP_AND_LEFT = POS_LEFT_MATRA, + INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = POS_LEFT_MATRA, + INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = POS_MATRAS, INDIC_MATRA_CATEGORY_INVISIBLE = INDIC_MATRA_CATEGORY_NOT_APPLICABLE, INDIC_MATRA_CATEGORY_OVERSTRUCK = INDIC_MATRA_CATEGORY_NOT_APPLICABLE, |