Italic in variable fonts

It's great to see more variable fonts being made. One thing I'm wondering about, though, is how variable "italic" is being handled: I see fonts with an "italic" axis where the design variation is really slant, and fonts that have an unexpected scale (for either italic or slant), like 0 to 100, or 100 to 1000.

Is this an issue in tools—that the tools aren't guiding font developers to use the most appropriate axis with the most appropriate scale? Or is it that font developers aren't sufficiently familiar with the registered axes and how they're defined? Or are there motivated reasons for font developers to do things the way they are in spite of how the registered 'ital' axis is defined? 

Comments

  • John Hudson
    John Hudson Posts: 3,227
    I'd say as a general observation that the distinction between 'italic' and 'slanted' isn't a clean one for type designers, so I'm not surprised that the definition of the ital axis may be misunderstood. It may be helpful to provide some illustration of the difference and possible interaction of the two axes.

    Personally, I think we need to stress more strongly that the ital axis primarily exists to complete the STAT table style/axis mapping model, and that actually including ital as a variation axis in a font isn't something that is generally useful.

    With regard to the scale, there may indeed be a tool related issue. If a font does contain a variation along an ital axis—whether correctly interpreted or not—, the visualising this within the UI of the source format will probably require a scale other than 0–1 (the variable font UIs tend to employ integer values). So either this scale needs to be redefined to 0–1 before generating the font, or an avar table needs to be used to map the source scale to the defined ital scale.
  • Hrant Հրանդ Փափազեան Papazian
    edited February 2020
    As an aside, I don't know whether this is possible, but: slant is ideally not defined as an angle, because that does not fit the grid, and causes more problems the smaller the Em; the "clean" way to define slant is as a ratio of integers (more accurately, of relative primes). Might there be a way to offer an axis in such a form?
  • Also, if a font has a slant axis but not an italic axis, client apps probably ought to use the slant axis when an end user pokes their “italic” button, etc.
  • Paul van der Laan
    Paul van der Laan Posts: 242
    edited February 2020
    It is not only unique to the ital axis I think. If you look at https://www.axis-praxis.org and https://v-fonts.com you will find many examples of fonts using registered axes (wdth and wght in particular) that do not conform to the scales recommended in the OT spec.
    I think variable fonts are being treated by many people as a great way to make animated type in a web environment. Often in an experimental way. (Where roman construction can morph into italic, for instance.) The library at Future Fonts is a good example of that. And in this environment it does not matter whether the correct registered axes with correct scales are being applied – in css you can access any axis with any kind of scale.
    In comparison there are fewer people out there who make complex variable fonts that need to perform flawlessly in cross-platform OS usage. This is also a lot harder to pull off because then you have to take care of many additional things, including the STAT table, for which there are not many tools available. And the ital axis in particular – when it needs to be defined as a cross-font axis – is one of the hardest. More examples how to define this correctly on the level of TTX would be greatly appreciated.
  • Thomas Phinney
    Thomas Phinney Posts: 2,896
    edited February 2020
    Is this an issue in tools—that the tools aren't guiding font developers to use the most appropriate axis with the most appropriate scale? Or is it that font developers aren't sufficiently familiar with the registered axes and how they're defined? Or are there motivated reasons for font developers to do things the way they are in spite of how the registered 'ital' axis is defined? 
     
    Mostly the first two.

    BUT, Slant does have the issue that for most fonts using it, if they use the range values the spec would require (from, say -10 to zero), in most apps they get an interface that works in the reverse direction of what users would expect. It just feels *wrong* to move a slider to the left to slant something to the right. I have been working with this for quite a while now, and it's something that I am just not getting over.  :(

    In the meantime, for those apps that are smart enough to know the Slant axis as a specific thing, and display axis interfaces with sliders or dials that go the “wrong way,” I suggest they reverse the directionality of that slider or dial.

    Sigh.
  • The Recursive font has both slant and italic axes, so that you can have the more script-like italic letterforms upright, or the more geometric regular forms slanted. I think it works really well. The italic axis is treated as a three-position switch: off at 0, on at 1, and automatic based on the slant at 0.5.
  • I think variable fonts are being treated by many people as a great way to make animated type in a web environment. Often in an experimental way.
    About that, are there any examples of that other than foundry sites and demo pages? This stuff tends to be heavy on system resources, so I'm curious to see it implemented in a production environment. Probably animating in response to user input (mouse, scroll) is the way to go?