sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
gxvcommn.h File Reference

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_

Macros

#define IS_PARANOID_VALIDATION   ( gxvalid->root->level >= FT_VALIDATE_PARANOID )
#define GXV_SET_ERR_IF_PARANOID(err)
#define DUMMY_LIMIT   0
#define GXV_GLYPHOFFSET_FMT(table)
#define GXV_GLYPHOFFSET_SIZE(table)
#define GXV_TABLE_DATA(tag, field)
#define FT_INVALID_(_error)
#define GXV_LIMIT_CHECK(_count)
#define GXV_INIT   do { } while ( 0 )
#define GXV_NAME_ENTER(name)
#define GXV_EXIT   do { } while ( 0 )
#define GXV_TRACE(s)
#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)
#define GXV_SUBTABLE_OFFSET_CHECK(_offset)
#define GXV_SUBTABLE_LIMIT_CHECK(_count)
#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 struct GXV_ValidatorRec_ * GXV_Validator
typedef void(*) GXV_Validate_Func(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
typedef union GXV_LookupValueDesc_ GXV_LookupValueDesc
typedef const GXV_LookupValueDesc * GXV_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 gxvalid)
typedef GXV_LookupValueDesc(*) GXV_Lookup_Fmt4_Transit_Func(FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator gxvalid)
typedef enum GXV_GlyphOffset_Format_ GXV_GlyphOffset_Format
typedef union GXV_StateTable_GlyphOffsetDesc_ GXV_StateTable_GlyphOffsetDesc
typedef const GXV_StateTable_GlyphOffsetDesc * GXV_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 gxvalid)
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 gxvalid)
typedef void(*) GXV_StateTable_OptData_Load_Func(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
typedef struct GXV_StateTable_ValidatorRec_ GXV_StateTable_ValidatorRec
typedef struct GXV_StateTable_ValidatorRec_ * GXV_StateTable_ValidatorRecData
typedef GXV_StateTable_GlyphOffsetDesc GXV_XStateTable_GlyphOffsetDesc
typedef const GXV_XStateTable_GlyphOffsetDesc * GXV_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 gxvalid)
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 gxvalid)
typedef GXV_StateTable_OptData_Load_Func GXV_XStateTable_OptData_Load_Func
typedef struct GXV_XStateTable_ValidatorRec_ GXV_XStateTable_ValidatorRec
typedef struct GXV_XStateTable_ValidatorRec_ * GXV_XStateTable_ValidatorRecData
typedef struct GXV_ValidatorRec_ GXV_ValidatorRec
typedef struct GXV_odtect_DataRec_ GXV_odtect_DataRec
typedef struct GXV_odtect_DataRec_ * GXV_odtect_Data
typedef struct GXV_odtect_RangeRec_ GXV_odtect_RangeRec
typedef struct GXV_odtect_RangeRec_ * GXV_odtect_Range

Enumerations

enum  GXV_LookupValue_SignSpec_ { GXV_LOOKUPVALUE_UNSIGNED = 0 , GXV_LOOKUPVALUE_SIGNED }
enum  GXV_GlyphOffset_Format_ {
  GXV_GLYPHOFFSET_NONE = -1 , GXV_GLYPHOFFSET_UCHAR = 2 , GXV_GLYPHOFFSET_CHAR , GXV_GLYPHOFFSET_USHORT = 4 ,
  GXV_GLYPHOFFSET_SHORT , GXV_GLYPHOFFSET_ULONG = 8 , GXV_GLYPHOFFSET_LONG
}

Functions

 gxv_BinSrchHeader_validate (FT_Bytes p, FT_Bytes limit, FT_UShort *unitSize_p, FT_UShort *nUnits_p, GXV_Validator gxvalid)
 gxv_LookupTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
 gxv_glyphid_validate (FT_UShort gid, GXV_Validator gxvalid)
 gxv_ctlPoint_validate (FT_UShort gid, FT_UShort ctl_point, GXV_Validator gxvalid)
 gxv_sfntName_validate (FT_UShort name_index, FT_UShort min_index, FT_UShort max_index, GXV_Validator gxvalid)
 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 gxvalid)
 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 gxvalid)
 gxv_StateTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
 gxv_XStateTable_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
 gxv_array_getlimits_byte (FT_Bytes table, FT_Bytes limit, FT_Byte *min, FT_Byte *max, GXV_Validator gxvalid)
 gxv_array_getlimits_ushort (FT_Bytes table, FT_Bytes limit, FT_UShort *min, FT_UShort *max, GXV_Validator gxvalid)
 gxv_set_length_by_ushort_offset (FT_UShort *offset, FT_UShort **length, FT_UShort *buff, FT_UInt nmemb, FT_UShort limit, GXV_Validator gxvalid)
 gxv_set_length_by_ulong_offset (FT_ULong *offset, FT_ULong **length, FT_ULong *buff, FT_UInt nmemb, FT_ULong limit, GXV_Validator gxvalid)
 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 gxvalid)

Macro Definition Documentation

