One thing that was obvious at the Typo Labs conference was that there isn't any consensus yet as to what the right UI should be for selecting instances of variable fonts, though there a couple of related thoughts I heard that I think may gain some traction: a lot of options becomes a problem for users, so if an axis can be set by automated means and hidden from users, then that simplification of user experience is good.
So, one thing that was clear to me coming out of the conference was that, in the future, there will be a need to have variation axes that should normally be hidden from user interfaces. To reduce the potential that there will be apps that expose such axes anyway, because they don't recognize whatever field in the font indicates the axis should be hidden, I want to get that into our new DirectWrite APIs right from the outset. Hence, I engaged with our partners and we have a consensus for defining a flag within the fvar table (specifically, within the VariationAxisRecord flag field):
mask: 0x0001
name: suppressFromUserInterfaces
description: The axis should not normally be exposed directly in user interfaces.
other comments:
"The suppressFromUserInterfaces flag is provided to indicate a recommendation by the font developer that the axis not be exposed directly to end users in application user interfaces. Reasons for setting this flag might include that the axis is intended for programmatic interaction, or is intended for font-internal use by the font developer. If this flag is set, applications may expose the axis for “advanced” user scenarios, but should not expose the axis in common user scenarios."
This will be reflected in the next version of the OpenType spec, but it can be considered stable now.
So, one thing that was clear to me coming out of the conference was that, in the future, there will be a need to have variation axes that should normally be hidden from user interfaces. To reduce the potential that there will be apps that expose such axes anyway, because they don't recognize whatever field in the font indicates the axis should be hidden, I want to get that into our new DirectWrite APIs right from the outset. Hence, I engaged with our partners and we have a consensus for defining a flag within the fvar table (specifically, within the VariationAxisRecord flag field):
mask: 0x0001
name: suppressFromUserInterfaces
description: The axis should not normally be exposed directly in user interfaces.
other comments:
"The suppressFromUserInterfaces flag is provided to indicate a recommendation by the font developer that the axis not be exposed directly to end users in application user interfaces. Reasons for setting this flag might include that the axis is intended for programmatic interaction, or is intended for font-internal use by the font developer. If this flag is set, applications may expose the axis for “advanced” user scenarios, but should not expose the axis in common user scenarios."
This will be reflected in the next version of the OpenType spec, but it can be considered stable now.