if (fmt->font.font)
{
-// ascent = c->ENFN->font_ascent_get(c->ENDT, fmt->font.font);
-// descent = c->ENFN->font_descent_get(c->ENDT, fmt->font.font);
-// printf("asc: %4i desc: %4i\n", ascent, descent);
- ascent = c->ENFN->font_max_ascent_get(c->ENDT, fmt->font.font);
- descent = c->ENFN->font_max_descent_get(c->ENDT, fmt->font.font);
-// printf(" max asc: %4i desc: %4i\n", ascent, descent);
+// ascent = c->ENFN->font_max_ascent_get(c->ENDT, fmt->font.font);
+// descent = c->ENFN->font_max_descent_get(c->ENDT, fmt->font.font);
+ ascent = c->ENFN->font_ascent_get(c->ENDT, fmt->font.font);
+ descent = c->ENFN->font_descent_get(c->ENDT, fmt->font.font);
if (fmt->linesize > 0)
{
if ((ascent + descent) < fmt->linesize)
printf(" ==== %p: %i\n", fi, ret);
}
}
-#endif
+#endif
fi = fn->fonts->data;
if (fi->src->current_size != fi->size)
{
FT_Activate_Size(fi->ft.size);
fi->src->current_size = fi->size;
}
+ if (!FT_IS_SCALABLE(fi->src->ft.face))
+ {
+ printf("NOT SCALABLE!\n");
+ }
val = (int)fi->src->ft.face->size->metrics.ascender;
- if (fi->src->ft.face->units_per_EM == 0)
- return val;
- dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;
- ret = (val * fi->src->ft.face->size->metrics.y_scale) / (dv * dv);
- return ret;
+ return val >> 6;
+// printf("%i | %i\n", val, val >> 6);
+// if (fi->src->ft.face->units_per_EM == 0)
+// return val;
+// dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;
+// ret = (val * fi->src->ft.face->size->metrics.y_scale) / (dv * dv);
+// return ret;
}
EAPI int
fi->src->current_size = fi->size;
}
val = -(int)fi->src->ft.face->size->metrics.descender;
- if (fi->src->ft.face->units_per_EM == 0)
- return val;
- dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;
- ret = (val * fi->src->ft.face->size->metrics.y_scale) / (dv * dv);
- return ret;
+ return val >> 6;
+// if (fi->src->ft.face->units_per_EM == 0)
+// return val;
+// dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;
+// ret = (val * fi->src->ft.face->size->metrics.y_scale) / (dv * dv);
+// return ret;
}
EAPI int
val = (int)fi->src->ft.face->size->metrics.height;
if (fi->src->ft.face->units_per_EM == 0)
return val;
- dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;
- ret = (val * fi->src->ft.face->size->metrics.y_scale) / (dv * dv);
- return ret;
+ return val >> 6;
+// dv = (fi->src->ft.orig_upem * 2048) / fi->src->ft.face->units_per_EM;
+// ret = (val * fi->src->ft.face->size->metrics.y_scale) / (dv * dv);
+// return ret;
}
EAPI int