-
Notifications
You must be signed in to change notification settings - Fork 608
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
Documentation incorrect about default application of “liga” #2213
Comments
|
I see – thank you! Also, “frac” is only applied if the digit glyphs haven’t been substituted yet. After accounting for that in my tests, I see that HarfBuzz indeed applies “frac” across all the scripts I’m testing with. CoreText and DirectWrite still don’t. |
It is known that HarfBuzz application of
|
Looks like |
Every time we disabled a feature, it was because there were fonts that misrendered. Ie. Uniscribe doesn't applying that feature and fonts in the wild were referring to them and relying on them NOT being applied. I'm sure that was the case for Khmer. Don't remember about Indic/Myanmar. Some git archeology might suggest why it was done. I think was done in Indic shaper because Khmer was originally shaped with Indic shaper. Myanmar was forked off the Indic shaper so that's probably why is disabled there. Later we forked Khmer off Indic as well. So miight be doable to enable liga in Myanmar & Indic and just leave it off in Khmer. |
See how same change was done re |
I tested Indic (Oriya) and Myanmar with Uniscribe, it enables |
One difference between HarfBuzz and Uniscribe (I don’t know if it is known), is that with HarfBuzz features disabled by the shaper can’t be overridden by the user, while it can be overridden with Uniscribe (i.e. |
This seems to have been carried over from the Indic shaper, but Uniscribe enables it by default. See #2213 (comment)
The HarfBuzz documentation at
https://harfbuzz.github.io/shaping-opentype-features.html
says that for horizontal text the “liga” and “frac” features (among others) are enabled by default.
In testing with Brahmic scripts (9 × Indic, Khmer, Lao, Myanmar, Thai, Balinese, Sinhala, Tibetan) on Chrome 80, I found that not always to be the case. “frac” doesn’t seem to be enabled for any of these scripts, and “liga” only for Lao, Thai, and the USE scripts (which don’t include Sinhala yet in HarfBuzz).
“frac” isn’t applied to Brahmic scripts by CoreText and DirectWrite either, so it’s probably best to update the documentation to say for which scripts / engines HarfBuzz actually turns it on by default.
I see “liga” being applied to all Brahmic scripts by default by CoreText, and to Lao, Myanmar, Thai, and the USE scripts by DirectWrite. This means here the right answer isn’t obvious in the absence of a standard.
The text was updated successfully, but these errors were encountered: