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  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> » <a href="../">Docs</a> » <a href="index.html#format-specific-api">Format-Specific API</a> » Multiple Masters</p> 1350<hr /> 1351<h1 id="multiple-masters">Multiple Masters<a class="headerlink" href="#multiple-masters" title="Permanent link">¶</a></h1> 1352<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">¶</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">¶</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">¶</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 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 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 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">¶</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 ‘name’ 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 ‘name’ table. This is another (and often better) version of the ‘name’ 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">¶</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 ‘name’ 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 ‘name’ 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">¶</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 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 ‘named style’ is a tuple of design coordinates that has a string ID (in the ‘name’ table) associated with it. The font can tell the user that, for example, [Weight=1.5,Width=1.1] is ‘Bold’. Another name for ‘named style’ is ‘named instance’.</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">¶</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 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">¶</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 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">¶</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 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">¶</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 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">¶</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 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] ‘Default values’ 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">¶</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 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 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">¶</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 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] ‘Default values’ 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">¶</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 0.5 for Adobe MM fonts, and to 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 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">¶</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">¶</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">¶</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 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 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 ± 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">¶</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 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 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 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">¶</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">¶</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 ‘flags’ 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 ‘flags’ 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 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">¶</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 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>