(this is a follow up from #8914 (comment))
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.
(this is a follow up from #8914 (comment))
The main use case for
font-synthesis-style: noneis to be used in conjunction withfont-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:
font-synthesis-style. This is unlikely to be what the author want.font-synthesis-style: nonealso turns off the fallback fromfont-style: obliqueto 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: obliquehas 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: noneto 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: obliquehas been requested, I'd suggest expanding the syntax of that property tofont-synthesis-style: auto | none || no-obliqueor some such.