googlefonts/gf-docs

Latin / CJK metrics recommendation

Opened this issue · 0 comments

In reading the documentation for vertical metrics, I am seeing something of a gray zone in regards to CJK versus Latin.

The Latin documentation states:

TypoAscender and hheaAscender are set to height of tallest uppercase glyph with single accent (probably  or Å)
TypoDescender and hheaDescender set to lowest a-z letter (p, j, q)

This makes sense as it is intended to avoid undesirable clipping of the letters under certain conditions.

However, in the Spec it only sets universal vertical metrics requirements:

Attrib Value Example using 1000upm font
OS/2.sTypoAscender 0.88 * font upm 880
OS/2.sTypoDescender -0.12 * font upm -120
OS/2.sTypoLineGap 0 0
hhea.ascender Set to look comfortable (~1.16 * upm) 1160
hhea.descender Set to look comfortable (~0.288 * upm) -288
hhea.lineGap 0 0
OS/2.usWinAscent Same as hhea.ascent 1160
OS/2.usWinDescent abs(value) of hhea.descent 288
OS/2.fsSelection bit 7 Do not set  

So my question is this, if a CJK contains Latin, should the Å and descending lowercase (p, j, q, y) fit within the TypoAscender and TypoDescender as to avoid any risk of clipping? (Or perhaps the WinAscent / WinDescent?)

I observe that Noto CJK extends both above and below the BBox:
Screen Shot 2020-10-30 at 12 09 02 PM