31 #define FT_COMPONENT trace_otvjstf 34 #define JstfPriorityFunc otv_JstfPriority_validate 35 #define JstfLookupFunc otv_GPOS_subtable_validate 47 FT_UInt gsub_lookup_count, gpos_lookup_count;
66 gsub_lookup_count = valid->extra1;
67 gpos_lookup_count = valid->extra2;
71 valid->extra1 = gsub_lookup_count;
75 if ( ShrinkageEnableGSUB )
76 otv_x_ux( table + ShrinkageEnableGSUB, valid );
80 if ( ShrinkageDisableGSUB )
81 otv_x_ux( table + ShrinkageDisableGSUB, valid );
83 valid->extra1 = gpos_lookup_count;
87 if ( ShrinkageEnableGPOS )
88 otv_x_ux( table + ShrinkageEnableGPOS, valid );
92 if ( ShrinkageDisableGPOS )
93 otv_x_ux( table + ShrinkageDisableGPOS, valid );
97 if ( ShrinkageJstfMax )
101 OTV_RUN( table + ShrinkageJstfMax, valid );
104 valid->extra1 = gsub_lookup_count;
108 if ( ExtensionEnableGSUB )
109 otv_x_ux( table + ExtensionEnableGSUB, valid );
113 if ( ExtensionDisableGSUB )
114 otv_x_ux( table + ExtensionDisableGSUB, valid );
116 valid->extra1 = gpos_lookup_count;
120 if ( ExtensionEnableGPOS )
121 otv_x_ux( table + ExtensionEnableGPOS, valid );
125 if ( ExtensionDisableGPOS )
126 otv_x_ux( table + ExtensionDisableGPOS, valid );
130 if ( ExtensionJstfMax )
134 OTV_RUN( table + ExtensionJstfMax, valid );
137 valid->extra1 = gsub_lookup_count;
138 valid->extra2 = gpos_lookup_count;
166 OTV_TRACE((
" (JstfLangSysCount = %d)\n", JstfLangSysCount ));
168 table_size = JstfLangSysCount * 6 + 6;
173 valid->extra1 = valid->glyph_count;
179 if ( DefJstfLangSys )
189 for ( ; JstfLangSysCount > 0; JstfLangSysCount-- )
217 valid->root = ftvalid;
219 FT_TRACE3((
"validating JSTF table\n" ));
229 FT_TRACE3((
" (JstfScriptCount = %d)\n", JstfScriptCount ));
243 valid->glyph_count = glyph_count;
246 for ( ; JstfScriptCount > 0; JstfScriptCount-- )
#define OTV_OPTIONAL_TABLE(_table)
#define FT_INVALID_FORMAT
otv_JSTF_validate(FT_Bytes table, FT_Bytes gsub, FT_Bytes gpos, FT_UInt glyph_count, FT_Validator ftvalid)
#define FT_TRACE4(varformat)
otv_x_ux(FT_Bytes table, OTV_Validator valid)
#define OTV_NAME_ENTER(name)
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
#define OTV_LIMIT_CHECK(_count)
#define FT_NEXT_USHORT(buffer)
#define FT_TRACE3(varformat)
typedefFT_BEGIN_HEADER struct OTV_ValidatorRec_ * OTV_Validator
#define FT_NEXT_ULONG(buffer)
#define OTV_SIZE_CHECK(_size)
GLenum GLsizei GLenum GLenum const GLvoid * table
#define OTV_OPTIONAL_OFFSET(_offset)
otv_GSUBGPOS_get_Lookup_count(FT_Bytes table)