gxvcommn.h File Reference

#include <ft2build.h>
#include "gxvalid.h"

Go to the source code of this file.

Classes

union  GXV_LookupValueDesc_
union  GXV_StateTable_GlyphOffsetDesc_
struct  GXV_StateTable_ValidatorRec_
struct  GXV_XStateTable_ValidatorRec_
struct  GXV_ValidatorRec_
struct  GXV_odtect_DataRec_
struct  GXV_odtect_RangeRec_

Defines

#define DUMMY_LIMIT   0
#define GXV_GLYPHOFFSET_FMT(table)   ( valid->table.entry_glyphoffset_fmt )
#define GXV_GLYPHOFFSET_SIZE(table)   ( valid->table.entry_glyphoffset_fmt / 2 )
#define GXV_TABLE_DATA(tag, field)   ( ( (GXV_ ## tag ## _Data)valid->table_data )->field )
#define FT_INVALID_(_prefix, _error)   ft_validator_error( valid->root, _prefix ## _error )
#define GXV_LIMIT_CHECK(_count)
#define GXV_INIT   do { } while ( 0 )
#define GXV_NAME_ENTER(name)   do { } while ( 0 )
#define GXV_EXIT   do { } while ( 0 )
#define GXV_TRACE(s)   do { } while ( 0 )
#define GXV_32BIT_ALIGNMENT_VALIDATE(a)
#define GXV_TRACE_HEXDUMP(p, len)
#define GXV_TRACE_HEXDUMP_C(p, len)
#define GXV_TRACE_HEXDUMP_SFNTNAME(n)   GXV_TRACE_HEXDUMP( n.string, n.string_len )
#define GXV_SUBTABLE_OFFSET_CHECK(_offset)
#define GXV_SUBTABLE_LIMIT_CHECK(_count)
#define GXV_USHORT_TO_SHORT(_us)   ( ( 0x8000U < ( _us ) ) ? ( ( _us ) - 0x8000U ) : ( _us ) )
#define GXV_STATETABLE_HEADER_SIZE   ( 2 + 2 + 2 + 2 )
#define GXV_STATEHEADER_SIZE   GXV_STATETABLE_HEADER_SIZE
#define GXV_XSTATETABLE_HEADER_SIZE   ( 4 + 4 + 4 + 4 )
#define GXV_XSTATEHEADER_SIZE   GXV_XSTATETABLE_HEADER_SIZE
#define GXV_ODTECT(n, odtect)
#define GXV_ODTECT_INIT(odtect)

Typedefs

