Thanks, I was able to reproduce with some version of this font that I found.
The issue is in calc_ppem_for_height() I believe:
``` 1932 if(pOS2->usWinAscent + windescent == 0) 1933 units = pHori->Ascender - pHori->Descender; 1934 else 1935 units = pOS2->usWinAscent + windescent; 1936 ppem = pFT_MulDiv(ft_face->units_per_EM, height, units); ```
Here 'units' is about 9000 * 2, units_per_EM for this font from 'head' is 1000. For a height of 6 this produces ppem == 0.
Later in freetype_set_outline_text_metrics() this gives em_scale == 0. That scales tmAscent/tmDescent and others to 0.
So, it's a bigger issue than just one metric getting reset.