[Index] | [TOC] |
FT_SfntName |
FT_Get_Sfnt_Name_Count |
FT_Get_Sfnt_Name |
FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY |
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY |
The TrueType and OpenType specifications allow the inclusion of a special ‘names table’ in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.
The definitions below are used to access them if available.
Note that this has nothing to do with glyph names!
Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
typedef struct FT_SfntName_ { FT_UShort platform_id; FT_UShort encoding_id; FT_UShort language_id; FT_UShort name_id; FT_Byte* string; /* this string is *not* null-terminated! */ FT_UInt string_len; /* in bytes */ } FT_SfntName;
A structure used to model an SFNT ‘name’ table entry.
platform_id |
The platform ID for ‘string’. |
encoding_id |
The encoding ID for ‘string’. |
language_id |
The language ID for ‘string’. |
name_id |
An identifier for ‘string’. |
string |
The ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a Pascal String, a UTF-16 one, etc. Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details. |
string_len |
The length of ‘string’ in bytes. |
Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.
See also TT_PLATFORM_XXX, TT_APPLE_ID_XXX, TT_MAC_ID_XXX, TT_ISO_ID_XXX, and TT_MS_ID_XXX.
[Index] | [Top] | [TOC] |
Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
FT_EXPORT( FT_UInt ) FT_Get_Sfnt_Name_Count( FT_Face face );
Retrieve the number of name strings in the SFNT ‘name’ table.
face |
A handle to the source face. |
The number of strings in the ‘name’ table.
[Index] | [Top] | [TOC] |
Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
FT_EXPORT( FT_Error ) FT_Get_Sfnt_Name( FT_Face face, FT_UInt idx, FT_SfntName *aname );
Retrieve a string of the SFNT ‘name’ table for a given index.
face |
A handle to the source face. |
idx |
The index of the ‘name’ string. |
aname |
The indexed FT_SfntName structure. |
FreeType error code. 0 means success.
The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.
Use FT_Get_Sfnt_Name_Count to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.
[Index] | [Top] | [TOC] |
Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.
[Index] | [Top] | [TOC] |
Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY FT_MAKE_TAG( 'i', 'g', 'p', 's' )
A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.
[Index] | [Top] | [TOC] |