gxvcommn.c File Reference

#include "gxvcommn.h"

Go to the source code of this file.

Classes

struct  GXV_BinSrchHeader_

Defines

#define FT_COMPONENT   trace_gxvcommon
#define GXV_LOOKUP_VALUE_LOAD(P, SIGNSPEC)   ( P += 2, gxv_lookup_value_load( P - 2, SIGNSPEC ) )
#define GXV_UNITSIZE_VALIDATE(FORMAT, UNITSIZE, NUNITS, CORRECTSIZE)

Typedefs

typedef GXV_BinSrchHeader_ GXV_BinSrchHeader

Functions

static int gxv_compare_ushort_offset (FT_UShort *a, FT_UShort *b)
 gxv_set_length_by_ushort_offset (FT_UShort *offset, FT_UShort **length, FT_UShort *buff, FT_UInt nmemb, FT_UShort limit, GXV_Validator valid)
static int gxv_compare_ulong_offset (FT_ULong *a, FT_ULong *b)
 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_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)
static void gxv_BinSrchHeader_check_consistency (GXV_BinSrchHeader *binSrchHeader, GXV_Validator valid)
 gxv_BinSrchHeader_validate (FT_Bytes table, FT_Bytes limit, FT_UShort *unitSize_p, FT_UShort *nUnits_p, GXV_Validator valid)
static GXV_LookupValueDesc gxv_lookup_value_load (FT_Bytes p, int signspec)
static void gxv_LookupTable_fmt0_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
static void gxv_LookupTable_fmt2_skip_endmarkers (FT_Bytes table, FT_UShort unitSize, GXV_Validator valid)
static void gxv_LookupTable_fmt2_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
static void gxv_LookupTable_fmt4_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
static void gxv_LookupTable_fmt6_skip_endmarkers (FT_Bytes table, FT_UShort unitSize, GXV_Validator valid)
static void gxv_LookupTable_fmt6_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
static void gxv_LookupTable_fmt8_validate (FT_Bytes table, FT_Bytes limit, 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)
static void gxv_ClassTable_validate (FT_Bytes table, FT_UShort *length_p, FT_UShort stateSize, FT_Byte *maxClassID_p, GXV_Validator valid)
static void gxv_StateArray_validate (FT_Bytes table, FT_UShort *length_p, FT_Byte maxClassID, FT_UShort stateSize, FT_Byte *maxState_p, FT_Byte *maxEntry_p, GXV_Validator valid)
static void gxv_EntryTable_validate (FT_Bytes table, FT_UShort *length_p, FT_Byte maxEntry, FT_UShort stateArray, FT_UShort stateArray_length, FT_Byte maxClassID, FT_Bytes statetable_table, FT_Bytes statetable_limit, 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_StateTable_validate (FT_Bytes table, FT_Bytes limit, 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)
static void gxv_XClassTable_lookupval_validate (FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator valid)
static GXV_LookupValueDesc gxv_XClassTable_lookupfmt4_transit (FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator valid)
static void gxv_XStateArray_validate (FT_Bytes table, FT_ULong *length_p, FT_UShort maxClassID, FT_ULong stateSize, FT_UShort *maxState_p, FT_UShort *maxEntry_p, GXV_Validator valid)
static void gxv_XEntryTable_validate (FT_Bytes table, FT_ULong *length_p, FT_UShort maxEntry, FT_ULong stateArray_length, FT_UShort maxClassID, FT_Bytes xstatetable_table, FT_Bytes xstatetable_limit, GXV_Validator valid)
 gxv_XStateTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
static int gxv_compare_ranges (FT_Bytes table1_start, FT_ULong table1_length, FT_Bytes table2_start, FT_ULong table2_length)
 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 FT_COMPONENT   trace_gxvcommon

Definition at line 38 of file gxvcommn.c.

#define GXV_LOOKUP_VALUE_LOAD ( P,
SIGNSPEC   )     ( P += 2, gxv_lookup_value_load( P - 2, SIGNSPEC ) )

Definition at line 384 of file gxvcommn.c.

Referenced by gxv_LookupTable_fmt0_validate(), gxv_LookupTable_fmt2_validate(), gxv_LookupTable_fmt4_validate(), gxv_LookupTable_fmt6_validate(), and gxv_LookupTable_fmt8_validate().