typedef typedefFT_BEGIN_HEADER
struct GXV_ValidatorRec_
GXV_Validator
typedef void(*) GXV_Validate_Func (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
typedef GXV_LookupValueDesc_ GXV_LookupValueDesc
typedef const GXV_LookupValueDescGXV_LookupValueCPtr
typedef enum GXV_LookupValue_SignSpec_ GXV_LookupValue_SignSpec
typedef void(*) GXV_Lookup_Value_Validate_Func (FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator valid)
typedef GXV_LookupValueDesc(*) GXV_Lookup_Fmt4_Transit_Func (FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator valid)
typedef enum GXV_GlyphOffset_Format_ GXV_GlyphOffset_Format
typedef GXV_StateTable_GlyphOffsetDesc_ GXV_StateTable_GlyphOffsetDesc
typedef const GXV_StateTable_GlyphOffsetDescGXV_StateTable_GlyphOffsetCPtr
typedef void(*) GXV_StateTable_Subtable_Setup_Func (FT_UShort table_size, FT_UShort classTable, FT_UShort stateArray, FT_UShort entryTable, FT_UShort *classTable_length_p, FT_UShort *stateArray_length_p, FT_UShort *entryTable_length_p, GXV_Validator valid)
typedef void(*) GXV_StateTable_Entry_Validate_Func (FT_Byte state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset_p, FT_Bytes statetable_table, FT_Bytes statetable_limit, GXV_Validator valid)
typedef void(*) GXV_StateTable_OptData_Load_Func (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
typedef GXV_StateTable_ValidatorRec_ GXV_StateTable_ValidatorRec
typedef GXV_StateTable_ValidatorRec_GXV_StateTable_ValidatorRecData
typedef GXV_StateTable_GlyphOffsetDesc GXV_XStateTable_GlyphOffsetDesc
typedef const GXV_XStateTable_GlyphOffsetDescGXV_XStateTable_GlyphOffsetCPtr
typedef void(*) GXV_XStateTable_Subtable_Setup_Func (FT_ULong table_size, FT_ULong classTable, FT_ULong stateArray, FT_ULong entryTable, FT_ULong *classTable_length_p, FT_ULong *stateArray_length_p, FT_ULong *entryTable_length_p, GXV_Validator valid)
typedef void(*) GXV_XStateTable_Entry_Validate_Func (FT_UShort state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset_p, FT_Bytes xstatetable_table, FT_Bytes xstatetable_limit, GXV_Validator valid)
typedef GXV_StateTable_OptData_Load_Func GXV_XStateTable_OptData_Load_Func
typedef GXV_XStateTable_ValidatorRec_ GXV_XStateTable_ValidatorRec
typedef GXV_XStateTable_ValidatorRec_GXV_XStateTable_ValidatorRecData
typedef GXV_ValidatorRec_ GXV_ValidatorRec
typedef GXV_odtect_DataRec_ GXV_odtect_DataRec
typedef GXV_odtect_DataRec_GXV_odtect_Data
typedef GXV_odtect_RangeRec_ GXV_odtect_RangeRec
typedef GXV_odtect_RangeRec_GXV_odtect_Range

Enumerations

enum  GXV_LookupValue_SignSpec_
enum  GXV_GlyphOffset_Format_

Functions

 gxv_BinSrchHeader_validate (FT_Bytes p, FT_Bytes limit, FT_UShort *unitSize_p, FT_UShort *nUnits_p, GXV_Validator valid)
 gxv_LookupTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
 gxv_glyphid_validate (FT_UShort gid, GXV_Validator valid)
 gxv_ctlPoint_validate (FT_UShort gid, FT_Short ctl_point, GXV_Validator valid)
 gxv_sfntName_validate (FT_UShort name_index, FT_UShort min_index, FT_UShort max_index, GXV_Validator valid)
 gxv_StateTable_subtable_setup (FT_UShort table_size, FT_UShort classTable, FT_UShort stateArray, FT_UShort entryTable, FT_UShort *classTable_length_p, FT_UShort *stateArray_length_p, FT_UShort *entryTable_length_p, GXV_Validator valid)
 gxv_XStateTable_subtable_setup (FT_ULong table_size, FT_ULong classTable, FT_ULong stateArray, FT_ULong entryTable, FT_ULong *classTable_length_p, FT_ULong *stateArray_length_p, FT_ULong *entryTable_length_p, GXV_Validator valid)
 gxv_StateTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
 gxv_XStateTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
 gxv_array_getlimits_byte (FT_Bytes table, FT_Bytes limit, FT_Byte *min, FT_Byte *max, GXV_Validator valid)
 gxv_array_getlimits_ushort (FT_Bytes table, FT_Bytes limit, FT_UShort *min, FT_UShort *max, GXV_Validator valid)
 gxv_set_length_by_ushort_offset (FT_UShort *offset, FT_UShort **length, FT_UShort *buff, FT_UInt nmemb, FT_UShort limit, GXV_Validator valid)
 gxv_set_length_by_ulong_offset (FT_ULong *offset, FT_ULong **length, FT_ULong *buff, FT_UInt nmemb, FT_ULong limit, GXV_Validator valid)
 gxv_odtect_add_range (FT_Bytes start, FT_ULong length, const FT_String *name, GXV_odtect_Range odtect)
 gxv_odtect_validate (GXV_odtect_Range odtect, GXV_Validator valid)


Define Documentation

#define DUMMY_LIMIT   0

Definition at line 65 of file gxvcommn.h.

#define FT_INVALID_ ( _prefix,
_error   )     ft_validator_error( valid->root, _prefix ## _error )

Definition at line 252 of file gxvcommn.h.

#define GXV_32BIT_ALIGNMENT_VALIDATE (  ) 

Value:

FT_BEGIN_STMNT                  \
            {                             \
              if ( 0 != ( (a) % 4 ) )     \
                FT_INVALID_OFFSET ;       \
            }                             \
          FT_END_STMNT

Definition at line 300 of file gxvcommn.h.

Referenced by gxv_mort_subtable_type2_ligActionOffset_validate(), gxv_mort_validate(), gxv_morx_validate(), and gxv_trak_validate().

#define GXV_EXIT   do { } while ( 0 )

Definition at line 285 of file gxvcommn.h.

Referenced by gxv_BinSrchHeader_validate(), gxv_bsln_LookupValue_validate(), gxv_bsln_parts_fmt0_validate(), gxv_bsln_parts_fmt1_validate(), gxv_bsln_parts_fmt2_validate(), gxv_bsln_parts_fmt3_validate(), gxv_ClassTable_validate(), gxv_EntryTable_validate(), gxv_feat_name_index_validate(), gxv_feat_name_validate(), gxv_feat_registry_validate(), gxv_feat_setting_validate(), gxv_glyphid_validate(), gxv_just_actSubrecord_validate(), gxv_just_justClassTable_validate(), gxv_just_justData_lookuptable_validate(), gxv_just_justData_validate(), gxv_just_pcActionRecord_validate(), gxv_just_pcLookupTable_validate(), gxv_just_postcompTable_validate(), gxv_just_widthDeltaClusters_validate(), gxv_kern_coverage_validate(), gxv_kern_subtable_fmt0_pairs_validate(), gxv_kern_subtable_fmt0_validate(), gxv_kern_subtable_fmt1_validate(), gxv_kern_subtable_fmt2_clstbl_validate(), gxv_kern_subtable_fmt2_validate(), gxv_kern_subtable_fmt3_validate(), gxv_kern_subtable_validate(), gxv_lcar_LookupValue_validate(), gxv_lcar_partial_validate(), gxv_LookupTable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), gxv_LookupTable_fmt8_validate(), gxv_LookupTable_validate(), gxv_mort_chain_validate(), gxv_mort_featurearray_validate(), gxv_mort_subtable_type0_validate(), gxv_mort_subtable_type1_substTable_validate(), gxv_mort_subtable_type1_validate(), gxv_mort_subtable_type2_ligatureTable_validate(), gxv_mort_subtable_type2_subtable_setup(), gxv_mort_subtable_type2_validate(), gxv_mort_subtable_type4_validate(), gxv_mort_subtable_type5_validate(), gxv_mort_subtables_validate(), gxv_morx_chain_validate(), gxv_morx_subtable_type0_validate(), gxv_morx_subtable_type1_validate(), gxv_morx_subtable_type2_ligatureTable_validate(), gxv_morx_subtable_type2_subtable_setup(), gxv_morx_subtable_type2_validate(), gxv_morx_subtable_type4_validate(), gxv_morx_subtable_type5_validate(), gxv_morx_subtables_validate(), gxv_prop_zero_advance_validate(), gxv_sfntName_validate(), gxv_StateArray_validate(), gxv_StateTable_validate(), gxv_trak_trackData_validate(), gxv_trak_trackTable_validate(), gxv_XEntryTable_validate(), gxv_XStateArray_validate(), and gxv_XStateTable_validate().

#define GXV_GLYPHOFFSET_FMT ( table   )     ( valid->table.entry_glyphoffset_fmt )

Definition at line 119 of file gxvcommn.h.

Referenced by gxv_EntryTable_validate(), and gxv_XEntryTable_validate().

#define GXV_GLYPHOFFSET_SIZE ( table   )     ( valid->table.entry_glyphoffset_fmt / 2 )

Definition at line 122 of file gxvcommn.h.

Referenced by gxv_EntryTable_validate(), and gxv_XEntryTable_validate().

#define GXV_INIT   do { } while ( 0 )

Definition at line 283 of file gxvcommn.h.

Referenced by gxv_bsln_validate(), gxv_feat_validate(), gxv_just_validate(), gxv_kern_validate_generic(), gxv_lcar_validate(), gxv_mort_validate(), gxv_morx_validate(), gxv_opbd_validate(), gxv_prop_validate(), and gxv_trak_validate().

#define GXV_LIMIT_CHECK ( _count   ) 

Value:

FT_BEGIN_STMNT                                              \
            if ( p + _count > ( limit? limit : valid->root->limit ) ) \
              FT_INVALID_TOO_SHORT;                                   \
          FT_END_STMNT

Definition at line 255 of file gxvcommn.h.

Referenced by gxv_array_getlimits_byte(), gxv_array_getlimits_ushort(), gxv_BinSrchHeader_validate(), gxv_bsln_LookupFmt4_transit(), gxv_bsln_parts_fmt0_validate(), gxv_bsln_parts_fmt2_validate(), gxv_bsln_validate(), gxv_ClassTable_validate(), gxv_EntryTable_validate(), gxv_feat_name_index_validate(), gxv_feat_name_validate(), gxv_feat_setting_validate(), gxv_feat_validate(), gxv_just_actSubrecord_type0_validate(), gxv_just_actSubrecord_type1_validate(), gxv_just_actSubrecord_type2_validate(), gxv_just_actSubrecord_type4_validate(), gxv_just_actSubrecord_type5_validate(), gxv_just_actSubrecord_validate(), gxv_just_justClassTable_validate(), gxv_just_justData_validate(), gxv_just_pcActionRecord_validate(), gxv_just_validate(), gxv_just_wdc_entry_validate(), gxv_just_wdp_entry_validate(), gxv_kern_subtable_fmt0_validate(), gxv_kern_subtable_fmt1_entry_validate(), gxv_kern_subtable_fmt1_valueTable_load(), gxv_kern_subtable_fmt2_clstbl_validate(), gxv_kern_subtable_fmt2_validate(), gxv_kern_subtable_fmt3_validate(), gxv_kern_subtable_validate(), gxv_kern_validate_generic(), gxv_lcar_LookupFmt4_transit(), gxv_lcar_LookupValue_validate(), gxv_lcar_validate(), gxv_LookupTable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), gxv_LookupTable_fmt8_validate(), gxv_LookupTable_validate(), gxv_mort_chain_validate(), gxv_mort_featurearray_validate(), gxv_mort_subtable_type0_validate(), gxv_mort_subtable_type1_substitutionTable_load(), gxv_mort_subtable_type1_substTable_validate(), gxv_mort_subtable_type1_validate(), gxv_mort_subtable_type2_ligatureTable_validate(), gxv_mort_subtable_type2_opttable_load(), gxv_mort_subtable_type2_validate(), gxv_mort_subtable_type4_lookupfmt4_transit(), gxv_mort_subtable_type5_InsertList_validate(), gxv_mort_subtable_type5_validate(), gxv_mort_subtables_validate(), gxv_mort_validate(), gxv_morx_chain_validate(), gxv_morx_subtable_type0_validate(), gxv_morx_subtable_type1_LookupFmt4_transit(), gxv_morx_subtable_type1_substitutionTable_load(), gxv_morx_subtable_type1_substitutionTable_validate(), gxv_morx_subtable_type1_validate(), gxv_morx_subtable_type2_ligatureTable_validate(), gxv_morx_subtable_type2_opttable_load(), gxv_morx_subtable_type2_validate(), gxv_morx_subtable_type5_insertionGlyphList_load(), gxv_morx_subtable_type5_InsertList_validate(), gxv_morx_subtable_type5_validate(), gxv_morx_subtables_validate(), gxv_morx_validate(), gxv_opbd_LookupValue_validate(), gxv_opbd_validate(), gxv_prop_LookupFmt4_transit(), gxv_prop_validate(), gxv_StateArray_validate(), gxv_StateTable_validate(), gxv_trak_trackData_validate(), gxv_trak_trackTable_validate(), gxv_trak_validate(), gxv_XClassTable_lookupfmt4_transit(), gxv_XEntryTable_validate(), gxv_XStateArray_validate(), and gxv_XStateTable_validate().

