• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.4">
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.1, mkdocs-material-4.6.3">
40
41
42
43        <title>Glyph Stroker - FreeType-2.10.4 API Reference</title>
44
45
46
47      <link rel="stylesheet" href="assets/stylesheets/application.adb8469c.css">
48
49        <link rel="stylesheet" href="assets/stylesheets/application-palette.a8b3c06d.css">
50
51
52
53
54        <meta name="theme-color" content="#4caf50">
55
56
57
58      <script src="assets/javascripts/modernizr.86422ebf.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%7CRoboto+Mono&display=fallback">
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="#glyph-stroker" tabindex="0" 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="." title="FreeType-2.10.4 API Reference" aria-label="FreeType-2.10.4 API Reference" class="md-header-nav__button md-logo">
102
103            <img alt="logo" 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.4 API Reference
115            </span>
116            <span class="md-header-nav__topic">
117
118                Glyph Stroker
119
120            </span>
121
122        </div>
123      </div>
124      <div class="md-flex__cell md-flex__cell--shrink">
125
126          <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
127
128<div class="md-search" data-md-component="search" role="dialog">
129  <label class="md-search__overlay" for="__search"></label>
130  <div class="md-search__inner" role="search">
131    <form class="md-search__form" name="search">
132      <input type="text" class="md-search__input" aria-label="search" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
133      <label class="md-icon md-search__icon" for="__search"></label>
134      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
135        &#xE5CD;
136      </button>
137    </form>
138    <div class="md-search__output">
139      <div class="md-search__scrollwrap" data-md-scrollfix>
140        <div class="md-search-result" data-md-component="result">
141          <div class="md-search-result__meta">
142            Type to start searching
143          </div>
144          <ol class="md-search-result__list"></ol>
145        </div>
146      </div>
147    </div>
148  </div>
149</div>
150
151      </div>
152
153    </div>
154  </nav>
155</header>
156
157    <div class="md-container">
158
159
160
161
162      <main class="md-main" role="main">
163        <div class="md-main__inner md-grid" data-md-component="container">
164
165
166              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
167                <div class="md-sidebar__scrollwrap">
168                  <div class="md-sidebar__inner">
169                    <nav class="md-nav md-nav--primary" data-md-level="0">
170  <label class="md-nav__title md-nav__title--site" for="__drawer">
171    <a href="." title="FreeType-2.10.4 API Reference" class="md-nav__button md-logo">
172
173        <img alt="logo" src="images/favico.ico" width="48" height="48">
174
175    </a>
176    FreeType-2.10.4 API Reference
177  </label>
178
179  <ul class="md-nav__list" data-md-scrollfix>
180
181
182
183
184
185
186  <li class="md-nav__item">
187    <a href="index.html" title="TOC" class="md-nav__link">
188      TOC
189    </a>
190  </li>
191
192
193
194
195
196
197
198  <li class="md-nav__item">
199    <a href="ft2-index.html" title="Index" class="md-nav__link">
200      Index
201    </a>
202  </li>
203
204
205
206
207
208
209
210  <li class="md-nav__item md-nav__item--nested">
211
212      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
213
214    <label class="md-nav__link" for="nav-3">
215      General Remarks
216    </label>
217    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
218      <label class="md-nav__title" for="nav-3">
219        General Remarks
220      </label>
221      <ul class="md-nav__list" data-md-scrollfix>
222
223
224
225
226
227
228
229  <li class="md-nav__item">
230    <a href="ft2-header_inclusion.html" title="FreeType's header inclusion scheme" class="md-nav__link">
231      FreeType's header inclusion scheme
232    </a>
233  </li>
234
235
236
237
238
239
240
241  <li class="md-nav__item">
242    <a href="ft2-user_allocation.html" title="User allocation" class="md-nav__link">
243      User allocation
244    </a>
245  </li>
246
247
248      </ul>
249    </nav>
250  </li>
251
252
253
254
255
256
257
258  <li class="md-nav__item md-nav__item--nested">
259
260      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
261
262    <label class="md-nav__link" for="nav-4">
263      Core API
264    </label>
265    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
266      <label class="md-nav__title" for="nav-4">
267        Core API
268      </label>
269      <ul class="md-nav__list" data-md-scrollfix>
270
271
272
273
274
275
276
277  <li class="md-nav__item">
278    <a href="ft2-version.html" title="FreeType Version" class="md-nav__link">
279      FreeType Version
280    </a>
281  </li>
282
283
284
285
286
287
288
289  <li class="md-nav__item">
290    <a href="ft2-basic_types.html" title="Basic Data Types" class="md-nav__link">
291      Basic Data Types
292    </a>
293  </li>
294
295
296
297
298
299
300
301  <li class="md-nav__item">
302    <a href="ft2-base_interface.html" title="Base Interface" class="md-nav__link">
303      Base Interface
304    </a>
305  </li>
306
307
308
309
310
311
312
313  <li class="md-nav__item">
314    <a href="ft2-glyph_variants.html" title="Unicode Variation Sequences" class="md-nav__link">
315      Unicode Variation Sequences
316    </a>
317  </li>
318
319
320
321
322
323
324
325  <li class="md-nav__item">
326    <a href="ft2-color_management.html" title="Glyph Color Management" class="md-nav__link">
327      Glyph Color Management
328    </a>
329  </li>
330
331
332
333
334
335
336
337  <li class="md-nav__item">
338    <a href="ft2-layer_management.html" title="Glyph Layer Management" class="md-nav__link">
339      Glyph Layer Management
340    </a>
341  </li>
342
343
344
345
346
347
348
349  <li class="md-nav__item">
350    <a href="ft2-glyph_management.html" title="Glyph Management" class="md-nav__link">
351      Glyph Management
352    </a>
353  </li>
354
355
356
357
358
359
360
361  <li class="md-nav__item">
362    <a href="ft2-mac_specific.html" title="Mac Specific Interface" class="md-nav__link">
363      Mac Specific Interface
364    </a>
365  </li>
366
367
368
369
370
371
372
373  <li class="md-nav__item">
374    <a href="ft2-sizes_management.html" title="Size Management" class="md-nav__link">
375      Size Management
376    </a>
377  </li>
378
379
380
381
382
383
384
385  <li class="md-nav__item">
386    <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-nav__link">
387      Header File Macros
388    </a>
389  </li>
390
391
392      </ul>
393    </nav>
394  </li>
395
396
397
398
399
400
401
402  <li class="md-nav__item md-nav__item--nested">
403
404      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
405
406    <label class="md-nav__link" for="nav-5">
407      Format-Specific API
408    </label>
409    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
410      <label class="md-nav__title" for="nav-5">
411        Format-Specific API
412      </label>
413      <ul class="md-nav__list" data-md-scrollfix>
414
415
416
417
418
419
420
421  <li class="md-nav__item">
422    <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link">
423      Multiple Masters
424    </a>
425  </li>
426
427
428
429
430
431
432
433  <li class="md-nav__item">
434    <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
435      TrueType Tables
436    </a>
437  </li>
438
439
440
441
442
443
444
445  <li class="md-nav__item">
446    <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
447      Type 1 Tables
448    </a>
449  </li>
450
451
452
453
454
455
456
457  <li class="md-nav__item">
458    <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
459      SFNT Names
460    </a>
461  </li>
462
463
464
465
466
467
468
469  <li class="md-nav__item">
470    <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
471      BDF and PCF Files
472    </a>
473  </li>
474
475
476
477
478
479
480
481  <li class="md-nav__item">
482    <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
483      CID Fonts
484    </a>
485  </li>
486
487
488
489
490
491
492
493  <li class="md-nav__item">
494    <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
495      PFR Fonts
496    </a>
497  </li>
498
499
500
501
502
503
504
505  <li class="md-nav__item">
506    <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
507      Window FNT Files
508    </a>
509  </li>
510
511
512
513
514
515
516
517  <li class="md-nav__item">
518    <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
519      Font Formats
520    </a>
521  </li>
522
523
524
525
526
527
528
529  <li class="md-nav__item">
530    <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link">
531      Gasp Table
532    </a>
533  </li>
534
535
536      </ul>
537    </nav>
538  </li>
539
540
541
542
543
544
545
546  <li class="md-nav__item md-nav__item--nested">
547
548      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
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  <li class="md-nav__item">
578    <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link">
579      The CFF driver
580    </a>
581  </li>
582
583
584
585
586
587
588
589  <li class="md-nav__item">
590    <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
591      The Type 1 and CID drivers
592    </a>
593  </li>
594
595
596
597
598
599
600
601  <li class="md-nav__item">
602    <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
603      The TrueType driver
604    </a>
605  </li>
606
607
608
609
610
611
612
613  <li class="md-nav__item">
614    <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
615      The PCF driver
616    </a>
617  </li>
618
619
620
621
622
623
624
625  <li class="md-nav__item">
626    <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
627      Driver properties
628    </a>
629  </li>
630
631
632
633
634
635
636
637  <li class="md-nav__item">
638    <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
639      Parameter Tags
640    </a>
641  </li>
642
643
644
645
646
647
648
649  <li class="md-nav__item">
650    <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
651      Subpixel Rendering
652    </a>
653  </li>
654
655
656      </ul>
657    </nav>
658  </li>
659
660
661
662
663
664
665
666  <li class="md-nav__item md-nav__item--nested">
667
668      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
669
670    <label class="md-nav__link" for="nav-7">
671      Cache Sub-System
672    </label>
673    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
674      <label class="md-nav__title" for="nav-7">
675        Cache Sub-System
676      </label>
677      <ul class="md-nav__list" data-md-scrollfix>
678
679
680
681
682
683
684
685  <li class="md-nav__item">
686    <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
687      Cache Sub-System
688    </a>
689  </li>
690
691
692      </ul>
693    </nav>
694  </li>
695
696
697
698
699
700
701
702
703
704  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
705
706      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8" checked>
707
708    <label class="md-nav__link" for="nav-8">
709      Support API
710    </label>
711    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
712      <label class="md-nav__title" for="nav-8">
713        Support API
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-computations.html" title="Computations" class="md-nav__link">
725      Computations
726    </a>
727  </li>
728
729
730
731
732
733
734
735  <li class="md-nav__item">
736    <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
737      List Processing
738    </a>
739  </li>
740
741
742
743
744
745
746
747  <li class="md-nav__item">
748    <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
749      Outline Processing
750    </a>
751  </li>
752
753
754
755
756
757
758
759  <li class="md-nav__item">
760    <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
761      Quick retrieval of advance values
762    </a>
763  </li>
764
765
766
767
768
769
770
771  <li class="md-nav__item">
772    <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
773      Bitmap Handling
774    </a>
775  </li>
776
777
778
779
780
781
782
783  <li class="md-nav__item">
784    <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
785      Scanline Converter
786    </a>
787  </li>
788
789
790
791
792
793
794
795
796
797  <li class="md-nav__item md-nav__item--active">
798
799    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
800
801
802
803
804      <label class="md-nav__link md-nav__link--active" for="__toc">
805        Glyph Stroker
806      </label>
807
808    <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link md-nav__link--active">
809      Glyph Stroker
810    </a>
811
812
813<nav class="md-nav md-nav--secondary">
814
815
816
817
818
819    <label class="md-nav__title" for="__toc">Table of contents</label>
820    <ul class="md-nav__list" data-md-scrollfix>
821
822        <li class="md-nav__item">
823  <a href="#synopsis" class="md-nav__link">
824    Synopsis
825  </a>
826
827</li>
828
829        <li class="md-nav__item">
830  <a href="#ft_stroker" class="md-nav__link">
831    FT_Stroker
832  </a>
833
834</li>
835
836        <li class="md-nav__item">
837  <a href="#ft_stroker_linejoin" class="md-nav__link">
838    FT_Stroker_LineJoin
839  </a>
840
841</li>
842
843        <li class="md-nav__item">
844  <a href="#ft_stroker_linecap" class="md-nav__link">
845    FT_Stroker_LineCap
846  </a>
847
848</li>
849
850        <li class="md-nav__item">
851  <a href="#ft_strokerborder" class="md-nav__link">
852    FT_StrokerBorder
853  </a>
854
855</li>
856
857        <li class="md-nav__item">
858  <a href="#ft_outline_getinsideborder" class="md-nav__link">
859    FT_Outline_GetInsideBorder
860  </a>
861
862</li>
863
864        <li class="md-nav__item">
865  <a href="#ft_outline_getoutsideborder" class="md-nav__link">
866    FT_Outline_GetOutsideBorder
867  </a>
868
869</li>
870
871        <li class="md-nav__item">
872  <a href="#ft_glyph_stroke" class="md-nav__link">
873    FT_Glyph_Stroke
874  </a>
875
876</li>
877
878        <li class="md-nav__item">
879  <a href="#ft_glyph_strokeborder" class="md-nav__link">
880    FT_Glyph_StrokeBorder
881  </a>
882
883</li>
884
885        <li class="md-nav__item">
886  <a href="#ft_stroker_new" class="md-nav__link">
887    FT_Stroker_New
888  </a>
889
890</li>
891
892        <li class="md-nav__item">
893  <a href="#ft_stroker_set" class="md-nav__link">
894    FT_Stroker_Set
895  </a>
896
897</li>
898
899        <li class="md-nav__item">
900  <a href="#ft_stroker_rewind" class="md-nav__link">
901    FT_Stroker_Rewind
902  </a>
903
904</li>
905
906        <li class="md-nav__item">
907  <a href="#ft_stroker_parseoutline" class="md-nav__link">
908    FT_Stroker_ParseOutline
909  </a>
910
911</li>
912
913        <li class="md-nav__item">
914  <a href="#ft_stroker_done" class="md-nav__link">
915    FT_Stroker_Done
916  </a>
917
918</li>
919
920        <li class="md-nav__item">
921  <a href="#ft_stroker_beginsubpath" class="md-nav__link">
922    FT_Stroker_BeginSubPath
923  </a>
924
925</li>
926
927        <li class="md-nav__item">
928  <a href="#ft_stroker_endsubpath" class="md-nav__link">
929    FT_Stroker_EndSubPath
930  </a>
931
932</li>
933
934        <li class="md-nav__item">
935  <a href="#ft_stroker_lineto" class="md-nav__link">
936    FT_Stroker_LineTo
937  </a>
938
939</li>
940
941        <li class="md-nav__item">
942  <a href="#ft_stroker_conicto" class="md-nav__link">
943    FT_Stroker_ConicTo
944  </a>
945
946</li>
947
948        <li class="md-nav__item">
949  <a href="#ft_stroker_cubicto" class="md-nav__link">
950    FT_Stroker_CubicTo
951  </a>
952
953</li>
954
955        <li class="md-nav__item">
956  <a href="#ft_stroker_getbordercounts" class="md-nav__link">
957    FT_Stroker_GetBorderCounts
958  </a>
959
960</li>
961
962        <li class="md-nav__item">
963  <a href="#ft_stroker_exportborder" class="md-nav__link">
964    FT_Stroker_ExportBorder
965  </a>
966
967</li>
968
969        <li class="md-nav__item">
970  <a href="#ft_stroker_getcounts" class="md-nav__link">
971    FT_Stroker_GetCounts
972  </a>
973
974</li>
975
976        <li class="md-nav__item">
977  <a href="#ft_stroker_export" class="md-nav__link">
978    FT_Stroker_Export
979  </a>
980
981</li>
982
983
984
985
986
987    </ul>
988
989</nav>
990
991  </li>
992
993
994
995
996
997
998
999  <li class="md-nav__item">
1000    <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
1001      System Interface
1002    </a>
1003  </li>
1004
1005
1006
1007
1008
1009
1010
1011  <li class="md-nav__item">
1012    <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
1013      Module Management
1014    </a>
1015  </li>
1016
1017
1018
1019
1020
1021
1022
1023  <li class="md-nav__item">
1024    <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
1025      GZIP Streams
1026    </a>
1027  </li>
1028
1029
1030
1031
1032
1033
1034
1035  <li class="md-nav__item">
1036    <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
1037      LZW Streams
1038    </a>
1039  </li>
1040
1041
1042
1043
1044
1045
1046
1047  <li class="md-nav__item">
1048    <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
1049      BZIP2 Streams
1050    </a>
1051  </li>
1052
1053
1054      </ul>
1055    </nav>
1056  </li>
1057
1058
1059
1060
1061
1062
1063
1064  <li class="md-nav__item md-nav__item--nested">
1065
1066      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
1067
1068    <label class="md-nav__link" for="nav-9">
1069      Error Codes
1070    </label>
1071    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1072      <label class="md-nav__title" for="nav-9">
1073        Error Codes
1074      </label>
1075      <ul class="md-nav__list" data-md-scrollfix>
1076
1077
1078
1079
1080
1081
1082
1083  <li class="md-nav__item">
1084    <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
1085      Error Enumerations
1086    </a>
1087  </li>
1088
1089
1090
1091
1092
1093
1094
1095  <li class="md-nav__item">
1096    <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
1097      Error Code Values
1098    </a>
1099  </li>
1100
1101
1102      </ul>
1103    </nav>
1104  </li>
1105
1106
1107
1108
1109
1110
1111
1112  <li class="md-nav__item md-nav__item--nested">
1113
1114      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
1115
1116    <label class="md-nav__link" for="nav-10">
1117      Miscellaneous
1118    </label>
1119    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1120      <label class="md-nav__title" for="nav-10">
1121        Miscellaneous
1122      </label>
1123      <ul class="md-nav__list" data-md-scrollfix>
1124
1125
1126
1127
1128
1129
1130
1131  <li class="md-nav__item">
1132    <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
1133      TrueTypeGX/AAT Validation
1134    </a>
1135  </li>
1136
1137
1138
1139
1140
1141
1142
1143  <li class="md-nav__item">
1144    <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
1145      Incremental Loading
1146    </a>
1147  </li>
1148
1149
1150
1151
1152
1153
1154
1155  <li class="md-nav__item">
1156    <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1157      The TrueType Engine
1158    </a>
1159  </li>
1160
1161
1162
1163
1164
1165
1166
1167  <li class="md-nav__item">
1168    <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1169      OpenType Validation
1170    </a>
1171  </li>
1172
1173
1174      </ul>
1175    </nav>
1176  </li>
1177
1178
1179  </ul>
1180</nav>
1181                  </div>
1182                </div>
1183              </div>
1184
1185
1186              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1187                <div class="md-sidebar__scrollwrap">
1188                  <div class="md-sidebar__inner">
1189
1190<nav class="md-nav md-nav--secondary">
1191
1192
1193
1194
1195
1196    <label class="md-nav__title" for="__toc">Table of contents</label>
1197    <ul class="md-nav__list" data-md-scrollfix>
1198
1199        <li class="md-nav__item">
1200  <a href="#synopsis" class="md-nav__link">
1201    Synopsis
1202  </a>
1203
1204</li>
1205
1206        <li class="md-nav__item">
1207  <a href="#ft_stroker" class="md-nav__link">
1208    FT_Stroker
1209  </a>
1210
1211</li>
1212
1213        <li class="md-nav__item">
1214  <a href="#ft_stroker_linejoin" class="md-nav__link">
1215    FT_Stroker_LineJoin
1216  </a>
1217
1218</li>
1219
1220        <li class="md-nav__item">
1221  <a href="#ft_stroker_linecap" class="md-nav__link">
1222    FT_Stroker_LineCap
1223  </a>
1224
1225</li>
1226
1227        <li class="md-nav__item">
1228  <a href="#ft_strokerborder" class="md-nav__link">
1229    FT_StrokerBorder
1230  </a>
1231
1232</li>
1233
1234        <li class="md-nav__item">
1235  <a href="#ft_outline_getinsideborder" class="md-nav__link">
1236    FT_Outline_GetInsideBorder
1237  </a>
1238
1239</li>
1240
1241        <li class="md-nav__item">
1242  <a href="#ft_outline_getoutsideborder" class="md-nav__link">
1243    FT_Outline_GetOutsideBorder
1244  </a>
1245
1246</li>
1247
1248        <li class="md-nav__item">
1249  <a href="#ft_glyph_stroke" class="md-nav__link">
1250    FT_Glyph_Stroke
1251  </a>
1252
1253</li>
1254
1255        <li class="md-nav__item">
1256  <a href="#ft_glyph_strokeborder" class="md-nav__link">
1257    FT_Glyph_StrokeBorder
1258  </a>
1259
1260</li>
1261
1262        <li class="md-nav__item">
1263  <a href="#ft_stroker_new" class="md-nav__link">
1264    FT_Stroker_New
1265  </a>
1266
1267</li>
1268
1269        <li class="md-nav__item">
1270  <a href="#ft_stroker_set" class="md-nav__link">
1271    FT_Stroker_Set
1272  </a>
1273
1274</li>
1275
1276        <li class="md-nav__item">
1277  <a href="#ft_stroker_rewind" class="md-nav__link">
1278    FT_Stroker_Rewind
1279  </a>
1280
1281</li>
1282
1283        <li class="md-nav__item">
1284  <a href="#ft_stroker_parseoutline" class="md-nav__link">
1285    FT_Stroker_ParseOutline
1286  </a>
1287
1288</li>
1289
1290        <li class="md-nav__item">
1291  <a href="#ft_stroker_done" class="md-nav__link">
1292    FT_Stroker_Done
1293  </a>
1294
1295</li>
1296
1297        <li class="md-nav__item">
1298  <a href="#ft_stroker_beginsubpath" class="md-nav__link">
1299    FT_Stroker_BeginSubPath
1300  </a>
1301
1302</li>
1303
1304        <li class="md-nav__item">
1305  <a href="#ft_stroker_endsubpath" class="md-nav__link">
1306    FT_Stroker_EndSubPath
1307  </a>
1308
1309</li>
1310
1311        <li class="md-nav__item">
1312  <a href="#ft_stroker_lineto" class="md-nav__link">
1313    FT_Stroker_LineTo
1314  </a>
1315
1316</li>
1317
1318        <li class="md-nav__item">
1319  <a href="#ft_stroker_conicto" class="md-nav__link">
1320    FT_Stroker_ConicTo
1321  </a>
1322
1323</li>
1324
1325        <li class="md-nav__item">
1326  <a href="#ft_stroker_cubicto" class="md-nav__link">
1327    FT_Stroker_CubicTo
1328  </a>
1329
1330</li>
1331
1332        <li class="md-nav__item">
1333  <a href="#ft_stroker_getbordercounts" class="md-nav__link">
1334    FT_Stroker_GetBorderCounts
1335  </a>
1336
1337</li>
1338
1339        <li class="md-nav__item">
1340  <a href="#ft_stroker_exportborder" class="md-nav__link">
1341    FT_Stroker_ExportBorder
1342  </a>
1343
1344</li>
1345
1346        <li class="md-nav__item">
1347  <a href="#ft_stroker_getcounts" class="md-nav__link">
1348    FT_Stroker_GetCounts
1349  </a>
1350
1351</li>
1352
1353        <li class="md-nav__item">
1354  <a href="#ft_stroker_export" class="md-nav__link">
1355    FT_Stroker_Export
1356  </a>
1357
1358</li>
1359
1360
1361
1362
1363
1364    </ul>
1365
1366</nav>
1367                  </div>
1368                </div>
1369              </div>
1370
1371
1372          <div class="md-content">
1373            <article class="md-content__inner md-typeset">
1374
1375
1376
1377                <p><a href="https://www.freetype.org">FreeType</a> &raquo; <a href="../">Docs</a> &raquo; <a href="index.html#support-api">Support API</a> &raquo; Glyph Stroker</p>
1378<hr />
1379<h1 id="glyph-stroker">Glyph Stroker<a class="headerlink" href="#glyph-stroker" title="Permanent link">&para;</a></h1>
1380<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1381<p>This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the &lsquo;outside&rsquo; and/or the &lsquo;inside&rsquo; borders of the stroke.</p>
1382<p>This can be useful to generate &lsquo;bordered&rsquo; glyph, i.e., glyphs displayed with a colored (and anti-aliased) border around their shape.</p>
1383<h2 id="ft_stroker">FT_Stroker<a class="headerlink" href="#ft_stroker" title="Permanent link">&para;</a></h2>
1384<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1385<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_*  <b>FT_Stroker</b>;
1386</code></pre></div>
1387
1388<p>Opaque handle to a path stroker object.</p>
1389<hr>
1390
1391<h2 id="ft_stroker_linejoin">FT_Stroker_LineJoin<a class="headerlink" href="#ft_stroker_linejoin" title="Permanent link">&para;</a></h2>
1392<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1393<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Stroker_LineJoin_
1394  {
1395    <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_round">FT_STROKER_LINEJOIN_ROUND</a>          = 0,
1396    <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_bevel">FT_STROKER_LINEJOIN_BEVEL</a>          = 1,
1397    <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter_variable">FT_STROKER_LINEJOIN_MITER_VARIABLE</a> = 2,
1398    <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter">FT_STROKER_LINEJOIN_MITER</a>          = <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter_variable">FT_STROKER_LINEJOIN_MITER_VARIABLE</a>,
1399    <a href="ft2-glyph_stroker.html#ft_stroker_linejoin_miter_fixed">FT_STROKER_LINEJOIN_MITER_FIXED</a>    = 3
1400
1401  } <b>FT_Stroker_LineJoin</b>;
1402</code></pre></div>
1403
1404<p>These values determine how two joining lines are rendered in a stroker.</p>
1405<h4>values</h4>
1406
1407<table class="fields long">
1408<tr><td class="val" id="ft_stroker_linejoin_round">FT_STROKER_LINEJOIN_ROUND</td><td class="desc">
1409<p>Used to render rounded line joins. Circular arcs are used to join two lines smoothly.</p>
1410</td></tr>
1411<tr><td class="val" id="ft_stroker_linejoin_bevel">FT_STROKER_LINEJOIN_BEVEL</td><td class="desc">
1412<p>Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.</p>
1413</td></tr>
1414<tr><td class="val" id="ft_stroker_linejoin_miter_fixed">FT_STROKER_LINEJOIN_MITER_FIXED</td><td class="desc">
1415<p>Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. A bevel join (see above) is used if the segments meet at too sharp an angle and the outer edges meet beyond a distance corresponding to the meter limit. This prevents long spikes being created. <code>FT_STROKER_LINEJOIN_MITER_FIXED</code> generates a miter line join as used in PostScript and PDF.</p>
1416</td></tr>
1417<tr><td class="val" id="ft_stroker_linejoin_miter_variable">FT_STROKER_LINEJOIN_MITER_VARIABLE</td><td class="desc">
1418
1419</td></tr>
1420<tr><td class="val" id="ft_stroker_linejoin_miter">FT_STROKER_LINEJOIN_MITER</td><td class="desc">
1421<p>Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped perpendicularly to the bisector, at a distance corresponding to the miter limit. This prevents long spikes being created. <code>FT_STROKER_LINEJOIN_MITER_VARIABLE</code> generates a mitered line join as used in XPS. <code>FT_STROKER_LINEJOIN_MITER</code> is an alias for <code>FT_STROKER_LINEJOIN_MITER_VARIABLE</code>, retained for backward compatibility.</p>
1422</td></tr>
1423</table>
1424
1425<hr>
1426
1427<h2 id="ft_stroker_linecap">FT_Stroker_LineCap<a class="headerlink" href="#ft_stroker_linecap" title="Permanent link">&para;</a></h2>
1428<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1429<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Stroker_LineCap_
1430  {
1431    <a href="ft2-glyph_stroker.html#ft_stroker_linecap_butt">FT_STROKER_LINECAP_BUTT</a> = 0,
1432    <a href="ft2-glyph_stroker.html#ft_stroker_linecap_round">FT_STROKER_LINECAP_ROUND</a>,
1433    <a href="ft2-glyph_stroker.html#ft_stroker_linecap_square">FT_STROKER_LINECAP_SQUARE</a>
1434
1435  } <b>FT_Stroker_LineCap</b>;
1436</code></pre></div>
1437
1438<p>These values determine how the end of opened sub-paths are rendered in a stroke.</p>
1439<h4>values</h4>
1440
1441<table class="fields">
1442<tr><td class="val" id="ft_stroker_linecap_butt">FT_STROKER_LINECAP_BUTT</td><td class="desc">
1443<p>The end of lines is rendered as a full stop on the last point itself.</p>
1444</td></tr>
1445<tr><td class="val" id="ft_stroker_linecap_round">FT_STROKER_LINECAP_ROUND</td><td class="desc">
1446<p>The end of lines is rendered as a half-circle around the last point.</p>
1447</td></tr>
1448<tr><td class="val" id="ft_stroker_linecap_square">FT_STROKER_LINECAP_SQUARE</td><td class="desc">
1449<p>The end of lines is rendered as a square around the last point.</p>
1450</td></tr>
1451</table>
1452
1453<hr>
1454
1455<h2 id="ft_strokerborder">FT_StrokerBorder<a class="headerlink" href="#ft_strokerborder" title="Permanent link">&para;</a></h2>
1456<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1457<div class = "codehilite"><pre><code>  <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_StrokerBorder_
1458  {
1459    <a href="ft2-glyph_stroker.html#ft_stroker_border_left">FT_STROKER_BORDER_LEFT</a> = 0,
1460    <a href="ft2-glyph_stroker.html#ft_stroker_border_right">FT_STROKER_BORDER_RIGHT</a>
1461
1462  } <b>FT_StrokerBorder</b>;
1463</code></pre></div>
1464
1465<p>These values are used to select a given stroke border in <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_exportborder">FT_Stroker_ExportBorder</a></code>.</p>
1466<h4>values</h4>
1467
1468<table class="fields">
1469<tr><td class="val" id="ft_stroker_border_left">FT_STROKER_BORDER_LEFT</td><td class="desc">
1470<p>Select the left border, relative to the drawing direction.</p>
1471</td></tr>
1472<tr><td class="val" id="ft_stroker_border_right">FT_STROKER_BORDER_RIGHT</td><td class="desc">
1473<p>Select the right border, relative to the drawing direction.</p>
1474</td></tr>
1475</table>
1476
1477<h4>note</h4>
1478
1479<p>Applications are generally interested in the &lsquo;inside&rsquo; and &lsquo;outside&rsquo; borders. However, there is no direct mapping between these and the &lsquo;left&rsquo; and &lsquo;right&rsquo; ones, since this really depends on the glyph's drawing orientation, which varies between font formats.</p>
1480<p>You can however use <code><a href="ft2-glyph_stroker.html#ft_outline_getinsideborder">FT_Outline_GetInsideBorder</a></code> and <code><a href="ft2-glyph_stroker.html#ft_outline_getoutsideborder">FT_Outline_GetOutsideBorder</a></code> to get these.</p>
1481<hr>
1482
1483<h2 id="ft_outline_getinsideborder">FT_Outline_GetInsideBorder<a class="headerlink" href="#ft_outline_getinsideborder" title="Permanent link">&para;</a></h2>
1484<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1485<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a> )
1486  <b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>*  outline );
1487</code></pre></div>
1488
1489<p>Retrieve the <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a></code> value corresponding to the &lsquo;inside&rsquo; borders of a given outline.</p>
1490<h4>input</h4>
1491
1492<table class="fields">
1493<tr><td class="val" id="outline">outline</td><td class="desc">
1494<p>The source outline handle.</p>
1495</td></tr>
1496</table>
1497
1498<h4>return</h4>
1499
1500<p>The border index. <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_STROKER_BORDER_RIGHT</a></code> for empty or invalid outlines.</p>
1501<hr>
1502
1503<h2 id="ft_outline_getoutsideborder">FT_Outline_GetOutsideBorder<a class="headerlink" href="#ft_outline_getoutsideborder" title="Permanent link">&para;</a></h2>
1504<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1505<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a> )
1506  <b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>*  outline );
1507</code></pre></div>
1508
1509<p>Retrieve the <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a></code> value corresponding to the &lsquo;outside&rsquo; borders of a given outline.</p>
1510<h4>input</h4>
1511
1512<table class="fields">
1513<tr><td class="val" id="outline">outline</td><td class="desc">
1514<p>The source outline handle.</p>
1515</td></tr>
1516</table>
1517
1518<h4>return</h4>
1519
1520<p>The border index. <code><a href="ft2-glyph_stroker.html#ft_strokerborder">FT_STROKER_BORDER_LEFT</a></code> for empty or invalid outlines.</p>
1521<hr>
1522
1523<h2 id="ft_glyph_stroke">FT_Glyph_Stroke<a class="headerlink" href="#ft_glyph_stroke" title="Permanent link">&para;</a></h2>
1524<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1525<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1526  <b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a>    *pglyph,
1527                   <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>   stroker,
1528                   <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>      destroy );
1529</code></pre></div>
1530
1531<p>Stroke a given outline glyph object with a given stroker.</p>
1532<h4>inout</h4>
1533
1534<table class="fields">
1535<tr><td class="val" id="pglyph">pglyph</td><td class="desc">
1536<p>Source glyph handle on input, new glyph handle on output.</p>
1537</td></tr>
1538</table>
1539
1540<h4>input</h4>
1541
1542<table class="fields">
1543<tr><td class="val" id="stroker">stroker</td><td class="desc">
1544<p>A stroker handle.</p>
1545</td></tr>
1546<tr><td class="val" id="destroy">destroy</td><td class="desc">
1547<p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
1548</td></tr>
1549</table>
1550
1551<h4>return</h4>
1552
1553<p>FreeType error code. 0&nbsp;means success.</p>
1554<h4>note</h4>
1555
1556<p>The source glyph is untouched in case of error.</p>
1557<p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p>
1558<hr>
1559
1560<h2 id="ft_glyph_strokeborder">FT_Glyph_StrokeBorder<a class="headerlink" href="#ft_glyph_strokeborder" title="Permanent link">&para;</a></h2>
1561<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1562<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1563  <b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a>    *pglyph,
1564                         <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>   stroker,
1565                         <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>      inside,
1566                         <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>      destroy );
1567</code></pre></div>
1568
1569<p>Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.</p>
1570<h4>inout</h4>
1571
1572<table class="fields">
1573<tr><td class="val" id="pglyph">pglyph</td><td class="desc">
1574<p>Source glyph handle on input, new glyph handle on output.</p>
1575</td></tr>
1576</table>
1577
1578<h4>input</h4>
1579
1580<table class="fields">
1581<tr><td class="val" id="stroker">stroker</td><td class="desc">
1582<p>A stroker handle.</p>
1583</td></tr>
1584<tr><td class="val" id="inside">inside</td><td class="desc">
1585<p>A Boolean. If&nbsp;1, return the inside border, otherwise the outside border.</p>
1586</td></tr>
1587<tr><td class="val" id="destroy">destroy</td><td class="desc">
1588<p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
1589</td></tr>
1590</table>
1591
1592<h4>return</h4>
1593
1594<p>FreeType error code. 0&nbsp;means success.</p>
1595<h4>note</h4>
1596
1597<p>The source glyph is untouched in case of error.</p>
1598<p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p>
1599<hr>
1600
1601<h2 id="ft_stroker_new">FT_Stroker_New<a class="headerlink" href="#ft_stroker_new" title="Permanent link">&para;</a></h2>
1602<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1603<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1604  <b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>   library,
1605                  <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  *astroker );
1606</code></pre></div>
1607
1608<p>Create a new stroker object.</p>
1609<h4>input</h4>
1610
1611<table class="fields">
1612<tr><td class="val" id="library">library</td><td class="desc">
1613<p>FreeType library handle.</p>
1614</td></tr>
1615</table>
1616
1617<h4>output</h4>
1618
1619<table class="fields">
1620<tr><td class="val" id="astroker">astroker</td><td class="desc">
1621<p>A new stroker object handle. <code>NULL</code> in case of error.</p>
1622</td></tr>
1623</table>
1624
1625<h4>return</h4>
1626
1627<p>FreeType error code. 0&nbsp;means success.</p>
1628<hr>
1629
1630<h2 id="ft_stroker_set">FT_Stroker_Set<a class="headerlink" href="#ft_stroker_set" title="Permanent link">&para;</a></h2>
1631<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1632<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1633  <b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>           stroker,
1634                  <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>             radius,
1635                  <a href="ft2-glyph_stroker.html#ft_stroker_linecap">FT_Stroker_LineCap</a>   line_cap,
1636                  <a href="ft2-glyph_stroker.html#ft_stroker_linejoin">FT_Stroker_LineJoin</a>  line_join,
1637                  <a href="ft2-basic_types.html#ft_fixed">FT_Fixed</a>             miter_limit );
1638</code></pre></div>
1639
1640<p>Reset a stroker object's attributes.</p>
1641<h4>input</h4>
1642
1643<table class="fields">
1644<tr><td class="val" id="stroker">stroker</td><td class="desc">
1645<p>The target stroker handle.</p>
1646</td></tr>
1647<tr><td class="val" id="radius">radius</td><td class="desc">
1648<p>The border radius.</p>
1649</td></tr>
1650<tr><td class="val" id="line_cap">line_cap</td><td class="desc">
1651<p>The line cap style.</p>
1652</td></tr>
1653<tr><td class="val" id="line_join">line_join</td><td class="desc">
1654<p>The line join style.</p>
1655</td></tr>
1656<tr><td class="val" id="miter_limit">miter_limit</td><td class="desc">
1657<p>The maximum reciprocal sine of half-angle at the miter join, expressed as 16.16 fixed point value.</p>
1658</td></tr>
1659</table>
1660
1661<h4>note</h4>
1662
1663<p>The <code>radius</code> is expressed in the same units as the outline coordinates.</p>
1664<p>The <code>miter_limit</code> multiplied by the <code>radius</code> gives the maximum size of a miter spike, at which it is clipped for <code><a href="ft2-glyph_stroker.html#ft_stroker_linejoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></code> or replaced with a bevel join for <code><a href="ft2-glyph_stroker.html#ft_stroker_linejoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></code>.</p>
1665<p>This function calls <code><a href="ft2-glyph_stroker.html#ft_stroker_rewind">FT_Stroker_Rewind</a></code> automatically.</p>
1666<hr>
1667
1668<h2 id="ft_stroker_rewind">FT_Stroker_Rewind<a class="headerlink" href="#ft_stroker_rewind" title="Permanent link">&para;</a></h2>
1669<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1670<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1671  <b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker );
1672</code></pre></div>
1673
1674<p>Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> or <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
1675<h4>input</h4>
1676
1677<table class="fields">
1678<tr><td class="val" id="stroker">stroker</td><td class="desc">
1679<p>The target stroker handle.</p>
1680</td></tr>
1681</table>
1682
1683<hr>
1684
1685<h2 id="ft_stroker_parseoutline">FT_Stroker_ParseOutline<a class="headerlink" href="#ft_stroker_parseoutline" title="Permanent link">&para;</a></h2>
1686<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1687<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1688  <b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>   stroker,
1689                           <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>*  outline,
1690                           <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>      opened );
1691</code></pre></div>
1692
1693<p>A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like <code><a href="ft2-glyph_stroker.html#ft_stroker_getcounts">FT_Stroker_GetCounts</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_export">FT_Stroker_Export</a></code>.</p>
1694<h4>input</h4>
1695
1696<table class="fields">
1697<tr><td class="val" id="stroker">stroker</td><td class="desc">
1698<p>The target stroker handle.</p>
1699</td></tr>
1700<tr><td class="val" id="outline">outline</td><td class="desc">
1701<p>The source outline.</p>
1702</td></tr>
1703<tr><td class="val" id="opened">opened</td><td class="desc">
1704<p>A boolean. If&nbsp;1, the outline is treated as an open path instead of a closed one.</p>
1705</td></tr>
1706</table>
1707
1708<h4>return</h4>
1709
1710<p>FreeType error code. 0&nbsp;means success.</p>
1711<h4>note</h4>
1712
1713<p>If <code>opened</code> is&nbsp;0 (the default), the outline is treated as a closed path, and the stroker generates two distinct &lsquo;border&rsquo; outlines.</p>
1714<p>If <code>opened</code> is&nbsp;1, the outline is processed as an open path, and the stroker generates a single &lsquo;stroke&rsquo; outline.</p>
1715<p>This function calls <code><a href="ft2-glyph_stroker.html#ft_stroker_rewind">FT_Stroker_Rewind</a></code> automatically.</p>
1716<hr>
1717
1718<h2 id="ft_stroker_done">FT_Stroker_Done<a class="headerlink" href="#ft_stroker_done" title="Permanent link">&para;</a></h2>
1719<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1720<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1721  <b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker );
1722</code></pre></div>
1723
1724<p>Destroy a stroker object.</p>
1725<h4>input</h4>
1726
1727<table class="fields">
1728<tr><td class="val" id="stroker">stroker</td><td class="desc">
1729<p>A stroker handle. Can be <code>NULL</code>.</p>
1730</td></tr>
1731</table>
1732
1733<hr>
1734
1735<h2 id="ft_stroker_beginsubpath">FT_Stroker_BeginSubPath<a class="headerlink" href="#ft_stroker_beginsubpath" title="Permanent link">&para;</a></h2>
1736<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1737<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1738  <b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker,
1739                           <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  to,
1740                           <a href="ft2-basic_types.html#ft_bool">FT_Bool</a>     open );
1741</code></pre></div>
1742
1743<p>Start a new sub-path in the stroker.</p>
1744<h4>input</h4>
1745
1746<table class="fields">
1747<tr><td class="val" id="stroker">stroker</td><td class="desc">
1748<p>The target stroker handle.</p>
1749</td></tr>
1750<tr><td class="val" id="to">to</td><td class="desc">
1751<p>A pointer to the start vector.</p>
1752</td></tr>
1753<tr><td class="val" id="open">open</td><td class="desc">
1754<p>A boolean. If&nbsp;1, the sub-path is treated as an open one.</p>
1755</td></tr>
1756</table>
1757
1758<h4>return</h4>
1759
1760<p>FreeType error code. 0&nbsp;means success.</p>
1761<h4>note</h4>
1762
1763<p>This function is useful when you need to stroke a path that is not stored as an <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> object.</p>
1764<hr>
1765
1766<h2 id="ft_stroker_endsubpath">FT_Stroker_EndSubPath<a class="headerlink" href="#ft_stroker_endsubpath" title="Permanent link">&para;</a></h2>
1767<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1768<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1769  <b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker );
1770</code></pre></div>
1771
1772<p>Close the current sub-path in the stroker.</p>
1773<h4>input</h4>
1774
1775<table class="fields">
1776<tr><td class="val" id="stroker">stroker</td><td class="desc">
1777<p>The target stroker handle.</p>
1778</td></tr>
1779</table>
1780
1781<h4>return</h4>
1782
1783<p>FreeType error code. 0&nbsp;means success.</p>
1784<h4>note</h4>
1785
1786<p>You should call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code>. If the subpath was not &lsquo;opened&rsquo;, this function &lsquo;draws&rsquo; a single line segment to the start position when needed.</p>
1787<hr>
1788
1789<h2 id="ft_stroker_lineto">FT_Stroker_LineTo<a class="headerlink" href="#ft_stroker_lineto" title="Permanent link">&para;</a></h2>
1790<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1791<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1792  <b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker,
1793                     <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  to );
1794</code></pre></div>
1795
1796<p>&lsquo;Draw&rsquo; a single line segment in the stroker's current sub-path, from the last position.</p>
1797<h4>input</h4>
1798
1799<table class="fields">
1800<tr><td class="val" id="stroker">stroker</td><td class="desc">
1801<p>The target stroker handle.</p>
1802</td></tr>
1803<tr><td class="val" id="to">to</td><td class="desc">
1804<p>A pointer to the destination point.</p>
1805</td></tr>
1806</table>
1807
1808<h4>return</h4>
1809
1810<p>FreeType error code. 0&nbsp;means success.</p>
1811<h4>note</h4>
1812
1813<p>You should call this function between <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
1814<hr>
1815
1816<h2 id="ft_stroker_conicto">FT_Stroker_ConicTo<a class="headerlink" href="#ft_stroker_conicto" title="Permanent link">&para;</a></h2>
1817<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1818<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1819  <b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker,
1820                      <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  control,
1821                      <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  to );
1822</code></pre></div>
1823
1824<p>&lsquo;Draw&rsquo; a single quadratic Bezier in the stroker's current sub-path, from the last position.</p>
1825<h4>input</h4>
1826
1827<table class="fields">
1828<tr><td class="val" id="stroker">stroker</td><td class="desc">
1829<p>The target stroker handle.</p>
1830</td></tr>
1831<tr><td class="val" id="control">control</td><td class="desc">
1832<p>A pointer to a Bezier control point.</p>
1833</td></tr>
1834<tr><td class="val" id="to">to</td><td class="desc">
1835<p>A pointer to the destination point.</p>
1836</td></tr>
1837</table>
1838
1839<h4>return</h4>
1840
1841<p>FreeType error code. 0&nbsp;means success.</p>
1842<h4>note</h4>
1843
1844<p>You should call this function between <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
1845<hr>
1846
1847<h2 id="ft_stroker_cubicto">FT_Stroker_CubicTo<a class="headerlink" href="#ft_stroker_cubicto" title="Permanent link">&para;</a></h2>
1848<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1849<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1850  <b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker,
1851                      <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  control1,
1852                      <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  control2,
1853                      <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>*  to );
1854</code></pre></div>
1855
1856<p>&lsquo;Draw&rsquo; a single cubic Bezier in the stroker's current sub-path, from the last position.</p>
1857<h4>input</h4>
1858
1859<table class="fields">
1860<tr><td class="val" id="stroker">stroker</td><td class="desc">
1861<p>The target stroker handle.</p>
1862</td></tr>
1863<tr><td class="val" id="control1">control1</td><td class="desc">
1864<p>A pointer to the first Bezier control point.</p>
1865</td></tr>
1866<tr><td class="val" id="control2">control2</td><td class="desc">
1867<p>A pointer to second Bezier control point.</p>
1868</td></tr>
1869<tr><td class="val" id="to">to</td><td class="desc">
1870<p>A pointer to the destination point.</p>
1871</td></tr>
1872</table>
1873
1874<h4>return</h4>
1875
1876<p>FreeType error code. 0&nbsp;means success.</p>
1877<h4>note</h4>
1878
1879<p>You should call this function between <code><a href="ft2-glyph_stroker.html#ft_stroker_beginsubpath">FT_Stroker_BeginSubPath</a></code> and <code><a href="ft2-glyph_stroker.html#ft_stroker_endsubpath">FT_Stroker_EndSubPath</a></code>.</p>
1880<hr>
1881
1882<h2 id="ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts<a class="headerlink" href="#ft_stroker_getbordercounts" title="Permanent link">&para;</a></h2>
1883<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1884<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1885  <b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>        stroker,
1886                              <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a>  border,
1887                              <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>          *anum_points,
1888                              <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>          *anum_contours );
1889</code></pre></div>
1890
1891<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the &lsquo;border&rsquo; or &lsquo;stroke&rsquo; outlines generated by the stroker.</p>
1892<h4>input</h4>
1893
1894<table class="fields">
1895<tr><td class="val" id="stroker">stroker</td><td class="desc">
1896<p>The target stroker handle.</p>
1897</td></tr>
1898<tr><td class="val" id="border">border</td><td class="desc">
1899<p>The border index.</p>
1900</td></tr>
1901</table>
1902
1903<h4>output</h4>
1904
1905<table class="fields">
1906<tr><td class="val" id="anum_points">anum_points</td><td class="desc">
1907<p>The number of points.</p>
1908</td></tr>
1909<tr><td class="val" id="anum_contours">anum_contours</td><td class="desc">
1910<p>The number of contours.</p>
1911</td></tr>
1912</table>
1913
1914<h4>return</h4>
1915
1916<p>FreeType error code. 0&nbsp;means success.</p>
1917<h4>note</h4>
1918
1919<p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;.</p>
1920<p>When the outline, or a sub-path, is &lsquo;opened&rsquo;, the stroker merges the &lsquo;border&rsquo; outlines with caps. The &lsquo;left&rsquo; border receives all points, while the &lsquo;right&rsquo; border becomes empty.</p>
1921<p>Use the function <code><a href="ft2-glyph_stroker.html#ft_stroker_getcounts">FT_Stroker_GetCounts</a></code> instead if you want to retrieve the counts associated to both borders.</p>
1922<hr>
1923
1924<h2 id="ft_stroker_exportborder">FT_Stroker_ExportBorder<a class="headerlink" href="#ft_stroker_exportborder" title="Permanent link">&para;</a></h2>
1925<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1926<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1927  <b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>        stroker,
1928                           <a href="ft2-glyph_stroker.html#ft_strokerborder">FT_StrokerBorder</a>  border,
1929                           <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>*       outline );
1930</code></pre></div>
1931
1932<p>Call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> to export the corresponding border to your own <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> structure.</p>
1933<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
1934<h4>input</h4>
1935
1936<table class="fields">
1937<tr><td class="val" id="stroker">stroker</td><td class="desc">
1938<p>The target stroker handle.</p>
1939</td></tr>
1940<tr><td class="val" id="border">border</td><td class="desc">
1941<p>The border index.</p>
1942</td></tr>
1943<tr><td class="val" id="outline">outline</td><td class="desc">
1944<p>The target outline handle.</p>
1945</td></tr>
1946</table>
1947
1948<h4>note</h4>
1949
1950<p>Always call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> to get sure that there is enough room in your <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> object to receive all new data.</p>
1951<p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;.</p>
1952<p>When the outline, or a sub-path, is &lsquo;opened&rsquo;, the stroker merges the &lsquo;border&rsquo; outlines with caps. The &lsquo;left&rsquo; border receives all points, while the &lsquo;right&rsquo; border becomes empty.</p>
1953<p>Use the function <code><a href="ft2-glyph_stroker.html#ft_stroker_export">FT_Stroker_Export</a></code> instead if you want to retrieve all borders at once.</p>
1954<hr>
1955
1956<h2 id="ft_stroker_getcounts">FT_Stroker_GetCounts<a class="headerlink" href="#ft_stroker_getcounts" title="Permanent link">&para;</a></h2>
1957<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1958<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1959  <b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>  stroker,
1960                        <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    *anum_points,
1961                        <a href="ft2-basic_types.html#ft_uint">FT_UInt</a>    *anum_contours );
1962</code></pre></div>
1963
1964<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.</p>
1965<h4>input</h4>
1966
1967<table class="fields">
1968<tr><td class="val" id="stroker">stroker</td><td class="desc">
1969<p>The target stroker handle.</p>
1970</td></tr>
1971</table>
1972
1973<h4>output</h4>
1974
1975<table class="fields">
1976<tr><td class="val" id="anum_points">anum_points</td><td class="desc">
1977<p>The number of points.</p>
1978</td></tr>
1979<tr><td class="val" id="anum_contours">anum_contours</td><td class="desc">
1980<p>The number of contours.</p>
1981</td></tr>
1982</table>
1983
1984<h4>return</h4>
1985
1986<p>FreeType error code. 0&nbsp;means success.</p>
1987<hr>
1988
1989<h2 id="ft_stroker_export">FT_Stroker_Export<a class="headerlink" href="#ft_stroker_export" title="Permanent link">&para;</a></h2>
1990<p>Defined in FT_STROKER_H (freetype/ftstroke.h).</p>
1991<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1992  <b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#ft_stroker">FT_Stroker</a>   stroker,
1993                     <a href="ft2-outline_processing.html#ft_outline">FT_Outline</a>*  outline );
1994</code></pre></div>
1995
1996<p>Call this function after <code><a href="ft2-glyph_stroker.html#ft_stroker_getbordercounts">FT_Stroker_GetBorderCounts</a></code> to export all borders to your own <code><a href="ft2-outline_processing.html#ft_outline">FT_Outline</a></code> structure.</p>
1997<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
1998<h4>input</h4>
1999
2000<table class="fields">
2001<tr><td class="val" id="stroker">stroker</td><td class="desc">
2002<p>The target stroker handle.</p>
2003</td></tr>
2004<tr><td class="val" id="outline">outline</td><td class="desc">
2005<p>The target outline handle.</p>
2006</td></tr>
2007</table>
2008
2009<hr>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020            </article>
2021          </div>
2022        </div>
2023      </main>
2024
2025
2026<footer class="md-footer">
2027
2028    <div class="md-footer-nav">
2029      <nav class="md-footer-nav__inner md-grid">
2030
2031          <a href="ft2-raster.html" title="Scanline Converter" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
2032            <div class="md-flex__cell md-flex__cell--shrink">
2033              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
2034            </div>
2035            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
2036              <span class="md-flex__ellipsis">
2037                <span class="md-footer-nav__direction">
2038                  Previous
2039                </span>
2040                Scanline Converter
2041              </span>
2042            </div>
2043          </a>
2044
2045
2046          <a href="ft2-system_interface.html" title="System Interface" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
2047            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
2048              <span class="md-flex__ellipsis">
2049                <span class="md-footer-nav__direction">
2050                  Next
2051                </span>
2052                System Interface
2053              </span>
2054            </div>
2055            <div class="md-flex__cell md-flex__cell--shrink">
2056              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
2057            </div>
2058          </a>
2059
2060      </nav>
2061    </div>
2062
2063  <div class="md-footer-meta md-typeset">
2064    <div class="md-footer-meta__inner md-grid">
2065      <div class="md-footer-copyright">
2066
2067          <div class="md-footer-copyright__highlight">
2068            Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
2069          </div>
2070
2071        powered by
2072        <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
2073        and
2074        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2075          Material for MkDocs</a>
2076      </div>
2077
2078    </div>
2079  </div>
2080</footer>
2081
2082    </div>
2083
2084      <script src="assets/javascripts/application.c33a9706.js"></script>
2085
2086      <script>app.initialize({version:"1.1",url:{base:"."}})</script>
2087
2088        <script src="javascripts/extra.js"></script>
2089
2090
2091  </body>
2092</html>