39 #define FT_COMPONENT trace_gxvmort 50 #define GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE \ 51 ( GXV_STATETABLE_HEADER_SIZE + 2 ) 92 l[0] = classTable_length_p;
93 l[1] = stateArray_length_p;
94 l[2] = entryTable_length_p;
124 gxvalid->
max_gid = (
FT_UShort)( ( substTable_limit - wordOffset * 2 ) / 2 );
143 #ifdef GXV_LOAD_UNUSED_VARS 155 #ifdef GXV_LOAD_UNUSED_VARS 161 markOffset = (
FT_Short)( glyphOffset_p->
ul >> 16 );
162 currentOffset = (
FT_Short)( glyphOffset_p->
ul );
166 GXV_TRACE((
" non-zero bits found in reserved range\n" ));
195 for (
i = 0;
i < num_gids;
i++ )
203 if ( dst_gid >= 0xFFFFU )
206 if ( dst_gid < gxvalid->min_gid || gxvalid->
max_gid < dst_gid )
208 GXV_TRACE((
"substTable include a strange gid[%d]=%d >" 209 " out of define range (%d..%d)\n",
234 GXV_NAME_ENTER(
"mort chain subtable type1 (Contextual Glyph Subst)" );
238 gxvalid->statetable.optdata =
240 gxvalid->statetable.optdata_load_func =
242 gxvalid->statetable.subtable_setup_func =
244 gxvalid->statetable.entry_glyphoffset_fmt =
246 gxvalid->statetable.entry_validate_func =
gxv_StateTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
struct GXV_mort_subtable_type1_StateOptRec_ * GXV_mort_subtable_type1_StateOptRecData
#define GXV_NAME_ENTER(name)
gxv_set_length_by_ushort_offset(FT_UShort *offset, FT_UShort **length, FT_UShort *buff, FT_UInt nmemb, FT_UShort limit, GXV_Validator gxvalid)
GLenum GLsizei GLenum GLenum const GLvoid * table
#define GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE
gxv_mort_subtable_type1_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
FT_UShort substitutionTable_length
FT_UShort substitutionTable
struct GXV_mort_subtable_type1_StateOptRec_ GXV_mort_subtable_type1_StateOptRec
#define GXV_SET_ERR_IF_PARANOID(err)
static void gxv_mort_subtable_type1_substitutionTable_load(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
GXV_StateTable_ValidatorRec statetable
static void gxv_mort_subtable_type1_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)
#define FT_NEXT_USHORT(buffer)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void gxv_mort_subtable_type1_entry_validate(FT_Byte state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset_p, FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_mort_subtable_type1_offset_to_subst_validate(FT_Short wordOffset, const FT_String *tag, FT_Byte state, GXV_Validator gxvalid)
#define FT_INVALID_GLYPH_ID
static void gxv_mort_subtable_type1_substTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static unsigned char buff[32768]
#define GXV_LIMIT_CHECK(_count)