Forbid Batak killers after vowel signs #627
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Batak closed syllables are encoded in logical order (consonant, vowel, consonant, killer) instead of visual order (consonant, consonant, vowel, killer). HarfBuzz allows both orders without any dotted circles. This is a problem. Most users don’t read the standard, but type in whatever order looks right. Moreover, Noto Sans Batak (if even Google didn’t read the standard, who will?) does not implement the required reordering, so anyone using that font will type in the visual order. To help prevent what happened to New Tai Lue from happening to Batak, the wrong order should get a dotted circle.
To insert a dotted circle between a vowel and a killer, the killer needs to be a CONS_MED or a CONS_MOD. For this pull request I decided to make it a CONS_MOD_BELOW. Of course, it is not really a below-base nukta, but saying it is induces the right behavior.
This still allows the erroneous order ⟨consonant, killer, vowel⟩. That is not a problem because no one is likely to type that, and if they do, there would be no ambiguity between the logical and visual orders anyway.