googlefonts / googlefonts/googlefonts.github.io
CJK vertical metrics suggestion
- Dominant language
- CSS
- Stars
- 93
- Forks
- 37
- PR merge metrics
- No merged PRs in 30d
Description
According to https://googlefonts.github.io/gf-guide/metrics.html#cjk-vertical-metrics, it is suggested that the OS/2.sTypoAscender is set to 0.88 * font UPM and the OS/2.sTypoDescender is set to -0.12 * font UPM. The table is attached below:
> | 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 (Use_Typo_Metrics) | Do not set / disabled | 0 |
>
> Our decision to follow the Adobe schema was based on Dr. Ken Lunde’s comments and his release notes on Source Han Sans:
>
> -
> - [SourceHanSansReadMe.pdf](https://github.com/adobe-fonts/source-han-sans/raw/release/SourceHanSansReadMe.pdf)
However, these metrics are only used in Japanese fonts. In Korean font (such as IBM Plex KR developed by Sandoll Inc), the ratio used is 0.8:0.2, which some Chinese font foundries use too. Another typical Chinese font foundry used is 0.85:0.15, as this allows more descender space compared to 0.88:0.12. There are some other combination of values which is used for individual creators too.
The referenced issue provided to justify these values () only explicitly mention this (quoted from @kenlunde):
> To add to the discussion with regard to the sTypoAscender and sTypoDescender values in the '[OS/2](https://www.microsoft.com/typography/otspec/os2.htm)' table, while I cannot speak with any authority to non-CJK fonts, at least for CJK fonts I feel somewhat strongly that these values 1) add up to equal the UPM and 2) correspond to the top and bottom of the ideographic em-box in which CJK glyphs are optically centered. For the other vertical metrics values, I see little or no disagreement.
Thus, I would like to suggest the guide to change the guidelines to allow any ratio for the OS/2 `sTypo` values as long as:
- OS/2.sTypoAscender - OS/2.sTypoDescender = UPM (In the sample it is 880 - (-120) = 1000)
- OS/2.sTypoAscender and OS/2.sTypoDescender reflects the CJK ideographic bounding box only, not any other values.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.