|
|
|
@ -105,51 +105,51 @@ enum indic_position_t { |
|
|
|
|
|
|
|
|
|
/* Categories used in IndicSyllabicCategory.txt from UCD. */ |
|
|
|
|
enum indic_syllabic_category_t { |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_OTHER = OT_X, |
|
|
|
|
|
|
|
|
|
INDIC_SYLLABIC_CATEGORY_AVAGRAHA = OT_Symbol, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_BINDU = OT_SM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT = OT_C, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD = OT_C, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL = OT_CM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER = OT_C, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL = OT_CM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER = OT_PLACEHOLDER, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED = OT_CM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_REPHA = OT_Repha, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER = OT_X, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_NUKTA = OT_N, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER = OT_RS, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_TONE_LETTER = OT_X, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_TONE_MARK = OT_N, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VIRAMA = OT_H, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VISARGA = OT_SM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VOWEL = OT_V, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT = OT_M, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT = OT_V |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_OTHER = OT_X, |
|
|
|
|
|
|
|
|
|
INDIC_SYLLABIC_CATEGORY_AVAGRAHA = OT_Symbol, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_BINDU = OT_SM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT = OT_C, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD = OT_C, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL = OT_CM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER = OT_C, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL = OT_CM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER = OT_PLACEHOLDER, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED = OT_CM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_CONSONANT_REPHA = OT_Repha, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER = OT_X, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_NUKTA = OT_N, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER = OT_RS, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_TONE_LETTER = OT_X, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_TONE_MARK = OT_N, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VIRAMA = OT_H, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VISARGA = OT_SM, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VOWEL = OT_V, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT = OT_M, |
|
|
|
|
INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT = OT_V |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/* Categories used in IndicSMatraCategory.txt from UCD */ |
|
|
|
|
enum indic_matra_category_t { |
|
|
|
|
INDIC_MATRA_CATEGORY_NOT_APPLICABLE = POS_END, |
|
|
|
|
INDIC_MATRA_CATEGORY_NOT_APPLICABLE = POS_END, |
|
|
|
|
|
|
|
|
|
INDIC_MATRA_CATEGORY_LEFT = POS_PRE_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP = POS_ABOVE_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_BOTTOM = POS_BELOW_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_RIGHT = POS_POST_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_LEFT = POS_PRE_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP = POS_ABOVE_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_BOTTOM = POS_BELOW_C, |
|
|
|
|
INDIC_MATRA_CATEGORY_RIGHT = POS_POST_C, |
|
|
|
|
|
|
|
|
|
/* These should resolve to the position of the last part of the split sequence. */ |
|
|
|
|
INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM = INDIC_MATRA_CATEGORY_BOTTOM, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_LEFT = INDIC_MATRA_CATEGORY_TOP, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
|
|
|
|
|
INDIC_MATRA_CATEGORY_INVISIBLE = INDIC_MATRA_CATEGORY_NOT_APPLICABLE, |
|
|
|
|
INDIC_MATRA_CATEGORY_OVERSTRUCK = POS_AFTER_MAIN, |
|
|
|
|
INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT = POS_PRE_M |
|
|
|
|
INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM = INDIC_MATRA_CATEGORY_BOTTOM, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_LEFT = INDIC_MATRA_CATEGORY_TOP, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, |
|
|
|
|
|
|
|
|
|
INDIC_MATRA_CATEGORY_INVISIBLE = INDIC_MATRA_CATEGORY_NOT_APPLICABLE, |
|
|
|
|
INDIC_MATRA_CATEGORY_OVERSTRUCK = POS_AFTER_MAIN, |
|
|
|
|
INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT = POS_PRE_M |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/* Note: We use ASSERT_STATIC_EXPR_ZERO() instead of ASSERT_STATIC_EXPR() and the comma operation
|
|
|
|
|