kern pairs between Arabic numerals missing from kern feature
See original GitHub issueThe kerning.plist in the UFOs generated from noto-source/NotoSansArabic-MM.glyphs only contains kerning pairs between Arabic numerals. These are written left-to-right, have special bidirectional class “AN”.
Our _glyphIsRtl
method correctly return False. So these kern pairs are not moved to the RTL kern lookup.
The problem is the current KernFeatureWriter doesn’t output any kerning for them, not even in the LTR kern lookup…
I believe it has to do with this commit, whereby we only output LTR lookup if the ltrScripts
list is not empty, or if the latter is empty and the rtlScripts
list is empty:
https://github.com/googlei18n/ufo2ft/commit/9757f20ceb21c06dec5fdfddc361ea1cc30499a4
But the font’s features.fea has languagesytem DFLT dftl; languagesystem arab dflt;
, so the ltrScripts
list is empty and rtlScripts
is non empty.
This is also related: https://github.com/googlei18n/ufo2ft/issues/112
I’ll follow up with a failing test case
Issue Analytics
- State:
- Created 6 years ago
- Comments:26 (10 by maintainers)
Also,
lookupflag RightToLeft;
has no effect on pairwise or any kind of lookup other than cursive attachments where it determines the order of start and end anchors.I definitely want to fix HarfBuzz to do similar to Uniscribe. But I want everyone to understand the issue completely: the LTR kern pair for digits GO INTO THE RTL KERNING TABLE! That’s the problem.