opsz dogma/rationale
See original GitHub issueThe text for the opsz
coordinate check is confusing, largely because the source text (Microsoft OT spec variable axes) is confusing:
The variable font ‘opsz’ (Optical Size) axis coordinate should be between 9 and 13 on the ‘Regular’ instance.
Rationale from Microsoft:
According to the Open-Type spec’s registered design-variation tag ‘opsz’ available at https://docs.microsoft.com/en-gb/typography/opentype/spec/dvaraxistag_opsz If a variable font has a ‘opsz’ (Optical Size) axis, then the coordinate of its ‘Regular’ instance is recommended to be a value in the range 9 to 13.
“Regular” as an instance name on the optical size axis doesn’t make any sense. “Regular” is the 400 weight and has nothing to do with the optical size. This implies that a 400 weight on the 9-13 opsz axis would be called “$fontname
Regular Regular.”
I know we’ve had this discussion before, but I am still very unsatisfied. I can’t recall a single example of a font that was released before variable font tech was created where the smallest size is called the regular: it’s called something like “Text” or even just by the intended point size. I believe there was some discussion that naming optical size weights by point size is less logical in a digital type world, but that doesn’t stop us from using the traditional “Text”/“Display” model of optical size naming. The spec does not say that the “regular” instance should be named “Regular”; my interpretation is that the origin should be in the 9 to 13 range.
If we’re just going to say in the FB docs that the GF spec is this because Microsoft/developers of the OT spec say so, then that’s a thing and so it is, but I really think we ought to acknowledge the inherent confusion in such a naming scheme somewhere. At the very least, a font without an opsz
instance named Regular should be given a WARN
and not a FAIL
.
Issue Analytics
- State:
- Created 4 years ago
- Comments:10 (2 by maintainers)
Top GitHub Comments
I don’t think that the instance along the optical size axis that is the default weight, width or any other axes, has a default size of “regular”. I believe it is regular and the optical size value number. As for what that number is, I have defined 14 in two ongoing vfs, with no complaints from clients, authors of the spec, or applications.
I see now, it’s raising both a FAIL and a WARN if an instance name contains either “Display” or “Text”. Dave, since we want opsz to use point sizes, shall this check raise a FAIL only?