#include "otvalid.h"
#include "otvcommn.h"
Go to the source code of this file.
|
static void | otv_SingleSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_MultipleSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_AlternateSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_Ligature_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_LigatureSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_ContextSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_ChainContextSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_ExtensionSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
static void | otv_ReverseChainSingleSubst_validate (FT_Bytes table, OTV_Validator otvalid) |
|
| otv_GSUB_validate (FT_Bytes table, FT_UInt glyph_count, FT_Validator ftvalid) |
|
◆ FT_COMPONENT
◆ LigatureFunc
◆ otv_AlternateSubst_validate()
Definition at line 167 of file otvgsub.c.
169 {
172
173
175
178
179 OTV_TRACE((
" (format %d)\n", SubstFormat ));
180
181 switch ( SubstFormat )
182 {
183 case 1:
184 otvalid->extra1 = otvalid->glyph_count;
185 OTV_NEST2( AlternateSubstFormat1, AlternateSet );
187 break;
188
189 default:
191 }
192
194 }
#define FT_NEXT_USHORT(buffer)
#define FT_INVALID_FORMAT
#define OTV_NAME_ENTER(name)
#define OTV_LIMIT_CHECK(_count)
◆ otv_ChainContextSubst_validate()
Definition at line 341 of file otvgsub.c.
343 {
346
347
349
352
353 OTV_TRACE((
" (format %d)\n", SubstFormat ));
354
355 switch ( SubstFormat )
356 {
357 case 1:
358
359
360
361
362 otvalid->extra1 = otvalid->lookup_count;
364 ChainSubRuleSet, ChainSubRule );
366 break;
367
368 case 2:
369
370
371
372
374 ChainSubClassSet, ChainSubClassRule );
376 break;
377
378 case 3:
381 break;
382
383 default:
385 }
386
388 }
#define OTV_NEST3(x, y, z)
◆ otv_ContextSubst_validate()
Definition at line 282 of file otvgsub.c.
284 {
287
288
290
293
294 OTV_TRACE((
" (format %d)\n", SubstFormat ));
295
296 switch ( SubstFormat )
297 {
298 case 1:
299
300
301
302
303 otvalid->extra1 = otvalid->lookup_count;
304 OTV_NEST3( ContextSubstFormat1, SubRuleSet, SubRule );
306 break;
307
308 case 2:
309
310
311
312
313 OTV_NEST3( ContextSubstFormat2, SubClassSet, SubClassRule );
315 break;
316
317 case 3:
320 break;
321
322 default:
324 }
325
327 }
◆ otv_ExtensionSubst_validate()
Definition at line 402 of file otvgsub.c.
404 {
407
408
410
413
414 OTV_TRACE((
" (format %d)\n", SubstFormat ));
415
416 switch ( SubstFormat )
417 {
418 case 1:
419 {
423
424
428
429 if ( ExtensionLookupType == 0 ||
430 ExtensionLookupType == 7 ||
431 ExtensionLookupType > 8 )
433
434 validate = otvalid->type_funcs[ExtensionLookupType - 1];
436 }
437 break;
438
439 default:
441 }
442
444 }
static FRESULT validate(void *obj)
#define FT_NEXT_ULONG(buffer)
void(* OTV_Validate_Func)(FT_Bytes table, OTV_Validator otvalid)
◆ otv_GSUB_validate()
Definition at line 548 of file otvgsub.c.
551 {
558
560
561
562 otvalid->root = ftvalid;
563
564 FT_TRACE3((
"validating GSUB table\n" ));
566
568
571
573
576 {
577 case 0:
579 break;
580
581 case 1:
584 break;
585
586 default:
588 }
589
593
594 otvalid->type_count = 8;
596 otvalid->glyph_count = glyph_count;
597
599 otvalid );
601 otvalid );
603 otvalid );
604
606 {
609 if ( featureVariations )
610 OTV_TRACE((
" [omitting featureVariations validation]\n" ));
611 }
612
614 }
static const WCHAR version[]
#define FT_TRACE3(varformat)
#define FT_TRACE4(varformat)
struct tagFeatureList FeatureList
otv_ScriptList_validate(FT_Bytes table, FT_Bytes features, OTV_Validator otvalid)
otv_FeatureList_validate(FT_Bytes table, FT_Bytes lookups, OTV_Validator otvalid)
otv_LookupList_validate(FT_Bytes table, OTV_Validator otvalid)
typedefFT_BEGIN_HEADER struct OTV_ValidatorRec_ * OTV_Validator
#define OTV_SIZE_CHECK32(_size)
#define OTV_OPTIONAL_TABLE32(_table)
#define OTV_OPTIONAL_OFFSET32(_offset)
static const OTV_Validate_Func otv_gsub_validate_funcs[8]
Referenced by otv_validate().
◆ otv_Ligature_validate()
Definition at line 210 of file otvgsub.c.
212 {
215
216
218
223
225
226 OTV_TRACE((
" (CompCount = %d)\n", CompCount ));
227
228 if ( CompCount == 0 )
230
231 CompCount--;
232
234
235
236
238 }
◆ otv_LigatureSubst_validate()
Definition at line 242 of file otvgsub.c.
244 {
247
248
250
253
254 OTV_TRACE((
" (format %d)\n", SubstFormat ));
255
256 switch ( SubstFormat )
257 {
258 case 1:
261 break;
262
263 default:
265 }
266
268 }
ROSDATA LIGATURE2 Ligature[]
◆ otv_MultipleSubst_validate()
Definition at line 126 of file otvgsub.c.
128 {
131
132
134
137
138 OTV_TRACE((
" (format %d)\n", SubstFormat ));
139
140 switch ( SubstFormat )
141 {
142 case 1:
143 otvalid->extra1 = otvalid->glyph_count;
144 OTV_NEST2( MultipleSubstFormat1, Sequence );
146 break;
147
148 default:
150 }
151
153 }
◆ otv_ReverseChainSingleSubst_validate()
Definition at line 458 of file otvgsub.c.
460 {
463 FT_UInt BacktrackGlyphCount, LookaheadGlyphCount, GlyphCount;
464
465
467
470
471 OTV_TRACE((
" (format %d)\n", SubstFormat ));
472
473 switch ( SubstFormat )
474 {
475 case 1:
479
480 OTV_TRACE((
" (BacktrackGlyphCount = %d)\n", BacktrackGlyphCount ));
481
483
485
486 for ( ; BacktrackGlyphCount > 0; BacktrackGlyphCount-- )
488
490
491 OTV_TRACE((
" (LookaheadGlyphCount = %d)\n", LookaheadGlyphCount ));
492
494
495 for ( ; LookaheadGlyphCount > 0; LookaheadGlyphCount-- )
497
499
500 OTV_TRACE((
" (GlyphCount = %d)\n", GlyphCount ));
501
504
506
507
508 for ( ; GlyphCount > 0; GlyphCount-- )
511
512 break;
513
514 default:
516 }
517
519 }
otv_Coverage_validate(FT_Bytes table, OTV_Validator otvalid, FT_Int expected_count)
otv_Coverage_get_count(FT_Bytes table)
◆ otv_SingleSubst_validate()
Definition at line 44 of file otvgsub.c.
46 {
49
50
52
55
56 OTV_TRACE((
" (format %d)\n", SubstFormat ));
57
58 switch ( SubstFormat )
59 {
60 case 1:
61 {
65
66
70
72
76
80 }
81 break;
82
83 case 2:
84 {
86
87
91
92 OTV_TRACE((
" (GlyphCount = %d)\n", GlyphCount ));
93
95 otvalid,
97
99
100
101 for ( ; GlyphCount > 0; GlyphCount-- )
104 }
105 break;
106
107 default:
109 }
110
112 }
#define FT_NEXT_SHORT(buffer)
#define FT_INVALID_GLYPH_ID
otv_Coverage_get_last(FT_Bytes table)
otv_Coverage_get_first(FT_Bytes table)
◆ otv_gsub_validate_funcs
Initial value:=
{
}
static void otv_AlternateSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_ExtensionSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_ContextSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_ReverseChainSingleSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_MultipleSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_SingleSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_ChainContextSubst_validate(FT_Bytes table, OTV_Validator otvalid)
static void otv_LigatureSubst_validate(FT_Bytes table, OTV_Validator otvalid)
Definition at line 522 of file otvgsub.c.
Referenced by otv_GSUB_validate().