Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / docs / reference / ft2-color_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 Color 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-color-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 Color 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   
451   
452     <li class="md-nav__item md-nav__item--active">
453       
454       <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
455       
456       
457         
458       
459       
460         <label class="md-nav__link md-nav__link--active" for="__toc">
461           Glyph Color Management
462           <span class="md-nav__icon md-icon"></span>
463         </label>
464       
465       <a href="ft2-color_management.html" class="md-nav__link md-nav__link--active">
466         Glyph Color Management
467       </a>
468       
469         
470 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
471   
472   
473   
474     
475   
476   
477     <label class="md-nav__title" for="__toc">
478       <span class="md-nav__icon md-icon"></span>
479       Table of contents
480     </label>
481     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
482       
483         <li class="md-nav__item">
484   <a href="#synopsis" class="md-nav__link">
485     Synopsis
486   </a>
487   
488 </li>
489       
490         <li class="md-nav__item">
491   <a href="#ft_color" class="md-nav__link">
492     FT_Color
493   </a>
494   
495 </li>
496       
497         <li class="md-nav__item">
498   <a href="#ft_palette_xxx" class="md-nav__link">
499     FT_PALETTE_XXX
500   </a>
501   
502 </li>
503       
504         <li class="md-nav__item">
505   <a href="#ft_palette_data" class="md-nav__link">
506     FT_Palette_Data
507   </a>
508   
509 </li>
510       
511         <li class="md-nav__item">
512   <a href="#ft_palette_data_get" class="md-nav__link">
513     FT_Palette_Data_Get
514   </a>
515   
516 </li>
517       
518         <li class="md-nav__item">
519   <a href="#ft_palette_select" class="md-nav__link">
520     FT_Palette_Select
521   </a>
522   
523 </li>
524       
525         <li class="md-nav__item">
526   <a href="#ft_palette_set_foreground_color" class="md-nav__link">
527     FT_Palette_Set_Foreground_Color
528   </a>
529   
530 </li>
531       
532     </ul>
533   
534 </nav>
535       
536     </li>
537   
538
539           
540             
541   
542   
543   
544     <li class="md-nav__item">
545       <a href="ft2-layer_management.html" class="md-nav__link">
546         Glyph Layer Management
547       </a>
548     </li>
549   
550
551           
552             
553   
554   
555   
556     <li class="md-nav__item">
557       <a href="ft2-glyph_management.html" class="md-nav__link">
558         Glyph Management
559       </a>
560     </li>
561   
562
563           
564             
565   
566   
567   
568     <li class="md-nav__item">
569       <a href="ft2-mac_specific.html" class="md-nav__link">
570         Mac Specific Interface
571       </a>
572     </li>
573   
574
575           
576             
577   
578   
579   
580     <li class="md-nav__item">
581       <a href="ft2-sizes_management.html" class="md-nav__link">
582         Size Management
583       </a>
584     </li>
585   
586
587           
588             
589   
590   
591   
592     <li class="md-nav__item">
593       <a href="ft2-header_file_macros.html" class="md-nav__link">
594         Header File Macros
595       </a>
596     </li>
597   
598
599           
600         </ul>
601       </nav>
602     </li>
603   
604
605     
606       
607       
608       
609
610   
611   
612   
613     
614     <li class="md-nav__item md-nav__item--nested">
615       
616       
617         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
618       
619       <label class="md-nav__link" for="__nav_6">
620         Format-Specific API
621         <span class="md-nav__icon md-icon"></span>
622       </label>
623       <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
624         <label class="md-nav__title" for="__nav_6">
625           <span class="md-nav__icon md-icon"></span>
626           Format-Specific API
627         </label>
628         <ul class="md-nav__list" data-md-scrollfix>
629           
630             
631   
632   
633   
634     <li class="md-nav__item">
635       <a href="ft2-multiple_masters.html" class="md-nav__link">
636         Multiple Masters
637       </a>
638     </li>
639   
640
641           
642             
643   
644   
645   
646     <li class="md-nav__item">
647       <a href="ft2-truetype_tables.html" class="md-nav__link">
648         TrueType Tables
649       </a>
650     </li>
651   
652
653           
654             
655   
656   
657   
658     <li class="md-nav__item">
659       <a href="ft2-type1_tables.html" class="md-nav__link">
660         Type 1 Tables
661       </a>
662     </li>
663   
664
665           
666             
667   
668   
669   
670     <li class="md-nav__item">
671       <a href="ft2-sfnt_names.html" class="md-nav__link">
672         SFNT Names
673       </a>
674     </li>
675   
676
677           
678             
679   
680   
681   
682     <li class="md-nav__item">
683       <a href="ft2-bdf_fonts.html" class="md-nav__link">
684         BDF and PCF Files
685       </a>
686     </li>
687   
688
689           
690             
691   
692   
693   
694     <li class="md-nav__item">
695       <a href="ft2-cid_fonts.html" class="md-nav__link">
696         CID Fonts
697       </a>
698     </li>
699   
700
701           
702             
703   
704   
705   
706     <li class="md-nav__item">
707       <a href="ft2-pfr_fonts.html" class="md-nav__link">
708         PFR Fonts
709       </a>
710     </li>
711   
712
713           
714             
715   
716   
717   
718     <li class="md-nav__item">
719       <a href="ft2-winfnt_fonts.html" class="md-nav__link">
720         Window FNT Files
721       </a>
722     </li>
723   
724
725           
726             
727   
728   
729   
730     <li class="md-nav__item">
731       <a href="ft2-svg_fonts.html" class="md-nav__link">
732         OpenType SVG Fonts
733       </a>
734     </li>
735   
736
737           
738             
739   
740   
741   
742     <li class="md-nav__item">
743       <a href="ft2-font_formats.html" class="md-nav__link">
744         Font Formats
745       </a>
746     </li>
747   
748
749           
750             
751   
752   
753   
754     <li class="md-nav__item">
755       <a href="ft2-gasp_table.html" class="md-nav__link">
756         Gasp Table
757       </a>
758     </li>
759   
760
761           
762         </ul>
763       </nav>
764     </li>
765   
766
767     
768       
769       
770       
771
772   
773   
774   
775     
776     <li class="md-nav__item md-nav__item--nested">
777       
778       
779         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
780       
781       <label class="md-nav__link" for="__nav_7">
782         Controlling FreeType Modules
783         <span class="md-nav__icon md-icon"></span>
784       </label>
785       <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
786         <label class="md-nav__title" for="__nav_7">
787           <span class="md-nav__icon md-icon"></span>
788           Controlling FreeType Modules
789         </label>
790         <ul class="md-nav__list" data-md-scrollfix>
791           
792             
793   
794   
795   
796     <li class="md-nav__item">
797       <a href="ft2-auto_hinter.html" class="md-nav__link">
798         The auto-hinter
799       </a>
800     </li>
801   
802
803           
804             
805   
806   
807   
808     <li class="md-nav__item">
809       <a href="ft2-cff_driver.html" class="md-nav__link">
810         The CFF driver
811       </a>
812     </li>
813   
814
815           
816             
817   
818   
819   
820     <li class="md-nav__item">
821       <a href="ft2-t1_cid_driver.html" class="md-nav__link">
822         The Type 1 and CID drivers
823       </a>
824     </li>
825   
826
827           
828             
829   
830   
831   
832     <li class="md-nav__item">
833       <a href="ft2-tt_driver.html" class="md-nav__link">
834         The TrueType driver
835       </a>
836     </li>
837   
838
839           
840             
841   
842   
843   
844     <li class="md-nav__item">
845       <a href="ft2-pcf_driver.html" class="md-nav__link">
846         The PCF driver
847       </a>
848     </li>
849   
850
851           
852             
853   
854   
855   
856     <li class="md-nav__item">
857       <a href="ft2-ot_svg_driver.html" class="md-nav__link">
858         The SVG driver
859       </a>
860     </li>
861   
862
863           
864             
865   
866   
867   
868     <li class="md-nav__item">
869       <a href="ft2-properties.html" class="md-nav__link">
870         Driver properties
871       </a>
872     </li>
873   
874
875           
876             
877   
878   
879   
880     <li class="md-nav__item">
881       <a href="ft2-parameter_tags.html" class="md-nav__link">
882         Parameter Tags
883       </a>
884     </li>
885   
886
887           
888             
889   
890   
891   
892     <li class="md-nav__item">
893       <a href="ft2-lcd_rendering.html" class="md-nav__link">
894         Subpixel Rendering
895       </a>
896     </li>
897   
898
899           
900         </ul>
901       </nav>
902     </li>
903   
904
905     
906       
907       
908       
909
910   
911   
912   
913     
914     <li class="md-nav__item md-nav__item--nested">
915       
916       
917         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
918       
919       <label class="md-nav__link" for="__nav_8">
920         Cache Sub-System
921         <span class="md-nav__icon md-icon"></span>
922       </label>
923       <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1">
924         <label class="md-nav__title" for="__nav_8">
925           <span class="md-nav__icon md-icon"></span>
926           Cache Sub-System
927         </label>
928         <ul class="md-nav__list" data-md-scrollfix>
929           
930             
931   
932   
933   
934     <li class="md-nav__item">
935       <a href="ft2-cache_subsystem.html" class="md-nav__link">
936         Cache Sub-System
937       </a>
938     </li>
939   
940
941           
942         </ul>
943       </nav>
944     </li>
945   
946
947     
948       
949       
950       
951
952   
953   
954   
955     
956     <li class="md-nav__item md-nav__item--nested">
957       
958       
959         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
960       
961       <label class="md-nav__link" for="__nav_9">
962         Support API
963         <span class="md-nav__icon md-icon"></span>
964       </label>
965       <nav class="md-nav" aria-label="Support API" data-md-level="1">
966         <label class="md-nav__title" for="__nav_9">
967           <span class="md-nav__icon md-icon"></span>
968           Support API
969         </label>
970         <ul class="md-nav__list" data-md-scrollfix>
971           
972             
973   
974   
975   
976     <li class="md-nav__item">
977       <a href="ft2-computations.html" class="md-nav__link">
978         Computations
979       </a>
980     </li>
981   
982
983           
984             
985   
986   
987   
988     <li class="md-nav__item">
989       <a href="ft2-list_processing.html" class="md-nav__link">
990         List Processing
991       </a>
992     </li>
993   
994
995           
996             
997   
998   
999   
1000     <li class="md-nav__item">
1001       <a href="ft2-outline_processing.html" class="md-nav__link">
1002         Outline Processing
1003       </a>
1004     </li>
1005   
1006
1007           
1008             
1009   
1010   
1011   
1012     <li class="md-nav__item">
1013       <a href="ft2-quick_advance.html" class="md-nav__link">
1014         Quick retrieval of advance values
1015       </a>
1016     </li>
1017   
1018
1019           
1020             
1021   
1022   
1023   
1024     <li class="md-nav__item">
1025       <a href="ft2-bitmap_handling.html" class="md-nav__link">
1026         Bitmap Handling
1027       </a>
1028     </li>
1029   
1030
1031           
1032             
1033   
1034   
1035   
1036     <li class="md-nav__item">
1037       <a href="ft2-raster.html" class="md-nav__link">
1038         Scanline Converter
1039       </a>
1040     </li>
1041   
1042
1043           
1044             
1045   
1046   
1047   
1048     <li class="md-nav__item">
1049       <a href="ft2-glyph_stroker.html" class="md-nav__link">
1050         Glyph Stroker
1051       </a>
1052     </li>
1053   
1054
1055           
1056             
1057   
1058   
1059   
1060     <li class="md-nav__item">
1061       <a href="ft2-system_interface.html" class="md-nav__link">
1062         System Interface
1063       </a>
1064     </li>
1065   
1066
1067           
1068             
1069   
1070   
1071   
1072     <li class="md-nav__item">
1073       <a href="ft2-module_management.html" class="md-nav__link">
1074         Module Management
1075       </a>
1076     </li>
1077   
1078
1079           
1080             
1081   
1082   
1083   
1084     <li class="md-nav__item">
1085       <a href="ft2-gzip.html" class="md-nav__link">
1086         GZIP Streams
1087       </a>
1088     </li>
1089   
1090
1091           
1092             
1093   
1094   
1095   
1096     <li class="md-nav__item">
1097       <a href="ft2-lzw.html" class="md-nav__link">
1098         LZW Streams
1099       </a>
1100     </li>
1101   
1102
1103           
1104             
1105   
1106   
1107   
1108     <li class="md-nav__item">
1109       <a href="ft2-bzip2.html" class="md-nav__link">
1110         BZIP2 Streams
1111       </a>
1112     </li>
1113   
1114
1115           
1116             
1117   
1118   
1119   
1120     <li class="md-nav__item">
1121       <a href="ft2-debugging_apis.html" class="md-nav__link">
1122         External Debugging APIs
1123       </a>
1124     </li>
1125   
1126
1127           
1128         </ul>
1129       </nav>
1130     </li>
1131   
1132
1133     
1134       
1135       
1136       
1137
1138   
1139   
1140   
1141     
1142     <li class="md-nav__item md-nav__item--nested">
1143       
1144       
1145         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
1146       
1147       <label class="md-nav__link" for="__nav_10">
1148         Error Codes
1149         <span class="md-nav__icon md-icon"></span>
1150       </label>
1151       <nav class="md-nav" aria-label="Error Codes" data-md-level="1">
1152         <label class="md-nav__title" for="__nav_10">
1153           <span class="md-nav__icon md-icon"></span>
1154           Error Codes
1155         </label>
1156         <ul class="md-nav__list" data-md-scrollfix>
1157           
1158             
1159   
1160   
1161   
1162     <li class="md-nav__item">
1163       <a href="ft2-error_enumerations.html" class="md-nav__link">
1164         Error Enumerations
1165       </a>
1166     </li>
1167   
1168
1169           
1170             
1171   
1172   
1173   
1174     <li class="md-nav__item">
1175       <a href="ft2-error_code_values.html" class="md-nav__link">
1176         Error Code Values
1177       </a>
1178     </li>
1179   
1180
1181           
1182         </ul>
1183       </nav>
1184     </li>
1185   
1186
1187     
1188       
1189       
1190       
1191
1192   
1193   
1194   
1195     
1196     <li class="md-nav__item md-nav__item--nested">
1197       
1198       
1199         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
1200       
1201       <label class="md-nav__link" for="__nav_11">
1202         Miscellaneous
1203         <span class="md-nav__icon md-icon"></span>
1204       </label>
1205       <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1">
1206         <label class="md-nav__title" for="__nav_11">
1207           <span class="md-nav__icon md-icon"></span>
1208           Miscellaneous
1209         </label>
1210         <ul class="md-nav__list" data-md-scrollfix>
1211           
1212             
1213   
1214   
1215   
1216     <li class="md-nav__item">
1217       <a href="ft2-gx_validation.html" class="md-nav__link">
1218         TrueTypeGX/AAT Validation
1219       </a>
1220     </li>
1221   
1222
1223           
1224             
1225   
1226   
1227   
1228     <li class="md-nav__item">
1229       <a href="ft2-incremental.html" class="md-nav__link">
1230         Incremental Loading
1231       </a>
1232     </li>
1233   
1234
1235           
1236             
1237   
1238   
1239   
1240     <li class="md-nav__item">
1241       <a href="ft2-truetype_engine.html" class="md-nav__link">
1242         The TrueType Engine
1243       </a>
1244     </li>
1245   
1246
1247           
1248             
1249   
1250   
1251   
1252     <li class="md-nav__item">
1253       <a href="ft2-ot_validation.html" class="md-nav__link">
1254         OpenType Validation
1255       </a>
1256     </li>
1257   
1258
1259           
1260         </ul>
1261       </nav>
1262     </li>
1263   
1264
1265     
1266   </ul>
1267 </nav>
1268                   </div>
1269                 </div>
1270               </div>
1271             
1272             
1273               
1274               <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1275                 <div class="md-sidebar__scrollwrap">
1276                   <div class="md-sidebar__inner">
1277                     
1278 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1279   
1280   
1281   
1282     
1283   
1284   
1285     <label class="md-nav__title" for="__toc">
1286       <span class="md-nav__icon md-icon"></span>
1287       Table of contents
1288     </label>
1289     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1290       
1291         <li class="md-nav__item">
1292   <a href="#synopsis" class="md-nav__link">
1293     Synopsis
1294   </a>
1295   
1296 </li>
1297       
1298         <li class="md-nav__item">
1299   <a href="#ft_color" class="md-nav__link">
1300     FT_Color
1301   </a>
1302   
1303 </li>
1304       
1305         <li class="md-nav__item">
1306   <a href="#ft_palette_xxx" class="md-nav__link">
1307     FT_PALETTE_XXX
1308   </a>
1309   
1310 </li>
1311       
1312         <li class="md-nav__item">
1313   <a href="#ft_palette_data" class="md-nav__link">
1314     FT_Palette_Data
1315   </a>
1316   
1317 </li>
1318       
1319         <li class="md-nav__item">
1320   <a href="#ft_palette_data_get" class="md-nav__link">
1321     FT_Palette_Data_Get
1322   </a>
1323   
1324 </li>
1325       
1326         <li class="md-nav__item">
1327   <a href="#ft_palette_select" class="md-nav__link">
1328     FT_Palette_Select
1329   </a>
1330   
1331 </li>
1332       
1333         <li class="md-nav__item">
1334   <a href="#ft_palette_set_foreground_color" class="md-nav__link">
1335     FT_Palette_Set_Foreground_Color
1336   </a>
1337   
1338 </li>
1339       
1340     </ul>
1341   
1342 </nav>
1343                   </div>
1344                 </div>
1345               </div>
1346             
1347           
1348           <div class="md-content" data-md-component="content">
1349             <article class="md-content__inner md-typeset">
1350               
1351                 
1352                 
1353                 <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 Color Management</p>
1354 <hr />
1355 <h1 id="glyph-color-management">Glyph Color Management<a class="headerlink" href="#glyph-color-management" title="Permanent link">&para;</a></h1>
1356 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1357 <p>The functions described here allow access and manipulation of color palette entries in OpenType's &lsquo;CPAL&rsquo; tables.</p>
1358 <h2 id="ft_color">FT_Color<a class="headerlink" href="#ft_color" title="Permanent link">&para;</a></h2>
1359 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1360 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Color_
1361   {
1362     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>  blue;
1363     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>  green;
1364     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>  red;
1365     <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>  alpha;
1366
1367   } <b>FT_Color</b>;
1368 </code></pre></div>
1369
1370 <p>This structure models a BGRA color value of a &lsquo;CPAL&rsquo; palette entry.</p>
1371 <p>The used color space is sRGB; the colors are not pre-multiplied, and alpha values must be explicitly set.</p>
1372 <h4>fields</h4>
1373 <table class="fields">
1374 <tr><td class="val" id="blue">blue</td><td class="desc">
1375 <p>Blue value.</p>
1376 </td></tr>
1377 <tr><td class="val" id="green">green</td><td class="desc">
1378 <p>Green value.</p>
1379 </td></tr>
1380 <tr><td class="val" id="red">red</td><td class="desc">
1381 <p>Red value.</p>
1382 </td></tr>
1383 <tr><td class="val" id="alpha">alpha</td><td class="desc">
1384 <p>Alpha value, giving the red, green, and blue color's opacity.</p>
1385 </td></tr>
1386 </table>
1387
1388 <h4>since</h4>
1389
1390 <p>2.10</p>
1391 <hr>
1392
1393 <h2 id="ft_palette_xxx">FT_PALETTE_XXX<a class="headerlink" href="#ft_palette_xxx" title="Permanent link">&para;</a></h2>
1394 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1395 <div class = "codehilite"><pre><code>#<span class="keyword">define</span> <a href="ft2-color_management.html#ft_palette_for_light_background">FT_PALETTE_FOR_LIGHT_BACKGROUND</a>  0x01
1396 #<span class="keyword">define</span> <a href="ft2-color_management.html#ft_palette_for_dark_background">FT_PALETTE_FOR_DARK_BACKGROUND</a>   0x02
1397 </code></pre></div>
1398
1399 <p>A list of bit field constants used in the <code>palette_flags</code> array of the <code><a href="ft2-color_management.html#ft_palette_data">FT_Palette_Data</a></code> structure to indicate for which background a palette with a given index is usable.</p>
1400 <h4>values</h4>
1401 <table class="fields long">
1402 <tr><td class="val" id="ft_palette_for_light_background">FT_PALETTE_FOR_LIGHT_BACKGROUND</td><td class="desc">
1403 <p>The palette is appropriate to use when displaying the font on a light background such as white.</p>
1404 </td></tr>
1405 <tr><td class="val" id="ft_palette_for_dark_background">FT_PALETTE_FOR_DARK_BACKGROUND</td><td class="desc">
1406 <p>The palette is appropriate to use when displaying the font on a dark background such as black.</p>
1407 </td></tr>
1408 </table>
1409
1410 <h4>since</h4>
1411
1412 <p>2.10</p>
1413 <hr>
1414
1415 <h2 id="ft_palette_data">FT_Palette_Data<a class="headerlink" href="#ft_palette_data" title="Permanent link">&para;</a></h2>
1416 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1417 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span>  FT_Palette_Data_ {
1418     <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>         num_palettes;
1419     <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>*  palette_name_ids;
1420     <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>*  palette_flags;
1421
1422     <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>         num_palette_entries;
1423     <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>*  palette_entry_name_ids;
1424
1425   } <b>FT_Palette_Data</b>;
1426 </code></pre></div>
1427
1428 <p>This structure holds the data of the &lsquo;CPAL&rsquo; table.</p>
1429 <h4>fields</h4>
1430 <table class="fields">
1431 <tr><td class="val" id="num_palettes">num_palettes</td><td class="desc">
1432 <p>The number of palettes.</p>
1433 </td></tr>
1434 <tr><td class="val" id="palette_name_ids">palette_name_ids</td><td class="desc">
1435 <p>An optional read-only array of palette name IDs with <code>num_palettes</code> elements, corresponding to entries like &lsquo;dark&rsquo; or &lsquo;light&rsquo; in the font's &lsquo;name&rsquo; table.</p>
1436 <p>An empty name ID in the &lsquo;CPAL&rsquo; table gets represented as value 0xFFFF.</p>
1437 <p><code>NULL</code> if the font's &lsquo;CPAL&rsquo; table doesn't contain appropriate data.</p>
1438 </td></tr>
1439 <tr><td class="val" id="palette_flags">palette_flags</td><td class="desc">
1440 <p>An optional read-only array of palette flags with <code>num_palettes</code> elements. Possible values are an ORed combination of <code><a href="ft2-color_management.html#ft_palette_xxx">FT_PALETTE_FOR_LIGHT_BACKGROUND</a></code> and <code><a href="ft2-color_management.html#ft_palette_xxx">FT_PALETTE_FOR_DARK_BACKGROUND</a></code>.</p>
1441 <p><code>NULL</code> if the font's &lsquo;CPAL&rsquo; table doesn't contain appropriate data.</p>
1442 </td></tr>
1443 <tr><td class="val" id="num_palette_entries">num_palette_entries</td><td class="desc">
1444 <p>The number of entries in a single palette. All palettes have the same size.</p>
1445 </td></tr>
1446 <tr><td class="val" id="palette_entry_name_ids">palette_entry_name_ids</td><td class="desc">
1447 <p>An optional read-only array of palette entry name IDs with <code>num_palette_entries</code>. In each palette, entries with the same index have the same function. For example, index&nbsp;0 might correspond to string &lsquo;outline&rsquo; in the font's &lsquo;name&rsquo; table to indicate that this palette entry is used for outlines, index&nbsp;1 might correspond to &lsquo;fill&rsquo; to indicate the filling color palette entry, etc.</p>
1448 <p>An empty entry name ID in the &lsquo;CPAL&rsquo; table gets represented as value 0xFFFF.</p>
1449 <p><code>NULL</code> if the font's &lsquo;CPAL&rsquo; table doesn't contain appropriate data.</p>
1450 </td></tr>
1451 </table>
1452
1453 <h4>note</h4>
1454
1455 <p>Use function <code><a href="ft2-sfnt_names.html#ft_get_sfnt_name">FT_Get_Sfnt_Name</a></code> to map name IDs and entry name IDs to name strings.</p>
1456 <p>Use function <code><a href="ft2-color_management.html#ft_palette_select">FT_Palette_Select</a></code> to get the colors associated with a palette entry.</p>
1457 <h4>since</h4>
1458
1459 <p>2.10</p>
1460 <hr>
1461
1462 <h2 id="ft_palette_data_get">FT_Palette_Data_Get<a class="headerlink" href="#ft_palette_data_get" title="Permanent link">&para;</a></h2>
1463 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1464 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1465   <b>FT_Palette_Data_Get</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>           face,
1466                        <a href="ft2-color_management.html#ft_palette_data">FT_Palette_Data</a>  *apalette );
1467 </code></pre></div>
1468
1469 <p>Retrieve the face's color palette data.</p>
1470 <h4>input</h4>
1471 <table class="fields">
1472 <tr><td class="val" id="face">face</td><td class="desc">
1473 <p>The source face handle.</p>
1474 </td></tr>
1475 </table>
1476
1477 <h4>output</h4>
1478 <table class="fields">
1479 <tr><td class="val" id="apalette">apalette</td><td class="desc">
1480 <p>A pointer to an <code><a href="ft2-color_management.html#ft_palette_data">FT_Palette_Data</a></code> structure.</p>
1481 </td></tr>
1482 </table>
1483
1484 <h4>return</h4>
1485
1486 <p>FreeType error code. 0&nbsp;means success.</p>
1487 <h4>note</h4>
1488
1489 <p>All arrays in the returned <code><a href="ft2-color_management.html#ft_palette_data">FT_Palette_Data</a></code> structure are read-only.</p>
1490 <p>This function always returns an error if the config macro <code>TT_CONFIG_OPTION_COLOR_LAYERS</code> is not defined in <code>ftoption.h</code>.</p>
1491 <h4>since</h4>
1492
1493 <p>2.10</p>
1494 <hr>
1495
1496 <h2 id="ft_palette_select">FT_Palette_Select<a class="headerlink" href="#ft_palette_select" title="Permanent link">&para;</a></h2>
1497 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1498 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1499   <b>FT_Palette_Select</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>     face,
1500                      <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>   palette_index,
1501                      <a href="ft2-color_management.html#ft_color">FT_Color</a>*  *apalette );
1502 </code></pre></div>
1503
1504 <p>This function has two purposes.</p>
1505 <p>(1) It activates a palette for rendering color glyphs, and</p>
1506 <p>(2) it retrieves all (unmodified) color entries of this palette. This function returns a read-write array, which means that a calling application can modify the palette entries on demand.</p>
1507 <p>A corollary of (2) is that calling the function, then modifying some values, then calling the function again with the same arguments resets all color entries to the original &lsquo;CPAL&rsquo; values; all user modifications are lost.</p>
1508 <h4>input</h4>
1509 <table class="fields">
1510 <tr><td class="val" id="face">face</td><td class="desc">
1511 <p>The source face handle.</p>
1512 </td></tr>
1513 <tr><td class="val" id="palette_index">palette_index</td><td class="desc">
1514 <p>The palette index.</p>
1515 </td></tr>
1516 </table>
1517
1518 <h4>output</h4>
1519 <table class="fields">
1520 <tr><td class="val" id="apalette">apalette</td><td class="desc">
1521 <p>An array of color entries for a palette with index <code>palette_index</code>, having <code>num_palette_entries</code> elements (as found in the <code>FT_Palette_Data</code> structure). If <code>apalette</code> is set to <code>NULL</code>, no array gets returned (and no color entries can be modified).</p>
1522 <p>In case the font doesn't support color palettes, <code>NULL</code> is returned.</p>
1523 </td></tr>
1524 </table>
1525
1526 <h4>return</h4>
1527
1528 <p>FreeType error code. 0&nbsp;means success.</p>
1529 <h4>note</h4>
1530
1531 <p>The array pointed to by <code>apalette_entries</code> is owned and managed by FreeType.</p>
1532 <p>This function always returns an error if the config macro <code>TT_CONFIG_OPTION_COLOR_LAYERS</code> is not defined in <code>ftoption.h</code>.</p>
1533 <h4>since</h4>
1534
1535 <p>2.10</p>
1536 <hr>
1537
1538 <h2 id="ft_palette_set_foreground_color">FT_Palette_Set_Foreground_Color<a class="headerlink" href="#ft_palette_set_foreground_color" title="Permanent link">&para;</a></h2>
1539 <p>Defined in FT_COLOR_H (freetype/ftcolor.h).</p>
1540 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1541   <b>FT_Palette_Set_Foreground_Color</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>   face,
1542                                    <a href="ft2-color_management.html#ft_color">FT_Color</a>  foreground_color );
1543 </code></pre></div>
1544
1545 <p>&lsquo;COLR&rsquo; uses palette index 0xFFFF to indicate a &lsquo;text foreground color&rsquo;. This function sets this value.</p>
1546 <h4>input</h4>
1547 <table class="fields">
1548 <tr><td class="val" id="face">face</td><td class="desc">
1549 <p>The source face handle.</p>
1550 </td></tr>
1551 <tr><td class="val" id="foreground_color">foreground_color</td><td class="desc">
1552 <p>An <code>FT_Color</code> structure to define the text foreground color.</p>
1553 </td></tr>
1554 </table>
1555
1556 <h4>return</h4>
1557
1558 <p>FreeType error code. 0&nbsp;means success.</p>
1559 <h4>note</h4>
1560
1561 <p>If this function isn't called, the text foreground color is set to white opaque (BGRA value 0xFFFFFFFF) if <code><a href="ft2-color_management.html#ft_palette_xxx">FT_PALETTE_FOR_DARK_BACKGROUND</a></code> is present for the current palette, and black opaque (BGRA value 0x000000FF) otherwise, including the case that no palette types are available in the &lsquo;CPAL&rsquo; table.</p>
1562 <p>This function always returns an error if the config macro <code>TT_CONFIG_OPTION_COLOR_LAYERS</code> is not defined in <code>ftoption.h</code>.</p>
1563 <h4>since</h4>
1564
1565 <p>2.10</p>
1566 <hr>
1567                 
1568               
1569               
1570                 
1571
1572
1573               
1574             </article>
1575           </div>
1576         </div>
1577         
1578       </main>
1579       
1580         
1581 <footer class="md-footer">
1582   
1583     <nav class="md-footer__inner md-grid" aria-label="Footer">
1584       
1585         
1586         <a href="ft2-glyph_variants.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Unicode Variation Sequences" rel="prev">
1587           <div class="md-footer__button md-icon">
1588             <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>
1589           </div>
1590           <div class="md-footer__title">
1591             <div class="md-ellipsis">
1592               <span class="md-footer__direction">
1593                 Previous
1594               </span>
1595               Unicode Variation Sequences
1596             </div>
1597           </div>
1598         </a>
1599       
1600       
1601         
1602         <a href="ft2-layer_management.html" class="md-footer__link md-footer__link--next" aria-label="Next: Glyph Layer Management" rel="next">
1603           <div class="md-footer__title">
1604             <div class="md-ellipsis">
1605               <span class="md-footer__direction">
1606                 Next
1607               </span>
1608               Glyph Layer Management
1609             </div>
1610           </div>
1611           <div class="md-footer__button md-icon">
1612             <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>
1613           </div>
1614         </a>
1615       
1616     </nav>
1617   
1618   <div class="md-footer-meta md-typeset">
1619     <div class="md-footer-meta__inner md-grid">
1620       <div class="md-footer-copyright">
1621         
1622           <div class="md-footer-copyright__highlight">
1623             Copyright 2023 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1624           </div>
1625         
1626         Made with
1627         <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1628           Material for MkDocs
1629         </a>
1630         
1631       </div>
1632       
1633     </div>
1634   </div>
1635 </footer>
1636       
1637     </div>
1638     <div class="md-dialog" data-md-component="dialog">
1639       <div class="md-dialog__inner md-typeset"></div>
1640     </div>
1641     <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>
1642     
1643     
1644       <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
1645       
1646         <script src="javascripts/extra.js"></script>
1647       
1648     
1649   </body>
1650 </html>