Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / docs / reference / ft2-gzip.html
1
2 <!doctype html>
3 <html lang="en" class="no-js">
4   <head>
5     
6       <meta charset="utf-8">
7       <meta name="viewport" content="width=device-width,initial-scale=1">
8       
9         <meta name="description" content="API Reference Documentation for FreeType-2.13.2">
10       
11       
12       
13         <meta name="author" content="FreeType Contributors">
14       
15       
16       <link rel="icon" href="images/favico.ico">
17       <meta name="generator" content="mkdocs-1.4.3, mkdocs-material-7.1.9">
18     
19     
20       
21         <title>GZIP Streams - FreeType-2.13.2 API Reference</title>
22       
23     
24     
25       <link rel="stylesheet" href="assets/stylesheets/main.ca7ac06f.min.css">
26       
27         
28         <link rel="stylesheet" href="assets/stylesheets/palette.f1a3b89f.min.css">
29         
30           
31           
32           <meta name="theme-color" content="#4cae4f">
33         
34       
35     
36     
37     
38       
39         
40         <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
41         <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Serif:300,400,400i,700%7CRoboto+Mono&display=fallback">
42         <style>:root{--md-text-font-family:"Noto Serif";--md-code-font-family:"Roboto Mono"}</style>
43       
44     
45     
46     
47       <link rel="stylesheet" href="stylesheets/extra.css">
48     
49     
50       
51
52
53     
54     
55   </head>
56   
57   
58     
59     
60     
61     
62     
63     <body dir="ltr" data-md-color-scheme="" data-md-color-primary="green" data-md-color-accent="green">
64   
65     
66     <script>function __prefix(e){return new URL(".",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
67     
68     <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
69     <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
70     <label class="md-overlay" for="__drawer"></label>
71     <div data-md-component="skip">
72       
73         
74         <a href="#gzip-streams" class="md-skip">
75           Skip to content
76         </a>
77       
78     </div>
79     <div data-md-component="announce">
80       
81     </div>
82     
83       <header class="md-header" data-md-component="header">
84   <nav class="md-header__inner md-grid" aria-label="Header">
85     <a href="index.html" title="FreeType-2.13.2 API Reference" class="md-header__button md-logo" aria-label="FreeType-2.13.2 API Reference" data-md-component="logo">
86       
87   <img src="images/favico.ico" alt="logo">
88
89     </a>
90     <label class="md-header__button md-icon" for="__drawer">
91       <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
92     </label>
93     <div class="md-header__title" data-md-component="header-title">
94       <div class="md-header__ellipsis">
95         <div class="md-header__topic">
96           <span class="md-ellipsis">
97             FreeType-2.13.2 API Reference
98           </span>
99         </div>
100         <div class="md-header__topic" data-md-component="header-topic">
101           <span class="md-ellipsis">
102             
103               GZIP Streams
104             
105           </span>
106         </div>
107       </div>
108     </div>
109     
110     
111     
112       <label class="md-header__button md-icon" for="__search">
113         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
114       </label>
115       
116 <div class="md-search" data-md-component="search" role="dialog">
117   <label class="md-search__overlay" for="__search"></label>
118   <div class="md-search__inner" role="search">
119     <form class="md-search__form" name="search">
120       <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
121       <label class="md-search__icon md-icon" for="__search">
122         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
123         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
124       </label>
125       <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
126         <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
127       </button>
128     </form>
129     <div class="md-search__output">
130       <div class="md-search__scrollwrap" data-md-scrollfix>
131         <div class="md-search-result" data-md-component="search-result">
132           <div class="md-search-result__meta">
133             Initializing search
134           </div>
135           <ol class="md-search-result__list"></ol>
136         </div>
137       </div>
138     </div>
139   </div>
140 </div>
141     
142     
143   </nav>
144 </header>
145     
146     <div class="md-container" data-md-component="container">
147       
148       
149         
150       
151       <main class="md-main" data-md-component="main">
152         <div class="md-main__inner md-grid">
153           
154             
155               
156               <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
157                 <div class="md-sidebar__scrollwrap">
158                   <div class="md-sidebar__inner">
159                     
160
161
162 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
163   <label class="md-nav__title" for="__drawer">
164     <a href="index.html" title="FreeType-2.13.2 API Reference" class="md-nav__button md-logo" aria-label="FreeType-2.13.2 API Reference" data-md-component="logo">
165       
166   <img src="images/favico.ico" alt="logo">
167
168     </a>
169     FreeType-2.13.2 API Reference
170   </label>
171   
172   <ul class="md-nav__list" data-md-scrollfix>
173     
174       
175       
176       
177
178   
179   
180   
181     <li class="md-nav__item">
182       <a href="index.html" class="md-nav__link">
183         TOC
184       </a>
185     </li>
186   
187
188     
189       
190       
191       
192
193   
194   
195   
196     <li class="md-nav__item">
197       <a href="ft2-index.html" class="md-nav__link">
198         Index
199       </a>
200     </li>
201   
202
203     
204       
205       
206       
207
208   
209   
210   
211     
212     <li class="md-nav__item md-nav__item--nested">
213       
214       
215         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
216       
217       <label class="md-nav__link" for="__nav_3">
218         General Remarks
219         <span class="md-nav__icon md-icon"></span>
220       </label>
221       <nav class="md-nav" aria-label="General Remarks" data-md-level="1">
222         <label class="md-nav__title" for="__nav_3">
223           <span class="md-nav__icon md-icon"></span>
224           General Remarks
225         </label>
226         <ul class="md-nav__list" data-md-scrollfix>
227           
228             
229   
230   
231   
232     <li class="md-nav__item">
233       <a href="ft2-preamble.html" class="md-nav__link">
234         Preamble
235       </a>
236     </li>
237   
238
239           
240             
241   
242   
243   
244     <li class="md-nav__item">
245       <a href="ft2-header_inclusion.html" class="md-nav__link">
246         FreeType's header inclusion scheme
247       </a>
248     </li>
249   
250
251           
252             
253   
254   
255   
256     <li class="md-nav__item">
257       <a href="ft2-user_allocation.html" class="md-nav__link">
258         User allocation
259       </a>
260     </li>
261   
262
263           
264         </ul>
265       </nav>
266     </li>
267   
268
269     
270       
271       
272       
273
274   
275   
276   
277     
278     <li class="md-nav__item md-nav__item--nested">
279       
280       
281         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
282       
283       <label class="md-nav__link" for="__nav_4">
284         Core API
285         <span class="md-nav__icon md-icon"></span>
286       </label>
287       <nav class="md-nav" aria-label="Core API" data-md-level="1">
288         <label class="md-nav__title" for="__nav_4">
289           <span class="md-nav__icon md-icon"></span>
290           Core API
291         </label>
292         <ul class="md-nav__list" data-md-scrollfix>
293           
294             
295   
296   
297   
298     <li class="md-nav__item">
299       <a href="ft2-basic_types.html" class="md-nav__link">
300         Basic Data Types
301       </a>
302     </li>
303   
304
305           
306             
307   
308   
309   
310     <li class="md-nav__item">
311       <a href="ft2-library_setup.html" class="md-nav__link">
312         Library Setup
313       </a>
314     </li>
315   
316
317           
318             
319   
320   
321   
322     <li class="md-nav__item">
323       <a href="ft2-face_creation.html" class="md-nav__link">
324         Face Creation
325       </a>
326     </li>
327   
328
329           
330             
331   
332   
333   
334     <li class="md-nav__item">
335       <a href="ft2-font_testing_macros.html" class="md-nav__link">
336         Font Testing Macros
337       </a>
338     </li>
339   
340
341           
342             
343   
344   
345   
346     <li class="md-nav__item">
347       <a href="ft2-sizing_and_scaling.html" class="md-nav__link">
348         Sizing and Scaling
349       </a>
350     </li>
351   
352
353           
354             
355   
356   
357   
358     <li class="md-nav__item">
359       <a href="ft2-glyph_retrieval.html" class="md-nav__link">
360         Glyph Retrieval
361       </a>
362     </li>
363   
364
365           
366             
367   
368   
369   
370     <li class="md-nav__item">
371       <a href="ft2-character_mapping.html" class="md-nav__link">
372         Character Mapping
373       </a>
374     </li>
375   
376
377           
378             
379   
380   
381   
382     <li class="md-nav__item">
383       <a href="ft2-information_retrieval.html" class="md-nav__link">
384         Information Retrieval
385       </a>
386     </li>
387   
388
389           
390             
391   
392   
393   
394     <li class="md-nav__item">
395       <a href="ft2-other_api_data.html" class="md-nav__link">
396         Other API Data
397       </a>
398     </li>
399   
400
401           
402         </ul>
403       </nav>
404     </li>
405   
406
407     
408       
409       
410       
411
412   
413   
414   
415     
416     <li class="md-nav__item md-nav__item--nested">
417       
418       
419         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
420       
421       <label class="md-nav__link" for="__nav_5">
422         Extended API
423         <span class="md-nav__icon md-icon"></span>
424       </label>
425       <nav class="md-nav" aria-label="Extended API" data-md-level="1">
426         <label class="md-nav__title" for="__nav_5">
427           <span class="md-nav__icon md-icon"></span>
428           Extended API
429         </label>
430         <ul class="md-nav__list" data-md-scrollfix>
431           
432             
433   
434   
435   
436     <li class="md-nav__item">
437       <a href="ft2-glyph_variants.html" class="md-nav__link">
438         Unicode Variation Sequences
439       </a>
440     </li>
441   
442
443           
444             
445   
446   
447   
448     <li class="md-nav__item">
449       <a href="ft2-color_management.html" class="md-nav__link">
450         Glyph Color Management
451       </a>
452     </li>
453   
454
455           
456             
457   
458   
459   
460     <li class="md-nav__item">
461       <a href="ft2-layer_management.html" class="md-nav__link">
462         Glyph Layer Management
463       </a>
464     </li>
465   
466
467           
468             
469   
470   
471   
472     <li class="md-nav__item">
473       <a href="ft2-glyph_management.html" class="md-nav__link">
474         Glyph Management
475       </a>
476     </li>
477   
478
479           
480             
481   
482   
483   
484     <li class="md-nav__item">
485       <a href="ft2-mac_specific.html" class="md-nav__link">
486         Mac Specific Interface
487       </a>
488     </li>
489   
490
491           
492             
493   
494   
495   
496     <li class="md-nav__item">
497       <a href="ft2-sizes_management.html" class="md-nav__link">
498         Size Management
499       </a>
500     </li>
501   
502
503           
504             
505   
506   
507   
508     <li class="md-nav__item">
509       <a href="ft2-header_file_macros.html" class="md-nav__link">
510         Header File Macros
511       </a>
512     </li>
513   
514
515           
516         </ul>
517       </nav>
518     </li>
519   
520
521     
522       
523       
524       
525
526   
527   
528   
529     
530     <li class="md-nav__item md-nav__item--nested">
531       
532       
533         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
534       
535       <label class="md-nav__link" for="__nav_6">
536         Format-Specific API
537         <span class="md-nav__icon md-icon"></span>
538       </label>
539       <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1">
540         <label class="md-nav__title" for="__nav_6">
541           <span class="md-nav__icon md-icon"></span>
542           Format-Specific API
543         </label>
544         <ul class="md-nav__list" data-md-scrollfix>
545           
546             
547   
548   
549   
550     <li class="md-nav__item">
551       <a href="ft2-multiple_masters.html" class="md-nav__link">
552         Multiple Masters
553       </a>
554     </li>
555   
556
557           
558             
559   
560   
561   
562     <li class="md-nav__item">
563       <a href="ft2-truetype_tables.html" class="md-nav__link">
564         TrueType Tables
565       </a>
566     </li>
567   
568
569           
570             
571   
572   
573   
574     <li class="md-nav__item">
575       <a href="ft2-type1_tables.html" class="md-nav__link">
576         Type 1 Tables
577       </a>
578     </li>
579   
580
581           
582             
583   
584   
585   
586     <li class="md-nav__item">
587       <a href="ft2-sfnt_names.html" class="md-nav__link">
588         SFNT Names
589       </a>
590     </li>
591   
592
593           
594             
595   
596   
597   
598     <li class="md-nav__item">
599       <a href="ft2-bdf_fonts.html" class="md-nav__link">
600         BDF and PCF Files
601       </a>
602     </li>
603   
604
605           
606             
607   
608   
609   
610     <li class="md-nav__item">
611       <a href="ft2-cid_fonts.html" class="md-nav__link">
612         CID Fonts
613       </a>
614     </li>
615   
616
617           
618             
619   
620   
621   
622     <li class="md-nav__item">
623       <a href="ft2-pfr_fonts.html" class="md-nav__link">
624         PFR Fonts
625       </a>
626     </li>
627   
628
629           
630             
631   
632   
633   
634     <li class="md-nav__item">
635       <a href="ft2-winfnt_fonts.html" class="md-nav__link">
636         Window FNT Files
637       </a>
638     </li>
639   
640
641           
642             
643   
644   
645   
646     <li class="md-nav__item">
647       <a href="ft2-svg_fonts.html" class="md-nav__link">
648         OpenType SVG Fonts
649       </a>
650     </li>
651   
652
653           
654             
655   
656   
657   
658     <li class="md-nav__item">
659       <a href="ft2-font_formats.html" class="md-nav__link">
660         Font Formats
661       </a>
662     </li>
663   
664
665           
666             
667   
668   
669   
670     <li class="md-nav__item">
671       <a href="ft2-gasp_table.html" class="md-nav__link">
672         Gasp Table
673       </a>
674     </li>
675   
676
677           
678         </ul>
679       </nav>
680     </li>
681   
682
683     
684       
685       
686       
687
688   
689   
690   
691     
692     <li class="md-nav__item md-nav__item--nested">
693       
694       
695         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
696       
697       <label class="md-nav__link" for="__nav_7">
698         Controlling FreeType Modules
699         <span class="md-nav__icon md-icon"></span>
700       </label>
701       <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1">
702         <label class="md-nav__title" for="__nav_7">
703           <span class="md-nav__icon md-icon"></span>
704           Controlling FreeType Modules
705         </label>
706         <ul class="md-nav__list" data-md-scrollfix>
707           
708             
709   
710   
711   
712     <li class="md-nav__item">
713       <a href="ft2-auto_hinter.html" class="md-nav__link">
714         The auto-hinter
715       </a>
716     </li>
717   
718
719           
720             
721   
722   
723   
724     <li class="md-nav__item">
725       <a href="ft2-cff_driver.html" class="md-nav__link">
726         The CFF driver
727       </a>
728     </li>
729   
730
731           
732             
733   
734   
735   
736     <li class="md-nav__item">
737       <a href="ft2-t1_cid_driver.html" class="md-nav__link">
738         The Type 1 and CID drivers
739       </a>
740     </li>
741   
742
743           
744             
745   
746   
747   
748     <li class="md-nav__item">
749       <a href="ft2-tt_driver.html" class="md-nav__link">
750         The TrueType driver
751       </a>
752     </li>
753   
754
755           
756             
757   
758   
759   
760     <li class="md-nav__item">
761       <a href="ft2-pcf_driver.html" class="md-nav__link">
762         The PCF driver
763       </a>
764     </li>
765   
766
767           
768             
769   
770   
771   
772     <li class="md-nav__item">
773       <a href="ft2-ot_svg_driver.html" class="md-nav__link">
774         The SVG driver
775       </a>
776     </li>
777   
778
779           
780             
781   
782   
783   
784     <li class="md-nav__item">
785       <a href="ft2-properties.html" class="md-nav__link">
786         Driver properties
787       </a>
788     </li>
789   
790
791           
792             
793   
794   
795   
796     <li class="md-nav__item">
797       <a href="ft2-parameter_tags.html" class="md-nav__link">
798         Parameter Tags
799       </a>
800     </li>
801   
802
803           
804             
805   
806   
807   
808     <li class="md-nav__item">
809       <a href="ft2-lcd_rendering.html" class="md-nav__link">
810         Subpixel Rendering
811       </a>
812     </li>
813   
814
815           
816         </ul>
817       </nav>
818     </li>
819   
820
821     
822       
823       
824       
825
826   
827   
828   
829     
830     <li class="md-nav__item md-nav__item--nested">
831       
832       
833         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
834       
835       <label class="md-nav__link" for="__nav_8">
836         Cache Sub-System
837         <span class="md-nav__icon md-icon"></span>
838       </label>
839       <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1">
840         <label class="md-nav__title" for="__nav_8">
841           <span class="md-nav__icon md-icon"></span>
842           Cache Sub-System
843         </label>
844         <ul class="md-nav__list" data-md-scrollfix>
845           
846             
847   
848   
849   
850     <li class="md-nav__item">
851       <a href="ft2-cache_subsystem.html" class="md-nav__link">
852         Cache Sub-System
853       </a>
854     </li>
855   
856
857           
858         </ul>
859       </nav>
860     </li>
861   
862
863     
864       
865       
866       
867
868   
869   
870     
871   
872   
873     
874     <li class="md-nav__item md-nav__item--active md-nav__item--nested">
875       
876       
877         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" checked>
878       
879       <label class="md-nav__link" for="__nav_9">
880         Support API
881         <span class="md-nav__icon md-icon"></span>
882       </label>
883       <nav class="md-nav" aria-label="Support API" data-md-level="1">
884         <label class="md-nav__title" for="__nav_9">
885           <span class="md-nav__icon md-icon"></span>
886           Support API
887         </label>
888         <ul class="md-nav__list" data-md-scrollfix>
889           
890             
891   
892   
893   
894     <li class="md-nav__item">
895       <a href="ft2-computations.html" class="md-nav__link">
896         Computations
897       </a>
898     </li>
899   
900
901           
902             
903   
904   
905   
906     <li class="md-nav__item">
907       <a href="ft2-list_processing.html" class="md-nav__link">
908         List Processing
909       </a>
910     </li>
911   
912
913           
914             
915   
916   
917   
918     <li class="md-nav__item">
919       <a href="ft2-outline_processing.html" class="md-nav__link">
920         Outline Processing
921       </a>
922     </li>
923   
924
925           
926             
927   
928   
929   
930     <li class="md-nav__item">
931       <a href="ft2-quick_advance.html" class="md-nav__link">
932         Quick retrieval of advance values
933       </a>
934     </li>
935   
936
937           
938             
939   
940   
941   
942     <li class="md-nav__item">
943       <a href="ft2-bitmap_handling.html" class="md-nav__link">
944         Bitmap Handling
945       </a>
946     </li>
947   
948
949           
950             
951   
952   
953   
954     <li class="md-nav__item">
955       <a href="ft2-raster.html" class="md-nav__link">
956         Scanline Converter
957       </a>
958     </li>
959   
960
961           
962             
963   
964   
965   
966     <li class="md-nav__item">
967       <a href="ft2-glyph_stroker.html" class="md-nav__link">
968         Glyph Stroker
969       </a>
970     </li>
971   
972
973           
974             
975   
976   
977   
978     <li class="md-nav__item">
979       <a href="ft2-system_interface.html" class="md-nav__link">
980         System Interface
981       </a>
982     </li>
983   
984
985           
986             
987   
988   
989   
990     <li class="md-nav__item">
991       <a href="ft2-module_management.html" class="md-nav__link">
992         Module Management
993       </a>
994     </li>
995   
996
997           
998             
999   
1000   
1001     
1002   
1003   
1004     <li class="md-nav__item md-nav__item--active">
1005       
1006       <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
1007       
1008       
1009         
1010       
1011       
1012         <label class="md-nav__link md-nav__link--active" for="__toc">
1013           GZIP Streams
1014           <span class="md-nav__icon md-icon"></span>
1015         </label>
1016       
1017       <a href="ft2-gzip.html" class="md-nav__link md-nav__link--active">
1018         GZIP Streams
1019       </a>
1020       
1021         
1022 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1023   
1024   
1025   
1026     
1027   
1028   
1029     <label class="md-nav__title" for="__toc">
1030       <span class="md-nav__icon md-icon"></span>
1031       Table of contents
1032     </label>
1033     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1034       
1035         <li class="md-nav__item">
1036   <a href="#synopsis" class="md-nav__link">
1037     Synopsis
1038   </a>
1039   
1040 </li>
1041       
1042         <li class="md-nav__item">
1043   <a href="#ft_stream_opengzip" class="md-nav__link">
1044     FT_Stream_OpenGzip
1045   </a>
1046   
1047 </li>
1048       
1049         <li class="md-nav__item">
1050   <a href="#ft_gzip_uncompress" class="md-nav__link">
1051     FT_Gzip_Uncompress
1052   </a>
1053   
1054 </li>
1055       
1056     </ul>
1057   
1058 </nav>
1059       
1060     </li>
1061   
1062
1063           
1064             
1065   
1066   
1067   
1068     <li class="md-nav__item">
1069       <a href="ft2-lzw.html" class="md-nav__link">
1070         LZW Streams
1071       </a>
1072     </li>
1073   
1074
1075           
1076             
1077   
1078   
1079   
1080     <li class="md-nav__item">
1081       <a href="ft2-bzip2.html" class="md-nav__link">
1082         BZIP2 Streams
1083       </a>
1084     </li>
1085   
1086
1087           
1088             
1089   
1090   
1091   
1092     <li class="md-nav__item">
1093       <a href="ft2-debugging_apis.html" class="md-nav__link">
1094         External Debugging APIs
1095       </a>
1096     </li>
1097   
1098
1099           
1100         </ul>
1101       </nav>
1102     </li>
1103   
1104
1105     
1106       
1107       
1108       
1109
1110   
1111   
1112   
1113     
1114     <li class="md-nav__item md-nav__item--nested">
1115       
1116       
1117         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
1118       
1119       <label class="md-nav__link" for="__nav_10">
1120         Error Codes
1121         <span class="md-nav__icon md-icon"></span>
1122       </label>
1123       <nav class="md-nav" aria-label="Error Codes" data-md-level="1">
1124         <label class="md-nav__title" for="__nav_10">
1125           <span class="md-nav__icon md-icon"></span>
1126           Error Codes
1127         </label>
1128         <ul class="md-nav__list" data-md-scrollfix>
1129           
1130             
1131   
1132   
1133   
1134     <li class="md-nav__item">
1135       <a href="ft2-error_enumerations.html" class="md-nav__link">
1136         Error Enumerations
1137       </a>
1138     </li>
1139   
1140
1141           
1142             
1143   
1144   
1145   
1146     <li class="md-nav__item">
1147       <a href="ft2-error_code_values.html" class="md-nav__link">
1148         Error Code Values
1149       </a>
1150     </li>
1151   
1152
1153           
1154         </ul>
1155       </nav>
1156     </li>
1157   
1158
1159     
1160       
1161       
1162       
1163
1164   
1165   
1166   
1167     
1168     <li class="md-nav__item md-nav__item--nested">
1169       
1170       
1171         <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
1172       
1173       <label class="md-nav__link" for="__nav_11">
1174         Miscellaneous
1175         <span class="md-nav__icon md-icon"></span>
1176       </label>
1177       <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1">
1178         <label class="md-nav__title" for="__nav_11">
1179           <span class="md-nav__icon md-icon"></span>
1180           Miscellaneous
1181         </label>
1182         <ul class="md-nav__list" data-md-scrollfix>
1183           
1184             
1185   
1186   
1187   
1188     <li class="md-nav__item">
1189       <a href="ft2-gx_validation.html" class="md-nav__link">
1190         TrueTypeGX/AAT Validation
1191       </a>
1192     </li>
1193   
1194
1195           
1196             
1197   
1198   
1199   
1200     <li class="md-nav__item">
1201       <a href="ft2-incremental.html" class="md-nav__link">
1202         Incremental Loading
1203       </a>
1204     </li>
1205   
1206
1207           
1208             
1209   
1210   
1211   
1212     <li class="md-nav__item">
1213       <a href="ft2-truetype_engine.html" class="md-nav__link">
1214         The TrueType Engine
1215       </a>
1216     </li>
1217   
1218
1219           
1220             
1221   
1222   
1223   
1224     <li class="md-nav__item">
1225       <a href="ft2-ot_validation.html" class="md-nav__link">
1226         OpenType Validation
1227       </a>
1228     </li>
1229   
1230
1231           
1232         </ul>
1233       </nav>
1234     </li>
1235   
1236
1237     
1238   </ul>
1239 </nav>
1240                   </div>
1241                 </div>
1242               </div>
1243             
1244             
1245               
1246               <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1247                 <div class="md-sidebar__scrollwrap">
1248                   <div class="md-sidebar__inner">
1249                     
1250 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1251   
1252   
1253   
1254     
1255   
1256   
1257     <label class="md-nav__title" for="__toc">
1258       <span class="md-nav__icon md-icon"></span>
1259       Table of contents
1260     </label>
1261     <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1262       
1263         <li class="md-nav__item">
1264   <a href="#synopsis" class="md-nav__link">
1265     Synopsis
1266   </a>
1267   
1268 </li>
1269       
1270         <li class="md-nav__item">
1271   <a href="#ft_stream_opengzip" class="md-nav__link">
1272     FT_Stream_OpenGzip
1273   </a>
1274   
1275 </li>
1276       
1277         <li class="md-nav__item">
1278   <a href="#ft_gzip_uncompress" class="md-nav__link">
1279     FT_Gzip_Uncompress
1280   </a>
1281   
1282 </li>
1283       
1284     </ul>
1285   
1286 </nav>
1287                   </div>
1288                 </div>
1289               </div>
1290             
1291           
1292           <div class="md-content" data-md-component="content">
1293             <article class="md-content__inner md-typeset">
1294               
1295                 
1296                 
1297                 <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>
1298 <hr />
1299 <h1 id="gzip-streams">GZIP Streams<a class="headerlink" href="#gzip-streams" title="Permanent link">&para;</a></h1>
1300 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
1301 <p>In certain builds of the library, gzip compression recognition is automatically handled when calling <code><a href="ft2-face_creation.html#ft_new_face">FT_New_Face</a></code> or <code><a href="ft2-face_creation.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>
1302 <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>
1303 <p>This section contains the declaration of Gzip-specific functions.</p>
1304 <h2 id="ft_stream_opengzip">FT_Stream_OpenGzip<a class="headerlink" href="#ft_stream_opengzip" title="Permanent link">&para;</a></h2>
1305 <p>Defined in FT_GZIP_H (freetype/ftgzip.h).</p>
1306 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1307   <b>FT_Stream_OpenGzip</b>( <a href="ft2-system_interface.html#ft_stream">FT_Stream</a>  stream,
1308                       <a href="ft2-system_interface.html#ft_stream">FT_Stream</a>  source );
1309 </code></pre></div>
1310
1311 <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>
1312 <h4>input</h4>
1313 <table class="fields">
1314 <tr><td class="val" id="stream">stream</td><td class="desc">
1315 <p>The target embedding stream.</p>
1316 </td></tr>
1317 <tr><td class="val" id="source">source</td><td class="desc">
1318 <p>The source stream.</p>
1319 </td></tr>
1320 </table>
1321
1322 <h4>return</h4>
1323
1324 <p>FreeType error code. 0&nbsp;means success.</p>
1325 <h4>note</h4>
1326
1327 <p>The source stream must be opened <em>before</em> calling this function.</p>
1328 <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>
1329 <p>This function may return <code>FT_Err_Unimplemented_Feature</code> if your build of FreeType was not compiled with zlib support.</p>
1330 <hr>
1331
1332 <h2 id="ft_gzip_uncompress">FT_Gzip_Uncompress<a class="headerlink" href="#ft_gzip_uncompress" title="Permanent link">&para;</a></h2>
1333 <p>Defined in FT_GZIP_H (freetype/ftgzip.h).</p>
1334 <div class = "codehilite"><pre><code>  FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
1335   <b>FT_Gzip_Uncompress</b>( <a href="ft2-system_interface.html#ft_memory">FT_Memory</a>       memory,
1336                       <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*        output,
1337                       <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>*       output_len,
1338                       <span class="keyword">const</span> <a href="ft2-basic_types.html#ft_byte">FT_Byte</a>*  input,
1339                       <a href="ft2-basic_types.html#ft_ulong">FT_ULong</a>        input_len );
1340 </code></pre></div>
1341
1342 <p>Decompress a zipped input buffer into an output buffer. This function is modeled after zlib's <code>uncompress</code> function.</p>
1343 <h4>input</h4>
1344 <table class="fields">
1345 <tr><td class="val" id="memory">memory</td><td class="desc">
1346 <p>A FreeType memory handle.</p>
1347 </td></tr>
1348 <tr><td class="val" id="input">input</td><td class="desc">
1349 <p>The input buffer.</p>
1350 </td></tr>
1351 <tr><td class="val" id="input_len">input_len</td><td class="desc">
1352 <p>The length of the input buffer.</p>
1353 </td></tr>
1354 </table>
1355
1356 <h4>output</h4>
1357 <table class="fields">
1358 <tr><td class="val" id="output">output</td><td class="desc">
1359 <p>The output buffer.</p>
1360 </td></tr>
1361 </table>
1362
1363 <h4>inout</h4>
1364 <table class="fields">
1365 <tr><td class="val" id="output_len">output_len</td><td class="desc">
1366 <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>
1367 </td></tr>
1368 </table>
1369
1370 <h4>return</h4>
1371
1372 <p>FreeType error code. 0&nbsp;means success.</p>
1373 <h4>note</h4>
1374
1375 <p>This function may return <code>FT_Err_Unimplemented_Feature</code> if your build of FreeType was not compiled with zlib support.</p>
1376 <h4>since</h4>
1377
1378 <p>2.5.1</p>
1379 <hr>
1380                 
1381               
1382               
1383                 
1384
1385
1386               
1387             </article>
1388           </div>
1389         </div>
1390         
1391       </main>
1392       
1393         
1394 <footer class="md-footer">
1395   
1396     <nav class="md-footer__inner md-grid" aria-label="Footer">
1397       
1398         
1399         <a href="ft2-module_management.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Module Management" rel="prev">
1400           <div class="md-footer__button md-icon">
1401             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
1402           </div>
1403           <div class="md-footer__title">
1404             <div class="md-ellipsis">
1405               <span class="md-footer__direction">
1406                 Previous
1407               </span>
1408               Module Management
1409             </div>
1410           </div>
1411         </a>
1412       
1413       
1414         
1415         <a href="ft2-lzw.html" class="md-footer__link md-footer__link--next" aria-label="Next: LZW Streams" rel="next">
1416           <div class="md-footer__title">
1417             <div class="md-ellipsis">
1418               <span class="md-footer__direction">
1419                 Next
1420               </span>
1421               LZW Streams
1422             </div>
1423           </div>
1424           <div class="md-footer__button md-icon">
1425             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
1426           </div>
1427         </a>
1428       
1429     </nav>
1430   
1431   <div class="md-footer-meta md-typeset">
1432     <div class="md-footer-meta__inner md-grid">
1433       <div class="md-footer-copyright">
1434         
1435           <div class="md-footer-copyright__highlight">
1436             Copyright 2023 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1437           </div>
1438         
1439         Made with
1440         <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1441           Material for MkDocs
1442         </a>
1443         
1444       </div>
1445       
1446     </div>
1447   </div>
1448 </footer>
1449       
1450     </div>
1451     <div class="md-dialog" data-md-component="dialog">
1452       <div class="md-dialog__inner md-typeset"></div>
1453     </div>
1454     <script id="__config" type="application/json">{"base": ".", "features": [], "search": "assets/javascripts/workers/search.477d984a.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "version": null}</script>
1455     
1456     
1457       <script src="assets/javascripts/bundle.82b56eb2.min.js"></script>
1458       
1459         <script src="javascripts/extra.js"></script>
1460       
1461     
1462   </body>
1463 </html>