This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
FT_OpenType_Validate
Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).
FT_EXPORT( FT_Error )
FT_OpenType_Validate( FT_Face face,
FT_UInt validation_flags,
FT_Bytes *BASE_table,
FT_Bytes *GDEF_table,
FT_Bytes *GPOS_table,
FT_Bytes *GSUB_table,
FT_Bytes *JSTF_table );
Validate various OpenType 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).
input
| face |
A handle to the input face.
|
| validation_flags |
A bit field that specifies the tables to be validated. See FT_VALIDATE_OTXXX for possible values.
|
output
| BASE_table |
A pointer to the BASE table.
|
| GDEF_table |
A pointer to the GDEF table.
|
| GPOS_table |
A pointer to the GPOS table.
|
| GSUB_table |
A pointer to the GSUB table.
|
| JSTF_table |
A pointer to the JSTF table.
|
return
FreeType error code. 0 means success.
note
This function only works with OpenType fonts, returning an error otherwise.
After use, the application should deallocate the five tables with FT_OpenType_Free. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.
FT_OpenType_Free
Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).
FT_EXPORT( void )
FT_OpenType_Free( FT_Face face,
FT_Bytes table );
Free the buffer allocated by OpenType validator.
input
| face |
A handle to the input face.
|
| table |
The pointer to the buffer that is allocated by FT_OpenType_Validate.
|
note
This function must be used to free the buffer allocated by FT_OpenType_Validate only.