[Index] | [TOC] |
FT_TrueTypeGX_Validate | FT_ClassicKern_Validate | FT_VALIDATE_GX_LENGTH |
FT_TrueTypeGX_Free | FT_ClassicKern_Free | FT_VALIDATE_GXXXX |
FT_VALIDATE_CKERNXXX |
This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).
Defined in FT_GX_VALIDATE_H (ftgxval.h).
FT_EXPORT( FT_Error ) FT_TrueTypeGX_Validate( FT_Face face, FT_UInt validation_flags, FT_Bytes tables[FT_VALIDATE_GX_LENGTH], FT_UInt table_length );
Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).
face |
A handle to the input face. |
validation_flags |
A bit field that specifies the tables to be validated. See FT_VALIDATE_GXXXX for possible values. |
table_length |
The size of the ‘tables’ array. Normally, FT_VALIDATE_GX_LENGTH should be passed. |
tables |
The array where all validated sfnt tables are stored. The array itself must be allocated by a client. |
FreeType error code. 0 means success.
This function only works with TrueTypeGX fonts, returning an error otherwise.
After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling FT_TrueTypeGX_Free. A NULL value indicates that the table either doesn't exist in the font, the application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt table.
[Index] | [Top] | [TOC] |
Defined in FT_GX_VALIDATE_H (ftgxval.h).
FT_EXPORT( void ) FT_TrueTypeGX_Free( FT_Face face, FT_Bytes table );
Free the buffer allocated by TrueTypeGX validator.
face |
A handle to the input face. |
table |
The pointer to the buffer allocated by FT_TrueTypeGX_Validate. |
This function must be used to free the buffer allocated by FT_TrueTypeGX_Validate only.
[Index] | [Top] | [TOC] |
Defined in FT_GX_VALIDATE_H (ftgxval.h).
FT_EXPORT( FT_Error ) FT_ClassicKern_Validate( FT_Face face, FT_UInt validation_flags, FT_Bytes *ckern_table );
Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).
The ‘kern’ table validator in FT_TrueTypeGX_Validate deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.
face |
A handle to the input face. |
validation_flags |
A bit field that specifies the dialect to be validated. See FT_VALIDATE_CKERNXXX for possible values. |
ckern_table |
A pointer to the kern table. |
FreeType error code. 0 means success.
After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling FT_ClassicKern_Free. A NULL value indicates that the table doesn't exist in the font.
[Index] | [Top] | [TOC] |
Defined in FT_GX_VALIDATE_H (ftgxval.h).
FT_EXPORT( void ) FT_ClassicKern_Free( FT_Face face, FT_Bytes table );
Free the buffer allocated by classic Kern validator.
face |
A handle to the input face. |
table |
The pointer to the buffer that is allocated by FT_ClassicKern_Validate. |
This function must be used to free the buffer allocated by FT_ClassicKern_Validate only.
[Index] | [Top] | [TOC] |
Defined in FT_GX_VALIDATE_H (ftgxval.h).
#define FT_VALIDATE_GX_LENGTH (FT_VALIDATE_GX_LAST_INDEX + 1)
The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function FT_TrueTypeGX_Validate.
[Index] | [Top] | [TOC] |
Defined in FT_GX_VALIDATE_H (ftgxval.h).
#define FT_VALIDATE_feat FT_VALIDATE_GX_BITFIELD( feat ) #define FT_VALIDATE_mort FT_VALIDATE_GX_BITFIELD( mort ) #define FT_VALIDATE_morx FT_VALIDATE_GX_BITFIELD( morx ) #define FT_VALIDATE_bsln FT_VALIDATE_GX_BITFIELD( bsln ) #define FT_VALIDATE_just FT_VALIDATE_GX_BITFIELD( just ) #define FT_VALIDATE_kern FT_VALIDATE_GX_BITFIELD( kern ) #define FT_VALIDATE_opbd FT_VALIDATE_GX_BITFIELD( opbd ) #define FT_VALIDATE_trak FT_VALIDATE_GX_BITFIELD( trak ) #define FT_VALIDATE_prop FT_VALIDATE_GX_BITFIELD( prop ) #define FT_VALIDATE_lcar FT_VALIDATE_GX_BITFIELD( lcar ) #define FT_VALIDATE_GX ( FT_VALIDATE_feat | \ FT_VALIDATE_mort | \ FT_VALIDATE_morx | \ FT_VALIDATE_bsln | \ FT_VALIDATE_just | \ FT_VALIDATE_kern | \ FT_VALIDATE_opbd | \ FT_VALIDATE_trak | \ FT_VALIDATE_prop | \ FT_VALIDATE_lcar )
A list of bit-field constants used with FT_TrueTypeGX_Validate to indicate which TrueTypeGX/AAT Type tables should be validated.
FT_VALIDATE_feat |
Validate ‘feat’ table. |
FT_VALIDATE_mort |
Validate ‘mort’ table. |
FT_VALIDATE_morx |
Validate ‘morx’ table. |
FT_VALIDATE_bsln |
Validate ‘bsln’ table. |
FT_VALIDATE_just |
Validate ‘just’ table. |
FT_VALIDATE_kern |
Validate ‘kern’ table. |
FT_VALIDATE_opbd |
Validate ‘opbd’ table. |
FT_VALIDATE_trak |
Validate ‘trak’ table. |
FT_VALIDATE_prop |
Validate ‘prop’ table. |
FT_VALIDATE_lcar |
Validate ‘lcar’ table. |
FT_VALIDATE_GX |
Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar). |
[Index] | [Top] | [TOC] |
Defined in FT_GX_VALIDATE_H (ftgxval.h).
#define FT_VALIDATE_MS ( FT_VALIDATE_GX_START << 0 ) #define FT_VALIDATE_APPLE ( FT_VALIDATE_GX_START << 1 ) #define FT_VALIDATE_CKERN ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
A list of bit-field constants used with FT_ClassicKern_Validate to indicate the classic kern dialect or dialects. If the selected type doesn't fit, FT_ClassicKern_Validate regards the table as invalid.
FT_VALIDATE_MS |
Handle the ‘kern’ table as a classic Microsoft kern table. |
FT_VALIDATE_APPLE |
Handle the ‘kern’ table as a classic Apple kern table. |
FT_VALIDATE_CKERN |
Handle the ‘kern’ as either classic Apple or Microsoft kern table. |
[Index] | [Top] | [TOC] |