Go to the source code of this file.
|
| gxv_mort_subtable_type5_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) |
|
static void | gxv_mort_subtable_type5_InsertList_validate (FT_UShort offset, FT_UShort count, FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid) |
|
static void | gxv_mort_subtable_type5_entry_validate (FT_Byte state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset, FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid) |
|
| gxv_mort_subtable_type5_validate (FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid) |
|
◆ FT_COMPONENT
#define FT_COMPONENT trace_gxvmort |
◆ GXV_MORT_SUBTABLE_TYPE5_HEADER_SIZE
◆ GXV_mort_subtable_type5_StateOptRec
◆ GXV_mort_subtable_type5_StateOptRecData
◆ gxv_mort_subtable_type5_entry_validate()
Definition at line 143 of file gxvmort5.c.
150 {
151#ifdef GXV_LOAD_UNUSED_VARS
158#endif
163
165
166
167#ifdef GXV_LOAD_UNUSED_VARS
174#endif
175
176 currentInsertCount = (
FT_Byte)( (
flags >> 5 ) & 0x1F );
178
179 currentInsertList = (
FT_UShort)( glyphOffset->
ul >> 16 );
181
182 if ( 0 != currentInsertList && 0 != currentInsertCount )
183 {
185 currentInsertCount,
188 gxvalid );
189 }
190
191 if ( 0 != markedInsertList && 0 != markedInsertCount )
192 {
194 markedInsertCount,
197 gxvalid );
198 }
199 }
FT_BEGIN_HEADER typedef unsigned char FT_Bool
static void gxv_mort_subtable_type5_InsertList_validate(FT_UShort offset, FT_UShort count, FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
Referenced by gxv_mort_subtable_type5_validate().
◆ gxv_mort_subtable_type5_InsertList_validate()
Definition at line 100 of file gxvmort5.c.
105 {
106
107
108
109
111
114
117 GXV_TRACE((
" offset runs into ClassTable" ));
120 GXV_TRACE((
" offset runs into StateArray" ));
123 GXV_TRACE((
" offset runs into EntryTable" ));
124
125#ifndef GXV_LOAD_TRACE_VARS
127#else
129 {
131
132
135 GXV_TRACE((
" 0x%04x", insert_glyphID ));
136 }
138#endif
139 }
#define FT_NEXT_USHORT(buffer)
GLuint GLuint GLsizei count
#define GXV_LIMIT_CHECK(_count)
struct GXV_mort_subtable_type5_StateOptRec_ * GXV_mort_subtable_type5_StateOptRecData
GXV_StateTable_ValidatorRec statetable
FT_UShort * entryTable_length_p
FT_UShort * stateArray_length_p
FT_UShort * classTable_length_p
Referenced by gxv_mort_subtable_type5_entry_validate().
◆ gxv_mort_subtable_type5_subtable_setup()
Definition at line 67 of file gxvmort5.c.
75 {
78
79
81 classTable,
82 stateArray,
83 entryTable,
84 classTable_length_p,
85 stateArray_length_p,
86 entryTable_length_p,
87 gxvalid );
88
92
96 }
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)
Referenced by gxv_mort_subtable_type5_validate().
◆ gxv_mort_subtable_type5_validate()
Definition at line 203 of file gxvmort5.c.
206 {
208
211
212
214
216
218 et;
227
229
231 }
gxv_StateTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
#define GXV_NAME_ENTER(name)
#define GXV_MORT_SUBTABLE_TYPE5_HEADER_SIZE
gxv_mort_subtable_type5_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)
static void gxv_mort_subtable_type5_entry_validate(FT_Byte state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset, FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
GXV_StateTable_Entry_Validate_Func entry_validate_func
GXV_StateTable_Subtable_Setup_Func subtable_setup_func
GXV_GlyphOffset_Format entry_glyphoffset_fmt
GXV_StateTable_OptData_Load_Func optdata_load_func
Referenced by gxv_mort_subtables_validate().