[Indic] Handle Vowel syllables
Reusing the consonant logic!
This commit is contained in:
parent
6d8e0cb74c
commit
c5306b6861
|
@ -83,8 +83,7 @@ enum indic_position_t {
|
||||||
POS_SMVD
|
POS_SMVD
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Categories used in IndicSyllabicCategory.txt from UCD */
|
/* Categories used in IndicSyllabicCategory.txt from UCD. */
|
||||||
/* The assignments are guesswork */
|
|
||||||
enum indic_syllabic_category_t {
|
enum indic_syllabic_category_t {
|
||||||
INDIC_SYLLABIC_CATEGORY_OTHER = OT_X,
|
INDIC_SYLLABIC_CATEGORY_OTHER = OT_X,
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,10 @@ is_joiner (const hb_glyph_info_t &info)
|
||||||
static bool
|
static bool
|
||||||
is_consonant (const hb_glyph_info_t &info)
|
is_consonant (const hb_glyph_info_t &info)
|
||||||
{
|
{
|
||||||
return !!(FLAG (info.indic_category()) & (FLAG (OT_C) | FLAG (OT_Ra)));
|
/* Note: We treat Vowels as if they were consonants. This is safe because Vowels
|
||||||
|
* cannot happen in a consonant syllable. The plus side however is, we can call the
|
||||||
|
* consonant syllable logic from the vowel syllable function and get it all right! */
|
||||||
|
return !!(FLAG (info.indic_category()) & (FLAG (OT_C) | FLAG (OT_Ra) | FLAG (OT_V)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
|
@ -417,10 +420,8 @@ static void
|
||||||
initial_reordering_vowel_syllable (const hb_ot_map_t *map, hb_buffer_t *buffer, hb_mask_t *mask_array,
|
initial_reordering_vowel_syllable (const hb_ot_map_t *map, hb_buffer_t *buffer, hb_mask_t *mask_array,
|
||||||
unsigned int start, unsigned int end)
|
unsigned int start, unsigned int end)
|
||||||
{
|
{
|
||||||
/* TODO
|
/* We made the vowels look like consonants. So let's call the consonant logic! */
|
||||||
* Not clear to me how this should work. Do the matras move to before the
|
initial_reordering_consonant_syllable (map, buffer, mask_array, start, end);
|
||||||
* independent vowel? No idea.
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue