[MPEG-OTSPEC] STAT instances, fvar instances and auto optical sizing

Adam Twardoch adam at twardoch.com
Fri Aug 21 17:11:34 CEST 2020


5. If there is a slider UI, then it's easy: the opsz slider could have some
"auto" toggle. If on, the slider gets disabled and follows point size, if
off, the slider explicitly chooses the opsz value regardless of point size.

6. An fvar-instance-based UI could try to be clever and pick the style
names that have an elided STAT opsz word, but there is no guarantee that
STAT "particle names" (Rainer's term for the style phrases used in STAT,
which FL7 calls axis instance names but I like particle) are coordinated
with fvar instance names.

FL7 makes it easy to coordinate them: you set the axis order, you write the
particle names & locations, using parantheses to elide a name, and then you
click one button and get a list of instances which is the permutation of
those, with elisions and auto-naming of style-linking groups (nameID 1).

But many fonts may not follow this model, so there won't be an obvious
mapping of fvar instances and STAT particles.

7. So the question really is about an fvar-instance-based UI,
backwards-compatible
with traditional apps.

I'm not saying the spec should make recommendations, but we should, because
we know the caveats while some developers may not realize them.

A.


On Fri, 21 Aug 2020 at 16:58, Adam Twardoch <adam at twardoch.com> wrote:

> 1. Let's say a font has the wght axis with the STAT instances "Light",
> "(Regular)" (elided) and "Bold". It again has the opsz axis with the STAT
> instances "Small", "(Text)" and "Display".
>
> The fvar instances permute those, so:
> - Shall Light
> - Light
> - Display Light
> - Small
> - Regular (from elided fallback)
> - Display
> - Small Bold
> - Bold
> - Display Bold
>
> 2. Let’s say a desktop app implements behavior like CSS
> "font-optical-sizing: auto", i.e. the app automatically chooses an "opsz"
> value based on the font size (let’s disregard the question of specific
> units).
>
> 3. Let's say the app implements a STAT-based style selection UI, with one
> drop-down per STAT axis. In this model, it seems that the opsz drop-down,
> should list Small, Text, Display AND should have an extra entry "Auto"
> which makes it work like "font-optical-sizing: auto". Do you agree? I think
> that's reasonable enough. Then, if any of the other opsz entries are
> chosen, opsz would be frozen at the associated STAT value.
>
> 4. But what should be done in a model that lists fvar instances as styles?
> Every fvar instance IS tied to some opsz value. So would the recommended UX
> be that there is some kind of "checkbox" somewhere that basically says
> "Font size chooses optical size" or something, and THEN choosing the
> "Small" style vs. the "Display" style would have no visual effect?
>
>
> --
> Adam Twardoch
> http://www.twardoch.com/
>
>
> --
> Adam Twardoch
> http://www.twardoch.com/
>
>
> --
Adam Twardoch
http://www.twardoch.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aau.at/pipermail/mpeg-otspec/attachments/20200821/dc8e20dc/attachment-0001.html>


More information about the mpeg-otspec mailing list