• 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>Incremental Loading - 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="#incremental-loading" 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                Incremental Loading
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
952
953  <li class="md-nav__item md-nav__item--active">
954
955    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
956
957
958
959
960      <label class="md-nav__link md-nav__link--active" for="__toc">
961        Incremental Loading
962      </label>
963
964    <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link md-nav__link--active">
965      Incremental Loading
966    </a>
967
968
969<nav class="md-nav md-nav--secondary">
970
971
972
973
974
975    <label class="md-nav__title" for="__toc">Table of contents</label>
976    <ul class="md-nav__list" data-md-scrollfix>
977
978        <li class="md-nav__item">
979  <a href="#synopsis" class="md-nav__link">
980    Synopsis
981  </a>
982
983</li>
984
985        <li class="md-nav__item">
986  <a href="#ft_incremental" class="md-nav__link">
987    FT_Incremental
988  </a>
989
990</li>
991
992        <li class="md-nav__item">
993  <a href="#ft_incremental_metricsrec" class="md-nav__link">
994    FT_Incremental_MetricsRec
995  </a>
996
997</li>
998
999        <li class="md-nav__item">
1000  <a href="#ft_incremental_metrics" class="md-nav__link">
1001    FT_Incremental_Metrics
1002  </a>
1003
1004</li>
1005
1006        <li class="md-nav__item">
1007  <a href="#ft_incremental_getglyphdatafunc" class="md-nav__link">
1008    FT_Incremental_GetGlyphDataFunc
1009  </a>
1010
1011</li>
1012
1013        <li class="md-nav__item">
1014  <a href="#ft_incremental_freeglyphdatafunc" class="md-nav__link">
1015    FT_Incremental_FreeGlyphDataFunc
1016  </a>
1017
1018</li>
1019
1020        <li class="md-nav__item">
1021  <a href="#ft_incremental_getglyphmetricsfunc" class="md-nav__link">
1022    FT_Incremental_GetGlyphMetricsFunc
1023  </a>
1024
1025</li>
1026
1027        <li class="md-nav__item">
1028  <a href="#ft_incremental_funcsrec" class="md-nav__link">
1029    FT_Incremental_FuncsRec
1030  </a>
1031
1032</li>
1033
1034        <li class="md-nav__item">
1035  <a href="#ft_incremental_interfacerec" class="md-nav__link">
1036    FT_Incremental_InterfaceRec
1037  </a>
1038
1039</li>
1040
1041        <li class="md-nav__item">
1042  <a href="#ft_incremental_interface" class="md-nav__link">
1043    FT_Incremental_Interface
1044  </a>
1045
1046</li>
1047
1048
1049
1050
1051
1052    </ul>
1053
1054</nav>
1055
1056  </li>
1057
1058
1059
1060
1061
1062
1063
1064  <li class="md-nav__item">
1065    <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1066      The TrueType Engine
1067    </a>
1068  </li>
1069
1070
1071
1072
1073
1074
1075
1076  <li class="md-nav__item">
1077    <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1078      OpenType Validation
1079    </a>
1080  </li>
1081
1082
1083      </ul>
1084    </nav>
1085  </li>
1086
1087
1088  </ul>
1089</nav>
1090                  </div>
1091                </div>
1092              </div>
1093
1094
1095              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1096                <div class="md-sidebar__scrollwrap">
1097                  <div class="md-sidebar__inner">
1098
1099<nav class="md-nav md-nav--secondary">
1100
1101
1102
1103
1104
1105    <label class="md-nav__title" for="__toc">Table of contents</label>
1106    <ul class="md-nav__list" data-md-scrollfix>
1107
1108        <li class="md-nav__item">
1109  <a href="#synopsis" class="md-nav__link">
1110    Synopsis
1111  </a>
1112
1113</li>
1114
1115        <li class="md-nav__item">
1116  <a href="#ft_incremental" class="md-nav__link">
1117    FT_Incremental
1118  </a>
1119
1120</li>
1121
1122        <li class="md-nav__item">
1123  <a href="#ft_incremental_metricsrec" class="md-nav__link">
1124    FT_Incremental_MetricsRec
1125  </a>
1126
1127</li>
1128
1129        <li class="md-nav__item">
1130  <a href="#ft_incremental_metrics" class="md-nav__link">
1131    FT_Incremental_Metrics
1132  </a>
1133
1134</li>
1135
1136        <li class="md-nav__item">
1137  <a href="#ft_incremental_getglyphdatafunc" class="md-nav__link">
1138    FT_Incremental_GetGlyphDataFunc
1139  </a>
1140
1141</li>
1142
1143        <li class="md-nav__item">
1144  <a href="#ft_incremental_freeglyphdatafunc" class="md-nav__link">
1145    FT_Incremental_FreeGlyphDataFunc
1146  </a>
1147
1148</li>
1149
1150        <li class="md-nav__item">
1151  <a href="#ft_incremental_getglyphmetricsfunc" class="md-nav__link">
1152    FT_Incremental_GetGlyphMetricsFunc
1153  </a>
1154
1155</li>
1156
1157        <li class="md-nav__item">
1158  <a href="#ft_incremental_funcsrec" class="md-nav__link">
1159    FT_Incremental_FuncsRec
1160  </a>
1161
1162</li>
1163
1164        <li class="md-nav__item">
1165  <a href="#ft_incremental_interfacerec" class="md-nav__link">
1166    FT_Incremental_InterfaceRec
1167  </a>
1168
1169</li>
1170
1171        <li class="md-nav__item">
1172  <a href="#ft_incremental_interface" class="md-nav__link">
1173    FT_Incremental_Interface
1174  </a>
1175
1176</li>
1177
1178
1179
1180
1181
1182    </ul>
1183
1184</nav>
1185                  </div>
1186                </div>
1187              </div>
1188
1189
1190          <div class="md-content">
1191            <article class="md-content__inner md-typeset">
1192
1193
1194
1195                <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#miscellaneous">Miscellaneous</a> &raquo; Incremental Loading</p>
1196<hr />
1197<h1 id="incremental-loading">Incremental Loading<a class="headerlink" href="#incremental-loading" title="Permanent link">&para;</a></h1>
1198<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1199<p>This section contains various functions used to perform so-called &lsquo;incremental&rsquo; glyph loading. This is a mode where all glyphs loaded from a given <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> are provided by the client application.</p>
1200<p>Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a PostScript Imaging Processor.</p>
1201<p>To enable this mode, you must use <code><a href="ft2-base_interface.html#ft_open_face">FT_Open_Face</a></code>, passing an <code><a href="ft2-base_interface.html#ft_parameter">FT_Parameter</a></code> with the <code><a href="ft2-parameter_tags.html#ft_param_tag_incremental">FT_PARAM_TAG_INCREMENTAL</a></code> tag and an <code><a href="ft2-incremental.html#ft_incremental_interface">FT_Incremental_Interface</a></code> value. See the comments for <code><a href="ft2-incremental.html#ft_incremental_interfacerec">FT_Incremental_InterfaceRec</a></code> for an example.</p>
1202<h2 id="ft_incremental">FT_Incremental<a class="headerlink" href="#ft_incremental" title="Permanent link">&para;</a></h2>
1203<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1204<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_IncrementalRec_*  <b>FT_Incremental</b>;
1205</code></pre></div>
1206
1207<p>An opaque type describing a user-provided object used to implement &lsquo;incremental&rsquo; glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., PostScript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.</p>
1208<h4>note</h4>
1209
1210<p>It is up to client applications to create and implement <code><a href="ft2-incremental.html#ft_incremental">FT_Incremental</a></code> objects, as long as they provide implementations for the methods <code><a href="ft2-incremental.html#ft_incremental_getglyphdatafunc">FT_Incremental_GetGlyphDataFunc</a></code>, <code><a href="ft2-incremental.html#ft_incremental_freeglyphdatafunc">FT_Incremental_FreeGlyphDataFunc</a></code> and <code><a href="ft2-incremental.html#ft_incremental_getglyphmetricsfunc">FT_Incremental_GetGlyphMetricsFunc</a></code>.</p>
1211<p>See the description of <code><a href="ft2-incremental.html#ft_incremental_interfacerec">FT_Incremental_InterfaceRec</a></code> to understand how to use incremental objects with FreeType.</p>
1212<hr>
1213
1214<h2 id="ft_incremental_metricsrec">FT_Incremental_MetricsRec<a class="headerlink" href="#ft_incremental_metricsrec" title="Permanent link">&para;</a></h2>
1215<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1216<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Incremental_MetricsRec_
1217  {
1218    <a href="ft2-basic_types.html#ft_long">FT_Long</a>  bearing_x;
1219    <a href="ft2-basic_types.html#ft_long">FT_Long</a>  bearing_y;
1220    <a href="ft2-basic_types.html#ft_long">FT_Long</a>  advance;
1221    <a href="ft2-basic_types.html#ft_long">FT_Long</a>  advance_v;     /* since 2.3.12 */
1222
1223  } <b>FT_Incremental_MetricsRec</b>;
1224</code></pre></div>
1225
1226<p>A small structure used to contain the basic glyph metrics returned by the <code><a href="ft2-incremental.html#ft_incremental_getglyphmetricsfunc">FT_Incremental_GetGlyphMetricsFunc</a></code> method.</p>
1227<h4>fields</h4>
1228
1229<table class="fields">
1230<tr><td class="val" id="bearing_x">bearing_x</td><td class="desc">
1231<p>Left bearing, in font units.</p>
1232</td></tr>
1233<tr><td class="val" id="bearing_y">bearing_y</td><td class="desc">
1234<p>Top bearing, in font units.</p>
1235</td></tr>
1236<tr><td class="val" id="advance">advance</td><td class="desc">
1237<p>Horizontal component of glyph advance, in font units.</p>
1238</td></tr>
1239<tr><td class="val" id="advance_v">advance_v</td><td class="desc">
1240<p>Vertical component of glyph advance, in font units.</p>
1241</td></tr>
1242</table>
1243
1244<h4>note</h4>
1245
1246<p>These correspond to horizontal or vertical metrics depending on the value of the <code>vertical</code> argument to the function <code><a href="ft2-incremental.html#ft_incremental_getglyphmetricsfunc">FT_Incremental_GetGlyphMetricsFunc</a></code>.</p>
1247<hr>
1248
1249<h2 id="ft_incremental_metrics">FT_Incremental_Metrics<a class="headerlink" href="#ft_incremental_metrics" title="Permanent link">&para;</a></h2>
1250<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1251<div class = "codehilite"><pre><code>   <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_*  <b>FT_Incremental_Metrics</b>;
1252</code></pre></div>
1253
1254<p>A handle to an <code><a href="ft2-incremental.html#ft_incremental_metricsrec">FT_Incremental_MetricsRec</a></code> structure.</p>
1255<hr>
1256
1257<h2 id="ft_incremental_getglyphdatafunc">FT_Incremental_GetGlyphDataFunc<a class="headerlink" href="#ft_incremental_getglyphdatafunc" title="Permanent link">&para;</a></h2>
1258<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1259<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <a href="ft2-basic_types.html#ft_error">FT_Error</a>
1260  (*<b>FT_Incremental_GetGlyphDataFunc</b>)( <a href="ft2-incremental.html#ft_incremental">FT_Incremental</a>  incremental,
1261                                      <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>         glyph_index,
1262                                      <a href="ft2-basic_types.html#ft_data">FT_Data</a>*        adata );
1263</code></pre></div>
1264
1265<p>A function called by FreeType to access a given glyph's data bytes during <code><a href="ft2-base_interface.html#ft_load_glyph">FT_Load_Glyph</a></code> or <code><a href="ft2-base_interface.html#ft_load_char">FT_Load_Char</a></code> if incremental loading is enabled.</p>
1266<p>Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the &lsquo;glyf&rsquo; table. For PostScript formats, it must correspond to the <strong>unencrypted</strong> charstring bytes, without any <code>lenIV</code> header. It is undefined for any other format.</p>
1267<h4>input</h4>
1268
1269<table class="fields">
1270<tr><td class="val" id="incremental">incremental</td><td class="desc">
1271<p>Handle to an opaque <code><a href="ft2-incremental.html#ft_incremental">FT_Incremental</a></code> handle provided by the client application.</p>
1272</td></tr>
1273<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc">
1274<p>Index of relevant glyph.</p>
1275</td></tr>
1276</table>
1277
1278<h4>output</h4>
1279
1280<table class="fields">
1281<tr><td class="val" id="adata">adata</td><td class="desc">
1282<p>A structure describing the returned glyph data bytes (which will be accessed as a read-only byte block).</p>
1283</td></tr>
1284</table>
1285
1286<h4>return</h4>
1287
1288<p>FreeType error code. 0&nbsp;means success.</p>
1289<h4>note</h4>
1290
1291<p>If this function returns successfully the method <code><a href="ft2-incremental.html#ft_incremental_freeglyphdatafunc">FT_Incremental_FreeGlyphDataFunc</a></code> will be called later to release the data bytes.</p>
1292<p>Nested calls to <code><a href="ft2-incremental.html#ft_incremental_getglyphdatafunc">FT_Incremental_GetGlyphDataFunc</a></code> can happen for compound glyphs.</p>
1293<hr>
1294
1295<h2 id="ft_incremental_freeglyphdatafunc">FT_Incremental_FreeGlyphDataFunc<a class="headerlink" href="#ft_incremental_freeglyphdatafunc" title="Permanent link">&para;</a></h2>
1296<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1297<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">void</span>
1298  (*<b>FT_Incremental_FreeGlyphDataFunc</b>)( <a href="ft2-incremental.html#ft_incremental">FT_Incremental</a>  incremental,
1299                                       <a href="ft2-basic_types.html#ft_data">FT_Data</a>*        data );
1300</code></pre></div>
1301
1302<p>A function used to release the glyph data bytes returned by a successful call to <code><a href="ft2-incremental.html#ft_incremental_getglyphdatafunc">FT_Incremental_GetGlyphDataFunc</a></code>.</p>
1303<h4>input</h4>
1304
1305<table class="fields">
1306<tr><td class="val" id="incremental">incremental</td><td class="desc">
1307<p>A handle to an opaque <code><a href="ft2-incremental.html#ft_incremental">FT_Incremental</a></code> handle provided by the client application.</p>
1308</td></tr>
1309<tr><td class="val" id="data">data</td><td class="desc">
1310<p>A structure describing the glyph data bytes (which will be accessed as a read-only byte block).</p>
1311</td></tr>
1312</table>
1313
1314<hr>
1315
1316<h2 id="ft_incremental_getglyphmetricsfunc">FT_Incremental_GetGlyphMetricsFunc<a class="headerlink" href="#ft_incremental_getglyphmetricsfunc" title="Permanent link">&para;</a></h2>
1317<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1318<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <a href="ft2-basic_types.html#ft_error">FT_Error</a>
1319  (*<b>FT_Incremental_GetGlyphMetricsFunc</b>)
1320                      ( <a href="ft2-incremental.html#ft_incremental">FT_Incremental</a>              incremental,
1321                        <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>                     glyph_index,
1322                        <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>                     vertical,
1323                        <a href="ft2-incremental.html#ft_incremental_metricsrec">FT_Incremental_MetricsRec</a>  *ametrics );
1324</code></pre></div>
1325
1326<p>A function used to retrieve the basic metrics of a given glyph index before accessing its data. This is necessary because, in certain formats like TrueType, the metrics are stored in a different place from the glyph images proper.</p>
1327<h4>input</h4>
1328
1329<table class="fields">
1330<tr><td class="val" id="incremental">incremental</td><td class="desc">
1331<p>A handle to an opaque <code><a href="ft2-incremental.html#ft_incremental">FT_Incremental</a></code> handle provided by the client application.</p>
1332</td></tr>
1333<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc">
1334<p>Index of relevant glyph.</p>
1335</td></tr>
1336<tr><td class="val" id="vertical">vertical</td><td class="desc">
1337<p>If true, return vertical metrics.</p>
1338</td></tr>
1339<tr><td class="val" id="ametrics">ametrics</td><td class="desc">
1340<p>This parameter is used for both input and output. The original glyph metrics, if any, in font units. If metrics are not available all the values must be set to zero.</p>
1341</td></tr>
1342</table>
1343
1344<h4>output</h4>
1345
1346<table class="fields">
1347<tr><td class="val" id="ametrics">ametrics</td><td class="desc">
1348<p>The replacement glyph metrics in font units.</p>
1349</td></tr>
1350</table>
1351
1352<hr>
1353
1354<h2 id="ft_incremental_funcsrec">FT_Incremental_FuncsRec<a class="headerlink" href="#ft_incremental_funcsrec" title="Permanent link">&para;</a></h2>
1355<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1356<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Incremental_FuncsRec_
1357  {
1358    <a href="ft2-incremental.html#ft_incremental_getglyphdatafunc">FT_Incremental_GetGlyphDataFunc</a>     get_glyph_data;
1359    <a href="ft2-incremental.html#ft_incremental_freeglyphdatafunc">FT_Incremental_FreeGlyphDataFunc</a>    free_glyph_data;
1360    <a href="ft2-incremental.html#ft_incremental_getglyphmetricsfunc">FT_Incremental_GetGlyphMetricsFunc</a>  get_glyph_metrics;
1361
1362  } <b>FT_Incremental_FuncsRec</b>;
1363</code></pre></div>
1364
1365<p>A table of functions for accessing fonts that load data incrementally. Used in <code><a href="ft2-incremental.html#ft_incremental_interfacerec">FT_Incremental_InterfaceRec</a></code>.</p>
1366<h4>fields</h4>
1367
1368<table class="fields">
1369<tr><td class="val" id="get_glyph_data">get_glyph_data</td><td class="desc">
1370<p>The function to get glyph data. Must not be null.</p>
1371</td></tr>
1372<tr><td class="val" id="free_glyph_data">free_glyph_data</td><td class="desc">
1373<p>The function to release glyph data. Must not be null.</p>
1374</td></tr>
1375<tr><td class="val" id="get_glyph_metrics">get_glyph_metrics</td><td class="desc">
1376<p>The function to get glyph metrics. May be null if the font does not provide overriding glyph metrics.</p>
1377</td></tr>
1378</table>
1379
1380<hr>
1381
1382<h2 id="ft_incremental_interfacerec">FT_Incremental_InterfaceRec<a class="headerlink" href="#ft_incremental_interfacerec" title="Permanent link">&para;</a></h2>
1383<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1384<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Incremental_InterfaceRec_
1385  {
1386    <span class="keyword">const</span> <a href="ft2-incremental.html#ft_incremental_funcsrec">FT_Incremental_FuncsRec</a>*  funcs;
1387    <a href="ft2-incremental.html#ft_incremental">FT_Incremental</a>                  object;
1388
1389  } <b>FT_Incremental_InterfaceRec</b>;
1390</code></pre></div>
1391
1392<p>A structure to be used with <code><a href="ft2-base_interface.html#ft_open_face">FT_Open_Face</a></code> to indicate that the user wants to support incremental glyph loading. You should use it with <code><a href="ft2-parameter_tags.html#ft_param_tag_incremental">FT_PARAM_TAG_INCREMENTAL</a></code> as in the following example:
1393<div class="highlight"><pre><span></span><code>  FT_Incremental_InterfaceRec  inc_int;
1394  FT_Parameter                 parameter;
1395  FT_Open_Args                 open_args;
1396
1397
1398  // set up incremental descriptor
1399  inc_int.funcs  = my_funcs;
1400  inc_int.object = my_object;
1401
1402  // set up optional parameter
1403  parameter.tag  = FT_PARAM_TAG_INCREMENTAL;
1404  parameter.data = &amp;inc_int;
1405
1406  // set up FT_Open_Args structure
1407  open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
1408  open_args.pathname   = my_font_pathname;
1409  open_args.num_params = 1;
1410  open_args.params     = &amp;parameter; // we use one optional argument
1411
1412  // open the font
1413  error = FT_Open_Face( library, &amp;open_args, index, &amp;face );
1414  ...
1415</code></pre></div></p>
1416<hr>
1417
1418<h2 id="ft_incremental_interface">FT_Incremental_Interface<a class="headerlink" href="#ft_incremental_interface" title="Permanent link">&para;</a></h2>
1419<p>Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).</p>
1420<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <a href="ft2-incremental.html#ft_incremental_interfacerec">FT_Incremental_InterfaceRec</a>*   <b>FT_Incremental_Interface</b>;
1421</code></pre></div>
1422
1423<p>A pointer to an <code><a href="ft2-incremental.html#ft_incremental_interfacerec">FT_Incremental_InterfaceRec</a></code> structure.</p>
1424<hr>
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435            </article>
1436          </div>
1437        </div>
1438      </main>
1439
1440
1441<footer class="md-footer">
1442
1443    <div class="md-footer-nav">
1444      <nav class="md-footer-nav__inner md-grid">
1445
1446          <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
1447            <div class="md-flex__cell md-flex__cell--shrink">
1448              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
1449            </div>
1450            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1451              <span class="md-flex__ellipsis">
1452                <span class="md-footer-nav__direction">
1453                  Previous
1454                </span>
1455                TrueTypeGX/AAT Validation
1456              </span>
1457            </div>
1458          </a>
1459
1460
1461          <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
1462            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1463              <span class="md-flex__ellipsis">
1464                <span class="md-footer-nav__direction">
1465                  Next
1466                </span>
1467                The TrueType Engine
1468              </span>
1469            </div>
1470            <div class="md-flex__cell md-flex__cell--shrink">
1471              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
1472            </div>
1473          </a>
1474
1475      </nav>
1476    </div>
1477
1478  <div class="md-footer-meta md-typeset">
1479    <div class="md-footer-meta__inner md-grid">
1480      <div class="md-footer-copyright">
1481
1482          <div class="md-footer-copyright__highlight">
1483            Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1484          </div>
1485
1486        powered by
1487        <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
1488        and
1489        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1490          Material for MkDocs</a>
1491      </div>
1492
1493    </div>
1494  </div>
1495</footer>
1496
1497    </div>
1498
1499      <script src="assets/javascripts/application.c33a9706.js"></script>
1500
1501      <script>app.initialize({version:"1.1",url:{base:"."}})</script>
1502
1503        <script src="javascripts/extra.js"></script>
1504
1505
1506  </body>
1507</html>