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>Error Enumerations - 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="#error-enumerations" 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 Error Enumerations 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 <li class="md-nav__item md-nav__item--nested"> 403 404 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5"> 405 406 <label class="md-nav__link" for="nav-5"> 407 Format-Specific API 408 </label> 409 <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> 410 <label class="md-nav__title" for="nav-5"> 411 Format-Specific API 412 </label> 413 <ul class="md-nav__list" data-md-scrollfix> 414 415 416 417 418 419 420 421 <li class="md-nav__item"> 422 <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link"> 423 Multiple Masters 424 </a> 425 </li> 426 427 428 429 430 431 432 433 <li class="md-nav__item"> 434 <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link"> 435 TrueType Tables 436 </a> 437 </li> 438 439 440 441 442 443 444 445 <li class="md-nav__item"> 446 <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link"> 447 Type 1 Tables 448 </a> 449 </li> 450 451 452 453 454 455 456 457 <li class="md-nav__item"> 458 <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link"> 459 SFNT Names 460 </a> 461 </li> 462 463 464 465 466 467 468 469 <li class="md-nav__item"> 470 <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link"> 471 BDF and PCF Files 472 </a> 473 </li> 474 475 476 477 478 479 480 481 <li class="md-nav__item"> 482 <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link"> 483 CID Fonts 484 </a> 485 </li> 486 487 488 489 490 491 492 493 <li class="md-nav__item"> 494 <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link"> 495 PFR Fonts 496 </a> 497 </li> 498 499 500 501 502 503 504 505 <li class="md-nav__item"> 506 <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link"> 507 Window FNT Files 508 </a> 509 </li> 510 511 512 513 514 515 516 517 <li class="md-nav__item"> 518 <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link"> 519 Font Formats 520 </a> 521 </li> 522 523 524 525 526 527 528 529 <li class="md-nav__item"> 530 <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link"> 531 Gasp Table 532 </a> 533 </li> 534 535 536 </ul> 537 </nav> 538 </li> 539 540 541 542 543 544 545 546 <li class="md-nav__item md-nav__item--nested"> 547 548 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6"> 549 550 <label class="md-nav__link" for="nav-6"> 551 Controlling FreeType Modules 552 </label> 553 <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> 554 <label class="md-nav__title" for="nav-6"> 555 Controlling FreeType Modules 556 </label> 557 <ul class="md-nav__list" data-md-scrollfix> 558 559 560 561 562 563 564 565 <li class="md-nav__item"> 566 <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link"> 567 The auto-hinter 568 </a> 569 </li> 570 571 572 573 574 575 576 577 <li class="md-nav__item"> 578 <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link"> 579 The CFF driver 580 </a> 581 </li> 582 583 584 585 586 587 588 589 <li class="md-nav__item"> 590 <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link"> 591 The Type 1 and CID drivers 592 </a> 593 </li> 594 595 596 597 598 599 600 601 <li class="md-nav__item"> 602 <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link"> 603 The TrueType driver 604 </a> 605 </li> 606 607 608 609 610 611 612 613 <li class="md-nav__item"> 614 <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link"> 615 The PCF driver 616 </a> 617 </li> 618 619 620 621 622 623 624 625 <li class="md-nav__item"> 626 <a href="ft2-properties.html" title="Driver properties" class="md-nav__link"> 627 Driver properties 628 </a> 629 </li> 630 631 632 633 634 635 636 637 <li class="md-nav__item"> 638 <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link"> 639 Parameter Tags 640 </a> 641 </li> 642 643 644 645 646 647 648 649 <li class="md-nav__item"> 650 <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link"> 651 Subpixel Rendering 652 </a> 653 </li> 654 655 656 </ul> 657 </nav> 658 </li> 659 660 661 662 663 664 665 666 <li class="md-nav__item md-nav__item--nested"> 667 668 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7"> 669 670 <label class="md-nav__link" for="nav-7"> 671 Cache Sub-System 672 </label> 673 <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> 674 <label class="md-nav__title" for="nav-7"> 675 Cache Sub-System 676 </label> 677 <ul class="md-nav__list" data-md-scrollfix> 678 679 680 681 682 683 684 685 <li class="md-nav__item"> 686 <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link"> 687 Cache Sub-System 688 </a> 689 </li> 690 691 692 </ul> 693 </nav> 694 </li> 695 696 697 698 699 700 701 702 <li class="md-nav__item md-nav__item--nested"> 703 704 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8"> 705 706 <label class="md-nav__link" for="nav-8"> 707 Support API 708 </label> 709 <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> 710 <label class="md-nav__title" for="nav-8"> 711 Support API 712 </label> 713 <ul class="md-nav__list" data-md-scrollfix> 714 715 716 717 718 719 720 721 <li class="md-nav__item"> 722 <a href="ft2-computations.html" title="Computations" class="md-nav__link"> 723 Computations 724 </a> 725 </li> 726 727 728 729 730 731 732 733 <li class="md-nav__item"> 734 <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link"> 735 List Processing 736 </a> 737 </li> 738 739 740 741 742 743 744 745 <li class="md-nav__item"> 746 <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link"> 747 Outline Processing 748 </a> 749 </li> 750 751 752 753 754 755 756 757 <li class="md-nav__item"> 758 <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link"> 759 Quick retrieval of advance values 760 </a> 761 </li> 762 763 764 765 766 767 768 769 <li class="md-nav__item"> 770 <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link"> 771 Bitmap Handling 772 </a> 773 </li> 774 775 776 777 778 779 780 781 <li class="md-nav__item"> 782 <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link"> 783 Scanline Converter 784 </a> 785 </li> 786 787 788 789 790 791 792 793 <li class="md-nav__item"> 794 <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link"> 795 Glyph Stroker 796 </a> 797 </li> 798 799 800 801 802 803 804 805 <li class="md-nav__item"> 806 <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link"> 807 System Interface 808 </a> 809 </li> 810 811 812 813 814 815 816 817 <li class="md-nav__item"> 818 <a href="ft2-module_management.html" title="Module Management" class="md-nav__link"> 819 Module Management 820 </a> 821 </li> 822 823 824 825 826 827 828 829 <li class="md-nav__item"> 830 <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link"> 831 GZIP Streams 832 </a> 833 </li> 834 835 836 837 838 839 840 841 <li class="md-nav__item"> 842 <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link"> 843 LZW Streams 844 </a> 845 </li> 846 847 848 849 850 851 852 853 <li class="md-nav__item"> 854 <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link"> 855 BZIP2 Streams 856 </a> 857 </li> 858 859 860 </ul> 861 </nav> 862 </li> 863 864 865 866 867 868 869 870 871 872 <li class="md-nav__item md-nav__item--active md-nav__item--nested"> 873 874 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9" checked> 875 876 <label class="md-nav__link" for="nav-9"> 877 Error Codes 878 </label> 879 <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> 880 <label class="md-nav__title" for="nav-9"> 881 Error Codes 882 </label> 883 <ul class="md-nav__list" data-md-scrollfix> 884 885 886 887 888 889 890 891 892 893 <li class="md-nav__item md-nav__item--active"> 894 895 <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc"> 896 897 898 899 900 <label class="md-nav__link md-nav__link--active" for="__toc"> 901 Error Enumerations 902 </label> 903 904 <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link md-nav__link--active"> 905 Error Enumerations 906 </a> 907 908 909<nav class="md-nav md-nav--secondary"> 910 911 912 913 914 915 <label class="md-nav__title" for="__toc">Table of contents</label> 916 <ul class="md-nav__list" data-md-scrollfix> 917 918 <li class="md-nav__item"> 919 <a href="#synopsis" class="md-nav__link"> 920 Synopsis 921 </a> 922 923</li> 924 925 <li class="md-nav__item"> 926 <a href="#ft_error_string" class="md-nav__link"> 927 FT_Error_String 928 </a> 929 930</li> 931 932 933 934 935 936 </ul> 937 938</nav> 939 940 </li> 941 942 943 944 945 946 947 948 <li class="md-nav__item"> 949 <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link"> 950 Error Code Values 951 </a> 952 </li> 953 954 955 </ul> 956 </nav> 957 </li> 958 959 960 961 962 963 964 965 <li class="md-nav__item md-nav__item--nested"> 966 967 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10"> 968 969 <label class="md-nav__link" for="nav-10"> 970 Miscellaneous 971 </label> 972 <nav class="md-nav" data-md-component="collapsible" data-md-level="1"> 973 <label class="md-nav__title" for="nav-10"> 974 Miscellaneous 975 </label> 976 <ul class="md-nav__list" data-md-scrollfix> 977 978 979 980 981 982 983 984 <li class="md-nav__item"> 985 <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link"> 986 TrueTypeGX/AAT Validation 987 </a> 988 </li> 989 990 991 992 993 994 995 996 <li class="md-nav__item"> 997 <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link"> 998 Incremental Loading 999 </a> 1000 </li> 1001 1002 1003 1004 1005 1006 1007 1008 <li class="md-nav__item"> 1009 <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link"> 1010 The TrueType Engine 1011 </a> 1012 </li> 1013 1014 1015 1016 1017 1018 1019 1020 <li class="md-nav__item"> 1021 <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link"> 1022 OpenType Validation 1023 </a> 1024 </li> 1025 1026 1027 </ul> 1028 </nav> 1029 </li> 1030 1031 1032 </ul> 1033</nav> 1034 </div> 1035 </div> 1036 </div> 1037 1038 1039 <div class="md-sidebar md-sidebar--secondary" data-md-component="toc"> 1040 <div class="md-sidebar__scrollwrap"> 1041 <div class="md-sidebar__inner"> 1042 1043<nav class="md-nav md-nav--secondary"> 1044 1045 1046 1047 1048 1049 <label class="md-nav__title" for="__toc">Table of contents</label> 1050 <ul class="md-nav__list" data-md-scrollfix> 1051 1052 <li class="md-nav__item"> 1053 <a href="#synopsis" class="md-nav__link"> 1054 Synopsis 1055 </a> 1056 1057</li> 1058 1059 <li class="md-nav__item"> 1060 <a href="#ft_error_string" class="md-nav__link"> 1061 FT_Error_String 1062 </a> 1063 1064</li> 1065 1066 1067 1068 1069 1070 </ul> 1071 1072</nav> 1073 </div> 1074 </div> 1075 </div> 1076 1077 1078 <div class="md-content"> 1079 <article class="md-content__inner md-typeset"> 1080 1081 1082 1083 <p><a href="https://www.freetype.org">FreeType</a> » <a href="../">Docs</a> » <a href="index.html#error-codes">Error Codes</a> » Error Enumerations</p> 1084<hr /> 1085<h1 id="error-enumerations">Error Enumerations<a class="headerlink" href="#error-enumerations" title="Permanent link">¶</a></h1> 1086<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">¶</a></h2> 1087<p>The header file <code>fterrors.h</code> (which is automatically included by <code>freetype.h</code> defines the handling of FreeType's enumeration constants. It can also be used to generate error message strings with a small macro trick explained below.</p> 1088<p><strong>Error Formats</strong></p> 1089<p>The configuration macro <code>FT_CONFIG_OPTION_USE_MODULE_ERRORS</code> can be defined in <code>ftoption.h</code> in order to make the higher byte indicate the module where the error has happened (this is not compatible with standard builds of FreeType 2, however). See the file <code>ftmoderr.h</code> for more details.</p> 1090<p><strong>Error Message Strings</strong></p> 1091<p>Error definitions are set up with special macros that allow client applications to build a table of error message strings. The strings are not included in a normal build of FreeType 2 to save space (most client applications do not use them).</p> 1092<p>To do so, you have to define the following macros before including this file. 1093<div class="highlight"><pre><span></span><code> FT_ERROR_START_LIST 1094</code></pre></div></p> 1095<p>This macro is called before anything else to define the start of the error list. It is followed by several <code>FT_ERROR_DEF</code> calls. 1096<div class="highlight"><pre><span></span><code> FT_ERROR_DEF( e, v, s ) 1097</code></pre></div></p> 1098<p>This macro is called to define one single error. ‘e’ is the error code identifier (e.g., <code>Invalid_Argument</code>), ‘v’ is the error's numerical value, and ‘s’ is the corresponding error string. 1099<div class="highlight"><pre><span></span><code> FT_ERROR_END_LIST 1100</code></pre></div></p> 1101<p>This macro ends the list.</p> 1102<p>Additionally, you have to undefine <code>FTERRORS_H_</code> before #including this file.</p> 1103<p>Here is a simple example. 1104<div class="highlight"><pre><span></span><code> #undef FTERRORS_H_ 1105 #define FT_ERRORDEF( e, v, s ) { e, s }, 1106 #define FT_ERROR_START_LIST { 1107 #define FT_ERROR_END_LIST { 0, NULL } }; 1108 1109 const struct 1110 { 1111 int err_code; 1112 const char* err_msg; 1113 } ft_errors[] = 1114 1115 #include <freetype/fterrors.h> 1116</code></pre></div></p> 1117<p>An alternative to using an array is a switch statement. 1118<div class="highlight"><pre><span></span><code> #undef FTERRORS_H_ 1119 #define FT_ERROR_START_LIST switch ( error_code ) { 1120 #define FT_ERRORDEF( e, v, s ) case v: return s; 1121 #define FT_ERROR_END_LIST } 1122</code></pre></div></p> 1123<p>If you use <code>FT_CONFIG_OPTION_USE_MODULE_ERRORS</code>, <code>error_code</code> should be replaced with <code>FT_ERROR_BASE(error_code)</code> in the last example.</p> 1124<h2 id="ft_error_string">FT_Error_String<a class="headerlink" href="#ft_error_string" title="Permanent link">¶</a></h2> 1125<p>Defined in FT_ERRORS_H (freetype/fterrors.h).</p> 1126<div class = "codehilite"><pre><code> FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) 1127 <b>FT_Error_String</b>( <a href="ft2-basic_types.html#ft_error">FT_Error</a> error_code ); 1128 1129FT_END_HEADER 1130 1131 1132#<span class="keyword">endif</span> /* FT_ERR_PROTOS_DEFINED */ 1133 1134#<span class="keyword">endif</span> /* FT_INCLUDE_ERR_PROTOS */ 1135 1136#<span class="keyword">endif</span> /* !(FTERRORS_H_ && __FTERRORS_H__) */ 1137 1138 1139/* END */ 1140</code></pre></div> 1141 1142<p>Retrieve the description of a valid FreeType error code.</p> 1143<h4>input</h4> 1144 1145<table class="fields"> 1146<tr><td class="val" id="error_code">error_code</td><td class="desc"> 1147<p>A valid FreeType error code.</p> 1148</td></tr> 1149</table> 1150 1151<h4>return</h4> 1152 1153<p>A C string or <code>NULL</code>, if any error occurred.</p> 1154<h4>note</h4> 1155 1156<p>FreeType has to be compiled with <code>FT_CONFIG_OPTION_ERROR_STRINGS</code> or <code>FT_DEBUG_LEVEL_ERROR</code> to get meaningful descriptions. ‘error_string’ will be <code>NULL</code> otherwise.</p> 1157<p>Module identification will be ignored: 1158<div class="highlight"><pre><span></span><code> <span class="n">strcmp</span><span class="p">(</span> <span class="n">FT_Error_String</span><span class="p">(</span> <span class="n">FT_Err_Unknown_File_Format</span> <span class="p">),</span> 1159 <span class="n">FT_Error_String</span><span class="p">(</span> <span class="n">BDF_Err_Unknown_File_Format</span> <span class="p">)</span> <span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span> 1160</code></pre></div></p> 1161<hr> 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 </article> 1173 </div> 1174 </div> 1175 </main> 1176 1177 1178<footer class="md-footer"> 1179 1180 <div class="md-footer-nav"> 1181 <nav class="md-footer-nav__inner md-grid"> 1182 1183 <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev"> 1184 <div class="md-flex__cell md-flex__cell--shrink"> 1185 <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> 1186 </div> 1187 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> 1188 <span class="md-flex__ellipsis"> 1189 <span class="md-footer-nav__direction"> 1190 Previous 1191 </span> 1192 BZIP2 Streams 1193 </span> 1194 </div> 1195 </a> 1196 1197 1198 <a href="ft2-error_code_values.html" title="Error Code Values" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next"> 1199 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> 1200 <span class="md-flex__ellipsis"> 1201 <span class="md-footer-nav__direction"> 1202 Next 1203 </span> 1204 Error Code Values 1205 </span> 1206 </div> 1207 <div class="md-flex__cell md-flex__cell--shrink"> 1208 <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> 1209 </div> 1210 </a> 1211 1212 </nav> 1213 </div> 1214 1215 <div class="md-footer-meta md-typeset"> 1216 <div class="md-footer-meta__inner md-grid"> 1217 <div class="md-footer-copyright"> 1218 1219 <div class="md-footer-copyright__highlight"> 1220 Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>. 1221 </div> 1222 1223 powered by 1224 <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a> 1225 and 1226 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> 1227 Material for MkDocs</a> 1228 </div> 1229 1230 </div> 1231 </div> 1232</footer> 1233 1234 </div> 1235 1236 <script src="assets/javascripts/application.c33a9706.js"></script> 1237 1238 <script>app.initialize({version:"1.1",url:{base:"."}})</script> 1239 1240 <script src="javascripts/extra.js"></script> 1241 1242 1243 </body> 1244</html>