38 #define FT_COMPONENT trace_gxvmort 41 typedef struct GXV_mort_subtable_type1_StateOptRec_
49 #define GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE \ 50 ( GXV_STATETABLE_HEADER_SIZE + 2 ) 54 gxv_mort_subtable_type1_substitutionTable_load(
FT_Bytes table,
70 gxv_mort_subtable_type1_subtable_setup(
FT_UShort table_size,
90 o[3] = optdata->substitutionTable;
91 l[0] = classTable_length_p;
92 l[1] = stateArray_length_p;
93 l[2] = entryTable_length_p;
94 l[3] = &( optdata->substitutionTable_length );
101 gxv_mort_subtable_type1_offset_to_subst_validate(
134 gxv_mort_subtable_type1_entry_validate(
142 #ifdef GXV_LOAD_UNUSED_VARS 154 #ifdef GXV_LOAD_UNUSED_VARS 160 markOffset = (
FT_Short)( glyphOffset_p->
ul >> 16 );
161 currentOffset = (
FT_Short)( glyphOffset_p->
ul );
165 GXV_TRACE((
" non-zero bits found in reserved range\n" ));
169 gxv_mort_subtable_type1_offset_to_subst_validate( markOffset,
174 gxv_mort_subtable_type1_offset_to_subst_validate( currentOffset,
194 for ( i = 0; i < num_gids ; i ++ )
202 if ( dst_gid >= 0xFFFFU )
205 if ( dst_gid < valid->min_gid || valid->
max_gid < dst_gid )
207 GXV_TRACE((
"substTable include a strange gid[%d]=%d >" 208 " out of define range (%d..%d)\n",
233 GXV_NAME_ENTER(
"mort chain subtable type1 (Contextual Glyph Subst)" );
240 gxv_mort_subtable_type1_substitutionTable_load;
242 gxv_mort_subtable_type1_subtable_setup;
247 gxv_mort_subtable_type1_entry_validate;
250 gxv_mort_subtable_type1_substTable_validate(
251 table + st_rec.substitutionTable,
252 table + st_rec.substitutionTable + st_rec.substitutionTable_length,
struct GXV_mort_subtable_type1_StateOptRec_ * GXV_mort_subtable_type1_StateOptRecData
GXV_StateTable_Subtable_Setup_Func subtable_setup_func
#define GXV_NAME_ENTER(name)
#define GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE
struct GXV_mort_subtable_type1_StateOptRec_ GXV_mort_subtable_type1_StateOptRec
#define GXV_SET_ERR_IF_PARANOID(err)
GXV_StateTable_Entry_Validate_Func entry_validate_func
gxv_mort_subtable_type1_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
GXV_StateTable_ValidatorRec statetable
GXV_GlyphOffset_Format entry_glyphoffset_fmt
GXV_StateTable_OptData_Load_Func optdata_load_func
#define FT_NEXT_USHORT(buffer)
gxv_set_length_by_ushort_offset(FT_UShort *offset, FT_UShort **length, FT_UShort *buff, FT_UInt nmemb, FT_UShort limit, GXV_Validator valid)
#define FT_INVALID_GLYPH_ID
GLenum GLsizei GLenum GLenum const GLvoid * table
gxv_StateTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
#define GXV_LIMIT_CHECK(_count)