Imported Upstream version 2.10.1
[platform/upstream/freetype2.git] / docs / reference / site / ft2-cff_driver.html
1
2
3
4
5 <!doctype html>
6 <html lang="en" class="no-js">
7   <head>
8     
9       <meta charset="utf-8">
10       <meta name="viewport" content="width=device-width,initial-scale=1">
11       <meta http-equiv="x-ua-compatible" content="ie=edge">
12       
13         <meta name="description" content="API Reference Documentation for FreeType-2.10.1">
14       
15       
16       
17         <meta name="author" content="FreeType Contributors">
18       
19       
20         <meta name="lang:clipboard.copy" content="Copy to clipboard">
21       
22         <meta name="lang:clipboard.copied" content="Copied to clipboard">
23       
24         <meta name="lang:search.language" content="en">
25       
26         <meta name="lang:search.pipeline.stopwords" content="True">
27       
28         <meta name="lang:search.pipeline.trimmer" content="True">
29       
30         <meta name="lang:search.result.none" content="No matching documents">
31       
32         <meta name="lang:search.result.one" content="1 matching document">
33       
34         <meta name="lang:search.result.other" content="# matching documents">
35       
36         <meta name="lang:search.tokenizer" content="[\s\-]+">
37       
38       <link rel="shortcut icon" href="images/favico.ico">
39       <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.0.2">
40     
41     
42       
43         <title>The CFF driver - FreeType-2.10.1 API Reference</title>
44       
45     
46     
47       <link rel="stylesheet" href="assets/stylesheets/application.982221ab.css">
48       
49         <link rel="stylesheet" href="assets/stylesheets/application-palette.224b79ff.css">
50       
51       
52         
53         
54         <meta name="theme-color" content="#4caf50">
55       
56     
57     
58       <script src="assets/javascripts/modernizr.1f0bcf2b.js"></script>
59     
60     
61       
62         <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
63         <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Serif:300,400,400i,700|Roboto+Mono">
64         <style>body,input{font-family:"Noto Serif","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
65       
66     
67     <link rel="stylesheet" href="assets/fonts/material-icons.css">
68     
69     
70       <link rel="stylesheet" href="stylesheets/extra.css">
71     
72     
73       
74     
75     
76   </head>
77   
78     
79     
80     <body dir="ltr" data-md-color-primary="green" data-md-color-accent="green">
81   
82     <svg class="md-svg">
83       <defs>
84         
85         
86       </defs>
87     </svg>
88     <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
89     <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
90     <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
91     
92       <a href="#the-cff-driver" tabindex="1" class="md-skip">
93         Skip to content
94       </a>
95     
96     
97       <header class="md-header" data-md-component="header">
98   <nav class="md-header-nav md-grid">
99     <div class="md-flex">
100       <div class="md-flex__cell md-flex__cell--shrink">
101         <a href="index.html" title="FreeType-2.10.1 API Reference" class="md-header-nav__button md-logo">
102           
103             <img src="images/favico.ico" width="24" height="24">
104           
105         </a>
106       </div>
107       <div class="md-flex__cell md-flex__cell--shrink">
108         <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
109       </div>
110       <div class="md-flex__cell md-flex__cell--stretch">
111         <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
112           
113             <span class="md-header-nav__topic">
114               FreeType-2.10.1 API Reference
115             </span>
116             <span class="md-header-nav__topic">
117               The CFF driver
118             </span>
119           
120         </div>
121       </div>
122       <div class="md-flex__cell md-flex__cell--shrink">
123         
124           <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
125           
126 <div class="md-search" data-md-component="search" role="dialog">
127   <label class="md-search__overlay" for="__search"></label>
128   <div class="md-search__inner" role="search">
129     <form class="md-search__form" name="search">
130       <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
131       <label class="md-icon md-search__icon" for="__search"></label>
132       <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
133         &#xE5CD;
134       </button>
135     </form>
136     <div class="md-search__output">
137       <div class="md-search__scrollwrap" data-md-scrollfix>
138         <div class="md-search-result" data-md-component="result">
139           <div class="md-search-result__meta">
140             Type to start searching
141           </div>
142           <ol class="md-search-result__list"></ol>
143         </div>
144       </div>
145     </div>
146   </div>
147 </div>
148         
149       </div>
150       
151     </div>
152   </nav>
153 </header>
154     
155     <div class="md-container">
156       
157         
158       
159       
160       <main class="md-main">
161         <div class="md-main__inner md-grid" data-md-component="container">
162           
163             
164               <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
165                 <div class="md-sidebar__scrollwrap">
166                   <div class="md-sidebar__inner">
167                     <nav class="md-nav md-nav--primary" data-md-level="0">
168   <label class="md-nav__title md-nav__title--site" for="__drawer">
169     <a href="index.html" title="FreeType-2.10.1 API Reference" class="md-nav__button md-logo">
170       
171         <img src="images/favico.ico" width="48" height="48">
172       
173     </a>
174     FreeType-2.10.1 API Reference
175   </label>
176   
177   <ul class="md-nav__list" data-md-scrollfix>
178     
179       
180       
181       
182
183
184   <li class="md-nav__item">
185     <a href="index.html" title="TOC" class="md-nav__link">
186       TOC
187     </a>
188   </li>
189
190     
191       
192       
193       
194
195
196   <li class="md-nav__item">
197     <a href="ft2-index.html" title="Index" class="md-nav__link">
198       Index
199     </a>
200   </li>
201
202     
203       
204       
205       
206
207
208   <li class="md-nav__item md-nav__item--nested">
209     
210       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
211     
212     <label class="md-nav__link" for="nav-3">
213       General Remarks
214     </label>
215     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
216       <label class="md-nav__title" for="nav-3">
217         General Remarks
218       </label>
219       <ul class="md-nav__list" data-md-scrollfix>
220         
221         
222           
223           
224           
225
226
227   <li class="md-nav__item">
228     <a href="ft2-header_inclusion.html" title="FreeType's header inclusion scheme" class="md-nav__link">
229       FreeType's header inclusion scheme
230     </a>
231   </li>
232
233         
234           
235           
236           
237
238
239   <li class="md-nav__item">
240     <a href="ft2-user_allocation.html" title="User allocation" class="md-nav__link">
241       User allocation
242     </a>
243   </li>
244
245         
246       </ul>
247     </nav>
248   </li>
249
250     
251       
252       
253       
254
255
256   <li class="md-nav__item md-nav__item--nested">
257     
258       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
259     
260     <label class="md-nav__link" for="nav-4">
261       Core API
262     </label>
263     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
264       <label class="md-nav__title" for="nav-4">
265         Core API
266       </label>
267       <ul class="md-nav__list" data-md-scrollfix>
268         
269         
270           
271           
272           
273
274
275   <li class="md-nav__item">
276     <a href="ft2-version.html" title="FreeType Version" class="md-nav__link">
277       FreeType Version
278     </a>
279   </li>
280
281         
282           
283           
284           
285
286
287   <li class="md-nav__item">
288     <a href="ft2-basic_types.html" title="Basic Data Types" class="md-nav__link">
289       Basic Data Types
290     </a>
291   </li>
292
293         
294           
295           
296           
297
298
299   <li class="md-nav__item">
300     <a href="ft2-base_interface.html" title="Base Interface" class="md-nav__link">
301       Base Interface
302     </a>
303   </li>
304
305         
306           
307           
308           
309
310
311   <li class="md-nav__item">
312     <a href="ft2-glyph_variants.html" title="Unicode Variation Sequences" class="md-nav__link">
313       Unicode Variation Sequences
314     </a>
315   </li>
316
317         
318           
319           
320           
321
322
323   <li class="md-nav__item">
324     <a href="ft2-color_management.html" title="Glyph Color Management" class="md-nav__link">
325       Glyph Color Management
326     </a>
327   </li>
328
329         
330           
331           
332           
333
334
335   <li class="md-nav__item">
336     <a href="ft2-layer_management.html" title="Glyph Layer Management" class="md-nav__link">
337       Glyph Layer Management
338     </a>
339   </li>
340
341         
342           
343           
344           
345
346
347   <li class="md-nav__item">
348     <a href="ft2-glyph_management.html" title="Glyph Management" class="md-nav__link">
349       Glyph Management
350     </a>
351   </li>
352
353         
354           
355           
356           
357
358
359   <li class="md-nav__item">
360     <a href="ft2-mac_specific.html" title="Mac Specific Interface" class="md-nav__link">
361       Mac Specific Interface
362     </a>
363   </li>
364
365         
366           
367           
368           
369
370
371   <li class="md-nav__item">
372     <a href="ft2-sizes_management.html" title="Size Management" class="md-nav__link">
373       Size Management
374     </a>
375   </li>
376
377         
378           
379           
380           
381
382
383   <li class="md-nav__item">
384     <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-nav__link">
385       Header File Macros
386     </a>
387   </li>
388
389         
390       </ul>
391     </nav>
392   </li>
393
394     
395       
396       
397       
398
399
400   <li class="md-nav__item md-nav__item--nested">
401     
402       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
403     
404     <label class="md-nav__link" for="nav-5">
405       Format-Specific API
406     </label>
407     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
408       <label class="md-nav__title" for="nav-5">
409         Format-Specific API
410       </label>
411       <ul class="md-nav__list" data-md-scrollfix>
412         
413         
414           
415           
416           
417
418
419   <li class="md-nav__item">
420     <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link">
421       Multiple Masters
422     </a>
423   </li>
424
425         
426           
427           
428           
429
430
431   <li class="md-nav__item">
432     <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
433       TrueType Tables
434     </a>
435   </li>
436
437         
438           
439           
440           
441
442
443   <li class="md-nav__item">
444     <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
445       Type 1 Tables
446     </a>
447   </li>
448
449         
450           
451           
452           
453
454
455   <li class="md-nav__item">
456     <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
457       SFNT Names
458     </a>
459   </li>
460
461         
462           
463           
464           
465
466
467   <li class="md-nav__item">
468     <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
469       BDF and PCF Files
470     </a>
471   </li>
472
473         
474           
475           
476           
477
478
479   <li class="md-nav__item">
480     <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
481       CID Fonts
482     </a>
483   </li>
484
485         
486           
487           
488           
489
490
491   <li class="md-nav__item">
492     <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
493       PFR Fonts
494     </a>
495   </li>
496
497         
498           
499           
500           
501
502
503   <li class="md-nav__item">
504     <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
505       Window FNT Files
506     </a>
507   </li>
508
509         
510           
511           
512           
513
514
515   <li class="md-nav__item">
516     <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
517       Font Formats
518     </a>
519   </li>
520
521         
522           
523           
524           
525
526
527   <li class="md-nav__item">
528     <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link">
529       Gasp Table
530     </a>
531   </li>
532
533         
534       </ul>
535     </nav>
536   </li>
537
538     
539       
540       
541       
542
543   
544
545
546   <li class="md-nav__item md-nav__item--active md-nav__item--nested">
547     
548       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6" checked>
549     
550     <label class="md-nav__link" for="nav-6">
551       Controlling FreeType Modules
552     </label>
553     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
554       <label class="md-nav__title" for="nav-6">
555         Controlling FreeType Modules
556       </label>
557       <ul class="md-nav__list" data-md-scrollfix>
558         
559         
560           
561           
562           
563
564
565   <li class="md-nav__item">
566     <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link">
567       The auto-hinter
568     </a>
569   </li>
570
571         
572           
573           
574           
575
576   
577
578
579   <li class="md-nav__item md-nav__item--active">
580     
581     <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
582     
583       
584     
585     
586       <label class="md-nav__link md-nav__link--active" for="__toc">
587         The CFF driver
588       </label>
589     
590     <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link md-nav__link--active">
591       The CFF driver
592     </a>
593     
594       
595 <nav class="md-nav md-nav--secondary">
596   
597   
598     
599   
600   
601     <label class="md-nav__title" for="__toc">Table of contents</label>
602     <ul class="md-nav__list" data-md-scrollfix>
603       
604         <li class="md-nav__item">
605   <a href="#synopsis" title="Synopsis" class="md-nav__link">
606     Synopsis
607   </a>
608   
609 </li>
610       
611       
612       
613       
614       
615     </ul>
616   
617 </nav>
618     
619   </li>
620
621         
622           
623           
624           
625
626
627   <li class="md-nav__item">
628     <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
629       The Type 1 and CID drivers
630     </a>
631   </li>
632
633         
634           
635           
636           
637
638
639   <li class="md-nav__item">
640     <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
641       The TrueType driver
642     </a>
643   </li>
644
645         
646           
647           
648           
649
650
651   <li class="md-nav__item">
652     <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
653       The PCF driver
654     </a>
655   </li>
656
657         
658           
659           
660           
661
662
663   <li class="md-nav__item">
664     <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
665       Driver properties
666     </a>
667   </li>
668
669         
670           
671           
672           
673
674
675   <li class="md-nav__item">
676     <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
677       Parameter Tags
678     </a>
679   </li>
680
681         
682           
683           
684           
685
686
687   <li class="md-nav__item">
688     <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
689       Subpixel Rendering
690     </a>
691   </li>
692
693         
694       </ul>
695     </nav>
696   </li>
697
698     
699       
700       
701       
702
703
704   <li class="md-nav__item md-nav__item--nested">
705     
706       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
707     
708     <label class="md-nav__link" for="nav-7">
709       Cache Sub-System
710     </label>
711     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
712       <label class="md-nav__title" for="nav-7">
713         Cache Sub-System
714       </label>
715       <ul class="md-nav__list" data-md-scrollfix>
716         
717         
718           
719           
720           
721
722
723   <li class="md-nav__item">
724     <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
725       Cache Sub-System
726     </a>
727   </li>
728
729         
730       </ul>
731     </nav>
732   </li>
733
734     
735       
736       
737       
738
739
740   <li class="md-nav__item md-nav__item--nested">
741     
742       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
743     
744     <label class="md-nav__link" for="nav-8">
745       Support API
746     </label>
747     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
748       <label class="md-nav__title" for="nav-8">
749         Support API
750       </label>
751       <ul class="md-nav__list" data-md-scrollfix>
752         
753         
754           
755           
756           
757
758
759   <li class="md-nav__item">
760     <a href="ft2-computations.html" title="Computations" class="md-nav__link">
761       Computations
762     </a>
763   </li>
764
765         
766           
767           
768           
769
770
771   <li class="md-nav__item">
772     <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
773       List Processing
774     </a>
775   </li>
776
777         
778           
779           
780           
781
782
783   <li class="md-nav__item">
784     <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
785       Outline Processing
786     </a>
787   </li>
788
789         
790           
791           
792           
793
794
795   <li class="md-nav__item">
796     <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
797       Quick retrieval of advance values
798     </a>
799   </li>
800
801         
802           
803           
804           
805
806
807   <li class="md-nav__item">
808     <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
809       Bitmap Handling
810     </a>
811   </li>
812
813         
814           
815           
816           
817
818
819   <li class="md-nav__item">
820     <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
821       Scanline Converter
822     </a>
823   </li>
824
825         
826           
827           
828           
829
830
831   <li class="md-nav__item">
832     <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
833       Glyph Stroker
834     </a>
835   </li>
836
837         
838           
839           
840           
841
842
843   <li class="md-nav__item">
844     <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
845       System Interface
846     </a>
847   </li>
848
849         
850           
851           
852           
853
854
855   <li class="md-nav__item">
856     <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
857       Module Management
858     </a>
859   </li>
860
861         
862           
863           
864           
865
866
867   <li class="md-nav__item">
868     <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
869       GZIP Streams
870     </a>
871   </li>
872
873         
874           
875           
876           
877
878
879   <li class="md-nav__item">
880     <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
881       LZW Streams
882     </a>
883   </li>
884
885         
886           
887           
888           
889
890
891   <li class="md-nav__item">
892     <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
893       BZIP2 Streams
894     </a>
895   </li>
896
897         
898       </ul>
899     </nav>
900   </li>
901
902     
903       
904       
905       
906
907
908   <li class="md-nav__item md-nav__item--nested">
909     
910       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
911     
912     <label class="md-nav__link" for="nav-9">
913       Error Codes
914     </label>
915     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
916       <label class="md-nav__title" for="nav-9">
917         Error Codes
918       </label>
919       <ul class="md-nav__list" data-md-scrollfix>
920         
921         
922           
923           
924           
925
926
927   <li class="md-nav__item">
928     <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
929       Error Enumerations
930     </a>
931   </li>
932
933         
934           
935           
936           
937
938
939   <li class="md-nav__item">
940     <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
941       Error Code Values
942     </a>
943   </li>
944
945         
946       </ul>
947     </nav>
948   </li>
949
950     
951       
952       
953       
954
955
956   <li class="md-nav__item md-nav__item--nested">
957     
958       <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
959     
960     <label class="md-nav__link" for="nav-10">
961       Miscellaneous
962     </label>
963     <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
964       <label class="md-nav__title" for="nav-10">
965         Miscellaneous
966       </label>
967       <ul class="md-nav__list" data-md-scrollfix>
968         
969         
970           
971           
972           
973
974
975   <li class="md-nav__item">
976     <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
977       OpenType Validation
978     </a>
979   </li>
980
981         
982           
983           
984           
985
986
987   <li class="md-nav__item">
988     <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
989       Incremental Loading
990     </a>
991   </li>
992
993         
994           
995           
996           
997
998
999   <li class="md-nav__item">
1000     <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1001       The TrueType Engine
1002     </a>
1003   </li>
1004
1005         
1006           
1007           
1008           
1009
1010
1011   <li class="md-nav__item">
1012     <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
1013       TrueTypeGX/AAT Validation
1014     </a>
1015   </li>
1016
1017         
1018       </ul>
1019     </nav>
1020   </li>
1021
1022     
1023   </ul>
1024 </nav>
1025                   </div>
1026                 </div>
1027               </div>
1028             
1029             
1030               <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1031                 <div class="md-sidebar__scrollwrap">
1032                   <div class="md-sidebar__inner">
1033                     
1034 <nav class="md-nav md-nav--secondary">
1035   
1036   
1037     
1038   
1039   
1040     <label class="md-nav__title" for="__toc">Table of contents</label>
1041     <ul class="md-nav__list" data-md-scrollfix>
1042       
1043         <li class="md-nav__item">
1044   <a href="#synopsis" title="Synopsis" class="md-nav__link">
1045     Synopsis
1046   </a>
1047   
1048 </li>
1049       
1050       
1051       
1052       
1053       
1054     </ul>
1055   
1056 </nav>
1057                   </div>
1058                 </div>
1059               </div>
1060             
1061           
1062           <div class="md-content">
1063             <article class="md-content__inner md-typeset">
1064               
1065                 
1066                 
1067                 <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; The CFF driver</p>
1068 <hr />
1069 <h1 id="the-cff-driver">The CFF driver<a class="headerlink" href="#the-cff-driver" title="Permanent link">&para;</a></h1>
1070 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1071 <p>While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with <code><a href="ft2-module_management.html#ft_property_set">FT_Property_Set</a></code> and <code><a href="ft2-module_management.html#ft_property_get">FT_Property_Get</a></code>.</p>
1072 <p>The CFF driver's module name is &lsquo;cff&rsquo;.</p>
1073 <p>Available properties are <code><a href="ft2-properties.html#hinting-engine">hinting-engine</a></code>, <code><a href="ft2-properties.html#no-stem-darkening">no-stem-darkening</a></code>, <code><a href="ft2-properties.html#darkening-parameters">darkening-parameters</a></code>, and <code><a href="ft2-properties.html#random-seed">random-seed</a></code>, as documented in the &lsquo;<a href="ft2-properties.html#properties">Driver properties</a>&rsquo; section.</p>
1074 <p><strong>Hinting and antialiasing principles of the new engine</strong></p>
1075 <p>The rasterizer is positioning horizontal features (e.g., ascender height &amp; x-height, or crossbars) on the pixel grid and minimizing the amount of antialiasing applied to them, while placing vertical features (vertical stems) on the pixel grid without hinting, thus representing the stem position and weight accurately. Sometimes the vertical stems may be only partially black. In this context, &lsquo;antialiasing&rsquo; means that stems are not positioned exactly on pixel borders, causing a fuzzy appearance.</p>
1076 <p>There are two principles behind this approach.</p>
1077 <p>1) No hinting in the horizontal direction: Unlike &lsquo;superhinted&rsquo; TrueType, which changes glyph widths to accommodate regular inter-glyph spacing, Adobe's approach is &lsquo;faithful to the design&rsquo; in representing both the glyph width and the inter-glyph spacing designed for the font. This makes the screen display as close as it can be to the result one would get with infinite resolution, while preserving what is considered the key characteristics of each glyph. Note that the distances between unhinted and grid-fitted positions at small sizes are comparable to kerning values and thus would be noticeable (and distracting) while reading if hinting were applied.</p>
1078 <p>One of the reasons to not hint horizontally is antialiasing for LCD screens: The pixel geometry of modern displays supplies three vertical subpixels as the eye moves horizontally across each visible pixel. On devices where we can be certain this characteristic is present a rasterizer can take advantage of the subpixels to add increments of weight. In Western writing systems this turns out to be the more critical direction anyway; the weights and spacing of vertical stems (see above) are central to Armenian, Cyrillic, Greek, and Latin type designs. Even when the rasterizer uses greyscale antialiasing instead of color (a necessary compromise when one doesn't know the screen characteristics), the unhinted vertical features preserve the design's weight and spacing much better than aliased type would.</p>
1079 <p>2) Alignment in the vertical direction: Weights and spacing along the y&nbsp;axis are less critical; what is much more important is the visual alignment of related features (like cap-height and x-height). The sense of alignment for these is enhanced by the sharpness of grid-fit edges, while the cruder vertical resolution (full pixels instead of &#8531; pixels) is less of a problem.</p>
1080 <p>On the technical side, horizontal alignment zones for ascender, x-height, and other important height values (traditionally called &lsquo;blue zones&rsquo;) as defined in the font are positioned independently, each being rounded to the nearest pixel edge, taking care of overshoot suppression at small sizes, stem darkening, and scaling.</p>
1081 <p>Hstems (this is, hint values defined in the font to help align horizontal features) that fall within a blue zone are said to be &lsquo;captured&rsquo; and are aligned to that zone. Uncaptured stems are moved in one of four ways, top edge up or down, bottom edge up or down. Unless there are conflicting hstems, the smallest movement is taken to minimize distortion.</p>
1082                 
1083                   
1084                 
1085               
1086               
1087                 
1088
1089
1090               
1091             </article>
1092           </div>
1093         </div>
1094       </main>
1095       
1096         
1097 <footer class="md-footer">
1098   
1099     <div class="md-footer-nav">
1100       <nav class="md-footer-nav__inner md-grid">
1101         
1102           <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
1103             <div class="md-flex__cell md-flex__cell--shrink">
1104               <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
1105             </div>
1106             <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1107               <span class="md-flex__ellipsis">
1108                 <span class="md-footer-nav__direction">
1109                   Previous
1110                 </span>
1111                 The auto-hinter
1112               </span>
1113             </div>
1114           </a>
1115         
1116         
1117           <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
1118             <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1119               <span class="md-flex__ellipsis">
1120                 <span class="md-footer-nav__direction">
1121                   Next
1122                 </span>
1123                 The Type 1 and CID drivers
1124               </span>
1125             </div>
1126             <div class="md-flex__cell md-flex__cell--shrink">
1127               <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
1128             </div>
1129           </a>
1130         
1131       </nav>
1132     </div>
1133   
1134   <div class="md-footer-meta md-typeset">
1135     <div class="md-footer-meta__inner md-grid">
1136       <div class="md-footer-copyright">
1137         
1138           <div class="md-footer-copyright__highlight">
1139             Copyright 2019 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1140           </div>
1141         
1142         powered by
1143         <a href="https://www.mkdocs.org">MkDocs</a>
1144         and
1145         <a href="https://squidfunk.github.io/mkdocs-material/">
1146           Material for MkDocs</a>
1147       </div>
1148       
1149     </div>
1150   </div>
1151 </footer>
1152       
1153     </div>
1154     
1155       <script src="assets/javascripts/application.d9aa80ab.js"></script>
1156       
1157       <script>app.initialize({version:"1.0.4",url:{base:"."}})</script>
1158       
1159         <script src="javascripts/extra.js"></script>
1160       
1161     
1162   </body>
1163 </html>