gxvmod.c File Reference

#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 Documentation

#define FT_COMPONENT   trace_gxvmodule

Definition at line 47 of file gxvmod.c.

#define GXV_TABLE_DECL ( _sfnt   ) 

Value:

FT_Byte* volatile  _sfnt          = NULL; \
          FT_ULong            len_ ## _sfnt = 0

Definition at line 76 of file gxvmod.c.

Referenced by gxv_validate().

#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().


Function Documentation

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.


Variable Documentation

const FT_Service_CKERNvalidateRec ckernvalid_interface [static]

Initial value:

Definition at line 243 of file gxvmod.c.

FT_CALLBACK_TABLE_DEF const FT_Module_Class gxv_module_class

Initial value:

Definition at line 269 of file gxvmod.c.

const FT_Service_GXvalidateRec gxvalid_interface [static]

Initial value:

Definition at line 236 of file gxvmod.c.

const FT_ServiceDescRec gxvalid_services[] [static]

Initial value:

Definition at line 250 of file gxvmod.c.

Referenced by gxvalid_get_service().


Generated on Tue Jul 5 15:58:23 2011 for ROOT_528-00b_version by  doxygen 1.5.1