30#define FT_COMPONENT trace_otvgdef
41#define AttachListFunc otv_O_x_Ox
42#define LigCaretListFunc otv_O_x_Ox
62 OTV_TRACE((
" (GlyphCount = %d)\n", GlyphCount ));
70 otvalid->nesting_level++;
71 func = otvalid->func[otvalid->nesting_level];
74 for ( ; GlyphCount > 0; GlyphCount-- )
77 otvalid->nesting_level--;
91#define CaretValueFunc otv_CaretValue_validate
107 OTV_TRACE((
" (format = %d)\n", CaretValueFormat ));
109 switch ( CaretValueFormat )
159 OTV_TRACE((
" (MarkGlyphSetCount = %d)\n", MarkGlyphSetCount ));
163 for ( ; MarkGlyphSetCount > 0; MarkGlyphSetCount-- )
192 FT_Bool need_MarkAttachClassDef = 1;
203 otvalid->root = ftvalid;
205 FT_TRACE3((
"validating GDEF table\n" ));
224 need_MarkAttachClassDef =
FT_BOOL(
228 if ( need_MarkAttachClassDef )
252 otvalid->glyph_count = glyph_count;
261 if ( AttachListOffset )
269 if ( LigCaretListOffset )
271 OTV_NEST3( LigCaretList, LigGlyph, CaretValue );
275 if ( need_MarkAttachClassDef )
279 if ( MarkAttachClassDef )
287 if ( MarkGlyphSetsDef )
296 OTV_TRACE((
" [omitting itemVarStore validation]\n" ));
static const WCHAR version[]
#define FT_TRACE3(varformat)
#define FT_TRACE4(varformat)
#define FT_NEXT_USHORT(buffer)
#define FT_NEXT_ULONG(buffer)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
#define FT_INVALID_FORMAT
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
otv_ClassDef_validate(FT_Bytes table, OTV_Validator otvalid)
otv_GSUBGPOS_have_MarkAttachmentType_flag(FT_Bytes table)
otv_Coverage_validate(FT_Bytes table, OTV_Validator otvalid, FT_Int expected_count)
otv_Coverage_get_count(FT_Bytes table)
otv_Device_validate(FT_Bytes table, OTV_Validator otvalid)
#define OTV_SIZE_CHECK(_size)
typedefFT_BEGIN_HEADER struct OTV_ValidatorRec_ * OTV_Validator
void(* OTV_Validate_Func)(FT_Bytes table, OTV_Validator otvalid)
#define OTV_SIZE_CHECK32(_size)
#define OTV_OPTIONAL_TABLE32(_table)
#define OTV_OPTIONAL_OFFSET(_offset)
#define OTV_NAME_ENTER(name)
#define OTV_OPTIONAL_OFFSET32(_offset)
#define OTV_LIMIT_CHECK(_count)
#define OTV_OPTIONAL_TABLE(_table)
#define OTV_NEST3(x, y, z)
static void otv_MarkGlyphSets_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_CaretValue_validate(FT_Bytes table, OTV_Validator otvalid)
otv_GDEF_validate(FT_Bytes table, FT_Bytes gsub, FT_Bytes gpos, FT_UInt glyph_count, FT_Validator ftvalid)
static void otv_O_x_Ox(FT_Bytes table, OTV_Validator otvalid)