HRESULT dispatch::invoke(const wchar_t *name, WORD wFlags, DISPPARAMS ¶meters, _variant_t &result) const { UINT invalidArg = 0; return this_object()->Invoke(name ? name_id(name) : 0, IID_NULL, LOCALE_USER_DEFAULT, wFlags, ¶meters, &result, NULL, &invalidArg); }
void Print_Sfnt_Names( FT_Face face ) { FT_SfntName name; FT_UInt num_names, i; printf( "font string entries\n" ); num_names = FT_Get_Sfnt_Name_Count( face ); for ( i = 0; i < num_names; i++ ) { error = FT_Get_Sfnt_Name( face, i, &name ); if ( error == FT_Err_Ok ) { printf( " %-15s [%s]", name_id( name.name_id ), platform_id( name.platform_id ) ); switch ( name.platform_id ) { case TT_PLATFORM_APPLE_UNICODE: switch ( name.encoding_id ) { case TT_APPLE_ID_DEFAULT: case TT_APPLE_ID_UNICODE_1_1: case TT_APPLE_ID_ISO_10646: case TT_APPLE_ID_UNICODE_2_0: put_unicode_be16( name.string, name.string_len, 6 ); break; default: printf( "{unsupported encoding %d}", name.encoding_id ); break; } break; case TT_PLATFORM_MACINTOSH: if ( name.language_id != TT_MAC_LANGID_ENGLISH ) printf( " (language=%d)", name.language_id ); fputs( ":\n", stdout ); switch ( name.encoding_id ) { case TT_MAC_ID_ROMAN: /* FIXME: convert from MacRoman to ASCII/ISO8895-1/whatever */ /* (MacRoman is mostly like ISO8895-1 but there are */ /* differences) */ put_ascii( name.string, name.string_len, 6 ); break; default: printf( "{unsupported encoding %d}", name.encoding_id ); break; } break; case TT_PLATFORM_ISO: switch ( name.encoding_id ) { case TT_ISO_ID_7BIT_ASCII: case TT_ISO_ID_8859_1: put_ascii( name.string, name.string_len, 6 ); break; case TT_ISO_ID_10646: put_unicode_be16( name.string, name.string_len, 6 ); break; default: printf( "{unsupported encoding %d}", name.encoding_id ); break; } break; case TT_PLATFORM_MICROSOFT: if ( name.language_id != TT_MS_LANGID_ENGLISH_UNITED_STATES ) printf( " (language=0x%04x)", name.language_id ); fputs( ":\n", stdout ); switch ( name.encoding_id ) { /* TT_MS_ID_SYMBOL_CS is supposed to be Unicode, according to */ /* information from the MS font development team */ case TT_MS_ID_SYMBOL_CS: case TT_MS_ID_UNICODE_CS: put_unicode_be16( name.string, name.string_len, 6 ); break; default: printf( "{unsupported encoding %d}", name.encoding_id ); break; } break; default: printf( "{unsupported platform}" ); break; } printf( "\n" ); } } }