[Indic] Reorder Malayalam dot-reph to after base
Test sequence is simple: U+0D4E,U+0D15. The doth-reph should be reordered to after the Ka. https://bugzilla.redhat.com/show_bug.cgi?id=799565
This commit is contained in:
parent
742c4ee97e
commit
8b217f5ac5
|
@ -467,7 +467,7 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
|
|||
unsigned int limit = start;
|
||||
if (indic_plan->mask_array[RPHF] &&
|
||||
start + 3 <= end &&
|
||||
(/* TODO Handle other Reph modes. */
|
||||
(
|
||||
(indic_plan->config->reph_mode == REPH_MODE_IMPLICIT && !is_joiner (info[start + 2])) ||
|
||||
(indic_plan->config->reph_mode == REPH_MODE_EXPLICIT && info[start + 2].indic_category() == OT_ZWJ)
|
||||
))
|
||||
|
@ -482,7 +482,14 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
|
|||
base = start;
|
||||
has_reph = true;
|
||||
}
|
||||
};
|
||||
} else if (indic_plan->config->reph_mode == REPH_MODE_LOG_REPHA && info[start].indic_category() == OT_Repha)
|
||||
{
|
||||
limit += 1;
|
||||
while (limit < end && is_joiner (info[limit]))
|
||||
limit++;
|
||||
base = start;
|
||||
has_reph = true;
|
||||
}
|
||||
|
||||
switch (indic_plan->config->base_pos)
|
||||
{
|
||||
|
@ -570,7 +577,7 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
|
|||
* base consonants.
|
||||
*
|
||||
* Only do this for unforced Reph. (ie. not for Ra,H,ZWJ. */
|
||||
if (has_reph && base == start && start + 2 == limit) {
|
||||
if (has_reph && base == start && start - limit <= 2) {
|
||||
/* Have no other consonant, so Reph is not formed and Ra becomes base. */
|
||||
has_reph = false;
|
||||
}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
dot-reph.txt
|
||||
misc.txt
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
ൎക
|
Loading…
Reference in New Issue