#define GXV_NAME_ENTER ( name   )     do { } while ( 0 )

Definition at line 284 of file gxvcommn.h.

Referenced by gxv_BinSrchHeader_validate(), gxv_bsln_LookupValue_validate(), gxv_bsln_parts_fmt0_validate(), gxv_bsln_parts_fmt1_validate(), gxv_bsln_parts_fmt2_validate(), gxv_bsln_parts_fmt3_validate(), gxv_ClassTable_validate(), gxv_EntryTable_validate(), gxv_feat_name_index_validate(), gxv_feat_name_validate(), gxv_feat_registry_validate(), gxv_feat_setting_validate(), gxv_just_actSubrecord_validate(), gxv_just_justClassTable_validate(), gxv_just_justData_validate(), gxv_just_pcLookupTable_validate(), gxv_just_postcompTable_validate(), gxv_just_widthDeltaClusters_validate(), gxv_kern_coverage_validate(), gxv_kern_subtable_fmt0_pairs_validate(), gxv_kern_subtable_fmt0_validate(), gxv_kern_subtable_fmt1_validate(), gxv_kern_subtable_fmt2_clstbl_validate(), gxv_kern_subtable_fmt2_validate(), gxv_kern_subtable_fmt3_validate(), gxv_kern_subtable_validate(), gxv_lcar_LookupValue_validate(), gxv_lcar_partial_validate(), gxv_LookupTable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), gxv_LookupTable_fmt8_validate(), gxv_LookupTable_validate(), gxv_mort_chain_validate(), gxv_mort_featurearray_validate(), gxv_mort_subtable_type0_validate(), gxv_mort_subtable_type1_substTable_validate(), gxv_mort_subtable_type1_validate(), gxv_mort_subtable_type2_ligatureTable_validate(), gxv_mort_subtable_type2_subtable_setup(), gxv_mort_subtable_type2_validate(), gxv_mort_subtable_type4_validate(), gxv_mort_subtable_type5_validate(), gxv_mort_subtables_validate(), gxv_morx_chain_validate(), gxv_morx_subtable_type0_validate(), gxv_morx_subtable_type1_validate(), gxv_morx_subtable_type2_ligatureTable_validate(), gxv_morx_subtable_type2_subtable_setup(), gxv_morx_subtable_type2_validate(), gxv_morx_subtable_type4_validate(), gxv_morx_subtable_type5_validate(), gxv_morx_subtables_validate(), gxv_odtect_validate(), gxv_prop_zero_advance_validate(), gxv_sfntName_validate(), gxv_StateArray_validate(), gxv_StateTable_validate(), gxv_trak_trackData_validate(), gxv_trak_trackTable_validate(), gxv_XEntryTable_validate(), gxv_XStateArray_validate(), and gxv_XStateTable_validate().

