diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/docs/reference/ft2-properties.html')
-rw-r--r-- | Build/source/libs/freetype2/freetype-src/docs/reference/ft2-properties.html | 190 |
1 files changed, 146 insertions, 44 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-properties.html b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-properties.html index 012dccd7d6f..e94b02d8d3e 100644 --- a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-properties.html +++ b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-properties.html @@ -6,7 +6,7 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> - <meta name="description" content="API Reference Documentation for FreeType-2.13.0"> + <meta name="description" content="API Reference Documentation for FreeType-2.13.1"> @@ -14,11 +14,11 @@ <link rel="icon" href="images/favico.ico"> - <meta name="generator" content="mkdocs-1.2.1, mkdocs-material-7.1.9"> + <meta name="generator" content="mkdocs-1.4.3, mkdocs-material-7.1.9"> - <title>Driver properties - FreeType-2.13.0 API Reference</title> + <title>Driver properties - FreeType-2.13.1 API Reference</title> @@ -82,7 +82,7 @@ <header class="md-header" data-md-component="header"> <nav class="md-header__inner md-grid" aria-label="Header"> - <a href="index.html" title="FreeType-2.13.0 API Reference" class="md-header__button md-logo" aria-label="FreeType-2.13.0 API Reference" data-md-component="logo"> + <a href="index.html" title="FreeType-2.13.1 API Reference" class="md-header__button md-logo" aria-label="FreeType-2.13.1 API Reference" data-md-component="logo"> <img src="images/favico.ico" alt="logo"> @@ -94,7 +94,7 @@ <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> - FreeType-2.13.0 API Reference + FreeType-2.13.1 API Reference </span> </div> <div class="md-header__topic" data-md-component="header-topic"> @@ -161,12 +161,12 @@ <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> - <a href="index.html" title="FreeType-2.13.0 API Reference" class="md-nav__button md-logo" aria-label="FreeType-2.13.0 API Reference" data-md-component="logo"> + <a href="index.html" title="FreeType-2.13.1 API Reference" class="md-nav__button md-logo" aria-label="FreeType-2.13.1 API Reference" data-md-component="logo"> <img src="images/favico.ico" alt="logo"> </a> - FreeType-2.13.0 API Reference + FreeType-2.13.1 API Reference </label> <ul class="md-nav__list" data-md-scrollfix> @@ -296,8 +296,8 @@ <li class="md-nav__item"> - <a href="ft2-version.html" class="md-nav__link"> - FreeType Version + <a href="ft2-basic_types.html" class="md-nav__link"> + Basic Data Types </a> </li> @@ -308,8 +308,80 @@ <li class="md-nav__item"> - <a href="ft2-basic_types.html" class="md-nav__link"> - Basic Data Types + <a href="ft2-library_setup.html" class="md-nav__link"> + Library Setup + </a> + </li> + + + + + + + + <li class="md-nav__item"> + <a href="ft2-face_creation.html" class="md-nav__link"> + Face Creation + </a> + </li> + + + + + + + + <li class="md-nav__item"> + <a href="ft2-font_testing_macros.html" class="md-nav__link"> + Font Testing Macros + </a> + </li> + + + + + + + + <li class="md-nav__item"> + <a href="ft2-sizing_and_scaling.html" class="md-nav__link"> + Sizing and Scaling + </a> + </li> + + + + + + + + <li class="md-nav__item"> + <a href="ft2-glyph_retrieval.html" class="md-nav__link"> + Glyph Retrieval + </a> + </li> + + + + + + + + <li class="md-nav__item"> + <a href="ft2-character_mapping.html" class="md-nav__link"> + Character Mapping + </a> + </li> + + + + + + + + <li class="md-nav__item"> + <a href="ft2-information_retrieval.html" class="md-nav__link"> + Information Retrieval </a> </li> @@ -320,13 +392,43 @@ <li class="md-nav__item"> - <a href="ft2-base_interface.html" class="md-nav__link"> - Base Interface + <a href="ft2-other_api_data.html" class="md-nav__link"> + Other API Data </a> </li> + </ul> + </nav> + </li> + + + + + + + + + + + + <li class="md-nav__item md-nav__item--nested"> + + + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" > + + <label class="md-nav__link" for="__nav_5"> + Extended API + <span class="md-nav__icon md-icon"></span> + </label> + <nav class="md-nav" aria-label="Extended API" data-md-level="1"> + <label class="md-nav__title" for="__nav_5"> + <span class="md-nav__icon md-icon"></span> + Extended API + </label> + <ul class="md-nav__list" data-md-scrollfix> + @@ -428,14 +530,14 @@ <li class="md-nav__item md-nav__item--nested"> - <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" > + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" > - <label class="md-nav__link" for="__nav_5"> + <label class="md-nav__link" for="__nav_6"> Format-Specific API <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="Format-Specific API" data-md-level="1"> - <label class="md-nav__title" for="__nav_5"> + <label class="md-nav__title" for="__nav_6"> <span class="md-nav__icon md-icon"></span> Format-Specific API </label> @@ -592,14 +694,14 @@ <li class="md-nav__item md-nav__item--active md-nav__item--nested"> - <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" checked> + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" checked> - <label class="md-nav__link" for="__nav_6"> + <label class="md-nav__link" for="__nav_7"> Controlling FreeType Modules <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="Controlling FreeType Modules" data-md-level="1"> - <label class="md-nav__title" for="__nav_6"> + <label class="md-nav__title" for="__nav_7"> <span class="md-nav__icon md-icon"></span> Controlling FreeType Modules </label> @@ -889,14 +991,14 @@ <li class="md-nav__item md-nav__item--nested"> - <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" > + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" > - <label class="md-nav__link" for="__nav_7"> + <label class="md-nav__link" for="__nav_8"> Cache Sub-System <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="Cache Sub-System" data-md-level="1"> - <label class="md-nav__title" for="__nav_7"> + <label class="md-nav__title" for="__nav_8"> <span class="md-nav__icon md-icon"></span> Cache Sub-System </label> @@ -931,14 +1033,14 @@ <li class="md-nav__item md-nav__item--nested"> - <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" > + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" > - <label class="md-nav__link" for="__nav_8"> + <label class="md-nav__link" for="__nav_9"> Support API <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="Support API" data-md-level="1"> - <label class="md-nav__title" for="__nav_8"> + <label class="md-nav__title" for="__nav_9"> <span class="md-nav__icon md-icon"></span> Support API </label> @@ -1117,14 +1219,14 @@ <li class="md-nav__item md-nav__item--nested"> - <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" > + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" > - <label class="md-nav__link" for="__nav_9"> + <label class="md-nav__link" for="__nav_10"> Error Codes <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="Error Codes" data-md-level="1"> - <label class="md-nav__title" for="__nav_9"> + <label class="md-nav__title" for="__nav_10"> <span class="md-nav__icon md-icon"></span> Error Codes </label> @@ -1171,14 +1273,14 @@ <li class="md-nav__item md-nav__item--nested"> - <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" > + <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" > - <label class="md-nav__link" for="__nav_10"> + <label class="md-nav__link" for="__nav_11"> Miscellaneous <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" aria-label="Miscellaneous" data-md-level="1"> - <label class="md-nav__title" for="__nav_10"> + <label class="md-nav__title" for="__nav_11"> <span class="md-nav__icon md-icon"></span> Miscellaneous </label> @@ -1461,14 +1563,14 @@ <h2 id="no-stem-darkening">no-stem-darkening<a class="headerlink" href="#no-stem-darkening" title="Permanent link">¶</a></h2> <p>All glyphs that pass through the auto-hinter will be emboldened unless this property is set to TRUE. The same is true for the CFF, Type 1, and CID font modules if the ‘Adobe’ engine is selected (which is the default).</p> -<p>Stem darkening emboldens glyphs at smaller sizes to make them more readable on common low-DPI screens when using linear alpha blending and gamma correction, see <code><a href="ft2-base_interface.html#ft_render_glyph">FT_Render_Glyph</a></code>. When not using linear alpha blending and gamma correction, glyphs will appear heavy and fuzzy!</p> +<p>Stem darkening emboldens glyphs at smaller sizes to make them more readable on common low-DPI screens when using linear alpha blending and gamma correction, see <code><a href="ft2-glyph_retrieval.html#ft_render_glyph">FT_Render_Glyph</a></code>. When not using linear alpha blending and gamma correction, glyphs will appear heavy and fuzzy!</p> <p>Gamma correction essentially lightens fonts since shades of grey are shifted to higher pixel values (= higher brightness) to match the original intention to the reality of our screens. The side-effect is that glyphs ‘thin out’. Mac OS X and Adobe's proprietary font rendering library implement a counter-measure: stem darkening at smaller sizes where shades of gray dominate. By emboldening a glyph slightly in relation to its pixel size, individual pixels get higher coverage of filled-in outlines and are therefore ‘blacker’. This counteracts the ‘thinning out’ of glyphs, making text remain readable at smaller sizes.</p> -<p>For the auto-hinter, stem-darkening is experimental currently and thus switched off by default (this is, <code>no-stem-darkening</code> is set to TRUE by default). Total consistency with the CFF driver is not achieved right now because the emboldening method differs and glyphs must be scaled down on the Y-axis to keep outline points inside their precomputed blue zones. The smaller the size (especially 9ppem and down), the higher the loss of emboldening versus the CFF driver.</p> -<p>Note that stem darkening is never applied if <code><a href="ft2-base_interface.html#ft_load_xxx">FT_LOAD_NO_SCALE</a></code> is set.</p> +<p>For the auto-hinter, stem-darkening is experimental currently and thus switched off by default (that is, <code>no-stem-darkening</code> is set to TRUE by default). Total consistency with the CFF driver is not achieved right now because the emboldening method differs and glyphs must be scaled down on the Y-axis to keep outline points inside their precomputed blue zones. The smaller the size (especially 9ppem and down), the higher the loss of emboldening versus the CFF driver.</p> +<p>Note that stem darkening is never applied if <code><a href="ft2-glyph_retrieval.html#ft_load_xxx">FT_LOAD_NO_SCALE</a></code> is set.</p> <h4>note</h4> <p>This property can be used with <code><a href="ft2-module_management.html#ft_property_get">FT_Property_Get</a></code> also.</p> -<p>This property can be set via the <code>FREETYPE_PROPERTIES</code> environment variable (using values 1 and 0 for ‘on’ and ‘off’, respectively). It can also be set per face using <code><a href="ft2-base_interface.html#ft_face_properties">FT_Face_Properties</a></code> with <code><a href="ft2-parameter_tags.html#ft_param_tag_stem_darkening">FT_PARAM_TAG_STEM_DARKENING</a></code>.</p> +<p>This property can be set via the <code>FREETYPE_PROPERTIES</code> environment variable (using values 1 and 0 for ‘on’ and ‘off’, respectively). It can also be set per face using <code><a href="ft2-face_creation.html#ft_face_properties">FT_Face_Properties</a></code> with <code><a href="ft2-parameter_tags.html#ft_param_tag_stem_darkening">FT_PARAM_TAG_STEM_DARKENING</a></code>.</p> <h4>example</h4> <div class="highlight"><pre><span></span><code> FT_Library library; FT_Bool no_stem_darkening = TRUE; @@ -1528,7 +1630,7 @@ <p>The <code>random-seed</code> property does that. Its argument is a signed 32bit integer; if the value is zero or negative, the seed given by the <code>intitialRandomSeed</code> private DICT operator in a CFF file gets used (or a default value if there is no such operator). If the value is positive, use it instead of <code>initialRandomSeed</code>, which is consequently ignored.</p> <h4>note</h4> -<p>This property can be set via the <code>FREETYPE_PROPERTIES</code> environment variable. It can also be set per face using <code><a href="ft2-base_interface.html#ft_face_properties">FT_Face_Properties</a></code> with <code><a href="ft2-parameter_tags.html#ft_param_tag_random_seed">FT_PARAM_TAG_RANDOM_SEED</a></code>.</p> +<p>This property can be set via the <code>FREETYPE_PROPERTIES</code> environment variable. It can also be set per face using <code><a href="ft2-face_creation.html#ft_face_properties">FT_Face_Properties</a></code> with <code><a href="ft2-parameter_tags.html#ft_param_tag_random_seed">FT_PARAM_TAG_RANDOM_SEED</a></code>.</p> <h4>since</h4> <p>2.8 (for ‘cff’ module)</p> @@ -1574,7 +1676,7 @@ <p>Version 35 corresponds to MS rasterizer v.1.7 as used e.g. in Windows 98; only grayscale and B/W rasterizing is supported.</p> </td></tr> <tr><td class="val" id="tt_interpreter_version_38">TT_INTERPRETER_VERSION_38</td><td class="desc"> -<p>Version 38 corresponds to MS rasterizer v.1.9; it is roughly equivalent to the hinting provided by DirectWrite ClearType (as can be found, for example, in the Internet Explorer 9 running on Windows 7). It is used in FreeType to select the ‘Infinality’ subpixel hinting code. The code may be removed in a future version.</p> +<p>Version 38 is the same Version 40. The original ‘Infinality’ code is no longer available.</p> </td></tr> <tr><td class="val" id="tt_interpreter_version_40">TT_INTERPRETER_VERSION_40</td><td class="desc"> <p>Version 40 corresponds to MS rasterizer v.2.1; it is roughly equivalent to the hinting provided by DirectWrite ClearType (as can be found, for example, in Microsoft's Edge Browser on Windows 10). It is used in FreeType to select the ‘minimal’ subpixel hinting code, a stripped-down and higher performance version of the ‘Infinality’ code.</p> @@ -1681,7 +1783,7 @@ <p><strong>Experimental only</strong></p> <p>The auto-hinter provides various script modules to hint glyphs. Examples of supported scripts are Latin or CJK. Before a glyph is auto-hinted, the Unicode character map of the font gets examined, and the script is then determined based on Unicode character ranges, see below.</p> <p>OpenType fonts, however, often provide much more glyphs than character codes (small caps, superscripts, ligatures, swashes, etc.), to be controlled by so-called ‘features’. Handling OpenType features can be quite complicated and thus needs a separate library on top of FreeType.</p> -<p>The mapping between glyph indices and scripts (in the auto-hinter sense, see the <code><a href="ft2-properties.html#ft_autohinter_script_xxx">FT_AUTOHINTER_SCRIPT_XXX</a></code> values) is stored as an array with <code>num_glyphs</code> elements, as found in the font's <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> structure. The <code>glyph-to-script-map</code> property returns a pointer to this array, which can be modified as needed. Note that the modification should happen before the first glyph gets processed by the auto-hinter so that the global analysis of the font shapes actually uses the modified mapping.</p> +<p>The mapping between glyph indices and scripts (in the auto-hinter sense, see the <code><a href="ft2-properties.html#ft_autohinter_script_xxx">FT_AUTOHINTER_SCRIPT_XXX</a></code> values) is stored as an array with <code>num_glyphs</code> elements, as found in the font's <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> structure. The <code>glyph-to-script-map</code> property returns a pointer to this array, which can be modified as needed. Note that the modification should happen before the first glyph gets processed by the auto-hinter so that the global analysis of the font shapes actually uses the modified mapping.</p> <h4>example</h4> <p>The following example code demonstrates how to access it (omitting the error handling). @@ -1816,7 +1918,7 @@ <p>Defined in FT_DRIVER_H (freetype/ftdriver.h).</p> <div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_GlyphToScriptMap_ { - <a href="ft2-base_interface.html#ft_face">FT_Face</a> face; + <a href="ft2-face_creation.html#ft_face">FT_Face</a> face; <a href="ft2-basic_types.html#ft_ushort">FT_UShort</a>* map; } <b>FT_Prop_GlyphToScriptMap</b>; @@ -1835,7 +1937,7 @@ <h4>note</h4> <p>This property can be used with <code><a href="ft2-module_management.html#ft_property_get">FT_Property_Get</a></code> also.</p> -<p>It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the fallback script value gets triggered either by setting or reading a face-specific property like <code><a href="ft2-properties.html#glyph-to-script-map">glyph-to-script-map</a></code>, or by auto-hinting any glyph from that face. In particular, if you have already created an <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> structure but not loaded any glyph (using the auto-hinter), a change of the fallback script will affect this face.</p> +<p>It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the fallback script value gets triggered either by setting or reading a face-specific property like <code><a href="ft2-properties.html#glyph-to-script-map">glyph-to-script-map</a></code>, or by auto-hinting any glyph from that face. In particular, if you have already created an <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> structure but not loaded any glyph (using the auto-hinter), a change of the fallback script will affect this face.</p> <h4>example</h4> <div class="highlight"><pre><span></span><code> FT_Library library; FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE; @@ -1858,7 +1960,7 @@ <h4>note</h4> <p>This property can be used with <code><a href="ft2-module_management.html#ft_property_get">FT_Property_Get</a></code> also.</p> -<p>It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the default script value gets triggered either by setting or reading a face-specific property like <code><a href="ft2-properties.html#glyph-to-script-map">glyph-to-script-map</a></code>, or by auto-hinting any glyph from that face. In particular, if you have already created an <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> structure but not loaded any glyph (using the auto-hinter), a change of the default script will affect this face.</p> +<p>It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the default script value gets triggered either by setting or reading a face-specific property like <code><a href="ft2-properties.html#glyph-to-script-map">glyph-to-script-map</a></code>, or by auto-hinting any glyph from that face. In particular, if you have already created an <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> structure but not loaded any glyph (using the auto-hinter), a change of the default script will affect this face.</p> <h4>example</h4> <div class="highlight"><pre><span></span><code> FT_Library library; FT_UInt default_script = FT_AUTOHINTER_SCRIPT_NONE; @@ -1879,7 +1981,7 @@ <h4>note</h4> <p>This property can be used with <code><a href="ft2-module_management.html#ft_property_get">FT_Property_Get</a></code> also.</p> -<p>Set this value right after calling <code><a href="ft2-base_interface.html#ft_set_char_size">FT_Set_Char_Size</a></code>, but before loading any glyph (using the auto-hinter).</p> +<p>Set this value right after calling <code><a href="ft2-sizing_and_scaling.html#ft_set_char_size">FT_Set_Char_Size</a></code>, but before loading any glyph (using the auto-hinter).</p> <h4>example</h4> <div class="highlight"><pre><span></span><code> FT_Library library; FT_Face face; @@ -1905,7 +2007,7 @@ <p>Defined in FT_DRIVER_H (freetype/ftdriver.h).</p> <div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_IncreaseXHeight_ { - <a href="ft2-base_interface.html#ft_face">FT_Face</a> face; + <a href="ft2-face_creation.html#ft_face">FT_Face</a> face; <a href="ft2-basic_types.html#ft_uint">FT_UInt</a> limit; } <b>FT_Prop_IncreaseXHeight</b>; @@ -1996,7 +2098,7 @@ <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> - <script id="__config" type="application/json">{"base": ".", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "assets/javascripts/workers/search.477d984a.min.js", "version": null}</script> + <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> <script src="assets/javascripts/bundle.82b56eb2.min.js"></script> |