Try to change ascender/descender calculation to be more compatible
with Windows GDI and consequently, VSFilter.
for (i = 0; i < font->n_faces; ++i) {
FT_Face face = font->faces[i];
if (FT_Get_Char_Index(face, ch)) {
- *asc = face->size->metrics.ascender;
- *desc = -face->size->metrics.descender;
+ int y_scale = face->size->metrics.y_scale;
+ *asc = FT_MulFix(face->ascender, y_scale);
+ *desc = FT_MulFix(-face->descender, y_scale);
return;
}
}