For all 5 versions of the OS/2 table, the usWinDescent is an unsigned 16 bit (uint16), so it will always be a positive number. But FontCreator is displaying the Win Descent as a negative number. The descender value in the hhea table is a signed 16 bit (FWORD), so it can be negative, and FontCreator is displaying it correctly.
The OpenType specification appendix titled, "Recommendations for OpenType Fonts" states:
internal leading = usWinAscent + usWinDescent - unitsPerEm
If the usWinDescent were negative, then this expression would be incorrect.
I found that the Win Descent has shown as a negative number going back to at least FontCreator v6. But I suspect this is just a display issue. A positive number is probably being stored in the OS/2 table; otherwise, fonts would not be rendering correctly. Just out of curiosity, I checked another font editor and it showed a positive number for the Win Descent and a negative number for the Descender. Both had the same magnitude.
[CLOSED] Win Descent
-
- Moderator
- Posts: 11229
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Win Descent
It is not a bug, but a feature
FontCreator indeed shows WinDescent as -1*usWinDescent. The other descender values also show negative values, so this is more in line with them. People who do not read the specs prefer the current presentation.
FontCreator indeed shows WinDescent as -1*usWinDescent. The other descender values also show negative values, so this is more in line with them. People who do not read the specs prefer the current presentation.
Re: [CLOSED] Win Descent
I thought that was probably the case. You may want to consider including it as a note in the user guide.