• 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>Bitmap Handling - 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="#bitmap-handling" 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                Bitmap Handling
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
772
773  <li class="md-nav__item md-nav__item--active">
774
775    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
776
777
778
779
780      <label class="md-nav__link md-nav__link--active" for="__toc">
781        Bitmap Handling
782      </label>
783
784    <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link md-nav__link--active">
785      Bitmap Handling
786    </a>
787
788
789<nav class="md-nav md-nav--secondary">
790
791
792
793
794
795    <label class="md-nav__title" for="__toc">Table of contents</label>
796    <ul class="md-nav__list" data-md-scrollfix>
797
798        <li class="md-nav__item">
799  <a href="#synopsis" class="md-nav__link">
800    Synopsis
801  </a>
802
803</li>
804
805        <li class="md-nav__item">
806  <a href="#ft_bitmap_init" class="md-nav__link">
807    FT_Bitmap_Init
808  </a>
809
810</li>
811
812        <li class="md-nav__item">
813  <a href="#ft_bitmap_copy" class="md-nav__link">
814    FT_Bitmap_Copy
815  </a>
816
817</li>
818
819        <li class="md-nav__item">
820  <a href="#ft_bitmap_embolden" class="md-nav__link">
821    FT_Bitmap_Embolden
822  </a>
823
824</li>
825
826        <li class="md-nav__item">
827  <a href="#ft_bitmap_convert" class="md-nav__link">
828    FT_Bitmap_Convert
829  </a>
830
831</li>
832
833        <li class="md-nav__item">
834  <a href="#ft_bitmap_blend" class="md-nav__link">
835    FT_Bitmap_Blend
836  </a>
837
838</li>
839
840        <li class="md-nav__item">
841  <a href="#ft_glyphslot_own_bitmap" class="md-nav__link">
842    FT_GlyphSlot_Own_Bitmap
843  </a>
844
845</li>
846
847        <li class="md-nav__item">
848  <a href="#ft_bitmap_done" class="md-nav__link">
849    FT_Bitmap_Done
850  </a>
851
852</li>
853
854
855
856
857
858    </ul>
859
860</nav>
861
862  </li>
863
864
865
866
867
868
869
870  <li class="md-nav__item">
871    <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
872      Scanline Converter
873    </a>
874  </li>
875
876
877
878
879
880
881
882  <li class="md-nav__item">
883    <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
884      Glyph Stroker
885    </a>
886  </li>
887
888
889
890
891
892
893
894  <li class="md-nav__item">
895    <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
896      System Interface
897    </a>
898  </li>
899
900
901
902
903
904
905
906  <li class="md-nav__item">
907    <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
908      Module Management
909    </a>
910  </li>
911
912
913
914
915
916
917
918  <li class="md-nav__item">
919    <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
920      GZIP Streams
921    </a>
922  </li>
923
924
925
926
927
928
929
930  <li class="md-nav__item">
931    <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
932      LZW Streams
933    </a>
934  </li>
935
936
937
938
939
940
941
942  <li class="md-nav__item">
943    <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
944      BZIP2 Streams
945    </a>
946  </li>
947
948
949      </ul>
950    </nav>
951  </li>
952
953
954
955
956
957
958
959  <li class="md-nav__item md-nav__item--nested">
960
961      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
962
963    <label class="md-nav__link" for="nav-9">
964      Error Codes
965    </label>
966    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
967      <label class="md-nav__title" for="nav-9">
968        Error Codes
969      </label>
970      <ul class="md-nav__list" data-md-scrollfix>
971
972
973
974
975
976
977
978  <li class="md-nav__item">
979    <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
980      Error Enumerations
981    </a>
982  </li>
983
984
985
986
987
988
989
990  <li class="md-nav__item">
991    <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
992      Error Code Values
993    </a>
994  </li>
995
996
997      </ul>
998    </nav>
999  </li>
1000
1001
1002
1003
1004
1005
1006
1007  <li class="md-nav__item md-nav__item--nested">
1008
1009      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
1010
1011    <label class="md-nav__link" for="nav-10">
1012      Miscellaneous
1013    </label>
1014    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
1015      <label class="md-nav__title" for="nav-10">
1016        Miscellaneous
1017      </label>
1018      <ul class="md-nav__list" data-md-scrollfix>
1019
1020
1021
1022
1023
1024
1025
1026  <li class="md-nav__item">
1027    <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
1028      TrueTypeGX/AAT Validation
1029    </a>
1030  </li>
1031
1032
1033
1034
1035
1036
1037
1038  <li class="md-nav__item">
1039    <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
1040      Incremental Loading
1041    </a>
1042  </li>
1043
1044
1045
1046
1047
1048
1049
1050  <li class="md-nav__item">
1051    <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1052      The TrueType Engine
1053    </a>
1054  </li>
1055
1056
1057
1058
1059
1060
1061
1062  <li class="md-nav__item">
1063    <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1064      OpenType Validation
1065    </a>
1066  </li>
1067
1068
1069      </ul>
1070    </nav>
1071  </li>
1072
1073
1074  </ul>
1075</nav>
1076                  </div>
1077                </div>
1078              </div>
1079
1080
1081              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1082                <div class="md-sidebar__scrollwrap">
1083                  <div class="md-sidebar__inner">
1084
1085<nav class="md-nav md-nav--secondary">
1086
1087
1088
1089
1090
1091    <label class="md-nav__title" for="__toc">Table of contents</label>
1092    <ul class="md-nav__list" data-md-scrollfix>
1093
1094        <li class="md-nav__item">
1095  <a href="#synopsis" class="md-nav__link">
1096    Synopsis
1097  </a>
1098
1099</li>
1100
1101        <li class="md-nav__item">
1102  <a href="#ft_bitmap_init" class="md-nav__link">
1103    FT_Bitmap_Init
1104  </a>
1105
1106</li>
1107
1108        <li class="md-nav__item">
1109  <a href="#ft_bitmap_copy" class="md-nav__link">
1110    FT_Bitmap_Copy
1111  </a>
1112
1113</li>
1114
1115        <li class="md-nav__item">
1116  <a href="#ft_bitmap_embolden" class="md-nav__link">
1117    FT_Bitmap_Embolden
1118  </a>
1119
1120</li>
1121
1122        <li class="md-nav__item">
1123  <a href="#ft_bitmap_convert" class="md-nav__link">
1124    FT_Bitmap_Convert
1125  </a>
1126
1127</li>
1128
1129        <li class="md-nav__item">
1130  <a href="#ft_bitmap_blend" class="md-nav__link">
1131    FT_Bitmap_Blend
1132  </a>
1133
1134</li>
1135
1136        <li class="md-nav__item">
1137  <a href="#ft_glyphslot_own_bitmap" class="md-nav__link">
1138    FT_GlyphSlot_Own_Bitmap
1139  </a>
1140
1141</li>
1142
1143        <li class="md-nav__item">
1144  <a href="#ft_bitmap_done" class="md-nav__link">
1145    FT_Bitmap_Done
1146  </a>
1147
1148</li>
1149
1150
1151
1152
1153
1154    </ul>
1155
1156</nav>
1157                  </div>
1158                </div>
1159              </div>
1160
1161
1162          <div class="md-content">
1163            <article class="md-content__inner md-typeset">
1164
1165
1166
1167                <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; Bitmap Handling</p>
1168<hr />
1169<h1 id="bitmap-handling">Bitmap Handling<a class="headerlink" href="#bitmap-handling" title="Permanent link">&para;</a></h1>
1170<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1171<p>This section contains functions for handling <code><a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a></code> objects, automatically adjusting the target's bitmap buffer size as needed.</p>
1172<p>Note that none of the functions changes the bitmap's &lsquo;flow&rsquo; (as indicated by the sign of the <code>pitch</code> field in <code><a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a></code>).</p>
1173<p>To set the flow, assign an appropriate positive or negative value to the <code>pitch</code> field of the target <code><a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a></code> object after calling <code><a href="ft2-bitmap_handling.html#ft_bitmap_init">FT_Bitmap_Init</a></code> but before calling any of the other functions described here.</p>
1174<h2 id="ft_bitmap_init">FT_Bitmap_Init<a class="headerlink" href="#ft_bitmap_init" title="Permanent link">&para;</a></h2>
1175<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1176<div class = "codehilite"><pre><code>  FT_EXPORT( <span class="keyword">void</span> )
1177  <b>FT_Bitmap_Init</b>( <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>  *abitmap );
1178
1179  /* deprecated */
1180  FT_EXPORT( <span class="keyword">void</span> )
1181  FT_Bitmap_New( <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>  *abitmap );
1182</code></pre></div>
1183
1184<p>Initialize a pointer to an <code><a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a></code> structure.</p>
1185<h4>inout</h4>
1186
1187<table class="fields">
1188<tr><td class="val" id="abitmap">abitmap</td><td class="desc">
1189<p>A pointer to the bitmap structure.</p>
1190</td></tr>
1191</table>
1192
1193<h4>note</h4>
1194
1195<p>A deprecated name for the same function is <code>FT_Bitmap_New</code>.</p>
1196<hr>
1197
1198<h2 id="ft_bitmap_copy">FT_Bitmap_Copy<a class="headerlink" href="#ft_bitmap_copy" title="Permanent link">&para;</a></h2>
1199<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1200<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1201  <b>FT_Bitmap_Copy</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>        library,
1202                  <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>  *source,
1203                  <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>        *target );
1204</code></pre></div>
1205
1206<p>Copy a bitmap into another one.</p>
1207<h4>input</h4>
1208
1209<table class="fields">
1210<tr><td class="val" id="library">library</td><td class="desc">
1211<p>A handle to a library object.</p>
1212</td></tr>
1213<tr><td class="val" id="source">source</td><td class="desc">
1214<p>A handle to the source bitmap.</p>
1215</td></tr>
1216</table>
1217
1218<h4>output</h4>
1219
1220<table class="fields">
1221<tr><td class="val" id="target">target</td><td class="desc">
1222<p>A handle to the target bitmap.</p>
1223</td></tr>
1224</table>
1225
1226<h4>return</h4>
1227
1228<p>FreeType error code. 0&nbsp;means success.</p>
1229<h4>note</h4>
1230
1231<p><code>source-&gt;buffer</code> and <code>target-&gt;buffer</code> must neither be equal nor overlap.</p>
1232<hr>
1233
1234<h2 id="ft_bitmap_embolden">FT_Bitmap_Embolden<a class="headerlink" href="#ft_bitmap_embolden" title="Permanent link">&para;</a></h2>
1235<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1236<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1237  <b>FT_Bitmap_Embolden</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>  library,
1238                      <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>*  bitmap,
1239                      <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>      xStrength,
1240                      <a href="ft2-basic_types.html#ft_pos">FT_Pos</a>      yStrength );
1241</code></pre></div>
1242
1243<p>Embolden a bitmap. The new bitmap will be about <code>xStrength</code> pixels wider and <code>yStrength</code> pixels higher. The left and bottom borders are kept unchanged.</p>
1244<h4>input</h4>
1245
1246<table class="fields">
1247<tr><td class="val" id="library">library</td><td class="desc">
1248<p>A handle to a library object.</p>
1249</td></tr>
1250<tr><td class="val" id="xstrength">xStrength</td><td class="desc">
1251<p>How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.</p>
1252</td></tr>
1253<tr><td class="val" id="ystrength">yStrength</td><td class="desc">
1254<p>How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.</p>
1255</td></tr>
1256</table>
1257
1258<h4>inout</h4>
1259
1260<table class="fields">
1261<tr><td class="val" id="bitmap">bitmap</td><td class="desc">
1262<p>A handle to the target bitmap.</p>
1263</td></tr>
1264</table>
1265
1266<h4>return</h4>
1267
1268<p>FreeType error code. 0&nbsp;means success.</p>
1269<h4>note</h4>
1270
1271<p>The current implementation restricts <code>xStrength</code> to be less than or equal to&nbsp;8 if bitmap is of pixel_mode <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_MONO</a></code>.</p>
1272<p>If you want to embolden the bitmap owned by a <code><a href="ft2-base_interface.html#ft_glyphslotrec">FT_GlyphSlotRec</a></code>, you should call <code><a href="ft2-bitmap_handling.html#ft_glyphslot_own_bitmap">FT_GlyphSlot_Own_Bitmap</a></code> on the slot first.</p>
1273<p>Bitmaps in <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_GRAY2</a></code> and <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_GRAY</a></code>@ format are converted to <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_GRAY</a></code> format (i.e., 8bpp).</p>
1274<hr>
1275
1276<h2 id="ft_bitmap_convert">FT_Bitmap_Convert<a class="headerlink" href="#ft_bitmap_convert" title="Permanent link">&para;</a></h2>
1277<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1278<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1279  <b>FT_Bitmap_Convert</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>        library,
1280                     <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>  *source,
1281                     <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>        *target,
1282                     <a href="ft2-basic_types.html#ft_int">FT_Int</a>            alignment );
1283</code></pre></div>
1284
1285<p>Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to a bitmap object with depth 8bpp, making the number of used bytes per line (a.k.a. the &lsquo;pitch&rsquo;) a multiple of <code>alignment</code>.</p>
1286<h4>input</h4>
1287
1288<table class="fields">
1289<tr><td class="val" id="library">library</td><td class="desc">
1290<p>A handle to a library object.</p>
1291</td></tr>
1292<tr><td class="val" id="source">source</td><td class="desc">
1293<p>The source bitmap.</p>
1294</td></tr>
1295<tr><td class="val" id="alignment">alignment</td><td class="desc">
1296<p>The pitch of the bitmap is a multiple of this argument. Common values are 1, 2, or 4.</p>
1297</td></tr>
1298</table>
1299
1300<h4>output</h4>
1301
1302<table class="fields">
1303<tr><td class="val" id="target">target</td><td class="desc">
1304<p>The target bitmap.</p>
1305</td></tr>
1306</table>
1307
1308<h4>return</h4>
1309
1310<p>FreeType error code. 0&nbsp;means success.</p>
1311<h4>note</h4>
1312
1313<p>It is possible to call <code><a href="ft2-bitmap_handling.html#ft_bitmap_convert">FT_Bitmap_Convert</a></code> multiple times without calling <code><a href="ft2-bitmap_handling.html#ft_bitmap_done">FT_Bitmap_Done</a></code> (the memory is simply reallocated).</p>
1314<p>Use <code><a href="ft2-bitmap_handling.html#ft_bitmap_done">FT_Bitmap_Done</a></code> to finally remove the bitmap object.</p>
1315<p>The <code>library</code> argument is taken to have access to FreeType's memory handling functions.</p>
1316<p><code>source-&gt;buffer</code> and <code>target-&gt;buffer</code> must neither be equal nor overlap.</p>
1317<hr>
1318
1319<h2 id="ft_bitmap_blend">FT_Bitmap_Blend<a class="headerlink" href="#ft_bitmap_blend" title="Permanent link">&para;</a></h2>
1320<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1321<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1322  <b>FT_Bitmap_Blend</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>         library,
1323                   <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>*   source,
1324                   <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>    source_offset,
1325                   <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>*         target,
1326                   <a href="ft2-basic_types.html#ft_vector">FT_Vector</a>         *atarget_offset,
1327                   <a href="ft2-color_management.html#ft_color">FT_Color</a>           color );
1328</code></pre></div>
1329
1330<p>Blend a bitmap onto another bitmap, using a given color.</p>
1331<h4>input</h4>
1332
1333<table class="fields">
1334<tr><td class="val" id="library">library</td><td class="desc">
1335<p>A handle to a library object.</p>
1336</td></tr>
1337<tr><td class="val" id="source">source</td><td class="desc">
1338<p>The source bitmap, which can have any <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_Pixel_Mode</a></code> format.</p>
1339</td></tr>
1340<tr><td class="val" id="source_offset">source_offset</td><td class="desc">
1341<p>The offset vector to the upper left corner of the source bitmap in 26.6 pixel format. It should represent an integer offset; the function will set the lowest six bits to zero to enforce that.</p>
1342</td></tr>
1343<tr><td class="val" id="color">color</td><td class="desc">
1344<p>The color used to draw <code>source</code> onto <code>target</code>.</p>
1345</td></tr>
1346</table>
1347
1348<h4>inout</h4>
1349
1350<table class="fields">
1351<tr><td class="val" id="target">target</td><td class="desc">
1352<p>A handle to an <code>FT_Bitmap</code> object. It should be either initialized as empty with a call to <code><a href="ft2-bitmap_handling.html#ft_bitmap_init">FT_Bitmap_Init</a></code>, or it should be of type <code><a href="ft2-basic_types.html#ft_pixel_mode">FT_PIXEL_MODE_BGRA</a></code>.</p>
1353</td></tr>
1354<tr><td class="val" id="atarget_offset">atarget_offset</td><td class="desc">
1355<p>The offset vector to the upper left corner of the target bitmap in 26.6 pixel format. It should represent an integer offset; the function will set the lowest six bits to zero to enforce that.</p>
1356</td></tr>
1357</table>
1358
1359<h4>return</h4>
1360
1361<p>FreeType error code. 0&nbsp;means success.</p>
1362<h4>note</h4>
1363
1364<p>This function doesn't perform clipping.</p>
1365<p>The bitmap in <code>target</code> gets allocated or reallocated as needed; the vector <code>atarget_offset</code> is updated accordingly.</p>
1366<p>In case of allocation or reallocation, the bitmap's pitch is set to <code>4 * width</code>. Both <code>source</code> and <code>target</code> must have the same bitmap flow (as indicated by the sign of the <code>pitch</code> field).</p>
1367<p><code>source-&gt;buffer</code> and <code>target-&gt;buffer</code> must neither be equal nor overlap.</p>
1368<h4>since</h4>
1369
1370<p>2.10</p>
1371<hr>
1372
1373<h2 id="ft_glyphslot_own_bitmap">FT_GlyphSlot_Own_Bitmap<a class="headerlink" href="#ft_glyphslot_own_bitmap" title="Permanent link">&para;</a></h2>
1374<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1375<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1376  <b>FT_GlyphSlot_Own_Bitmap</b>( <a href="ft2-base_interface.html#ft_glyphslot">FT_GlyphSlot</a>  slot );
1377</code></pre></div>
1378
1379<p>Make sure that a glyph slot owns <code>slot-&gt;bitmap</code>.</p>
1380<h4>input</h4>
1381
1382<table class="fields">
1383<tr><td class="val" id="slot">slot</td><td class="desc">
1384<p>The glyph slot.</p>
1385</td></tr>
1386</table>
1387
1388<h4>return</h4>
1389
1390<p>FreeType error code. 0&nbsp;means success.</p>
1391<h4>note</h4>
1392
1393<p>This function is to be used in combination with <code><a href="ft2-bitmap_handling.html#ft_bitmap_embolden">FT_Bitmap_Embolden</a></code>.</p>
1394<hr>
1395
1396<h2 id="ft_bitmap_done">FT_Bitmap_Done<a class="headerlink" href="#ft_bitmap_done" title="Permanent link">&para;</a></h2>
1397<p>Defined in FT_BITMAP_H (freetype/ftbitmap.h).</p>
1398<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1399  <b>FT_Bitmap_Done</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a>  library,
1400                  <a href="ft2-basic_types.html#ft_bitmap">FT_Bitmap</a>  *bitmap );
1401</code></pre></div>
1402
1403<p>Destroy a bitmap object initialized with <code><a href="ft2-bitmap_handling.html#ft_bitmap_init">FT_Bitmap_Init</a></code>.</p>
1404<h4>input</h4>
1405
1406<table class="fields">
1407<tr><td class="val" id="library">library</td><td class="desc">
1408<p>A handle to a library object.</p>
1409</td></tr>
1410<tr><td class="val" id="bitmap">bitmap</td><td class="desc">
1411<p>The bitmap object to be freed.</p>
1412</td></tr>
1413</table>
1414
1415<h4>return</h4>
1416
1417<p>FreeType error code. 0&nbsp;means success.</p>
1418<h4>note</h4>
1419
1420<p>The <code>library</code> argument is taken to have access to FreeType's memory handling functions.</p>
1421<hr>
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432            </article>
1433          </div>
1434        </div>
1435      </main>
1436
1437
1438<footer class="md-footer">
1439
1440    <div class="md-footer-nav">
1441      <nav class="md-footer-nav__inner md-grid">
1442
1443          <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
1444            <div class="md-flex__cell md-flex__cell--shrink">
1445              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
1446            </div>
1447            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1448              <span class="md-flex__ellipsis">
1449                <span class="md-footer-nav__direction">
1450                  Previous
1451                </span>
1452                Quick retrieval of advance values
1453              </span>
1454            </div>
1455          </a>
1456
1457
1458          <a href="ft2-raster.html" title="Scanline Converter" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
1459            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1460              <span class="md-flex__ellipsis">
1461                <span class="md-footer-nav__direction">
1462                  Next
1463                </span>
1464                Scanline Converter
1465              </span>
1466            </div>
1467            <div class="md-flex__cell md-flex__cell--shrink">
1468              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
1469            </div>
1470          </a>
1471
1472      </nav>
1473    </div>
1474
1475  <div class="md-footer-meta md-typeset">
1476    <div class="md-footer-meta__inner md-grid">
1477      <div class="md-footer-copyright">
1478
1479          <div class="md-footer-copyright__highlight">
1480            Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1481          </div>
1482
1483        powered by
1484        <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
1485        and
1486        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1487          Material for MkDocs</a>
1488      </div>
1489
1490    </div>
1491  </div>
1492</footer>
1493
1494    </div>
1495
1496      <script src="assets/javascripts/application.c33a9706.js"></script>
1497
1498      <script>app.initialize({version:"1.1",url:{base:"."}})</script>
1499
1500        <script src="javascripts/extra.js"></script>
1501
1502
1503  </body>
1504</html>