https://bugs.winehq.org/show_bug.cgi?id=39334
--- Comment #3 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Nikolay Sivov from comment #1)
The issue seems to be about large usWinDescent value, section of OS/2 table:
'OS/2' version: 2 ... fsSelection: 0x0040 ... sTypoAscender: 900 sTypoDescender: -263 ... usWinAscent: 900 usWinDescent: 65273
The source of the problem is that in the freetype/tttables.h TT_OS2 structure has FT_SHORT sTypoDescender; FT_USHORT usWinDescent;
So, probably the most easiest fix would be to treat usWinDescent as signed value. After all: -263 == 0xfef9 65273 == 0xfef9