Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forbid Batak killers after vowel signs #627

Merged
merged 1 commit into from Dec 24, 2017

Conversation

@dscorbett
Copy link
Collaborator

commented Nov 22, 2017

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.

@behdad behdad merged commit 7bfdf1a into harfbuzz:master Dec 24, 2017
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@dscorbett dscorbett deleted the dscorbett:batak-killers branch Dec 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.