googlefonts / science-gothic

Science Gothic, a libre variable font
Other
142 stars 4 forks source link

Fix WinAscent & WinDescent again #334

Closed tphinney closed 3 weeks ago

tphinney commented 2 months ago

Although they were previously fixed in 2020 for what FontBakery complained about at the time (https://github.com/googlefonts/science-gothic/issues/243), they are still not quite right for Fontbakery today.

Checking OS/2 usWinAscent & usWinDescent. Check ID: <FontBakeryCheck:com.google.fonts/check/family/win_ascent_and_descent> A font's winAscent and winDescent values should be greater than or equal to the head table's yMax, abs(yMin) values. If they are less than these values, clipping can occur on Windows platforms (https://github.com/RedHatBrand/Overpass/issues/33).

If the font includes tall/deep writing systems such as Arabic or Devanagari, the winAscent and winDescent can be greater than the yMax and absolute yMin values to accommodate vowel marks.

When the 'win' Metrics are significantly greater than the UPM, the linespacing can appear too loose. To counteract this, enabling the OS/2 fsSelection bit 7 (Use_Typo_Metrics), will force Windows to use the OS/2 'typo' values instead. This means the font developer can control the linespacing with the 'typo' values, whilst avoiding clipping by setting the 'win' values to values greater than the yMax and absolute yMin.

Original proposal: legacy:check/040 🔥 ScienceGothic[YOPQ,slnt,wdth,wght].ttf 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 2224, but got 2140 instead

[code: ascent]

tphinney commented 3 weeks ago

Fixed in f6c1ebe3a15440e20474d257af518e8d52e3ccc2