#define GXV_ODTECT ( n,
odtect   ) 

Value:

GXV_odtect_DataRec   odtect ## _range[n];          \
          GXV_odtect_RangeRec  odtect ## _rec = { 0, NULL }; \
          GXV_odtect_Range     odtect = NULL

Definition at line 545 of file gxvcommn.h.

Referenced by gxv_just_justData_validate(), gxv_just_validate(), gxv_kern_subtable_fmt2_validate(), gxv_trak_trackData_validate(), and gxv_trak_validate().

#define GXV_ODTECT_INIT ( odtect   ) 

Value:

FT_BEGIN_STMNT                               \
            odtect ## _rec.nRanges = 0;                \
            odtect ## _rec.range   = odtect ## _range; \
            odtect                 = & odtect ## _rec; \
          FT_END_STMNT

Definition at line 550 of file gxvcommn.h.

Referenced by gxv_just_justData_validate(), gxv_just_validate(), gxv_kern_subtable_fmt2_validate(), gxv_trak_trackData_validate(), and gxv_trak_validate().

#define GXV_STATEHEADER_SIZE   GXV_STATETABLE_HEADER_SIZE

Definition at line 504 of file gxvcommn.h.

#define GXV_STATETABLE_HEADER_SIZE   ( 2 + 2 + 2 + 2 )

Definition at line 503 of file gxvcommn.h.

Referenced by gxv_mort_subtable_type0_validate(), and gxv_morx_subtable_type0_validate().

#define GXV_SUBTABLE_LIMIT_CHECK ( _count   ) 

Value:

FT_BEGIN_STMNT                                    \
            if ( ( p + (_count) - valid->subtable_start ) > \
                   valid->subtable_length )                 \
              FT_INVALID_TOO_SHORT;                         \
          FT_END_STMNT

Definition at line 493 of file gxvcommn.h.

#define GXV_SUBTABLE_OFFSET_CHECK ( _offset   ) 

Value:

FT_BEGIN_STMNT                              \
            if ( (_offset) > valid->subtable_length ) \
              FT_INVALID_OFFSET;                      \
          FT_END_STMNT

Definition at line 487 of file gxvcommn.h.

#define GXV_TABLE_DATA ( tag,
field   )     ( ( (GXV_ ## tag ## _Data)valid->table_data )->field )

Definition at line 248 of file gxvcommn.h.

#define GXV_TRACE ( s   )     do { } while ( 0 )

Definition at line 287 of file gxvcommn.h.

Referenced by gxv_BinSrchHeader_check_consistency(), gxv_BinSrchHeader_validate(), gxv_bsln_parts_fmt2_validate(), gxv_bsln_validate(), gxv_ClassTable_validate(), gxv_EntryTable_validate(), gxv_feat_name_index_validate(), gxv_feat_registry_validate(), gxv_feat_validate(), gxv_glyphid_validate(), gxv_just_justClassTable_validate(), gxv_just_justData_validate(), gxv_just_pcActionRecord_validate(), gxv_just_validate(), gxv_just_wdc_entry_validate(), gxv_kern_coverage_classic_apple_validate(), gxv_kern_coverage_classic_microsoft_validate(), gxv_kern_coverage_new_apple_validate(), gxv_kern_coverage_validate(), gxv_kern_subtable_fmt0_pairs_validate(), gxv_kern_subtable_fmt2_clstbl_validate(), gxv_kern_subtable_fmt2_validate(), gxv_kern_subtable_fmt3_validate(), gxv_kern_subtable_validate(), gxv_kern_validate_generic(), gxv_LookupTable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), gxv_LookupTable_validate(), gxv_mort_coverage_validate(), gxv_mort_feature_validate(), gxv_mort_subtable_type0_entry_validate(), gxv_mort_subtable_type1_entry_validate(), gxv_mort_subtable_type1_substTable_validate(), gxv_mort_subtable_type2_ligActionOffset_validate(), gxv_mort_subtable_type2_opttable_load(), gxv_mort_subtable_type2_subtable_setup(), gxv_mort_subtable_type5_InsertList_validate(), gxv_mort_subtables_validate(), gxv_mort_validate(), gxv_morx_subtable_type0_entry_validate(), gxv_morx_subtable_type1_entry_validate(), gxv_morx_subtable_type1_LookupValue_validate(), gxv_morx_subtable_type2_entry_validate(), gxv_morx_subtable_type2_ligActionIndex_validate(), gxv_morx_subtable_type2_opttable_load(), gxv_morx_subtable_type2_subtable_setup(), gxv_morx_subtable_type5_InsertList_validate(), gxv_morx_subtables_validate(), gxv_morx_validate(), gxv_odtect_validate(), gxv_opbd_validate(), gxv_prop_property_validate(), gxv_sfntName_validate(), gxv_StateArray_validate(), gxv_StateTable_validate(), gxv_trak_trackData_validate(), gxv_trak_validate(), gxv_XEntryTable_validate(), gxv_XStateArray_validate(), and gxv_XStateTable_validate().

#define GXV_TRACE_HEXDUMP ( p,
len   ) 

Value:

FT_BEGIN_STMNT                                \
            {                                           \
              FT_Bytes  b;                              \
                                                        \
                                                        \
              for ( b = p; b < (FT_Bytes)p + len; b++ ) \
                FT_TRACE1(("\\x%02x", *b)) ;            \
            }                                           \
          FT_END_STMNT

Definition at line 317 of file gxvcommn.h.

#define GXV_TRACE_HEXDUMP_C ( p,
len   ) 

Value:

FT_BEGIN_STMNT                                \
            {                                           \
              FT_Bytes  b;                              \
                                                        \
                                                        \
              for ( b = p; b < (FT_Bytes)p + len; b++ ) \
                if ( 0x40 < *b && *b < 0x7e )           \
                  FT_TRACE1(("%c", *b)) ;               \
                else                                    \
                  FT_TRACE1(("\\x%02x", *b)) ;          \
            }                                           \
          FT_END_STMNT

Definition at line 328 of file gxvcommn.h.

#define GXV_TRACE_HEXDUMP_SFNTNAME ( n   )     GXV_TRACE_HEXDUMP( n.string, n.string_len )

Definition at line 342 of file gxvcommn.h.

Referenced by gxv_sfntName_validate().

#define GXV_USHORT_TO_SHORT ( _us   )     ( ( 0x8000U < ( _us ) ) ? ( ( _us ) - 0x8000U ) : ( _us ) )

Definition at line 500 of file gxvcommn.h.

#define GXV_XSTATEHEADER_SIZE   GXV_XSTATETABLE_HEADER_SIZE

Definition at line 507 of file gxvcommn.h.

#define GXV_XSTATETABLE_HEADER_SIZE   ( 4 + 4 + 4 + 4 )

Definition at line 506 of file gxvcommn.h.


Typedef Documentation

typedef enum GXV_GlyphOffset_Format_ GXV_GlyphOffset_Format

typedef GXV_LookupValueDesc(*) GXV_Lookup_Fmt4_Transit_Func(FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator valid)

Definition at line 98 of file gxvcommn.h.

typedef void(*) GXV_Lookup_Value_Validate_Func(FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator valid)

Definition at line 93 of file gxvcommn.h.

typedef enum GXV_LookupValue_SignSpec_ GXV_LookupValue_SignSpec

typedef const GXV_LookupValueDesc* GXV_LookupValueCPtr

Definition at line 82 of file gxvcommn.h.

typedef union GXV_LookupValueDesc_ GXV_LookupValueDesc

typedef struct GXV_odtect_DataRec_ * GXV_odtect_Data

typedef struct GXV_odtect_DataRec_ GXV_odtect_DataRec

typedef struct GXV_odtect_RangeRec_ * GXV_odtect_Range

typedef struct GXV_odtect_RangeRec_ GXV_odtect_RangeRec

typedef void(*) GXV_StateTable_Entry_Validate_Func(FT_Byte state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset_p, FT_Bytes statetable_table, FT_Bytes statetable_limit, GXV_Validator valid)

Definition at line 152 of file gxvcommn.h.

typedef const GXV_StateTable_GlyphOffsetDesc* GXV_StateTable_GlyphOffsetCPtr

Definition at line 139 of file gxvcommn.h.

typedef union GXV_StateTable_GlyphOffsetDesc_ GXV_StateTable_GlyphOffsetDesc

typedef void(*) GXV_StateTable_OptData_Load_Func(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)

Definition at line 161 of file gxvcommn.h.

typedef void(*) GXV_StateTable_Subtable_Setup_Func(FT_UShort table_size, FT_UShort classTable, FT_UShort stateArray, FT_UShort entryTable, FT_UShort *classTable_length_p, FT_UShort *stateArray_length_p, FT_UShort *entryTable_length_p, GXV_Validator valid)

Definition at line 142 of file gxvcommn.h.

typedef struct GXV_StateTable_ValidatorRec_ GXV_StateTable_ValidatorRec

typedef struct GXV_StateTable_ValidatorRec_ * GXV_StateTable_ValidatorRecData

typedef void(*) GXV_Validate_Func(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)

Definition at line 68 of file gxvcommn.h.

typedef typedefFT_BEGIN_HEADER struct GXV_ValidatorRec_* GXV_Validator

Definition at line 62 of file gxvcommn.h.

typedef struct GXV_ValidatorRec_ GXV_ValidatorRec

typedef void(*) GXV_XStateTable_Entry_Validate_Func(FT_UShort state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset_p, FT_Bytes xstatetable_table, FT_Bytes xstatetable_limit, GXV_Validator valid)

Definition at line 194 of file gxvcommn.h.

typedef const GXV_XStateTable_GlyphOffsetDesc* GXV_XStateTable_GlyphOffsetCPtr

Definition at line 181 of file gxvcommn.h.

typedef GXV_StateTable_GlyphOffsetDesc GXV_XStateTable_GlyphOffsetDesc

Definition at line 179 of file gxvcommn.h.

typedef GXV_StateTable_OptData_Load_Func GXV_XStateTable_OptData_Load_Func

Definition at line 203 of file gxvcommn.h.

