Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / docs / reference / ft2-layer_management.html
1
2 <!doctype html>
3 <html lang="en" class="no-js">
4   <head>
5     
6       <meta charset="utf-8">
7       <meta name="viewport" content="width=device-width,initial-scale=1">
8       
9         <meta name="description" content="API Reference Documentation for FreeType-2.13.2">
10       
11       
12       
13         <meta name="author" content="FreeType Contributors">
14       
15       
16       <link rel="icon" href="images/favico.ico">
17       <meta name="generator" content="mkdocs-1.4.3, mkdocs-material-7.1.9">
18     
19     
20       
21         <title>Glyph Layer Management - FreeType-2.13.2 API Reference</title>
22       
23     
24     
25       <link rel="stylesheet" href="assets/stylesheets/main.ca7ac06f.min.css">
26       
27         
28         <link rel="stylesheet" href="assets/stylesheets/palette.f1a3b89f.min.css">
29         
30           
31           
32           <meta name="theme-color" content="#4cae4f">
33         
34       
35     
36     
37     
38       
39         
40         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
41         <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Serif:300,400,400i,700%7CRoboto+Mono&display=fallback">
42         <style>:root{--md-text-font-family:"Noto Serif";--md-code-font-family:"Roboto Mono"}</style>
43       
44     
45     
46     
47       <link rel="stylesheet" href="stylesheets/extra.css">
48     
49     
50       
51
52
53     
54     
55   </head>
56   
57   
58     
59     
60     
61     
62     
63     <body dir="ltr" data-md-color-scheme="" data-md-color-primary="green" data-md-color-accent="green">
64   
65     
66     <script>function __prefix(e){return new URL(".",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
67     
68     <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
69     <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
70     <label class="md-overlay" for="__drawer"></label>
71     <div data-md-component="skip">
72       
73         
74         <a href="#glyph-layer-management" class="md-skip">
75           Skip to content
76         </a>
77       
78     </div>
79     <div data-md-component="announce">
80       
81     </div>
82     
83       <header class="md-header" data-md-component="header">
84   <nav class="md-header__inner md-grid" aria-label="Header">
85     <a href="index.html" title="FreeType-2.13.2 API Reference" class="md-header__button md-logo" aria-label="FreeType-2.13.2 API Reference" data-md-component="logo">
86       
87   <img src="images/favico.ico" alt="logo">
88
89     </a>
90     <label class="md-header__button md-icon" for="__drawer">
91       <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
92     </label>
93     <div class="md-header__title" data-md-component="header-title">
94       <div class="md-header__ellipsis">
95         <div class="md-header__topic">
96           <span class="md-ellipsis">
97             FreeType-2.13.2 API Reference
98           </span>
99         </div>
100         <div class="md-header__topic" data-md-component="header-topic">
101           <span class="md-ellipsis">
102             
103               Glyph Layer Management
104             
105           </span>
106         </div>
107       </div>
108     </div>
109     
110     
111     
112       <label class="md-header__button md-icon" for="__search">
113         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
114       </label>
115       
116 <div class="md-search" data-md-component="search" role="dialog">
117   <label class="md-search__overlay" for="__search"></label>
118   <div class="md-search__inner" role="search">
119     <form class="md-search__form" name="search">
120       <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
121       <label class="md-search__icon md-icon" for="__search">
122         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
123         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
124       </label>
125       <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
126         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
127       </button>
128     </form>
129     <div class="md-search__output">
130       <div class="md-search__scrollwrap" data-md-scrollfix>
131         <div class="md-search-result" data-md-component="search-result">
132           <div class="md-search-result__meta">
133             Initializing search
134           </div>
135           <ol class="md-search-result__list"></ol>
136         </div>
137       </div>
138     </div>
139   </div>
140 </div>
141     
142     
143   </nav>
144 </header>
145     
146     <div class="md-container" data-md-component="container">
147       
148       
149         
150       
151       <main class="md-main" data-md-component="main">
152         <div class="md-main__inner md-grid">
153           
154             
155               
156               <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
157                 <div class="md-sidebar__scrollwrap">
158                   <div class="md-sidebar__inner">
159                     
160
161
162 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
163   <label class="md-nav__title" for="__drawer">
164     <a href="index.html" title="FreeType-2.13.2 API Reference" class="md-nav__button md-logo" aria-label="FreeType-2.13.2 API Reference" data-md-component="logo">
165       
166   <img src="images/favico.ico" alt="logo">
167
168     </a>
169     FreeType-2.13.2 API Reference
170   </label>
171   
172   <ul class="md-nav__list" data-md-scrollfix>
173     
174       
175       
176       
177
178   
179   
180   
181     <li class="md-nav__item">
182       <a href="index.html" class="md-nav__link">
183         TOC
184       </a>
185     </li>
186   
187
188     
189       
190       
191       
192
193   
194   
195   
196     <li class="md-nav__item">
197       <a href="ft2-index.html" class="md-nav__link">
198         Index
199       </a>
200     </li>
201   
202
203     
204       
205       
206       
207
208   
209   
210   
211     
212     <li class="md-nav__item md-nav__item--nested">
213       
214       
215         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
216       
217       <label class="md-nav__link" for="__nav_3">
218         General Remarks
219         <span class="md-nav__icon md-icon"></span>
220       </label>
221       <nav class="md-nav" aria-label="General Remarks" data-md-level="1">
222         <label class="md-nav__title" for="__nav_3">
223           <span class="md-nav__icon md-icon"></span>
224           General Remarks
225         </label>
226         <ul class="md-nav__list" data-md-scrollfix>
227           
228             
229   
230   
231   
232     <li class="md-nav__item">
233       <a href="ft2-preamble.html" class="md-nav__link">
234         Preamble
235       </a>
236     </li>
237   
238
239           
240             
241   
242   
243   
244     <li class="md-nav__item">
245       <a href="ft2-header_inclusion.html" class="md-nav__link">
246         FreeType's header inclusion scheme
247       </a>
248     </li>
249   
250
251           
252             
253   
254   
255   
256     <li class="md-nav__item">
257       <a href="ft2-user_allocation.html" class="md-nav__link">
258         User allocation
259       </a>
260     </li>
261   
262
263           
264         </ul>
265       </nav>
266     </li>
267   
268
269     
270       
271       
272       
273
274   
275   
276   
277     
278     <li class="md-nav__item md-nav__item--nested">
279       
280       
281         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
282       
283       <label class="md-nav__link" for="__nav_4">
284         Core API
285         <span class="md-nav__icon md-icon"></span>
286       </label>
287       <nav class="md-nav" aria-label="Core API" data-md-level="1">
288         <label class="md-nav__title" for="__nav_4">
289           <span class="md-nav__icon md-icon"></span>
290           Core API
291         </label>
292         <ul class="md-nav__list" data-md-scrollfix>
293           
294             
295   
296   
297   
298     <li class="md-nav__item">
299       <a href="ft2-basic_types.html" class="md-nav__link">
300         Basic Data Types
301       </a>
302     </li>
303   
304
305           
306             
307   
308   
309   
310     <li class="md-nav__item">
311       <a href="ft2-library_setup.html" class="md-nav__link">
312         Library Setup
313       </a>
314     </li>
315   
316
317           
318             
319   
320   
321   
322     <li class="md-nav__item">
323       <a href="ft2-face_creation.html" class="md-nav__link">
324         Face Creation
325       </a>
326     </li>
327   
328
329           
330             
331   
332   
333   
334     <li class="md-nav__item">
335       <a href="ft2-font_testing_macros.html" class="md-nav__link">
336         Font Testing Macros
337       </a>
338     </li>
339   
340
341           
342             
343   
344   
345   
346     <li class="md-nav__item">
347       <a href="ft2-sizing_and_scaling.html" class="md-nav__link">
348         Sizing and Scaling
349       </a>
350     </li>
351   
352
353           
354             
355   
356   
357   
358     <li class="md-nav__item">
359       <a href="ft2-glyph_retrieval.html" class="md-nav__link">
360         Glyph Retrieval
361       </a>
362     </li>
363   
364
365           
366             
367   
368   
369   
370     <li class="md-nav__item">
371       <a href="ft2-character_mapping.html" class="md-nav__link">
372         Character Mapping
373       </a>
374     </li>
375   
376
377           
378             
379   
380   
381   
382     <li class="md-nav__item">
383       <a href="ft2-information_retrieval.html" class="md-nav__link">
384         Information Retrieval
385       </a>
386     </li>
387   
388
389           
390             
391   
392   
393   
394     <li class="md-nav__item">
395       <a href="ft2-other_api_data.html" class="md-nav__link">
396         Other API Data
397       </a>
398     </li>
399   
400
401           
402         </ul>
403       </nav>
404     </li>
405   
406
407     
408       
409       
410       
411
412   
413   
414     
415   
416   
417     
418     <li class="md-nav__item md-nav__item--active md-nav__item--nested">
419       
420       
421         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" checked>
422       
423       <label class="md-nav__link" for="__nav_5">
424         Extended API
425         <span class="md-nav__icon md-icon"></span>
426       </label>
427       <nav class="md-nav" aria-label="Extended API" data-md-level="1">
428         <label class="md-nav__title" for="__nav_5">
429           <span class="md-nav__icon md-icon"></span>
430           Extended API
431         </label>
432         <ul class="md-nav__list" data-md-scrollfix>
433           
434             
435   
436   
437   
438     <li class="md-nav__item">
439       <a href="ft2-glyph_variants.html" class="md-nav__link">
440         Unicode Variation Sequences
441       </a>
442     </li>
443   
444
445           
446             
447   
448   
449   
450     <li class="md-nav__item">
451       <a href="ft2-color_management.html" class="md-nav__link">
452         Glyph Color Management
453       </a>
454     </li>
455   
456
457           
458             
459   
460   
461     
462   
463   
464     <li class="md-nav__item md-nav__item--active">
465       
466       <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
467       
468       
469         
470       
471       
472         <label class="md-nav__link md-nav__link--active" for="__toc">
473           Glyph Layer Management
474           <span class="md-nav__icon md-icon"></span>
475         </label>
476       
477       <a href="ft2-layer_management.html" class="md-nav__link md-nav__link--active">
478         Glyph Layer Management
479       </a>
480       
481         
482 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
483   
484   
485   
486     
487   
488   
489     <label class="md-nav__title" for="__toc">
490       <span class="md-nav__icon md-icon"></span>
491       Table of contents
492     </label>
493     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
494       
495         <li class="md-nav__item">
496   <a href="#synopsis" class="md-nav__link">
497     Synopsis
498   </a>
499   
500 </li>
501       
502         <li class="md-nav__item">
503   <a href="#ft_layeriterator" class="md-nav__link">
504     FT_LayerIterator
505   </a>
506   
507 </li>
508       
509         <li class="md-nav__item">
510   <a href="#ft_get_color_glyph_layer" class="md-nav__link">
511     FT_Get_Color_Glyph_Layer
512   </a>
513   
514 </li>
515       
516         <li class="md-nav__item">
517   <a href="#ft_paintformat" class="md-nav__link">
518     FT_PaintFormat
519   </a>
520   
521 </li>
522       
523         <li class="md-nav__item">
524   <a href="#ft_colorstopiterator" class="md-nav__link">
525     FT_ColorStopIterator
526   </a>
527   
528 </li>
529       
530         <li class="md-nav__item">
531   <a href="#ft_colorindex" class="md-nav__link">
532     FT_ColorIndex
533   </a>
534   
535 </li>
536       
537         <li class="md-nav__item">
538   <a href="#ft_colorstop" class="md-nav__link">
539     FT_ColorStop
540   </a>
541   
542 </li>
543       
544         <li class="md-nav__item">
545   <a href="#ft_paintextend" class="md-nav__link">
546     FT_PaintExtend
547   </a>
548   
549 </li>
550       
551         <li class="md-nav__item">
552   <a href="#ft_colorline" class="md-nav__link">
553     FT_ColorLine
554   </a>
555   
556 </li>
557       
558         <li class="md-nav__item">
559   <a href="#ft_affine23" class="md-nav__link">
560     FT_Affine23
561   </a>
562   
563 </li>
564       
565         <li class="md-nav__item">
566   <a href="#ft_composite_mode" class="md-nav__link">
567     FT_Composite_Mode
568   </a>
569   
570 </li>
571       
572         <li class="md-nav__item">
573   <a href="#ft_opaquepaint" class="md-nav__link">
574     FT_OpaquePaint
575   </a>
576   
577 </li>
578       
579         <li class="md-nav__item">
580   <a href="#ft_paintcolrlayers" class="md-nav__link">
581     FT_PaintColrLayers
582   </a>
583   
584 </li>
585       
586         <li class="md-nav__item">
587   <a href="#ft_paintsolid" class="md-nav__link">
588     FT_PaintSolid
589   </a>
590   
591 </li>
592       
593         <li class="md-nav__item">
594   <a href="#ft_paintlineargradient" class="md-nav__link">
595     FT_PaintLinearGradient
596   </a>
597   
598 </li>
599       
600         <li class="md-nav__item">
601   <a href="#ft_paintradialgradient" class="md-nav__link">
602     FT_PaintRadialGradient
603   </a>
604   
605 </li>
606       
607         <li class="md-nav__item">
608   <a href="#ft_paintsweepgradient" class="md-nav__link">
609     FT_PaintSweepGradient
610   </a>
611   
612 </li>
613       
614         <li class="md-nav__item">
615   <a href="#ft_paintglyph" class="md-nav__link">
616     FT_PaintGlyph
617   </a>
618   
619 </li>
620       
621         <li class="md-nav__item">
622   <a href="#ft_paintcolrglyph" class="md-nav__link">
623     FT_PaintColrGlyph
624   </a>
625   
626 </li>
627       
628         <li class="md-nav__item">
629   <a href="#ft_painttransform" class="md-nav__link">
630     FT_PaintTransform
631   </a>
632   
633 </li>
634       
635         <li class="md-nav__item">
636   <a href="#ft_painttranslate" class="md-nav__link">
637     FT_PaintTranslate
638   </a>
639   
640 </li>
641       
642         <li class="md-nav__item">
643   <a href="#ft_paintscale" class="md-nav__link">
644     FT_PaintScale
645   </a>
646   
647 </li>
648       
649         <li class="md-nav__item">
650   <a href="#ft_paintrotate" class="md-nav__link">
651     FT_PaintRotate
652   </a>
653   
654 </li>
655       
656         <li class="md-nav__item">
657   <a href="#ft_paintskew" class="md-nav__link">
658     FT_PaintSkew
659   </a>
660   
661 </li>
662       
663         <li class="md-nav__item">
664   <a href="#ft_paintcomposite" class="md-nav__link">
665     FT_PaintComposite
666   </a>
667   
668 </li>
669       
670         <li class="md-nav__item">
671   <a href="#ft_colr_paint" class="md-nav__link">
672     FT_COLR_Paint
673   </a>
674   
675 </li>
676       
677         <li class="md-nav__item">
678   <a href="#ft_color_root_transform" class="md-nav__link">
679     FT_Color_Root_Transform
680   </a>
681   
682 </li>
683       
684         <li class="md-nav__item">
685   <a href="#ft_clipbox" class="md-nav__link">
686     FT_ClipBox
687   </a>
688   
689 </li>
690       
691         <li class="md-nav__item">
692   <a href="#ft_get_color_glyph_paint" class="md-nav__link">
693     FT_Get_Color_Glyph_Paint
694   </a>
695   
696 </li>
697       
698         <li class="md-nav__item">
699   <a href="#ft_get_color_glyph_clipbox" class="md-nav__link">
700     FT_Get_Color_Glyph_ClipBox
701   </a>
702   
703 </li>
704       
705         <li class="md-nav__item">
706   <a href="#ft_get_paint_layers" class="md-nav__link">
707     FT_Get_Paint_Layers
708   </a>
709   
710 </li>
711       
712         <li class="md-nav__item">
713   <a href="#ft_get_colorline_stops" class="md-nav__link">
714     FT_Get_Colorline_Stops
715   </a>
716   
717 </li>
718       
719         <li class="md-nav__item">
720   <a href="#ft_get_paint" class="md-nav__link">
721     FT_Get_Paint
722   </a>
723   
724 </li>
725       
726     </ul>
727   
728 </nav>
729       
730     </li>
731   
732
733           
734             
735   
736   
737   
738     <li class="md-nav__item">
739       <a href="ft2-glyph_management.html" class="md-nav__link">
740         Glyph Management
741       </a>
742     </li>
743   
744
745           
746             
747   
748   
749   
750     <li class="md-nav__item">
751       <a href="ft2-mac_specific.html" class="md-nav__link">
752         Mac Specific Interface
753       </a>
754     </li>
755   
756
757           
758             
759   
760   
761   
762     <li class="md-nav__item">
763       <a href="ft2-sizes_management.html" class="md-nav__link">
764         Size Management
765       </a>
766     </li>
767   
768
769           
770             
771   
772   
773   
774     <li class="md-nav__item">
775       <a href="ft2-header_file_macros.html" class="md-nav__link">
776         Header File Macros
777       </a>
778     </li>
779   
780
781           
782         </ul>
783       </nav>
784     </li>
785   
786
787     
788       
789       
790       
791
792   
793   
794   
795     
796     <li class="md-nav__item md-nav__item--nested">
797       
798       
799         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
800       
801       <label class="md-nav__link" for="__nav_6">
802         Format-Specific API
803         <span class="md-nav__icon md-icon"></span>
804       </label>
805       <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
806         <label class="md-nav__title" for="__nav_6">
807           <span class="md-nav__icon md-icon"></span>
808           Format-Specific API
809         </label>
810         <ul class="md-nav__list" data-md-scrollfix>
811           
812             
813   
814   
815   
816     <li class="md-nav__item">
817       <a href="ft2-multiple_masters.html" class="md-nav__link">
818         Multiple Masters
819       </a>
820     </li>
821   
822
823           
824             
825   
826   
827   
828     <li class="md-nav__item">
829       <a href="ft2-truetype_tables.html" class="md-nav__link">
830         TrueType Tables
831       </a>
832     </li>
833   
834
835           
836             
837   
838   
839   
840     <li class="md-nav__item">
841       <a href="ft2-type1_tables.html" class="md-nav__link">
842         Type 1 Tables
843       </a>
844     </li>
845   
846
847           
848             
849   
850   
851   
852     <li class="md-nav__item">
853       <a href="ft2-sfnt_names.html" class="md-nav__link">
854         SFNT Names
855       </a>
856     </li>
857   
858
859           
860             
861   
862   
863   
864     <li class="md-nav__item">
865       <a href="ft2-bdf_fonts.html" class="md-nav__link">
866         BDF and PCF Files
867       </a>
868     </li>
869   
870
871           
872             
873   
874   
875   
876     <li class="md-nav__item">
877       <a href="ft2-cid_fonts.html" class="md-nav__link">
878         CID Fonts
879       </a>
880     </li>
881   
882
883           
884             
885   
886   
887   
888     <li class="md-nav__item">
889       <a href="ft2-pfr_fonts.html" class="md-nav__link">
890         PFR Fonts
891       </a>
892     </li>
893   
894
895           
896             
897   
898   
899   
900     <li class="md-nav__item">
901       <a href="ft2-winfnt_fonts.html" class="md-nav__link">
902         Window FNT Files
903       </a>
904     </li>
905   
906
907           
908             
909   
910   
911   
912     <li class="md-nav__item">
913       <a href="ft2-svg_fonts.html" class="md-nav__link">
914         OpenType SVG Fonts
915       </a>
916     </li>
917   
918
919           
920             
921   
922   
923   
924     <li class="md-nav__item">
925       <a href="ft2-font_formats.html" class="md-nav__link">
926         Font Formats
927       </a>
928     </li>
929   
930
931           
932             
933   
934   
935   
936     <li class="md-nav__item">
937       <a href="ft2-gasp_table.html" class="md-nav__link">
938         Gasp Table
939       </a>
940     </li>
941   
942
943           
944         </ul>
945       </nav>
946     </li>
947   
948
949     
950       
951       
952       
953
954   
955   
956   
957     
958     <li class="md-nav__item md-nav__item--nested">
959       
960       
961         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
962       
963       <label class="md-nav__link" for="__nav_7">
964         Controlling FreeType Modules
965         <span class="md-nav__icon md-icon"></span>
966       </label>
967       <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
968         <label class="md-nav__title" for="__nav_7">
969           <span class="md-nav__icon md-icon"></span>
970           Controlling FreeType Modules
971         </label>
972         <ul class="md-nav__list" data-md-scrollfix>
973           
974             
975   
976   
977   
978     <li class="md-nav__item">
979       <a href="ft2-auto_hinter.html" class="md-nav__link">
980         The auto-hinter
981       </a>
982     </li>
983   
984
985           
986             
987   
988   
989   
990     <li class="md-nav__item">
991       <a href="ft2-cff_driver.html" class="md-nav__link">
992         The CFF driver
993       </a>
994     </li>
995   
996
997           
998             
999   
1000   
1001   
1002     <li class="md-nav__item">
1003       <a href="ft2-t1_cid_driver.html" class="md-nav__link">
1004         The Type 1 and CID drivers
1005       </a>
1006     </li>
1007   
1008
1009           
1010             
1011   
1012   
1013   
1014     <li class="md-nav__item">
1015       <a href="ft2-tt_driver.html" class="md-nav__link">
1016         The TrueType driver
1017       </a>
1018     </li>
1019   
1020
1021           
1022             
1023   
1024   
1025   
1026     <li class="md-nav__item">
1027       <a href="ft2-pcf_driver.html" class="md-nav__link">
1028         The PCF driver
1029       </a>
1030     </li>
1031   
1032
1033           
1034             
1035   
1036   
1037   
1038     <li class="md-nav__item">
1039       <a href="ft2-ot_svg_driver.html" class="md-nav__link">
1040         The SVG driver
1041       </a>
1042     </li>
1043   
1044
1045           
1046             
1047   
1048   
1049   
1050     <li class="md-nav__item">
1051       <a href="ft2-properties.html" class="md-nav__link">
1052         Driver properties
1053       </a>
1054     </li>
1055   
1056
1057           
1058             
1059   
1060   
1061   
1062     <li class="md-nav__item">
1063       <a href="ft2-parameter_tags.html" class="md-nav__link">
1064         Parameter Tags
1065       </a>
1066     </li>
1067   
1068
1069           
1070             
1071   
1072   
1073   
1074     <li class="md-nav__item">
1075       <a href="ft2-lcd_rendering.html" class="md-nav__link">
1076         Subpixel Rendering
1077       </a>
1078     </li>
1079   
1080
1081           
1082         </ul>
1083       </nav>
1084     </li>
1085   
1086
1087     
1088       
1089       
1090       
1091
1092   
1093   
1094   
1095     
1096     <li class="md-nav__item md-nav__item--nested">
1097       
1098       
1099         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
1100       
1101       <label class="md-nav__link" for="__nav_8">
1102         Cache Sub-System
1103         <span class="md-nav__icon md-icon"></span>
1104       </label>
1105       <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1">
1106         <label class="md-nav__title" for="__nav_8">
1107           <span class="md-nav__icon md-icon"></span>
1108           Cache Sub-System
1109         </label>
1110         <ul class="md-nav__list" data-md-scrollfix>
1111           
1112             
1113   
1114   
1115   
1116     <li class="md-nav__item">
1117       <a href="ft2-cache_subsystem.html" class="md-nav__link">
1118         Cache Sub-System
1119       </a>
1120     </li>
1121   
1122
1123           
1124         </ul>
1125       </nav>
1126     </li>
1127   
1128
1129     
1130       
1131       
1132       
1133
1134   
1135   
1136   
1137     
1138     <li class="md-nav__item md-nav__item--nested">
1139       
1140       
1141         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
1142       
1143       <label class="md-nav__link" for="__nav_9">
1144         Support API
1145         <span class="md-nav__icon md-icon"></span>
1146       </label>
1147       <nav class="md-nav" aria-label="Support API" data-md-level="1">
1148         <label class="md-nav__title" for="__nav_9">
1149           <span class="md-nav__icon md-icon"></span>
1150           Support API
1151         </label>
1152         <ul class="md-nav__list" data-md-scrollfix>
1153           
1154             
1155   
1156   
1157   
1158     <li class="md-nav__item">
1159       <a href="ft2-computations.html" class="md-nav__link">
1160         Computations
1161       </a>
1162     </li>
1163   
1164
1165           
1166             
1167   
1168   
1169   
1170     <li class="md-nav__item">
1171       <a href="ft2-list_processing.html" class="md-nav__link">
1172         List Processing
1173       </a>
1174     </li>
1175   
1176
1177           
1178             
1179   
1180   
1181   
1182     <li class="md-nav__item">
1183       <a href="ft2-outline_processing.html" class="md-nav__link">
1184         Outline Processing
1185       </a>
1186     </li>
1187   
1188
1189           
1190             
1191   
1192   
1193   
1194     <li class="md-nav__item">
1195       <a href="ft2-quick_advance.html" class="md-nav__link">
1196         Quick retrieval of advance values
1197       </a>
1198     </li>
1199   
1200
1201           
1202             
1203   
1204   
1205   
1206     <li class="md-nav__item">
1207       <a href="ft2-bitmap_handling.html" class="md-nav__link">
1208         Bitmap Handling
1209       </a>
1210     </li>
1211   
1212
1213           
1214             
1215   
1216   
1217   
1218     <li class="md-nav__item">
1219       <a href="ft2-raster.html" class="md-nav__link">
1220         Scanline Converter
1221       </a>
1222     </li>
1223   
1224
1225           
1226             
1227   
1228   
1229   
1230     <li class="md-nav__item">
1231       <a href="ft2-glyph_stroker.html" class="md-nav__link">
1232         Glyph Stroker
1233       </a>
1234     </li>
1235   
1236
1237           
1238             
1239   
1240   
1241   
1242     <li class="md-nav__item">
1243       <a href="ft2-system_interface.html" class="md-nav__link">
1244         System Interface
1245       </a>
1246     </li>
1247   
1248
1249           
1250             
1251   
1252   
1253   
1254     <li class="md-nav__item">
1255       <a href="ft2-module_management.html" class="md-nav__link">
1256         Module Management
1257       </a>
1258     </li>
1259   
1260
1261           
1262             
1263   
1264   
1265   
1266     <li class="md-nav__item">
1267       <a href="ft2-gzip.html" class="md-nav__link">
1268         GZIP Streams
1269       </a>
1270     </li>
1271   
1272
1273           
1274             
1275   
1276   
1277   
1278     <li class="md-nav__item">
1279       <a href="ft2-lzw.html" class="md-nav__link">
1280         LZW Streams
1281       </a>
1282     </li>
1283   
1284
1285           
1286             
1287   
1288   
1289   
1290     <li class="md-nav__item">
1291       <a href="ft2-bzip2.html" class="md-nav__link">
1292         BZIP2 Streams
1293       </a>
1294     </li>
1295   
1296
1297           
1298             
1299   
1300   
1301   
1302     <li class="md-nav__item">
1303       <a href="ft2-debugging_apis.html" class="md-nav__link">
1304         External Debugging APIs
1305       </a>
1306     </li>
1307   
1308
1309           
1310         </ul>
1311       </nav>
1312     </li>
1313   
1314
1315     
1316       
1317       
1318       
1319
1320   
1321   
1322   
1323     
1324     <li class="md-nav__item md-nav__item--nested">
1325       
1326       
1327         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
1328       
1329       <label class="md-nav__link" for="__nav_10">
1330         Error Codes
1331         <span class="md-nav__icon md-icon"></span>
1332       </label>
1333       <nav class="md-nav" aria-label="Error Codes" data-md-level="1">
1334         <label class="md-nav__title" for="__nav_10">
1335           <span class="md-nav__icon md-icon"></span>
1336           Error Codes
1337         </label>
1338         <ul class="md-nav__list" data-md-scrollfix>
1339           
1340             
1341   
1342   
1343   
1344     <li class="md-nav__item">
1345       <a href="ft2-error_enumerations.html" class="md-nav__link">
1346         Error Enumerations
1347       </a>
1348     </li>
1349   
1350
1351           
1352             
1353   
1354   
1355   
1356     <li class="md-nav__item">
1357       <a href="ft2-error_code_values.html" class="md-nav__link">
1358         Error Code Values
1359       </a>
1360     </li>
1361   
1362
1363           
1364         </ul>
1365       </nav>
1366     </li>
1367   
1368
1369     
1370       
1371       
1372       
1373
1374   
1375   
1376   
1377     
1378     <li class="md-nav__item md-nav__item--nested">
1379       
1380       
1381         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
1382       
1383       <label class="md-nav__link" for="__nav_11">
1384         Miscellaneous
1385         <span class="md-nav__icon md-icon"></span>
1386       </label>
1387       <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1">
1388         <label class="md-nav__title" for="__nav_11">
1389           <span class="md-nav__icon md-icon"></span>
1390           Miscellaneous
1391         </label>
1392         <ul class="md-nav__list" data-md-scrollfix>
1393           
1394             
1395   
1396   
1397   
1398     <li class="md-nav__item">
1399       <a href="ft2-gx_validation.html" class="md-nav__link">
1400         TrueTypeGX/AAT Validation
1401       </a>
1402     </li>
1403   
1404
1405           
1406             
1407   
1408   
1409   
1410     <li class="md-nav__item">
1411       <a href="ft2-incremental.html" class="md-nav__link">
1412         Incremental Loading
1413       </a>
1414     </li>
1415   
1416
1417           
1418             
1419   
1420   
1421   
1422     <li class="md-nav__item">
1423       <a href="ft2-truetype_engine.html" class="md-nav__link">
1424         The TrueType Engine
1425       </a>
1426     </li>
1427   
1428
1429           
1430             
1431   
1432   
1433   
1434     <li class="md-nav__item">
1435       <a href="ft2-ot_validation.html" class="md-nav__link">
1436         OpenType Validation
1437       </a>
1438     </li>
1439   
1440
1441           
1442         </ul>
1443       </nav>
1444     </li>
1445   
1446
1447     
1448   </ul>
1449 </nav>
1450                   </div>
1451                 </div>
1452               </div>
1453             
1454             
1455               
1456               <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1457                 <div class="md-sidebar__scrollwrap">
1458                   <div class="md-sidebar__inner">
1459                     
1460 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1461   
1462   
1463   
1464     
1465   
1466   
1467     <label class="md-nav__title" for="__toc">
1468       <span class="md-nav__icon md-icon"></span>
1469       Table of contents
1470     </label>
1471     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1472       
1473         <li class="md-nav__item">
1474   <a href="#synopsis" class="md-nav__link">
1475     Synopsis
1476   </a>
1477   
1478 </li>
1479       
1480         <li class="md-nav__item">
1481   <a href="#ft_layeriterator" class="md-nav__link">
1482     FT_LayerIterator
1483   </a>
1484   
1485 </li>
1486       
1487         <li class="md-nav__item">
1488   <a href="#ft_get_color_glyph_layer" class="md-nav__link">
1489     FT_Get_Color_Glyph_Layer
1490   </a>
1491   
1492 </li>
1493       
1494         <li class="md-nav__item">
1495   <a href="#ft_paintformat" class="md-nav__link">
1496     FT_PaintFormat
1497   </a>
1498   
1499 </li>
1500       
1501         <li class="md-nav__item">
1502   <a href="#ft_colorstopiterator" class="md-nav__link">
1503     FT_ColorStopIterator
1504   </a>
1505   
1506 </li>
1507       
1508         <li class="md-nav__item">
1509   <a href="#ft_colorindex" class="md-nav__link">
1510     FT_ColorIndex
1511   </a>
1512   
1513 </li>
1514       
1515         <li class="md-nav__item">
1516   <a href="#ft_colorstop" class="md-nav__link">
1517     FT_ColorStop
1518   </a>
1519   
1520 </li>
1521       
1522         <li class="md-nav__item">
1523   <a href="#ft_paintextend" class="md-nav__link">
1524     FT_PaintExtend
1525   </a>
1526   
1527 </li>
1528       
1529         <li class="md-nav__item">
1530   <a href="#ft_colorline" class="md-nav__link">
1531     FT_ColorLine
1532   </a>
1533   
1534 </li>
1535       
1536         <li class="md-nav__item">
1537   <a href="#ft_affine23" class="md-nav__link">
1538     FT_Affine23
1539   </a>
1540   
1541 </li>
1542       
1543         <li class="md-nav__item">
1544   <a href="#ft_composite_mode" class="md-nav__link">
1545     FT_Composite_Mode
1546   </a>
1547   
1548 </li>
1549       
1550         <li class="md-nav__item">
1551   <a href="#ft_opaquepaint" class="md-nav__link">
1552     FT_OpaquePaint
1553   </a>
1554   
1555 </li>
1556       
1557         <li class="md-nav__item">
1558   <a href="#ft_paintcolrlayers" class="md-nav__link">
1559     FT_PaintColrLayers
1560   </a>
1561   
1562 </li>
1563       
1564         <li class="md-nav__item">
1565   <a href="#ft_paintsolid" class="md-nav__link">
1566     FT_PaintSolid
1567   </a>
1568   
1569 </li>
1570       
1571         <li class="md-nav__item">
1572   <a href="#ft_paintlineargradient" class="md-nav__link">
1573     FT_PaintLinearGradient
1574   </a>
1575   
1576 </li>
1577       
1578         <li class="md-nav__item">
1579   <a href="#ft_paintradialgradient" class="md-nav__link">
1580     FT_PaintRadialGradient
1581   </a>
1582   
1583 </li>
1584       
1585         <li class="md-nav__item">
1586   <a href="#ft_paintsweepgradient" class="md-nav__link">
1587     FT_PaintSweepGradient
1588   </a>
1589   
1590 </li>
1591       
1592         <li class="md-nav__item">
1593   <a href="#ft_paintglyph" class="md-nav__link">
1594     FT_PaintGlyph
1595   </a>
1596   
1597 </li>
1598       
1599         <li class="md-nav__item">
1600   <a href="#ft_paintcolrglyph" class="md-nav__link">
1601     FT_PaintColrGlyph
1602   </a>
1603   
1604 </li>
1605       
1606         <li class="md-nav__item">
1607   <a href="#ft_painttransform" class="md-nav__link">
1608     FT_PaintTransform
1609   </a>
1610   
1611 </li>
1612       
1613         <li class="md-nav__item">
1614   <a href="#ft_painttranslate" class="md-nav__link">
1615     FT_PaintTranslate
1616   </a>
1617   
1618 </li>
1619       
1620         <li class="md-nav__item">
1621   <a href="#ft_paintscale" class="md-nav__link">
1622     FT_PaintScale
1623   </a>
1624   
1625 </li>
1626       
1627         <li class="md-nav__item">
1628   <a href="#ft_paintrotate" class="md-nav__link">
1629     FT_PaintRotate
1630   </a>
1631   
1632 </li>
1633       
1634         <li class="md-nav__item">
1635   <a href="#ft_paintskew" class="md-nav__link">
1636     FT_PaintSkew
1637   </a>
1638   
1639 </li>
1640       
1641         <li class="md-nav__item">
1642   <a href="#ft_paintcomposite" class="md-nav__link">
1643     FT_PaintComposite
1644   </a>
1645   
1646 </li>
1647       
1648         <li class="md-nav__item">
1649   <a href="#ft_colr_paint" class="md-nav__link">
1650     FT_COLR_Paint
1651   </a>
1652   
1653 </li>
1654       
1655         <li class="md-nav__item">
1656   <a href="#ft_color_root_transform" class="md-nav__link">
1657     FT_Color_Root_Transform
1658   </a>
1659   
1660 </li>
1661       
1662         <li class="md-nav__item">
1663   <a href="#ft_clipbox" class="md-nav__link">
1664     FT_ClipBox
1665   </a>
1666   
1667 </li>
1668       
1669         <li class="md-nav__item">
1670   <a href="#ft_get_color_glyph_paint" class="md-nav__link">
1671     FT_Get_Color_Glyph_Paint
1672   </a>
1673   
1674 </li>
1675       
1676         <li class="md-nav__item">
1677   <a href="#ft_get_color_glyph_clipbox" class="md-nav__link">
1678     FT_Get_Color_Glyph_ClipBox
1679   </a>
1680   
1681 </li>
1682       
1683         <li class="md-nav__item">
1684   <a href="#ft_get_paint_layers" class="md-nav__link">
1685     FT_Get_Paint_Layers
1686   </a>
1687   
1688 </li>
1689       
1690         <li class="md-nav__item">
1691   <a href="#ft_get_colorline_stops" class="md-nav__link">
1692     FT_Get_Colorline_Stops
1693   </a>
1694   
1695 </li>
1696       
1697         <li class="md-nav__item">
1698   <a href="#ft_get_paint" class="md-nav__link">
1699     FT_Get_Paint
1700   </a>
1701   
1702 </li>
1703       
1704     </ul>
1705   
1706 </nav>
1707                   </div>
1708                 </div>
1709               </div>
1710             
1711           
1712           <div class="md-content" data-md-component="content">
1713             <article class="md-content__inner md-typeset">
1714               
1715                 
1716                 
1717                 <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#extended-api">Extended API</a> &raquo; Glyph Layer Management</p>
1718 <hr />
1719 <h1 id="glyph-layer-management">Glyph Layer Management<a class="headerlink" href="#glyph-layer-management" title="Permanent link">&para;</a></h1>
1720 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1721 <p>The functions described here allow access of colored glyph layer data in OpenType's &lsquo;COLR&rsquo; tables.</p>
1722 <h2 id="ft_layeriterator">FT_LayerIterator<a class="headerlink" href="#ft_layeriterator" title="Permanent link">&para;</a></h2>
1723 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1724 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_LayerIterator_
1725   {
1726     <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>   num_layers;
1727     <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>   layer;
1728     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  p;
1729
1730   } <b>FT_LayerIterator</b>;
1731 </code></pre></div>
1732
1733 <p>This iterator object is needed for <code><a href="ft2-layer_management.html#ft_get_color_glyph_layer">FT_Get_Color_Glyph_Layer</a></code>.</p>
1734 <h4>fields</h4>
1735 <table class="fields">
1736 <tr><td class="val" id="num_layers">num_layers</td><td class="desc">
1737 <p>The number of glyph layers for the requested glyph index. Will be set by <code><a href="ft2-layer_management.html#ft_get_color_glyph_layer">FT_Get_Color_Glyph_Layer</a></code>.</p>
1738 </td></tr>
1739 <tr><td class="val" id="layer">layer</td><td class="desc">
1740 <p>The current layer. Will be set by <code><a href="ft2-layer_management.html#ft_get_color_glyph_layer">FT_Get_Color_Glyph_Layer</a></code>.</p>
1741 </td></tr>
1742 <tr><td class="val" id="p">p</td><td class="desc">
1743 <p>An opaque pointer into &lsquo;COLR&rsquo; table data. The caller must set this to <code>NULL</code> before the first call of <code><a href="ft2-layer_management.html#ft_get_color_glyph_layer">FT_Get_Color_Glyph_Layer</a></code>.</p>
1744 </td></tr>
1745 </table>
1746
1747 <hr>
1748
1749 <h2 id="ft_get_color_glyph_layer">FT_Get_Color_Glyph_Layer<a class="headerlink" href="#ft_get_color_glyph_layer" title="Permanent link">&para;</a></h2>
1750 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1751 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> )
1752   <b>FT_Get_Color_Glyph_Layer</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>            face,
1753                             <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>            base_glyph,
1754                             <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>           *aglyph_index,
1755                             <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>           *acolor_index,
1756                             <a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a>*  iterator );
1757 </code></pre></div>
1758
1759 <p>This is an interface to the &lsquo;COLR&rsquo; table in OpenType fonts to iteratively retrieve the colored glyph layers associated with the current glyph slot.</p>
1760 <p><a href="https://docs.microsoft.com/en-us/typography/opentype/spec/colr">https://docs.microsoft.com/en-us/typography/opentype/spec/colr</a></p>
1761 <p>The glyph layer data for a given glyph index, if present, provides an alternative, multi-color glyph representation: Instead of rendering the outline or bitmap with the given glyph index, glyphs with the indices and colors returned by this function are rendered layer by layer.</p>
1762 <p>The returned elements are ordered in the z&nbsp;direction from bottom to top; the 'n'th element should be rendered with the associated palette color and blended on top of the already rendered layers (elements 0, 1, &hellip;, n-1).</p>
1763 <h4>input</h4>
1764 <table class="fields">
1765 <tr><td class="val" id="face">face</td><td class="desc">
1766 <p>A handle to the parent face object.</p>
1767 </td></tr>
1768 <tr><td class="val" id="base_glyph">base_glyph</td><td class="desc">
1769 <p>The glyph index the colored glyph layers are associated with.</p>
1770 </td></tr>
1771 </table>
1772
1773 <h4>inout</h4>
1774 <table class="fields">
1775 <tr><td class="val" id="iterator">iterator</td><td class="desc">
1776 <p>An <code><a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a></code> object. For the first call you should set <code>iterator-&gt;p</code> to <code>NULL</code>. For all following calls, simply use the same object again.</p>
1777 </td></tr>
1778 </table>
1779
1780 <h4>output</h4>
1781 <table class="fields">
1782 <tr><td class="val" id="aglyph_index">aglyph_index</td><td class="desc">
1783 <p>The glyph index of the current layer.</p>
1784 </td></tr>
1785 <tr><td class="val" id="acolor_index">acolor_index</td><td class="desc">
1786 <p>The color index into the font face's color palette of the current layer. The value 0xFFFF is special; it doesn't reference a palette entry but indicates that the text foreground color should be used instead (to be set up by the application outside of FreeType).</p>
1787 <p>The color palette can be retrieved with <code><a href="ft2-color_management.html#ft_palette_select">FT_Palette_Select</a></code>.</p>
1788 </td></tr>
1789 </table>
1790
1791 <h4>return</h4>
1792
1793 <p>Value&nbsp;1 if everything is OK. If there are no more layers (or if there are no layers at all), value&nbsp;0 gets returned. In case of an error, value&nbsp;0 is returned also.</p>
1794 <h4>note</h4>
1795
1796 <p>This function is necessary if you want to handle glyph layers by yourself. In particular, functions that operate with <code><a href="ft2-glyph_management.html#ft_glyphrec">FT_GlyphRec</a></code> objects (like <code><a href="ft2-glyph_management.html#ft_get_glyph">FT_Get_Glyph</a></code> or <code><a href="ft2-glyph_management.html#ft_glyph_to_bitmap">FT_Glyph_To_Bitmap</a></code>) don't have access to this information.</p>
1797 <p>Note that <code><a href="ft2-glyph_retrieval.html#ft_render_glyph">FT_Render_Glyph</a></code> is able to handle colored glyph layers automatically if the <code><a href="ft2-glyph_retrieval.html#ft_load_xxx">FT_LOAD_COLOR</a></code> flag is passed to a previous call to <code><a href="ft2-glyph_retrieval.html#ft_load_glyph">FT_Load_Glyph</a></code>. [This is an experimental feature.]</p>
1798 <h4>example</h4>
1799 <div class="highlight"><pre><span></span><code>  FT_Color*         palette;
1800   FT_LayerIterator  iterator;
1801
1802   FT_Bool  have_layers;
1803   FT_UInt  layer_glyph_index;
1804   FT_UInt  layer_color_index;
1805
1806
1807   error = FT_Palette_Select( face, palette_index, &amp;palette );
1808   if ( error )
1809     palette = NULL;
1810
1811   iterator.p  = NULL;
1812   have_layers = FT_Get_Color_Glyph_Layer( face,
1813                                           glyph_index,
1814                                           &amp;layer_glyph_index,
1815                                           &amp;layer_color_index,
1816                                           &amp;iterator );
1817
1818   if ( palette &amp;&amp; have_layers )
1819   {
1820     do
1821     {
1822       FT_Color  layer_color;
1823
1824
1825       if ( layer_color_index == 0xFFFF )
1826         layer_color = text_foreground_color;
1827       else
1828         layer_color = palette[layer_color_index];
1829
1830       // Load and render glyph `layer_glyph_index&#39;, then
1831       // blend resulting pixmap (using color `layer_color&#39;)
1832       // with previously created pixmaps.
1833
1834     } while ( FT_Get_Color_Glyph_Layer( face,
1835                                         glyph_index,
1836                                         &amp;layer_glyph_index,
1837                                         &amp;layer_color_index,
1838                                         &amp;iterator ) );
1839   }
1840 </code></pre></div>
1841 <h4>since</h4>
1842
1843 <p>2.10</p>
1844 <hr>
1845
1846 <h2 id="ft_paintformat">FT_PaintFormat<a class="headerlink" href="#ft_paintformat" title="Permanent link">&para;</a></h2>
1847 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1848 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_PaintFormat_
1849   {
1850     FT_COLR_PAINTFORMAT_COLR_LAYERS     = 1,
1851     FT_COLR_PAINTFORMAT_SOLID           = 2,
1852     FT_COLR_PAINTFORMAT_LINEAR_GRADIENT = 4,
1853     FT_COLR_PAINTFORMAT_RADIAL_GRADIENT = 6,
1854     FT_COLR_PAINTFORMAT_SWEEP_GRADIENT  = 8,
1855     FT_COLR_PAINTFORMAT_GLYPH           = 10,
1856     FT_COLR_PAINTFORMAT_COLR_GLYPH      = 11,
1857     FT_COLR_PAINTFORMAT_TRANSFORM       = 12,
1858     FT_COLR_PAINTFORMAT_TRANSLATE       = 14,
1859     FT_COLR_PAINTFORMAT_SCALE           = 16,
1860     FT_COLR_PAINTFORMAT_ROTATE          = 24,
1861     FT_COLR_PAINTFORMAT_SKEW            = 28,
1862     FT_COLR_PAINTFORMAT_COMPOSITE       = 32,
1863     FT_COLR_PAINT_FORMAT_MAX            = 33,
1864     FT_COLR_PAINTFORMAT_UNSUPPORTED     = 255
1865
1866   } <b>FT_PaintFormat</b>;
1867 </code></pre></div>
1868
1869 <p>Enumeration describing the different paint format types of the v1 extensions to the &lsquo;COLR&rsquo; table, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;.</p>
1870 <p>The enumeration values loosely correspond with the format numbers of the specification: FreeType always returns a fully specified &lsquo;Paint&rsquo; structure for the &lsquo;Transform&rsquo;, &lsquo;Translate&rsquo;, &lsquo;Scale&rsquo;, &lsquo;Rotate&rsquo;, and &lsquo;Skew&rsquo; table types even though the specification has different formats depending on whether or not a center is specified, whether the scale is uniform in x and y&nbsp;direction or not, etc. Also, only non-variable format identifiers are listed in this enumeration; as soon as support for variable &lsquo;COLR&rsquo; v1 fonts is implemented, interpolation is performed dependent on axis coordinates, which are configured on the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> through <code><a href="ft2-multiple_masters.html#ft_set_var_design_coordinates">FT_Set_Var_Design_Coordinates</a></code>. This implies that always static, readily interpolated values are returned in the &lsquo;Paint&rsquo; structures.</p>
1871 <h4>since</h4>
1872
1873 <p>2.13</p>
1874 <hr>
1875
1876 <h2 id="ft_colorstopiterator">FT_ColorStopIterator<a class="headerlink" href="#ft_colorstopiterator" title="Permanent link">&para;</a></h2>
1877 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1878 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_ColorStopIterator_
1879   {
1880     <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>  num_color_stops;
1881     <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>  current_color_stop;
1882
1883     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  p;
1884
1885     <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>  read_variable;
1886
1887   } <b>FT_ColorStopIterator</b>;
1888 </code></pre></div>
1889
1890 <p>This iterator object is needed for <code><a href="ft2-layer_management.html#ft_get_colorline_stops">FT_Get_Colorline_Stops</a></code>. It keeps state while iterating over the stops of an <code><a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a></code>, representing the <code>ColorLine</code> struct of the v1 extensions to &lsquo;COLR&rsquo;, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. Do not manually modify fields of this iterator.</p>
1891 <h4>fields</h4>
1892 <table class="fields">
1893 <tr><td class="val" id="num_color_stops">num_color_stops</td><td class="desc">
1894 <p>The number of color stops for the requested glyph index. Set by <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code>.</p>
1895 </td></tr>
1896 <tr><td class="val" id="current_color_stop">current_color_stop</td><td class="desc">
1897 <p>The current color stop. Set by <code><a href="ft2-layer_management.html#ft_get_colorline_stops">FT_Get_Colorline_Stops</a></code>.</p>
1898 </td></tr>
1899 <tr><td class="val" id="p">p</td><td class="desc">
1900 <p>An opaque pointer into &lsquo;COLR&rsquo; table data. Set by <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code>. Updated by <code><a href="ft2-layer_management.html#ft_get_colorline_stops">FT_Get_Colorline_Stops</a></code>.</p>
1901 </td></tr>
1902 <tr><td class="val" id="read_variable">read_variable</td><td class="desc">
1903 <p>A boolean keeping track of whether variable color lines are to be read. Set by <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code>.</p>
1904 </td></tr>
1905 </table>
1906
1907 <h4>since</h4>
1908
1909 <p>2.13</p>
1910 <hr>
1911
1912 <h2 id="ft_colorindex">FT_ColorIndex<a class="headerlink" href="#ft_colorindex" title="Permanent link">&para;</a></h2>
1913 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1914 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_ColorIndex_
1915   {
1916     <a href="ft2-basic_types.html#ft_uint16">FT_UInt16</a>   palette_index;
1917     <a href="ft2-basic_types.html#ft_f2dot14">FT_F2Dot14</a>  alpha;
1918
1919   } <b>FT_ColorIndex</b>;
1920 </code></pre></div>
1921
1922 <p>A structure representing a <code>ColorIndex</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;.</p>
1923 <h4>fields</h4>
1924 <table class="fields">
1925 <tr><td class="val" id="palette_index">palette_index</td><td class="desc">
1926 <p>The palette index into a &lsquo;CPAL&rsquo; palette.</p>
1927 </td></tr>
1928 <tr><td class="val" id="alpha">alpha</td><td class="desc">
1929 <p>Alpha transparency value multiplied with the value from &lsquo;CPAL&rsquo;.</p>
1930 </td></tr>
1931 </table>
1932
1933 <h4>since</h4>
1934
1935 <p>2.13</p>
1936 <hr>
1937
1938 <h2 id="ft_colorstop">FT_ColorStop<a class="headerlink" href="#ft_colorstop" title="Permanent link">&para;</a></h2>
1939 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1940 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_ColorStop_
1941   {
1942     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>       stop_offset;
1943     <a href="ft2-layer_management.html#ft_colorindex">FT_ColorIndex</a>  color;
1944
1945   } <b>FT_ColorStop</b>;
1946 </code></pre></div>
1947
1948 <p>A structure representing a <code>ColorStop</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;.</p>
1949 <h4>fields</h4>
1950 <table class="fields">
1951 <tr><td class="val" id="stop_offset">stop_offset</td><td class="desc">
1952 <p>The stop offset along the gradient, expressed as a 16.16 fixed-point coordinate.</p>
1953 </td></tr>
1954 <tr><td class="val" id="color">color</td><td class="desc">
1955 <p>The color information for this stop, see <code><a href="ft2-layer_management.html#ft_colorindex">FT_ColorIndex</a></code>.</p>
1956 </td></tr>
1957 </table>
1958
1959 <h4>since</h4>
1960
1961 <p>2.13</p>
1962 <hr>
1963
1964 <h2 id="ft_paintextend">FT_PaintExtend<a class="headerlink" href="#ft_paintextend" title="Permanent link">&para;</a></h2>
1965 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1966 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_PaintExtend_
1967   {
1968     FT_COLR_PAINT_EXTEND_PAD     = 0,
1969     FT_COLR_PAINT_EXTEND_REPEAT  = 1,
1970     FT_COLR_PAINT_EXTEND_REFLECT = 2
1971
1972   } <b>FT_PaintExtend</b>;
1973 </code></pre></div>
1974
1975 <p>An enumeration representing the &lsquo;Extend&rsquo; mode of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. It describes how the gradient fill continues at the other boundaries.</p>
1976 <h4>since</h4>
1977
1978 <p>2.13</p>
1979 <hr>
1980
1981 <h2 id="ft_colorline">FT_ColorLine<a class="headerlink" href="#ft_colorline" title="Permanent link">&para;</a></h2>
1982 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1983 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_ColorLine_
1984   {
1985     <a href="ft2-layer_management.html#ft_paintextend">FT_PaintExtend</a>        extend;
1986     <a href="ft2-layer_management.html#ft_colorstopiterator">FT_ColorStopIterator</a>  color_stop_iterator;
1987
1988   } <b>FT_ColorLine</b>;
1989 </code></pre></div>
1990
1991 <p>A structure representing a <code>ColorLine</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. It describes a list of color stops along the defined gradient.</p>
1992 <h4>fields</h4>
1993 <table class="fields">
1994 <tr><td class="val" id="extend">extend</td><td class="desc">
1995 <p>The extend mode at the outer boundaries, see <code><a href="ft2-layer_management.html#ft_paintextend">FT_PaintExtend</a></code>.</p>
1996 </td></tr>
1997 <tr><td class="val" id="color_stop_iterator">color_stop_iterator</td><td class="desc">
1998 <p>The <code><a href="ft2-layer_management.html#ft_colorstopiterator">FT_ColorStopIterator</a></code> used to enumerate and retrieve the actual <code><a href="ft2-layer_management.html#ft_colorstop">FT_ColorStop</a></code>'s.</p>
1999 </td></tr>
2000 </table>
2001
2002 <h4>since</h4>
2003
2004 <p>2.13</p>
2005 <hr>
2006
2007 <h2 id="ft_affine23">FT_Affine23<a class="headerlink" href="#ft_affine23" title="Permanent link">&para;</a></h2>
2008 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2009 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Affine_23_
2010   {
2011     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  xx, xy, dx;
2012     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  yx, yy, dy;
2013
2014   } <b>FT_Affine23</b>;
2015 </code></pre></div>
2016
2017 <p>A structure used to store a 2x3 matrix. Coefficients are in 16.16 fixed-point format. The computation performed is
2018 <div class="highlight"><pre><span></span><code>  x&#39; = x*xx + y*xy + dx
2019   y&#39; = x*yx + y*yy + dy
2020 </code></pre></div></p>
2021 <h4>fields</h4>
2022 <table class="fields">
2023 <tr><td class="val" id="xx">xx</td><td class="desc">
2024 <p>Matrix coefficient.</p>
2025 </td></tr>
2026 <tr><td class="val" id="xy">xy</td><td class="desc">
2027 <p>Matrix coefficient.</p>
2028 </td></tr>
2029 <tr><td class="val" id="dx">dx</td><td class="desc">
2030 <p>x translation.</p>
2031 </td></tr>
2032 <tr><td class="val" id="yx">yx</td><td class="desc">
2033 <p>Matrix coefficient.</p>
2034 </td></tr>
2035 <tr><td class="val" id="yy">yy</td><td class="desc">
2036 <p>Matrix coefficient.</p>
2037 </td></tr>
2038 <tr><td class="val" id="dy">dy</td><td class="desc">
2039 <p>y translation.</p>
2040 </td></tr>
2041 </table>
2042
2043 <h4>since</h4>
2044
2045 <p>2.13</p>
2046 <hr>
2047
2048 <h2 id="ft_composite_mode">FT_Composite_Mode<a class="headerlink" href="#ft_composite_mode" title="Permanent link">&para;</a></h2>
2049 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2050 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Composite_Mode_
2051   {
2052     FT_COLR_COMPOSITE_CLEAR          = 0,
2053     FT_COLR_COMPOSITE_SRC            = 1,
2054     FT_COLR_COMPOSITE_DEST           = 2,
2055     FT_COLR_COMPOSITE_SRC_OVER       = 3,
2056     FT_COLR_COMPOSITE_DEST_OVER      = 4,
2057     FT_COLR_COMPOSITE_SRC_IN         = 5,
2058     FT_COLR_COMPOSITE_DEST_IN        = 6,
2059     FT_COLR_COMPOSITE_SRC_OUT        = 7,
2060     FT_COLR_COMPOSITE_DEST_OUT       = 8,
2061     FT_COLR_COMPOSITE_SRC_ATOP       = 9,
2062     FT_COLR_COMPOSITE_DEST_ATOP      = 10,
2063     FT_COLR_COMPOSITE_XOR            = 11,
2064     FT_COLR_COMPOSITE_PLUS           = 12,
2065     FT_COLR_COMPOSITE_SCREEN         = 13,
2066     FT_COLR_COMPOSITE_OVERLAY        = 14,
2067     FT_COLR_COMPOSITE_DARKEN         = 15,
2068     FT_COLR_COMPOSITE_LIGHTEN        = 16,
2069     FT_COLR_COMPOSITE_COLOR_DODGE    = 17,
2070     FT_COLR_COMPOSITE_COLOR_BURN     = 18,
2071     FT_COLR_COMPOSITE_HARD_LIGHT     = 19,
2072     FT_COLR_COMPOSITE_SOFT_LIGHT     = 20,
2073     FT_COLR_COMPOSITE_DIFFERENCE     = 21,
2074     FT_COLR_COMPOSITE_EXCLUSION      = 22,
2075     FT_COLR_COMPOSITE_MULTIPLY       = 23,
2076     FT_COLR_COMPOSITE_HSL_HUE        = 24,
2077     FT_COLR_COMPOSITE_HSL_SATURATION = 25,
2078     FT_COLR_COMPOSITE_HSL_COLOR      = 26,
2079     FT_COLR_COMPOSITE_HSL_LUMINOSITY = 27,
2080     FT_COLR_COMPOSITE_MAX            = 28
2081
2082   } <b>FT_Composite_Mode</b>;
2083 </code></pre></div>
2084
2085 <p>An enumeration listing the &lsquo;COLR&rsquo; v1 composite modes used in <code><a href="ft2-layer_management.html#ft_paintcomposite">FT_PaintComposite</a></code>. For more details on each paint mode, see &lsquo;<a href="https://www.w3.org/TR/compositing-1/#porterduffcompositingoperators">https://www.w3.org/TR/compositing-1/#porterduffcompositingoperators</a>&rsquo;.</p>
2086 <h4>since</h4>
2087
2088 <p>2.13</p>
2089 <hr>
2090
2091 <h2 id="ft_opaquepaint">FT_OpaquePaint<a class="headerlink" href="#ft_opaquepaint" title="Permanent link">&para;</a></h2>
2092 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2093 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Opaque_Paint_
2094   {
2095     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  p;
2096     <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>   insert_root_transform;
2097   } <b>FT_OpaquePaint</b>;
2098 </code></pre></div>
2099
2100 <p>A structure representing an offset to a <code>Paint</code> value stored in any of the paint tables of a &lsquo;COLR&rsquo; v1 font. Compare Offset&lt;24&gt; there. When &lsquo;COLR&rsquo; v1 paint tables represented by FreeType objects such as <code><a href="ft2-layer_management.html#ft_paintcolrlayers">FT_PaintColrLayers</a></code>, <code><a href="ft2-layer_management.html#ft_paintcomposite">FT_PaintComposite</a></code>, or <code><a href="ft2-layer_management.html#ft_painttransform">FT_PaintTransform</a></code> reference downstream nested paint tables, we do not immediately retrieve them but encapsulate their location in this type. Use <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code> to retrieve the actual <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> object that describes the details of the respective paint table.</p>
2101 <h4>fields</h4>
2102 <table class="fields">
2103 <tr><td class="val" id="p">p</td><td class="desc">
2104 <p>An internal offset to a Paint table, needs to be set to NULL before passing this struct as an argument to <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code>.</p>
2105 </td></tr>
2106 <tr><td class="val" id="insert_root_transform">insert_root_transform</td><td class="desc">
2107 <p>An internal boolean to track whether an initial root transform is to be provided. Do not set this value.</p>
2108 </td></tr>
2109 </table>
2110
2111 <h4>since</h4>
2112
2113 <p>2.13</p>
2114 <hr>
2115
2116 <h2 id="ft_paintcolrlayers">FT_PaintColrLayers<a class="headerlink" href="#ft_paintcolrlayers" title="Permanent link">&para;</a></h2>
2117 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2118 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintColrLayers_
2119   {
2120     <a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a>  layer_iterator;
2121
2122   } <b>FT_PaintColrLayers</b>;
2123 </code></pre></div>
2124
2125 <p>A structure representing a <code>PaintColrLayers</code> table of a &lsquo;COLR&rsquo; v1 font. This table describes a set of layers that are to be composited with composite mode <code>FT_COLR_COMPOSITE_SRC_OVER</code>. The return value of this function is an <code><a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a></code> initialized so that it can be used with <code><a href="ft2-layer_management.html#ft_get_paint_layers">FT_Get_Paint_Layers</a></code> to retrieve the <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> objects as references to each layer.</p>
2126 <h4>fields</h4>
2127 <table class="fields">
2128 <tr><td class="val" id="layer_iterator">layer_iterator</td><td class="desc">
2129 <p>The layer iterator that describes the layers of this paint.</p>
2130 </td></tr>
2131 </table>
2132
2133 <h4>since</h4>
2134
2135 <p>2.13</p>
2136 <hr>
2137
2138 <h2 id="ft_paintsolid">FT_PaintSolid<a class="headerlink" href="#ft_paintsolid" title="Permanent link">&para;</a></h2>
2139 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2140 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintSolid_
2141   {
2142     <a href="ft2-layer_management.html#ft_colorindex">FT_ColorIndex</a>  color;
2143
2144   } <b>FT_PaintSolid</b>;
2145 </code></pre></div>
2146
2147 <p>A structure representing a <code>PaintSolid</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. Using a <code>PaintSolid</code> value means that the glyph layer filled with this paint is solid-colored and does not contain a gradient.</p>
2148 <h4>fields</h4>
2149 <table class="fields">
2150 <tr><td class="val" id="color">color</td><td class="desc">
2151 <p>The color information for this solid paint, see <code><a href="ft2-layer_management.html#ft_colorindex">FT_ColorIndex</a></code>.</p>
2152 </td></tr>
2153 </table>
2154
2155 <h4>since</h4>
2156
2157 <p>2.13</p>
2158 <hr>
2159
2160 <h2 id="ft_paintlineargradient">FT_PaintLinearGradient<a class="headerlink" href="#ft_paintlineargradient" title="Permanent link">&para;</a></h2>
2161 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2162 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintLinearGradient_
2163   {
2164     <a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a>  colorline;
2165
2166     /* TODO: Potentially expose those as x0, y0 etc. */
2167     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  p0;
2168     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  p1;
2169     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  p2;
2170
2171   } <b>FT_PaintLinearGradient</b>;
2172 </code></pre></div>
2173
2174 <p>A structure representing a <code>PaintLinearGradient</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. The glyph layer filled with this paint is drawn filled with a linear gradient.</p>
2175 <h4>fields</h4>
2176 <table class="fields">
2177 <tr><td class="val" id="colorline">colorline</td><td class="desc">
2178 <p>The <code><a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a></code> information for this paint, i.e., the list of color stops along the gradient.</p>
2179 </td></tr>
2180 <tr><td class="val" id="p0">p0</td><td class="desc">
2181 <p>The starting point of the gradient definition in font units represented as a 16.16 fixed-point <code>FT_Vector</code>.</p>
2182 </td></tr>
2183 <tr><td class="val" id="p1">p1</td><td class="desc">
2184 <p>The end point of the gradient definition in font units represented as a 16.16 fixed-point <code>FT_Vector</code>.</p>
2185 </td></tr>
2186 <tr><td class="val" id="p2">p2</td><td class="desc">
2187 <p>Optional point&nbsp;p2 to rotate the gradient in font units represented as a 16.16 fixed-point <code>FT_Vector</code>. Otherwise equal to&nbsp;p0.</p>
2188 </td></tr>
2189 </table>
2190
2191 <h4>since</h4>
2192
2193 <p>2.13</p>
2194 <hr>
2195
2196 <h2 id="ft_paintradialgradient">FT_PaintRadialGradient<a class="headerlink" href="#ft_paintradialgradient" title="Permanent link">&para;</a></h2>
2197 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2198 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintRadialGradient_
2199   {
2200     <a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a>  colorline;
2201
2202     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  c0;
2203     <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>     r0;
2204     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  c1;
2205     <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>     r1;
2206
2207   } <b>FT_PaintRadialGradient</b>;
2208 </code></pre></div>
2209
2210 <p>A structure representing a <code>PaintRadialGradient</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. The glyph layer filled with this paint is drawn filled with a radial gradient.</p>
2211 <h4>fields</h4>
2212 <table class="fields">
2213 <tr><td class="val" id="colorline">colorline</td><td class="desc">
2214 <p>The <code><a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a></code> information for this paint, i.e., the list of color stops along the gradient.</p>
2215 </td></tr>
2216 <tr><td class="val" id="c0">c0</td><td class="desc">
2217 <p>The center of the starting point of the radial gradient in font units represented as a 16.16 fixed-point <code>FT_Vector</code>.</p>
2218 </td></tr>
2219 <tr><td class="val" id="r0">r0</td><td class="desc">
2220 <p>The radius of the starting circle of the radial gradient in font units represented as a 16.16 fixed-point value.</p>
2221 </td></tr>
2222 <tr><td class="val" id="c1">c1</td><td class="desc">
2223 <p>The center of the end point of the radial gradient in font units represented as a 16.16 fixed-point <code>FT_Vector</code>.</p>
2224 </td></tr>
2225 <tr><td class="val" id="r1">r1</td><td class="desc">
2226 <p>The radius of the end circle of the radial gradient in font units represented as a 16.16 fixed-point value.</p>
2227 </td></tr>
2228 </table>
2229
2230 <h4>since</h4>
2231
2232 <p>2.13</p>
2233 <hr>
2234
2235 <h2 id="ft_paintsweepgradient">FT_PaintSweepGradient<a class="headerlink" href="#ft_paintsweepgradient" title="Permanent link">&para;</a></h2>
2236 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2237 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintSweepGradient_
2238   {
2239     <a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a>  colorline;
2240
2241     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  center;
2242     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>   start_angle;
2243     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>   end_angle;
2244
2245   } <b>FT_PaintSweepGradient</b>;
2246 </code></pre></div>
2247
2248 <p>A structure representing a <code>PaintSweepGradient</code> value of the &lsquo;COLR&rsquo; v1 extensions, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. The glyph layer filled with this paint is drawn filled with a sweep gradient from <code>start_angle</code> to <code>end_angle</code>.</p>
2249 <h4>fields</h4>
2250 <table class="fields">
2251 <tr><td class="val" id="colorline">colorline</td><td class="desc">
2252 <p>The <code><a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a></code> information for this paint, i.e., the list of color stops along the gradient.</p>
2253 </td></tr>
2254 <tr><td class="val" id="center">center</td><td class="desc">
2255 <p>The center of the sweep gradient in font units represented as a vector of 16.16 fixed-point values.</p>
2256 </td></tr>
2257 <tr><td class="val" id="start_angle">start_angle</td><td class="desc">
2258 <p>The start angle of the sweep gradient in 16.16 fixed-point format specifying degrees divided by 180.0 (as in the spec). Multiply by 180.0f to receive degrees value. Values are given counter-clockwise, starting from the (positive) y&nbsp;axis.</p>
2259 </td></tr>
2260 <tr><td class="val" id="end_angle">end_angle</td><td class="desc">
2261 <p>The end angle of the sweep gradient in 16.16 fixed-point format specifying degrees divided by 180.0 (as in the spec). Multiply by 180.0f to receive degrees value. Values are given counter-clockwise, starting from the (positive) y&nbsp;axis.</p>
2262 </td></tr>
2263 </table>
2264
2265 <h4>since</h4>
2266
2267 <p>2.13</p>
2268 <hr>
2269
2270 <h2 id="ft_paintglyph">FT_PaintGlyph<a class="headerlink" href="#ft_paintglyph" title="Permanent link">&para;</a></h2>
2271 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2272 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintGlyph_
2273   {
2274     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  paint;
2275     <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>         glyphID;
2276
2277   } <b>FT_PaintGlyph</b>;
2278 </code></pre></div>
2279
2280 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintGlyph</code> paint table.</p>
2281 <h4>fields</h4>
2282 <table class="fields">
2283 <tr><td class="val" id="paint">paint</td><td class="desc">
2284 <p>An opaque paint object pointing to a <code>Paint</code> table that serves as the fill for the glyph ID.</p>
2285 </td></tr>
2286 <tr><td class="val" id="glyphid">glyphID</td><td class="desc">
2287 <p>The glyph ID from the &lsquo;glyf&rsquo; table, which serves as the contour information that is filled with paint.</p>
2288 </td></tr>
2289 </table>
2290
2291 <h4>since</h4>
2292
2293 <p>2.13</p>
2294 <hr>
2295
2296 <h2 id="ft_paintcolrglyph">FT_PaintColrGlyph<a class="headerlink" href="#ft_paintcolrglyph" title="Permanent link">&para;</a></h2>
2297 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2298 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintColrGlyph_
2299   {
2300     <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>  glyphID;
2301
2302   } <b>FT_PaintColrGlyph</b>;
2303 </code></pre></div>
2304
2305 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintColorGlyph</code> paint table.</p>
2306 <h4>fields</h4>
2307 <table class="fields">
2308 <tr><td class="val" id="glyphid">glyphID</td><td class="desc">
2309 <p>The glyph ID from the <code>BaseGlyphV1List</code> table that is drawn for this paint.</p>
2310 </td></tr>
2311 </table>
2312
2313 <h4>since</h4>
2314
2315 <p>2.13</p>
2316 <hr>
2317
2318 <h2 id="ft_painttransform">FT_PaintTransform<a class="headerlink" href="#ft_painttransform" title="Permanent link">&para;</a></h2>
2319 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2320 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintTransform_
2321   {
2322     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  paint;
2323     <a href="ft2-layer_management.html#ft_affine23">FT_Affine23</a>     affine;
2324
2325   } <b>FT_PaintTransform</b>;
2326 </code></pre></div>
2327
2328 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintTransform</code> paint table.</p>
2329 <h4>fields</h4>
2330 <table class="fields">
2331 <tr><td class="val" id="paint">paint</td><td class="desc">
2332 <p>An opaque paint that is subject to being transformed.</p>
2333 </td></tr>
2334 <tr><td class="val" id="affine">affine</td><td class="desc">
2335 <p>A 2x3 transformation matrix in <code><a href="ft2-layer_management.html#ft_affine23">FT_Affine23</a></code> format containing 16.16 fixed-point values.</p>
2336 </td></tr>
2337 </table>
2338
2339 <h4>since</h4>
2340
2341 <p>2.13</p>
2342 <hr>
2343
2344 <h2 id="ft_painttranslate">FT_PaintTranslate<a class="headerlink" href="#ft_painttranslate" title="Permanent link">&para;</a></h2>
2345 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2346 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintTranslate_
2347   {
2348     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  paint;
2349
2350     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  dx;
2351     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  dy;
2352
2353   } <b>FT_PaintTranslate</b>;
2354 </code></pre></div>
2355
2356 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintTranslate</code> paint table. Used for translating downstream paints by a given x and y&nbsp;delta.</p>
2357 <h4>fields</h4>
2358 <table class="fields">
2359 <tr><td class="val" id="paint">paint</td><td class="desc">
2360 <p>An <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object referencing the paint that is to be rotated.</p>
2361 </td></tr>
2362 <tr><td class="val" id="dx">dx</td><td class="desc">
2363 <p>Translation in x&nbsp;direction in font units represented as a 16.16 fixed-point value.</p>
2364 </td></tr>
2365 <tr><td class="val" id="dy">dy</td><td class="desc">
2366 <p>Translation in y&nbsp;direction in font units represented as a 16.16 fixed-point value.</p>
2367 </td></tr>
2368 </table>
2369
2370 <h4>since</h4>
2371
2372 <p>2.13</p>
2373 <hr>
2374
2375 <h2 id="ft_paintscale">FT_PaintScale<a class="headerlink" href="#ft_paintscale" title="Permanent link">&para;</a></h2>
2376 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2377 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintScale_
2378   {
2379     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  paint;
2380
2381     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  scale_x;
2382     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  scale_y;
2383
2384     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  center_x;
2385     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  center_y;
2386
2387   } <b>FT_PaintScale</b>;
2388 </code></pre></div>
2389
2390 <p>A structure representing all of the &lsquo;COLR&rsquo; v1 &lsquo;PaintScale*&rsquo; paint tables. Used for scaling downstream paints by a given x and y&nbsp;scale, with a given center. This structure is used for all &lsquo;PaintScale*&rsquo; types that are part of specification; fields of this structure are filled accordingly. If there is a center, the center values are set, otherwise they are set to the zero coordinate. If the source font file has &lsquo;PaintScaleUniform*&rsquo; set, the scale values are set accordingly to the same value.</p>
2391 <h4>fields</h4>
2392 <table class="fields">
2393 <tr><td class="val" id="paint">paint</td><td class="desc">
2394 <p>An <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object referencing the paint that is to be scaled.</p>
2395 </td></tr>
2396 <tr><td class="val" id="scale_x">scale_x</td><td class="desc">
2397 <p>Scale factor in x&nbsp;direction represented as a 16.16 fixed-point value.</p>
2398 </td></tr>
2399 <tr><td class="val" id="scale_y">scale_y</td><td class="desc">
2400 <p>Scale factor in y&nbsp;direction represented as a 16.16 fixed-point value.</p>
2401 </td></tr>
2402 <tr><td class="val" id="center_x">center_x</td><td class="desc">
2403 <p>x&nbsp;coordinate of center point to scale from represented as a 16.16 fixed-point value.</p>
2404 </td></tr>
2405 <tr><td class="val" id="center_y">center_y</td><td class="desc">
2406 <p>y&nbsp;coordinate of center point to scale from represented as a 16.16 fixed-point value.</p>
2407 </td></tr>
2408 </table>
2409
2410 <h4>since</h4>
2411
2412 <p>2.13</p>
2413 <hr>
2414
2415 <h2 id="ft_paintrotate">FT_PaintRotate<a class="headerlink" href="#ft_paintrotate" title="Permanent link">&para;</a></h2>
2416 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2417 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintRotate_
2418   {
2419     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  paint;
2420
2421     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  angle;
2422
2423     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  center_x;
2424     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  center_y;
2425
2426   } <b>FT_PaintRotate</b>;
2427 </code></pre></div>
2428
2429 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintRotate</code> paint table. Used for rotating downstream paints with a given center and angle.</p>
2430 <h4>fields</h4>
2431 <table class="fields">
2432 <tr><td class="val" id="paint">paint</td><td class="desc">
2433 <p>An <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object referencing the paint that is to be rotated.</p>
2434 </td></tr>
2435 <tr><td class="val" id="angle">angle</td><td class="desc">
2436 <p>The rotation angle that is to be applied in degrees divided by 180.0 (as in the spec) represented as a 16.16 fixed-point value. Multiply by 180.0f to receive degrees value.</p>
2437 </td></tr>
2438 <tr><td class="val" id="center_x">center_x</td><td class="desc">
2439 <p>The x&nbsp;coordinate of the pivot point of the rotation in font units represented as a 16.16 fixed-point value.</p>
2440 </td></tr>
2441 <tr><td class="val" id="center_y">center_y</td><td class="desc">
2442 <p>The y&nbsp;coordinate of the pivot point of the rotation in font units represented as a 16.16 fixed-point value.</p>
2443 </td></tr>
2444 </table>
2445
2446 <h4>since</h4>
2447
2448 <p>2.13</p>
2449 <hr>
2450
2451 <h2 id="ft_paintskew">FT_PaintSkew<a class="headerlink" href="#ft_paintskew" title="Permanent link">&para;</a></h2>
2452 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2453 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintSkew_
2454   {
2455     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  paint;
2456
2457     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  x_skew_angle;
2458     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  y_skew_angle;
2459
2460     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  center_x;
2461     <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>  center_y;
2462
2463   } <b>FT_PaintSkew</b>;
2464 </code></pre></div>
2465
2466 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintSkew</code> paint table. Used for skewing or shearing downstream paints by a given center and angle.</p>
2467 <h4>fields</h4>
2468 <table class="fields">
2469 <tr><td class="val" id="paint">paint</td><td class="desc">
2470 <p>An <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object referencing the paint that is to be skewed.</p>
2471 </td></tr>
2472 <tr><td class="val" id="x_skew_angle">x_skew_angle</td><td class="desc">
2473 <p>The skewing angle in x&nbsp;direction in degrees divided by 180.0 (as in the spec) represented as a 16.16 fixed-point value. Multiply by 180.0f to receive degrees.</p>
2474 </td></tr>
2475 <tr><td class="val" id="y_skew_angle">y_skew_angle</td><td class="desc">
2476 <p>The skewing angle in y&nbsp;direction in degrees divided by 180.0 (as in the spec) represented as a 16.16 fixed-point value. Multiply by 180.0f to receive degrees.</p>
2477 </td></tr>
2478 <tr><td class="val" id="center_x">center_x</td><td class="desc">
2479 <p>The x&nbsp;coordinate of the pivot point of the skew in font units represented as a 16.16 fixed-point value.</p>
2480 </td></tr>
2481 <tr><td class="val" id="center_y">center_y</td><td class="desc">
2482 <p>The y&nbsp;coordinate of the pivot point of the skew in font units represented as a 16.16 fixed-point value.</p>
2483 </td></tr>
2484 </table>
2485
2486 <h4>since</h4>
2487
2488 <p>2.13</p>
2489 <hr>
2490
2491 <h2 id="ft_paintcomposite">FT_PaintComposite<a class="headerlink" href="#ft_paintcomposite" title="Permanent link">&para;</a></h2>
2492 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2493 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_PaintComposite_
2494   {
2495     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>     source_paint;
2496     <a href="ft2-layer_management.html#ft_composite_mode">FT_Composite_Mode</a>  composite_mode;
2497     <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>     backdrop_paint;
2498
2499   } <b>FT_PaintComposite</b>;
2500 </code></pre></div>
2501
2502 <p>A structure representing a &lsquo;COLR&rsquo; v1 <code>PaintComposite</code> paint table. Used for compositing two paints in a &lsquo;COLR&rsquo; v1 directed acyclic graph.</p>
2503 <h4>fields</h4>
2504 <table class="fields">
2505 <tr><td class="val" id="source_paint">source_paint</td><td class="desc">
2506 <p>An <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object referencing the source that is to be composited.</p>
2507 </td></tr>
2508 <tr><td class="val" id="composite_mode">composite_mode</td><td class="desc">
2509 <p>An <code><a href="ft2-layer_management.html#ft_composite_mode">FT_Composite_Mode</a></code> enum value determining the composition operation.</p>
2510 </td></tr>
2511 <tr><td class="val" id="backdrop_paint">backdrop_paint</td><td class="desc">
2512 <p>An <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object referencing the backdrop paint that <code>source_paint</code> is composited onto.</p>
2513 </td></tr>
2514 </table>
2515
2516 <h4>since</h4>
2517
2518 <p>2.13</p>
2519 <hr>
2520
2521 <h2 id="ft_colr_paint">FT_COLR_Paint<a class="headerlink" href="#ft_colr_paint" title="Permanent link">&para;</a></h2>
2522 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2523 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_COLR_Paint_
2524   {
2525     <a href="ft2-layer_management.html#ft_paintformat">FT_PaintFormat</a> format;
2526
2527     <span class="keyword">union</span>
2528     {
2529       <a href="ft2-layer_management.html#ft_paintcolrlayers">FT_PaintColrLayers</a>      colr_layers;
2530       <a href="ft2-layer_management.html#ft_paintglyph">FT_PaintGlyph</a>           glyph;
2531       <a href="ft2-layer_management.html#ft_paintsolid">FT_PaintSolid</a>           solid;
2532       <a href="ft2-layer_management.html#ft_paintlineargradient">FT_PaintLinearGradient</a>  linear_gradient;
2533       <a href="ft2-layer_management.html#ft_paintradialgradient">FT_PaintRadialGradient</a>  radial_gradient;
2534       <a href="ft2-layer_management.html#ft_paintsweepgradient">FT_PaintSweepGradient</a>   sweep_gradient;
2535       <a href="ft2-layer_management.html#ft_painttransform">FT_PaintTransform</a>       transform;
2536       <a href="ft2-layer_management.html#ft_painttranslate">FT_PaintTranslate</a>       translate;
2537       <a href="ft2-layer_management.html#ft_paintscale">FT_PaintScale</a>           scale;
2538       <a href="ft2-layer_management.html#ft_paintrotate">FT_PaintRotate</a>          rotate;
2539       <a href="ft2-layer_management.html#ft_paintskew">FT_PaintSkew</a>            skew;
2540       <a href="ft2-layer_management.html#ft_paintcomposite">FT_PaintComposite</a>       composite;
2541       <a href="ft2-layer_management.html#ft_paintcolrglyph">FT_PaintColrGlyph</a>       colr_glyph;
2542
2543     } u;
2544
2545   } <b>FT_COLR_Paint</b>;
2546 </code></pre></div>
2547
2548 <p>A union object representing format and details of a paint table of a &lsquo;COLR&rsquo; v1 font, see &lsquo;<a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a>&rsquo;. Use <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code> to retrieve a <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> for an <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object.</p>
2549 <h4>fields</h4>
2550 <table class="fields">
2551 <tr><td class="val" id="format">format</td><td class="desc">
2552 <p>The gradient format for this Paint structure.</p>
2553 </td></tr>
2554 <tr><td class="val" id="u">u</td><td class="desc">
2555 <p>Union of all paint table types:</p>
2556 <ul>
2557 <li><code><a href="ft2-layer_management.html#ft_paintcolrlayers">FT_PaintColrLayers</a></code> <em> <code><a href="ft2-layer_management.html#ft_paintglyph">FT_PaintGlyph</a></code> </em> <code><a href="ft2-layer_management.html#ft_paintsolid">FT_PaintSolid</a></code> <em> <code><a href="ft2-layer_management.html#ft_paintlineargradient">FT_PaintLinearGradient</a></code> </em> <code><a href="ft2-layer_management.html#ft_paintradialgradient">FT_PaintRadialGradient</a></code> <em> <code><a href="ft2-layer_management.html#ft_paintsweepgradient">FT_PaintSweepGradient</a></code> </em> <code><a href="ft2-layer_management.html#ft_painttransform">FT_PaintTransform</a></code> <em> <code><a href="ft2-layer_management.html#ft_painttranslate">FT_PaintTranslate</a></code> </em> <code><a href="ft2-layer_management.html#ft_paintrotate">FT_PaintRotate</a></code> <em> <code><a href="ft2-layer_management.html#ft_paintskew">FT_PaintSkew</a></code> </em> <code><a href="ft2-layer_management.html#ft_paintcomposite">FT_PaintComposite</a></code> * <code><a href="ft2-layer_management.html#ft_paintcolrglyph">FT_PaintColrGlyph</a></code></li>
2558 </ul>
2559 </td></tr>
2560 </table>
2561
2562 <h4>since</h4>
2563
2564 <p>2.13</p>
2565 <hr>
2566
2567 <h2 id="ft_color_root_transform">FT_Color_Root_Transform<a class="headerlink" href="#ft_color_root_transform" title="Permanent link">&para;</a></h2>
2568 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2569 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Color_Root_Transform_
2570   {
2571     <a href="ft2-layer_management.html#ft_color_include_root_transform">FT_COLOR_INCLUDE_ROOT_TRANSFORM</a>,
2572     <a href="ft2-layer_management.html#ft_color_no_root_transform">FT_COLOR_NO_ROOT_TRANSFORM</a>,
2573
2574     FT_COLOR_ROOT_TRANSFORM_MAX
2575
2576   } <b>FT_Color_Root_Transform</b>;
2577 </code></pre></div>
2578
2579 <p>An enumeration to specify whether <code><a href="ft2-layer_management.html#ft_get_color_glyph_paint">FT_Get_Color_Glyph_Paint</a></code> is to return a root transform to configure the client's graphics context matrix.</p>
2580 <h4>values</h4>
2581 <table class="fields long">
2582 <tr><td class="val" id="ft_color_include_root_transform">FT_COLOR_INCLUDE_ROOT_TRANSFORM</td><td class="desc">
2583 <p>Do include the root transform as the initial <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> object.</p>
2584 </td></tr>
2585 <tr><td class="val" id="ft_color_no_root_transform">FT_COLOR_NO_ROOT_TRANSFORM</td><td class="desc">
2586 <p>Do not output an initial root transform.</p>
2587 </td></tr>
2588 </table>
2589
2590 <h4>since</h4>
2591
2592 <p>2.13</p>
2593 <hr>
2594
2595 <h2 id="ft_clipbox">FT_ClipBox<a class="headerlink" href="#ft_clipbox" title="Permanent link">&para;</a></h2>
2596 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2597 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_ClipBox_
2598   {
2599     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  bottom_left;
2600     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  top_left;
2601     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  top_right;
2602     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>  bottom_right;
2603
2604   } <b>FT_ClipBox</b>;
2605 </code></pre></div>
2606
2607 <p>A structure representing a &lsquo;COLR&rsquo; v1 &lsquo;ClipBox&rsquo; table. &lsquo;COLR&rsquo; v1 glyphs may optionally define a clip box for aiding allocation or defining a maximum drawable region. Use <code><a href="ft2-layer_management.html#ft_get_color_glyph_clipbox">FT_Get_Color_Glyph_ClipBox</a></code> to retrieve it.</p>
2608 <h4>fields</h4>
2609 <table class="fields">
2610 <tr><td class="val" id="bottom_left">bottom_left</td><td class="desc">
2611 <p>The bottom left corner of the clip box as an <code><a href="ft2-basic_types.html#ft_vector">FT_Vector</a></code> with fixed-point coordinates in 26.6 format.</p>
2612 </td></tr>
2613 <tr><td class="val" id="top_left">top_left</td><td class="desc">
2614 <p>The top left corner of the clip box as an <code><a href="ft2-basic_types.html#ft_vector">FT_Vector</a></code> with fixed-point coordinates in 26.6 format.</p>
2615 </td></tr>
2616 <tr><td class="val" id="top_right">top_right</td><td class="desc">
2617 <p>The top right corner of the clip box as an <code><a href="ft2-basic_types.html#ft_vector">FT_Vector</a></code> with fixed-point coordinates in 26.6 format.</p>
2618 </td></tr>
2619 <tr><td class="val" id="bottom_right">bottom_right</td><td class="desc">
2620 <p>The bottom right corner of the clip box as an <code><a href="ft2-basic_types.html#ft_vector">FT_Vector</a></code> with fixed-point coordinates in 26.6 format.</p>
2621 </td></tr>
2622 </table>
2623
2624 <h4>since</h4>
2625
2626 <p>2.13</p>
2627 <hr>
2628
2629 <h2 id="ft_get_color_glyph_paint">FT_Get_Color_Glyph_Paint<a class="headerlink" href="#ft_get_color_glyph_paint" title="Permanent link">&para;</a></h2>
2630 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2631 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> )
2632   <b>FT_Get_Color_Glyph_Paint</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>                  face,
2633                             <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>                  base_glyph,
2634                             <a href="ft2-layer_management.html#ft_color_root_transform">FT_Color_Root_Transform</a>  root_transform,
2635                             <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>*          paint );
2636 </code></pre></div>
2637
2638 <p>This is the starting point and interface to color gradient information in a &lsquo;COLR&rsquo; v1 table in OpenType fonts to recursively retrieve the paint tables for the directed acyclic graph of a colored glyph, given a glyph ID.</p>
2639 <p><a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a></p>
2640 <p>In a &lsquo;COLR&rsquo; v1 font, each color glyph defines a directed acyclic graph of nested paint tables, such as <code>PaintGlyph</code>, <code>PaintSolid</code>, <code>PaintLinearGradient</code>, <code>PaintRadialGradient</code>, and so on. Using this function and specifying a glyph ID, one retrieves the root paint table for this glyph ID.</p>
2641 <p>This function allows control whether an initial root transform is returned to configure scaling, transform, and translation correctly on the client's graphics context. The initial root transform is computed and returned according to the values configured for <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> and <code><a href="ft2-sizing_and_scaling.html#ft_set_transform">FT_Set_Transform</a></code> on the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object, see below for details of the <code>root_transform</code> parameter. This has implications for a client &lsquo;COLR&rsquo; v1 implementation: When this function returns an initially computed root transform, at the time of executing the <code><a href="ft2-layer_management.html#ft_paintglyph">FT_PaintGlyph</a></code> operation, the contours should be retrieved using <code><a href="ft2-glyph_retrieval.html#ft_load_glyph">FT_Load_Glyph</a></code> at unscaled, untransformed size. This is because the root transform applied to the graphics context will take care of correct scaling.</p>
2642 <p>Alternatively, to allow hinting of contours, at the time of executing <code><a href="ft2-glyph_retrieval.html#ft_load_glyph">FT_Load_Glyph</a></code>, the current graphics context transformation matrix can be decomposed into a scaling matrix and a remainder, and <code><a href="ft2-glyph_retrieval.html#ft_load_glyph">FT_Load_Glyph</a></code> can be used to retrieve the contours at scaled size. Care must then be taken to blit or clip to the graphics context with taking this remainder transformation into account.</p>
2643 <h4>input</h4>
2644 <table class="fields">
2645 <tr><td class="val" id="face">face</td><td class="desc">
2646 <p>A handle to the parent face object.</p>
2647 </td></tr>
2648 <tr><td class="val" id="base_glyph">base_glyph</td><td class="desc">
2649 <p>The glyph index for which to retrieve the root paint table.</p>
2650 </td></tr>
2651 <tr><td class="val" id="root_transform">root_transform</td><td class="desc">
2652 <p>Specifies whether an initially computed root is returned by the <code><a href="ft2-layer_management.html#ft_painttransform">FT_PaintTransform</a></code> operation to account for the activated size (see <code><a href="ft2-sizes_management.html#ft_activate_size">FT_Activate_Size</a></code>) and the configured transform and translate (see <code><a href="ft2-sizing_and_scaling.html#ft_set_transform">FT_Set_Transform</a></code>).</p>
2653 <p>This root transform is returned before nodes of the glyph graph of the font are returned. Subsequent <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> structures contain unscaled and untransformed values. The inserted root transform enables the client application to apply an initial transform to its graphics context. When executing subsequent FT_COLR_Paint operations, values from <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> operations will ultimately be correctly scaled because of the root transform applied to the graphics context. Use <code><a href="ft2-layer_management.html#ft_color_root_transform">FT_COLOR_INCLUDE_ROOT_TRANSFORM</a></code> to include the root transform, use <code><a href="ft2-layer_management.html#ft_color_root_transform">FT_COLOR_NO_ROOT_TRANSFORM</a></code> to not include it. The latter may be useful when traversing the &lsquo;COLR&rsquo; v1 glyph graph and reaching a <code><a href="ft2-layer_management.html#ft_paintcolrglyph">FT_PaintColrGlyph</a></code>. When recursing into <code><a href="ft2-layer_management.html#ft_paintcolrglyph">FT_PaintColrGlyph</a></code> and painting that inline, no additional root transform is needed as it has already been applied to the graphics context at the beginning of drawing this glyph.</p>
2654 </td></tr>
2655 </table>
2656
2657 <h4>output</h4>
2658 <table class="fields">
2659 <tr><td class="val" id="paint">paint</td><td class="desc">
2660 <p>The <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object that references the actual paint table.</p>
2661 <p>The respective actual <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> object is retrieved via <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code>.</p>
2662 </td></tr>
2663 </table>
2664
2665 <h4>return</h4>
2666
2667 <p>Value&nbsp;1 if everything is OK. If no color glyph is found, or the root paint could not be retrieved, value&nbsp;0 gets returned. In case of an error, value&nbsp;0 is returned also.</p>
2668 <h4>since</h4>
2669
2670 <p>2.13</p>
2671 <hr>
2672
2673 <h2 id="ft_get_color_glyph_clipbox">FT_Get_Color_Glyph_ClipBox<a class="headerlink" href="#ft_get_color_glyph_clipbox" title="Permanent link">&para;</a></h2>
2674 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2675 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> )
2676   <b>FT_Get_Color_Glyph_ClipBox</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>      face,
2677                               <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>      base_glyph,
2678                               <a href="ft2-layer_management.html#ft_clipbox">FT_ClipBox</a>*  clip_box );
2679 </code></pre></div>
2680
2681 <p>Search for a &lsquo;COLR&rsquo; v1 clip box for the specified <code>base_glyph</code> and fill the <code>clip_box</code> parameter with the &lsquo;COLR&rsquo; v1 &lsquo;ClipBox&rsquo; information if one is found.</p>
2682 <h4>input</h4>
2683 <table class="fields">
2684 <tr><td class="val" id="face">face</td><td class="desc">
2685 <p>A handle to the parent face object.</p>
2686 </td></tr>
2687 <tr><td class="val" id="base_glyph">base_glyph</td><td class="desc">
2688 <p>The glyph index for which to retrieve the clip box.</p>
2689 </td></tr>
2690 </table>
2691
2692 <h4>output</h4>
2693 <table class="fields">
2694 <tr><td class="val" id="clip_box">clip_box</td><td class="desc">
2695 <p>The clip box for the requested <code>base_glyph</code> if one is found. The clip box is computed taking scale and transformations configured on the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> into account. <code><a href="ft2-layer_management.html#ft_clipbox">FT_ClipBox</a></code> contains <code><a href="ft2-basic_types.html#ft_vector">FT_Vector</a></code> values in 26.6 format.</p>
2696 </td></tr>
2697 </table>
2698
2699 <h4>return</h4>
2700
2701 <p>Value&nbsp;1 if a clip box is found. If no clip box is found or an error occured, value&nbsp;0 is returned.</p>
2702 <h4>note</h4>
2703
2704 <p>To retrieve the clip box in font units, reset scale to units-per-em and remove transforms configured using <code><a href="ft2-sizing_and_scaling.html#ft_set_transform">FT_Set_Transform</a></code>.</p>
2705 <h4>since</h4>
2706
2707 <p>2.13</p>
2708 <hr>
2709
2710 <h2 id="ft_get_paint_layers">FT_Get_Paint_Layers<a class="headerlink" href="#ft_get_paint_layers" title="Permanent link">&para;</a></h2>
2711 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2712 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> )
2713   <b>FT_Get_Paint_Layers</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>            face,
2714                        <a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a>*  iterator,
2715                        <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>*    paint );
2716 </code></pre></div>
2717
2718 <p>Access the layers of a <code>PaintColrLayers</code> table.</p>
2719 <p>If the root paint of a color glyph, or a nested paint of a &lsquo;COLR&rsquo; glyph is a <code>PaintColrLayers</code> table, this function retrieves the layers of the <code>PaintColrLayers</code> table.</p>
2720 <p>The <code><a href="ft2-layer_management.html#ft_paintcolrlayers">FT_PaintColrLayers</a></code> object contains an <code><a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a></code>, which is used here to iterate over the layers. Each layer is returned as an <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object, which then can be used with <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code> to retrieve the actual paint object.</p>
2721 <h4>input</h4>
2722 <table class="fields">
2723 <tr><td class="val" id="face">face</td><td class="desc">
2724 <p>A handle to the parent face object.</p>
2725 </td></tr>
2726 </table>
2727
2728 <h4>inout</h4>
2729 <table class="fields">
2730 <tr><td class="val" id="iterator">iterator</td><td class="desc">
2731 <p>The <code><a href="ft2-layer_management.html#ft_layeriterator">FT_LayerIterator</a></code> from an <code><a href="ft2-layer_management.html#ft_paintcolrlayers">FT_PaintColrLayers</a></code> object, for which the layers are to be retrieved. The internal state of the iterator is incremented after one call to this function for retrieving one layer.</p>
2732 </td></tr>
2733 </table>
2734
2735 <h4>output</h4>
2736 <table class="fields">
2737 <tr><td class="val" id="paint">paint</td><td class="desc">
2738 <p>The <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> object that references the actual paint table. The respective actual <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> object is retrieved via <code><a href="ft2-layer_management.html#ft_get_paint">FT_Get_Paint</a></code>.</p>
2739 </td></tr>
2740 </table>
2741
2742 <h4>return</h4>
2743
2744 <p>Value&nbsp;1 if everything is OK. Value&nbsp;0 gets returned when the paint object can not be retrieved or any other error occurs.</p>
2745 <h4>since</h4>
2746
2747 <p>2.13</p>
2748 <hr>
2749
2750 <h2 id="ft_get_colorline_stops">FT_Get_Colorline_Stops<a class="headerlink" href="#ft_get_colorline_stops" title="Permanent link">&para;</a></h2>
2751 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2752 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> )
2753   <b>FT_Get_Colorline_Stops</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>                face,
2754                           <a href="ft2-layer_management.html#ft_colorstop">FT_ColorStop</a>*          color_stop,
2755                           <a href="ft2-layer_management.html#ft_colorstopiterator">FT_ColorStopIterator</a>*  iterator );
2756 </code></pre></div>
2757
2758 <p>This is an interface to color gradient information in a &lsquo;COLR&rsquo; v1 table in OpenType fonts to iteratively retrieve the gradient and solid fill information for colored glyph layers for a specified glyph ID.</p>
2759 <p><a href="https://github.com/googlefonts/colr-gradients-spec">https://github.com/googlefonts/colr-gradients-spec</a></p>
2760 <h4>input</h4>
2761 <table class="fields">
2762 <tr><td class="val" id="face">face</td><td class="desc">
2763 <p>A handle to the parent face object.</p>
2764 </td></tr>
2765 </table>
2766
2767 <h4>inout</h4>
2768 <table class="fields">
2769 <tr><td class="val" id="iterator">iterator</td><td class="desc">
2770 <p>The retrieved <code><a href="ft2-layer_management.html#ft_colorstopiterator">FT_ColorStopIterator</a></code>, configured on an <code><a href="ft2-layer_management.html#ft_colorline">FT_ColorLine</a></code>, which in turn got retrieved via paint information in <code><a href="ft2-layer_management.html#ft_paintlineargradient">FT_PaintLinearGradient</a></code> or <code><a href="ft2-layer_management.html#ft_paintradialgradient">FT_PaintRadialGradient</a></code>.</p>
2771 </td></tr>
2772 </table>
2773
2774 <h4>output</h4>
2775 <table class="fields">
2776 <tr><td class="val" id="color_stop">color_stop</td><td class="desc">
2777 <p>Color index and alpha value for the retrieved color stop.</p>
2778 </td></tr>
2779 </table>
2780
2781 <h4>return</h4>
2782
2783 <p>Value&nbsp;1 if everything is OK. If there are no more color stops, value&nbsp;0 gets returned. In case of an error, value&nbsp;0 is returned also.</p>
2784 <h4>since</h4>
2785
2786 <p>2.13</p>
2787 <hr>
2788
2789 <h2 id="ft_get_paint">FT_Get_Paint<a class="headerlink" href="#ft_get_paint" title="Permanent link">&para;</a></h2>
2790 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
2791 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_bool">FT_Bool</a> )
2792   <b>FT_Get_Paint</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>         face,
2793                 <a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a>  opaque_paint,
2794                 <a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a>*  paint );
2795 </code></pre></div>
2796
2797 <p>Access the details of a paint using an <code><a href="ft2-layer_management.html#ft_opaquepaint">FT_OpaquePaint</a></code> opaque paint object, which internally stores the offset to the respective <code>Paint</code> object in the &lsquo;COLR&rsquo; table.</p>
2798 <h4>input</h4>
2799 <table class="fields">
2800 <tr><td class="val" id="face">face</td><td class="desc">
2801 <p>A handle to the parent face object.</p>
2802 </td></tr>
2803 <tr><td class="val" id="opaque_paint">opaque_paint</td><td class="desc">
2804 <p>The opaque paint object for which the underlying <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> data is to be retrieved.</p>
2805 </td></tr>
2806 </table>
2807
2808 <h4>output</h4>
2809 <table class="fields">
2810 <tr><td class="val" id="paint">paint</td><td class="desc">
2811 <p>The specific <code><a href="ft2-layer_management.html#ft_colr_paint">FT_COLR_Paint</a></code> object containing information coming from one of the font's <code>Paint*</code> tables.</p>
2812 </td></tr>
2813 </table>
2814
2815 <h4>return</h4>
2816
2817 <p>Value&nbsp;1 if everything is OK. Value&nbsp;0 if no details can be found for this paint or any other error occured.</p>
2818 <h4>since</h4>
2819
2820 <p>2.13</p>
2821 <hr>
2822                 
2823               
2824               
2825                 
2826
2827
2828               
2829             </article>
2830           </div>
2831         </div>
2832         
2833       </main>
2834       
2835         
2836 <footer class="md-footer">
2837   
2838     <nav class="md-footer__inner md-grid" aria-label="Footer">
2839       
2840         
2841         <a href="ft2-color_management.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Glyph Color Management" rel="prev">
2842           <div class="md-footer__button md-icon">
2843             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
2844           </div>
2845           <div class="md-footer__title">
2846             <div class="md-ellipsis">
2847               <span class="md-footer__direction">
2848                 Previous
2849               </span>
2850               Glyph Color Management
2851             </div>
2852           </div>
2853         </a>
2854       
2855       
2856         
2857         <a href="ft2-glyph_management.html" class="md-footer__link md-footer__link--next" aria-label="Next: Glyph Management" rel="next">
2858           <div class="md-footer__title">
2859             <div class="md-ellipsis">
2860               <span class="md-footer__direction">
2861                 Next
2862               </span>
2863               Glyph Management
2864             </div>
2865           </div>
2866           <div class="md-footer__button md-icon">
2867             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2868           </div>
2869         </a>
2870       
2871     </nav>
2872   
2873   <div class="md-footer-meta md-typeset">
2874     <div class="md-footer-meta__inner md-grid">
2875       <div class="md-footer-copyright">
2876         
2877           <div class="md-footer-copyright__highlight">
2878             Copyright 2023 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
2879           </div>
2880         
2881         Made with
2882         <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2883           Material for MkDocs
2884         </a>
2885         
2886       </div>
2887       
2888     </div>
2889   </div>
2890 </footer>
2891       
2892     </div>
2893     <div class="md-dialog" data-md-component="dialog">
2894       <div class="md-dialog__inner md-typeset"></div>
2895     </div>
2896     <script id="__config" type="application/json">{"base": ".", "features": [], "search": "assets/javascripts/workers/search.477d984a.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "version": null}</script>
2897     
2898     
2899       <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
2900       
2901         <script src="javascripts/extra.js"></script>
2902       
2903     
2904   </body>
2905 </html>