Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / docs / reference / ft2-lcd_rendering.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>Subpixel Rendering - 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="#subpixel-rendering" 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               Subpixel Rendering
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     <li class="md-nav__item md-nav__item--nested">
417       
418       
419         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
420       
421       <label class="md-nav__link" for="__nav_5">
422         Extended API
423         <span class="md-nav__icon md-icon"></span>
424       </label>
425       <nav class="md-nav" aria-label="Extended API" data-md-level="1">
426         <label class="md-nav__title" for="__nav_5">
427           <span class="md-nav__icon md-icon"></span>
428           Extended API
429         </label>
430         <ul class="md-nav__list" data-md-scrollfix>
431           
432             
433   
434   
435   
436     <li class="md-nav__item">
437       <a href="ft2-glyph_variants.html" class="md-nav__link">
438         Unicode Variation Sequences
439       </a>
440     </li>
441   
442
443           
444             
445   
446   
447   
448     <li class="md-nav__item">
449       <a href="ft2-color_management.html" class="md-nav__link">
450         Glyph Color Management
451       </a>
452     </li>
453   
454
455           
456             
457   
458   
459   
460     <li class="md-nav__item">
461       <a href="ft2-layer_management.html" class="md-nav__link">
462         Glyph Layer Management
463       </a>
464     </li>
465   
466
467           
468             
469   
470   
471   
472     <li class="md-nav__item">
473       <a href="ft2-glyph_management.html" class="md-nav__link">
474         Glyph Management
475       </a>
476     </li>
477   
478
479           
480             
481   
482   
483   
484     <li class="md-nav__item">
485       <a href="ft2-mac_specific.html" class="md-nav__link">
486         Mac Specific Interface
487       </a>
488     </li>
489   
490
491           
492             
493   
494   
495   
496     <li class="md-nav__item">
497       <a href="ft2-sizes_management.html" class="md-nav__link">
498         Size Management
499       </a>
500     </li>
501   
502
503           
504             
505   
506   
507   
508     <li class="md-nav__item">
509       <a href="ft2-header_file_macros.html" class="md-nav__link">
510         Header File Macros
511       </a>
512     </li>
513   
514
515           
516         </ul>
517       </nav>
518     </li>
519   
520
521     
522       
523       
524       
525
526   
527   
528   
529     
530     <li class="md-nav__item md-nav__item--nested">
531       
532       
533         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
534       
535       <label class="md-nav__link" for="__nav_6">
536         Format-Specific API
537         <span class="md-nav__icon md-icon"></span>
538       </label>
539       <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
540         <label class="md-nav__title" for="__nav_6">
541           <span class="md-nav__icon md-icon"></span>
542           Format-Specific API
543         </label>
544         <ul class="md-nav__list" data-md-scrollfix>
545           
546             
547   
548   
549   
550     <li class="md-nav__item">
551       <a href="ft2-multiple_masters.html" class="md-nav__link">
552         Multiple Masters
553       </a>
554     </li>
555   
556
557           
558             
559   
560   
561   
562     <li class="md-nav__item">
563       <a href="ft2-truetype_tables.html" class="md-nav__link">
564         TrueType Tables
565       </a>
566     </li>
567   
568
569           
570             
571   
572   
573   
574     <li class="md-nav__item">
575       <a href="ft2-type1_tables.html" class="md-nav__link">
576         Type 1 Tables
577       </a>
578     </li>
579   
580
581           
582             
583   
584   
585   
586     <li class="md-nav__item">
587       <a href="ft2-sfnt_names.html" class="md-nav__link">
588         SFNT Names
589       </a>
590     </li>
591   
592
593           
594             
595   
596   
597   
598     <li class="md-nav__item">
599       <a href="ft2-bdf_fonts.html" class="md-nav__link">
600         BDF and PCF Files
601       </a>
602     </li>
603   
604
605           
606             
607   
608   
609   
610     <li class="md-nav__item">
611       <a href="ft2-cid_fonts.html" class="md-nav__link">
612         CID Fonts
613       </a>
614     </li>
615   
616
617           
618             
619   
620   
621   
622     <li class="md-nav__item">
623       <a href="ft2-pfr_fonts.html" class="md-nav__link">
624         PFR Fonts
625       </a>
626     </li>
627   
628
629           
630             
631   
632   
633   
634     <li class="md-nav__item">
635       <a href="ft2-winfnt_fonts.html" class="md-nav__link">
636         Window FNT Files
637       </a>
638     </li>
639   
640
641           
642             
643   
644   
645   
646     <li class="md-nav__item">
647       <a href="ft2-svg_fonts.html" class="md-nav__link">
648         OpenType SVG Fonts
649       </a>
650     </li>
651   
652
653           
654             
655   
656   
657   
658     <li class="md-nav__item">
659       <a href="ft2-font_formats.html" class="md-nav__link">
660         Font Formats
661       </a>
662     </li>
663   
664
665           
666             
667   
668   
669   
670     <li class="md-nav__item">
671       <a href="ft2-gasp_table.html" class="md-nav__link">
672         Gasp Table
673       </a>
674     </li>
675   
676
677           
678         </ul>
679       </nav>
680     </li>
681   
682
683     
684       
685       
686       
687
688   
689   
690     
691   
692   
693     
694     <li class="md-nav__item md-nav__item--active md-nav__item--nested">
695       
696       
697         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" checked>
698       
699       <label class="md-nav__link" for="__nav_7">
700         Controlling FreeType Modules
701         <span class="md-nav__icon md-icon"></span>
702       </label>
703       <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
704         <label class="md-nav__title" for="__nav_7">
705           <span class="md-nav__icon md-icon"></span>
706           Controlling FreeType Modules
707         </label>
708         <ul class="md-nav__list" data-md-scrollfix>
709           
710             
711   
712   
713   
714     <li class="md-nav__item">
715       <a href="ft2-auto_hinter.html" class="md-nav__link">
716         The auto-hinter
717       </a>
718     </li>
719   
720
721           
722             
723   
724   
725   
726     <li class="md-nav__item">
727       <a href="ft2-cff_driver.html" class="md-nav__link">
728         The CFF driver
729       </a>
730     </li>
731   
732
733           
734             
735   
736   
737   
738     <li class="md-nav__item">
739       <a href="ft2-t1_cid_driver.html" class="md-nav__link">
740         The Type 1 and CID drivers
741       </a>
742     </li>
743   
744
745           
746             
747   
748   
749   
750     <li class="md-nav__item">
751       <a href="ft2-tt_driver.html" class="md-nav__link">
752         The TrueType driver
753       </a>
754     </li>
755   
756
757           
758             
759   
760   
761   
762     <li class="md-nav__item">
763       <a href="ft2-pcf_driver.html" class="md-nav__link">
764         The PCF driver
765       </a>
766     </li>
767   
768
769           
770             
771   
772   
773   
774     <li class="md-nav__item">
775       <a href="ft2-ot_svg_driver.html" class="md-nav__link">
776         The SVG driver
777       </a>
778     </li>
779   
780
781           
782             
783   
784   
785   
786     <li class="md-nav__item">
787       <a href="ft2-properties.html" class="md-nav__link">
788         Driver properties
789       </a>
790     </li>
791   
792
793           
794             
795   
796   
797   
798     <li class="md-nav__item">
799       <a href="ft2-parameter_tags.html" class="md-nav__link">
800         Parameter Tags
801       </a>
802     </li>
803   
804
805           
806             
807   
808   
809     
810   
811   
812     <li class="md-nav__item md-nav__item--active">
813       
814       <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
815       
816       
817         
818       
819       
820         <label class="md-nav__link md-nav__link--active" for="__toc">
821           Subpixel Rendering
822           <span class="md-nav__icon md-icon"></span>
823         </label>
824       
825       <a href="ft2-lcd_rendering.html" class="md-nav__link md-nav__link--active">
826         Subpixel Rendering
827       </a>
828       
829         
830 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
831   
832   
833   
834     
835   
836   
837     <label class="md-nav__title" for="__toc">
838       <span class="md-nav__icon md-icon"></span>
839       Table of contents
840     </label>
841     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
842       
843         <li class="md-nav__item">
844   <a href="#synopsis" class="md-nav__link">
845     Synopsis
846   </a>
847   
848 </li>
849       
850         <li class="md-nav__item">
851   <a href="#ft_lcdfilter" class="md-nav__link">
852     FT_LcdFilter
853   </a>
854   
855 </li>
856       
857         <li class="md-nav__item">
858   <a href="#ft_library_setlcdfilter" class="md-nav__link">
859     FT_Library_SetLcdFilter
860   </a>
861   
862 </li>
863       
864         <li class="md-nav__item">
865   <a href="#ft_library_setlcdfilterweights" class="md-nav__link">
866     FT_Library_SetLcdFilterWeights
867   </a>
868   
869 </li>
870       
871         <li class="md-nav__item">
872   <a href="#ft_lcdfivetapfilter" class="md-nav__link">
873     FT_LcdFiveTapFilter
874   </a>
875   
876 </li>
877       
878         <li class="md-nav__item">
879   <a href="#ft_library_setlcdgeometry" class="md-nav__link">
880     FT_Library_SetLcdGeometry
881   </a>
882   
883 </li>
884       
885     </ul>
886   
887 </nav>
888       
889     </li>
890   
891
892           
893         </ul>
894       </nav>
895     </li>
896   
897
898     
899       
900       
901       
902
903   
904   
905   
906     
907     <li class="md-nav__item md-nav__item--nested">
908       
909       
910         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
911       
912       <label class="md-nav__link" for="__nav_8">
913         Cache Sub-System
914         <span class="md-nav__icon md-icon"></span>
915       </label>
916       <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1">
917         <label class="md-nav__title" for="__nav_8">
918           <span class="md-nav__icon md-icon"></span>
919           Cache Sub-System
920         </label>
921         <ul class="md-nav__list" data-md-scrollfix>
922           
923             
924   
925   
926   
927     <li class="md-nav__item">
928       <a href="ft2-cache_subsystem.html" class="md-nav__link">
929         Cache Sub-System
930       </a>
931     </li>
932   
933
934           
935         </ul>
936       </nav>
937     </li>
938   
939
940     
941       
942       
943       
944
945   
946   
947   
948     
949     <li class="md-nav__item md-nav__item--nested">
950       
951       
952         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
953       
954       <label class="md-nav__link" for="__nav_9">
955         Support API
956         <span class="md-nav__icon md-icon"></span>
957       </label>
958       <nav class="md-nav" aria-label="Support API" data-md-level="1">
959         <label class="md-nav__title" for="__nav_9">
960           <span class="md-nav__icon md-icon"></span>
961           Support API
962         </label>
963         <ul class="md-nav__list" data-md-scrollfix>
964           
965             
966   
967   
968   
969     <li class="md-nav__item">
970       <a href="ft2-computations.html" class="md-nav__link">
971         Computations
972       </a>
973     </li>
974   
975
976           
977             
978   
979   
980   
981     <li class="md-nav__item">
982       <a href="ft2-list_processing.html" class="md-nav__link">
983         List Processing
984       </a>
985     </li>
986   
987
988           
989             
990   
991   
992   
993     <li class="md-nav__item">
994       <a href="ft2-outline_processing.html" class="md-nav__link">
995         Outline Processing
996       </a>
997     </li>
998   
999
1000           
1001             
1002   
1003   
1004   
1005     <li class="md-nav__item">
1006       <a href="ft2-quick_advance.html" class="md-nav__link">
1007         Quick retrieval of advance values
1008       </a>
1009     </li>
1010   
1011
1012           
1013             
1014   
1015   
1016   
1017     <li class="md-nav__item">
1018       <a href="ft2-bitmap_handling.html" class="md-nav__link">
1019         Bitmap Handling
1020       </a>
1021     </li>
1022   
1023
1024           
1025             
1026   
1027   
1028   
1029     <li class="md-nav__item">
1030       <a href="ft2-raster.html" class="md-nav__link">
1031         Scanline Converter
1032       </a>
1033     </li>
1034   
1035
1036           
1037             
1038   
1039   
1040   
1041     <li class="md-nav__item">
1042       <a href="ft2-glyph_stroker.html" class="md-nav__link">
1043         Glyph Stroker
1044       </a>
1045     </li>
1046   
1047
1048           
1049             
1050   
1051   
1052   
1053     <li class="md-nav__item">
1054       <a href="ft2-system_interface.html" class="md-nav__link">
1055         System Interface
1056       </a>
1057     </li>
1058   
1059
1060           
1061             
1062   
1063   
1064   
1065     <li class="md-nav__item">
1066       <a href="ft2-module_management.html" class="md-nav__link">
1067         Module Management
1068       </a>
1069     </li>
1070   
1071
1072           
1073             
1074   
1075   
1076   
1077     <li class="md-nav__item">
1078       <a href="ft2-gzip.html" class="md-nav__link">
1079         GZIP Streams
1080       </a>
1081     </li>
1082   
1083
1084           
1085             
1086   
1087   
1088   
1089     <li class="md-nav__item">
1090       <a href="ft2-lzw.html" class="md-nav__link">
1091         LZW Streams
1092       </a>
1093     </li>
1094   
1095
1096           
1097             
1098   
1099   
1100   
1101     <li class="md-nav__item">
1102       <a href="ft2-bzip2.html" class="md-nav__link">
1103         BZIP2 Streams
1104       </a>
1105     </li>
1106   
1107
1108           
1109             
1110   
1111   
1112   
1113     <li class="md-nav__item">
1114       <a href="ft2-debugging_apis.html" class="md-nav__link">
1115         External Debugging APIs
1116       </a>
1117     </li>
1118   
1119
1120           
1121         </ul>
1122       </nav>
1123     </li>
1124   
1125
1126     
1127       
1128       
1129       
1130
1131   
1132   
1133   
1134     
1135     <li class="md-nav__item md-nav__item--nested">
1136       
1137       
1138         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
1139       
1140       <label class="md-nav__link" for="__nav_10">
1141         Error Codes
1142         <span class="md-nav__icon md-icon"></span>
1143       </label>
1144       <nav class="md-nav" aria-label="Error Codes" data-md-level="1">
1145         <label class="md-nav__title" for="__nav_10">
1146           <span class="md-nav__icon md-icon"></span>
1147           Error Codes
1148         </label>
1149         <ul class="md-nav__list" data-md-scrollfix>
1150           
1151             
1152   
1153   
1154   
1155     <li class="md-nav__item">
1156       <a href="ft2-error_enumerations.html" class="md-nav__link">
1157         Error Enumerations
1158       </a>
1159     </li>
1160   
1161
1162           
1163             
1164   
1165   
1166   
1167     <li class="md-nav__item">
1168       <a href="ft2-error_code_values.html" class="md-nav__link">
1169         Error Code Values
1170       </a>
1171     </li>
1172   
1173
1174           
1175         </ul>
1176       </nav>
1177     </li>
1178   
1179
1180     
1181       
1182       
1183       
1184
1185   
1186   
1187   
1188     
1189     <li class="md-nav__item md-nav__item--nested">
1190       
1191       
1192         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
1193       
1194       <label class="md-nav__link" for="__nav_11">
1195         Miscellaneous
1196         <span class="md-nav__icon md-icon"></span>
1197       </label>
1198       <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1">
1199         <label class="md-nav__title" for="__nav_11">
1200           <span class="md-nav__icon md-icon"></span>
1201           Miscellaneous
1202         </label>
1203         <ul class="md-nav__list" data-md-scrollfix>
1204           
1205             
1206   
1207   
1208   
1209     <li class="md-nav__item">
1210       <a href="ft2-gx_validation.html" class="md-nav__link">
1211         TrueTypeGX/AAT Validation
1212       </a>
1213     </li>
1214   
1215
1216           
1217             
1218   
1219   
1220   
1221     <li class="md-nav__item">
1222       <a href="ft2-incremental.html" class="md-nav__link">
1223         Incremental Loading
1224       </a>
1225     </li>
1226   
1227
1228           
1229             
1230   
1231   
1232   
1233     <li class="md-nav__item">
1234       <a href="ft2-truetype_engine.html" class="md-nav__link">
1235         The TrueType Engine
1236       </a>
1237     </li>
1238   
1239
1240           
1241             
1242   
1243   
1244   
1245     <li class="md-nav__item">
1246       <a href="ft2-ot_validation.html" class="md-nav__link">
1247         OpenType Validation
1248       </a>
1249     </li>
1250   
1251
1252           
1253         </ul>
1254       </nav>
1255     </li>
1256   
1257
1258     
1259   </ul>
1260 </nav>
1261                   </div>
1262                 </div>
1263               </div>
1264             
1265             
1266               
1267               <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1268                 <div class="md-sidebar__scrollwrap">
1269                   <div class="md-sidebar__inner">
1270                     
1271 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1272   
1273   
1274   
1275     
1276   
1277   
1278     <label class="md-nav__title" for="__toc">
1279       <span class="md-nav__icon md-icon"></span>
1280       Table of contents
1281     </label>
1282     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1283       
1284         <li class="md-nav__item">
1285   <a href="#synopsis" class="md-nav__link">
1286     Synopsis
1287   </a>
1288   
1289 </li>
1290       
1291         <li class="md-nav__item">
1292   <a href="#ft_lcdfilter" class="md-nav__link">
1293     FT_LcdFilter
1294   </a>
1295   
1296 </li>
1297       
1298         <li class="md-nav__item">
1299   <a href="#ft_library_setlcdfilter" class="md-nav__link">
1300     FT_Library_SetLcdFilter
1301   </a>
1302   
1303 </li>
1304       
1305         <li class="md-nav__item">
1306   <a href="#ft_library_setlcdfilterweights" class="md-nav__link">
1307     FT_Library_SetLcdFilterWeights
1308   </a>
1309   
1310 </li>
1311       
1312         <li class="md-nav__item">
1313   <a href="#ft_lcdfivetapfilter" class="md-nav__link">
1314     FT_LcdFiveTapFilter
1315   </a>
1316   
1317 </li>
1318       
1319         <li class="md-nav__item">
1320   <a href="#ft_library_setlcdgeometry" class="md-nav__link">
1321     FT_Library_SetLcdGeometry
1322   </a>
1323   
1324 </li>
1325       
1326     </ul>
1327   
1328 </nav>
1329                   </div>
1330                 </div>
1331               </div>
1332             
1333           
1334           <div class="md-content" data-md-component="content">
1335             <article class="md-content__inner md-typeset">
1336               
1337                 
1338                 
1339                 <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#controlling-freetype-modules">Controlling FreeType Modules</a> &raquo; Subpixel Rendering</p>
1340 <hr />
1341 <h1 id="subpixel-rendering">Subpixel Rendering<a class="headerlink" href="#subpixel-rendering" title="Permanent link">&para;</a></h1>
1342 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1343 <p>FreeType provides two alternative subpixel rendering technologies. Should you define <code>FT_CONFIG_OPTION_SUBPIXEL_RENDERING</code> in your <code>ftoption.h</code> file, this enables ClearType-style rendering. Otherwise, Harmony LCD rendering is enabled. These technologies are controlled differently and API described below, although always available, performs its function when appropriate method is enabled and does nothing otherwise.</p>
1344 <p>ClearType-style LCD rendering exploits the color-striped structure of LCD pixels, increasing the available resolution in the direction of the stripe (usually horizontal RGB) by a factor of&nbsp;3. Using the subpixel coverages unfiltered can create severe color fringes especially when rendering thin features. Indeed, to produce black-on-white text, the nearby color subpixels must be dimmed evenly. Therefore, an equalizing 5-tap FIR filter should be applied to subpixel coverages regardless of pixel boundaries and should have these properties:</p>
1345 <ol>
1346 <li>
1347 <p>It should be symmetrical, like {&nbsp;a, b, c, b, a&nbsp;}, to avoid any shifts in appearance.</p>
1348 </li>
1349 <li>
1350 <p>It should be color-balanced, meaning a&nbsp;+ b&nbsp;=&nbsp;c, to reduce color fringes by distributing the computed coverage for one subpixel to all subpixels equally.</p>
1351 </li>
1352 <li>
1353 <p>It should be normalized, meaning 2a&nbsp;+ 2b&nbsp;+ c&nbsp;=&nbsp;1.0 to maintain overall brightness.</p>
1354 </li>
1355 </ol>
1356 <p>Boxy 3-tap filter {0, &#8531;, &#8531;, &#8531;, 0} is sharper but is less forgiving of non-ideal gamma curves of a screen (and viewing angles), beveled filters are fuzzier but more tolerant.</p>
1357 <p>Use the <code><a href="ft2-lcd_rendering.html#ft_library_setlcdfilter">FT_Library_SetLcdFilter</a></code> or <code><a href="ft2-lcd_rendering.html#ft_library_setlcdfilterweights">FT_Library_SetLcdFilterWeights</a></code> API to specify a low-pass filter, which is then applied to subpixel-rendered bitmaps generated through <code><a href="ft2-glyph_retrieval.html#ft_render_glyph">FT_Render_Glyph</a></code>.</p>
1358 <p>Harmony LCD rendering is suitable to panels with any regular subpixel structure, not just monitors with 3 color striped subpixels, as long as the color subpixels have fixed positions relative to the pixel center. In this case, each color channel can be rendered separately after shifting the outline opposite to the subpixel shift so that the coverage maps are aligned. This method is immune to color fringes because the shifts do not change integral coverage.</p>
1359 <p>The subpixel geometry must be specified by xy-coordinates for each subpixel. By convention they may come in the RGB order: {{-&#8531;, 0}, {0, 0}, {&#8531;, 0}} for standard RGB striped panel or {{-&#8537;, &frac14;}, {-&#8537;, -&frac14;}, {&#8531;, 0}} for a certain PenTile panel.</p>
1360 <p>Use the <code><a href="ft2-lcd_rendering.html#ft_library_setlcdgeometry">FT_Library_SetLcdGeometry</a></code> API to specify subpixel positions. If one follows the RGB order convention, the same order applies to the resulting <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_LCD</a></code> and <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_LCD_V</a></code> bitmaps. Note, however, that the coordinate frame for the latter must be rotated clockwise. Harmony with default LCD geometry is equivalent to ClearType with light filter.</p>
1361 <p>As a result of ClearType filtering or Harmony shifts, the resulting dimensions of LCD bitmaps can be slightly wider or taller than the dimensions the original outline with regard to the pixel grid. For example, for <code><a href="ft2-glyph_retrieval.html#ft_render_mode">FT_RENDER_MODE_LCD</a></code>, the filter adds 2&nbsp;subpixels to the left, and 2&nbsp;subpixels to the right. The bitmap offset values are adjusted accordingly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.</p>
1362 <p>The ClearType and Harmony rendering is applicable to glyph bitmaps rendered through <code><a href="ft2-glyph_retrieval.html#ft_render_glyph">FT_Render_Glyph</a></code>, <code><a href="ft2-glyph_retrieval.html#ft_load_glyph">FT_Load_Glyph</a></code>, <code><a href="ft2-character_mapping.html#ft_load_char">FT_Load_Char</a></code>, and <code><a href="ft2-glyph_management.html#ft_glyph_to_bitmap">FT_Glyph_To_Bitmap</a></code>, when <code><a href="ft2-glyph_retrieval.html#ft_render_mode">FT_RENDER_MODE_LCD</a></code> or <code><a href="ft2-glyph_retrieval.html#ft_render_mode">FT_RENDER_MODE_LCD_V</a></code> is specified. This API does not control <code><a href="ft2-outline_processing.html#ft_outline_render">FT_Outline_Render</a></code> and <code><a href="ft2-outline_processing.html#ft_outline_get_bitmap">FT_Outline_Get_Bitmap</a></code>.</p>
1363 <p>The described algorithms can completely remove color artefacts when combined with gamma-corrected alpha blending in linear space. Each of the 3&nbsp;alpha values (subpixels) must by independently used to blend one color channel. That is, red alpha blends the red channel of the text color with the red channel of the background pixel.</p>
1364 <h2 id="ft_lcdfilter">FT_LcdFilter<a class="headerlink" href="#ft_lcdfilter" title="Permanent link">&para;</a></h2>
1365 <p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
1366 <div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_LcdFilter_
1367   {
1368     <a href="ft2-lcd_rendering.html#ft_lcd_filter_none">FT_LCD_FILTER_NONE</a>    = 0,
1369     <a href="ft2-lcd_rendering.html#ft_lcd_filter_default">FT_LCD_FILTER_DEFAULT</a> = 1,
1370     <a href="ft2-lcd_rendering.html#ft_lcd_filter_light">FT_LCD_FILTER_LIGHT</a>   = 2,
1371     <a href="ft2-lcd_rendering.html#ft_lcd_filter_legacy1">FT_LCD_FILTER_LEGACY1</a> = 3,
1372     <a href="ft2-lcd_rendering.html#ft_lcd_filter_legacy">FT_LCD_FILTER_LEGACY</a>  = 16,
1373
1374     FT_LCD_FILTER_MAX   /* do not remove */
1375
1376   } <b>FT_LcdFilter</b>;
1377 </code></pre></div>
1378
1379 <p>A list of values to identify various types of LCD filters.</p>
1380 <h4>values</h4>
1381 <table class="fields">
1382 <tr><td class="val" id="ft_lcd_filter_none">FT_LCD_FILTER_NONE</td><td class="desc">
1383 <p>Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color fringes.</p>
1384 </td></tr>
1385 <tr><td class="val" id="ft_lcd_filter_default">FT_LCD_FILTER_DEFAULT</td><td class="desc">
1386 <p>This is a beveled, normalized, and color-balanced five-tap filter with weights of [0x08 0x4D 0x56 0x4D 0x08] in 1/256 units.</p>
1387 </td></tr>
1388 <tr><td class="val" id="ft_lcd_filter_light">FT_LCD_FILTER_LIGHT</td><td class="desc">
1389 <p>this is a boxy, normalized, and color-balanced three-tap filter with weights of [0x00 0x55 0x56 0x55 0x00] in 1/256 units.</p>
1390 </td></tr>
1391 <tr><td class="val" id="ft_lcd_filter_legacy">FT_LCD_FILTER_LEGACY</td><td class="desc">
1392
1393 </td></tr>
1394 <tr><td class="val" id="ft_lcd_filter_legacy1">FT_LCD_FILTER_LEGACY1</td><td class="desc">
1395 <p>This filter corresponds to the original libXft color filter. It provides high contrast output but can exhibit really bad color fringes if glyphs are not extremely well hinted to the pixel grid. This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the future. The second value is provided for compatibility with FontConfig, which historically used different enumeration, sometimes incorrectly forwarded to FreeType.</p>
1396 </td></tr>
1397 </table>
1398
1399 <h4>since</h4>
1400
1401 <p>2.3.0 (<code>FT_LCD_FILTER_LEGACY1</code> since 2.6.2)</p>
1402 <hr>
1403
1404 <h2 id="ft_library_setlcdfilter">FT_Library_SetLcdFilter<a class="headerlink" href="#ft_library_setlcdfilter" title="Permanent link">&para;</a></h2>
1405 <p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
1406 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1407   <b>FT_Library_SetLcdFilter</b>( <a href="ft2-library_setup.html#ft_library">FT_Library</a>    library,
1408                            <a href="ft2-lcd_rendering.html#ft_lcdfilter">FT_LcdFilter</a>  filter );
1409 </code></pre></div>
1410
1411 <p>This function is used to change filter applied to LCD decimated bitmaps, like the ones used when calling <code><a href="ft2-glyph_retrieval.html#ft_render_glyph">FT_Render_Glyph</a></code> with <code><a href="ft2-glyph_retrieval.html#ft_render_mode">FT_RENDER_MODE_LCD</a></code> or <code><a href="ft2-glyph_retrieval.html#ft_render_mode">FT_RENDER_MODE_LCD_V</a></code>.</p>
1412 <h4>input</h4>
1413 <table class="fields">
1414 <tr><td class="val" id="library">library</td><td class="desc">
1415 <p>A handle to the target library instance.</p>
1416 </td></tr>
1417 <tr><td class="val" id="filter">filter</td><td class="desc">
1418 <p>The filter type.</p>
1419 <p>You can use <code><a href="ft2-lcd_rendering.html#ft_lcdfilter">FT_LCD_FILTER_NONE</a></code> here to disable this feature, or <code><a href="ft2-lcd_rendering.html#ft_lcdfilter">FT_LCD_FILTER_DEFAULT</a></code> to use a default filter that should work well on most LCD screens.</p>
1420 </td></tr>
1421 </table>
1422
1423 <h4>return</h4>
1424
1425 <p>FreeType error code. 0&nbsp;means success.</p>
1426 <h4>note</h4>
1427
1428 <p>Since 2.10.3 the LCD filtering is enabled with <code><a href="ft2-lcd_rendering.html#ft_lcdfilter">FT_LCD_FILTER_DEFAULT</a></code>. It is no longer necessary to call this function explicitly except to choose a different filter or disable filtering altogether with <code><a href="ft2-lcd_rendering.html#ft_lcdfilter">FT_LCD_FILTER_NONE</a></code>.</p>
1429 <p>This function does nothing but returns <code>FT_Err_Unimplemented_Feature</code> if the configuration macro <code>FT_CONFIG_OPTION_SUBPIXEL_RENDERING</code> is not defined in your build of the library.</p>
1430 <h4>since</h4>
1431
1432 <p>2.3.0</p>
1433 <hr>
1434
1435 <h2 id="ft_library_setlcdfilterweights">FT_Library_SetLcdFilterWeights<a class="headerlink" href="#ft_library_setlcdfilterweights" title="Permanent link">&para;</a></h2>
1436 <p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
1437 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1438   <b>FT_Library_SetLcdFilterWeights</b>( <a href="ft2-library_setup.html#ft_library">FT_Library</a>      library,
1439                                   <span class="keyword">unsigned</span> <span class="keyword">char</span>  *weights );
1440 </code></pre></div>
1441
1442 <p>This function can be used to enable LCD filter with custom weights, instead of using presets in <code><a href="ft2-lcd_rendering.html#ft_library_setlcdfilter">FT_Library_SetLcdFilter</a></code>.</p>
1443 <h4>input</h4>
1444 <table class="fields">
1445 <tr><td class="val" id="library">library</td><td class="desc">
1446 <p>A handle to the target library instance.</p>
1447 </td></tr>
1448 <tr><td class="val" id="weights">weights</td><td class="desc">
1449 <p>A pointer to an array; the function copies the first five bytes and uses them to specify the filter weights in 1/256 units.</p>
1450 </td></tr>
1451 </table>
1452
1453 <h4>return</h4>
1454
1455 <p>FreeType error code. 0&nbsp;means success.</p>
1456 <h4>note</h4>
1457
1458 <p>This function does nothing but returns <code>FT_Err_Unimplemented_Feature</code> if the configuration macro <code>FT_CONFIG_OPTION_SUBPIXEL_RENDERING</code> is not defined in your build of the library.</p>
1459 <p>LCD filter weights can also be set per face using <code><a href="ft2-face_creation.html#ft_face_properties">FT_Face_Properties</a></code> with <code><a href="ft2-parameter_tags.html#ft_param_tag_lcd_filter_weights">FT_PARAM_TAG_LCD_FILTER_WEIGHTS</a></code>.</p>
1460 <h4>since</h4>
1461
1462 <p>2.4.0</p>
1463 <hr>
1464
1465 <h2 id="ft_lcdfivetapfilter">FT_LcdFiveTapFilter<a class="headerlink" href="#ft_lcdfivetapfilter" title="Permanent link">&para;</a></h2>
1466 <p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
1467 <div class = "codehilite"><pre><code>#<span class="keyword">define</span> FT_LCD_FILTER_FIVE_TAPS  5
1468
1469   <span class="keyword">typedef</span> <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>  <b>FT_LcdFiveTapFilter</b>[FT_LCD_FILTER_FIVE_TAPS];
1470 </code></pre></div>
1471
1472 <p>A typedef for passing the five LCD filter weights to <code><a href="ft2-face_creation.html#ft_face_properties">FT_Face_Properties</a></code> within an <code><a href="ft2-face_creation.html#ft_parameter">FT_Parameter</a></code> structure.</p>
1473 <h4>since</h4>
1474
1475 <p>2.8</p>
1476 <hr>
1477
1478 <h2 id="ft_library_setlcdgeometry">FT_Library_SetLcdGeometry<a class="headerlink" href="#ft_library_setlcdgeometry" title="Permanent link">&para;</a></h2>
1479 <p>Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).</p>
1480 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1481   <b>FT_Library_SetLcdGeometry</b>( <a href="ft2-library_setup.html#ft_library">FT_Library</a>  library,
1482                              <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>   sub[3] );
1483 </code></pre></div>
1484
1485 <p>This function can be used to modify default positions of color subpixels, which controls Harmony LCD rendering.</p>
1486 <h4>input</h4>
1487 <table class="fields">
1488 <tr><td class="val" id="library">library</td><td class="desc">
1489 <p>A handle to the target library instance.</p>
1490 </td></tr>
1491 <tr><td class="val" id="sub">sub</td><td class="desc">
1492 <p>A pointer to an array of 3 vectors in 26.6 fractional pixel format; the function modifies the default values, see the note below.</p>
1493 </td></tr>
1494 </table>
1495
1496 <h4>return</h4>
1497
1498 <p>FreeType error code. 0&nbsp;means success.</p>
1499 <h4>note</h4>
1500
1501 <p>Subpixel geometry examples:</p>
1502 <ul>
1503 <li>
1504 <p>{{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding to 3 color stripes shifted by a third of a pixel. This could be an RGB panel.</p>
1505 </li>
1506 <li>
1507 <p>{{21, 0}, {0, 0}, {-21, 0}} looks the same as the default but can specify a BGR panel instead, while keeping the bitmap in the same RGB888 format.</p>
1508 </li>
1509 <li>
1510 <p>{{0, 21}, {0, 0}, {0, -21}} is the vertical RGB, but the bitmap stays RGB888 as a result.</p>
1511 </li>
1512 <li>
1513 <p>{{-11, 16}, {-11, -16}, {22, 0}} is a certain PenTile arrangement.</p>
1514 </li>
1515 </ul>
1516 <p>This function does nothing and returns <code>FT_Err_Unimplemented_Feature</code> in the context of ClearType-style subpixel rendering when <code>FT_CONFIG_OPTION_SUBPIXEL_RENDERING</code> is defined in your build of the library.</p>
1517 <h4>since</h4>
1518
1519 <p>2.10.0</p>
1520 <hr>
1521                 
1522               
1523               
1524                 
1525
1526
1527               
1528             </article>
1529           </div>
1530         </div>
1531         
1532       </main>
1533       
1534         
1535 <footer class="md-footer">
1536   
1537     <nav class="md-footer__inner md-grid" aria-label="Footer">
1538       
1539         
1540         <a href="ft2-parameter_tags.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Parameter Tags" rel="prev">
1541           <div class="md-footer__button md-icon">
1542             <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>
1543           </div>
1544           <div class="md-footer__title">
1545             <div class="md-ellipsis">
1546               <span class="md-footer__direction">
1547                 Previous
1548               </span>
1549               Parameter Tags
1550             </div>
1551           </div>
1552         </a>
1553       
1554       
1555         
1556         <a href="ft2-cache_subsystem.html" class="md-footer__link md-footer__link--next" aria-label="Next: Cache Sub-System" rel="next">
1557           <div class="md-footer__title">
1558             <div class="md-ellipsis">
1559               <span class="md-footer__direction">
1560                 Next
1561               </span>
1562               Cache Sub-System
1563             </div>
1564           </div>
1565           <div class="md-footer__button md-icon">
1566             <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>
1567           </div>
1568         </a>
1569       
1570     </nav>
1571   
1572   <div class="md-footer-meta md-typeset">
1573     <div class="md-footer-meta__inner md-grid">
1574       <div class="md-footer-copyright">
1575         
1576           <div class="md-footer-copyright__highlight">
1577             Copyright 2023 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1578           </div>
1579         
1580         Made with
1581         <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1582           Material for MkDocs
1583         </a>
1584         
1585       </div>
1586       
1587     </div>
1588   </div>
1589 </footer>
1590       
1591     </div>
1592     <div class="md-dialog" data-md-component="dialog">
1593       <div class="md-dialog__inner md-typeset"></div>
1594     </div>
1595     <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>
1596     
1597     
1598       <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
1599       
1600         <script src="javascripts/extra.js"></script>
1601       
1602     
1603   </body>
1604 </html>