typedef void(*) GXV_XStateTable_Subtable_Setup_Func(FT_ULong table_size, FT_ULong classTable, FT_ULong stateArray, FT_ULong entryTable, FT_ULong *classTable_length_p, FT_ULong *stateArray_length_p, FT_ULong *entryTable_length_p, GXV_Validator valid)

Definition at line 184 of file gxvcommn.h.

typedef struct GXV_XStateTable_ValidatorRec_ GXV_XStateTable_ValidatorRec

typedef struct GXV_XStateTable_ValidatorRec_ * GXV_XStateTable_ValidatorRecData


Enumeration Type Documentation

enum GXV_GlyphOffset_Format_

Definition at line 106 of file gxvcommn.h.

enum GXV_LookupValue_SignSpec_

Definition at line 84 of file gxvcommn.h.


Function Documentation

gxv_array_getlimits_byte ( FT_Bytes  table,
FT_Bytes  limit,
FT_Byte min,
FT_Byte max,
GXV_Validator  valid 
)

Definition at line 181 of file gxvcommn.c.

References FT_MAX, FT_MIN, FT_NEXT_BYTE, GXV_LIMIT_CHECK, p, and val.

Referenced by gxv_kern_subtable_fmt3_validate().

gxv_array_getlimits_ushort ( FT_Bytes  table,
FT_Bytes  limit,
FT_UShort min,
FT_UShort max,
GXV_Validator  valid 
)

Definition at line 210 of file gxvcommn.c.

References FT_MAX, FT_MIN, FT_NEXT_USHORT, GXV_LIMIT_CHECK, p, and val.

Referenced by gxv_kern_subtable_fmt2_clstbl_validate().

gxv_BinSrchHeader_validate ( FT_Bytes  p,
FT_Bytes  limit,
FT_UShort unitSize_p,
FT_UShort nUnits_p,
GXV_Validator  valid 
)

Definition at line 329 of file gxvcommn.c.

References GXV_BinSrchHeader_::entrySelector, FT_NEXT_USHORT, gxv_BinSrchHeader_check_consistency(), GXV_EXIT, GXV_LIMIT_CHECK, GXV_NAME_ENTER, GXV_TRACE, GXV_BinSrchHeader_::nUnits, p, GXV_BinSrchHeader_::rangeShift, GXV_BinSrchHeader_::searchRange, and GXV_BinSrchHeader_::unitSize.

Referenced by gxv_kern_subtable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), and gxv_LookupTable_fmt6_validate().

gxv_ctlPoint_validate ( FT_UShort  gid,
FT_Short  ctl_point,
GXV_Validator  valid 
)

Definition at line 854 of file gxvcommn.c.

References error, FT_INVALID_DATA, FT_INVALID_GLYPH_ID, FT_Load_Glyph(), FT_LOAD_IGNORE_TRANSFORM, FT_LOAD_NO_BITMAP, FT_Outline_::n_points, and FT_GlyphSlotRec_::outline.

Referenced by gxv_bsln_parts_fmt2_validate(), gxv_lcar_partial_validate(), and gxv_opbd_LookupValue_validate().

gxv_glyphid_validate ( FT_UShort  gid,
GXV_Validator  valid 
)

Definition at line 820 of file gxvcommn.c.

References FT_INVALID_GLYPH_ID, FT_VALIDATE_PARANOID, GXV_EXIT, and GXV_TRACE.

Referenced by gxv_bsln_parts_fmt2_validate(), gxv_ClassTable_validate(), gxv_kern_subtable_fmt0_pairs_validate(), gxv_kern_subtable_fmt2_clstbl_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), gxv_LookupTable_fmt8_validate(), gxv_mort_subtable_type4_lookupval_validate(), and gxv_prop_property_validate().

gxv_LookupTable_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
)

Definition at line 762 of file gxvcommn.c.

References FT_INVALID_FORMAT, FT_NEXT_USHORT, func(), GXV_EXIT, GXV_LIMIT_CHECK, gxv_LookupTable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), gxv_LookupTable_fmt8_validate(), GXV_NAME_ENTER, GXV_TRACE, NULL, and p.

Referenced by gxv_bsln_parts_fmt1_validate(), gxv_bsln_parts_fmt3_validate(), gxv_just_justData_lookuptable_validate(), gxv_just_pcLookupTable_validate(), gxv_lcar_validate(), gxv_mort_subtable_type4_validate(), gxv_morx_subtable_type1_substitutionTable_validate(), gxv_opbd_validate(), gxv_prop_validate(), and gxv_XStateTable_validate().

gxv_odtect_add_range ( FT_Bytes  start,
FT_ULong  length,
const FT_String name,
GXV_odtect_Range  odtect 
)

Definition at line 1717 of file gxvcommn.c.

Referenced by gxv_just_justData_validate(), gxv_just_validate(), gxv_kern_subtable_fmt2_clstbl_validate(), gxv_kern_subtable_fmt2_validate(), gxv_trak_trackData_validate(), and gxv_trak_validate().

