#ifndef OTVCOMMN_H_
#define OTVCOMMN_H_
#include "otvalid.h"
#include <freetype/internal/ftdebug.h>
FT_BEGIN_HEADER
OTV_Validator;
OTV_Validate_Func;
OTV_ValidatorRec;
#undef FT_INVALID_
#define FT_INVALID_( _error ) …
#define OTV_OPTIONAL_TABLE( _table ) …
#define OTV_OPTIONAL_TABLE32( _table ) …
#define OTV_OPTIONAL_OFFSET( _offset ) …
#define OTV_OPTIONAL_OFFSET32( _offset ) …
#define OTV_LIMIT_CHECK( _count ) …
#define OTV_SIZE_CHECK( _size ) …
#define OTV_SIZE_CHECK32( _size ) …
#define OTV_NAME_(x) …
#define OTV_NAME(x) …
#define OTV_FUNC_(x) …
#define OTV_FUNC(x) …
#ifdef FT_DEBUG_LEVEL_TRACE
#define OTV_NEST1 …
#define OTV_NEST2 …
#define OTV_NEST3 …
#define OTV_INIT …
#define OTV_ENTER …
#define OTV_NAME_ENTER …
#define OTV_EXIT …
#define OTV_TRACE …
#else
#define OTV_NEST1( x ) …
#define OTV_NEST2( x, y ) …
#define OTV_NEST3( x, y, z ) …
#define OTV_INIT …
#define OTV_ENTER …
#define OTV_NAME_ENTER( name ) …
#define OTV_EXIT …
#define OTV_TRACE( s ) …
#endif
#define OTV_RUN …
FT_LOCAL( void )
otv_Coverage_validate( FT_Bytes table,
OTV_Validator otvalid,
FT_Int expected_count );
FT_LOCAL( FT_UInt )
otv_Coverage_get_first( FT_Bytes table );
FT_LOCAL( FT_UInt )
otv_Coverage_get_last( FT_Bytes table );
FT_LOCAL( FT_UInt )
otv_Coverage_get_count( FT_Bytes table );
FT_LOCAL( void )
otv_ClassDef_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_Device_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_Lookup_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_LookupList_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_Feature_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_FeatureList_validate( FT_Bytes table,
FT_Bytes lookups,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_LangSys_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_Script_validate( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( void )
otv_ScriptList_validate( FT_Bytes table,
FT_Bytes features,
OTV_Validator otvalid );
#define ChainPosClassSetFunc …
#define ChainPosRuleSetFunc …
#define ChainSubClassSetFunc …
#define ChainSubRuleSetFunc …
#define JstfLangSysFunc …
#define JstfMaxFunc …
#define LigGlyphFunc …
#define LigatureArrayFunc …
#define LigatureSetFunc …
#define PosClassSetFunc …
#define PosRuleSetFunc …
#define SubClassSetFunc …
#define SubRuleSetFunc …
FT_LOCAL( void )
otv_x_Ox ( FT_Bytes table,
OTV_Validator otvalid );
#define AlternateSubstFormat1Func …
#define ChainContextPosFormat1Func …
#define ChainContextSubstFormat1Func …
#define ContextPosFormat1Func …
#define ContextSubstFormat1Func …
#define LigatureSubstFormat1Func …
#define MultipleSubstFormat1Func …
FT_LOCAL( void )
otv_u_C_x_Ox( FT_Bytes table,
OTV_Validator otvalid );
#define AlternateSetFunc …
#define AttachPointFunc …
#define ExtenderGlyphFunc …
#define JstfGPOSModListFunc …
#define JstfGSUBModListFunc …
#define SequenceFunc …
FT_LOCAL( void )
otv_x_ux( FT_Bytes table,
OTV_Validator otvalid );
#define PosClassRuleFunc …
#define PosRuleFunc …
#define SubClassRuleFunc …
#define SubRuleFunc …
FT_LOCAL( void )
otv_x_y_ux_sy( FT_Bytes table,
OTV_Validator otvalid );
#define ChainPosClassRuleFunc …
#define ChainPosRuleFunc …
#define ChainSubClassRuleFunc …
#define ChainSubRuleFunc …
FT_LOCAL( void )
otv_x_ux_y_uy_z_uz_p_sp( FT_Bytes table,
OTV_Validator otvalid );
#define ContextPosFormat2Func …
#define ContextSubstFormat2Func …
FT_LOCAL( void )
otv_u_O_O_x_Onx( FT_Bytes table,
OTV_Validator otvalid );
#define ContextPosFormat3Func …
#define ContextSubstFormat3Func …
FT_LOCAL( void )
otv_u_x_y_Ox_sy( FT_Bytes table,
OTV_Validator otvalid );
#define ChainContextPosFormat2Func …
#define ChainContextSubstFormat2Func …
FT_LOCAL( void )
otv_u_O_O_O_O_x_Onx( FT_Bytes table,
OTV_Validator otvalid );
#define ChainContextPosFormat3Func …
#define ChainContextSubstFormat3Func …
FT_LOCAL( void )
otv_u_x_Ox_y_Oy_z_Oz_p_sp( FT_Bytes table,
OTV_Validator otvalid );
FT_LOCAL( FT_UInt )
otv_GSUBGPOS_get_Lookup_count( FT_Bytes table );
FT_LOCAL( FT_UInt )
otv_GSUBGPOS_have_MarkAttachmentType_flag( FT_Bytes table );
FT_END_HEADER
#endif