Re: [csswg-drafts] [css-fonts] Proposal to extend CSS font-optical-sizing (#4430)

FYI, this is the current draft revision to the font opsz OT variations axis description being considered to replace the existing text. The intent is to clarify the unit and more fully explain the intent of the opsz axis, how it is implemented by font makers, and how it can be handled.

Registered design-variation axis tag: 'opsz'
Axis definition

Tag: 'opsz'

Name: Optical size

Description: Used to vary design to suit different text sizes.

Valid numeric range: Values must be strictly greater than zero.

Scale interpretation: Values can be interpreted as text size, in points. As elsewhere in the OpenType specification, a point should be interpreted as a physical unit equal to 1/72 of a standard physical inch.

Recommended or required “Regular” value: A value in the range 9 to 13 is recommended for typical text settings.

Suggested programmatic interactions: Applications may choose to select an optical-size variant automatically based on the displayed text size.
Additional information

The Optical size axis can be used as a variation axis within a variable font. It can also be used within a STAT table in non-variable fonts within a family that has optical-size variants to provide a complete characterization of a font in relation to its family within the STAT table. In the STAT table of a non-variable font, a format 2 axis value table is recommended to characterize the range of text sizes for which the optical-size variant is intended.

Type designers may develop size-specific design variations based on print or screen rendering, typically evaluating and applying these variations at a typical reading distance of 14 to 16 inches. This can be used as a basis from which to calculate appropriate optical size selection for different distances.

The scale for the Optical size axis is text size in points (1/72 of a physical inch). For these purposes, the text size is as determined by the document or application for its intended use; the actual physical size on a display may be different due to platform or application scaling methods or intended viewing distance. Because the target of size-specific design is optical, i.e. tailored to what the reader is seeing, Optical size axis variant selection should be determined, so far as possible, by as much information as available regarding displayed size of text as seen by the reader, taking into account the scaling of type on specific platforms and the translation of document and platform units to 1/72 of a physical inch, as well as typical reading distances for applications and devices. This may mean that a nominally specified text size in a document, e.g. 12 CSS px, results in a different Optical size axis variant selection on different platforms and devices, determined by the actual size of text seen by the reader. When translating between document units and the 1/72 inch point, care should be taken not to assume equivalences between units that may only apply on some platforms.

If the size of displayed text is smaller or greater than the minimum and maximum extent of the axis range, Optical size axis variant selection should be clamped to the appropriate minimum or maximum axis value, not reset to the default instance.

In applications that automatically select an Optical size variant, this should normally be done based on the text size with a default or “100%” zoom level, not on a combination of text size and zoom level. Types of zoom that do not trigger re-layout of text should not change Optical size variant selection, while content enlarging or diminishing operations that change re-layout of text should make a new Optical size variant selection based on the new displayed sized.

It is recommended that software provide means to override automatic Optical size variant selection, as may be appropriate for particular platforms, intended use, known viewing distance, or accessibility.

GitHub Notification of comment by tiroj
Please view or discuss this issue at using your GitHub account

Sent via github-notify-ml as configured in

Received on Wednesday, 16 September 2020 17:20:55 UTC