Tidying up other tables
Do we want to tidy up fields that are for no good reason spread among various existing tables?
For example, these fields in post feel better in a font metrics table such as OS/2:
- italicAngle
- underlinePosition
- underlineThickness
- isFixedPitch
The tables hhea and vhea also have metrics data that could move to a font metrics table.
Of course, OS/2 has a very legacy name. Is that something to change too?
If you notice I didn't add any new tables or otherwise try to invent new things unless I really have to. So I would advise sticking to that: if it already works, leave it there... We already have way too many ways to do things, let's not introduce more ways if we don't have to.
Just moving these values does not provide much. A more useful change is to allow setting them per OT language system.
Thanks for the feedback. Perhaps we can keep this issue open in case there are productive proposals for other tables & fields.
For example, cmap Format 12 is much less efficient than Format 4, hugely preferring continuous runs of Unicodes mapping to continuous runs of glyphIds — in some cases remapping one glyph turns one group into three so adds 6 * uint32 = 24 bytes. Is a cmap rework off the table?
In the OS/2 table there would be several things to tidy up, specially since OpenType 1.8 and Variable Fonts.
For example italicAngle, usWidthClass and usWeightClass single values don't make much sense when there are variation axes for slnt, wdth or wght.
We could imagine having 3 values instead of only 1; for min, max and default, that may be useful. Or nothing at all and deprecate them totally… But I think such information about the font’s design can be useful to have in the font infos…
Currently these values of OS/2 don't work for variable fonts so, that may be something to consider updating.
(related and complementary: https://github.com/googlefonts/fontmake/issues/926 https://github.com/MicrosoftDocs/typography-issues/issues/964)