• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3
4
5<!doctype html>
6<html lang="en" class="no-js">
7  <head>
8
9      <meta charset="utf-8">
10      <meta name="viewport" content="width=device-width,initial-scale=1">
11      <meta http-equiv="x-ua-compatible" content="ie=edge">
12
13        <meta name="description" content="API Reference Documentation for FreeType-2.10.4">
14
15
16
17        <meta name="author" content="FreeType Contributors">
18
19
20        <meta name="lang:clipboard.copy" content="Copy to clipboard">
21
22        <meta name="lang:clipboard.copied" content="Copied to clipboard">
23
24        <meta name="lang:search.language" content="en">
25
26        <meta name="lang:search.pipeline.stopwords" content="True">
27
28        <meta name="lang:search.pipeline.trimmer" content="True">
29
30        <meta name="lang:search.result.none" content="No matching documents">
31
32        <meta name="lang:search.result.one" content="1 matching document">
33
34        <meta name="lang:search.result.other" content="# matching documents">
35
36        <meta name="lang:search.tokenizer" content="[\s\-]+">
37
38      <link rel="shortcut icon" href="images/favico.ico">
39      <meta name="generator" content="mkdocs-1.1, mkdocs-material-4.6.3">
40
41
42
43        <title>OpenType Validation - FreeType-2.10.4 API Reference</title>
44
45
46
47      <link rel="stylesheet" href="assets/stylesheets/application.adb8469c.css">
48
49        <link rel="stylesheet" href="assets/stylesheets/application-palette.a8b3c06d.css">
50
51
52
53
54        <meta name="theme-color" content="#4caf50">
55
56
57
58      <script src="assets/javascripts/modernizr.86422ebf.js"></script>
59
60
61
62        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
63        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Serif:300,400,400i,700%7CRoboto+Mono&display=fallback">
64        <style>body,input{font-family:"Noto Serif","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
65
66
67    <link rel="stylesheet" href="assets/fonts/material-icons.css">
68
69
70      <link rel="stylesheet" href="stylesheets/extra.css">
71
72
73
74
75
76  </head>
77
78
79
80    <body dir="ltr" data-md-color-primary="green" data-md-color-accent="green">
81
82    <svg class="md-svg">
83      <defs>
84
85
86      </defs>
87    </svg>
88    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
89    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
90    <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
91
92      <a href="#opentype-validation" tabindex="0" class="md-skip">
93        Skip to content
94      </a>
95
96
97      <header class="md-header" data-md-component="header">
98  <nav class="md-header-nav md-grid">
99    <div class="md-flex">
100      <div class="md-flex__cell md-flex__cell--shrink">
101        <a href="." title="FreeType-2.10.4 API Reference" aria-label="FreeType-2.10.4 API Reference" class="md-header-nav__button md-logo">
102
103            <img alt="logo" src="images/favico.ico" width="24" height="24">
104
105        </a>
106      </div>
107      <div class="md-flex__cell md-flex__cell--shrink">
108        <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
109      </div>
110      <div class="md-flex__cell md-flex__cell--stretch">
111        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
112
113            <span class="md-header-nav__topic">
114              FreeType-2.10.4 API Reference
115            </span>
116            <span class="md-header-nav__topic">
117
118                OpenType Validation
119
120            </span>
121
122        </div>
123      </div>
124      <div class="md-flex__cell md-flex__cell--shrink">
125
126          <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
127
128<div class="md-search" data-md-component="search" role="dialog">
129  <label class="md-search__overlay" for="__search"></label>
130  <div class="md-search__inner" role="search">
131    <form class="md-search__form" name="search">
132      <input type="text" class="md-search__input" aria-label="search" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
133      <label class="md-icon md-search__icon" for="__search"></label>
134      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
135        &#xE5CD;
136      </button>
137    </form>
138    <div class="md-search__output">
139      <div class="md-search__scrollwrap" data-md-scrollfix>
140        <div class="md-search-result" data-md-component="result">
141          <div class="md-search-result__meta">
142            Type to start searching
143          </div>
144          <ol class="md-search-result__list"></ol>
145        </div>
146      </div>
147    </div>
148  </div>
149</div>
150
151      </div>
152
153    </div>
154  </nav>
155</header>
156
157    <div class="md-container">
158
159
160
161
162      <main class="md-main" role="main">
163        <div class="md-main__inner md-grid" data-md-component="container">
164
165
166              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
167                <div class="md-sidebar__scrollwrap">
168                  <div class="md-sidebar__inner">
169                    <nav class="md-nav md-nav--primary" data-md-level="0">
170  <label class="md-nav__title md-nav__title--site" for="__drawer">
171    <a href="." title="FreeType-2.10.4 API Reference" class="md-nav__button md-logo">
172
173        <img alt="logo" src="images/favico.ico" width="48" height="48">
174
175    </a>
176    FreeType-2.10.4 API Reference
177  </label>
178
179  <ul class="md-nav__list" data-md-scrollfix>
180
181
182
183
184
185
186  <li class="md-nav__item">
187    <a href="index.html" title="TOC" class="md-nav__link">
188      TOC
189    </a>
190  </li>
191
192
193
194
195
196
197
198  <li class="md-nav__item">
199    <a href="ft2-index.html" title="Index" class="md-nav__link">
200      Index
201    </a>
202  </li>
203
204
205
206
207
208
209
210  <li class="md-nav__item md-nav__item--nested">
211
212      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
213
214    <label class="md-nav__link" for="nav-3">
215      General Remarks
216    </label>
217    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
218      <label class="md-nav__title" for="nav-3">
219        General Remarks
220      </label>
221      <ul class="md-nav__list" data-md-scrollfix>
222
223
224
225
226
227
228
229  <li class="md-nav__item">
230    <a href="ft2-header_inclusion.html" title="FreeType's header inclusion scheme" class="md-nav__link">
231      FreeType's header inclusion scheme
232    </a>
233  </li>
234
235
236
237
238
239
240
241  <li class="md-nav__item">
242    <a href="ft2-user_allocation.html" title="User allocation" class="md-nav__link">
243      User allocation
244    </a>
245  </li>
246
247
248      </ul>
249    </nav>
250  </li>
251
252
253
254
255
256
257
258  <li class="md-nav__item md-nav__item--nested">
259
260      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
261
262    <label class="md-nav__link" for="nav-4">
263      Core API
264    </label>
265    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
266      <label class="md-nav__title" for="nav-4">
267        Core API
268      </label>
269      <ul class="md-nav__list" data-md-scrollfix>
270
271
272
273
274
275
276
277  <li class="md-nav__item">
278    <a href="ft2-version.html" title="FreeType Version" class="md-nav__link">
279      FreeType Version
280    </a>
281  </li>
282
283
284
285
286
287
288
289  <li class="md-nav__item">
290    <a href="ft2-basic_types.html" title="Basic Data Types" class="md-nav__link">
291      Basic Data Types
292    </a>
293  </li>
294
295
296
297
298
299
300
301  <li class="md-nav__item">
302    <a href="ft2-base_interface.html" title="Base Interface" class="md-nav__link">
303      Base Interface
304    </a>
305  </li>
306
307
308
309
310
311
312
313  <li class="md-nav__item">
314    <a href="ft2-glyph_variants.html" title="Unicode Variation Sequences" class="md-nav__link">
315      Unicode Variation Sequences
316    </a>
317  </li>
318
319
320
321
322
323
324
325  <li class="md-nav__item">
326    <a href="ft2-color_management.html" title="Glyph Color Management" class="md-nav__link">
327      Glyph Color Management
328    </a>
329  </li>
330
331
332
333
334
335
336
337  <li class="md-nav__item">
338    <a href="ft2-layer_management.html" title="Glyph Layer Management" class="md-nav__link">
339      Glyph Layer Management
340    </a>
341  </li>
342
343
344
345
346
347
348
349  <li class="md-nav__item">
350    <a href="ft2-glyph_management.html" title="Glyph Management" class="md-nav__link">
351      Glyph Management
352    </a>
353  </li>
354
355
356
357
358
359
360
361  <li class="md-nav__item">
362    <a href="ft2-mac_specific.html" title="Mac Specific Interface" class="md-nav__link">
363      Mac Specific Interface
364    </a>
365  </li>
366
367
368
369
370
371
372
373  <li class="md-nav__item">
374    <a href="ft2-sizes_management.html" title="Size Management" class="md-nav__link">
375      Size Management
376    </a>
377  </li>
378
379
380
381
382
383
384
385  <li class="md-nav__item">
386    <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-nav__link">
387      Header File Macros
388    </a>
389  </li>
390
391
392      </ul>
393    </nav>
394  </li>
395
396
397
398
399
400
401
402  <li class="md-nav__item md-nav__item--nested">
403
404      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
405
406    <label class="md-nav__link" for="nav-5">
407      Format-Specific API
408    </label>
409    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
410      <label class="md-nav__title" for="nav-5">
411        Format-Specific API
412      </label>
413      <ul class="md-nav__list" data-md-scrollfix>
414
415
416
417
418
419
420
421  <li class="md-nav__item">
422    <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link">
423      Multiple Masters
424    </a>
425  </li>
426
427
428
429
430
431
432
433  <li class="md-nav__item">
434    <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
435      TrueType Tables
436    </a>
437  </li>
438
439
440
441
442
443
444
445  <li class="md-nav__item">
446    <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
447      Type 1 Tables
448    </a>
449  </li>
450
451
452
453
454
455
456
457  <li class="md-nav__item">
458    <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
459      SFNT Names
460    </a>
461  </li>
462
463
464
465
466
467
468
469  <li class="md-nav__item">
470    <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
471      BDF and PCF Files
472    </a>
473  </li>
474
475
476
477
478
479
480
481  <li class="md-nav__item">
482    <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
483      CID Fonts
484    </a>
485  </li>
486
487
488
489
490
491
492
493  <li class="md-nav__item">
494    <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
495      PFR Fonts
496    </a>
497  </li>
498
499
500
501
502
503
504
505  <li class="md-nav__item">
506    <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
507      Window FNT Files
508    </a>
509  </li>
510
511
512
513
514
515
516
517  <li class="md-nav__item">
518    <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
519      Font Formats
520    </a>
521  </li>
522
523
524
525
526
527
528
529  <li class="md-nav__item">
530    <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link">
531      Gasp Table
532    </a>
533  </li>
534
535
536      </ul>
537    </nav>
538  </li>
539
540
541
542
543
544
545
546  <li class="md-nav__item md-nav__item--nested">
547
548      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
549
550    <label class="md-nav__link" for="nav-6">
551      Controlling FreeType Modules
552    </label>
553    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
554      <label class="md-nav__title" for="nav-6">
555        Controlling FreeType Modules
556      </label>
557      <ul class="md-nav__list" data-md-scrollfix>
558
559
560
561
562
563
564
565  <li class="md-nav__item">
566    <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link">
567      The auto-hinter
568    </a>
569  </li>
570
571
572
573
574
575
576
577  <li class="md-nav__item">
578    <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link">
579      The CFF driver
580    </a>
581  </li>
582
583
584
585
586
587
588
589  <li class="md-nav__item">
590    <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
591      The Type 1 and CID drivers
592    </a>
593  </li>
594
595
596
597
598
599
600
601  <li class="md-nav__item">
602    <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
603      The TrueType driver
604    </a>
605  </li>
606
607
608
609
610
611
612
613  <li class="md-nav__item">
614    <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
615      The PCF driver
616    </a>
617  </li>
618
619
620
621
622
623
624
625  <li class="md-nav__item">
626    <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
627      Driver properties
628    </a>
629  </li>
630
631
632
633
634
635
636
637  <li class="md-nav__item">
638    <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
639      Parameter Tags
640    </a>
641  </li>
642
643
644
645
646
647
648
649  <li class="md-nav__item">
650    <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
651      Subpixel Rendering
652    </a>
653  </li>
654
655
656      </ul>
657    </nav>
658  </li>
659
660
661
662
663
664
665
666  <li class="md-nav__item md-nav__item--nested">
667
668      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
669
670    <label class="md-nav__link" for="nav-7">
671      Cache Sub-System
672    </label>
673    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
674      <label class="md-nav__title" for="nav-7">
675        Cache Sub-System
676      </label>
677      <ul class="md-nav__list" data-md-scrollfix>
678
679
680
681
682
683
684
685  <li class="md-nav__item">
686    <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
687      Cache Sub-System
688    </a>
689  </li>
690
691
692      </ul>
693    </nav>
694  </li>
695
696
697
698
699
700
701
702  <li class="md-nav__item md-nav__item--nested">
703
704      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
705
706    <label class="md-nav__link" for="nav-8">
707      Support API
708    </label>
709    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
710      <label class="md-nav__title" for="nav-8">
711        Support API
712      </label>
713      <ul class="md-nav__list" data-md-scrollfix>
714
715
716
717
718
719
720
721  <li class="md-nav__item">
722    <a href="ft2-computations.html" title="Computations" class="md-nav__link">
723      Computations
724    </a>
725  </li>
726
727
728
729
730
731
732
733  <li class="md-nav__item">
734    <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
735      List Processing
736    </a>
737  </li>
738
739
740
741
742
743
744
745  <li class="md-nav__item">
746    <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
747      Outline Processing
748    </a>
749  </li>
750
751
752
753
754
755
756
757  <li class="md-nav__item">
758    <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
759      Quick retrieval of advance values
760    </a>
761  </li>
762
763
764
765
766
767
768
769  <li class="md-nav__item">
770    <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
771      Bitmap Handling
772    </a>
773  </li>
774
775
776
777
778
779
780
781  <li class="md-nav__item">
782    <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
783      Scanline Converter
784    </a>
785  </li>
786
787
788
789
790
791
792
793  <li class="md-nav__item">
794    <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
795      Glyph Stroker
796    </a>
797  </li>
798
799
800
801
802
803
804
805  <li class="md-nav__item">
806    <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
807      System Interface
808    </a>
809  </li>
810
811
812
813
814
815
816
817  <li class="md-nav__item">
818    <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
819      Module Management
820    </a>
821  </li>
822
823
824
825
826
827
828
829  <li class="md-nav__item">
830    <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
831      GZIP Streams
832    </a>
833  </li>
834
835
836
837
838
839
840
841  <li class="md-nav__item">
842    <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
843      LZW Streams
844    </a>
845  </li>
846
847
848
849
850
851
852
853  <li class="md-nav__item">
854    <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
855      BZIP2 Streams
856    </a>
857  </li>
858
859
860      </ul>
861    </nav>
862  </li>
863
864
865
866
867
868
869
870  <li class="md-nav__item md-nav__item--nested">
871
872      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
873
874    <label class="md-nav__link" for="nav-9">
875      Error Codes
876    </label>
877    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
878      <label class="md-nav__title" for="nav-9">
879        Error Codes
880      </label>
881      <ul class="md-nav__list" data-md-scrollfix>
882
883
884
885
886
887
888
889  <li class="md-nav__item">
890    <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
891      Error Enumerations
892    </a>
893  </li>
894
895
896
897
898
899
900
901  <li class="md-nav__item">
902    <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
903      Error Code Values
904    </a>
905  </li>
906
907
908      </ul>
909    </nav>
910  </li>
911
912
913
914
915
916
917
918
919
920  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
921
922      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10" checked>
923
924    <label class="md-nav__link" for="nav-10">
925      Miscellaneous
926    </label>
927    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
928      <label class="md-nav__title" for="nav-10">
929        Miscellaneous
930      </label>
931      <ul class="md-nav__list" data-md-scrollfix>
932
933
934
935
936
937
938
939  <li class="md-nav__item">
940    <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
941      TrueTypeGX/AAT Validation
942    </a>
943  </li>
944
945
946
947
948
949
950
951  <li class="md-nav__item">
952    <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
953      Incremental Loading
954    </a>
955  </li>
956
957
958
959
960
961
962
963  <li class="md-nav__item">
964    <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
965      The TrueType Engine
966    </a>
967  </li>
968
969
970
971
972
973
974
975
976
977  <li class="md-nav__item md-nav__item--active">
978
979    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
980
981
982
983
984      <label class="md-nav__link md-nav__link--active" for="__toc">
985        OpenType Validation
986      </label>
987
988    <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link md-nav__link--active">
989      OpenType Validation
990    </a>
991
992
993<nav class="md-nav md-nav--secondary">
994
995
996
997
998
999    <label class="md-nav__title" for="__toc">Table of contents</label>
1000    <ul class="md-nav__list" data-md-scrollfix>
1001
1002        <li class="md-nav__item">
1003  <a href="#synopsis" class="md-nav__link">
1004    Synopsis
1005  </a>
1006
1007</li>
1008
1009        <li class="md-nav__item">
1010  <a href="#ft_opentype_validate" class="md-nav__link">
1011    FT_OpenType_Validate
1012  </a>
1013
1014</li>
1015
1016        <li class="md-nav__item">
1017  <a href="#ft_opentype_free" class="md-nav__link">
1018    FT_OpenType_Free
1019  </a>
1020
1021</li>
1022
1023        <li class="md-nav__item">
1024  <a href="#ft_validate_otxxx" class="md-nav__link">
1025    FT_VALIDATE_OTXXX
1026  </a>
1027
1028</li>
1029
1030
1031
1032
1033
1034    </ul>
1035
1036</nav>
1037
1038  </li>
1039
1040
1041      </ul>
1042    </nav>
1043  </li>
1044
1045
1046  </ul>
1047</nav>
1048                  </div>
1049                </div>
1050              </div>
1051
1052
1053              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1054                <div class="md-sidebar__scrollwrap">
1055                  <div class="md-sidebar__inner">
1056
1057<nav class="md-nav md-nav--secondary">
1058
1059
1060
1061
1062
1063    <label class="md-nav__title" for="__toc">Table of contents</label>
1064    <ul class="md-nav__list" data-md-scrollfix>
1065
1066        <li class="md-nav__item">
1067  <a href="#synopsis" class="md-nav__link">
1068    Synopsis
1069  </a>
1070
1071</li>
1072
1073        <li class="md-nav__item">
1074  <a href="#ft_opentype_validate" class="md-nav__link">
1075    FT_OpenType_Validate
1076  </a>
1077
1078</li>
1079
1080        <li class="md-nav__item">
1081  <a href="#ft_opentype_free" class="md-nav__link">
1082    FT_OpenType_Free
1083  </a>
1084
1085</li>
1086
1087        <li class="md-nav__item">
1088  <a href="#ft_validate_otxxx" class="md-nav__link">
1089    FT_VALIDATE_OTXXX
1090  </a>
1091
1092</li>
1093
1094
1095
1096
1097
1098    </ul>
1099
1100</nav>
1101                  </div>
1102                </div>
1103              </div>
1104
1105
1106          <div class="md-content">
1107            <article class="md-content__inner md-typeset">
1108
1109
1110
1111                <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#miscellaneous">Miscellaneous</a> &raquo; OpenType Validation</p>
1112<hr />
1113<h1 id="opentype-validation">OpenType Validation<a class="headerlink" href="#opentype-validation" title="Permanent link">&para;</a></h1>
1114<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1115<p>This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p>
1116<h2 id="ft_opentype_validate">FT_OpenType_Validate<a class="headerlink" href="#ft_opentype_validate" title="Permanent link">&para;</a></h2>
1117<p>Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).</p>
1118<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1119  <b>FT_OpenType_Validate</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1120                        <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    validation_flags,
1121                        <a href="ft2-basic_types.html#ft_bytes">FT_Bytes</a>  *BASE_table,
1122                        <a href="ft2-basic_types.html#ft_bytes">FT_Bytes</a>  *GDEF_table,
1123                        <a href="ft2-basic_types.html#ft_bytes">FT_Bytes</a>  *GPOS_table,
1124                        <a href="ft2-basic_types.html#ft_bytes">FT_Bytes</a>  *GSUB_table,
1125                        <a href="ft2-basic_types.html#ft_bytes">FT_Bytes</a>  *JSTF_table );
1126</code></pre></div>
1127
1128<p>Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p>
1129<h4>input</h4>
1130
1131<table class="fields">
1132<tr><td class="val" id="face">face</td><td class="desc">
1133<p>A handle to the input face.</p>
1134</td></tr>
1135<tr><td class="val" id="validation_flags">validation_flags</td><td class="desc">
1136<p>A bit field that specifies the tables to be validated. See <code><a href="ft2-ot_validation.html#ft_validate_otxxx">FT_VALIDATE_OTXXX</a></code> for possible values.</p>
1137</td></tr>
1138</table>
1139
1140<h4>output</h4>
1141
1142<table class="fields">
1143<tr><td class="val" id="base_table">BASE_table</td><td class="desc">
1144<p>A pointer to the BASE table.</p>
1145</td></tr>
1146<tr><td class="val" id="gdef_table">GDEF_table</td><td class="desc">
1147<p>A pointer to the GDEF table.</p>
1148</td></tr>
1149<tr><td class="val" id="gpos_table">GPOS_table</td><td class="desc">
1150<p>A pointer to the GPOS table.</p>
1151</td></tr>
1152<tr><td class="val" id="gsub_table">GSUB_table</td><td class="desc">
1153<p>A pointer to the GSUB table.</p>
1154</td></tr>
1155<tr><td class="val" id="jstf_table">JSTF_table</td><td class="desc">
1156<p>A pointer to the JSTF table.</p>
1157</td></tr>
1158</table>
1159
1160<h4>return</h4>
1161
1162<p>FreeType error code. 0&nbsp;means success.</p>
1163<h4>note</h4>
1164
1165<p>This function only works with OpenType fonts, returning an error otherwise.</p>
1166<p>After use, the application should deallocate the five tables with <code><a href="ft2-ot_validation.html#ft_opentype_free">FT_OpenType_Free</a></code>. A <code>NULL</code> value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.</p>
1167<hr>
1168
1169<h2 id="ft_opentype_free">FT_OpenType_Free<a class="headerlink" href="#ft_opentype_free" title="Permanent link">&para;</a></h2>
1170<p>Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).</p>
1171<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1172  <b>FT_OpenType_Free</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>   face,
1173                    <a href="ft2-basic_types.html#ft_bytes">FT_Bytes</a>  table );
1174</code></pre></div>
1175
1176<p>Free the buffer allocated by OpenType validator.</p>
1177<h4>input</h4>
1178
1179<table class="fields">
1180<tr><td class="val" id="face">face</td><td class="desc">
1181<p>A handle to the input face.</p>
1182</td></tr>
1183<tr><td class="val" id="table">table</td><td class="desc">
1184<p>The pointer to the buffer that is allocated by <code><a href="ft2-ot_validation.html#ft_opentype_validate">FT_OpenType_Validate</a></code>.</p>
1185</td></tr>
1186</table>
1187
1188<h4>note</h4>
1189
1190<p>This function must be used to free the buffer allocated by <code><a href="ft2-ot_validation.html#ft_opentype_validate">FT_OpenType_Validate</a></code> only.</p>
1191<hr>
1192
1193<h2 id="ft_validate_otxxx">FT_VALIDATE_OTXXX<a class="headerlink" href="#ft_validate_otxxx" title="Permanent link">&para;</a></h2>
1194<p>Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).</p>
1195<div class = "codehilite"><pre><code>#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_base">FT_VALIDATE_BASE</a>  0x0100
1196#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_gdef">FT_VALIDATE_GDEF</a>  0x0200
1197#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_gpos">FT_VALIDATE_GPOS</a>  0x0400
1198#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_gsub">FT_VALIDATE_GSUB</a>  0x0800
1199#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_jstf">FT_VALIDATE_JSTF</a>  0x1000
1200#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_math">FT_VALIDATE_MATH</a>  0x2000
1201
1202#<span class="keyword">define</span> <a href="ft2-ot_validation.html#ft_validate_ot">FT_VALIDATE_OT</a>  ( <a href="ft2-ot_validation.html#ft_validate_base">FT_VALIDATE_BASE</a> | \
1203                          <a href="ft2-ot_validation.html#ft_validate_gdef">FT_VALIDATE_GDEF</a> | \
1204                          <a href="ft2-ot_validation.html#ft_validate_gpos">FT_VALIDATE_GPOS</a> | \
1205                          <a href="ft2-ot_validation.html#ft_validate_gsub">FT_VALIDATE_GSUB</a> | \
1206                          <a href="ft2-ot_validation.html#ft_validate_jstf">FT_VALIDATE_JSTF</a> | \
1207                          <a href="ft2-ot_validation.html#ft_validate_math">FT_VALIDATE_MATH</a> )
1208</code></pre></div>
1209
1210<p>A list of bit-field constants used with <code><a href="ft2-ot_validation.html#ft_opentype_validate">FT_OpenType_Validate</a></code> to indicate which OpenType tables should be validated.</p>
1211<h4>values</h4>
1212
1213<table class="fields">
1214<tr><td class="val" id="ft_validate_base">FT_VALIDATE_BASE</td><td class="desc">
1215<p>Validate BASE table.</p>
1216</td></tr>
1217<tr><td class="val" id="ft_validate_gdef">FT_VALIDATE_GDEF</td><td class="desc">
1218<p>Validate GDEF table.</p>
1219</td></tr>
1220<tr><td class="val" id="ft_validate_gpos">FT_VALIDATE_GPOS</td><td class="desc">
1221<p>Validate GPOS table.</p>
1222</td></tr>
1223<tr><td class="val" id="ft_validate_gsub">FT_VALIDATE_GSUB</td><td class="desc">
1224<p>Validate GSUB table.</p>
1225</td></tr>
1226<tr><td class="val" id="ft_validate_jstf">FT_VALIDATE_JSTF</td><td class="desc">
1227<p>Validate JSTF table.</p>
1228</td></tr>
1229<tr><td class="val" id="ft_validate_math">FT_VALIDATE_MATH</td><td class="desc">
1230<p>Validate MATH table.</p>
1231</td></tr>
1232<tr><td class="val" id="ft_validate_ot">FT_VALIDATE_OT</td><td class="desc">
1233<p>Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p>
1234</td></tr>
1235</table>
1236
1237<hr>
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248            </article>
1249          </div>
1250        </div>
1251      </main>
1252
1253
1254<footer class="md-footer">
1255
1256    <div class="md-footer-nav">
1257      <nav class="md-footer-nav__inner md-grid">
1258
1259          <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
1260            <div class="md-flex__cell md-flex__cell--shrink">
1261              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
1262            </div>
1263            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1264              <span class="md-flex__ellipsis">
1265                <span class="md-footer-nav__direction">
1266                  Previous
1267                </span>
1268                The TrueType Engine
1269              </span>
1270            </div>
1271          </a>
1272
1273
1274      </nav>
1275    </div>
1276
1277  <div class="md-footer-meta md-typeset">
1278    <div class="md-footer-meta__inner md-grid">
1279      <div class="md-footer-copyright">
1280
1281          <div class="md-footer-copyright__highlight">
1282            Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1283          </div>
1284
1285        powered by
1286        <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
1287        and
1288        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1289          Material for MkDocs</a>
1290      </div>
1291
1292    </div>
1293  </div>
1294</footer>
1295
1296    </div>
1297
1298      <script src="assets/javascripts/application.c33a9706.js"></script>
1299
1300      <script>app.initialize({version:"1.1",url:{base:"."}})</script>
1301
1302        <script src="javascripts/extra.js"></script>
1303
1304
1305  </body>
1306</html>