• 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>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        &#xE5CD;
136      </button>
137    </form>
138    <div class="md-search__output">
139      <div class="md-search__scrollwrap" data-md-scrollfix>
140        <div class="md-search-result" data-md-component="result">
141          <div class="md-search-result__meta">
142            Type to start searching
143          </div>
144          <ol class="md-search-result__list"></ol>
145        </div>
146      </div>
147    </div>
148  </div>
149</div>
150
151      </div>
152
153    </div>
154  </nav>
155</header>
156
157    <div class="md-container">
158
159
160
161
162      <main class="md-main" role="main">
163        <div class="md-main__inner md-grid" data-md-component="container">
164
165
166              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
167                <div class="md-sidebar__scrollwrap">
168                  <div class="md-sidebar__inner">
169                    <nav class="md-nav md-nav--primary" data-md-level="0">
170  <label class="md-nav__title md-nav__title--site" for="__drawer">
171    <a href="." title="FreeType-2.10.4 API Reference" class="md-nav__button md-logo">
172
173        <img alt="logo" src="images/favico.ico" width="48" height="48">
174
175    </a>
176    FreeType-2.10.4 API Reference
177  </label>
178
179  <ul class="md-nav__list" data-md-scrollfix>
180
181
182
183
184
185
186  <li class="md-nav__item">
187    <a href="index.html" title="TOC" class="md-nav__link">
188      TOC
189    </a>
190  </li>
191
192
193
194
195
196
197
198  <li class="md-nav__item">
199    <a href="ft2-index.html" title="Index" class="md-nav__link">
200      Index
201    </a>
202  </li>
203
204
205
206
207
208
209
210  <li class="md-nav__item md-nav__item--nested">
211
212      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
213
214    <label class="md-nav__link" for="nav-3">
215      General Remarks
216    </label>
217    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
218      <label class="md-nav__title" for="nav-3">
219        General Remarks
220      </label>
221      <ul class="md-nav__list" data-md-scrollfix>
222
223
224
225
226
227
228
229  <li class="md-nav__item">
230    <a href="ft2-header_inclusion.html" title="FreeType's header inclusion scheme" class="md-nav__link">
231      FreeType's header inclusion scheme
232    </a>
233  </li>
234
235
236
237
238
239
240
241  <li class="md-nav__item">
242    <a href="ft2-user_allocation.html" title="User allocation" class="md-nav__link">
243      User allocation
244    </a>
245  </li>
246
247
248      </ul>
249    </nav>
250  </li>
251
252
253
254
255
256
257
258  <li class="md-nav__item md-nav__item--nested">
259
260      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
261
262    <label class="md-nav__link" for="nav-4">
263      Core API
264    </label>
265    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
266      <label class="md-nav__title" for="nav-4">
267        Core API
268      </label>
269      <ul class="md-nav__list" data-md-scrollfix>
270
271
272
273
274
275
276
277  <li class="md-nav__item">
278    <a href="ft2-version.html" title="FreeType Version" class="md-nav__link">
279      FreeType Version
280    </a>
281  </li>
282
283
284
285
286
287
288
289  <li class="md-nav__item">
290    <a href="ft2-basic_types.html" title="Basic Data Types" class="md-nav__link">
291      Basic Data Types
292    </a>
293  </li>
294
295
296
297
298
299
300
301  <li class="md-nav__item">
302    <a href="ft2-base_interface.html" title="Base Interface" class="md-nav__link">
303      Base Interface
304    </a>
305  </li>
306
307
308
309
310
311
312
313  <li class="md-nav__item">
314    <a href="ft2-glyph_variants.html" title="Unicode Variation Sequences" class="md-nav__link">
315      Unicode Variation Sequences
316    </a>
317  </li>
318
319
320
321
322
323
324
325  <li class="md-nav__item">
326    <a href="ft2-color_management.html" title="Glyph Color Management" class="md-nav__link">
327      Glyph Color Management
328    </a>
329  </li>
330
331
332
333
334
335
336
337  <li class="md-nav__item">
338    <a href="ft2-layer_management.html" title="Glyph Layer Management" class="md-nav__link">
339      Glyph Layer Management
340    </a>
341  </li>
342
343
344
345
346
347
348
349  <li class="md-nav__item">
350    <a href="ft2-glyph_management.html" title="Glyph Management" class="md-nav__link">
351      Glyph Management
352    </a>
353  </li>
354
355
356
357
358
359
360
361  <li class="md-nav__item">
362    <a href="ft2-mac_specific.html" title="Mac Specific Interface" class="md-nav__link">
363      Mac Specific Interface
364    </a>
365  </li>
366
367
368
369
370
371
372
373  <li class="md-nav__item">
374    <a href="ft2-sizes_management.html" title="Size Management" class="md-nav__link">
375      Size Management
376    </a>
377  </li>
378
379
380
381
382
383
384
385  <li class="md-nav__item">
386    <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-nav__link">
387      Header File Macros
388    </a>
389  </li>
390
391
392      </ul>
393    </nav>
394  </li>
395
396
397
398
399
400
401
402  <li class="md-nav__item md-nav__item--nested">
403
404      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
405
406    <label class="md-nav__link" for="nav-5">
407      Format-Specific API
408    </label>
409    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
410      <label class="md-nav__title" for="nav-5">
411        Format-Specific API
412      </label>
413      <ul class="md-nav__list" data-md-scrollfix>
414
415
416
417
418
419
420
421  <li class="md-nav__item">
422    <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link">
423      Multiple Masters
424    </a>
425  </li>
426
427
428
429
430
431
432
433  <li class="md-nav__item">
434    <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
435      TrueType Tables
436    </a>
437  </li>
438
439
440
441
442
443
444
445  <li class="md-nav__item">
446    <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
447      Type 1 Tables
448    </a>
449  </li>
450
451
452
453
454
455
456
457  <li class="md-nav__item">
458    <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
459      SFNT Names
460    </a>
461  </li>
462
463
464
465
466
467
468
469  <li class="md-nav__item">
470    <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
471      BDF and PCF Files
472    </a>
473  </li>
474
475
476
477
478
479
480
481  <li class="md-nav__item">
482    <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
483      CID Fonts
484    </a>
485  </li>
486
487
488
489
490
491
492
493  <li class="md-nav__item">
494    <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
495      PFR Fonts
496    </a>
497  </li>
498
499
500
501
502
503
504
505  <li class="md-nav__item">
506    <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
507      Window FNT Files
508    </a>
509  </li>
510
511
512
513
514
515
516
517  <li class="md-nav__item">
518    <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
519      Font Formats
520    </a>
521  </li>
522
523
524
525
526
527
528
529  <li class="md-nav__item">
530    <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link">
531      Gasp Table
532    </a>
533  </li>
534
535
536      </ul>
537    </nav>
538  </li>
539
540
541
542
543
544
545
546  <li class="md-nav__item md-nav__item--nested">
547
548      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
549
550    <label class="md-nav__link" for="nav-6">
551      Controlling FreeType Modules
552    </label>
553    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
554      <label class="md-nav__title" for="nav-6">
555        Controlling FreeType Modules
556      </label>
557      <ul class="md-nav__list" data-md-scrollfix>
558
559
560
561
562
563
564
565  <li class="md-nav__item">
566    <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link">
567      The auto-hinter
568    </a>
569  </li>
570
571
572
573
574
575
576
577  <li class="md-nav__item">
578    <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link">
579      The CFF driver
580    </a>
581  </li>
582
583
584
585
586
587
588
589  <li class="md-nav__item">
590    <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
591      The Type 1 and CID drivers
592    </a>
593  </li>
594
595
596
597
598
599
600
601  <li class="md-nav__item">
602    <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
603      The TrueType driver
604    </a>
605  </li>
606
607
608
609
610
611
612
613  <li class="md-nav__item">
614    <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
615      The PCF driver
616    </a>
617  </li>
618
619
620
621
622
623
624
625  <li class="md-nav__item">
626    <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
627      Driver properties
628    </a>
629  </li>
630
631
632
633
634
635
636
637  <li class="md-nav__item">
638    <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
639      Parameter Tags
640    </a>
641  </li>
642
643
644
645
646
647
648
649  <li class="md-nav__item">
650    <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
651      Subpixel Rendering
652    </a>
653  </li>
654
655
656      </ul>
657    </nav>
658  </li>
659
660
661
662
663
664
665
666  <li class="md-nav__item md-nav__item--nested">
667
668      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
669
670    <label class="md-nav__link" for="nav-7">
671      Cache Sub-System
672    </label>
673    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
674      <label class="md-nav__title" for="nav-7">
675        Cache Sub-System
676      </label>
677      <ul class="md-nav__list" data-md-scrollfix>
678
679
680
681
682
683
684
685  <li class="md-nav__item">
686    <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
687      Cache Sub-System
688    </a>
689  </li>
690
691
692      </ul>
693    </nav>
694  </li>
695
696
697
698
699
700
701
702  <li class="md-nav__item md-nav__item--nested">
703
704      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
705
706    <label class="md-nav__link" for="nav-8">
707      Support API
708    </label>
709    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
710      <label class="md-nav__title" for="nav-8">
711        Support API
712      </label>
713      <ul class="md-nav__list" data-md-scrollfix>
714
715
716
717
718
719
720
721  <li class="md-nav__item">
722    <a href="ft2-computations.html" title="Computations" class="md-nav__link">
723      Computations
724    </a>
725  </li>
726
727
728
729
730
731
732
733  <li class="md-nav__item">
734    <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
735      List Processing
736    </a>
737  </li>
738
739
740
741
742
743
744
745  <li class="md-nav__item">
746    <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
747      Outline Processing
748    </a>
749  </li>
750
751
752
753
754
755
756
757  <li class="md-nav__item">
758    <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
759      Quick retrieval of advance values
760    </a>
761  </li>
762
763
764
765
766
767
768
769  <li class="md-nav__item">
770    <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
771      Bitmap Handling
772    </a>
773  </li>
774
775
776
777
778
779
780
781  <li class="md-nav__item">
782    <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
783      Scanline Converter
784    </a>
785  </li>
786
787
788
789
790
791
792
793  <li class="md-nav__item">
794    <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
795      Glyph Stroker
796    </a>
797  </li>
798
799
800
801
802
803
804
805  <li class="md-nav__item">
806    <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
807      System Interface
808    </a>
809  </li>
810
811
812
813
814
815
816
817  <li class="md-nav__item">
818    <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
819      Module Management
820    </a>
821  </li>
822
823
824
825
826
827
828
829  <li class="md-nav__item">
830    <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
831      GZIP Streams
832    </a>
833  </li>
834
835
836
837
838
839
840
841  <li class="md-nav__item">
842    <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
843      LZW Streams
844    </a>
845  </li>
846
847
848
849
850
851
852
853  <li class="md-nav__item">
854    <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
855      BZIP2 Streams
856    </a>
857  </li>
858
859
860      </ul>
861    </nav>
862  </li>
863
864
865
866
867
868
869
870
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> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#error-codes">Error Codes</a> &raquo; Error Enumerations</p>
1084<hr />
1085<h1 id="error-enumerations">Error Enumerations<a class="headerlink" href="#error-enumerations" title="Permanent link">&para;</a></h1>
1086<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</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&nbsp;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&nbsp;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. &lsquo;e&rsquo; is the error code identifier (e.g., <code>Invalid_Argument</code>), &lsquo;v&rsquo; is the error's numerical value, and &lsquo;s&rsquo; 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 &lt;freetype/fterrors.h&gt;
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">&para;</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_ &amp;&amp; __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&nbsp;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. &lsquo;error_string&rsquo; 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>