summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html')
-rw-r--r--Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html256
1 files changed, 185 insertions, 71 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html
index 07e9c83d91d..b9993dbeb65 100644
--- a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.html
+++ b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cache_subsystem.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>Cache Sub-System - FreeType-2.13.0 API Reference</title>
+ <title>Cache Sub-System - 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,32 @@
<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>
@@ -320,8 +344,8 @@
<li class="md-nav__item">
- <a href="ft2-base_interface.html" class="md-nav__link">
- Base Interface
+ <a href="ft2-sizing_and_scaling.html" class="md-nav__link">
+ Sizing and Scaling
</a>
</li>
@@ -332,6 +356,84 @@
<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>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <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>
+
+
+
+
+
+ <li class="md-nav__item">
<a href="ft2-glyph_variants.html" class="md-nav__link">
Unicode Variation Sequences
</a>
@@ -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>
@@ -590,14 +692,14 @@
<li class="md-nav__item md-nav__item--nested">
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
+ <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
- <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>
@@ -730,14 +832,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_7" type="checkbox" id="__nav_7" checked>
+ <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" checked>
- <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>
@@ -1008,14 +1110,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>
@@ -1194,14 +1296,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>
@@ -1248,14 +1350,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>
@@ -1560,26 +1662,38 @@
<hr />
<h1 id="cache-sub-system">Cache Sub-System<a class="headerlink" href="#cache-sub-system" title="Permanent link">&para;</a></h1>
<h2 id="synopsis">Synopsis<a class="headerlink" href="#synopsis" title="Permanent link">&para;</a></h2>
-<p>This section describes the FreeType&nbsp;2 cache sub-system, which is used to limit the number of concurrently opened <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> and <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.</p>
-<p>Note that all types and functions begin with the <code>FTC_</code> prefix.</p>
-<p>The cache is highly portable and thus doesn't know anything about the fonts installed on your system, or how to access them. This implies the following scheme:</p>
-<p>First, available or installed font faces are uniquely identified by <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> values, provided to the cache by the client. Note that the cache only stores and compares these values, and doesn't try to interpret them in any way.</p>
-<p>Second, the cache calls, only when needed, a client-provided function to convert an <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> into a new <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object. The latter is then completely managed by the cache, including its termination through <code><a href="ft2-base_interface.html#ft_done_face">FT_Done_Face</a></code>. To monitor termination of face objects, the finalizer callback in the <code>generic</code> field of the <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object can be used, which might also be used to store the <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> of the face.</p>
-<p>Clients are free to map face IDs to anything else. The most simple usage is to associate them to a (pathname,face_index) pair that is used to call <code><a href="ft2-base_interface.html#ft_new_face">FT_New_Face</a></code>. However, more complex schemes are also possible.</p>
-<p>Note that for the cache to work correctly, the face ID values must be <strong>persistent</strong>, which means that the contents they point to should not change at runtime, or that their value should not become invalid.</p>
-<p>If this is unavoidable (e.g., when a font is uninstalled at runtime), you should call <code><a href="ft2-cache_subsystem.html#ftc_manager_removefaceid">FTC_Manager_RemoveFaceID</a></code> as soon as possible, to let the cache get rid of any references to the old <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> it may keep internally. Failure to do so will lead to incorrect behaviour or even crashes.</p>
-<p>To use the cache, start with calling <code><a href="ft2-cache_subsystem.html#ftc_manager_new">FTC_Manager_New</a></code> to create a new <code><a href="ft2-cache_subsystem.html#ftc_manager">FTC_Manager</a></code> object, which models a single cache instance. You can then look up <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> and <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects with <code><a href="ft2-cache_subsystem.html#ftc_manager_lookupface">FTC_Manager_LookupFace</a></code> and <code><a href="ft2-cache_subsystem.html#ftc_manager_lookupsize">FTC_Manager_LookupSize</a></code>, respectively.</p>
-<p>If you want to use the charmap caching, call <code><a href="ft2-cache_subsystem.html#ftc_cmapcache_new">FTC_CMapCache_New</a></code>, then later use <code><a href="ft2-cache_subsystem.html#ftc_cmapcache_lookup">FTC_CMapCache_Lookup</a></code> to perform the equivalent of <code><a href="ft2-base_interface.html#ft_get_char_index">FT_Get_Char_Index</a></code>, only much faster.</p>
+<p>This section describes the FreeType&nbsp;2 cache sub-system, which is used to limit the number of concurrently opened <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> and <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.</p>
+<p>Note that all types and functions begin with the <code>FTC_</code> prefix rather than the usual <code>FT_</code> prefix in the rest of FreeType.</p>
+<p>The cache is highly portable and, thus, doesn't know anything about the fonts installed on your system, or how to access them. Therefore, it requires the following.</p>
+<ul>
+<li>
+<p><code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code>, an arbitrary non-zero value that uniquely identifies available or installed font faces, has to be provided to the cache by the client. Note that the cache only stores and compares these values and doesn't try to interpret them in any way, but they have to be persistent on the client side.</p>
+</li>
+<li>
+<p><code><a href="ft2-cache_subsystem.html#ftc_face_requester">FTC_Face_Requester</a></code>, a method to convert an <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> into a new <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object when necessary, has to be provided to the cache by the client. The <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object is completely managed by the cache, including its termination through <code><a href="ft2-face_creation.html#ft_done_face">FT_Done_Face</a></code>. To monitor termination of face objects, the finalizer callback in the <code>generic</code> field of the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object can be used, which might also be used to store the <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> of the face.</p>
+</li>
+</ul>
+<p>Clients are free to map face IDs to anything useful. The most simple usage is, for example, to associate them to a <code>{pathname,face_index}</code> pair that is then used by <code><a href="ft2-cache_subsystem.html#ftc_face_requester">FTC_Face_Requester</a></code> to call <code><a href="ft2-face_creation.html#ft_new_face">FT_New_Face</a></code>. However, more complex schemes are also possible.</p>
+<p>Note that for the cache to work correctly, the face ID values must be <strong>persistent</strong>, which means that the contents they point to should not change at runtime, or that their value should not become invalid. If this is unavoidable (e.g., when a font is uninstalled at runtime), you should call <code><a href="ft2-cache_subsystem.html#ftc_manager_removefaceid">FTC_Manager_RemoveFaceID</a></code> as soon as possible to let the cache get rid of any references to the old <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> it may keep internally. Failure to do so will lead to incorrect behaviour or even crashes in <code><a href="ft2-cache_subsystem.html#ftc_face_requester">FTC_Face_Requester</a></code>.</p>
+<p>To use the cache, start with calling <code><a href="ft2-cache_subsystem.html#ftc_manager_new">FTC_Manager_New</a></code> to create a new <code><a href="ft2-cache_subsystem.html#ftc_manager">FTC_Manager</a></code> object, which models a single cache instance. You can then look up <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> and <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects with <code><a href="ft2-cache_subsystem.html#ftc_manager_lookupface">FTC_Manager_LookupFace</a></code> and <code><a href="ft2-cache_subsystem.html#ftc_manager_lookupsize">FTC_Manager_LookupSize</a></code>, respectively, and use them in any FreeType work stream. You can also cache other FreeType objects as follows.</p>
+<ul>
+<li>
+<p>If you want to use the charmap caching, call <code><a href="ft2-cache_subsystem.html#ftc_cmapcache_new">FTC_CMapCache_New</a></code>, then later use <code><a href="ft2-cache_subsystem.html#ftc_cmapcache_lookup">FTC_CMapCache_Lookup</a></code> to perform the equivalent of <code><a href="ft2-character_mapping.html#ft_get_char_index">FT_Get_Char_Index</a></code>, only much faster.</p>
+</li>
+<li>
<p>If you want to use the <code><a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a></code> caching, call <code><a href="ft2-cache_subsystem.html#ftc_imagecache_new">FTC_ImageCache_New</a></code>, then later use <code><a href="ft2-cache_subsystem.html#ftc_imagecache_lookup">FTC_ImageCache_Lookup</a></code> to retrieve the corresponding <code><a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a></code> objects from the cache.</p>
-<p>If you need lots of small bitmaps, it is much more memory efficient to call <code><a href="ft2-cache_subsystem.html#ftc_sbitcache_new">FTC_SBitCache_New</a></code> followed by <code><a href="ft2-cache_subsystem.html#ftc_sbitcache_lookup">FTC_SBitCache_Lookup</a></code>. This returns <code><a href="ft2-cache_subsystem.html#ftc_sbitrec">FTC_SBitRec</a></code> structures, which are used to store small bitmaps directly. (A small bitmap is one whose metrics and dimensions all fit into 8-bit integers).</p>
-<p>We hope to also provide a kerning cache in the near future.</p>
+</li>
+<li>
+<p>If you need lots of small bitmaps, it is much more memory-efficient to call <code><a href="ft2-cache_subsystem.html#ftc_sbitcache_new">FTC_SBitCache_New</a></code> followed by <code><a href="ft2-cache_subsystem.html#ftc_sbitcache_lookup">FTC_SBitCache_Lookup</a></code>. This returns <code><a href="ft2-cache_subsystem.html#ftc_sbitrec">FTC_SBitRec</a></code> structures, which are used to store small bitmaps directly. (A small bitmap is one whose metrics and dimensions all fit into 8-bit integers).</p>
+</li>
+</ul>
<h2 id="ftc_manager">FTC_Manager<a class="headerlink" href="#ftc_manager" title="Permanent link">&para;</a></h2>
<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ManagerRec_* <b>FTC_Manager</b>;
</code></pre></div>
-<p>This object corresponds to one instance of the cache-subsystem. It is used to cache one or more <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> objects, along with corresponding <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects.</p>
-<p>The manager intentionally limits the total number of opened <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> and <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects to control memory usage. See the <code>max_faces</code> and <code>max_sizes</code> parameters of <code><a href="ft2-cache_subsystem.html#ftc_manager_new">FTC_Manager_New</a></code>.</p>
+<p>This object corresponds to one instance of the cache-subsystem. It is used to cache one or more <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> objects, along with corresponding <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects.</p>
+<p>The manager intentionally limits the total number of opened <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> and <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects to control memory usage. See the <code>max_faces</code> and <code>max_sizes</code> parameters of <code><a href="ft2-cache_subsystem.html#ftc_manager_new">FTC_Manager_New</a></code>.</p>
<p>The manager is also used to cache &lsquo;nodes&rsquo; of various types while limiting their total memory usage.</p>
<p>All limitations are enforced by keeping lists of managed objects in most-recently-used order, and flushing old nodes to make room for new ones.</p>
<hr>
@@ -1594,7 +1708,7 @@
<h4>note</h4>
<p>Never use <code>NULL</code> as a valid <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code>.</p>
-<p>Face IDs are passed by the client to the cache manager that calls, when needed, the <code><a href="ft2-cache_subsystem.html#ftc_face_requester">FTC_Face_Requester</a></code> to translate them into new <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> objects.</p>
+<p>Face IDs are passed by the client to the cache manager that calls, when needed, the <code><a href="ft2-cache_subsystem.html#ftc_face_requester">FTC_Face_Requester</a></code> to translate them into new <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> objects.</p>
<p>If the content of a given face ID changes at runtime, or if the value becomes invalid (e.g., when uninstalling a font), you should immediately call <code><a href="ft2-cache_subsystem.html#ftc_manager_removefaceid">FTC_Manager_RemoveFaceID</a></code> before any other cache function.</p>
<p>Failure to do so will result in incorrect behaviour or even memory leaks and crashes.</p>
<hr>
@@ -1603,12 +1717,12 @@
<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<div class = "codehilite"><pre><code> <span class="keyword">typedef</span> <a href="ft2-basic_types.html#ft_error">FT_Error</a>
(*<b>FTC_Face_Requester</b>)( <a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a> face_id,
- <a href="ft2-base_interface.html#ft_library">FT_Library</a> library,
+ <a href="ft2-library_setup.html#ft_library">FT_Library</a> library,
<a href="ft2-basic_types.html#ft_pointer">FT_Pointer</a> req_data,
- <a href="ft2-base_interface.html#ft_face">FT_Face</a>* aface );
+ <a href="ft2-face_creation.html#ft_face">FT_Face</a>* aface );
</code></pre></div>
-<p>A callback function provided by client applications. It is used by the cache manager to translate a given <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> into a new valid <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object, on demand.</p>
+<p>A callback function provided by client applications. It is used by the cache manager to translate a given <code><a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a></code> into a new valid <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object, on demand.</p>
<h4>input</h4>
<table class="fields">
<tr><td class="val" id="face_id">face_id</td><td class="desc">
@@ -1625,7 +1739,7 @@
<h4>output</h4>
<table class="fields">
<tr><td class="val" id="aface">aface</td><td class="desc">
-<p>A new <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> handle.</p>
+<p>A new <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> handle.</p>
</td></tr>
</table>
@@ -1635,13 +1749,13 @@
<h4>note</h4>
<p>The third parameter <code>req_data</code> is the same as the one passed by the client when <code><a href="ft2-cache_subsystem.html#ftc_manager_new">FTC_Manager_New</a></code> is called.</p>
-<p>The face requester should not perform funny things on the returned face object, like creating a new <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> for it, or setting a transformation through <code><a href="ft2-base_interface.html#ft_set_transform">FT_Set_Transform</a></code>!</p>
+<p>The face requester should not perform funny things on the returned face object, like creating a new <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> for it, or setting a transformation through <code><a href="ft2-sizing_and_scaling.html#ft_set_transform">FT_Set_Transform</a></code>!</p>
<hr>
<h2 id="ftc_manager_new">FTC_Manager_New<a class="headerlink" href="#ftc_manager_new" title="Permanent link">&para;</a></h2>
<p>Defined in FT_CACHE_H (freetype/ftcache.h).</p>
<div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
- <b>FTC_Manager_New</b>( <a href="ft2-base_interface.html#ft_library">FT_Library</a> library,
+ <b>FTC_Manager_New</b>( <a href="ft2-library_setup.html#ft_library">FT_Library</a> library,
<a href="ft2-basic_types.html#ft_uint">FT_UInt</a> max_faces,
<a href="ft2-basic_types.html#ft_uint">FT_UInt</a> max_sizes,
<a href="ft2-basic_types.html#ft_ulong">FT_ULong</a> max_bytes,
@@ -1657,16 +1771,16 @@
<p>The parent FreeType library handle to use.</p>
</td></tr>
<tr><td class="val" id="max_faces">max_faces</td><td class="desc">
-<p>Maximum number of opened <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> objects managed by this cache instance. Use&nbsp;0 for defaults.</p>
+<p>Maximum number of opened <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> objects managed by this cache instance. Use&nbsp;0 for defaults.</p>
</td></tr>
<tr><td class="val" id="max_sizes">max_sizes</td><td class="desc">
-<p>Maximum number of opened <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects managed by this cache instance. Use&nbsp;0 for defaults.</p>
+<p>Maximum number of opened <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects managed by this cache instance. Use&nbsp;0 for defaults.</p>
</td></tr>
<tr><td class="val" id="max_bytes">max_bytes</td><td class="desc">
-<p>Maximum number of bytes to use for cached data nodes. Use&nbsp;0 for defaults. Note that this value does not account for managed <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> and <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects.</p>
+<p>Maximum number of bytes to use for cached data nodes. Use&nbsp;0 for defaults. Note that this value does not account for managed <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> and <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects.</p>
</td></tr>
<tr><td class="val" id="requester">requester</td><td class="desc">
-<p>An application-provided callback used to translate face IDs into real <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> objects.</p>
+<p>An application-provided callback used to translate face IDs into real <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> objects.</p>
</td></tr>
<tr><td class="val" id="req_data">req_data</td><td class="desc">
<p>A generic pointer that is passed to the requester each time it is called (see <code><a href="ft2-cache_subsystem.html#ftc_face_requester">FTC_Face_Requester</a></code>).</p>
@@ -1691,7 +1805,7 @@
<b>FTC_Manager_Reset</b>( <a href="ft2-cache_subsystem.html#ftc_manager">FTC_Manager</a> manager );
</code></pre></div>
-<p>Empty a given cache manager. This simply gets rid of all the currently cached <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> and <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects within the manager.</p>
+<p>Empty a given cache manager. This simply gets rid of all the currently cached <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> and <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects within the manager.</p>
<h4>inout</h4>
<table class="fields">
<tr><td class="val" id="manager">manager</td><td class="desc">
@@ -1722,10 +1836,10 @@
<div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
<b>FTC_Manager_LookupFace</b>( <a href="ft2-cache_subsystem.html#ftc_manager">FTC_Manager</a> manager,
<a href="ft2-cache_subsystem.html#ftc_faceid">FTC_FaceID</a> face_id,
- <a href="ft2-base_interface.html#ft_face">FT_Face</a> *aface );
+ <a href="ft2-face_creation.html#ft_face">FT_Face</a> *aface );
</code></pre></div>
-<p>Retrieve the <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object that corresponds to a given face ID through a cache manager.</p>
+<p>Retrieve the <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object that corresponds to a given face ID through a cache manager.</p>
<h4>input</h4>
<table class="fields">
<tr><td class="val" id="manager">manager</td><td class="desc">
@@ -1748,9 +1862,9 @@
<p>FreeType error code. 0&nbsp;means success.</p>
<h4>note</h4>
-<p>The returned <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object is always owned by the manager. You should never try to discard it yourself.</p>
-<p>The <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object doesn't necessarily have a current size object (i.e., face-&gt;size can be&nbsp;0). If you need a specific &lsquo;font size&rsquo;, use <code><a href="ft2-cache_subsystem.html#ftc_manager_lookupsize">FTC_Manager_LookupSize</a></code> instead.</p>
-<p>Never change the face's transformation matrix (i.e., never call the <code><a href="ft2-base_interface.html#ft_set_transform">FT_Set_Transform</a></code> function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.</p>
+<p>The returned <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object is always owned by the manager. You should never try to discard it yourself.</p>
+<p>The <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object doesn't necessarily have a current size object (i.e., face-&gt;size can be&nbsp;0). If you need a specific &lsquo;font size&rsquo;, use <code><a href="ft2-cache_subsystem.html#ftc_manager_lookupsize">FTC_Manager_LookupSize</a></code> instead.</p>
+<p>Never change the face's transformation matrix (i.e., never call the <code><a href="ft2-sizing_and_scaling.html#ft_set_transform">FT_Set_Transform</a></code> function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.</p>
<p>When you perform a lookup, out-of-memory errors are detected <em>within</em> the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.</p>
<p>If a lookup fails with <code>FT_Err_Out_Of_Memory</code> the cache has already been completely flushed, and still no memory was available for the operation.</p>
<hr>
@@ -1760,10 +1874,10 @@
<div class = "codehilite"><pre><code> FT_EXPORT( <a href="ft2-basic_types.html#ft_error">FT_Error</a> )
<b>FTC_Manager_LookupSize</b>( <a href="ft2-cache_subsystem.html#ftc_manager">FTC_Manager</a> manager,
<a href="ft2-cache_subsystem.html#ftc_scaler">FTC_Scaler</a> scaler,
- <a href="ft2-base_interface.html#ft_size">FT_Size</a> *asize );
+ <a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a> *asize );
</code></pre></div>
-<p>Retrieve the <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> object that corresponds to a given <code><a href="ft2-cache_subsystem.html#ftc_scalerrec">FTC_ScalerRec</a></code> pointer through a cache manager.</p>
+<p>Retrieve the <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> object that corresponds to a given <code><a href="ft2-cache_subsystem.html#ftc_scalerrec">FTC_ScalerRec</a></code> pointer through a cache manager.</p>
<h4>input</h4>
<table class="fields">
<tr><td class="val" id="manager">manager</td><td class="desc">
@@ -1786,8 +1900,8 @@
<p>FreeType error code. 0&nbsp;means success.</p>
<h4>note</h4>
-<p>The returned <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> object is always owned by the manager. You should never try to discard it by yourself.</p>
-<p>You can access the parent <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code> object simply as <code>size-&gt;face</code> if you need it. Note that this object is also owned by the manager.</p>
+<p>The returned <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> object is always owned by the manager. You should never try to discard it by yourself.</p>
+<p>You can access the parent <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code> object simply as <code>size-&gt;face</code> if you need it. Note that this object is also owned by the manager.</p>
<h4>note</h4>
<p>When you perform a lookup, out-of-memory errors are detected <em>within</em> the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.</p>
@@ -2072,7 +2186,7 @@
<p>The source face ID.</p>
</td></tr>
<tr><td class="val" id="cmap_index">cmap_index</td><td class="desc">
-<p>The index of the charmap in the source face. Any negative value means to use the cache <code><a href="ft2-base_interface.html#ft_face">FT_Face</a></code>'s default charmap.</p>
+<p>The index of the charmap in the source face. Any negative value means to use the cache <code><a href="ft2-face_creation.html#ft_face">FT_Face</a></code>'s default charmap.</p>
</td></tr>
<tr><td class="val" id="char_code">char_code</td><td class="desc">
<p>The character code (in the corresponding charmap).</p>
@@ -2123,7 +2237,7 @@
<h4>note</h4>
-<p>This type is mainly used to retrieve <code><a href="ft2-base_interface.html#ft_size">FT_Size</a></code> objects through the cache manager.</p>
+<p>This type is mainly used to retrieve <code><a href="ft2-sizing_and_scaling.html#ft_size">FT_Size</a></code> objects through the cache manager.</p>
<hr>
<h2 id="ftc_scaler">FTC_Scaler<a class="headerlink" href="#ftc_scaler" title="Permanent link">&para;</a></h2>
@@ -2159,7 +2273,7 @@
<p>The height in pixels.</p>
</td></tr>
<tr><td class="val" id="flags">flags</td><td class="desc">
-<p>The load flags, as in <code><a href="ft2-base_interface.html#ft_load_glyph">FT_Load_Glyph</a></code>.</p>
+<p>The load flags, as in <code><a href="ft2-glyph_retrieval.html#ft_load_glyph">FT_Load_Glyph</a></code>.</p>
</td></tr>
</table>
@@ -2219,7 +2333,7 @@
<p>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <code><a href="ft2-glyph_management.html#ft_glyph_copy">FT_Glyph_Copy</a></code> and modify the new one.</p>
<p>If <code>anode</code> is <em>not</em> <code>NULL</code>, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <code><a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a></code>) will always be kept in the cache until you call <code><a href="ft2-cache_subsystem.html#ftc_node_unref">FTC_Node_Unref</a></code> to &lsquo;release&rsquo; it.</p>
<p>If <code>anode</code> is <code>NULL</code>, the cache node is left unchanged, which means that the <code><a href="ft2-glyph_management.html#ft_glyph">FT_Glyph</a></code> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p>
-<p>Calls to <code><a href="ft2-base_interface.html#ft_set_char_size">FT_Set_Char_Size</a></code> and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.</p>
+<p>Calls to <code><a href="ft2-sizing_and_scaling.html#ft_set_char_size">FT_Set_Char_Size</a></code> and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.</p>
<hr>
<h2 id="ftc_sbitrec">FTC_SBitRec<a class="headerlink" href="#ftc_sbitrec" title="Permanent link">&para;</a></h2>
@@ -2401,7 +2515,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>