Closed eliheuer closed 6 years ago
Info here: https://docs.microsoft.com/en-us/typography/opentype/spec/os2#wa and here: https://simoncozens.github.io/fonts-and-layout/opentype.html and here: https://github.com/googlefonts/gf-docs/issues/15 and here: https://github.com/source-foundry/font-line
and here: https://github.com/googlefonts/gf-docs/tree/master/VerticalMetrics
See Marc's gf-docs repo note on this
I'm never sure if I'm doing this correctly, will update the documentation if I ever figure it out. Everything contradicts everything here. The gf-doc recommends a method that will fail fontbakery tests.
Here is what I'm going with to fix this issue -- (font-line output):
=== fonts/Staatliches-Regular.ttf ===
Version 1.000; ttfautohint (v1.8)
SHA1: 816ed3d8e0aad27d69e8f90e67cd883d6263c2fc
--- Metrics ---
[head] Units per Em: 1000
[head] yMax: 1006
[head] yMin: -306
[OS/2] CapHeight: 696
[OS/2] xHeight: 500
[OS/2] TypoAscender: 950
[OS/2] TypoDescender: -300
[OS/2] WinAscent: 1006
[OS/2] WinDescent: 306
[hhea] Ascent: 950
[hhea] Descent: -300
[hhea] LineGap: 0
[OS/2] TypoLineGap: 0
--- Height Calculations by Table Values ---
[OS/2] TypoAscender to TypoDescender: 1250
[OS/2] WinAscent to WinDescent: 1312
[hhea] Ascent to Descent: 1250
--- Delta Values ---
WinAscent to TypoAscender: 56
Ascent to TypoAscender: 0
WinDescent to TypoDescender: 6
Descent to TypoDescender: 0
--- Ratios ---
(Typo Asc + Desc + Linegap) / UPM: 1.25
(winAsc + winDesc) / UPM: 1.31
(hhea Asc + Desc) / UPM: 1.25
PR https://github.com/googlefonts/staatliches/pull/21 fixes the error, but I'm not sure I did this right. Please re-open and give feedback if you have other ideas.
And help me update the docs on this!
I believe you can trust font bakery on this; if it doesn't complain, you are good to go
Fontbakery report
[1] Staatliches-Regular.ttf
:fire: FAIL: Checking OS/2 usWinAscent & usWinDescent.
* [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :fire: **FAIL** OS/2.usWinAscent value should be equal or greater than 1006, but got 800 instead [code: ascent] * :fire: **FAIL** OS/2.usWinDescent value should be equal or greater than 306, but got 200 instead [code: descent]Summary