boring-expansion-spec icon indicating copy to clipboard operation
boring-expansion-spec copied to clipboard

Tidying up other tables

Open Lorp opened this issue 3 years ago • 4 comments

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?

Lorp avatar Feb 16 '22 13:02 Lorp

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.

behdad avatar Feb 18 '22 01:02 behdad

Just moving these values does not provide much. A more useful change is to allow setting them per OT language system.

khaledhosny avatar Feb 18 '22 01:02 khaledhosny

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?

Lorp avatar Feb 19 '22 00:02 Lorp

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)

JeremieHornus avatar Aug 19 '22 14:08 JeremieHornus