fe49d583a9db96c8f835ac29f1fd4989a5f3c6ed
[platform/upstream/freetype2.git] / docs / reference / ft2-basic_types.html
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>Basic Data Types - 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="#basic-data-types" 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                 Basic Data Types
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
259
260   <li class="md-nav__item md-nav__item--active md-nav__item--nested">
261     
262       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
263     
264     <label class="md-nav__link" for="nav-4">
265       Core API
266     </label>
267     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
268       <label class="md-nav__title" for="nav-4">
269         Core API
270       </label>
271       <ul class="md-nav__list" data-md-scrollfix>
272         
273         
274           
275           
276           
277
278
279   <li class="md-nav__item">
280     <a href="ft2-version.html" title="FreeType Version" class="md-nav__link">
281       FreeType Version
282     </a>
283   </li>
284
285         
286           
287           
288           
289
290   
291
292
293   <li class="md-nav__item md-nav__item--active">
294     
295     <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
296     
297       
298     
299     
300       <label class="md-nav__link md-nav__link--active" for="__toc">
301         Basic Data Types
302       </label>
303     
304     <a href="ft2-basic_types.html" title="Basic Data Types" class="md-nav__link md-nav__link--active">
305       Basic Data Types
306     </a>
307     
308       
309 <nav class="md-nav md-nav--secondary">
310   
311   
312     
313   
314   
315     <label class="md-nav__title" for="__toc">Table of contents</label>
316     <ul class="md-nav__list" data-md-scrollfix>
317       
318         <li class="md-nav__item">
319   <a href="#synopsis" class="md-nav__link">
320     Synopsis
321   </a>
322   
323 </li>
324       
325         <li class="md-nav__item">
326   <a href="#ft_byte" class="md-nav__link">
327     FT_Byte
328   </a>
329   
330 </li>
331       
332         <li class="md-nav__item">
333   <a href="#ft_bytes" class="md-nav__link">
334     FT_Bytes
335   </a>
336   
337 </li>
338       
339         <li class="md-nav__item">
340   <a href="#ft_char" class="md-nav__link">
341     FT_Char
342   </a>
343   
344 </li>
345       
346         <li class="md-nav__item">
347   <a href="#ft_int" class="md-nav__link">
348     FT_Int
349   </a>
350   
351 </li>
352       
353         <li class="md-nav__item">
354   <a href="#ft_uint" class="md-nav__link">
355     FT_UInt
356   </a>
357   
358 </li>
359       
360         <li class="md-nav__item">
361   <a href="#ft_int16" class="md-nav__link">
362     FT_Int16
363   </a>
364   
365 </li>
366       
367         <li class="md-nav__item">
368   <a href="#ft_uint16" class="md-nav__link">
369     FT_UInt16
370   </a>
371   
372 </li>
373       
374         <li class="md-nav__item">
375   <a href="#ft_int32" class="md-nav__link">
376     FT_Int32
377   </a>
378   
379 </li>
380       
381         <li class="md-nav__item">
382   <a href="#ft_uint32" class="md-nav__link">
383     FT_UInt32
384   </a>
385   
386 </li>
387       
388         <li class="md-nav__item">
389   <a href="#ft_int64" class="md-nav__link">
390     FT_Int64
391   </a>
392   
393 </li>
394       
395         <li class="md-nav__item">
396   <a href="#ft_uint64" class="md-nav__link">
397     FT_UInt64
398   </a>
399   
400 </li>
401       
402         <li class="md-nav__item">
403   <a href="#ft_short" class="md-nav__link">
404     FT_Short
405   </a>
406   
407 </li>
408       
409         <li class="md-nav__item">
410   <a href="#ft_ushort" class="md-nav__link">
411     FT_UShort
412   </a>
413   
414 </li>
415       
416         <li class="md-nav__item">
417   <a href="#ft_long" class="md-nav__link">
418     FT_Long
419   </a>
420   
421 </li>
422       
423         <li class="md-nav__item">
424   <a href="#ft_ulong" class="md-nav__link">
425     FT_ULong
426   </a>
427   
428 </li>
429       
430         <li class="md-nav__item">
431   <a href="#ft_bool" class="md-nav__link">
432     FT_Bool
433   </a>
434   
435 </li>
436       
437         <li class="md-nav__item">
438   <a href="#ft_offset" class="md-nav__link">
439     FT_Offset
440   </a>
441   
442 </li>
443       
444         <li class="md-nav__item">
445   <a href="#ft_ptrdist" class="md-nav__link">
446     FT_PtrDist
447   </a>
448   
449 </li>
450       
451         <li class="md-nav__item">
452   <a href="#ft_string" class="md-nav__link">
453     FT_String
454   </a>
455   
456 </li>
457       
458         <li class="md-nav__item">
459   <a href="#ft_tag" class="md-nav__link">
460     FT_Tag
461   </a>
462   
463 </li>
464       
465         <li class="md-nav__item">
466   <a href="#ft_error" class="md-nav__link">
467     FT_Error
468   </a>
469   
470 </li>
471       
472         <li class="md-nav__item">
473   <a href="#ft_fixed" class="md-nav__link">
474     FT_Fixed
475   </a>
476   
477 </li>
478       
479         <li class="md-nav__item">
480   <a href="#ft_pointer" class="md-nav__link">
481     FT_Pointer
482   </a>
483   
484 </li>
485       
486         <li class="md-nav__item">
487   <a href="#ft_pos" class="md-nav__link">
488     FT_Pos
489   </a>
490   
491 </li>
492       
493         <li class="md-nav__item">
494   <a href="#ft_vector" class="md-nav__link">
495     FT_Vector
496   </a>
497   
498 </li>
499       
500         <li class="md-nav__item">
501   <a href="#ft_bbox" class="md-nav__link">
502     FT_BBox
503   </a>
504   
505 </li>
506       
507         <li class="md-nav__item">
508   <a href="#ft_matrix" class="md-nav__link">
509     FT_Matrix
510   </a>
511   
512 </li>
513       
514         <li class="md-nav__item">
515   <a href="#ft_fword" class="md-nav__link">
516     FT_FWord
517   </a>
518   
519 </li>
520       
521         <li class="md-nav__item">
522   <a href="#ft_ufword" class="md-nav__link">
523     FT_UFWord
524   </a>
525   
526 </li>
527       
528         <li class="md-nav__item">
529   <a href="#ft_f2dot14" class="md-nav__link">
530     FT_F2Dot14
531   </a>
532   
533 </li>
534       
535         <li class="md-nav__item">
536   <a href="#ft_unitvector" class="md-nav__link">
537     FT_UnitVector
538   </a>
539   
540 </li>
541       
542         <li class="md-nav__item">
543   <a href="#ft_f26dot6" class="md-nav__link">
544     FT_F26Dot6
545   </a>
546   
547 </li>
548       
549         <li class="md-nav__item">
550   <a href="#ft_data" class="md-nav__link">
551     FT_Data
552   </a>
553   
554 </li>
555       
556         <li class="md-nav__item">
557   <a href="#ft_make_tag" class="md-nav__link">
558     FT_MAKE_TAG
559   </a>
560   
561 </li>
562       
563         <li class="md-nav__item">
564   <a href="#ft_generic" class="md-nav__link">
565     FT_Generic
566   </a>
567   
568 </li>
569       
570         <li class="md-nav__item">
571   <a href="#ft_generic_finalizer" class="md-nav__link">
572     FT_Generic_Finalizer
573   </a>
574   
575 </li>
576       
577         <li class="md-nav__item">
578   <a href="#ft_bitmap" class="md-nav__link">
579     FT_Bitmap
580   </a>
581   
582 </li>
583       
584         <li class="md-nav__item">
585   <a href="#ft_pixel_mode" class="md-nav__link">
586     FT_Pixel_Mode
587   </a>
588   
589 </li>
590       
591         <li class="md-nav__item">
592   <a href="#ft_glyph_format" class="md-nav__link">
593     FT_Glyph_Format
594   </a>
595   
596 </li>
597       
598         <li class="md-nav__item">
599   <a href="#ft_image_tag" class="md-nav__link">
600     FT_IMAGE_TAG
601   </a>
602   
603 </li>
604       
605       
606       
607       
608       
609     </ul>
610   
611 </nav>
612     
613   </li>
614
615         
616           
617           
618           
619
620
621   <li class="md-nav__item">
622     <a href="ft2-base_interface.html" title="Base Interface" class="md-nav__link">
623       Base Interface
624     </a>
625   </li>
626
627         
628           
629           
630           
631
632
633   <li class="md-nav__item">
634     <a href="ft2-glyph_variants.html" title="Unicode Variation Sequences" class="md-nav__link">
635       Unicode Variation Sequences
636     </a>
637   </li>
638
639         
640           
641           
642           
643
644
645   <li class="md-nav__item">
646     <a href="ft2-color_management.html" title="Glyph Color Management" class="md-nav__link">
647       Glyph Color Management
648     </a>
649   </li>
650
651         
652           
653           
654           
655
656
657   <li class="md-nav__item">
658     <a href="ft2-layer_management.html" title="Glyph Layer Management" class="md-nav__link">
659       Glyph Layer Management
660     </a>
661   </li>
662
663         
664           
665           
666           
667
668
669   <li class="md-nav__item">
670     <a href="ft2-glyph_management.html" title="Glyph Management" class="md-nav__link">
671       Glyph Management
672     </a>
673   </li>
674
675         
676           
677           
678           
679
680
681   <li class="md-nav__item">
682     <a href="ft2-mac_specific.html" title="Mac Specific Interface" class="md-nav__link">
683       Mac Specific Interface
684     </a>
685   </li>
686
687         
688           
689           
690           
691
692
693   <li class="md-nav__item">
694     <a href="ft2-sizes_management.html" title="Size Management" class="md-nav__link">
695       Size Management
696     </a>
697   </li>
698
699         
700           
701           
702           
703
704
705   <li class="md-nav__item">
706     <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-nav__link">
707       Header File Macros
708     </a>
709   </li>
710
711         
712       </ul>
713     </nav>
714   </li>
715
716     
717       
718       
719       
720
721
722   <li class="md-nav__item md-nav__item--nested">
723     
724       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
725     
726     <label class="md-nav__link" for="nav-5">
727       Format-Specific API
728     </label>
729     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
730       <label class="md-nav__title" for="nav-5">
731         Format-Specific API
732       </label>
733       <ul class="md-nav__list" data-md-scrollfix>
734         
735         
736           
737           
738           
739
740
741   <li class="md-nav__item">
742     <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link">
743       Multiple Masters
744     </a>
745   </li>
746
747         
748           
749           
750           
751
752
753   <li class="md-nav__item">
754     <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
755       TrueType Tables
756     </a>
757   </li>
758
759         
760           
761           
762           
763
764
765   <li class="md-nav__item">
766     <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
767       Type 1 Tables
768     </a>
769   </li>
770
771         
772           
773           
774           
775
776
777   <li class="md-nav__item">
778     <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
779       SFNT Names
780     </a>
781   </li>
782
783         
784           
785           
786           
787
788
789   <li class="md-nav__item">
790     <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
791       BDF and PCF Files
792     </a>
793   </li>
794
795         
796           
797           
798           
799
800
801   <li class="md-nav__item">
802     <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
803       CID Fonts
804     </a>
805   </li>
806
807         
808           
809           
810           
811
812
813   <li class="md-nav__item">
814     <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
815       PFR Fonts
816     </a>
817   </li>
818
819         
820           
821           
822           
823
824
825   <li class="md-nav__item">
826     <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
827       Window FNT Files
828     </a>
829   </li>
830
831         
832           
833           
834           
835
836
837   <li class="md-nav__item">
838     <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
839       Font Formats
840     </a>
841   </li>
842
843         
844           
845           
846           
847
848
849   <li class="md-nav__item">
850     <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link">
851       Gasp Table
852     </a>
853   </li>
854
855         
856       </ul>
857     </nav>
858   </li>
859
860     
861       
862       
863       
864
865
866   <li class="md-nav__item md-nav__item--nested">
867     
868       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
869     
870     <label class="md-nav__link" for="nav-6">
871       Controlling FreeType Modules
872     </label>
873     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
874       <label class="md-nav__title" for="nav-6">
875         Controlling FreeType Modules
876       </label>
877       <ul class="md-nav__list" data-md-scrollfix>
878         
879         
880           
881           
882           
883
884
885   <li class="md-nav__item">
886     <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link">
887       The auto-hinter
888     </a>
889   </li>
890
891         
892           
893           
894           
895
896
897   <li class="md-nav__item">
898     <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link">
899       The CFF driver
900     </a>
901   </li>
902
903         
904           
905           
906           
907
908
909   <li class="md-nav__item">
910     <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
911       The Type 1 and CID drivers
912     </a>
913   </li>
914
915         
916           
917           
918           
919
920
921   <li class="md-nav__item">
922     <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
923       The TrueType driver
924     </a>
925   </li>
926
927         
928           
929           
930           
931
932
933   <li class="md-nav__item">
934     <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
935       The PCF driver
936     </a>
937   </li>
938
939         
940           
941           
942           
943
944
945   <li class="md-nav__item">
946     <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
947       Driver properties
948     </a>
949   </li>
950
951         
952           
953           
954           
955
956
957   <li class="md-nav__item">
958     <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
959       Parameter Tags
960     </a>
961   </li>
962
963         
964           
965           
966           
967
968
969   <li class="md-nav__item">
970     <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
971       Subpixel Rendering
972     </a>
973   </li>
974
975         
976       </ul>
977     </nav>
978   </li>
979
980     
981       
982       
983       
984
985
986   <li class="md-nav__item md-nav__item--nested">
987     
988       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
989     
990     <label class="md-nav__link" for="nav-7">
991       Cache Sub-System
992     </label>
993     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
994       <label class="md-nav__title" for="nav-7">
995         Cache Sub-System
996       </label>
997       <ul class="md-nav__list" data-md-scrollfix>
998         
999         
1000           
1001           
1002           
1003
1004
1005   <li class="md-nav__item">
1006     <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
1007       Cache Sub-System
1008     </a>
1009   </li>
1010
1011         
1012       </ul>
1013     </nav>
1014   </li>
1015
1016     
1017       
1018       
1019       
1020
1021
1022   <li class="md-nav__item md-nav__item--nested">
1023     
1024       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
1025     
1026     <label class="md-nav__link" for="nav-8">
1027       Support API
1028     </label>
1029     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1030       <label class="md-nav__title" for="nav-8">
1031         Support API
1032       </label>
1033       <ul class="md-nav__list" data-md-scrollfix>
1034         
1035         
1036           
1037           
1038           
1039
1040
1041   <li class="md-nav__item">
1042     <a href="ft2-computations.html" title="Computations" class="md-nav__link">
1043       Computations
1044     </a>
1045   </li>
1046
1047         
1048           
1049           
1050           
1051
1052
1053   <li class="md-nav__item">
1054     <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
1055       List Processing
1056     </a>
1057   </li>
1058
1059         
1060           
1061           
1062           
1063
1064
1065   <li class="md-nav__item">
1066     <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
1067       Outline Processing
1068     </a>
1069   </li>
1070
1071         
1072           
1073           
1074           
1075
1076
1077   <li class="md-nav__item">
1078     <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
1079       Quick retrieval of advance values
1080     </a>
1081   </li>
1082
1083         
1084           
1085           
1086           
1087
1088
1089   <li class="md-nav__item">
1090     <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
1091       Bitmap Handling
1092     </a>
1093   </li>
1094
1095         
1096           
1097           
1098           
1099
1100
1101   <li class="md-nav__item">
1102     <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
1103       Scanline Converter
1104     </a>
1105   </li>
1106
1107         
1108           
1109           
1110           
1111
1112
1113   <li class="md-nav__item">
1114     <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
1115       Glyph Stroker
1116     </a>
1117   </li>
1118
1119         
1120           
1121           
1122           
1123
1124
1125   <li class="md-nav__item">
1126     <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
1127       System Interface
1128     </a>
1129   </li>
1130
1131         
1132           
1133           
1134           
1135
1136
1137   <li class="md-nav__item">
1138     <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
1139       Module Management
1140     </a>
1141   </li>
1142
1143         
1144           
1145           
1146           
1147
1148
1149   <li class="md-nav__item">
1150     <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
1151       GZIP Streams
1152     </a>
1153   </li>
1154
1155         
1156           
1157           
1158           
1159
1160
1161   <li class="md-nav__item">
1162     <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
1163       LZW Streams
1164     </a>
1165   </li>
1166
1167         
1168           
1169           
1170           
1171
1172
1173   <li class="md-nav__item">
1174     <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
1175       BZIP2 Streams
1176     </a>
1177   </li>
1178
1179         
1180       </ul>
1181     </nav>
1182   </li>
1183
1184     
1185       
1186       
1187       
1188
1189
1190   <li class="md-nav__item md-nav__item--nested">
1191     
1192       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
1193     
1194     <label class="md-nav__link" for="nav-9">
1195       Error Codes
1196     </label>
1197     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1198       <label class="md-nav__title" for="nav-9">
1199         Error Codes
1200       </label>
1201       <ul class="md-nav__list" data-md-scrollfix>
1202         
1203         
1204           
1205           
1206           
1207
1208
1209   <li class="md-nav__item">
1210     <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
1211       Error Enumerations
1212     </a>
1213   </li>
1214
1215         
1216           
1217           
1218           
1219
1220
1221   <li class="md-nav__item">
1222     <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
1223       Error Code Values
1224     </a>
1225   </li>
1226
1227         
1228       </ul>
1229     </nav>
1230   </li>
1231
1232     
1233       
1234       
1235       
1236
1237
1238   <li class="md-nav__item md-nav__item--nested">
1239     
1240       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
1241     
1242     <label class="md-nav__link" for="nav-10">
1243       Miscellaneous
1244     </label>
1245     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1246       <label class="md-nav__title" for="nav-10">
1247         Miscellaneous
1248       </label>
1249       <ul class="md-nav__list" data-md-scrollfix>
1250         
1251         
1252           
1253           
1254           
1255
1256
1257   <li class="md-nav__item">
1258     <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
1259       TrueTypeGX/AAT Validation
1260     </a>
1261   </li>
1262
1263         
1264           
1265           
1266           
1267
1268
1269   <li class="md-nav__item">
1270     <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
1271       Incremental Loading
1272     </a>
1273   </li>
1274
1275         
1276           
1277           
1278           
1279
1280
1281   <li class="md-nav__item">
1282     <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1283       The TrueType Engine
1284     </a>
1285   </li>
1286
1287         
1288           
1289           
1290           
1291
1292
1293   <li class="md-nav__item">
1294     <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1295       OpenType Validation
1296     </a>
1297   </li>
1298
1299         
1300       </ul>
1301     </nav>
1302   </li>
1303
1304     
1305   </ul>
1306 </nav>
1307                   </div>
1308                 </div>
1309               </div>
1310             
1311             
1312               <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1313                 <div class="md-sidebar__scrollwrap">
1314                   <div class="md-sidebar__inner">
1315                     
1316 <nav class="md-nav md-nav--secondary">
1317   
1318   
1319     
1320   
1321   
1322     <label class="md-nav__title" for="__toc">Table of contents</label>
1323     <ul class="md-nav__list" data-md-scrollfix>
1324       
1325         <li class="md-nav__item">
1326   <a href="#synopsis" class="md-nav__link">
1327     Synopsis
1328   </a>
1329   
1330 </li>
1331       
1332         <li class="md-nav__item">
1333   <a href="#ft_byte" class="md-nav__link">
1334     FT_Byte
1335   </a>
1336   
1337 </li>
1338       
1339         <li class="md-nav__item">
1340   <a href="#ft_bytes" class="md-nav__link">
1341     FT_Bytes
1342   </a>
1343   
1344 </li>
1345       
1346         <li class="md-nav__item">
1347   <a href="#ft_char" class="md-nav__link">
1348     FT_Char
1349   </a>
1350   
1351 </li>
1352       
1353         <li class="md-nav__item">
1354   <a href="#ft_int" class="md-nav__link">
1355     FT_Int
1356   </a>
1357   
1358 </li>
1359       
1360         <li class="md-nav__item">
1361   <a href="#ft_uint" class="md-nav__link">
1362     FT_UInt
1363   </a>
1364   
1365 </li>
1366       
1367         <li class="md-nav__item">
1368   <a href="#ft_int16" class="md-nav__link">
1369     FT_Int16
1370   </a>
1371   
1372 </li>
1373       
1374         <li class="md-nav__item">
1375   <a href="#ft_uint16" class="md-nav__link">
1376     FT_UInt16
1377   </a>
1378   
1379 </li>
1380       
1381         <li class="md-nav__item">
1382   <a href="#ft_int32" class="md-nav__link">
1383     FT_Int32
1384   </a>
1385   
1386 </li>
1387       
1388         <li class="md-nav__item">
1389   <a href="#ft_uint32" class="md-nav__link">
1390     FT_UInt32
1391   </a>
1392   
1393 </li>
1394       
1395         <li class="md-nav__item">
1396   <a href="#ft_int64" class="md-nav__link">
1397     FT_Int64
1398   </a>
1399   
1400 </li>
1401       
1402         <li class="md-nav__item">
1403   <a href="#ft_uint64" class="md-nav__link">
1404     FT_UInt64
1405   </a>
1406   
1407 </li>
1408       
1409         <li class="md-nav__item">
1410   <a href="#ft_short" class="md-nav__link">
1411     FT_Short
1412   </a>
1413   
1414 </li>
1415       
1416         <li class="md-nav__item">
1417   <a href="#ft_ushort" class="md-nav__link">
1418     FT_UShort
1419   </a>
1420   
1421 </li>
1422       
1423         <li class="md-nav__item">
1424   <a href="#ft_long" class="md-nav__link">
1425     FT_Long
1426   </a>
1427   
1428 </li>
1429       
1430         <li class="md-nav__item">
1431   <a href="#ft_ulong" class="md-nav__link">
1432     FT_ULong
1433   </a>
1434   
1435 </li>
1436       
1437         <li class="md-nav__item">
1438   <a href="#ft_bool" class="md-nav__link">
1439     FT_Bool
1440   </a>
1441   
1442 </li>
1443       
1444         <li class="md-nav__item">
1445   <a href="#ft_offset" class="md-nav__link">
1446     FT_Offset
1447   </a>
1448   
1449 </li>
1450       
1451         <li class="md-nav__item">
1452   <a href="#ft_ptrdist" class="md-nav__link">
1453     FT_PtrDist
1454   </a>
1455   
1456 </li>
1457       
1458         <li class="md-nav__item">
1459   <a href="#ft_string" class="md-nav__link">
1460     FT_String
1461   </a>
1462   
1463 </li>
1464       
1465         <li class="md-nav__item">
1466   <a href="#ft_tag" class="md-nav__link">
1467     FT_Tag
1468   </a>
1469   
1470 </li>
1471       
1472         <li class="md-nav__item">
1473   <a href="#ft_error" class="md-nav__link">
1474     FT_Error
1475   </a>
1476   
1477 </li>
1478       
1479         <li class="md-nav__item">
1480   <a href="#ft_fixed" class="md-nav__link">
1481     FT_Fixed
1482   </a>
1483   
1484 </li>
1485       
1486         <li class="md-nav__item">
1487   <a href="#ft_pointer" class="md-nav__link">
1488     FT_Pointer
1489   </a>
1490   
1491 </li>
1492       
1493         <li class="md-nav__item">
1494   <a href="#ft_pos" class="md-nav__link">
1495     FT_Pos
1496   </a>
1497   
1498 </li>
1499       
1500         <li class="md-nav__item">
1501   <a href="#ft_vector" class="md-nav__link">
1502     FT_Vector
1503   </a>
1504   
1505 </li>
1506       
1507         <li class="md-nav__item">
1508   <a href="#ft_bbox" class="md-nav__link">
1509     FT_BBox
1510   </a>
1511   
1512 </li>
1513       
1514         <li class="md-nav__item">
1515   <a href="#ft_matrix" class="md-nav__link">
1516     FT_Matrix
1517   </a>
1518   
1519 </li>
1520       
1521         <li class="md-nav__item">
1522   <a href="#ft_fword" class="md-nav__link">
1523     FT_FWord
1524   </a>
1525   
1526 </li>
1527       
1528         <li class="md-nav__item">
1529   <a href="#ft_ufword" class="md-nav__link">
1530     FT_UFWord
1531   </a>
1532   
1533 </li>
1534       
1535         <li class="md-nav__item">
1536   <a href="#ft_f2dot14" class="md-nav__link">
1537     FT_F2Dot14
1538   </a>
1539   
1540 </li>
1541       
1542         <li class="md-nav__item">
1543   <a href="#ft_unitvector" class="md-nav__link">
1544     FT_UnitVector
1545   </a>
1546   
1547 </li>
1548       
1549         <li class="md-nav__item">
1550   <a href="#ft_f26dot6" class="md-nav__link">
1551     FT_F26Dot6
1552   </a>
1553   
1554 </li>
1555       
1556         <li class="md-nav__item">
1557   <a href="#ft_data" class="md-nav__link">
1558     FT_Data
1559   </a>
1560   
1561 </li>
1562       
1563         <li class="md-nav__item">
1564   <a href="#ft_make_tag" class="md-nav__link">
1565     FT_MAKE_TAG
1566   </a>
1567   
1568 </li>
1569       
1570         <li class="md-nav__item">
1571   <a href="#ft_generic" class="md-nav__link">
1572     FT_Generic
1573   </a>
1574   
1575 </li>
1576       
1577         <li class="md-nav__item">
1578   <a href="#ft_generic_finalizer" class="md-nav__link">
1579     FT_Generic_Finalizer
1580   </a>
1581   
1582 </li>
1583       
1584         <li class="md-nav__item">
1585   <a href="#ft_bitmap" class="md-nav__link">
1586     FT_Bitmap
1587   </a>
1588   
1589 </li>
1590       
1591         <li class="md-nav__item">
1592   <a href="#ft_pixel_mode" class="md-nav__link">
1593     FT_Pixel_Mode
1594   </a>
1595   
1596 </li>
1597       
1598         <li class="md-nav__item">
1599   <a href="#ft_glyph_format" class="md-nav__link">
1600     FT_Glyph_Format
1601   </a>
1602   
1603 </li>
1604       
1605         <li class="md-nav__item">
1606   <a href="#ft_image_tag" class="md-nav__link">
1607     FT_IMAGE_TAG
1608   </a>
1609   
1610 </li>
1611       
1612       
1613       
1614       
1615       
1616     </ul>
1617   
1618 </nav>
1619                   </div>
1620                 </div>
1621               </div>
1622             
1623           
1624           <div class="md-content">
1625             <article class="md-content__inner md-typeset">
1626               
1627                 
1628                 
1629                 <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#core-api">Core API</a> &raquo; Basic Data Types</p>
1630 <hr />
1631 <h1 id="basic-data-types">Basic Data Types<a class="headerlink" href="#basic-data-types" title="Permanent link">&para;</a></h1>
1632 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1633 <p>This section contains the basic data types defined by FreeType&nbsp;2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.</p>
1634 <h2 id="ft_byte">FT_Byte<a class="headerlink" href="#ft_byte" title="Permanent link">&para;</a></h2>
1635 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1636 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span>  <b>FT_Byte</b>;
1637 </code></pre></div>
1638
1639 <p>A simple typedef for the <em>unsigned</em> char type.</p>
1640 <hr>
1641
1642 <h2 id="ft_bytes">FT_Bytes<a class="headerlink" href="#ft_bytes" title="Permanent link">&para;</a></h2>
1643 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1644 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  <b>FT_Bytes</b>;
1645 </code></pre></div>
1646
1647 <p>A typedef for constant memory areas.</p>
1648 <hr>
1649
1650 <h2 id="ft_char">FT_Char<a class="headerlink" href="#ft_char" title="Permanent link">&para;</a></h2>
1651 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1652 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span>  <b>FT_Char</b>;
1653 </code></pre></div>
1654
1655 <p>A simple typedef for the <em>signed</em> char type.</p>
1656 <hr>
1657
1658 <h2 id="ft_int">FT_Int<a class="headerlink" href="#ft_int" title="Permanent link">&para;</a></h2>
1659 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1660 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span>  <b>FT_Int</b>;
1661 </code></pre></div>
1662
1663 <p>A typedef for the int type.</p>
1664 <hr>
1665
1666 <h2 id="ft_uint">FT_UInt<a class="headerlink" href="#ft_uint" title="Permanent link">&para;</a></h2>
1667 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1668 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span>  <b>FT_UInt</b>;
1669 </code></pre></div>
1670
1671 <p>A typedef for the unsigned int type.</p>
1672 <hr>
1673
1674 <h2 id="ft_int16">FT_Int16<a class="headerlink" href="#ft_int16" title="Permanent link">&para;</a></h2>
1675 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_Int16</b>;
1676 </code></pre></div>
1677
1678 <p>A typedef for a 16bit signed integer type.</p>
1679 <hr>
1680
1681 <h2 id="ft_uint16">FT_UInt16<a class="headerlink" href="#ft_uint16" title="Permanent link">&para;</a></h2>
1682 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span>  <b>FT_UInt16</b>;
1683 </code></pre></div>
1684
1685 <p>A typedef for a 16bit unsigned integer type.</p>
1686 <hr>
1687
1688 <h2 id="ft_int32">FT_Int32<a class="headerlink" href="#ft_int32" title="Permanent link">&para;</a></h2>
1689 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX  <b>FT_Int32</b>;
1690 </code></pre></div>
1691
1692 <p>A typedef for a 32bit signed integer type. The size depends on the configuration.</p>
1693 <hr>
1694
1695 <h2 id="ft_uint32">FT_UInt32<a class="headerlink" href="#ft_uint32" title="Permanent link">&para;</a></h2>
1696 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX  <b>FT_UInt32</b>;
1697 </code></pre></div>
1698
1699 <hr>
1700
1701 <h2 id="ft_int64">FT_Int64<a class="headerlink" href="#ft_int64" title="Permanent link">&para;</a></h2>
1702 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX  <b>FT_Int64</b>;
1703 </code></pre></div>
1704
1705 <hr>
1706
1707 <h2 id="ft_uint64">FT_UInt64<a class="headerlink" href="#ft_uint64" title="Permanent link">&para;</a></h2>
1708 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX  <b>FT_UInt64</b>;
1709 </code></pre></div>
1710
1711 <hr>
1712
1713 <h2 id="ft_short">FT_Short<a class="headerlink" href="#ft_short" title="Permanent link">&para;</a></h2>
1714 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1715 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_Short</b>;
1716 </code></pre></div>
1717
1718 <p>A typedef for signed short.</p>
1719 <hr>
1720
1721 <h2 id="ft_ushort">FT_UShort<a class="headerlink" href="#ft_ushort" title="Permanent link">&para;</a></h2>
1722 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1723 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span>  <b>FT_UShort</b>;
1724 </code></pre></div>
1725
1726 <p>A typedef for unsigned short.</p>
1727 <hr>
1728
1729 <h2 id="ft_long">FT_Long<a class="headerlink" href="#ft_long" title="Permanent link">&para;</a></h2>
1730 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1731 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_Long</b>;
1732 </code></pre></div>
1733
1734 <p>A typedef for signed long.</p>
1735 <hr>
1736
1737 <h2 id="ft_ulong">FT_ULong<a class="headerlink" href="#ft_ulong" title="Permanent link">&para;</a></h2>
1738 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1739 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span>  <b>FT_ULong</b>;
1740 </code></pre></div>
1741
1742 <p>A typedef for unsigned long.</p>
1743 <hr>
1744
1745 <h2 id="ft_bool">FT_Bool<a class="headerlink" href="#ft_bool" title="Permanent link">&para;</a></h2>
1746 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1747 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span>  <b>FT_Bool</b>;
1748 </code></pre></div>
1749
1750 <p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and&nbsp;0 represent true and false, respectively.</p>
1751 <hr>
1752
1753 <h2 id="ft_offset">FT_Offset<a class="headerlink" href="#ft_offset" title="Permanent link">&para;</a></h2>
1754 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1755 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> size_t  <b>FT_Offset</b>;
1756 </code></pre></div>
1757
1758 <p>This is equivalent to the ANSI&nbsp;C <code>size_t</code> type, i.e., the largest <em>unsigned</em> integer type used to express a file size or position, or a memory block size.</p>
1759 <hr>
1760
1761 <h2 id="ft_ptrdist">FT_PtrDist<a class="headerlink" href="#ft_ptrdist" title="Permanent link">&para;</a></h2>
1762 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1763 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> ft_ptrdiff_t  <b>FT_PtrDist</b>;
1764 </code></pre></div>
1765
1766 <p>This is equivalent to the ANSI&nbsp;C <code>ptrdiff_t</code> type, i.e., the largest <em>signed</em> integer type used to express the distance between two pointers.</p>
1767 <hr>
1768
1769 <h2 id="ft_string">FT_String<a class="headerlink" href="#ft_string" title="Permanent link">&para;</a></h2>
1770 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1771 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">char</span>  <b>FT_String</b>;
1772 </code></pre></div>
1773
1774 <p>A simple typedef for the char type, usually used for strings.</p>
1775 <hr>
1776
1777 <h2 id="ft_tag">FT_Tag<a class="headerlink" href="#ft_tag" title="Permanent link">&para;</a></h2>
1778 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1779 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>  <b>FT_Tag</b>;
1780 </code></pre></div>
1781
1782 <p>A typedef for 32-bit tags (as used in the SFNT format).</p>
1783 <hr>
1784
1785 <h2 id="ft_error">FT_Error<a class="headerlink" href="#ft_error" title="Permanent link">&para;</a></h2>
1786 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1787 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">int</span>  <b>FT_Error</b>;
1788 </code></pre></div>
1789
1790 <p>The FreeType error code type. A value of&nbsp;0 is always interpreted as a successful operation.</p>
1791 <hr>
1792
1793 <h2 id="ft_fixed">FT_Fixed<a class="headerlink" href="#ft_fixed" title="Permanent link">&para;</a></h2>
1794 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1795 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_Fixed</b>;
1796 </code></pre></div>
1797
1798 <p>This type is used to store 16.16 fixed-point values, like scaling values or matrix coefficients.</p>
1799 <hr>
1800
1801 <h2 id="ft_pointer">FT_Pointer<a class="headerlink" href="#ft_pointer" title="Permanent link">&para;</a></h2>
1802 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1803 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">void</span>*  <b>FT_Pointer</b>;
1804 </code></pre></div>
1805
1806 <p>A simple typedef for a typeless pointer.</p>
1807 <hr>
1808
1809 <h2 id="ft_pos">FT_Pos<a class="headerlink" href="#ft_pos" title="Permanent link">&para;</a></h2>
1810 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
1811 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_Pos</b>;
1812 </code></pre></div>
1813
1814 <p>The type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed-point pixel coordinates.</p>
1815 <hr>
1816
1817 <h2 id="ft_vector">FT_Vector<a class="headerlink" href="#ft_vector" title="Permanent link">&para;</a></h2>
1818 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
1819 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Vector_
1820   {
1821     <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>  x;
1822     <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>  y;
1823
1824   } <b>FT_Vector</b>;
1825 </code></pre></div>
1826
1827 <p>A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.</p>
1828 <h4>fields</h4>
1829
1830 <table class="fields">
1831 <tr><td class="val" id="x">x</td><td class="desc">
1832 <p>The horizontal coordinate.</p>
1833 </td></tr>
1834 <tr><td class="val" id="y">y</td><td class="desc">
1835 <p>The vertical coordinate.</p>
1836 </td></tr>
1837 </table>
1838
1839 <hr>
1840
1841 <h2 id="ft_bbox">FT_BBox<a class="headerlink" href="#ft_bbox" title="Permanent link">&para;</a></h2>
1842 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
1843 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_BBox_
1844   {
1845     <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>  xMin, yMin;
1846     <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>  xMax, yMax;
1847
1848   } <b>FT_BBox</b>;
1849 </code></pre></div>
1850
1851 <p>A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.</p>
1852 <h4>fields</h4>
1853
1854 <table class="fields">
1855 <tr><td class="val" id="xmin">xMin</td><td class="desc">
1856 <p>The horizontal minimum (left-most).</p>
1857 </td></tr>
1858 <tr><td class="val" id="ymin">yMin</td><td class="desc">
1859 <p>The vertical minimum (bottom-most).</p>
1860 </td></tr>
1861 <tr><td class="val" id="xmax">xMax</td><td class="desc">
1862 <p>The horizontal maximum (right-most).</p>
1863 </td></tr>
1864 <tr><td class="val" id="ymax">yMax</td><td class="desc">
1865 <p>The vertical maximum (top-most).</p>
1866 </td></tr>
1867 </table>
1868
1869 <h4>note</h4>
1870
1871 <p>The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.</p>
1872 <p>If <code>yMin</code> is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if <code>ymax</code> is positive, this value gives the glyph's ascender.</p>
1873 <p><code>xMin</code> gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If <code>xMin</code> is negative, the glyph extends to the left of the origin.</p>
1874 <hr>
1875
1876 <h2 id="ft_matrix">FT_Matrix<a class="headerlink" href="#ft_matrix" title="Permanent link">&para;</a></h2>
1877 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1878 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Matrix_
1879   {
1880     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  xx, xy;
1881     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  yx, yy;
1882
1883   } <b>FT_Matrix</b>;
1884 </code></pre></div>
1885
1886 <p>A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed-point format. The computation performed is:
1887 <div class="highlight"><pre><span></span><code>  x&#39; = x*xx + y*xy
1888   y&#39; = x*yx + y*yy
1889 </code></pre></div></p>
1890 <h4>fields</h4>
1891
1892 <table class="fields">
1893 <tr><td class="val" id="xx">xx</td><td class="desc">
1894 <p>Matrix coefficient.</p>
1895 </td></tr>
1896 <tr><td class="val" id="xy">xy</td><td class="desc">
1897 <p>Matrix coefficient.</p>
1898 </td></tr>
1899 <tr><td class="val" id="yx">yx</td><td class="desc">
1900 <p>Matrix coefficient.</p>
1901 </td></tr>
1902 <tr><td class="val" id="yy">yy</td><td class="desc">
1903 <p>Matrix coefficient.</p>
1904 </td></tr>
1905 </table>
1906
1907 <hr>
1908
1909 <h2 id="ft_fword">FT_FWord<a class="headerlink" href="#ft_fword" title="Permanent link">&para;</a></h2>
1910 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1911 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_FWord</b>;   /* distance in FUnits */
1912 </code></pre></div>
1913
1914 <p>A signed 16-bit integer used to store a distance in original font units.</p>
1915 <hr>
1916
1917 <h2 id="ft_ufword">FT_UFWord<a class="headerlink" href="#ft_ufword" title="Permanent link">&para;</a></h2>
1918 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1919 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span>  <b>FT_UFWord</b>;  /* <span class="keyword">unsigned</span> distance */
1920 </code></pre></div>
1921
1922 <p>An unsigned 16-bit integer used to store a distance in original font units.</p>
1923 <hr>
1924
1925 <h2 id="ft_f2dot14">FT_F2Dot14<a class="headerlink" href="#ft_f2dot14" title="Permanent link">&para;</a></h2>
1926 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1927 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span>  <b>FT_F2Dot14</b>;
1928 </code></pre></div>
1929
1930 <p>A signed 2.14 fixed-point type used for unit vectors.</p>
1931 <hr>
1932
1933 <h2 id="ft_unitvector">FT_UnitVector<a class="headerlink" href="#ft_unitvector" title="Permanent link">&para;</a></h2>
1934 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1935 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_UnitVector_
1936   {
1937     <a href="ft2-basic_types.html#ft_f2dot14">FT_F2Dot14</a>  x;
1938     <a href="ft2-basic_types.html#ft_f2dot14">FT_F2Dot14</a>  y;
1939
1940   } <b>FT_UnitVector</b>;
1941 </code></pre></div>
1942
1943 <p>A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.</p>
1944 <h4>fields</h4>
1945
1946 <table class="fields">
1947 <tr><td class="val" id="x">x</td><td class="desc">
1948 <p>Horizontal coordinate.</p>
1949 </td></tr>
1950 <tr><td class="val" id="y">y</td><td class="desc">
1951 <p>Vertical coordinate.</p>
1952 </td></tr>
1953 </table>
1954
1955 <hr>
1956
1957 <h2 id="ft_f26dot6">FT_F26Dot6<a class="headerlink" href="#ft_f26dot6" title="Permanent link">&para;</a></h2>
1958 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1959 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span>  <b>FT_F26Dot6</b>;
1960 </code></pre></div>
1961
1962 <p>A signed 26.6 fixed-point type used for vectorial pixel coordinates.</p>
1963 <hr>
1964
1965 <h2 id="ft_data">FT_Data<a class="headerlink" href="#ft_data" title="Permanent link">&para;</a></h2>
1966 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1967 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Data_
1968   {
1969     <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  pointer;
1970     <a href="ft2-basic_types.html#ft_int">FT_Int</a>          length;
1971
1972   } <b>FT_Data</b>;
1973 </code></pre></div>
1974
1975 <p>Read-only binary data represented as a pointer and a length.</p>
1976 <h4>fields</h4>
1977
1978 <table class="fields">
1979 <tr><td class="val" id="pointer">pointer</td><td class="desc">
1980 <p>The data.</p>
1981 </td></tr>
1982 <tr><td class="val" id="length">length</td><td class="desc">
1983 <p>The length of the data in bytes.</p>
1984 </td></tr>
1985 </table>
1986
1987 <hr>
1988
1989 <h2 id="ft_make_tag">FT_MAKE_TAG<a class="headerlink" href="#ft_make_tag" title="Permanent link">&para;</a></h2>
1990 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
1991 <div class = "codehilite"><pre><code>#<span class="keyword">define</span> <b>FT_MAKE_TAG</b>( _x1, _x2, _x3, _x4 ) \
1992           (<a href="ft2-basic_types.html#ft_tag">FT_Tag</a>)                        \
1993           ( ( (<a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>)_x1 &lt;&lt; 24 ) |     \
1994             ( (<a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>)_x2 &lt;&lt; 16 ) |     \
1995             ( (<a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>)_x3 &lt;&lt;  8 ) |     \
1996               (<a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>)_x4         )
1997 </code></pre></div>
1998
1999 <p>This macro converts four-letter tags that are used to label TrueType tables into an unsigned long, to be used within FreeType.</p>
2000 <h4>note</h4>
2001
2002 <p>The produced values <strong>must</strong> be 32-bit integers. Don't redefine this macro.</p>
2003 <hr>
2004
2005 <h2 id="ft_generic">FT_Generic<a class="headerlink" href="#ft_generic" title="Permanent link">&para;</a></h2>
2006 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
2007 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Generic_
2008   {
2009     <span class="keyword">void</span>*                 data;
2010     <a href="ft2-basic_types.html#ft_generic_finalizer">FT_Generic_Finalizer</a>  finalizer;
2011
2012   } <b>FT_Generic</b>;
2013 </code></pre></div>
2014
2015 <p>Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.</p>
2016 <p>Some FreeType object contains a <code>generic</code> field, of type <code>FT_Generic</code>, which usage is left to client applications and font servers.</p>
2017 <p>It can be used to store a pointer to client-specific data, as well as the address of a &lsquo;finalizer&rsquo; function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the <code>finalizer</code> field).</p>
2018 <h4>fields</h4>
2019
2020 <table class="fields">
2021 <tr><td class="val" id="data">data</td><td class="desc">
2022 <p>A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.</p>
2023 </td></tr>
2024 <tr><td class="val" id="finalizer">finalizer</td><td class="desc">
2025 <p>A pointer to a &lsquo;generic finalizer&rsquo; function, which will be called when the object is destroyed. If this field is set to <code>NULL</code>, no code will be called.</p>
2026 </td></tr>
2027 </table>
2028
2029 <hr>
2030
2031 <h2 id="ft_generic_finalizer">FT_Generic_Finalizer<a class="headerlink" href="#ft_generic_finalizer" title="Permanent link">&para;</a></h2>
2032 <p>Defined in FT_TYPES_H (freetype/fttypes.h).</p>
2033 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">void</span>  (*<b>FT_Generic_Finalizer</b>)( <span class="keyword">void</span>*  object );
2034 </code></pre></div>
2035
2036 <p>Describe a function used to destroy the &lsquo;client&rsquo; data of any FreeType object. See the description of the <code><a href="ft2-basic_types.html#ft_generic">FT_Generic</a></code> type for details of usage.</p>
2037 <h4>input</h4>
2038
2039 <p>The address of the FreeType object that is under finalization. Its client data is accessed through its <code>generic</code> field.</p>
2040 <hr>
2041
2042 <h2 id="ft_bitmap">FT_Bitmap<a class="headerlink" href="#ft_bitmap" title="Permanent link">&para;</a></h2>
2043 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
2044 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Bitmap_
2045   {
2046     <span class="keyword">unsigned</span> <span class="keyword">int</span>    rows;
2047     <span class="keyword">unsigned</span> <span class="keyword">int</span>    width;
2048     <span class="keyword">int</span>             pitch;
2049     <span class="keyword">unsigned</span> <span class="keyword">char</span>*  buffer;
2050     <span class="keyword">unsigned</span> <span class="keyword">short</span>  num_grays;
2051     <span class="keyword">unsigned</span> <span class="keyword">char</span>   pixel_mode;
2052     <span class="keyword">unsigned</span> <span class="keyword">char</span>   palette_mode;
2053     <span class="keyword">void</span>*           palette;
2054
2055   } <b>FT_Bitmap</b>;
2056 </code></pre></div>
2057
2058 <p>A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the <code>pixel_mode</code> field.</p>
2059 <h4>fields</h4>
2060
2061 <table class="fields">
2062 <tr><td class="val" id="rows">rows</td><td class="desc">
2063 <p>The number of bitmap rows.</p>
2064 </td></tr>
2065 <tr><td class="val" id="width">width</td><td class="desc">
2066 <p>The number of pixels in bitmap row.</p>
2067 </td></tr>
2068 <tr><td class="val" id="pitch">pitch</td><td class="desc">
2069 <p>The pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a &lsquo;down&rsquo; flow, and negative when it has an &lsquo;up&rsquo; flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.</p>
2070 <p>Note that &lsquo;padding&rsquo; means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.</p>
2071 <p>For the B/W rasterizer, <code>pitch</code> is always an even number.</p>
2072 <p>To change the pitch of a bitmap (say, to make it a multiple of 4), use <code><a href="ft2-bitmap_handling.html#ft_bitmap_convert">FT_Bitmap_Convert</a></code>. Alternatively, you might use callback functions to directly render to the application's surface; see the file <code>example2.cpp</code> in the tutorial for a demonstration.</p>
2073 </td></tr>
2074 <tr><td class="val" id="buffer">buffer</td><td class="desc">
2075 <p>A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.</p>
2076 </td></tr>
2077 <tr><td class="val" id="num_grays">num_grays</td><td class="desc">
2078 <p>This field is only used with <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_GRAY</a></code>; it gives the number of gray levels used in the bitmap.</p>
2079 </td></tr>
2080 <tr><td class="val" id="pixel_mode">pixel_mode</td><td class="desc">
2081 <p>The pixel mode, i.e., how pixel bits are stored. See <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_Pixel_Mode</a></code> for possible values.</p>
2082 </td></tr>
2083 <tr><td class="val" id="palette_mode">palette_mode</td><td class="desc">
2084 <p>This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.</p>
2085 </td></tr>
2086 <tr><td class="val" id="palette">palette</td><td class="desc">
2087 <p>A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.</p>
2088 </td></tr>
2089 </table>
2090
2091 <hr>
2092
2093 <h2 id="ft_pixel_mode">FT_Pixel_Mode<a class="headerlink" href="#ft_pixel_mode" title="Permanent link">&para;</a></h2>
2094 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
2095 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Pixel_Mode_
2096   {
2097     <a href="ft2-basic_types.html#ft_pixel_mode_none">FT_PIXEL_MODE_NONE</a> = 0,
2098     <a href="ft2-basic_types.html#ft_pixel_mode_mono">FT_PIXEL_MODE_MONO</a>,
2099     <a href="ft2-basic_types.html#ft_pixel_mode_gray">FT_PIXEL_MODE_GRAY</a>,
2100     <a href="ft2-basic_types.html#ft_pixel_mode_gray2">FT_PIXEL_MODE_GRAY2</a>,
2101     <a href="ft2-basic_types.html#ft_pixel_mode_gray4">FT_PIXEL_MODE_GRAY4</a>,
2102     <a href="ft2-basic_types.html#ft_pixel_mode_lcd">FT_PIXEL_MODE_LCD</a>,
2103     <a href="ft2-basic_types.html#ft_pixel_mode_lcd_v">FT_PIXEL_MODE_LCD_V</a>,
2104     <a href="ft2-basic_types.html#ft_pixel_mode_bgra">FT_PIXEL_MODE_BGRA</a>,
2105
2106     FT_PIXEL_MODE_MAX      /* do not remove */
2107
2108   } <b>FT_Pixel_Mode</b>;
2109
2110
2111   /* these constants are deprecated; use the corresponding `<b>FT_Pixel_Mode</b>` */
2112   /* values instead.                                                       */
2113 #<span class="keyword">define</span> ft_pixel_mode_none   <a href="ft2-basic_types.html#ft_pixel_mode_none">FT_PIXEL_MODE_NONE</a>
2114 #<span class="keyword">define</span> ft_pixel_mode_mono   <a href="ft2-basic_types.html#ft_pixel_mode_mono">FT_PIXEL_MODE_MONO</a>
2115 #<span class="keyword">define</span> ft_pixel_mode_grays  <a href="ft2-basic_types.html#ft_pixel_mode_gray">FT_PIXEL_MODE_GRAY</a>
2116 #<span class="keyword">define</span> ft_pixel_mode_pal2   <a href="ft2-basic_types.html#ft_pixel_mode_gray2">FT_PIXEL_MODE_GRAY2</a>
2117 #<span class="keyword">define</span> ft_pixel_mode_pal4   <a href="ft2-basic_types.html#ft_pixel_mode_gray4">FT_PIXEL_MODE_GRAY4</a>
2118 </code></pre></div>
2119
2120 <p>An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.</p>
2121 <h4>values</h4>
2122
2123 <table class="fields">
2124 <tr><td class="val" id="ft_pixel_mode_none">FT_PIXEL_MODE_NONE</td><td class="desc">
2125 <p>Value&nbsp;0 is reserved.</p>
2126 </td></tr>
2127 <tr><td class="val" id="ft_pixel_mode_mono">FT_PIXEL_MODE_MONO</td><td class="desc">
2128 <p>A monochrome bitmap, using 1&nbsp;bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.</p>
2129 </td></tr>
2130 <tr><td class="val" id="ft_pixel_mode_gray">FT_PIXEL_MODE_GRAY</td><td class="desc">
2131 <p>An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of &lsquo;gray&rsquo; levels is stored in the <code>num_grays</code> field of the <code><a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a></code> structure (it generally is 256).</p>
2132 </td></tr>
2133 <tr><td class="val" id="ft_pixel_mode_gray2">FT_PIXEL_MODE_GRAY2</td><td class="desc">
2134 <p>A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p>
2135 </td></tr>
2136 <tr><td class="val" id="ft_pixel_mode_gray4">FT_PIXEL_MODE_GRAY4</td><td class="desc">
2137 <p>A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p>
2138 </td></tr>
2139 <tr><td class="val" id="ft_pixel_mode_lcd">FT_PIXEL_MODE_LCD</td><td class="desc">
2140 <p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <code><a href="ft2-base_interface.html#ft_render_mode">FT_RENDER_MODE_LCD</a></code>.</p>
2141 </td></tr>
2142 <tr><td class="val" id="ft_pixel_mode_lcd_v">FT_PIXEL_MODE_LCD_V</td><td class="desc">
2143 <p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <code><a href="ft2-base_interface.html#ft_render_mode">FT_RENDER_MODE_LCD_V</a></code>.</p>
2144 </td></tr>
2145 <tr><td class="val" id="ft_pixel_mode_bgra">FT_PIXEL_MODE_BGRA</td><td class="desc">
2146 <p>[Since 2.5] An image with four 8-bit channels per pixel, representing a color image (such as emoticons) with alpha channel. For each pixel, the format is BGRA, which means, the blue channel comes first in memory. The color channels are pre-multiplied and in the sRGB colorspace. For example, full red at half-translucent opacity will be represented as &lsquo;00,00,80,80&rsquo;, not &lsquo;00,00,FF,80&rsquo;. See also <code><a href="ft2-base_interface.html#ft_load_xxx">FT_LOAD_COLOR</a></code>.</p>
2147 </td></tr>
2148 </table>
2149
2150 <hr>
2151
2152 <h2 id="ft_glyph_format">FT_Glyph_Format<a class="headerlink" href="#ft_glyph_format" title="Permanent link">&para;</a></h2>
2153 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
2154 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Glyph_Format_
2155   {
2156     <a href="ft2-basic_types.html#ft_image_tag">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#ft_glyph_format_none">FT_GLYPH_FORMAT_NONE</a>, 0, 0, 0, 0 ),
2157
2158     <a href="ft2-basic_types.html#ft_image_tag">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#ft_glyph_format_composite">FT_GLYPH_FORMAT_COMPOSITE</a>, 'c', 'o', 'm', 'p' ),
2159     <a href="ft2-basic_types.html#ft_image_tag">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#ft_glyph_format_bitmap">FT_GLYPH_FORMAT_BITMAP</a>,    'b', 'i', 't', 's' ),
2160     <a href="ft2-basic_types.html#ft_image_tag">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#ft_glyph_format_outline">FT_GLYPH_FORMAT_OUTLINE</a>,   'o', 'u', 't', 'l' ),
2161     <a href="ft2-basic_types.html#ft_image_tag">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#ft_glyph_format_plotter">FT_GLYPH_FORMAT_PLOTTER</a>,   'p', 'l', 'o', 't' )
2162
2163   } <b>FT_Glyph_Format</b>;
2164
2165
2166   /* these constants are deprecated; use the corresponding */
2167   /* `<b>FT_Glyph_Format</b>` values instead.                     */
2168 #<span class="keyword">define</span> ft_glyph_format_none       <a href="ft2-basic_types.html#ft_glyph_format_none">FT_GLYPH_FORMAT_NONE</a>
2169 #<span class="keyword">define</span> ft_glyph_format_composite  <a href="ft2-basic_types.html#ft_glyph_format_composite">FT_GLYPH_FORMAT_COMPOSITE</a>
2170 #<span class="keyword">define</span> ft_glyph_format_bitmap     <a href="ft2-basic_types.html#ft_glyph_format_bitmap">FT_GLYPH_FORMAT_BITMAP</a>
2171 #<span class="keyword">define</span> ft_glyph_format_outline    <a href="ft2-basic_types.html#ft_glyph_format_outline">FT_GLYPH_FORMAT_OUTLINE</a>
2172 #<span class="keyword">define</span> ft_glyph_format_plotter    <a href="ft2-basic_types.html#ft_glyph_format_plotter">FT_GLYPH_FORMAT_PLOTTER</a>
2173 </code></pre></div>
2174
2175 <p>An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.</p>
2176 <h4>values</h4>
2177
2178 <table class="fields">
2179 <tr><td class="val" id="ft_glyph_format_none">FT_GLYPH_FORMAT_NONE</td><td class="desc">
2180 <p>The value&nbsp;0 is reserved.</p>
2181 </td></tr>
2182 <tr><td class="val" id="ft_glyph_format_composite">FT_GLYPH_FORMAT_COMPOSITE</td><td class="desc">
2183 <p>The glyph image is a composite of several other images. This format is <em>only</em> used with <code><a href="ft2-base_interface.html#ft_load_xxx">FT_LOAD_NO_RECURSE</a></code>, and is used to report compound glyphs (like accented characters).</p>
2184 </td></tr>
2185 <tr><td class="val" id="ft_glyph_format_bitmap">FT_GLYPH_FORMAT_BITMAP</td><td class="desc">
2186 <p>The glyph image is a bitmap, and can be described as an <code><a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a></code>. You generally need to access the <code>bitmap</code> field of the <code><a href="ft2-base_interface.html#ft_glyphslotrec">FT_GlyphSlotRec</a></code> structure to read it.</p>
2187 </td></tr>
2188 <tr><td class="val" id="ft_glyph_format_outline">FT_GLYPH_FORMAT_OUTLINE</td><td class="desc">
2189 <p>The glyph image is a vectorial outline made of line segments and Bezier arcs; it can be described as an <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code>; you generally want to access the <code>outline</code> field of the <code><a href="ft2-base_interface.html#ft_glyphslotrec">FT_GlyphSlotRec</a></code> structure to read it.</p>
2190 </td></tr>
2191 <tr><td class="val" id="ft_glyph_format_plotter">FT_GLYPH_FORMAT_PLOTTER</td><td class="desc">
2192 <p>The glyph image is a vectorial path with no inside and outside contours. Some Type&nbsp;1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code>, but FreeType isn't currently capable of rendering them correctly.</p>
2193 </td></tr>
2194 </table>
2195
2196 <hr>
2197
2198 <h2 id="ft_image_tag">FT_IMAGE_TAG<a class="headerlink" href="#ft_image_tag" title="Permanent link">&para;</a></h2>
2199 <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p>
2200 <div class = "codehilite"><pre><code>#<span class="keyword">ifndef</span> <b>FT_IMAGE_TAG</b>
2201 #<span class="keyword">define</span> <b>FT_IMAGE_TAG</b>( value, _x1, _x2, _x3, _x4 )  \
2202           value = ( ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x1 &lt;&lt; 24 ) | \
2203                     ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x2 &lt;&lt; 16 ) | \
2204                     ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x3 &lt;&lt; 8  ) | \
2205                       (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x4         )
2206 #<span class="keyword">endif</span> /* <b>FT_IMAGE_TAG</b> */
2207 </code></pre></div>
2208
2209 <p>This macro converts four-letter tags to an unsigned long type.</p>
2210 <h4>note</h4>
2211
2212 <p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:
2213 <div class="highlight"><pre><span></span><code>  #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value
2214 </code></pre></div></p>
2215 <p>to get a simple enumeration without assigning special numbers.</p>
2216 <hr>
2217                 
2218                   
2219                 
2220                 
2221               
2222               
2223                 
2224
2225
2226               
2227             </article>
2228           </div>
2229         </div>
2230       </main>
2231       
2232         
2233 <footer class="md-footer">
2234   
2235     <div class="md-footer-nav">
2236       <nav class="md-footer-nav__inner md-grid">
2237         
2238           <a href="ft2-version.html" title="FreeType Version" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
2239             <div class="md-flex__cell md-flex__cell--shrink">
2240               <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
2241             </div>
2242             <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
2243               <span class="md-flex__ellipsis">
2244                 <span class="md-footer-nav__direction">
2245                   Previous
2246                 </span>
2247                 FreeType Version
2248               </span>
2249             </div>
2250           </a>
2251         
2252         
2253           <a href="ft2-base_interface.html" title="Base Interface" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
2254             <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
2255               <span class="md-flex__ellipsis">
2256                 <span class="md-footer-nav__direction">
2257                   Next
2258                 </span>
2259                 Base Interface
2260               </span>
2261             </div>
2262             <div class="md-flex__cell md-flex__cell--shrink">
2263               <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
2264             </div>
2265           </a>
2266         
2267       </nav>
2268     </div>
2269   
2270   <div class="md-footer-meta md-typeset">
2271     <div class="md-footer-meta__inner md-grid">
2272       <div class="md-footer-copyright">
2273         
2274           <div class="md-footer-copyright__highlight">
2275             Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
2276           </div>
2277         
2278         powered by
2279         <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
2280         and
2281         <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2282           Material for MkDocs</a>
2283       </div>
2284       
2285     </div>
2286   </div>
2287 </footer>
2288       
2289     </div>
2290     
2291       <script src="assets/javascripts/application.c33a9706.js"></script>
2292       
2293       <script>app.initialize({version:"1.1",url:{base:"."}})</script>
2294       
2295         <script src="javascripts/extra.js"></script>
2296       
2297     
2298   </body>
2299 </html>