6 <html lang="en" class="no-js">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <meta http-equiv="x-ua-compatible" content="ie=edge">
13 <meta name="description" content="API Reference Documentation for FreeType-2.10.4">
17 <meta name="author" content="FreeType Contributors">
20 <meta name="lang:clipboard.copy" content="Copy to clipboard">
22 <meta name="lang:clipboard.copied" content="Copied to clipboard">
24 <meta name="lang:search.language" content="en">
26 <meta name="lang:search.pipeline.stopwords" content="True">
28 <meta name="lang:search.pipeline.trimmer" content="True">
30 <meta name="lang:search.result.none" content="No matching documents">
32 <meta name="lang:search.result.one" content="1 matching document">
34 <meta name="lang:search.result.other" content="# matching documents">
36 <meta name="lang:search.tokenizer" content="[\s\-]+">
38 <link rel="shortcut icon" href="images/favico.ico">
39 <meta name="generator" content="mkdocs-1.1, mkdocs-material-4.6.3">
43 <title>Gasp Table - FreeType-2.10.4 API Reference</title>
47 <link rel="stylesheet" href="assets/stylesheets/application.adb8469c.css">
49 <link rel="stylesheet" href="assets/stylesheets/application-palette.a8b3c06d.css">
54 <meta name="theme-color" content="#4caf50">
58 <script src="assets/javascripts/modernizr.86422ebf.js"></script>
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>
67 <link rel="stylesheet" href="assets/fonts/material-icons.css">
70 <link rel="stylesheet" href="stylesheets/extra.css">
80 <body dir="ltr" data-md-color-primary="green" data-md-color-accent="green">
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>
92 <a href="#gasp-table" tabindex="0" class="md-skip">
97 <header class="md-header" data-md-component="header">
98 <nav class="md-header-nav md-grid">
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">
103 <img alt="logo" src="images/favico.ico" width="24" height="24">
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>
110 <div class="md-flex__cell md-flex__cell--stretch">
111 <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
113 <span class="md-header-nav__topic">
114 FreeType-2.10.4 API Reference
116 <span class="md-header-nav__topic">
124 <div class="md-flex__cell md-flex__cell--shrink">
126 <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
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">
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
144 <ol class="md-search-result__list"></ol>
157 <div class="md-container">
162 <main class="md-main" role="main">
163 <div class="md-main__inner md-grid" data-md-component="container">
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">
173 <img alt="logo" src="images/favico.ico" width="48" height="48">
176 FreeType-2.10.4 API Reference
179 <ul class="md-nav__list" data-md-scrollfix>
186 <li class="md-nav__item">
187 <a href="index.html" title="TOC" class="md-nav__link">
198 <li class="md-nav__item">
199 <a href="ft2-index.html" title="Index" class="md-nav__link">
210 <li class="md-nav__item md-nav__item--nested">
212 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
214 <label class="md-nav__link" for="nav-3">
217 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
218 <label class="md-nav__title" for="nav-3">
221 <ul class="md-nav__list" data-md-scrollfix>
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
241 <li class="md-nav__item">
242 <a href="ft2-user_allocation.html" title="User allocation" class="md-nav__link">
258 <li class="md-nav__item md-nav__item--nested">
260 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
262 <label class="md-nav__link" for="nav-4">
265 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
266 <label class="md-nav__title" for="nav-4">
269 <ul class="md-nav__list" data-md-scrollfix>
277 <li class="md-nav__item">
278 <a href="ft2-version.html" title="FreeType Version" class="md-nav__link">
289 <li class="md-nav__item">
290 <a href="ft2-basic_types.html" title="Basic Data Types" class="md-nav__link">
301 <li class="md-nav__item">
302 <a href="ft2-base_interface.html" title="Base Interface" class="md-nav__link">
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
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
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
349 <li class="md-nav__item">
350 <a href="ft2-glyph_management.html" title="Glyph Management" class="md-nav__link">
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
373 <li class="md-nav__item">
374 <a href="ft2-sizes_management.html" title="Size Management" class="md-nav__link">
385 <li class="md-nav__item">
386 <a href="ft2-header_file_macros.html" title="Header File Macros" class="md-nav__link">
404 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
406 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5" checked>
408 <label class="md-nav__link" for="nav-5">
411 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
412 <label class="md-nav__title" for="nav-5">
415 <ul class="md-nav__list" data-md-scrollfix>
423 <li class="md-nav__item">
424 <a href="ft2-multiple_masters.html" title="Multiple Masters" class="md-nav__link">
435 <li class="md-nav__item">
436 <a href="ft2-truetype_tables.html" title="TrueType Tables" class="md-nav__link">
447 <li class="md-nav__item">
448 <a href="ft2-type1_tables.html" title="Type 1 Tables" class="md-nav__link">
459 <li class="md-nav__item">
460 <a href="ft2-sfnt_names.html" title="SFNT Names" class="md-nav__link">
471 <li class="md-nav__item">
472 <a href="ft2-bdf_fonts.html" title="BDF and PCF Files" class="md-nav__link">
483 <li class="md-nav__item">
484 <a href="ft2-cid_fonts.html" title="CID Fonts" class="md-nav__link">
495 <li class="md-nav__item">
496 <a href="ft2-pfr_fonts.html" title="PFR Fonts" class="md-nav__link">
507 <li class="md-nav__item">
508 <a href="ft2-winfnt_fonts.html" title="Window FNT Files" class="md-nav__link">
519 <li class="md-nav__item">
520 <a href="ft2-font_formats.html" title="Font Formats" class="md-nav__link">
533 <li class="md-nav__item md-nav__item--active">
535 <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
540 <label class="md-nav__link md-nav__link--active" for="__toc">
544 <a href="ft2-gasp_table.html" title="Gasp Table" class="md-nav__link md-nav__link--active">
549 <nav class="md-nav md-nav--secondary">
555 <label class="md-nav__title" for="__toc">Table of contents</label>
556 <ul class="md-nav__list" data-md-scrollfix>
558 <li class="md-nav__item">
559 <a href="#synopsis" class="md-nav__link">
565 <li class="md-nav__item">
566 <a href="#ft_gasp_xxx" class="md-nav__link">
572 <li class="md-nav__item">
573 <a href="#ft_get_gasp" class="md-nav__link">
600 <li class="md-nav__item md-nav__item--nested">
602 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
604 <label class="md-nav__link" for="nav-6">
605 Controlling FreeType Modules
607 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
608 <label class="md-nav__title" for="nav-6">
609 Controlling FreeType Modules
611 <ul class="md-nav__list" data-md-scrollfix>
619 <li class="md-nav__item">
620 <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-nav__link">
631 <li class="md-nav__item">
632 <a href="ft2-cff_driver.html" title="The CFF driver" class="md-nav__link">
643 <li class="md-nav__item">
644 <a href="ft2-t1_cid_driver.html" title="The Type 1 and CID drivers" class="md-nav__link">
645 The Type 1 and CID drivers
655 <li class="md-nav__item">
656 <a href="ft2-tt_driver.html" title="The TrueType driver" class="md-nav__link">
667 <li class="md-nav__item">
668 <a href="ft2-pcf_driver.html" title="The PCF driver" class="md-nav__link">
679 <li class="md-nav__item">
680 <a href="ft2-properties.html" title="Driver properties" class="md-nav__link">
691 <li class="md-nav__item">
692 <a href="ft2-parameter_tags.html" title="Parameter Tags" class="md-nav__link">
703 <li class="md-nav__item">
704 <a href="ft2-lcd_rendering.html" title="Subpixel Rendering" class="md-nav__link">
720 <li class="md-nav__item md-nav__item--nested">
722 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
724 <label class="md-nav__link" for="nav-7">
727 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
728 <label class="md-nav__title" for="nav-7">
731 <ul class="md-nav__list" data-md-scrollfix>
739 <li class="md-nav__item">
740 <a href="ft2-cache_subsystem.html" title="Cache Sub-System" class="md-nav__link">
756 <li class="md-nav__item md-nav__item--nested">
758 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
760 <label class="md-nav__link" for="nav-8">
763 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
764 <label class="md-nav__title" for="nav-8">
767 <ul class="md-nav__list" data-md-scrollfix>
775 <li class="md-nav__item">
776 <a href="ft2-computations.html" title="Computations" class="md-nav__link">
787 <li class="md-nav__item">
788 <a href="ft2-list_processing.html" title="List Processing" class="md-nav__link">
799 <li class="md-nav__item">
800 <a href="ft2-outline_processing.html" title="Outline Processing" class="md-nav__link">
811 <li class="md-nav__item">
812 <a href="ft2-quick_advance.html" title="Quick retrieval of advance values" class="md-nav__link">
813 Quick retrieval of advance values
823 <li class="md-nav__item">
824 <a href="ft2-bitmap_handling.html" title="Bitmap Handling" class="md-nav__link">
835 <li class="md-nav__item">
836 <a href="ft2-raster.html" title="Scanline Converter" class="md-nav__link">
847 <li class="md-nav__item">
848 <a href="ft2-glyph_stroker.html" title="Glyph Stroker" class="md-nav__link">
859 <li class="md-nav__item">
860 <a href="ft2-system_interface.html" title="System Interface" class="md-nav__link">
871 <li class="md-nav__item">
872 <a href="ft2-module_management.html" title="Module Management" class="md-nav__link">
883 <li class="md-nav__item">
884 <a href="ft2-gzip.html" title="GZIP Streams" class="md-nav__link">
895 <li class="md-nav__item">
896 <a href="ft2-lzw.html" title="LZW Streams" class="md-nav__link">
907 <li class="md-nav__item">
908 <a href="ft2-bzip2.html" title="BZIP2 Streams" class="md-nav__link">
924 <li class="md-nav__item md-nav__item--nested">
926 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
928 <label class="md-nav__link" for="nav-9">
931 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
932 <label class="md-nav__title" for="nav-9">
935 <ul class="md-nav__list" data-md-scrollfix>
943 <li class="md-nav__item">
944 <a href="ft2-error_enumerations.html" title="Error Enumerations" class="md-nav__link">
955 <li class="md-nav__item">
956 <a href="ft2-error_code_values.html" title="Error Code Values" class="md-nav__link">
972 <li class="md-nav__item md-nav__item--nested">
974 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
976 <label class="md-nav__link" for="nav-10">
979 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
980 <label class="md-nav__title" for="nav-10">
983 <ul class="md-nav__list" data-md-scrollfix>
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
1003 <li class="md-nav__item">
1004 <a href="ft2-incremental.html" title="Incremental Loading" class="md-nav__link">
1015 <li class="md-nav__item">
1016 <a href="ft2-truetype_engine.html" title="The TrueType Engine" class="md-nav__link">
1027 <li class="md-nav__item">
1028 <a href="ft2-ot_validation.html" title="OpenType Validation" class="md-nav__link">
1046 <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
1047 <div class="md-sidebar__scrollwrap">
1048 <div class="md-sidebar__inner">
1050 <nav class="md-nav md-nav--secondary">
1056 <label class="md-nav__title" for="__toc">Table of contents</label>
1057 <ul class="md-nav__list" data-md-scrollfix>
1059 <li class="md-nav__item">
1060 <a href="#synopsis" class="md-nav__link">
1066 <li class="md-nav__item">
1067 <a href="#ft_gasp_xxx" class="md-nav__link">
1073 <li class="md-nav__item">
1074 <a href="#ft_get_gasp" class="md-nav__link">
1092 <div class="md-content">
1093 <article class="md-content__inner md-typeset">
1097 <p><a href="https://www.freetype.org">FreeType</a> » <a href="../">Docs</a> » <a href="index.html#format-specific-api">Format-Specific API</a> » Gasp Table</p>
1099 <h1 id="gasp-table">Gasp Table<a class="headerlink" href="#gasp-table" title="Permanent link">¶</a></h1>
1100 <h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">¶</a></h2>
1101 <p>The function <code><a href="ft2-gasp_table.html#ft_get_gasp">FT_Get_Gasp</a></code> can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.</p>
1102 <h2 id="ft_gasp_xxx">FT_GASP_XXX<a class="headerlink" href="#ft_gasp_xxx" title="Permanent link">¶</a></h2>
1103 <p>Defined in FT_GASP_H (freetype/ftgasp.h).</p>
1104 <div class = "codehilite"><pre><code>#<span class="keyword">define</span> <a href="ft2-gasp_table.html#ft_gasp_no_table">FT_GASP_NO_TABLE</a> -1
1105 #<span class="keyword">define</span> <a href="ft2-gasp_table.html#ft_gasp_do_gridfit">FT_GASP_DO_GRIDFIT</a> 0x01
1106 #<span class="keyword">define</span> <a href="ft2-gasp_table.html#ft_gasp_do_gray">FT_GASP_DO_GRAY</a> 0x02
1107 #<span class="keyword">define</span> <a href="ft2-gasp_table.html#ft_gasp_symmetric_gridfit">FT_GASP_SYMMETRIC_GRIDFIT</a> 0x04
1108 #<span class="keyword">define</span> <a href="ft2-gasp_table.html#ft_gasp_symmetric_smoothing">FT_GASP_SYMMETRIC_SMOOTHING</a> 0x08
1111 <p>A list of values and/or bit-flags returned by the <code><a href="ft2-gasp_table.html#ft_get_gasp">FT_Get_Gasp</a></code> function.</p>
1114 <table class="fields long">
1115 <tr><td class="val" id="ft_gasp_no_table">FT_GASP_NO_TABLE</td><td class="desc">
1116 <p>This special value means that there is no GASP table in this face. It is up to the client to decide what to do.</p>
1118 <tr><td class="val" id="ft_gasp_do_gridfit">FT_GASP_DO_GRIDFIT</td><td class="desc">
1119 <p>Grid-fitting and hinting should be performed at the specified ppem. This <strong>really</strong> means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.</p>
1121 <tr><td class="val" id="ft_gasp_do_gray">FT_GASP_DO_GRAY</td><td class="desc">
1122 <p>Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.</p>
1124 <tr><td class="val" id="ft_gasp_symmetric_smoothing">FT_GASP_SYMMETRIC_SMOOTHING</td><td class="desc">
1125 <p>If set, smoothing along multiple axes must be used with ClearType.</p>
1127 <tr><td class="val" id="ft_gasp_symmetric_gridfit">FT_GASP_SYMMETRIC_GRIDFIT</td><td class="desc">
1128 <p>Grid-fitting must be used with ClearType's symmetric smoothing.</p>
1134 <p>The bit-flags <code>FT_GASP_DO_GRIDFIT</code> and <code>FT_GASP_DO_GRAY</code> are to be used for standard font rasterization only. Independently of that, <code>FT_GASP_SYMMETRIC_SMOOTHING</code> and <code>FT_GASP_SYMMETRIC_GRIDFIT</code> are to be used if ClearType is enabled (and <code>FT_GASP_DO_GRIDFIT</code> and <code>FT_GASP_DO_GRAY</code> are consequently ignored).</p>
1135 <p>‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.</p>
1141 <h2 id="ft_get_gasp">FT_Get_Gasp<a class="headerlink" href="#ft_get_gasp" title="Permanent link">¶</a></h2>
1142 <p>Defined in FT_GASP_H (freetype/ftgasp.h).</p>
1143 <div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_int">FT_Int</a> )
1144 <b>FT_Get_Gasp</b>( <a href="ft2-base_interface.html#ft_face">FT_Face</a> face,
1145 <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> ppem );
1148 <p>For a TrueType or OpenType font file, return the rasterizer behaviour flags from the font's ‘gasp’ table corresponding to a given character pixel size.</p>
1151 <table class="fields">
1152 <tr><td class="val" id="face">face</td><td class="desc">
1153 <p>The source face handle.</p>
1155 <tr><td class="val" id="ppem">ppem</td><td class="desc">
1156 <p>The vertical character pixel size.</p>
1162 <p>Bit flags (see <code><a href="ft2-gasp_table.html#ft_gasp_xxx">FT_GASP_XXX</a></code>), or <code><a href="ft2-gasp_table.html#ft_gasp_xxx">FT_GASP_NO_TABLE</a></code> if there is no ‘gasp’ table in the face.</p>
1165 <p>If you want to use the MM functionality of OpenType variation fonts (i.e., using <code><a href="ft2-multiple_masters.html#ft_set_var_design_coordinates">FT_Set_Var_Design_Coordinates</a></code> and friends), call this function <strong>after</strong> setting an instance since the return values can change.</p>
1186 <footer class="md-footer">
1188 <div class="md-footer-nav">
1189 <nav class="md-footer-nav__inner md-grid">
1191 <a href="ft2-font_formats.html" title="Font Formats" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
1192 <div class="md-flex__cell md-flex__cell--shrink">
1193 <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
1195 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1196 <span class="md-flex__ellipsis">
1197 <span class="md-footer-nav__direction">
1206 <a href="ft2-auto_hinter.html" title="The auto-hinter" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
1207 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
1208 <span class="md-flex__ellipsis">
1209 <span class="md-footer-nav__direction">
1215 <div class="md-flex__cell md-flex__cell--shrink">
1216 <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
1223 <div class="md-footer-meta md-typeset">
1224 <div class="md-footer-meta__inner md-grid">
1225 <div class="md-footer-copyright">
1227 <div class="md-footer-copyright__highlight">
1228 Copyright 2020 <a href = "https://www.freetype.org/license.html">The FreeType Project</a>.
1232 <a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
1234 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1235 Material for MkDocs</a>
1244 <script src="assets/javascripts/application.c33a9706.js"></script>
1246 <script>app.initialize({version:"1.1",url:{base:"."}})</script>
1248 <script src="javascripts/extra.js"></script>