• 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>GZIP Streams - 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="#gzip-streams" 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                GZIP Streams
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  <li class="md-nav__item">
796    <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
797      Glyph Stroker
798    </a>
799  </li>
800
801
802
803
804
805
806
807  <li class="md-nav__item">
808    <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
809      System Interface
810    </a>
811  </li>
812
813
814
815
816
817
818
819  <li class="md-nav__item">
820    <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
821      Module Management
822    </a>
823  </li>
824
825
826
827
828
829
830
831
832
833  <li class="md-nav__item md-nav__item--active">
834
835    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
836
837
838
839
840      <label class="md-nav__link md-nav__link--active" for="__toc">
841        GZIP Streams
842      </label>
843
844    <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link md-nav__link--active">
845      GZIP Streams
846    </a>
847
848
849<nav class="md-nav md-nav--secondary">
850
851
852
853
854
855    <label class="md-nav__title" for="__toc">Table of contents</label>
856    <ul class="md-nav__list" data-md-scrollfix>
857
858        <li class="md-nav__item">
859  <a href="#synopsis" class="md-nav__link">
860    Synopsis
861  </a>
862
863</li>
864
865        <li class="md-nav__item">
866  <a href="#ft_stream_opengzip" class="md-nav__link">
867    FT_Stream_OpenGzip
868  </a>
869
870</li>
871
872        <li class="md-nav__item">
873  <a href="#ft_gzip_uncompress" class="md-nav__link">
874    FT_Gzip_Uncompress
875  </a>
876
877</li>
878
879
880
881
882
883    </ul>
884
885</nav>
886
887  </li>
888
889
890
891
892
893
894
895  <li class="md-nav__item">
896    <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
897      LZW Streams
898    </a>
899  </li>
900
901
902
903
904
905
906
907  <li class="md-nav__item">
908    <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
909      BZIP2 Streams
910    </a>
911  </li>
912
913
914      </ul>
915    </nav>
916  </li>
917
918
919
920
921
922
923
924  <li class="md-nav__item md-nav__item--nested">
925
926      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
927
928    <label class="md-nav__link" for="nav-9">
929      Error Codes
930    </label>
931    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
932      <label class="md-nav__title" for="nav-9">
933        Error Codes
934      </label>
935      <ul class="md-nav__list" data-md-scrollfix>
936
937
938
939
940
941
942
943  <li class="md-nav__item">
944    <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
945      Error Enumerations
946    </a>
947  </li>
948
949
950
951
952
953
954
955  <li class="md-nav__item">
956    <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
957      Error Code Values
958    </a>
959  </li>
960
961
962      </ul>
963    </nav>
964  </li>
965
966
967
968
969
970
971
972  <li class="md-nav__item md-nav__item--nested">
973
974      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
975
976    <label class="md-nav__link" for="nav-10">
977      Miscellaneous
978    </label>
979    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
980      <label class="md-nav__title" for="nav-10">
981        Miscellaneous
982      </label>
983      <ul class="md-nav__list" data-md-scrollfix>
984
985
986
987
988
989
990
991  <li class="md-nav__item">
992    <a href="ft2-gx_validation.html" title="TrueTypeGX/AAT Validation" class="md-nav__link">
993      TrueTypeGX/AAT Validation
994    </a>
995  </li>
996
997
998
999
1000
1001
1002
1003  <li class="md-nav__item">
1004    <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
1005      Incremental Loading
1006    </a>
1007  </li>
1008
1009
1010
1011
1012
1013
1014
1015  <li class="md-nav__item">
1016    <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1017      The TrueType Engine
1018    </a>
1019  </li>
1020
1021
1022
1023
1024
1025
1026
1027  <li class="md-nav__item">
1028    <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1029      OpenType Validation
1030    </a>
1031  </li>
1032
1033
1034      </ul>
1035    </nav>
1036  </li>
1037
1038
1039  </ul>
1040</nav>
1041                  </div>
1042                </div>
1043              </div>
1044
1045
1046              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1047                <div class="md-sidebar__scrollwrap">
1048                  <div class="md-sidebar__inner">
1049
1050<nav class="md-nav md-nav--secondary">
1051
1052
1053
1054
1055
1056    <label class="md-nav__title" for="__toc">Table of contents</label>
1057    <ul class="md-nav__list" data-md-scrollfix>
1058
1059        <li class="md-nav__item">
1060  <a href="#synopsis" class="md-nav__link">
1061    Synopsis
1062  </a>
1063
1064</li>
1065
1066        <li class="md-nav__item">
1067  <a href="#ft_stream_opengzip" class="md-nav__link">
1068    FT_Stream_OpenGzip
1069  </a>
1070
1071</li>
1072
1073        <li class="md-nav__item">
1074  <a href="#ft_gzip_uncompress" class="md-nav__link">
1075    FT_Gzip_Uncompress
1076  </a>
1077
1078</li>
1079
1080
1081
1082
1083
1084    </ul>
1085
1086</nav>
1087                  </div>
1088                </div>
1089              </div>
1090
1091
1092          <div class="md-content">
1093            <article class="md-content__inner md-typeset">
1094
1095
1096
1097                <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; GZIP Streams</p>
1098<hr />
1099<h1 id="gzip-streams">GZIP Streams<a class="headerlink" href="#gzip-streams" title="Permanent link">&para;</a></h1>
1100<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1101<p>In certain builds of the library, gzip compression recognition is automatically handled when calling <code><a href="ft2-base_interface.html#ft_new_face">FT_New_Face</a></code> or <code><a href="ft2-base_interface.html#ft_open_face">FT_Open_Face</a></code>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a gzipped stream from it and re-open the face with it.</p>
1102<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream, which significantly undermines the performance.</p>
1103<p>This section contains the declaration of Gzip-specific functions.</p>
1104<h2 id="ft_stream_opengzip">FT_Stream_OpenGzip<a class="headerlink" href="#ft_stream_opengzip" title="Permanent link">&para;</a></h2>
1105<p>Defined in FT_GZIP_H (freetype/ftgzip.h).</p>
1106<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1107  <b>FT_Stream_OpenGzip</b>( <a href="ft2-system_interface.html#ft_stream">FT_Stream</a>  stream,
1108                      <a href="ft2-system_interface.html#ft_stream">FT_Stream</a>  source );
1109</code></pre></div>
1110
1111<p>Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed <code>*.pcf.gz</code> fonts that come with XFree86.</p>
1112<h4>input</h4>
1113
1114<table class="fields">
1115<tr><td class="val" id="stream">stream</td><td class="desc">
1116<p>The target embedding stream.</p>
1117</td></tr>
1118<tr><td class="val" id="source">source</td><td class="desc">
1119<p>The source stream.</p>
1120</td></tr>
1121</table>
1122
1123<h4>return</h4>
1124
1125<p>FreeType error code. 0&nbsp;means success.</p>
1126<h4>note</h4>
1127
1128<p>The source stream must be opened <em>before</em> calling this function.</p>
1129<p>Calling the internal function <code>FT_Stream_Close</code> on the new stream will <strong>not</strong> call <code>FT_Stream_Close</code> on the source stream. None of the stream objects will be released to the heap.</p>
1130<p>This function may return <code>FT_Err_Unimplemented_Feature</code> if your build of FreeType was not compiled with zlib support.</p>
1131<hr>
1132
1133<h2 id="ft_gzip_uncompress">FT_Gzip_Uncompress<a class="headerlink" href="#ft_gzip_uncompress" title="Permanent link">&para;</a></h2>
1134<p>Defined in FT_GZIP_H (freetype/ftgzip.h).</p>
1135<div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1136  <b>FT_Gzip_Uncompress</b>( <a href="ft2-system_interface.html#ft_memory">FT_Memory</a>       memory,
1137                      <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*        output,
1138                      <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>*       output_len,
1139                      <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  input,
1140                      <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>        input_len );
1141</code></pre></div>
1142
1143<p>Decompress a zipped input buffer into an output buffer. This function is modeled after zlib's <code>uncompress</code> function.</p>
1144<h4>input</h4>
1145
1146<table class="fields">
1147<tr><td class="val" id="memory">memory</td><td class="desc">
1148<p>A FreeType memory handle.</p>
1149</td></tr>
1150<tr><td class="val" id="input">input</td><td class="desc">
1151<p>The input buffer.</p>
1152</td></tr>
1153<tr><td class="val" id="input_len">input_len</td><td class="desc">
1154<p>The length of the input buffer.</p>
1155</td></tr>
1156</table>
1157
1158<h4>output</h4>
1159
1160<table class="fields">
1161<tr><td class="val" id="output">output</td><td class="desc">
1162<p>The output buffer.</p>
1163</td></tr>
1164</table>
1165
1166<h4>inout</h4>
1167
1168<table class="fields">
1169<tr><td class="val" id="output_len">output_len</td><td class="desc">
1170<p>Before calling the function, this is the total size of the output buffer, which must be large enough to hold the entire uncompressed data (so the size of the uncompressed data must be known in advance). After calling the function, <code>output_len</code> is the size of the used data in <code>output</code>.</p>
1171</td></tr>
1172</table>
1173
1174<h4>return</h4>
1175
1176<p>FreeType error code. 0&nbsp;means success.</p>
1177<h4>note</h4>
1178
1179<p>This function may return <code>FT_Err_Unimplemented_Feature</code> if your build of FreeType was not compiled with zlib support.</p>
1180<h4>since</h4>
1181
1182<p>2.5.1</p>
1183<hr>
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194            </article>
1195          </div>
1196        </div>
1197      </main>
1198
1199
1200<footer class="md-footer">
1201
1202    <div class="md-footer-nav">
1203      <nav class="md-footer-nav__inner md-grid">
1204
1205          <a href="ft2-module_management.html" title="Module Management" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
1206            <div class="md-flex__cell md-flex__cell--shrink">
1207              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
1208            </div>
1209            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1210              <span class="md-flex__ellipsis">
1211                <span class="md-footer-nav__direction">
1212                  Previous
1213                </span>
1214                Module Management
1215              </span>
1216            </div>
1217          </a>
1218
1219
1220          <a href="ft2-lzw.html" title="LZW Streams" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
1221            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1222              <span class="md-flex__ellipsis">
1223                <span class="md-footer-nav__direction">
1224                  Next
1225                </span>
1226                LZW Streams
1227              </span>
1228            </div>
1229            <div class="md-flex__cell md-flex__cell--shrink">
1230              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
1231            </div>
1232          </a>
1233
1234      </nav>
1235    </div>
1236
1237  <div class="md-footer-meta md-typeset">
1238    <div class="md-footer-meta__inner md-grid">
1239      <div class="md-footer-copyright">
1240
1241          <div class="md-footer-copyright__highlight">
1242            Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1243          </div>
1244
1245        powered by
1246        <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
1247        and
1248        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1249          Material for MkDocs</a>
1250      </div>
1251
1252    </div>
1253  </div>
1254</footer>
1255
1256    </div>
1257
1258      <script src="assets/javascripts/application.c33a9706.js"></script>
1259
1260      <script>app.initialize({version:"1.1",url:{base:"."}})</script>
1261
1262        <script src="javascripts/extra.js"></script>
1263
1264
1265  </body>
1266</html>