◆ DUMMY_LIMIT

#define DUMMY_LIMIT   0

Definition at line 85 of file gxvcommn.h.

◆ FT_INVALID_

#define FT_INVALID_ ( _error)
Value:
ft_validator_error( gxvalid->root, FT_THROW( _error ) )

Definition at line 275 of file gxvcommn.h.

◆ GXV_32BIT_ALIGNMENT_VALIDATE

#define GXV_32BIT_ALIGNMENT_VALIDATE ( a)
Value:
FT_BEGIN_STMNT \
{ \
if ( (a) & 3 ) \
FT_INVALID_OFFSET; \
} \
FT_END_STMNT

Definition at line 323 of file gxvcommn.h.

◆ GXV_EXIT

#define GXV_EXIT   do { } while ( 0 )

Definition at line 308 of file gxvcommn.h.

◆ GXV_GLYPHOFFSET_FMT

#define GXV_GLYPHOFFSET_FMT ( table)
Value:
( gxvalid->table.entry_glyphoffset_fmt )

Definition at line 139 of file gxvcommn.h.

◆ GXV_GLYPHOFFSET_SIZE

#define GXV_GLYPHOFFSET_SIZE ( table)
Value:
( gxvalid->table.entry_glyphoffset_fmt / 2 )

Definition at line 142 of file gxvcommn.h.

◆ GXV_INIT

#define GXV_INIT   do { } while ( 0 )

Definition at line 306 of file gxvcommn.h.

◆ GXV_LIMIT_CHECK

#define GXV_LIMIT_CHECK ( _count)
Value:
FT_BEGIN_STMNT \
if ( p + _count > ( limit? limit : gxvalid->root->limit ) ) \
FT_INVALID_TOO_SHORT; \
FT_END_STMNT

Definition at line 278 of file gxvcommn.h.

◆ GXV_NAME_ENTER

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

Definition at line 307 of file gxvcommn.h.

◆ GXV_ODTECT

#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 565 of file gxvcommn.h.

◆ GXV_ODTECT_INIT

#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 570 of file gxvcommn.h.

◆ GXV_SET_ERR_IF_PARANOID

#define GXV_SET_ERR_IF_PARANOID ( err)
Value:
do { if ( IS_PARANOID_VALIDATION ) ( err ); } while ( 0 )

Definition at line 70 of file gxvcommn.h.

◆ GXV_STATEHEADER_SIZE

#define GXV_STATEHEADER_SIZE   GXV_STATETABLE_HEADER_SIZE

Definition at line 524 of file gxvcommn.h.

◆ GXV_STATETABLE_HEADER_SIZE

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

Definition at line 523 of file gxvcommn.h.

◆ GXV_SUBTABLE_LIMIT_CHECK

#define GXV_SUBTABLE_LIMIT_CHECK ( _count)
Value:
FT_BEGIN_STMNT \
if ( ( p + (_count) - gxvalid->subtable_start ) > \
gxvalid->subtable_length ) \
FT_INVALID_TOO_SHORT; \
FT_END_STMNT

Definition at line 516 of file gxvcommn.h.

◆ GXV_SUBTABLE_OFFSET_CHECK

#define GXV_SUBTABLE_OFFSET_CHECK ( _offset)
Value:
FT_BEGIN_STMNT \
if ( (_offset) > gxvalid->subtable_length ) \
FT_INVALID_OFFSET; \
FT_END_STMNT

Definition at line 510 of file gxvcommn.h.

◆ GXV_TABLE_DATA

#define GXV_TABLE_DATA ( tag,
field )
Value:
( ( (GXV_ ## tag ## _Data)gxvalid->table_data )->field )

Definition at line 271 of file gxvcommn.h.

◆ GXV_TRACE

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

Definition at line 310 of file gxvcommn.h.

◆ GXV_TRACE_HEXDUMP

#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 340 of file gxvcommn.h.

◆ GXV_TRACE_HEXDUMP_C

#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 351 of file gxvcommn.h.

◆ GXV_TRACE_HEXDUMP_SFNTNAME

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

Definition at line 365 of file gxvcommn.h.

◆ GXV_XSTATEHEADER_SIZE

#define GXV_XSTATEHEADER_SIZE   GXV_XSTATETABLE_HEADER_SIZE

Definition at line 527 of file gxvcommn.h.

◆ GXV_XSTATETABLE_HEADER_SIZE

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

Definition at line 526 of file gxvcommn.h.

◆ IS_PARANOID_VALIDATION

#define IS_PARANOID_VALIDATION   ( gxvalid->root->level >= FT_VALIDATE_PARANOID )

Definition at line 68 of file gxvcommn.h.

Typedef Documentation

◆ GXV_Lookup_Fmt4_Transit_Func

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

Definition at line 117 of file gxvcommn.h.

◆ GXV_Lookup_Value_Validate_Func

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

Definition at line 112 of file gxvcommn.h.

◆ GXV_LookupValueCPtr

typedef const GXV_LookupValueDesc* GXV_LookupValueCPtr

Definition at line 102 of file gxvcommn.h.

◆ GXV_StateTable_Entry_Validate_Func

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 gxvalid)

Definition at line 171 of file gxvcommn.h.

◆ GXV_StateTable_GlyphOffsetCPtr

typedef const GXV_StateTable_GlyphOffsetDesc* GXV_StateTable_GlyphOffsetCPtr

Definition at line 159 of file gxvcommn.h.

◆ GXV_StateTable_OptData_Load_Func

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

Definition at line 180 of file gxvcommn.h.

◆ GXV_StateTable_Subtable_Setup_Func

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 gxvalid)

Definition at line 161 of file gxvcommn.h.

◆ GXV_Validate_Func

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

Definition at line 87 of file gxvcommn.h.

◆ GXV_Validator

typedef struct GXV_ValidatorRec_* GXV_Validator

Definition at line 82 of file gxvcommn.h.

◆ GXV_XStateTable_Entry_Validate_Func

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 gxvalid)