#define GXV_UNITSIZE_VALIDATE ( FORMAT,
UNITSIZE,
NUNITS,
CORRECTSIZE   ) 

Value:

FT_BEGIN_STMNT                                               \
            if ( UNITSIZE != CORRECTSIZE )                             \
            {                                                          \
              FT_ERROR(( "unitSize=%d differs from"                    \
                         " expected unitSize=%d"                       \
                         " in LookupTable %s\n",                       \
                          UNITSIZE, CORRECTSIZE, FORMAT ));            \
              if ( UNITSIZE != 0 && NUNITS != 0 )                      \
              {                                                        \
                FT_ERROR(( " cannot validate anymore\n" ));            \
                FT_INVALID_FORMAT;                                     \
              }                                                        \
              else                                                     \
                FT_ERROR(( " forcibly continues\n" ));                 \
            }                                                          \
          FT_END_STMNT

Definition at line 403 of file gxvcommn.c.

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


Typedef Documentation

typedef struct GXV_BinSrchHeader_ GXV_BinSrchHeader


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

static void gxv_BinSrchHeader_check_consistency ( GXV_BinSrchHeader binSrchHeader,
GXV_Validator  valid 
) [static]

Definition at line 258 of file gxvcommn.c.

References GXV_BinSrchHeader_::entrySelector, FT_INVALID_DATA, FT_VALIDATE_PARANOID, GXV_TRACE, GXV_BinSrchHeader_::nUnits, GXV_BinSrchHeader_::rangeShift, GXV_BinSrchHeader_::searchRange, and GXV_BinSrchHeader_::unitSize.

Referenced by gxv_BinSrchHeader_validate().

gxv_BinSrchHeader_validate ( FT_Bytes  table,
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().

static void gxv_ClassTable_validate ( FT_Bytes  table,
FT_UShort length_p,
FT_UShort  stateSize,
FT_Byte maxClassID_p,
GXV_Validator  valid 
) [static]

Definition at line 951 of file gxvcommn.c.

References FT_INVALID_DATA, ft_memset, FT_NEXT_BYTE, FT_NEXT_USHORT, GXV_EXIT, gxv_glyphid_validate(), GXV_LIMIT_CHECK, GXV_NAME_ENTER, GXV_TRACE, i, and p.

Referenced by gxv_StateTable_validate().

static int gxv_compare_ranges ( FT_Bytes  table1_start,
FT_ULong  table1_length,
FT_Bytes  table2_start,
FT_ULong  table2_length 
) [static]

Definition at line 1689 of file gxvcommn.c.

Referenced by gxv_odtect_validate().

static int gxv_compare_ulong_offset ( FT_ULong a,
FT_ULong b 
) [static]

Definition at line 115 of file gxvcommn.c.

Referenced by gxv_set_length_by_ulong_offset().

static int gxv_compare_ushort_offset ( FT_UShort a,
FT_UShort b 
) [static]

Definition at line 50 of file gxvcommn.c.

Referenced by gxv_set_length_by_ushort_offset().

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

static void gxv_EntryTable_validate ( FT_Bytes  table,
FT_UShort length_p,
FT_Byte  maxEntry,
FT_UShort  stateArray,
FT_UShort  stateArray_length,
FT_Byte  maxClassID,
FT_Bytes  statetable_table,
FT_Bytes  statetable_limit,
GXV_Validator  valid 
) [static]

Definition at line 1079 of file gxvcommn.c.

References GXV_StateTable_GlyphOffsetDesc_::c, entry, flags, FT_INVALID_FORMAT, FT_INVALID_OFFSET, FT_INVALID_TOO_SHORT, FT_NEXT_BYTE, FT_NEXT_CHAR, FT_NEXT_LONG, FT_NEXT_SHORT, FT_NEXT_ULONG, FT_NEXT_USHORT, FT_VALIDATE_PARANOID, GXV_EXIT, GXV_GLYPHOFFSET_CHAR, GXV_GLYPHOFFSET_FMT, GXV_GLYPHOFFSET_LONG, GXV_GLYPHOFFSET_NONE, GXV_GLYPHOFFSET_SHORT, GXV_GLYPHOFFSET_SIZE, GXV_GLYPHOFFSET_UCHAR, GXV_GLYPHOFFSET_ULONG, GXV_GLYPHOFFSET_USHORT, GXV_LIMIT_CHECK, GXV_NAME_ENTER, GXV_TRACE, GXV_StateTable_GlyphOffsetDesc_::l, NULL, p, GXV_StateTable_GlyphOffsetDesc_::s, GXV_StateTable_GlyphOffsetDesc_::u, GXV_StateTable_GlyphOffsetDesc_::uc, and GXV_StateTable_GlyphOffsetDesc_::ul.

Referenced by gxv_StateTable_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().

static GXV_LookupValueDesc gxv_lookup_value_load ( FT_Bytes  p,
int  signspec 
) [static]

Definition at line 388 of file gxvcommn.c.

References FT_NEXT_SHORT, FT_NEXT_USHORT, and GXV_LOOKUPVALUE_UNSIGNED.

static void gxv_LookupTable_fmt0_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
) [static]

