Skip to content

[USE] USE cluster definition incompatible with non-Brahmic combining marks #859

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

Open
NorbertLindenberg opened this issue Nov 13, 2021 · 0 comments

Comments

@NorbertLindenberg
Copy link

The USE cluster definition currently treats combining marks that don't have an explicit Indic syllabic category assigned as class BASE_IND and turns them into single code point clusters. This affects all combining marks for non-Brahmic scripts or for the Common and Inherited scripts, except for the handful of marks for which the USE overrides the Indic syllabic category and assigns a Brahmic mark category.

According to the USE specification, this leads to more problems:

– As the single code point cluster for such marks starts with the mark, a dotted circle should be inserted. (None of the three major implementations actually does that.)

– As the mark and its base are in separate clusters, none of the features of the Basic cluster formation GSUB group should be applied, leading to problems such as googlefonts/noto-fonts#1953. (This problem is only reproducible in HarfBuzz; DirectWrite and CoreText appear to ignore the specification in this regard, leading to the behavior the font designer intended.)

Following the current path, these problems can be hacked around by overriding more non-Brahmic combining marks, such as the ones used for Tai Le, with Indic syllabic categories. However, this isn't a real solution because ① any of the combining marks in scripts Common and Inherited can be applied to any base character, and ② many of these combining marks have non-zero combining classes and therefore can be reordered in normalization, something the USE isn't prepared to handle.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant