• 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>Multiple Masters - 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="#multiple-masters" 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                Multiple Masters
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
403
404  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
405
406      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5" checked>
407
408    <label class="md-nav__link" for="nav-5">
409      Format-Specific API
410    </label>
411    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
412      <label class="md-nav__title" for="nav-5">
413        Format-Specific API
414      </label>
415      <ul class="md-nav__list" data-md-scrollfix>
416
417
418
419
420
421
422
423
424
425  <li class="md-nav__item md-nav__item--active">
426
427    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
428
429
430
431
432      <label class="md-nav__link md-nav__link--active" for="__toc">
433        Multiple Masters
434      </label>
435
436    <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link md-nav__link--active">
437      Multiple Masters
438    </a>
439
440
441<nav class="md-nav md-nav--secondary">
442
443
444
445
446
447    <label class="md-nav__title" for="__toc">Table of contents</label>
448    <ul class="md-nav__list" data-md-scrollfix>
449
450        <li class="md-nav__item">
451  <a href="#synopsis" class="md-nav__link">
452    Synopsis
453  </a>
454
455</li>
456
457        <li class="md-nav__item">
458  <a href="#ft_mm_axis" class="md-nav__link">
459    FT_MM_Axis
460  </a>
461
462</li>
463
464        <li class="md-nav__item">
465  <a href="#ft_multi_master" class="md-nav__link">
466    FT_Multi_Master
467  </a>
468
469</li>
470
471        <li class="md-nav__item">
472  <a href="#ft_var_axis" class="md-nav__link">
473    FT_Var_Axis
474  </a>
475
476</li>
477
478        <li class="md-nav__item">
479  <a href="#ft_var_named_style" class="md-nav__link">
480    FT_Var_Named_Style
481  </a>
482
483</li>
484
485        <li class="md-nav__item">
486  <a href="#ft_mm_var" class="md-nav__link">
487    FT_MM_Var
488  </a>
489
490</li>
491
492        <li class="md-nav__item">
493  <a href="#ft_get_multi_master" class="md-nav__link">
494    FT_Get_Multi_Master
495  </a>
496
497</li>
498
499        <li class="md-nav__item">
500  <a href="#ft_get_mm_var" class="md-nav__link">
501    FT_Get_MM_Var
502  </a>
503
504</li>
505
506        <li class="md-nav__item">
507  <a href="#ft_done_mm_var" class="md-nav__link">
508    FT_Done_MM_Var
509  </a>
510
511</li>
512
513        <li class="md-nav__item">
514  <a href="#ft_set_mm_design_coordinates" class="md-nav__link">
515    FT_Set_MM_Design_Coordinates
516  </a>
517
518</li>
519
520        <li class="md-nav__item">
521  <a href="#ft_set_var_design_coordinates" class="md-nav__link">
522    FT_Set_Var_Design_Coordinates
523  </a>
524
525</li>
526
527        <li class="md-nav__item">
528  <a href="#ft_get_var_design_coordinates" class="md-nav__link">
529    FT_Get_Var_Design_Coordinates
530  </a>
531
532</li>
533
534        <li class="md-nav__item">
535  <a href="#ft_set_mm_blend_coordinates" class="md-nav__link">
536    FT_Set_MM_Blend_Coordinates
537  </a>
538
539</li>
540
541        <li class="md-nav__item">
542  <a href="#ft_get_mm_blend_coordinates" class="md-nav__link">
543    FT_Get_MM_Blend_Coordinates
544  </a>
545
546</li>
547
548        <li class="md-nav__item">
549  <a href="#ft_set_var_blend_coordinates" class="md-nav__link">
550    FT_Set_Var_Blend_Coordinates
551  </a>
552
553</li>
554
555        <li class="md-nav__item">
556  <a href="#ft_get_var_blend_coordinates" class="md-nav__link">
557    FT_Get_Var_Blend_Coordinates
558  </a>
559
560</li>
561
562        <li class="md-nav__item">
563  <a href="#ft_set_mm_weightvector" class="md-nav__link">
564    FT_Set_MM_WeightVector
565  </a>
566
567</li>
568
569        <li class="md-nav__item">
570  <a href="#ft_get_mm_weightvector" class="md-nav__link">
571    FT_Get_MM_WeightVector
572  </a>
573
574</li>
575
576        <li class="md-nav__item">
577  <a href="#ft_var_axis_flag_xxx" class="md-nav__link">
578    FT_VAR_AXIS_FLAG_XXX
579  </a>
580
581</li>
582
583        <li class="md-nav__item">
584  <a href="#ft_get_var_axis_flags" class="md-nav__link">
585    FT_Get_Var_Axis_Flags
586  </a>
587
588</li>
589
590        <li class="md-nav__item">
591  <a href="#ft_set_named_instance" class="md-nav__link">
592    FT_Set_Named_Instance
593  </a>
594
595</li>
596
597
598
599
600
601    </ul>
602
603</nav>
604
605  </li>
606
607
608
609
610
611
612
613  <li class="md-nav__item">
614    <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
615      TrueType Tables
616    </a>
617  </li>
618
619
620
621
622
623
624
625  <li class="md-nav__item">
626    <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
627      Type 1 Tables
628    </a>
629  </li>
630
631
632
633
634
635
636
637  <li class="md-nav__item">
638    <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
639      SFNT Names
640    </a>
641  </li>
642
643
644
645
646
647
648
649  <li class="md-nav__item">
650    <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
651      BDF and PCF Files
652    </a>
653  </li>
654
655
656
657
658
659
660
661  <li class="md-nav__item">
662    <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
663      CID Fonts
664    </a>
665  </li>
666
667
668
669
670
671
672
673  <li class="md-nav__item">
674    <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
675      PFR Fonts
676    </a>
677  </li>
678
679
680
681
682
683
684
685  <li class="md-nav__item">
686    <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
687      Window FNT Files
688    </a>
689  </li>
690
691
692
693
694
695
696
697  <li class="md-nav__item">
698    <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
699      Font Formats
700    </a>
701  </li>
702
703
704
705
706
707
708
709  <li class="md-nav__item">
710    <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link">
711      Gasp Table
712    </a>
713  </li>
714
715
716      </ul>
717    </nav>
718  </li>
719
720
721
722
723
724
725
726  <li class="md-nav__item md-nav__item--nested">
727
728      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
729
730    <label class="md-nav__link" for="nav-6">
731      Controlling FreeType Modules
732    </label>
733    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
734      <label class="md-nav__title" for="nav-6">
735        Controlling FreeType Modules
736      </label>
737      <ul class="md-nav__list" data-md-scrollfix>
738
739
740
741
742
743
744
745  <li class="md-nav__item">
746    <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link">
747      The auto-hinter
748    </a>
749  </li>
750
751
752
753
754
755
756
757  <li class="md-nav__item">
758    <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link">
759      The CFF driver
760    </a>
761  </li>
762
763
764
765
766
767
768
769  <li class="md-nav__item">
770    <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
771      The Type 1 and CID drivers
772    </a>
773  </li>
774
775
776
777
778
779
780
781  <li class="md-nav__item">
782    <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
783      The TrueType driver
784    </a>
785  </li>
786
787
788
789
790
791
792
793  <li class="md-nav__item">
794    <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
795      The PCF driver
796    </a>
797  </li>
798
799
800
801
802
803
804
805  <li class="md-nav__item">
806    <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
807      Driver properties
808    </a>
809  </li>
810
811
812
813
814
815
816
817  <li class="md-nav__item">
818    <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
819      Parameter Tags
820    </a>
821  </li>
822
823
824
825
826
827
828
829  <li class="md-nav__item">
830    <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
831      Subpixel Rendering
832    </a>
833  </li>
834
835
836      </ul>
837    </nav>
838  </li>
839
840
841
842
843
844
845
846  <li class="md-nav__item md-nav__item--nested">
847
848      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
849
850    <label class="md-nav__link" for="nav-7">
851      Cache Sub-System
852    </label>
853    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
854      <label class="md-nav__title" for="nav-7">
855        Cache Sub-System
856      </label>
857      <ul class="md-nav__list" data-md-scrollfix>
858
859
860
861
862
863
864
865  <li class="md-nav__item">
866    <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
867      Cache Sub-System
868    </a>
869  </li>
870
871
872      </ul>
873    </nav>
874  </li>
875
876
877
878
879
880
881
882  <li class="md-nav__item md-nav__item--nested">
883
884      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
885
886    <label class="md-nav__link" for="nav-8">
887      Support API
888    </label>
889    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
890      <label class="md-nav__title" for="nav-8">
891        Support API
892      </label>
893      <ul class="md-nav__list" data-md-scrollfix>
894
895
896
897
898
899
900
901  <li class="md-nav__item">
902    <a href="ft2-computations.html" title="Computations" class="md-nav__link">
903      Computations
904    </a>
905  </li>
906
907
908
909
910
911
912
913  <li class="md-nav__item">
914    <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
915      List Processing
916    </a>
917  </li>
918
919
920
921
922
923
924
925  <li class="md-nav__item">
926    <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
927      Outline Processing
928    </a>
929  </li>
930
931
932
933
934
935
936
937  <li class="md-nav__item">
938    <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
939      Quick retrieval of advance values
940    </a>
941  </li>
942
943
944
945
946
947
948
949  <li class="md-nav__item">
950    <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
951      Bitmap Handling
952    </a>
953  </li>
954
955
956
957
958
959
960
961  <li class="md-nav__item">
962    <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
963      Scanline Converter
964    </a>
965  </li>
966
967
968
969
970
971
972
973  <li class="md-nav__item">
974    <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
975      Glyph Stroker
976    </a>
977  </li>
978
979
980
981
982
983
984
985  <li class="md-nav__item">
986    <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
987      System Interface
988    </a>
989  </li>
990
991
992
993
994
995
996
997  <li class="md-nav__item">
998    <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
999      Module Management
1000    </a>
1001  </li>
1002
1003
1004
1005
1006
1007
1008
1009  <li class="md-nav__item">
1010    <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
1011      GZIP Streams
1012    </a>
1013  </li>
1014
1015
1016
1017
1018
1019
1020
1021  <li class="md-nav__item">
1022    <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
1023      LZW Streams
1024    </a>
1025  </li>
1026
1027
1028
1029
1030
1031
1032
1033  <li class="md-nav__item">
1034    <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
1035      BZIP2 Streams
1036    </a>
1037  </li>
1038
1039
1040      </ul>
1041    </nav>
1042  </li>
1043
1044
1045
1046
1047
1048
1049
1050  <li class="md-nav__item md-nav__item--nested">
1051
1052      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
1053
1054    <label class="md-nav__link" for="nav-9">
1055      Error Codes
1056    </label>
1057    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1058      <label class="md-nav__title" for="nav-9">
1059        Error Codes
1060      </label>
1061      <ul class="md-nav__list" data-md-scrollfix>
1062
1063
1064
1065
1066
1067
1068
1069  <li class="md-nav__item">
1070    <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
1071      Error Enumerations
1072    </a>
1073  </li>
1074
1075
1076
1077
1078
1079
1080
1081  <li class="md-nav__item">
1082    <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
1083      Error Code Values
1084    </a>
1085  </li>
1086
1087
1088      </ul>
1089    </nav>
1090  </li>
1091
1092
1093
1094
1095
1096
1097
1098  <li class="md-nav__item md-nav__item--nested">
1099
1100      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
1101
1102    <label class="md-nav__link" for="nav-10">
1103      Miscellaneous
1104    </label>
1105    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1106      <label class="md-nav__title" for="nav-10">
1107        Miscellaneous
1108      </label>
1109      <ul class="md-nav__list" data-md-scrollfix>
1110
1111
1112
1113
1114
1115
1116
1117  <li class="md-nav__item">
1118    <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
1119      TrueTypeGX/AAT Validation
1120    </a>
1121  </li>
1122
1123
1124
1125
1126
1127
1128
1129  <li class="md-nav__item">
1130    <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
1131      Incremental Loading
1132    </a>
1133  </li>
1134
1135
1136
1137
1138
1139
1140
1141  <li class="md-nav__item">
1142    <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1143      The TrueType Engine
1144    </a>
1145  </li>
1146
1147
1148
1149
1150
1151
1152
1153  <li class="md-nav__item">
1154    <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1155      OpenType Validation
1156    </a>
1157  </li>
1158
1159
1160      </ul>
1161    </nav>
1162  </li>
1163
1164
1165  </ul>
1166</nav>
1167                  </div>
1168                </div>
1169              </div>
1170
1171
1172              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1173                <div class="md-sidebar__scrollwrap">
1174                  <div class="md-sidebar__inner">
1175
1176<nav class="md-nav md-nav--secondary">
1177
1178
1179
1180
1181
1182    <label class="md-nav__title" for="__toc">Table of contents</label>
1183    <ul class="md-nav__list" data-md-scrollfix>
1184
1185        <li class="md-nav__item">
1186  <a href="#synopsis" class="md-nav__link">
1187    Synopsis
1188  </a>
1189
1190</li>
1191
1192        <li class="md-nav__item">
1193  <a href="#ft_mm_axis" class="md-nav__link">
1194    FT_MM_Axis
1195  </a>
1196
1197</li>
1198
1199        <li class="md-nav__item">
1200  <a href="#ft_multi_master" class="md-nav__link">
1201    FT_Multi_Master
1202  </a>
1203
1204</li>
1205
1206        <li class="md-nav__item">
1207  <a href="#ft_var_axis" class="md-nav__link">
1208    FT_Var_Axis
1209  </a>
1210
1211</li>
1212
1213        <li class="md-nav__item">
1214  <a href="#ft_var_named_style" class="md-nav__link">
1215    FT_Var_Named_Style
1216  </a>
1217
1218</li>
1219
1220        <li class="md-nav__item">
1221  <a href="#ft_mm_var" class="md-nav__link">
1222    FT_MM_Var
1223  </a>
1224
1225</li>
1226
1227        <li class="md-nav__item">
1228  <a href="#ft_get_multi_master" class="md-nav__link">
1229    FT_Get_Multi_Master
1230  </a>
1231
1232</li>
1233
1234        <li class="md-nav__item">
1235  <a href="#ft_get_mm_var" class="md-nav__link">
1236    FT_Get_MM_Var
1237  </a>
1238
1239</li>
1240
1241        <li class="md-nav__item">
1242  <a href="#ft_done_mm_var" class="md-nav__link">
1243    FT_Done_MM_Var
1244  </a>
1245
1246</li>
1247
1248        <li class="md-nav__item">
1249  <a href="#ft_set_mm_design_coordinates" class="md-nav__link">
1250    FT_Set_MM_Design_Coordinates
1251  </a>
1252
1253</li>
1254
1255        <li class="md-nav__item">
1256  <a href="#ft_set_var_design_coordinates" class="md-nav__link">
1257    FT_Set_Var_Design_Coordinates
1258  </a>
1259
1260</li>
1261
1262        <li class="md-nav__item">
1263  <a href="#ft_get_var_design_coordinates" class="md-nav__link">
1264    FT_Get_Var_Design_Coordinates
1265  </a>
1266
1267</li>
1268
1269        <li class="md-nav__item">
1270  <a href="#ft_set_mm_blend_coordinates" class="md-nav__link">
1271    FT_Set_MM_Blend_Coordinates
1272  </a>
1273
1274</li>
1275
1276        <li class="md-nav__item">
1277  <a href="#ft_get_mm_blend_coordinates" class="md-nav__link">
1278    FT_Get_MM_Blend_Coordinates
1279  </a>
1280
1281</li>
1282
1283        <li class="md-nav__item">
1284  <a href="#ft_set_var_blend_coordinates" class="md-nav__link">
1285    FT_Set_Var_Blend_Coordinates
1286  </a>
1287
1288</li>
1289
1290        <li class="md-nav__item">
1291  <a href="#ft_get_var_blend_coordinates" class="md-nav__link">
1292    FT_Get_Var_Blend_Coordinates
1293  </a>
1294
1295</li>
1296
1297        <li class="md-nav__item">
1298  <a href="#ft_set_mm_weightvector" class="md-nav__link">
1299    FT_Set_MM_WeightVector
1300  </a>
1301
1302</li>
1303
1304        <li class="md-nav__item">
1305  <a href="#ft_get_mm_weightvector" class="md-nav__link">
1306    FT_Get_MM_WeightVector
1307  </a>
1308
1309</li>
1310
1311        <li class="md-nav__item">
1312  <a href="#ft_var_axis_flag_xxx" class="md-nav__link">
1313    FT_VAR_AXIS_FLAG_XXX
1314  </a>
1315
1316</li>
1317
1318        <li class="md-nav__item">
1319  <a href="#ft_get_var_axis_flags" class="md-nav__link">
1320    FT_Get_Var_Axis_Flags
1321  </a>
1322
1323</li>
1324
1325        <li class="md-nav__item">
1326  <a href="#ft_set_named_instance" class="md-nav__link">
1327    FT_Set_Named_Instance
1328  </a>
1329
1330</li>
1331
1332
1333
1334
1335
1336    </ul>
1337
1338</nav>
1339                  </div>
1340                </div>
1341              </div>
1342
1343
1344          <div class="md-content">
1345            <article class="md-content__inner md-typeset">
1346
1347
1348
1349                <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#format-specific-api">Format-Specific API</a> &raquo; Multiple Masters</p>
1350<hr />
1351<h1 id="multiple-masters">Multiple Masters<a class="headerlink" href="#multiple-masters" title="Permanent link">&para;</a></h1>
1352<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1353<p>The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.</p>
1354<p>Besides Adobe MM fonts, the interface supports Apple's TrueType GX and OpenType variation fonts. Some of the routines only work with Adobe MM fonts, others will work with all three types. They are similar enough that a consistent interface makes sense.</p>
1355<h2 id="ft_mm_axis">FT_MM_Axis<a class="headerlink" href="#ft_mm_axis" title="Permanent link">&para;</a></h2>
1356<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1357<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_MM_Axis_
1358  {
1359    <a href="ft2-basic_types.html#ft_string">FT_String</a>*  name;
1360    <a href="ft2-basic_types.html#ft_long">FT_Long</a>     minimum;
1361    <a href="ft2-basic_types.html#ft_long">FT_Long</a>     maximum;
1362
1363  } <b>FT_MM_Axis</b>;
1364</code></pre></div>
1365
1366<p>A structure to model a given axis in design space for Multiple Masters fonts.</p>
1367<p>This structure can't be used for TrueType GX or OpenType variation fonts.</p>
1368<h4>fields</h4>
1369
1370<table class="fields">
1371<tr><td class="val" id="name">name</td><td class="desc">
1372<p>The axis's name.</p>
1373</td></tr>
1374<tr><td class="val" id="minimum">minimum</td><td class="desc">
1375<p>The axis's minimum design coordinate.</p>
1376</td></tr>
1377<tr><td class="val" id="maximum">maximum</td><td class="desc">
1378<p>The axis's maximum design coordinate.</p>
1379</td></tr>
1380</table>
1381
1382<hr>
1383
1384<h2 id="ft_multi_master">FT_Multi_Master<a class="headerlink" href="#ft_multi_master" title="Permanent link">&para;</a></h2>
1385<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1386<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Multi_Master_
1387  {
1388    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>     num_axis;
1389    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>     num_designs;
1390    <a href="ft2-multiple_masters.html#ft_mm_axis">FT_MM_Axis</a>  axis[T1_MAX_MM_AXIS];
1391
1392  } <b>FT_Multi_Master</b>;
1393</code></pre></div>
1394
1395<p>A structure to model the axes and space of a Multiple Masters font.</p>
1396<p>This structure can't be used for TrueType GX or OpenType variation fonts.</p>
1397<h4>fields</h4>
1398
1399<table class="fields">
1400<tr><td class="val" id="num_axis">num_axis</td><td class="desc">
1401<p>Number of axes. Cannot exceed&nbsp;4.</p>
1402</td></tr>
1403<tr><td class="val" id="num_designs">num_designs</td><td class="desc">
1404<p>Number of designs; should be normally 2^num_axis even though the Type&nbsp;1 specification strangely allows for intermediate designs to be present. This number cannot exceed&nbsp;16.</p>
1405</td></tr>
1406<tr><td class="val" id="axis">axis</td><td class="desc">
1407<p>A table of axis descriptors.</p>
1408</td></tr>
1409</table>
1410
1411<hr>
1412
1413<h2 id="ft_var_axis">FT_Var_Axis<a class="headerlink" href="#ft_var_axis" title="Permanent link">&para;</a></h2>
1414<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1415<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Var_Axis_
1416  {
1417    <a href="ft2-basic_types.html#ft_string">FT_String</a>*  name;
1418
1419    <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>    minimum;
1420    <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>    def;
1421    <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>    maximum;
1422
1423    <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>    tag;
1424    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>     strid;
1425
1426  } <b>FT_Var_Axis</b>;
1427</code></pre></div>
1428
1429<p>A structure to model a given axis in design space for Multiple Masters, TrueType GX, and OpenType variation fonts.</p>
1430<h4>fields</h4>
1431
1432<table class="fields">
1433<tr><td class="val" id="name">name</td><td class="desc">
1434<p>The axis's name. Not always meaningful for TrueType GX or OpenType variation fonts.</p>
1435</td></tr>
1436<tr><td class="val" id="minimum">minimum</td><td class="desc">
1437<p>The axis's minimum design coordinate.</p>
1438</td></tr>
1439<tr><td class="val" id="def">def</td><td class="desc">
1440<p>The axis's default design coordinate. FreeType computes meaningful default values for Adobe MM fonts.</p>
1441</td></tr>
1442<tr><td class="val" id="maximum">maximum</td><td class="desc">
1443<p>The axis's maximum design coordinate.</p>
1444</td></tr>
1445<tr><td class="val" id="tag">tag</td><td class="desc">
1446<p>The axis's tag (the equivalent to &lsquo;name&rsquo; for TrueType GX and OpenType variation fonts). FreeType provides default values for Adobe MM fonts if possible.</p>
1447</td></tr>
1448<tr><td class="val" id="strid">strid</td><td class="desc">
1449<p>The axis name entry in the font's &lsquo;name&rsquo; table. This is another (and often better) version of the &lsquo;name&rsquo; field for TrueType GX or OpenType variation fonts. Not meaningful for Adobe MM fonts.</p>
1450</td></tr>
1451</table>
1452
1453<h4>note</h4>
1454
1455<p>The fields <code>minimum</code>, <code>def</code>, and <code>maximum</code> are 16.16 fractional values for TrueType GX and OpenType variation fonts. For Adobe MM fonts, the values are integers.</p>
1456<hr>
1457
1458<h2 id="ft_var_named_style">FT_Var_Named_Style<a class="headerlink" href="#ft_var_named_style" title="Permanent link">&para;</a></h2>
1459<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1460<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Var_Named_Style_
1461  {
1462    <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords;
1463    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    strid;
1464    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    psid;   /* since 2.7.1 */
1465
1466  } <b>FT_Var_Named_Style</b>;
1467</code></pre></div>
1468
1469<p>A structure to model a named instance in a TrueType GX or OpenType variation font.</p>
1470<p>This structure can't be used for Adobe MM fonts.</p>
1471<h4>fields</h4>
1472
1473<table class="fields">
1474<tr><td class="val" id="coords">coords</td><td class="desc">
1475<p>The design coordinates for this instance. This is an array with one entry for each axis.</p>
1476</td></tr>
1477<tr><td class="val" id="strid">strid</td><td class="desc">
1478<p>The entry in &lsquo;name&rsquo; table identifying this instance.</p>
1479</td></tr>
1480<tr><td class="val" id="psid">psid</td><td class="desc">
1481<p>The entry in &lsquo;name&rsquo; table identifying a PostScript name for this instance. Value 0xFFFF indicates a missing entry.</p>
1482</td></tr>
1483</table>
1484
1485<hr>
1486
1487<h2 id="ft_mm_var">FT_MM_Var<a class="headerlink" href="#ft_mm_var" title="Permanent link">&para;</a></h2>
1488<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1489<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_MM_Var_
1490  {
1491    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>              num_axis;
1492    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>              num_designs;
1493    <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>              num_namedstyles;
1494    <a href="ft2-multiple_masters.html#ft_var_axis">FT_Var_Axis</a>*         axis;
1495    <a href="ft2-multiple_masters.html#ft_var_named_style">FT_Var_Named_Style</a>*  namedstyle;
1496
1497  } <b>FT_MM_Var</b>;
1498</code></pre></div>
1499
1500<p>A structure to model the axes and space of an Adobe MM, TrueType GX, or OpenType variation font.</p>
1501<p>Some fields are specific to one format and not to the others.</p>
1502<h4>fields</h4>
1503
1504<table class="fields">
1505<tr><td class="val" id="num_axis">num_axis</td><td class="desc">
1506<p>The number of axes. The maximum value is&nbsp;4 for Adobe MM fonts; no limit in TrueType GX or OpenType variation fonts.</p>
1507</td></tr>
1508<tr><td class="val" id="num_designs">num_designs</td><td class="desc">
1509<p>The number of designs; should be normally 2^num_axis for Adobe MM fonts. Not meaningful for TrueType GX or OpenType variation fonts (where every glyph could have a different number of designs).</p>
1510</td></tr>
1511<tr><td class="val" id="num_namedstyles">num_namedstyles</td><td class="desc">
1512<p>The number of named styles; a &lsquo;named style&rsquo; is a tuple of design coordinates that has a string ID (in the &lsquo;name&rsquo; table) associated with it. The font can tell the user that, for example, [Weight=1.5,Width=1.1] is &lsquo;Bold&rsquo;. Another name for &lsquo;named style&rsquo; is &lsquo;named instance&rsquo;.</p>
1513<p>For Adobe Multiple Masters fonts, this value is always zero because the format does not support named styles.</p>
1514</td></tr>
1515<tr><td class="val" id="axis">axis</td><td class="desc">
1516<p>An axis descriptor table. TrueType GX and OpenType variation fonts contain slightly more data than Adobe MM fonts. Memory management of this pointer is done internally by FreeType.</p>
1517</td></tr>
1518<tr><td class="val" id="namedstyle">namedstyle</td><td class="desc">
1519<p>A named style (instance) table. Only meaningful for TrueType GX and OpenType variation fonts. Memory management of this pointer is done internally by FreeType.</p>
1520</td></tr>
1521</table>
1522
1523<hr>
1524
1525<h2 id="ft_get_multi_master">FT_Get_Multi_Master<a class="headerlink" href="#ft_get_multi_master" title="Permanent link">&para;</a></h2>
1526<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1527<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1528  <b>FT_Get_Multi_Master</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>           face,
1529                       <a href="ft2-multiple_masters.html#ft_multi_master">FT_Multi_Master</a>  *amaster );
1530</code></pre></div>
1531
1532<p>Retrieve a variation descriptor of a given Adobe MM font.</p>
1533<p>This function can't be used with TrueType GX or OpenType variation fonts.</p>
1534<h4>input</h4>
1535
1536<table class="fields">
1537<tr><td class="val" id="face">face</td><td class="desc">
1538<p>A handle to the source face.</p>
1539</td></tr>
1540</table>
1541
1542<h4>output</h4>
1543
1544<table class="fields">
1545<tr><td class="val" id="amaster">amaster</td><td class="desc">
1546<p>The Multiple Masters descriptor.</p>
1547</td></tr>
1548</table>
1549
1550<h4>return</h4>
1551
1552<p>FreeType error code. 0&nbsp;means success.</p>
1553<hr>
1554
1555<h2 id="ft_get_mm_var">FT_Get_MM_Var<a class="headerlink" href="#ft_get_mm_var" title="Permanent link">&para;</a></h2>
1556<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1557<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1558  <b>FT_Get_MM_Var</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>      face,
1559                 <a href="ft2-multiple_masters.html#ft_mm_var">FT_MM_Var</a>*  *amaster );
1560</code></pre></div>
1561
1562<p>Retrieve a variation descriptor for a given font.</p>
1563<p>This function works with all supported variation formats.</p>
1564<h4>input</h4>
1565
1566<table class="fields">
1567<tr><td class="val" id="face">face</td><td class="desc">
1568<p>A handle to the source face.</p>
1569</td></tr>
1570</table>
1571
1572<h4>output</h4>
1573
1574<table class="fields">
1575<tr><td class="val" id="amaster">amaster</td><td class="desc">
1576<p>The variation descriptor. Allocates a data structure, which the user must deallocate with a call to <code><a href="ft2-multiple_masters.html#ft_done_mm_var">FT_Done_MM_Var</a></code> after use.</p>
1577</td></tr>
1578</table>
1579
1580<h4>return</h4>
1581
1582<p>FreeType error code. 0&nbsp;means success.</p>
1583<hr>
1584
1585<h2 id="ft_done_mm_var">FT_Done_MM_Var<a class="headerlink" href="#ft_done_mm_var" title="Permanent link">&para;</a></h2>
1586<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1587<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1588  <b>FT_Done_MM_Var</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>   library,
1589                  <a href="ft2-multiple_masters.html#ft_mm_var">FT_MM_Var</a>   *amaster );
1590</code></pre></div>
1591
1592<p>Free the memory allocated by <code><a href="ft2-multiple_masters.html#ft_get_mm_var">FT_Get_MM_Var</a></code>.</p>
1593<h4>input</h4>
1594
1595<table class="fields">
1596<tr><td class="val" id="library">library</td><td class="desc">
1597<p>A handle of the face's parent library object that was used in the call to <code><a href="ft2-multiple_masters.html#ft_get_mm_var">FT_Get_MM_Var</a></code> to create <code>amaster</code>.</p>
1598</td></tr>
1599</table>
1600
1601<h4>return</h4>
1602
1603<p>FreeType error code. 0&nbsp;means success.</p>
1604<hr>
1605
1606<h2 id="ft_set_mm_design_coordinates">FT_Set_MM_Design_Coordinates<a class="headerlink" href="#ft_set_mm_design_coordinates" title="Permanent link">&para;</a></h2>
1607<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1608<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1609  <b>FT_Set_MM_Design_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>   face,
1610                                <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>   num_coords,
1611                                <a href="ft2-basic_types.html#ft_long">FT_Long</a>*  coords );
1612</code></pre></div>
1613
1614<p>For Adobe MM fonts, choose an interpolated font design through design coordinates.</p>
1615<p>This function can't be used with TrueType GX or OpenType variation fonts.</p>
1616<h4>inout</h4>
1617
1618<table class="fields">
1619<tr><td class="val" id="face">face</td><td class="desc">
1620<p>A handle to the source face.</p>
1621</td></tr>
1622</table>
1623
1624<h4>input</h4>
1625
1626<table class="fields">
1627<tr><td class="val" id="num_coords">num_coords</td><td class="desc">
1628<p>The number of available design coordinates. If it is larger than the number of axes, ignore the excess values. If it is smaller than the number of axes, use default values for the remaining axes.</p>
1629</td></tr>
1630<tr><td class="val" id="coords">coords</td><td class="desc">
1631<p>An array of design coordinates.</p>
1632</td></tr>
1633</table>
1634
1635<h4>return</h4>
1636
1637<p>FreeType error code. 0&nbsp;means success.</p>
1638<h4>note</h4>
1639
1640<p>[Since 2.8.1] To reset all axes to the default values, call the function with <code>num_coords</code> set to zero and <code>coords</code> set to <code>NULL</code>.</p>
1641<p>[Since 2.9] If <code>num_coords</code> is larger than zero, this function sets the <code><a href="ft2-base_interface.html#ft_face_flag_xxx">FT_FACE_FLAG_VARIATION</a></code> bit in <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code>'s <code>face_flags</code> field (i.e., <code><a href="ft2-base_interface.html#ft_is_variation">FT_IS_VARIATION</a></code> will return true). If <code>num_coords</code> is zero, this bit flag gets unset.</p>
1642<hr>
1643
1644<h2 id="ft_set_var_design_coordinates">FT_Set_Var_Design_Coordinates<a class="headerlink" href="#ft_set_var_design_coordinates" title="Permanent link">&para;</a></h2>
1645<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1646<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1647  <b>FT_Set_Var_Design_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1648                                 <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    num_coords,
1649                                 <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords );
1650</code></pre></div>
1651
1652<p>Choose an interpolated font design through design coordinates.</p>
1653<p>This function works with all supported variation formats.</p>
1654<h4>inout</h4>
1655
1656<table class="fields">
1657<tr><td class="val" id="face">face</td><td class="desc">
1658<p>A handle to the source face.</p>
1659</td></tr>
1660</table>
1661
1662<h4>input</h4>
1663
1664<table class="fields">
1665<tr><td class="val" id="num_coords">num_coords</td><td class="desc">
1666<p>The number of available design coordinates. If it is larger than the number of axes, ignore the excess values. If it is smaller than the number of axes, use default values for the remaining axes.</p>
1667</td></tr>
1668<tr><td class="val" id="coords">coords</td><td class="desc">
1669<p>An array of design coordinates.</p>
1670</td></tr>
1671</table>
1672
1673<h4>return</h4>
1674
1675<p>FreeType error code. 0&nbsp;means success.</p>
1676<h4>note</h4>
1677
1678<p>[Since 2.8.1] To reset all axes to the default values, call the function with <code>num_coords</code> set to zero and <code>coords</code> set to <code>NULL</code>. [Since 2.9] &lsquo;Default values&rsquo; means the currently selected named instance (or the base font if no named instance is selected).</p>
1679<p>[Since 2.9] If <code>num_coords</code> is larger than zero, this function sets the <code><a href="ft2-base_interface.html#ft_face_flag_xxx">FT_FACE_FLAG_VARIATION</a></code> bit in <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code>'s <code>face_flags</code> field (i.e., <code><a href="ft2-base_interface.html#ft_is_variation">FT_IS_VARIATION</a></code> will return true). If <code>num_coords</code> is zero, this bit flag gets unset.</p>
1680<hr>
1681
1682<h2 id="ft_get_var_design_coordinates">FT_Get_Var_Design_Coordinates<a class="headerlink" href="#ft_get_var_design_coordinates" title="Permanent link">&para;</a></h2>
1683<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1684<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1685  <b>FT_Get_Var_Design_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1686                                 <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    num_coords,
1687                                 <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords );
1688</code></pre></div>
1689
1690<p>Get the design coordinates of the currently selected interpolated font.</p>
1691<p>This function works with all supported variation formats.</p>
1692<h4>input</h4>
1693
1694<table class="fields">
1695<tr><td class="val" id="face">face</td><td class="desc">
1696<p>A handle to the source face.</p>
1697</td></tr>
1698<tr><td class="val" id="num_coords">num_coords</td><td class="desc">
1699<p>The number of design coordinates to retrieve. If it is larger than the number of axes, set the excess values to&nbsp;0.</p>
1700</td></tr>
1701</table>
1702
1703<h4>output</h4>
1704
1705<table class="fields">
1706<tr><td class="val" id="coords">coords</td><td class="desc">
1707<p>The design coordinates array.</p>
1708</td></tr>
1709</table>
1710
1711<h4>return</h4>
1712
1713<p>FreeType error code. 0&nbsp;means success.</p>
1714<h4>since</h4>
1715
1716<p>2.7.1</p>
1717<hr>
1718
1719<h2 id="ft_set_mm_blend_coordinates">FT_Set_MM_Blend_Coordinates<a class="headerlink" href="#ft_set_mm_blend_coordinates" title="Permanent link">&para;</a></h2>
1720<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1721<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1722  <b>FT_Set_MM_Blend_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1723                               <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    num_coords,
1724                               <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords );
1725</code></pre></div>
1726
1727<p>Choose an interpolated font design through normalized blend coordinates.</p>
1728<p>This function works with all supported variation formats.</p>
1729<h4>inout</h4>
1730
1731<table class="fields">
1732<tr><td class="val" id="face">face</td><td class="desc">
1733<p>A handle to the source face.</p>
1734</td></tr>
1735</table>
1736
1737<h4>input</h4>
1738
1739<table class="fields">
1740<tr><td class="val" id="num_coords">num_coords</td><td class="desc">
1741<p>The number of available design coordinates. If it is larger than the number of axes, ignore the excess values. If it is smaller than the number of axes, use default values for the remaining axes.</p>
1742</td></tr>
1743<tr><td class="val" id="coords">coords</td><td class="desc">
1744<p>The design coordinates array (each element must be between 0 and 1.0 for Adobe MM fonts, and between -1.0 and 1.0 for TrueType GX and OpenType variation fonts).</p>
1745</td></tr>
1746</table>
1747
1748<h4>return</h4>
1749
1750<p>FreeType error code. 0&nbsp;means success.</p>
1751<h4>note</h4>
1752
1753<p>[Since 2.8.1] To reset all axes to the default values, call the function with <code>num_coords</code> set to zero and <code>coords</code> set to <code>NULL</code>. [Since 2.9] &lsquo;Default values&rsquo; means the currently selected named instance (or the base font if no named instance is selected).</p>
1754<p>[Since 2.9] If <code>num_coords</code> is larger than zero, this function sets the <code><a href="ft2-base_interface.html#ft_face_flag_xxx">FT_FACE_FLAG_VARIATION</a></code> bit in <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code>'s <code>face_flags</code> field (i.e., <code><a href="ft2-base_interface.html#ft_is_variation">FT_IS_VARIATION</a></code> will return true). If <code>num_coords</code> is zero, this bit flag gets unset.</p>
1755<hr>
1756
1757<h2 id="ft_get_mm_blend_coordinates">FT_Get_MM_Blend_Coordinates<a class="headerlink" href="#ft_get_mm_blend_coordinates" title="Permanent link">&para;</a></h2>
1758<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1759<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1760  <b>FT_Get_MM_Blend_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1761                               <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    num_coords,
1762                               <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords );
1763</code></pre></div>
1764
1765<p>Get the normalized blend coordinates of the currently selected interpolated font.</p>
1766<p>This function works with all supported variation formats.</p>
1767<h4>input</h4>
1768
1769<table class="fields">
1770<tr><td class="val" id="face">face</td><td class="desc">
1771<p>A handle to the source face.</p>
1772</td></tr>
1773<tr><td class="val" id="num_coords">num_coords</td><td class="desc">
1774<p>The number of normalized blend coordinates to retrieve. If it is larger than the number of axes, set the excess values to&nbsp;0.5 for Adobe MM fonts, and to&nbsp;0 for TrueType GX and OpenType variation fonts.</p>
1775</td></tr>
1776</table>
1777
1778<h4>output</h4>
1779
1780<table class="fields">
1781<tr><td class="val" id="coords">coords</td><td class="desc">
1782<p>The normalized blend coordinates array.</p>
1783</td></tr>
1784</table>
1785
1786<h4>return</h4>
1787
1788<p>FreeType error code. 0&nbsp;means success.</p>
1789<h4>since</h4>
1790
1791<p>2.7.1</p>
1792<hr>
1793
1794<h2 id="ft_set_var_blend_coordinates">FT_Set_Var_Blend_Coordinates<a class="headerlink" href="#ft_set_var_blend_coordinates" title="Permanent link">&para;</a></h2>
1795<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1796<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1797  <b>FT_Set_Var_Blend_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1798                                <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    num_coords,
1799                                <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords );
1800</code></pre></div>
1801
1802<p>This is another name of <code><a href="ft2-multiple_masters.html#ft_set_mm_blend_coordinates">FT_Set_MM_Blend_Coordinates</a></code>.</p>
1803<hr>
1804
1805<h2 id="ft_get_var_blend_coordinates">FT_Get_Var_Blend_Coordinates<a class="headerlink" href="#ft_get_var_blend_coordinates" title="Permanent link">&para;</a></h2>
1806<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1807<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1808  <b>FT_Get_Var_Blend_Coordinates</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1809                                <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    num_coords,
1810                                <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  coords );
1811</code></pre></div>
1812
1813<p>This is another name of <code><a href="ft2-multiple_masters.html#ft_get_mm_blend_coordinates">FT_Get_MM_Blend_Coordinates</a></code>.</p>
1814<h4>since</h4>
1815
1816<p>2.7.1</p>
1817<hr>
1818
1819<h2 id="ft_set_mm_weightvector">FT_Set_MM_WeightVector<a class="headerlink" href="#ft_set_mm_weightvector" title="Permanent link">&para;</a></h2>
1820<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1821<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1822  <b>FT_Set_MM_WeightVector</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1823                          <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    len,
1824                          <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  weightvector );
1825</code></pre></div>
1826
1827<p>For Adobe MM fonts, choose an interpolated font design by directly setting the weight vector.</p>
1828<p>This function can't be used with TrueType GX or OpenType variation fonts.</p>
1829<h4>inout</h4>
1830
1831<table class="fields">
1832<tr><td class="val" id="face">face</td><td class="desc">
1833<p>A handle to the source face.</p>
1834</td></tr>
1835</table>
1836
1837<h4>input</h4>
1838
1839<table class="fields">
1840<tr><td class="val" id="len">len</td><td class="desc">
1841<p>The length of the weight vector array. If it is larger than the number of designs, the extra values are ignored. If it is less than the number of designs, the remaining values are set to zero.</p>
1842</td></tr>
1843<tr><td class="val" id="weightvector">weightvector</td><td class="desc">
1844<p>An array representing the weight vector.</p>
1845</td></tr>
1846</table>
1847
1848<h4>return</h4>
1849
1850<p>FreeType error code. 0&nbsp;means success.</p>
1851<h4>note</h4>
1852
1853<p>Adobe Multiple Master fonts limit the number of designs, and thus the length of the weight vector to&nbsp;16.</p>
1854<p>If <code>len</code> is zero and <code>weightvector</code> is <code>NULL</code>, the weight vector array is reset to the default values.</p>
1855<p>The Adobe documentation also states that the values in the WeightVector array must total 1.0 &plusmn;&nbsp;0.001. In practice this does not seem to be enforced, so is not enforced here, either.</p>
1856<h4>since</h4>
1857
1858<p>2.10</p>
1859<hr>
1860
1861<h2 id="ft_get_mm_weightvector">FT_Get_MM_WeightVector<a class="headerlink" href="#ft_get_mm_weightvector" title="Permanent link">&para;</a></h2>
1862<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1863<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1864  <b>FT_Get_MM_WeightVector</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>    face,
1865                          <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>*   len,
1866                          <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>*  weightvector );
1867</code></pre></div>
1868
1869<p>For Adobe MM fonts, retrieve the current weight vector of the font.</p>
1870<p>This function can't be used with TrueType GX or OpenType variation fonts.</p>
1871<h4>inout</h4>
1872
1873<table class="fields">
1874<tr><td class="val" id="face">face</td><td class="desc">
1875<p>A handle to the source face.</p>
1876</td></tr>
1877<tr><td class="val" id="len">len</td><td class="desc">
1878<p>A pointer to the size of the array to be filled. If the size of the array is less than the number of designs, <code>FT_Err_Invalid_Argument</code> is returned, and <code>len</code> is set to the required size (the number of designs). If the size of the array is greater than the number of designs, the remaining entries are set to&nbsp;0. On successful completion, <code>len</code> is set to the number of designs (i.e., the number of values written to the array).</p>
1879</td></tr>
1880</table>
1881
1882<h4>output</h4>
1883
1884<table class="fields">
1885<tr><td class="val" id="weightvector">weightvector</td><td class="desc">
1886<p>An array to be filled.</p>
1887</td></tr>
1888</table>
1889
1890<h4>return</h4>
1891
1892<p>FreeType error code. 0&nbsp;means success.</p>
1893<h4>note</h4>
1894
1895<p>Adobe Multiple Master fonts limit the number of designs, and thus the length of the WeightVector to&nbsp;16.</p>
1896<h4>since</h4>
1897
1898<p>2.10</p>
1899<hr>
1900
1901<h2 id="ft_var_axis_flag_xxx">FT_VAR_AXIS_FLAG_XXX<a class="headerlink" href="#ft_var_axis_flag_xxx" title="Permanent link">&para;</a></h2>
1902<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1903<div class = "codehilite"><pre><code>#<span class="keyword">define</span> <a href="ft2-multiple_masters.html#ft_var_axis_flag_hidden">FT_VAR_AXIS_FLAG_HIDDEN</a>  1
1904</code></pre></div>
1905
1906<p>A list of bit flags used in the return value of <code><a href="ft2-multiple_masters.html#ft_get_var_axis_flags">FT_Get_Var_Axis_Flags</a></code>.</p>
1907<h4>values</h4>
1908
1909<table class="fields">
1910<tr><td class="val" id="ft_var_axis_flag_hidden">FT_VAR_AXIS_FLAG_HIDDEN</td><td class="desc">
1911<p>The variation axis should not be exposed to user interfaces.</p>
1912</td></tr>
1913</table>
1914
1915<h4>since</h4>
1916
1917<p>2.8.1</p>
1918<hr>
1919
1920<h2 id="ft_get_var_axis_flags">FT_Get_Var_Axis_Flags<a class="headerlink" href="#ft_get_var_axis_flags" title="Permanent link">&para;</a></h2>
1921<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1922<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1923  <b>FT_Get_Var_Axis_Flags</b>( <a href="ft2-multiple_masters.html#ft_mm_var">FT_MM_Var</a>*  master,
1924                         <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>     axis_index,
1925                         <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>*    flags );
1926</code></pre></div>
1927
1928<p>Get the &lsquo;flags&rsquo; field of an OpenType Variation Axis Record.</p>
1929<p>Not meaningful for Adobe MM fonts (<code>*flags</code> is always zero).</p>
1930<h4>input</h4>
1931
1932<table class="fields">
1933<tr><td class="val" id="master">master</td><td class="desc">
1934<p>The variation descriptor.</p>
1935</td></tr>
1936<tr><td class="val" id="axis_index">axis_index</td><td class="desc">
1937<p>The index of the requested variation axis.</p>
1938</td></tr>
1939</table>
1940
1941<h4>output</h4>
1942
1943<table class="fields">
1944<tr><td class="val" id="flags">flags</td><td class="desc">
1945<p>The &lsquo;flags&rsquo; field. See <code><a href="ft2-multiple_masters.html#ft_var_axis_flag_xxx">FT_VAR_AXIS_FLAG_XXX</a></code> for possible values.</p>
1946</td></tr>
1947</table>
1948
1949<h4>return</h4>
1950
1951<p>FreeType error code. 0&nbsp;means success.</p>
1952<h4>since</h4>
1953
1954<p>2.8.1</p>
1955<hr>
1956
1957<h2 id="ft_set_named_instance">FT_Set_Named_Instance<a class="headerlink" href="#ft_set_named_instance" title="Permanent link">&para;</a></h2>
1958<p>Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).</p>
1959<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1960  <b>FT_Set_Named_Instance</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a>  face,
1961                         <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>  instance_index );
1962</code></pre></div>
1963
1964<p>Set or change the current named instance.</p>
1965<h4>input</h4>
1966
1967<table class="fields">
1968<tr><td class="val" id="face">face</td><td class="desc">
1969<p>A handle to the source face.</p>
1970</td></tr>
1971<tr><td class="val" id="instance_index">instance_index</td><td class="desc">
1972<p>The index of the requested instance, starting with value 1. If set to value 0, FreeType switches to font access without a named instance.</p>
1973</td></tr>
1974</table>
1975
1976<h4>return</h4>
1977
1978<p>FreeType error code. 0&nbsp;means success.</p>
1979<h4>note</h4>
1980
1981<p>The function uses the value of <code>instance_index</code> to set bits 16-30 of the face's <code>face_index</code> field. It also resets any variation applied to the font, and the <code><a href="ft2-base_interface.html#ft_face_flag_xxx">FT_FACE_FLAG_VARIATION</a></code> bit of the face's <code>face_flags</code> field gets reset to zero (i.e., <code><a href="ft2-base_interface.html#ft_is_variation">FT_IS_VARIATION</a></code> will return false).</p>
1982<p>For Adobe MM fonts (which don't have named instances) this function simply resets the current face to the default instance.</p>
1983<h4>since</h4>
1984
1985<p>2.9</p>
1986<hr>
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997            </article>
1998          </div>
1999        </div>
2000      </main>
2001
2002
2003<footer class="md-footer">
2004
2005    <div class="md-footer-nav">
2006      <nav class="md-footer-nav__inner md-grid">
2007
2008          <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
2009            <div class="md-flex__cell md-flex__cell--shrink">
2010              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
2011            </div>
2012            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
2013              <span class="md-flex__ellipsis">
2014                <span class="md-footer-nav__direction">
2015                  Previous
2016                </span>
2017                Header File Macros
2018              </span>
2019            </div>
2020          </a>
2021
2022
2023          <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
2024            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
2025              <span class="md-flex__ellipsis">
2026                <span class="md-footer-nav__direction">
2027                  Next
2028                </span>
2029                TrueType Tables
2030              </span>
2031            </div>
2032            <div class="md-flex__cell md-flex__cell--shrink">
2033              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
2034            </div>
2035          </a>
2036
2037      </nav>
2038    </div>
2039
2040  <div class="md-footer-meta md-typeset">
2041    <div class="md-footer-meta__inner md-grid">
2042      <div class="md-footer-copyright">
2043
2044          <div class="md-footer-copyright__highlight">
2045            Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
2046          </div>
2047
2048        powered by
2049        <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
2050        and
2051        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2052          Material for MkDocs</a>
2053      </div>
2054
2055    </div>
2056  </div>
2057</footer>
2058
2059    </div>
2060
2061      <script src="assets/javascripts/application.c33a9706.js"></script>
2062
2063      <script>app.initialize({version:"1.1",url:{base:"."}})</script>
2064
2065        <script src="javascripts/extra.js"></script>
2066
2067
2068  </body>
2069</html>