[Indic] Don't move virama with left matra
This is important for the Sinhala U+0DDA split matra since it decomposes to U+0DD9,U+0DCA where U+0DD9 is a left matra and U+0DCA is the virama. We don't want to move the virama with the left matra. TEST: U+0D9A,U+0DDA Note that we were already doing this in the Uniscribe bug compatibility mode. We now do it all the time.
This commit is contained in:
parent
82c4d9880a
commit
dde5506fd9
|
@ -662,13 +662,17 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
|
||||||
if ((FLAG (info[i].indic_category()) & (JOINER_FLAGS | FLAG (OT_N) | FLAG (OT_RS) | HALANT_OR_COENG_FLAGS)))
|
if ((FLAG (info[i].indic_category()) & (JOINER_FLAGS | FLAG (OT_N) | FLAG (OT_RS) | HALANT_OR_COENG_FLAGS)))
|
||||||
{
|
{
|
||||||
info[i].indic_position() = last_pos;
|
info[i].indic_position() = last_pos;
|
||||||
if (unlikely (indic_options ().uniscribe_bug_compatible &&
|
if (unlikely (info[i].indic_category() == OT_H &&
|
||||||
info[i].indic_category() == OT_H &&
|
|
||||||
info[i].indic_position() == POS_PRE_M))
|
info[i].indic_position() == POS_PRE_M))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Uniscribe doesn't move the Halant with Left Matra.
|
* Uniscribe doesn't move the Halant with Left Matra.
|
||||||
* TEST: U+092B,U+093F,U+094DE
|
* TEST: U+092B,U+093F,U+094DE
|
||||||
|
* We follow. This is important for the Sinhala
|
||||||
|
* U+0DDA split matra since it decomposes to U+0DD9,U+0DCA
|
||||||
|
* where U+0DD9 is a left matra and U+0DCA is the virama.
|
||||||
|
* We don't want to move the virama with the left matra.
|
||||||
|
* TEST: U+0D9A,U+0DDA
|
||||||
*/
|
*/
|
||||||
for (unsigned int j = i; j > start; j--)
|
for (unsigned int j = i; j > start; j--)
|
||||||
if (info[j - 1].indic_position() != POS_PRE_M) {
|
if (info[j - 1].indic_position() != POS_PRE_M) {
|
||||||
|
|
Loading…
Reference in New Issue