When exporting webfonts I have a strange problem with istroke. The stroke seems to always be somewhere below the glyph, even when hard encoded. It happens to every instance of the font… any ideas?
I generated the Test HTML file with Rainer’s script.
The decomposition of istroke is done in the autogenerated ccmp feature by Glyphs:
lookup ccmp_latn_1 {
script latn;
sub itildebelow by i tildebelowcomb;
sub istroke by i strokeshortcomb;
} ccmp_latn_1;
This is probably done so the i can lose its dot if more combining marks are added to it later.
I think it would be less confusing to include an additional ‘istroke.dotless’ which could then be used for further combining marks.
For example, I would space the istroke wider than the i so the stroke doesn’t collide with surrounding letters. When it is decomposed to a normal i plus the combining stroke, this adjustment is lost unless you add contextual kerning or do other complicated adjustments.
Glyphs 2.5b still adds the wrong code to the automated ccmp: lookup ccmp_latn_1 { sub istroke by i strokeshortcomb; } ccmp_latn_1;
Adding to what jkutilek suggested, the contextual dotless substitution should also happen to istroke, jstroke, i-cy, je-cy, etc. That is all the characters that have the Unicode Soft_Dotted property (see Unicode Utilities: Unicodeset Soft_Dotter=Yes). I guess any of those with the “dotless” or “.dotless” suffix should be used.