In function CFF_Init_Face, added logic to get the units per EM from the CFF dictionary, if available.
diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c
index b535a3d..f63ac53 100644
--- a/src/cff/cffobjs.c
+++ b/src/cff/cffobjs.c
@@ -387,12 +387,16 @@
root->num_glyphs = cff->charstrings_index.count;
/* set global bbox, as well as EM size */
- root->units_per_EM = 1000;
root->bbox = dict->font_bbox;
root->ascender = (FT_Short)root->bbox.yMax;
root->descender = (FT_Short)root->bbox.yMin;
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
+ if ( dict->units_per_em )
+ root->units_per_EM = dict->units_per_em;
+ else
+ root->units_per_EM = 1000;
+
/* retrieve font family & style name */
root->family_name = CFF_Get_Name( &cff->name_index, face_index );
if ( dict->cid_registry )