diff options
Diffstat (limited to 'src/cff/cffobjs.c')
-rw-r--r-- | src/cff/cffobjs.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c index 4a1ef11..d628b68 100644 --- a/src/cff/cffobjs.c +++ b/src/cff/cffobjs.c @@ -583,10 +583,15 @@ if ( error ) goto Exit; + /* if we are performing a simple font format check, exit immediately */ + /* (this is here for pure CFF) */ + if ( face_index < 0 ) + return FT_Err_Ok; + cff->pshinter = pshinter; cff->psnames = psnames; - cffface->face_index = face_index; + cffface->face_index = face_index & 0xFFFF; /* Complement the root flags with some interesting information. */ /* Note that this is only necessary for pure CFF and CEF fonts; */ @@ -629,7 +634,7 @@ if ( !dict->has_font_matrix ) dict->units_per_em = pure_cff ? 1000 : face->root.units_per_EM; - /* Normalize the font matrix so that `matrix->xx' is 1; the */ + /* Normalize the font matrix so that `matrix->yy' is 1; the */ /* scaling is done with `units_per_em' then (at this point, */ /* it already contains the scaling factor, but without */ /* normalization of the matrix). */ @@ -765,8 +770,9 @@ (FT_Short)( dict->underline_thickness >> 16 ); /* retrieve font family & style name */ - cffface->family_name = cff_index_get_name( cff, - (FT_UInt)face_index ); + cffface->family_name = cff_index_get_name( + cff, + (FT_UInt)( face_index & 0xFFFF ) ); if ( cffface->family_name ) { char* full = cff_index_get_sid_string( cff, @@ -1046,7 +1052,7 @@ driver->hinting_engine = FT_CFF_HINTING_ADOBE; #endif - driver->no_stem_darkening = FALSE; + driver->no_stem_darkening = TRUE; driver->darken_params[0] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1; driver->darken_params[1] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1; |