rsms / inter

The Inter font family
https://rsms.me/inter/
SIL Open Font License 1.1
17.5k stars 399 forks source link

Advice for Using Inter for GNOME #719

Open cassidyjames opened 1 month ago

cassidyjames commented 1 month ago

Hey @rsms, I didn't know where the best place to reach out would be, but I figured an issue would be good so other GNOME contributors can follow along if it's helpful. :)

We've been evaluating switching from Cantarell to Inter for the default GNOME UI typeface for some time, and are finally moving forward. A few points came up that I was curious to get your opinion on as the maintainer—apologies if some of these take some explanation as I'm trying to synthesize comments from a handful of discussions with a bunch of different contributors:

Baking in stylistic alternates

There is a lot of love for the disambiguated lower-case L in Cantarell, so we would be interested in baking cv05 into the version in GNOME. Unfortunately we can't just set stylistic alternatives e.g. in CSS globally because downstreams like Ubuntu (or even end users, or users of GNOME apps on other desktops) may be using a different font, and we don't really want to special case styles based on which font is currently being used.

I see OpenType Feature Freezer recommended on the Inter site for this, but would it be more "proper" to build a variant from source? Some contributors felt like the feature freezer felt like a hack, but we also don't want to end up in a case where we're maintaining an entire derivative font—we just want to enable an existing feature in the font itself.

Ultimately I think we'd be building a derivative (whether with the feature freezer or from source) in CI anyway, so it's not hugely consequential to me how that works—but I am curious to hear your thoughts or suggestions here.

Metrics

Cantarell is a bit tighter width-wise, so some contributors are worried that switching to Inter will break some layouts or worst case ellipsize strings earlier. In testing, we find that reducing the default font size when switching to Inter (e.g. from 11 to 10) gets us closer to the metrics of Cantarell, but we were curious if you had any other suggestions off the top of your head here. One contributor was wondering if we can/should increase the default optical sizing that is baked into the font (again, because it's difficult to lean on CSS for this since we only want it to apply to this specific font, and ideally we would want it to carry through to other apps using other toolkits).

I don't see a way to do that in OpenType Feature Freezer, so perhaps that would necessitate us building from source, anyway?

Naming

If we do ship a slightly-tweaked Inter in GNOME, what would you prefer we call it? E.g. we could go with something disconnected from Inter like "GNOME UI", or we could be more upfront about it being a variant of it with something like "Inter GNOME"; I can see branding reasons from your side to prefer one or the other, and I don't think anyone really cares what we call it on the GNOME side as it's not really user-facing. :)


Thank you so much for your tireless work on Inter; it truly has been a huge boon to open source projects everywhere to have a modern, quality, well-maintained typeface using all the fancy modern font features. :)

cassidyjames commented 1 month ago

For now we have gone with the name GNOME UI, but we'd be happy to change it if you prefer. We've set up CI using OpenType Feature Freezer here: https://gitlab.gnome.org/GNOME/gnome-ui-font

jamiethecat commented 1 month ago

Since we use Inter in the desktop's interface, which includes arbitrary strings such as generated passwords and URLs, we have had some trouble with the calt font feature, namely the sudden transformation of x to ×. Using CSS to disable this feature is not an option as mentioned in the issue, is there a preferred route to take here? I can think of two ways to work around this from our side:

  1. Use pyftsubset to exclude the feature from the font entirely
  2. Patch calt.fea to exclude the x conversion, and build the font ourselves
cassidyjames commented 3 weeks ago

Another point that came up from the GNOME design team: there have been a few fixes in the main branch that have not been released, so a new point release would be very welcome so we can ship those fixes. :)