Definition at line 424 of file gxvcommn.c.

References FT_INVALID_GLYPH_ID, FT_VALIDATE_PARANOID, GXV_EXIT, GXV_LIMIT_CHECK, GXV_LOOKUP_VALUE_LOAD, GXV_NAME_ENTER, GXV_TRACE, i, if(), p, and value.

Referenced by gxv_LookupTable_validate().

static void gxv_LookupTable_fmt2_skip_endmarkers ( FT_Bytes  table,
FT_UShort  unitSize,
GXV_Validator  valid 
) [static]

Definition at line 476 of file gxvcommn.c.

References p.

Referenced by gxv_LookupTable_fmt2_validate(), and gxv_LookupTable_fmt4_validate().

static void gxv_LookupTable_fmt2_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
) [static]

Definition at line 496 of file gxvcommn.c.

References FT_INVALID_GLYPH_ID, FT_NEXT_USHORT, FT_TRACE4, FT_VALIDATE_PARANOID, FT_VALIDATE_TIGHT, gxv_BinSrchHeader_validate(), GXV_EXIT, gxv_glyphid_validate(), GXV_LIMIT_CHECK, GXV_LOOKUP_VALUE_LOAD, gxv_LookupTable_fmt2_skip_endmarkers(), GXV_NAME_ENTER, GXV_TRACE, GXV_UNITSIZE_VALIDATE, p, unit, and value.

Referenced by gxv_LookupTable_validate().

static void gxv_LookupTable_fmt4_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
) [static]

Definition at line 569 of file gxvcommn.c.

References FT_INVALID_GLYPH_ID, FT_NEXT_USHORT, FT_TRACE4, FT_VALIDATE_PARANOID, FT_VALIDATE_TIGHT, gxv_BinSrchHeader_validate(), GXV_EXIT, gxv_glyphid_validate(), GXV_LIMIT_CHECK, GXV_LOOKUP_VALUE_LOAD, gxv_LookupTable_fmt2_skip_endmarkers(), GXV_LOOKUPVALUE_UNSIGNED, GXV_NAME_ENTER, GXV_TRACE, GXV_UNITSIZE_VALIDATE, p, unit, and value.

Referenced by gxv_LookupTable_validate().

static void gxv_LookupTable_fmt6_skip_endmarkers ( FT_Bytes  table,
FT_UShort  unitSize,
GXV_Validator  valid 
) [static]

Definition at line 652 of file gxvcommn.c.

References p, and root.

Referenced by gxv_LookupTable_fmt6_validate().

static void gxv_LookupTable_fmt6_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
) [static]

Definition at line 671 of file gxvcommn.c.

References FT_INVALID_GLYPH_ID, FT_NEXT_USHORT, FT_VALIDATE_PARANOID, gxv_BinSrchHeader_validate(), GXV_EXIT, gxv_glyphid_validate(), GXV_LIMIT_CHECK, GXV_LOOKUP_VALUE_LOAD, gxv_LookupTable_fmt6_skip_endmarkers(), GXV_NAME_ENTER, GXV_TRACE, GXV_UNITSIZE_VALIDATE, p, unit, and value.

Referenced by gxv_LookupTable_validate().

static void gxv_LookupTable_fmt8_validate ( FT_Bytes  table,
FT_Bytes  limit,
GXV_Validator  valid 
) [static]

