Webfont problem with istroke


#1

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.


#2

Maybe the character is decomposed by the script or the browser and then displayed from i+and a combing stroke?


#3

So is there anything I can or should do?


#4

Try to add anchors to the i and the stroke glyph (should be “strokeshortcomb”). Or remove the stroke glyph altogether.


#5

That’s what I just did and it does the trick. Somehow there was a missing anchor there. Thanks Georg.


#6

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.


#7

Good suggestion.


#8

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.