[Webkit-unassigned] [Bug 206898] Glyphs with `rvrn` substitutions don't respond to letter-spacing with variable font, Safari macOS & iOS

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 12 08:27:49 PST 2020


https://bugs.webkit.org/show_bug.cgi?id=206898

--- Comment #5 from Stephen Nixon <stephen at arrowtype.com> ---
Thanks for taking a look at this, Miles!

Sorry, I could have been more clear.

Start with this example:

<div style="font: 25vw 'Recursive'; letter-spacing: -0.2em; font-variation-settings: 'ital' 1">ooaoo</div>

(also at https://codepen.io/thundernixon/pen/dyoYdaZ?editors=1100)

In Chrome or Firefox, all letters are touching. In Safari, the "a" has a huge gap to the right side. This is because it keeps its same "advance width", despite other letter spaces decreases as they should. By contrast, the overall spacing of “o” changes according to letter-spacing.

If you change 'ital' to 0, the “a” will change from its italic alternate to its two-story default shape. Now, its spacing will adjust properly with letter-spacing changes. At "letter-spacing: -0.2em;" all letters should touch. But, any alternates, like italic alts, that are subbed in with 'rvrn' (required variation alternates) are unaffected by letter-spacing.

You can hack around this by adding a style like:

font-feature-settings: 'ss17';

But obviously, this hack isn’t intentional, intuitive, or ideal.

In place of “a” you could use any glyph that has an italic alt, such as “b d e g h I j k m n u v w y” (if I’m remembering italic subs in the Sans styles correctly). “o” doesn’t have an alt, so it is unaffected.

I realize this is kind of deep in type details, so please let me know if I can clarify any better. Thanks again!

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200212/e8f4f82b/attachment.htm>


More information about the webkit-unassigned mailing list