In function CFF_Init_Face(), when we process a pure CFF font, set `root->ascender' (`root->descender') to the integer part of the `root->bbox.yMax' (`root->bbox.yMin', respectively).
diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c
index 8a86b7e..5ceb78c 100644
--- a/src/cff/cffobjs.c
+++ b/src/cff/cffobjs.c
@@ -388,8 +388,8 @@
/* set global bbox, as well as EM size */
root->bbox = dict->font_bbox;
- root->ascender = (FT_Short)root->bbox.yMax;
- root->descender = (FT_Short)root->bbox.yMin;
+ root->ascender = root->bbox.yMax >> 16;
+ root->descender = root->bbox.yMin >> 16;
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
if ( dict->units_per_em )