75 {
83 FT_ULong len_base, len_gdef, len_gpos, len_gsub, len_jstf;
87
88
89 base = gdef = gpos = gsub = jstf = math =
NULL;
90 len_base = len_gdef = len_gpos = len_gsub = len_jstf = len_math = 0;
91
92
93
94
95
96 if (
face->num_glyphs > 0xFFFFL )
97 {
98 FT_TRACE1((
"otv_validate: Invalid glyphs index (0x0000FFFF - 0x%08x) ",
100 FT_TRACE1((
"are not handled by OpenType tables\n" ));
101 num_glyphs = 0xFFFF;
102 }
103
104
105
107 {
111 }
112
114 {
118 }
119
121 {
125 }
126
128 {
132 }
133
135 {
139 }
140
142 {
146 }
147
148
149
151 {
158 }
159
160 if ( gpos )
161 {
168 }
169
170 if ( gsub )
171 {
178 }
179
180 if ( gdef )
181 {
188 }
189
190 if ( jstf )
191 {
198 }
199
200 if ( math )
201 {
208 }
209
215
218 {
220
221
227 }
228
229 {
231
232
234 }
235
237 }
#define FT_TRACE1(varformat)
ft_validator_init(FT_Validator valid, const FT_Byte *base, const FT_Byte *limit, FT_ValidationLevel level)
otv_GPOS_validate(FT_Bytes table, FT_UInt glyph_count, FT_Validator valid)
otv_GDEF_validate(FT_Bytes table, FT_Bytes gsub, FT_Bytes gpos, FT_UInt glyph_count, FT_Validator valid)
otv_MATH_validate(FT_Bytes table, FT_UInt glyph_count, FT_Validator ftvalid)
otv_GSUB_validate(FT_Bytes table, FT_UInt glyph_count, FT_Validator valid)
otv_JSTF_validate(FT_Bytes table, FT_Bytes gsub, FT_Bytes gpos, FT_UInt glyph_count, FT_Validator valid)
FT_BEGIN_HEADER otv_BASE_validate(FT_Bytes table, FT_Validator valid)
static FT_Error otv_load_table(FT_Face face, FT_Tag tag, FT_Byte *volatile *table, FT_ULong *table_len)