summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-01-09 06:16:46 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-01-09 06:16:46 +0000
commit332064c92a01296b5dd2d25524d0f8286ccdd107 (patch)
treedd2ed3985a9b4b4915a06f1498f2dfa01c434457 /Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
parent6156096c6ae42a04e2c3e058f23f48feb17b9bea (diff)
freetype 2.9.0
git-svn-id: svn://tug.org/texlive/trunk@46256 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html')
-rw-r--r--Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html149
1 files changed, 5 insertions, 144 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
index aa5a23ed17f..70c60eeb369 100644
--- a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
+++ b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-cff_driver.html
@@ -1,9 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
+"https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.8.1 API Reference</title>
+<title>FreeType-2.9 API Reference</title>
<style type="text/css">
a:link { color: #0000EF; }
a:visited { color: #51188E; }
@@ -100,20 +100,13 @@
<body>
<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table>
-<h1>FreeType-2.8.1 API Reference</h1>
+<h1>FreeType-2.9 API Reference</h1>
<h1 id="cff_driver">The CFF driver</h1>
-<h2>Synopsis</h2>
-<table class="synopsis">
-<tr><td><a href="#hinting-engine(cff)">hinting-engine</a></td><td>&nbsp;</td></tr>
-<tr><td><a href="#no-stem-darkening(cff)">no-stem-darkening</a></td><td><a href="#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td></tr>
-<tr><td><a href="#darkening-parameters(cff)">darkening-parameters</a></td><td><a href="#FT_PARAM_TAG_RANDOM_SEED">FT_PARAM_TAG_RANDOM_SEED</a></td></tr>
-<tr><td><a href="#random-seed">random-seed</a></td><td></td></tr>
-</table>
-
-<p>While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>. The list below gives the available properties together with the necessary macros and structures.</p>
+<p>While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>.</p>
<p>The CFF driver's module name is &lsquo;cff&rsquo;.</p>
+<p>Available properties are <a href="ft2-properties.html#hinting-engine">hinting-engine</a>, <a href="ft2-properties.html#no-stem-darkening">no-stem-darkening</a>, <a href="ft2-properties.html#darkening-parameters">darkening-parameters</a>, and <a href="ft2-properties.html#random-seed">random-seed</a>, as documented in the &lsquo;<a href="ft2-properties.html#properties">Driver properties</a>&rsquo; section.</p>
<p><b>Hinting</b> <b>and</b> <b>antialiasing</b> <b>principles</b> <b>of</b> <b>the</b> <b>new</b> <b>engine</b></p>
<p>The rasterizer is positioning horizontal features (e.g., ascender height &amp; x-height, or crossbars) on the pixel grid and minimizing the amount of antialiasing applied to them, while placing vertical features (vertical stems) on the pixel grid without hinting, thus representing the stem position and weight accurately. Sometimes the vertical stems may be only partially black. In this context, &lsquo;antialiasing&rsquo; means that stems are not positioned exactly on pixel borders, causing a fuzzy appearance.</p>
<p>There are two principles behind this approach.</p>
@@ -123,137 +116,5 @@
<p>On the technical side, horizontal alignment zones for ascender, x-height, and other important height values (traditionally called &lsquo;blue zones&rsquo;) as defined in the font are positioned independently, each being rounded to the nearest pixel edge, taking care of overshoot suppression at small sizes, stem darkening, and scaling.</p>
<p>Hstems (this is, hint values defined in the font to help align horizontal features) that fall within a blue zone are said to be &lsquo;captured&rsquo; and are aligned to that zone. Uncaptured stems are moved in one of four ways, top edge up or down, bottom edge up or down. Unless there are conflicting hstems, the smallest movement is taken to minimize distortion.</p>
-<div class="section">
-<h3 id="hinting-engine(cff)">hinting-engine</h3>
-
-<p>Thanks to Adobe, which contributed a new hinting (and parsing) engine, an application can select between &lsquo;freetype&rsquo; and &lsquo;adobe&rsquo; if compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration macro isn't defined, &lsquo;hinting-engine&rsquo; does nothing.</p>
-<p>The default engine is &lsquo;freetype&rsquo; if CFF_CONFIG_OPTION_OLD_ENGINE is defined, and &lsquo;adobe&rsquo; otherwise.</p>
-<p>The following example code demonstrates how to select Adobe's hinting engine (omitting the error handling).</p>
-<pre class="colored">
- FT_Library library;
- FT_UInt hinting_engine = FT_CFF_HINTING_ADOBE;
-
-
- FT_Init_FreeType( &amp;library );
-
- FT_Property_Set( library, "cff",
- "hinting-engine", &amp;hinting_engine );
-</pre>
-
-<h4>note</h4>
-<p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
-<p>This property can be set via the &lsquo;FREETYPE_PROPERTIES&rsquo; environment variable (using values &lsquo;adobe&rsquo; or &lsquo;freetype&rsquo;).</p>
-
-<hr>
-<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
-
-<div class="section">
-<h3 id="no-stem-darkening(cff)">no-stem-darkening</h3>
-
-<p>By default, the Adobe CFF engine darkens stems at smaller sizes, regardless of hinting, to enhance contrast. This feature requires a rendering system with proper gamma correction. Setting this property, stem darkening gets switched off.</p>
-<p>Note that stem darkening is never applied if <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> is set.</p>
-<pre class="colored">
- FT_Library library;
- FT_Bool no_stem_darkening = TRUE;
-
-
- FT_Init_FreeType( &amp;library );
-
- FT_Property_Set( library, "cff",
- "no-stem-darkening", &amp;no_stem_darkening );
-</pre>
-
-<h4>note</h4>
-<p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
-<p>This property can be set via the &lsquo;FREETYPE_PROPERTIES&rsquo; environment variable (using values 1 and 0 for &lsquo;on&rsquo; and &lsquo;off&rsquo;, respectively). It can also be set per face using <a href="ft2-base_interface.html#FT_Face_Properties">FT_Face_Properties</a> with <a href="ft2-auto_hinter.html#FT_PARAM_TAG_STEM_DARKENING">FT_PARAM_TAG_STEM_DARKENING</a>.</p>
-
-<hr>
-<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
-
-<div class="section">
-<h3 id="darkening-parameters(cff)">darkening-parameters</h3>
-
-<p>By default, the Adobe CFF engine darkens stems as follows (if the &lsquo;no-stem-darkening&rsquo; property isn't set):</p>
-<pre class="colored">
- stem width &lt;= 0.5px: darkening amount = 0.4px
- stem width = 1px: darkening amount = 0.275px
- stem width = 1.667px: darkening amount = 0.275px
- stem width &gt;= 2.333px: darkening amount = 0px
-</pre>
-<p>and piecewise linear in-between. At configuration time, these four control points can be set with the macro &lsquo;CFF_CONFIG_OPTION_DARKENING_PARAMETERS&rsquo;. At runtime, the control points can be changed using the &lsquo;darkening-parameters&rsquo; property, as the following example demonstrates.</p>
-<pre class="colored">
- FT_Library library;
- FT_Int darken_params[8] = { 500, 300, // x1, y1
- 1000, 200, // x2, y2
- 1500, 100, // x3, y3
- 2000, 0 }; // x4, y4
-
-
- FT_Init_FreeType( &amp;library );
-
- FT_Property_Set( library, "cff",
- "darkening-parameters", darken_params );
-</pre>
-<p>The x&nbsp;values give the stem width, and the y&nbsp;values the darkening amount. The unit is 1000th of pixels. All coordinate values must be positive; the x&nbsp;values must be monotonically increasing; the y&nbsp;values must be monotonically decreasing and smaller than or equal to 500 (corresponding to half a pixel); the slope of each linear piece must be shallower than -1 (e.g., -.4).</p>
-
-<h4>note</h4>
-<p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p>
-<p>This property can be set via the &lsquo;FREETYPE_PROPERTIES&rsquo; environment variable, using eight comma-separated integers without spaces. Here the above example, using &lsquo;\&rsquo; to break the line for readability.</p>
-<pre class="colored">
- FREETYPE_PROPERTIES=\
- cff:darkening-parameters=500,300,1000,200,1500,100,2000,0
-</pre>
-
-<hr>
-<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
-
-<div class="section">
-<h3 id="random-seed">random-seed</h3>
-
-<p>By default, the seed value for the CFF &lsquo;random&rsquo; operator is set to a random value. However, mainly for debugging purposes, it is often necessary to use a known value as a seed so that the pseudo-random number sequences generated by &lsquo;random&rsquo; are repeatable.</p>
-<p>The &lsquo;random-seed&rsquo; property does that. Its argument is a signed 32bit integer; if the value is zero or negative, the seed given by the &lsquo;intitialRandomSeed&rsquo; 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 &lsquo;initialRandomSeed&rsquo;, which is consequently ignored.</p>
-
-<h4>note</h4>
-<p>This property can be set via the &lsquo;FREETYPE_PROPERTIES&rsquo; environment variable. It can also be set per face using <a href="ft2-base_interface.html#FT_Face_Properties">FT_Face_Properties</a> with <a href="ft2-cff_driver.html#FT_PARAM_TAG_RANDOM_SEED">FT_PARAM_TAG_RANDOM_SEED</a>.</p>
-
-<hr>
-<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
-
-<div class="section">
-<h3 id="FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</h3>
-<p>Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h).</p>
-<pre>
-#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_FREETYPE">FT_CFF_HINTING_FREETYPE</a> 0
-#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_ADOBE">FT_CFF_HINTING_ADOBE</a> 1
-</pre>
-
-<p>A list of constants used for the <a href="ft2-cff_driver.html#hinting-engine(cff)">hinting-engine</a> property to select the hinting engine for CFF fonts.</p>
-
-<h4>values</h4>
-<table class="fields">
-<tr><td class="val" id="FT_CFF_HINTING_FREETYPE">FT_CFF_HINTING_FREETYPE</td><td class="desc">
-<p>Use the old FreeType hinting engine.</p>
-</td></tr>
-<tr><td class="val" id="FT_CFF_HINTING_ADOBE">FT_CFF_HINTING_ADOBE</td><td class="desc">
-<p>Use the hinting engine contributed by Adobe.</p>
-</td></tr>
-</table>
-
-<hr>
-<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
-
-<div class="section">
-<h3 id="FT_PARAM_TAG_RANDOM_SEED">FT_PARAM_TAG_RANDOM_SEED</h3>
-<p>Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h).</p>
-<pre>
-#define <b>FT_PARAM_TAG_RANDOM_SEED</b> \
- <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 's', 'e', 'e', 'd' )
-</pre>
-
-<p>An <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> tag to be used with <a href="ft2-base_interface.html#FT_Face_Properties">FT_Face_Properties</a>. The corresponding 32bit signed integer argument overrides the CFF module's random seed value with a face-specific one; see <a href="ft2-cff_driver.html#random-seed">random-seed</a>.</p>
-
-<hr>
-<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div>
-
</body>
</html>