29#define FT_COMPONENT trace_otvcommon
55 OTV_TRACE((
" (format %d)\n", CoverageFormat ));
57 switch ( CoverageFormat )
67 OTV_TRACE((
" (GlyphCount = %d)\n", GlyphCount ));
71 for (
i = 0;
i < GlyphCount;
i++ )
77 if ( gid >= otvalid->glyph_count )
93 OTV_TRACE((
" (RangeCount = %d)\n", RangeCount ));
98 for (
n = 0;
n < RangeCount;
n++ )
104 if (
Start > End || StartCoverageIndex !=
total )
107 if ( End >= otvalid->glyph_count )
154 switch ( CoverageFormat )
162 p += (
count - 1 ) * 6 + 2;
183 switch ( CoverageFormat )
233 OTV_TRACE((
" (format %d)\n", ClassFormat ));
235 switch ( ClassFormat )
248 OTV_TRACE((
" (GlyphCount = %d)\n", GlyphCount ));
252 if ( StartGlyph + GlyphCount - 1 >= otvalid->glyph_count )
265 OTV_TRACE((
" (ClassRangeCount = %d)\n", ClassRangeCount ));
270 for (
n = 0;
n < ClassRangeCount;
n++ )
279 if ( End >= otvalid->glyph_count )
321 if ( DeltaFormat == 0x8000U )
327 if ( DeltaFormat < 1 || DeltaFormat > 3 )
330 if ( EndSize < StartSize )
333 count = EndSize - StartSize + 1;
357 FT_UInt LookupType, LookupFlag, SubTableCount;
368 OTV_TRACE((
" (type %d)\n", LookupType ));
370 if ( LookupType == 0 || LookupType > otvalid->type_count )
373 validate = otvalid->type_funcs[LookupType - 1];
375 OTV_TRACE((
" (SubTableCount = %d)\n", SubTableCount ));
380 for ( ; SubTableCount > 0; SubTableCount-- )
383 if ( LookupFlag & 0x10 )
405 OTV_TRACE((
" (LookupCount = %d)\n", LookupCount ));
409 otvalid->lookup_count = LookupCount;
412 for ( ; LookupCount > 0; LookupCount-- )
450 OTV_TRACE((
" (LookupCount = %d)\n", LookupCount ));
455 for ( ; LookupCount > 0; LookupCount-- )
486 OTV_TRACE((
" (FeatureCount = %d)\n", FeatureCount ));
493 for ( ; FeatureCount > 0; FeatureCount-- )
532 OTV_TRACE((
" (ReqFeatureIndex = %d)\n", ReqFeatureIndex ));
533 OTV_TRACE((
" (FeatureCount = %d)\n", FeatureCount ));
535 if ( ReqFeatureIndex != 0xFFFFU && ReqFeatureIndex >= otvalid->extra1 )
541 for ( ; FeatureCount > 0; FeatureCount-- )
561 FT_UInt DefaultLangSys, LangSysCount;
571 OTV_TRACE((
" (LangSysCount = %d)\n", LangSysCount ));
573 if ( DefaultLangSys != 0 )
579 for ( ; LangSysCount > 0; LangSysCount-- )
607 OTV_TRACE((
" (ScriptCount = %d)\n", ScriptCount ));
614 for ( ; ScriptCount > 0; ScriptCount-- )
669 otvalid->nesting_level++;
670 func = otvalid->func[otvalid->nesting_level];
675 otvalid->nesting_level--;
704 otvalid->nesting_level++;
705 func = otvalid->func[otvalid->nesting_level];
710 otvalid->nesting_level--;
735 if ( otvalid->extra1 )
765 OTV_TRACE((
" (Count1 = %d)\n", Count1 ));
766 OTV_TRACE((
" (Count2 = %d)\n", Count2 ));
772 p += ( Count1 - 1 ) * 2;
774 for ( ; Count2 > 0; Count2-- )
797 FT_UInt BacktrackCount, InputCount, LookaheadCount;
806 OTV_TRACE((
" (BacktrackCount = %d)\n", BacktrackCount ));
809 p += BacktrackCount * 2;
812 if ( InputCount == 0 )
815 OTV_TRACE((
" (InputCount = %d)\n", InputCount ));
818 p += ( InputCount - 1 ) * 2;
822 OTV_TRACE((
" (LookaheadCount = %d)\n", LookaheadCount ));
825 p += LookaheadCount * 2;
853 FT_UInt Coverage, ClassDef, ClassSetCount;
866 OTV_TRACE((
" (ClassSetCount = %d)\n", ClassSetCount ));
873 otvalid->nesting_level++;
874 func = otvalid->func[otvalid->nesting_level];
875 otvalid->extra1 = otvalid->lookup_count;
877 for ( ; ClassSetCount > 0; ClassSetCount-- )
886 otvalid->nesting_level--;
910 OTV_TRACE((
" (GlyphCount = %d)\n", GlyphCount ));
915 for ( count1 = GlyphCount; count1 > 0; count1-- )
939 FT_UInt BacktrackClassDef, InputClassDef, LookaheadClassDef;
955 OTV_TRACE((
" (ChainClassSetCount = %d)\n", ChainClassSetCount ));
965 otvalid->nesting_level++;
966 func = otvalid->func[otvalid->nesting_level];
967 otvalid->extra1 = otvalid->lookup_count;
969 for ( ; ChainClassSetCount > 0; ChainClassSetCount-- )
978 otvalid->nesting_level--;
991 FT_UInt BacktrackGlyphCount, InputGlyphCount, LookaheadGlyphCount;
1002 OTV_TRACE((
" (BacktrackGlyphCount = %d)\n", BacktrackGlyphCount ));
1006 for ( ; BacktrackGlyphCount > 0; BacktrackGlyphCount-- )
1011 OTV_TRACE((
" (InputGlyphCount = %d)\n", InputGlyphCount ));
1015 for ( count1 = InputGlyphCount; count1 > 0; count1-- )
1020 OTV_TRACE((
" (LookaheadGlyphCount = %d)\n", LookaheadGlyphCount ));
1024 for ( ; LookaheadGlyphCount > 0; LookaheadGlyphCount-- )
1029 OTV_TRACE((
" (Count = %d)\n", count2 ));
1033 for ( ; count2 > 0; count2-- )
static FRESULT validate(void *obj)
#define FT_NEXT_USHORT(buffer)
#define FT_INVALID_FORMAT
#define FT_INVALID_GLYPH_ID
GLuint GLuint GLsizei count
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
otv_LangSys_validate(FT_Bytes table, OTV_Validator otvalid)
otv_x_Ox(FT_Bytes table, OTV_Validator otvalid)
otv_Script_validate(FT_Bytes table, OTV_Validator otvalid)
otv_ScriptList_validate(FT_Bytes table, FT_Bytes features, OTV_Validator otvalid)
otv_x_y_ux_sy(FT_Bytes table, OTV_Validator otvalid)
otv_ClassDef_validate(FT_Bytes table, OTV_Validator otvalid)
otv_GSUBGPOS_have_MarkAttachmentType_flag(FT_Bytes table)
otv_u_x_y_Ox_sy(FT_Bytes table, OTV_Validator otvalid)
otv_u_O_O_O_O_x_Onx(FT_Bytes table, OTV_Validator otvalid)
otv_Coverage_get_last(FT_Bytes table)
otv_u_O_O_x_Onx(FT_Bytes table, OTV_Validator otvalid)
otv_u_C_x_Ox(FT_Bytes table, OTV_Validator otvalid)
otv_Coverage_validate(FT_Bytes table, OTV_Validator otvalid, FT_Int expected_count)
otv_Coverage_get_count(FT_Bytes table)
otv_FeatureList_validate(FT_Bytes table, FT_Bytes lookups, OTV_Validator otvalid)
static FT_UInt otv_LookupList_get_count(FT_Bytes table)
otv_Device_validate(FT_Bytes table, OTV_Validator otvalid)
static FT_UInt otv_Feature_get_count(FT_Bytes table)
otv_Coverage_get_first(FT_Bytes table)
otv_x_ux(FT_Bytes table, OTV_Validator otvalid)
otv_LookupList_validate(FT_Bytes table, OTV_Validator otvalid)
otv_GSUBGPOS_get_Lookup_count(FT_Bytes table)
otv_Feature_validate(FT_Bytes table, OTV_Validator otvalid)
otv_Lookup_validate(FT_Bytes table, OTV_Validator otvalid)
otv_u_x_Ox_y_Oy_z_Oz_p_sp(FT_Bytes table, OTV_Validator otvalid)
otv_x_ux_y_uy_z_uz_p_sp(FT_Bytes table, OTV_Validator otvalid)
typedefFT_BEGIN_HEADER struct OTV_ValidatorRec_ * OTV_Validator
void(* OTV_Validate_Func)(FT_Bytes table, OTV_Validator otvalid)
#define OTV_NAME_ENTER(name)
#define OTV_LIMIT_CHECK(_count)