Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / docs / reference / ft2-glyph_variants.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>Unicode Variation Sequences - 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="#unicode-variation-sequences" 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               Unicode Variation Sequences
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   
439   
440     <li class="md-nav__item md-nav__item--active">
441       
442       <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
443       
444       
445         
446       
447       
448         <label class="md-nav__link md-nav__link--active" for="__toc">
449           Unicode Variation Sequences
450           <span class="md-nav__icon md-icon"></span>
451         </label>
452       
453       <a href="ft2-glyph_variants.html" class="md-nav__link md-nav__link--active">
454         Unicode Variation Sequences
455       </a>
456       
457         
458 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
459   
460   
461   
462     
463   
464   
465     <label class="md-nav__title" for="__toc">
466       <span class="md-nav__icon md-icon"></span>
467       Table of contents
468     </label>
469     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
470       
471         <li class="md-nav__item">
472   <a href="#synopsis" class="md-nav__link">
473     Synopsis
474   </a>
475   
476 </li>
477       
478         <li class="md-nav__item">
479   <a href="#ft_face_getcharvariantindex" class="md-nav__link">
480     FT_Face_GetCharVariantIndex
481   </a>
482   
483 </li>
484       
485         <li class="md-nav__item">
486   <a href="#ft_face_getcharvariantisdefault" class="md-nav__link">
487     FT_Face_GetCharVariantIsDefault
488   </a>
489   
490 </li>
491       
492         <li class="md-nav__item">
493   <a href="#ft_face_getvariantselectors" class="md-nav__link">
494     FT_Face_GetVariantSelectors
495   </a>
496   
497 </li>
498       
499         <li class="md-nav__item">
500   <a href="#ft_face_getvariantsofchar" class="md-nav__link">
501     FT_Face_GetVariantsOfChar
502   </a>
503   
504 </li>
505       
506         <li class="md-nav__item">
507   <a href="#ft_face_getcharsofvariant" class="md-nav__link">
508     FT_Face_GetCharsOfVariant
509   </a>
510   
511 </li>
512       
513     </ul>
514   
515 </nav>
516       
517     </li>
518   
519
520           
521             
522   
523   
524   
525     <li class="md-nav__item">
526       <a href="ft2-color_management.html" class="md-nav__link">
527         Glyph Color Management
528       </a>
529     </li>
530   
531
532           
533             
534   
535   
536   
537     <li class="md-nav__item">
538       <a href="ft2-layer_management.html" class="md-nav__link">
539         Glyph Layer Management
540       </a>
541     </li>
542   
543
544           
545             
546   
547   
548   
549     <li class="md-nav__item">
550       <a href="ft2-glyph_management.html" class="md-nav__link">
551         Glyph Management
552       </a>
553     </li>
554   
555
556           
557             
558   
559   
560   
561     <li class="md-nav__item">
562       <a href="ft2-mac_specific.html" class="md-nav__link">
563         Mac Specific Interface
564       </a>
565     </li>
566   
567
568           
569             
570   
571   
572   
573     <li class="md-nav__item">
574       <a href="ft2-sizes_management.html" class="md-nav__link">
575         Size Management
576       </a>
577     </li>
578   
579
580           
581             
582   
583   
584   
585     <li class="md-nav__item">
586       <a href="ft2-header_file_macros.html" class="md-nav__link">
587         Header File Macros
588       </a>
589     </li>
590   
591
592           
593         </ul>
594       </nav>
595     </li>
596   
597
598     
599       
600       
601       
602
603   
604   
605   
606     
607     <li class="md-nav__item md-nav__item--nested">
608       
609       
610         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
611       
612       <label class="md-nav__link" for="__nav_6">
613         Format-Specific API
614         <span class="md-nav__icon md-icon"></span>
615       </label>
616       <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
617         <label class="md-nav__title" for="__nav_6">
618           <span class="md-nav__icon md-icon"></span>
619           Format-Specific API
620         </label>
621         <ul class="md-nav__list" data-md-scrollfix>
622           
623             
624   
625   
626   
627     <li class="md-nav__item">
628       <a href="ft2-multiple_masters.html" class="md-nav__link">
629         Multiple Masters
630       </a>
631     </li>
632   
633
634           
635             
636   
637   
638   
639     <li class="md-nav__item">
640       <a href="ft2-truetype_tables.html" class="md-nav__link">
641         TrueType Tables
642       </a>
643     </li>
644   
645
646           
647             
648   
649   
650   
651     <li class="md-nav__item">
652       <a href="ft2-type1_tables.html" class="md-nav__link">
653         Type 1 Tables
654       </a>
655     </li>
656   
657
658           
659             
660   
661   
662   
663     <li class="md-nav__item">
664       <a href="ft2-sfnt_names.html" class="md-nav__link">
665         SFNT Names
666       </a>
667     </li>
668   
669
670           
671             
672   
673   
674   
675     <li class="md-nav__item">
676       <a href="ft2-bdf_fonts.html" class="md-nav__link">
677         BDF and PCF Files
678       </a>
679     </li>
680   
681
682           
683             
684   
685   
686   
687     <li class="md-nav__item">
688       <a href="ft2-cid_fonts.html" class="md-nav__link">
689         CID Fonts
690       </a>
691     </li>
692   
693
694           
695             
696   
697   
698   
699     <li class="md-nav__item">
700       <a href="ft2-pfr_fonts.html" class="md-nav__link">
701         PFR Fonts
702       </a>
703     </li>
704   
705
706           
707             
708   
709   
710   
711     <li class="md-nav__item">
712       <a href="ft2-winfnt_fonts.html" class="md-nav__link">
713         Window FNT Files
714       </a>
715     </li>
716   
717
718           
719             
720   
721   
722   
723     <li class="md-nav__item">
724       <a href="ft2-svg_fonts.html" class="md-nav__link">
725         OpenType SVG Fonts
726       </a>
727     </li>
728   
729
730           
731             
732   
733   
734   
735     <li class="md-nav__item">
736       <a href="ft2-font_formats.html" class="md-nav__link">
737         Font Formats
738       </a>
739     </li>
740   
741
742           
743             
744   
745   
746   
747     <li class="md-nav__item">
748       <a href="ft2-gasp_table.html" class="md-nav__link">
749         Gasp Table
750       </a>
751     </li>
752   
753
754           
755         </ul>
756       </nav>
757     </li>
758   
759
760     
761       
762       
763       
764
765   
766   
767   
768     
769     <li class="md-nav__item md-nav__item--nested">
770       
771       
772         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
773       
774       <label class="md-nav__link" for="__nav_7">
775         Controlling FreeType Modules
776         <span class="md-nav__icon md-icon"></span>
777       </label>
778       <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
779         <label class="md-nav__title" for="__nav_7">
780           <span class="md-nav__icon md-icon"></span>
781           Controlling FreeType Modules
782         </label>
783         <ul class="md-nav__list" data-md-scrollfix>
784           
785             
786   
787   
788   
789     <li class="md-nav__item">
790       <a href="ft2-auto_hinter.html" class="md-nav__link">
791         The auto-hinter
792       </a>
793     </li>
794   
795
796           
797             
798   
799   
800   
801     <li class="md-nav__item">
802       <a href="ft2-cff_driver.html" class="md-nav__link">
803         The CFF driver
804       </a>
805     </li>
806   
807
808           
809             
810   
811   
812   
813     <li class="md-nav__item">
814       <a href="ft2-t1_cid_driver.html" class="md-nav__link">
815         The Type 1 and CID drivers
816       </a>
817     </li>
818   
819
820           
821             
822   
823   
824   
825     <li class="md-nav__item">
826       <a href="ft2-tt_driver.html" class="md-nav__link">
827         The TrueType driver
828       </a>
829     </li>
830   
831
832           
833             
834   
835   
836   
837     <li class="md-nav__item">
838       <a href="ft2-pcf_driver.html" class="md-nav__link">
839         The PCF driver
840       </a>
841     </li>
842   
843
844           
845             
846   
847   
848   
849     <li class="md-nav__item">
850       <a href="ft2-ot_svg_driver.html" class="md-nav__link">
851         The SVG driver
852       </a>
853     </li>
854   
855
856           
857             
858   
859   
860   
861     <li class="md-nav__item">
862       <a href="ft2-properties.html" class="md-nav__link">
863         Driver properties
864       </a>
865     </li>
866   
867
868           
869             
870   
871   
872   
873     <li class="md-nav__item">
874       <a href="ft2-parameter_tags.html" class="md-nav__link">
875         Parameter Tags
876       </a>
877     </li>
878   
879
880           
881             
882   
883   
884   
885     <li class="md-nav__item">
886       <a href="ft2-lcd_rendering.html" class="md-nav__link">
887         Subpixel Rendering
888       </a>
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_face_getcharvariantindex" class="md-nav__link">
1293     FT_Face_GetCharVariantIndex
1294   </a>
1295   
1296 </li>
1297       
1298         <li class="md-nav__item">
1299   <a href="#ft_face_getcharvariantisdefault" class="md-nav__link">
1300     FT_Face_GetCharVariantIsDefault
1301   </a>
1302   
1303 </li>
1304       
1305         <li class="md-nav__item">
1306   <a href="#ft_face_getvariantselectors" class="md-nav__link">
1307     FT_Face_GetVariantSelectors
1308   </a>
1309   
1310 </li>
1311       
1312         <li class="md-nav__item">
1313   <a href="#ft_face_getvariantsofchar" class="md-nav__link">
1314     FT_Face_GetVariantsOfChar
1315   </a>
1316   
1317 </li>
1318       
1319         <li class="md-nav__item">
1320   <a href="#ft_face_getcharsofvariant" class="md-nav__link">
1321     FT_Face_GetCharsOfVariant
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#extended-api">Extended API</a> &raquo; Unicode Variation Sequences</p>
1340 <hr />
1341 <h1 id="unicode-variation-sequences">Unicode Variation Sequences<a class="headerlink" href="#unicode-variation-sequences" title="Permanent link">&para;</a></h1>
1342 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1343 <p>Many characters, especially for CJK scripts, have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Variation Sequences (VS), consisting of a Unicode base character and a variation selector instead of further extending the already huge number of characters.</p>
1344 <p>Unicode maintains two different sets, namely &lsquo;Standardized Variation Sequences&rsquo; and registered &lsquo;Ideographic Variation Sequences&rsquo; (IVS), collected in the &lsquo;Ideographic Variation Database&rsquo; (IVD).</p>
1345 <p><a href="https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt">https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt</a> <a href="https://unicode.org/reports/tr37/">https://unicode.org/reports/tr37/</a> <a href="https://unicode.org/ivd/">https://unicode.org/ivd/</a></p>
1346 <p>To date (January 2017), the character with the most ideographic variations is U+9089, having 32 such IVS.</p>
1347 <p>Three Mongolian Variation Selectors have the values U+180B-U+180D; 256 generic Variation Selectors are encoded in the ranges U+FE00-U+FE0F and U+E0100-U+E01EF. IVS currently use Variation Selectors from the range U+E0100-U+E01EF only.</p>
1348 <p>A VS consists of the base character value followed by a single Variation Selector. For example, to get the first variation of U+9089, you have to write the character sequence <code>U+9089 U+E0100</code>.</p>
1349 <p>Adobe and MS decided to support both standardized and ideographic VS with a new cmap subtable (format&nbsp;14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variations supported by the font.</p>
1350 <p>A variation may be either &lsquo;default&rsquo; or &lsquo;non-default&rsquo; for a given font. A default variation is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variation is a different glyph.</p>
1351 <h2 id="ft_face_getcharvariantindex">FT_Face_GetCharVariantIndex<a class="headerlink" href="#ft_face_getcharvariantindex" title="Permanent link">&para;</a></h2>
1352 <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
1353 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> )
1354   <b>FT_Face_GetCharVariantIndex</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>   face,
1355                                <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>  charcode,
1356                                <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>  variantSelector );
1357 </code></pre></div>
1358
1359 <p>Return the glyph index of a given character code as modified by the variation selector.</p>
1360 <h4>input</h4>
1361 <table class="fields">
1362 <tr><td class="val" id="face">face</td><td class="desc">
1363 <p>A handle to the source face object.</p>
1364 </td></tr>
1365 <tr><td class="val" id="charcode">charcode</td><td class="desc">
1366 <p>The character code point in Unicode.</p>
1367 </td></tr>
1368 <tr><td class="val" id="variantselector">variantSelector</td><td class="desc">
1369 <p>The Unicode code point of the variation selector.</p>
1370 </td></tr>
1371 </table>
1372
1373 <h4>return</h4>
1374
1375 <p>The glyph index. 0&nbsp;means either &lsquo;undefined character code&rsquo;, or &lsquo;undefined selector code&rsquo;, or &lsquo;no variation selector cmap subtable&rsquo;, or &lsquo;current CharMap is not Unicode&rsquo;.</p>
1376 <h4>note</h4>
1377
1378 <p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value&nbsp;0 always corresponds to the &lsquo;missing glyph&rsquo;.</p>
1379 <p>This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.</p>
1380 <h4>since</h4>
1381
1382 <p>2.3.6</p>
1383 <hr>
1384
1385 <h2 id="ft_face_getcharvariantisdefault">FT_Face_GetCharVariantIsDefault<a class="headerlink" href="#ft_face_getcharvariantisdefault" title="Permanent link">&para;</a></h2>
1386 <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
1387 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_int">FT_Int</a> )
1388   <b>FT_Face_GetCharVariantIsDefault</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>   face,
1389                                    <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>  charcode,
1390                                    <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>  variantSelector );
1391 </code></pre></div>
1392
1393 <p>Check whether this variation of this Unicode character is the one to be found in the charmap.</p>
1394 <h4>input</h4>
1395 <table class="fields">
1396 <tr><td class="val" id="face">face</td><td class="desc">
1397 <p>A handle to the source face object.</p>
1398 </td></tr>
1399 <tr><td class="val" id="charcode">charcode</td><td class="desc">
1400 <p>The character codepoint in Unicode.</p>
1401 </td></tr>
1402 <tr><td class="val" id="variantselector">variantSelector</td><td class="desc">
1403 <p>The Unicode codepoint of the variation selector.</p>
1404 </td></tr>
1405 </table>
1406
1407 <h4>return</h4>
1408
1409 <p>1&nbsp;if found in the standard (Unicode) cmap, 0&nbsp;if found in the variation selector cmap, or -1 if it is not a variation.</p>
1410 <h4>note</h4>
1411
1412 <p>This function is only meaningful if the font has a variation selector cmap subtable.</p>
1413 <h4>since</h4>
1414
1415 <p>2.3.6</p>
1416 <hr>
1417
1418 <h2 id="ft_face_getvariantselectors">FT_Face_GetVariantSelectors<a class="headerlink" href="#ft_face_getvariantselectors" title="Permanent link">&para;</a></h2>
1419 <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
1420 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>* )
1421   <b>FT_Face_GetVariantSelectors</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>  face );
1422 </code></pre></div>
1423
1424 <p>Return a zero-terminated list of Unicode variation selectors found in the font.</p>
1425 <h4>input</h4>
1426 <table class="fields">
1427 <tr><td class="val" id="face">face</td><td class="desc">
1428 <p>A handle to the source face object.</p>
1429 </td></tr>
1430 </table>
1431
1432 <h4>return</h4>
1433
1434 <p>A pointer to an array of selector code points, or <code>NULL</code> if there is no valid variation selector cmap subtable.</p>
1435 <h4>note</h4>
1436
1437 <p>The last item in the array is&nbsp;0; the array is owned by the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object but can be overwritten or released on the next call to a FreeType function.</p>
1438 <h4>since</h4>
1439
1440 <p>2.3.6</p>
1441 <hr>
1442
1443 <h2 id="ft_face_getvariantsofchar">FT_Face_GetVariantsOfChar<a class="headerlink" href="#ft_face_getvariantsofchar" title="Permanent link">&para;</a></h2>
1444 <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
1445 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>* )
1446   <b>FT_Face_GetVariantsOfChar</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>   face,
1447                              <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>  charcode );
1448 </code></pre></div>
1449
1450 <p>Return a zero-terminated list of Unicode variation selectors found for the specified character code.</p>
1451 <h4>input</h4>
1452 <table class="fields">
1453 <tr><td class="val" id="face">face</td><td class="desc">
1454 <p>A handle to the source face object.</p>
1455 </td></tr>
1456 <tr><td class="val" id="charcode">charcode</td><td class="desc">
1457 <p>The character codepoint in Unicode.</p>
1458 </td></tr>
1459 </table>
1460
1461 <h4>return</h4>
1462
1463 <p>A pointer to an array of variation selector code points that are active for the given character, or <code>NULL</code> if the corresponding list is empty.</p>
1464 <h4>note</h4>
1465
1466 <p>The last item in the array is&nbsp;0; the array is owned by the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object but can be overwritten or released on the next call to a FreeType function.</p>
1467 <h4>since</h4>
1468
1469 <p>2.3.6</p>
1470 <hr>
1471
1472 <h2 id="ft_face_getcharsofvariant">FT_Face_GetCharsOfVariant<a class="headerlink" href="#ft_face_getcharsofvariant" title="Permanent link">&para;</a></h2>
1473 <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p>
1474 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_uint32">FT_UInt32</a>* )
1475   <b>FT_Face_GetCharsOfVariant</b>( <a href="ft2-face_creation.html#ft_face">FT_Face</a>   face,
1476                              <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>  variantSelector );
1477 </code></pre></div>
1478
1479 <p>Return a zero-terminated list of Unicode character codes found for the specified variation selector.</p>
1480 <h4>input</h4>
1481 <table class="fields">
1482 <tr><td class="val" id="face">face</td><td class="desc">
1483 <p>A handle to the source face object.</p>
1484 </td></tr>
1485 <tr><td class="val" id="variantselector">variantSelector</td><td class="desc">
1486 <p>The variation selector code point in Unicode.</p>
1487 </td></tr>
1488 </table>
1489
1490 <h4>return</h4>
1491
1492 <p>A list of all the code points that are specified by this selector (both default and non-default codes are returned) or <code>NULL</code> if there is no valid cmap or the variation selector is invalid.</p>
1493 <h4>note</h4>
1494
1495 <p>The last item in the array is&nbsp;0; the array is owned by the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object but can be overwritten or released on the next call to a FreeType function.</p>
1496 <h4>since</h4>
1497
1498 <p>2.3.6</p>
1499 <hr>
1500                 
1501               
1502               
1503                 
1504
1505
1506               
1507             </article>
1508           </div>
1509         </div>
1510         
1511       </main>
1512       
1513         
1514 <footer class="md-footer">
1515   
1516     <nav class="md-footer__inner md-grid" aria-label="Footer">
1517       
1518         
1519         <a href="ft2-other_api_data.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Other API Data" rel="prev">
1520           <div class="md-footer__button md-icon">
1521             <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>
1522           </div>
1523           <div class="md-footer__title">
1524             <div class="md-ellipsis">
1525               <span class="md-footer__direction">
1526                 Previous
1527               </span>
1528               Other API Data
1529             </div>
1530           </div>
1531         </a>
1532       
1533       
1534         
1535         <a href="ft2-color_management.html" class="md-footer__link md-footer__link--next" aria-label="Next: Glyph Color Management" rel="next">
1536           <div class="md-footer__title">
1537             <div class="md-ellipsis">
1538               <span class="md-footer__direction">
1539                 Next
1540               </span>
1541               Glyph Color Management
1542             </div>
1543           </div>
1544           <div class="md-footer__button md-icon">
1545             <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>
1546           </div>
1547         </a>
1548       
1549     </nav>
1550   
1551   <div class="md-footer-meta md-typeset">
1552     <div class="md-footer-meta__inner md-grid">
1553       <div class="md-footer-copyright">
1554         
1555           <div class="md-footer-copyright__highlight">
1556             Copyright 2023 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1557           </div>
1558         
1559         Made with
1560         <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1561           Material for MkDocs
1562         </a>
1563         
1564       </div>
1565       
1566     </div>
1567   </div>
1568 </footer>
1569       
1570     </div>
1571     <div class="md-dialog" data-md-component="dialog">
1572       <div class="md-dialog__inner md-typeset"></div>
1573     </div>
1574     <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>
1575     
1576     
1577       <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
1578       
1579         <script src="javascripts/extra.js"></script>
1580       
1581     
1582   </body>
1583 </html>