Definition at line 213 of file gxvcommn.h.

◆ GXV_XStateTable_GlyphOffsetCPtr

typedef const GXV_XStateTable_GlyphOffsetDesc* GXV_XStateTable_GlyphOffsetCPtr

Definition at line 201 of file gxvcommn.h.

◆ GXV_XStateTable_GlyphOffsetDesc

typedef GXV_StateTable_GlyphOffsetDesc GXV_XStateTable_GlyphOffsetDesc

Definition at line 199 of file gxvcommn.h.

◆ GXV_XStateTable_OptData_Load_Func

typedef GXV_StateTable_OptData_Load_Func GXV_XStateTable_OptData_Load_Func

Definition at line 223 of file gxvcommn.h.

◆ GXV_XStateTable_Subtable_Setup_Func

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 gxvalid)

Definition at line 203 of file gxvcommn.h.

Enumeration Type Documentation

◆ GXV_GlyphOffset_Format_

enum GXV_GlyphOffset_Format_

Definition at line 126 of file gxvcommn.h.

◆ GXV_LookupValue_SignSpec_

enum GXV_LookupValue_SignSpec_

Definition at line 104 of file gxvcommn.h.

Function Documentation

◆ gxv_array_getlimits_byte()

gxv_array_getlimits_byte ( FT_Bytes table,
FT_Bytes limit,
FT_Byte * min,
FT_Byte * max,
GXV_Validator gxvalid )

Definition at line 180 of file gxvcommn.c.

◆ gxv_array_getlimits_ushort()

gxv_array_getlimits_ushort ( FT_Bytes table,
FT_Bytes limit,
FT_UShort * min,
FT_UShort * max,
GXV_Validator gxvalid )

Definition at line 209 of file gxvcommn.c.

◆ gxv_BinSrchHeader_validate()

gxv_BinSrchHeader_validate ( FT_Bytes p,
FT_Bytes limit,
FT_UShort * unitSize_p,
FT_UShort * nUnits_p,
GXV_Validator gxvalid )

Definition at line 327 of file gxvcommn.c.

◆ gxv_ctlPoint_validate()

gxv_ctlPoint_validate ( FT_UShort gid,
FT_UShort ctl_point,
GXV_Validator gxvalid )

Definition at line 845 of file gxvcommn.c.

◆ gxv_glyphid_validate()

gxv_glyphid_validate ( FT_UShort gid,
GXV_Validator gxvalid )

Definition at line 812 of file gxvcommn.c.

◆ gxv_LookupTable_validate()

gxv_LookupTable_validate ( FT_Bytes table,
FT_Bytes limit,
GXV_Validator gxvalid )

Definition at line 754 of file gxvcommn.c.

◆ gxv_odtect_add_range()

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

Definition at line 1703 of file gxvcommn.c.

◆ gxv_odtect_validate()

gxv_odtect_validate ( GXV_odtect_Range odtect,
GXV_Validator gxvalid )

Definition at line 1716 of file gxvcommn.c.

◆ gxv_set_length_by_ulong_offset()

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

Definition at line 127 of file gxvcommn.c.

◆ gxv_set_length_by_ushort_offset()

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

Definition at line 58 of file gxvcommn.c.

◆ gxv_sfntName_validate()

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

Definition at line 883 of file gxvcommn.c.

◆ gxv_StateTable_subtable_setup()

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 gxvalid )

Definition at line 1181 of file gxvcommn.c.

◆ gxv_StateTable_validate()

gxv_StateTable_validate ( FT_Bytes table,
FT_Bytes limit,
GXV_Validator gxvalid )

Definition at line 1207 of file gxvcommn.c.

◆ gxv_XStateTable_subtable_setup()

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 gxvalid )

Definition at line 1311 of file gxvcommn.c.

◆ gxv_XStateTable_validate()

gxv_XStateTable_validate ( FT_Bytes table,
FT_Bytes limit,
GXV_Validator gxvalid )

Definition at line 1555 of file gxvcommn.c.