|
|
|
@ -26,6 +26,7 @@ |
|
|
|
|
#include FT_TRUETYPE_IDS_H |
|
|
|
|
#include FT_TRUETYPE_TAGS_H |
|
|
|
|
#include FT_SERVICE_POSTSCRIPT_CMAPS_H |
|
|
|
|
#include FT_SFNT_NAMES_H |
|
|
|
|
#include "sferrors.h" |
|
|
|
|
|
|
|
|
|
#ifdef TT_CONFIG_OPTION_BDF |
|
|
|
@ -527,13 +528,27 @@ |
|
|
|
|
#endif |
|
|
|
|
FT_Bool has_outline; |
|
|
|
|
FT_Bool is_apple_sbit; |
|
|
|
|
FT_Bool ignore_preferred_family = FALSE; |
|
|
|
|
FT_Bool ignore_preferred_subfamily = FALSE; |
|
|
|
|
|
|
|
|
|
SFNT_Service sfnt = (SFNT_Service)face->sfnt; |
|
|
|
|
|
|
|
|
|
FT_UNUSED( face_index ); |
|
|
|
|
FT_UNUSED( num_params ); |
|
|
|
|
FT_UNUSED( params ); |
|
|
|
|
|
|
|
|
|
/* Check parameters */ |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
FT_Int i; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for ( i = 0; i < num_params; i++ ) |
|
|
|
|
{ |
|
|
|
|
if ( params[i].tag == FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY ) |
|
|
|
|
ignore_preferred_family = TRUE; |
|
|
|
|
else if ( params[i].tag == FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY ) |
|
|
|
|
ignore_preferred_subfamily = TRUE; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Load tables */ |
|
|
|
|
|
|
|
|
@ -724,27 +739,27 @@ |
|
|
|
|
|
|
|
|
|
if ( face->os2.version != 0xFFFFU && face->os2.fsSelection & 256 ) |
|
|
|
|
{ |
|
|
|
|
GET_NAME( PREFERRED_FAMILY, &face->root.family_name ); |
|
|
|
|
if ( !face->root.family_name ) |
|
|
|
|
GET_NAME( FONT_FAMILY, &face->root.family_name ); |
|
|
|
|
GET_NAME( FONT_FAMILY, &face->root.family_name ); |
|
|
|
|
if ( !face->root.family_name || !ignore_preferred_family ) |
|
|
|
|
GET_NAME( PREFERRED_FAMILY, &face->root.family_name ); |
|
|
|
|
|
|
|
|
|
GET_NAME( PREFERRED_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
if ( !face->root.style_name ) |
|
|
|
|
GET_NAME( FONT_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
GET_NAME( FONT_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
if ( !face->root.style_name || !ignore_preferred_subfamily ) |
|
|
|
|
GET_NAME( PREFERRED_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
GET_NAME( WWS_FAMILY, &face->root.family_name ); |
|
|
|
|
if ( !face->root.family_name ) |
|
|
|
|
GET_NAME( PREFERRED_FAMILY, &face->root.family_name ); |
|
|
|
|
if ( !face->root.family_name ) |
|
|
|
|
GET_NAME( FONT_FAMILY, &face->root.family_name ); |
|
|
|
|
if ( !face->root.family_name || !ignore_preferred_family ) |
|
|
|
|
GET_NAME( PREFERRED_FAMILY, &face->root.family_name ); |
|
|
|
|
|
|
|
|
|
GET_NAME( WWS_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
if ( !face->root.style_name ) |
|
|
|
|
GET_NAME( PREFERRED_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
if ( !face->root.style_name ) |
|
|
|
|
GET_NAME( FONT_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
if ( !face->root.style_name || !ignore_preferred_subfamily ) |
|
|
|
|
GET_NAME( PREFERRED_SUBFAMILY, &face->root.style_name ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* now set up root fields */ |
|
|
|
|