[csswg-drafts] [css-font] font-synthesis-style is too blunt (#9390)

frivoal has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-font] font-synthesis-style is too blunt ==
(this is a follow up from https://github.com/w3c/csswg-drafts/issues/8914#issuecomment-1651137267)

The main use case for `font-synthesis-style: none` is to be used in conjunction with `font-style: italic`, when the author does not want to get a oblique font as a fallback.

However, while it generally works for that purpose, it does a little too much, and a little not enough:
* if there is a non-synthetic oblique font face, is will be used as a fallback from italic regardless `font-synthesis-style`. This is unlikely to be what the author want.
* `font-synthesis-style: none` also turns off the fallback from `font-style: oblique` to synthetic oblique. This might be desired in some cases where the author is extremely picky, but unlike with italic, which is a distinctive style, synthetic oblique fonts are often close to indistinguishable from non-synthetic ones.

What we have is a system where, if italic is missing, we always fall back to oblique, but within oblique, we can turn off synthesis, regardless of whether oblique was specifically requested or is being used as a fallback.

What I think we need is a system where if italic is missing, authors can chose whether to fall back to oblique or not, and if yes, synthetic oblique is always acceptable when non-synthetic oblique is not available. Also, we might want an ability to turn off synthetic oblique when `font-style: oblique` has been requested, though I doubt there's much demand for that.

Even though I'd probably name such a switch differently if we were doing it from scratch, for compat reasons, I'd suggest repurposing the existing `font-synthesis-style: none` to become this request not to fallback from italic to oblique. That's what it's being used for anyway.

If we do need the extra switch for turning off synthetic oblique when `font-style: oblique` has been requested, I'd suggest expanding the syntax of that property to `font-synthesis-style: auto | none || no-oblique` or some such.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9390 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 21 September 2023 03:34:32 UTC