Definition at line 726 of file gxvcommn.c.

References FT_NEXT_USHORT, GXV_EXIT, gxv_glyphid_validate(), GXV_LIMIT_CHECK, GXV_LOOKUP_VALUE_LOAD, GXV_NAME_ENTER, i, p, and value.

Referenced by gxv_LookupTable_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().

static void gxv_StateArray_validate ( FT_Bytes  table,
FT_UShort length_p,
FT_Byte  maxClassID,
FT_UShort  stateSize,
FT_Byte maxState_p,
FT_Byte maxEntry_p,
GXV_Validator  valid 
) [static]

Definition at line 1027 of file gxvcommn.c.

References entry, FT_MAX, FT_NEXT_BYTE, FT_UNUSED, GXV_EXIT, GXV_LIMIT_CHECK, GXV_NAME_ENTER, GXV_TRACE, and p.

Referenced by gxv_StateTable_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().

static GXV_LookupValueDesc gxv_XClassTable_lookupfmt4_transit ( FT_UShort  relative_gindex,
GXV_LookupValueCPtr  base_value_p,
FT_Bytes  lookuptbl_limit,
GXV_Validator  valid 
) [static]

Definition at line 1394 of file gxvcommn.c.

References FT_NEXT_USHORT, GXV_LIMIT_CHECK, p, sizeof(), GXV_LookupValueDesc_::u, and value.

Referenced by gxv_XStateTable_validate().

static void gxv_XClassTable_lookupval_validate ( FT_UShort  glyph,
GXV_LookupValueCPtr  value_p,
GXV_Validator  valid 
) [static]

Definition at line 1354 of file gxvcommn.c.

References FT_INVALID_DATA, FT_UNUSED, and GXV_LookupValueDesc_::u.

Referenced by gxv_XStateTable_validate().

static void gxv_XEntryTable_validate ( FT_Bytes  table,
FT_ULong length_p,
FT_UShort  maxEntry,
FT_ULong  stateArray_length,
FT_UShort  maxClassID,
FT_Bytes  xstatetable_table,
FT_Bytes  xstatetable_limit,
GXV_Validator  valid 
) [static]

Definition at line 1469 of file gxvcommn.c.

References GXV_StateTable_GlyphOffsetDesc_::c, entry, flags, FT_INVALID_FORMAT, FT_INVALID_OFFSET, FT_INVALID_TOO_SHORT, FT_NEXT_BYTE, FT_NEXT_CHAR, FT_NEXT_LONG, FT_NEXT_SHORT, FT_NEXT_ULONG, FT_NEXT_USHORT, FT_TRACE4, FT_VALIDATE_PARANOID, GXV_EXIT, GXV_GLYPHOFFSET_CHAR, GXV_GLYPHOFFSET_FMT, GXV_GLYPHOFFSET_LONG, GXV_GLYPHOFFSET_NONE, GXV_GLYPHOFFSET_SHORT, GXV_GLYPHOFFSET_SIZE, GXV_GLYPHOFFSET_UCHAR, GXV_GLYPHOFFSET_ULONG, GXV_GLYPHOFFSET_USHORT, GXV_LIMIT_CHECK, GXV_NAME_ENTER, GXV_TRACE, GXV_StateTable_GlyphOffsetDesc_::l, NULL, p, GXV_StateTable_GlyphOffsetDesc_::s, GXV_StateTable_GlyphOffsetDesc_::u, GXV_StateTable_GlyphOffsetDesc_::uc, and GXV_StateTable_GlyphOffsetDesc_::ul.

Referenced by gxv_XStateTable_validate().

static void gxv_XStateArray_validate ( FT_Bytes  table,
FT_ULong length_p,
FT_UShort  maxClassID,
FT_ULong  stateSize,
FT_UShort maxState_p,
FT_UShort maxEntry_p,
GXV_Validator  valid 
) [static]

Definition at line 1419 of file gxvcommn.c.

References entry, FT_MAX, FT_NEXT_USHORT, FT_UNUSED, GXV_EXIT, GXV_LIMIT_CHECK, GXV_NAME_ENTER, GXV_TRACE, and p.

Referenced by gxv_XStateTable_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