gxv_odtect_validate ( GXV_odtect_Range  odtect,
GXV_Validator  valid 
)

Definition at line 1730 of file gxvcommn.c.

References FT_INVALID_OFFSET, gxv_compare_ranges(), GXV_NAME_ENTER, GXV_TRACE, i, if(), and j.

Referenced by gxv_just_justData_validate(), gxv_just_validate(), gxv_kern_subtable_fmt2_validate(), gxv_trak_trackData_validate(), and gxv_trak_validate().

gxv_set_length_by_ulong_offset ( FT_ULong offset,
FT_ULong **  length,
FT_ULong buff,
FT_UInt  nmemb,
FT_ULong  limit,
GXV_Validator  valid 
)

Definition at line 128 of file gxvcommn.c.

References FT_INVALID_OFFSET, ft_qsort, gxv_compare_ulong_offset(), i, and j.

Referenced by gxv_morx_subtable_type1_subtable_setup(), gxv_morx_subtable_type2_subtable_setup(), gxv_morx_subtable_type5_subtable_setup(), and gxv_XStateTable_subtable_setup().

gxv_set_length_by_ushort_offset ( FT_UShort offset,
FT_UShort **  length,
FT_UShort buff,
FT_UInt  nmemb,
FT_UShort  limit,
GXV_Validator  valid 
)

Definition at line 63 of file gxvcommn.c.

References FT_INVALID_OFFSET, ft_qsort, gxv_compare_ushort_offset(), i, and j.

Referenced by gxv_kern_subtable_fmt1_subtable_setup(), gxv_mort_subtable_type1_subtable_setup(), gxv_mort_subtable_type2_subtable_setup(), and gxv_StateTable_subtable_setup().

gxv_sfntName_validate ( FT_UShort  name_index,
FT_UShort  min_index,
FT_UShort  max_index,
GXV_Validator  valid 
)

Definition at line 893 of file gxvcommn.c.

References FT_Get_Sfnt_Name(), FT_Get_Sfnt_Name_Count(), FT_INVALID_DATA, FT_INVALID_FORMAT, FT_TRACE1, GXV_EXIT, GXV_NAME_ENTER, GXV_TRACE, GXV_TRACE_HEXDUMP_SFNTNAME, i, if(), and name.

Referenced by gxv_feat_name_index_validate(), and gxv_trak_trackTable_validate().

gxv_StateTable_subtable_setup ( FT_UShort  table_size,
FT_UShort  classTable,
FT_UShort  stateArray,
FT_UShort  entryTable,
FT_UShort classTable_length_p,
FT_UShort stateArray_length_p,
FT_UShort entryTable_length_p,
GXV_Validator  valid 
)

Definition at line 1200 of file gxvcommn.c.

References gxv_set_length_by_ushort_offset(), l, and o.

Referenced by gxv_mort_subtable_type5_subtable_setup(), and gxv_StateTable_validate().

gxv_StateTable_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
)

Definition at line 1226 of file gxvcommn.c.

References FT_INVALID_DATA, FT_INVALID_OFFSET, FT_NEXT_USHORT, gxv_ClassTable_validate(), gxv_EntryTable_validate(), GXV_EXIT, GXV_LIMIT_CHECK, GXV_NAME_ENTER, gxv_StateArray_validate(), gxv_StateTable_subtable_setup(), GXV_TRACE, NULL, and p.

Referenced by gxv_just_justClassTable_validate(), gxv_kern_subtable_fmt1_validate(), gxv_mort_subtable_type0_validate(), gxv_mort_subtable_type1_validate(), gxv_mort_subtable_type2_validate(), and gxv_mort_subtable_type5_validate().

gxv_XStateTable_subtable_setup ( FT_ULong  table_size,
FT_ULong  classTable,
FT_ULong  stateArray,
FT_ULong  entryTable,
FT_ULong classTable_length_p,
FT_ULong stateArray_length_p,
FT_ULong entryTable_length_p,
GXV_Validator  valid 
)

Definition at line 1328 of file gxvcommn.c.

References gxv_set_length_by_ulong_offset(), l, and o.

Referenced by gxv_XStateTable_validate().

gxv_XStateTable_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
)

Definition at line 1573 of file gxvcommn.c.

References FT_INVALID_DATA, FT_INVALID_OFFSET, FT_NEXT_ULONG, GXV_EXIT, GXV_LIMIT_CHECK, gxv_LookupTable_validate(), GXV_LOOKUPVALUE_UNSIGNED, GXV_NAME_ENTER, GXV_TRACE, gxv_XClassTable_lookupfmt4_transit(), gxv_XClassTable_lookupval_validate(), gxv_XEntryTable_validate(), gxv_XStateArray_validate(), gxv_XStateTable_subtable_setup(), NULL, and p.

Referenced by gxv_morx_subtable_type0_validate(), gxv_morx_subtable_type1_validate(), gxv_morx_subtable_type2_validate(), and gxv_morx_subtable_type5_validate().


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