38 #define FT_COMPONENT trace_gxvmort
49 typedef struct GXV_mort_subtable_type5_StateOptRec_
55 #define GXV_MORT_SUBTABLE_TYPE5_HEADER_SIZE GXV_STATETABLE_HEADER_SIZE
88 optdata->classTable = classTable;
89 optdata->stateArray = stateArray;
90 optdata->entryTable = entryTable;
92 optdata->classTable_length_p = classTable_length_p;
93 optdata->stateArray_length_p = stateArray_length_p;
94 optdata->entryTable_length_p = entryTable_length_p;
114 if ( optdata->classTable < offset &&
116 GXV_TRACE((
" offset runs into ClassTable" ));
117 if ( optdata->stateArray < offset &&
119 GXV_TRACE((
" offset runs into StateArray" ));
120 if ( optdata->entryTable < offset &&
122 GXV_TRACE((
" offset runs into EntryTable" ));
124 #ifndef GXV_LOAD_TRACE_VARS
127 while ( p < table + offset + ( count * 2 ) )
134 GXV_TRACE((
" 0x%04x", insert_glyphID ));
150 #ifdef GXV_LOAD_UNUSED_VARS
166 #ifdef GXV_LOAD_UNUSED_VARS
167 setMark =
FT_BOOL( ( flags >> 15 ) & 1 );
168 dontAdvance =
FT_BOOL( ( flags >> 14 ) & 1 );
169 currentIsKashidaLike =
FT_BOOL( ( flags >> 13 ) & 1 );
170 markedIsKashidaLike =
FT_BOOL( ( flags >> 12 ) & 1 );
171 currentInsertBefore =
FT_BOOL( ( flags >> 11 ) & 1 );
172 markedInsertBefore =
FT_BOOL( ( flags >> 10 ) & 1 );
175 currentInsertCount = (
FT_Byte)( ( flags >> 5 ) & 0x1F );
176 markedInsertCount = (
FT_Byte)( flags & 0x001F );
178 currentInsertList = (
FT_UShort)( glyphOffset->
ul >> 16 );
181 if ( 0 != currentInsertList && 0 != currentInsertCount )
190 if ( 0 != markedInsertList && 0 != markedInsertCount )
216 valid->statetable.optdata =
218 valid->statetable.optdata_load_func =
220 valid->statetable.subtable_setup_func =
222 valid->statetable.entry_glyphoffset_fmt =
224 valid->statetable.entry_validate_func =
GLenum GLsizei GLenum GLenum const GLvoid * table
static void gxv_mort_subtable_type5_InsertList_validate(FT_UShort offset, FT_UShort count, FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
#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 valid)
struct GXV_mort_subtable_type5_StateOptRec_ GXV_mort_subtable_type5_StateOptRec
FT_BEGIN_HEADER typedef unsigned char FT_Bool
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 valid)
GXV_StateTable_ValidatorRec statetable
gxv_mort_subtable_type5_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
#define FT_NEXT_USHORT(buffer)
GLenum GLsizei GLsizei GLsizei GLsizei GLbitfield flags
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)
struct GXV_mort_subtable_type5_StateOptRec_ * GXV_mort_subtable_type5_StateOptRecData
gxv_StateTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
#define GXV_LIMIT_CHECK(_count)