#include <ft2build.h>
#include "gxvmod.h"
#include "gxvalid.h"
#include "gxvcommn.h"
Go to the source code of this file.
Defines | |
#define | FT_COMPONENT trace_gxvmodule |
#define | GXV_TABLE_DECL(_sfnt) |
#define | GXV_TABLE_LOAD(_sfnt) |
#define | GXV_TABLE_VALIDATE(_sfnt) |
#define | GXV_TABLE_SET(_sfnt) |
Functions | |
static FT_Error | gxv_load_table (FT_Face face, FT_Tag tag, FT_Byte *volatile *table, FT_ULong *table_len) |
static FT_Error | gxv_validate (FT_Face face, FT_UInt gx_flags, FT_Bytes tables[FT_VALIDATE_GX_LENGTH], FT_UInt table_count) |
static FT_Error | classic_kern_validate (FT_Face face, FT_UInt ckern_flags, FT_Bytes *ckern_table) |
static FT_Pointer | gxvalid_get_service (FT_Module module, const char *service_id) |
Variables | |
static const FT_Service_GXvalidateRec | gxvalid_interface |
static const FT_Service_CKERNvalidateRec | ckernvalid_interface |
static const FT_ServiceDescRec | gxvalid_services [] |
FT_CALLBACK_TABLE_DEF const FT_Module_Class | gxv_module_class |
#define GXV_TABLE_DECL | ( | _sfnt | ) |
#define GXV_TABLE_LOAD | ( | _sfnt | ) |
Value:
if ( ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) && \ ( gx_flags & FT_VALIDATE_ ## _sfnt ) ) \ { \ error = gxv_load_table( face, TTAG_ ## _sfnt, \ &_sfnt, &len_ ## _sfnt ); \ if ( error ) \ goto Exit; \ }
Definition at line 80 of file gxvmod.c.
Referenced by gxv_validate().
#define GXV_TABLE_SET | ( | _sfnt | ) |
Value:
if ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) \ tables[FT_VALIDATE_ ## _sfnt ## _INDEX] = (FT_Bytes)_sfnt
Definition at line 102 of file gxvmod.c.
Referenced by gxv_validate().
#define GXV_TABLE_VALIDATE | ( | _sfnt | ) |
Value:
if ( _sfnt ) \ { \ ft_validator_init( &valid, _sfnt, _sfnt + len_ ## _sfnt, \ FT_VALIDATE_DEFAULT ); \ if ( ft_setjmp( valid.jump_buffer ) == 0 ) \ gxv_ ## _sfnt ## _validate( _sfnt, face, &valid ); \ error = valid.error; \ if ( error ) \ goto Exit; \ }
Definition at line 90 of file gxvmod.c.
Referenced by gxv_validate().
static FT_Error classic_kern_validate | ( | FT_Face | face, | |
FT_UInt | ckern_flags, | |||
FT_Bytes * | ckern_table | |||
) | [static] |
Definition at line 191 of file gxvmod.c.
References error, FT_FACE_MEMORY, FT_FREE, ft_setjmp, FT_VALIDATE_CKERN, FT_VALIDATE_DEFAULT, ft_validator_init(), gxv_kern_validate_classic(), gxv_load_table(), NULL, and TTAG_kern.
static FT_Error gxv_load_table | ( | FT_Face | face, | |
FT_Tag | tag, | |||
FT_Byte *volatile * | table, | |||
FT_ULong * | table_len | |||
) | [static] |
Definition at line 51 of file gxvmod.c.
References error, FT_ALLOC, FT_FACE_MEMORY, FT_Load_Sfnt_Table(), and NULL.
Referenced by classic_kern_validate().
static FT_Error gxv_validate | ( | FT_Face | face, | |
FT_UInt | gx_flags, | |||
FT_Bytes | tables[FT_VALIDATE_GX_LENGTH], | |||
FT_UInt | table_count | |||
) | [static] |
Definition at line 108 of file gxvmod.c.
References error, FT_FACE_MEMORY, FT_FREE, GXV_TABLE_DECL, GXV_TABLE_LOAD, GXV_TABLE_SET, GXV_TABLE_VALIDATE, and i.
static FT_Pointer gxvalid_get_service | ( | FT_Module | module, | |
const char * | service_id | |||
) | [static] |
Definition at line 259 of file gxvmod.c.
References ft_service_list_lookup(), FT_UNUSED, and gxvalid_services.
const FT_Service_CKERNvalidateRec ckernvalid_interface [static] |
FT_CALLBACK_TABLE_DEF const FT_Module_Class gxv_module_class |
Initial value:
{ 0, sizeof( FT_ModuleRec ), "gxvalid", 0x10000L, 0x20000L, 0, (FT_Module_Constructor)0, (FT_Module_Destructor) 0, (FT_Module_Requester) gxvalid_get_service }
const FT_Service_GXvalidateRec gxvalid_interface [static] |
const FT_ServiceDescRec gxvalid_services[] [static] |
Initial value:
{ { FT_SERVICE_ID_GX_VALIDATE, &gxvalid_interface }, { FT_SERVICE_ID_CLASSICKERN_VALIDATE, &ckernvalid_interface }, { NULL, NULL } }
Definition at line 250 of file gxvmod.c.
Referenced by gxvalid_get_service().