Imported Upstream version 3.4.0
[platform/upstream/harfbuzz.git] / docs / html / harfbuzz-hb-ot-math.html
index f6d4589..de3fabc 100644 (file)
@@ -3,12 +3,12 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>hb-ot-math: HarfBuzz Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="HarfBuzz Manual">
-<link rel="up" href="ch13.html" title="OpenType API">
+<link rel="up" href="opentype-api.html" title="OpenType API">
 <link rel="prev" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">
-<link rel="next" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">
-<meta name="generator" content="GTK-Doc V1.32.1 (XML mode)">
+<link rel="next" href="harfbuzz-hb-ot-meta.html" title="hb-ot-meta">
+<meta name="generator" content="GTK-Doc V1.32 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -18,9 +18,9 @@
                   <a href="#harfbuzz-hb-ot-math.description" class="shortcut">Description</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch13.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="u" href="opentype-api.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="harfbuzz-hb-ot-layout.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="harfbuzz-hb-ot-name.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="harfbuzz-hb-ot-meta.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="harfbuzz-hb-ot-math"></a><div class="titlepage"></div>
 </td>
 </tr>
 <tr>
+<td class="function_type">unsigned <span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-kernings" title="hb_ot_math_get_glyph_kernings ()">hb_ot_math_get_glyph_kernings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
 <td class="function_type">
 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
 </td>
 </tr>
 <tr>
 <td class="define_keyword">#define</td>
-<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-SCRIPT:CAPS" title="HB_OT_MATH_SCRIPT">HB_OT_MATH_SCRIPT</a></td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-TAG-MATH-SCRIPT:CAPS" title="HB_OT_TAG_MATH_SCRIPT">HB_OT_TAG_MATH_SCRIPT</a></td>
 </tr>
 <tr>
 <td class="datatype_keyword">enum</td>
 </tr>
 <tr>
 <td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-entry-t" title="hb_ot_math_kern_entry_t">hb_ot_math_kern_entry_t</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a></td>
 </tr>
 <tr>
@@ -187,7 +198,7 @@ hb_ot_math_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-
 </div>
 <div class="refsect3">
 <a name="hb-ot-math-has-data.returns"></a><h4>Returns</h4>
-<p> true if the table is found, false otherwise</p>
+<p> <code class="literal">true</code> if the table is found, <code class="literal">false</code> otherwise</p>
 </div>
 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
 </div>
@@ -369,6 +380,78 @@ no such height value is found, the last kerning value is returned.</p>
 </div>
 <hr>
 <div class="refsect2">
+<a name="hb-ot-math-get-glyph-kernings"></a><h3>hb_ot_math_get_glyph_kernings ()</h3>
+<pre class="programlisting">unsigned <span class="returnvalue">int</span>
+hb_ot_math_get_glyph_kernings (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
+                               <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>,
+                               <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a> kern</code></em>,
+                               <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
+                               <em class="parameter"><code>unsigned <span class="type">int</span> *entries_count</code></em>,
+                               <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-entry-t" title="hb_ot_math_kern_entry_t"><span class="type">hb_ot_math_kern_entry_t</span></a> *kern_entries</code></em>);</pre>
+<p>Fetches the raw MathKern (cut-in) data for the specified font, glyph index,
+and <em class="parameter"><code>kern</code></em>
+. The corresponding list of kern values and correction heights is
+returned as a list of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-entry-t" title="hb_ot_math_kern_entry_t"><span class="type">hb_ot_math_kern_entry_t</span></a> structs.</p>
+<p>See also <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-kerning" title="hb_ot_math_get_glyph_kerning ()"><span class="type">hb_ot_math_get_glyph_kerning</span></a>, which handles selecting the
+appropriate kern value for a given correction height.</p>
+<div class="note">For a glyph with <em class="parameter"><code>n</code></em> defined kern values (where <em class="parameter"><code>n</code></em> &gt; 0), there are only
+<em class="parameter"><code>n</code></em>−1 defined correction heights, as each correction height defines a boundary
+past which the next kern value should be selected. Therefore, only the
+<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-entry-t.kern-value"><span class="type">hb_ot_math_kern_entry_t.kern_value</span></a> of the uppermost <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-entry-t" title="hb_ot_math_kern_entry_t"><span class="type">hb_ot_math_kern_entry_t</span></a>
+actually comes from the font; its corresponding
+<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-entry-t.max-correction-height"><span class="type">hb_ot_math_kern_entry_t.max_correction_height</span></a> is always set to
+<code class="code">INT32_MAX</code>.</div>
+<div class="refsect3">
+<a name="hb-ot-math-get-glyph-kernings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>font</p></td>
+<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to work upon</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>glyph</p></td>
+<td class="parameter_description"><p>The glyph index from which to retrieve the kernings</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>kern</p></td>
+<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a> from which to retrieve the kernings</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>start_offset</p></td>
+<td class="parameter_description"><p>offset of the first kern entry to retrieve</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>entries_count</p></td>
+<td class="parameter_description"><p>Input = the maximum number of kern entries to return;
+Output = the actual number of kern entries returned. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>kern_entries</p></td>
+<td class="parameter_description"><p>array of kern entries returned. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=entries_count]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="hb-ot-math-get-glyph-kernings.returns"></a><h4>Returns</h4>
+<p> the total number of kern values available or zero</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-3-4-0.html#api-index-3.4.0">3.4.0</a></p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="hb-ot-math-is-glyph-extended-shape"></a><h3>hb_ot_math_is_glyph_extended_shape ()</h3>
 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
 hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>,
@@ -398,7 +481,7 @@ hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="hb-ot-math-is-glyph-extended-shape.returns"></a><h4>Returns</h4>
-<p> true if the glyph is an extended shape, false otherwise</p>
+<p> <code class="literal">true</code> if the glyph is an extended shape, <code class="literal">false</code> otherwise</p>
 </div>
 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
 </div>
@@ -589,18 +672,28 @@ Output = actual number of parts returned. </p></td>
 <a name="HB-OT-TAG-MATH:CAPS"></a><h3>HB_OT_TAG_MATH</h3>
 <pre class="programlisting">#define HB_OT_TAG_MATH HB_TAG('M','A','T','H')
 </pre>
+<p>OpenType <a class="ulink" href="https://docs.microsoft.com/en-us/typography/opentype/spec/math" target="_top">Mathematical Typesetting Table</a>.</p>
+<p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
 </div>
 <hr>
 <div class="refsect2">
-<a name="HB-OT-MATH-SCRIPT:CAPS"></a><h3>HB_OT_MATH_SCRIPT</h3>
-<pre class="programlisting">#define HB_OT_MATH_SCRIPT HB_TAG('m','a','t','h')
+<a name="HB-OT-TAG-MATH-SCRIPT:CAPS"></a><h3>HB_OT_TAG_MATH_SCRIPT</h3>
+<pre class="programlisting">#define HB_OT_TAG_MATH_SCRIPT HB_TAG('m','a','t','h')
 </pre>
+<p>OpenType script tag, <code class="literal">math</code>, for features specific to math shaping.</p>
+<div class="note">
+<a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-TAG-MATH-SCRIPT:CAPS" title="HB_OT_TAG_MATH_SCRIPT"><span class="type">HB_OT_TAG_MATH_SCRIPT</span></a> is not a valid <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> and should only be
+used with functions that accept raw OpenType script tags, such as
+<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-collect-features" title="hb_ot_layout_collect_features ()"><span class="type">hb_ot_layout_collect_features</span></a>. In other cases, <a class="link" href="harfbuzz-hb-common.html#HB-SCRIPT-MATH:CAPS"><span class="type">HB_SCRIPT_MATH</span></a> should be
+used instead.</div>
+<p class="since">Since: <a class="link" href="api-index-3-4-0.html#api-index-3.4.0">3.4.0</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="hb-ot-math-constant-t"></a><h3>enum hb_ot_math_constant_t</h3>
-<p>The 'MATH' table constants specified at
-https://docs.microsoft.com/en-us/typography/opentype/spec/math</p>
+<p>The 'MATH' table constants, refer to
+<a class="ulink" href="https://docs.microsoft.com/en-us/typography/opentype/spec/math#mathconstants-table" target="_top">OpenType documentation</a>
+For more explanations.</p>
 <div class="refsect3">
 <a name="hb-ot-math-constant-t.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -612,283 +705,395 @@ https://docs.microsoft.com/en-us/typography/opentype/spec/math</p>
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>scriptPercentScaleDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SCRIPT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>scriptScriptPercentScaleDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-DELIMITED-SUB-FORMULA-MIN-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>delimitedSubFormulaMinHeight</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-DISPLAY-OPERATOR-MIN-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>displayOperatorMinHeight</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-MATH-LEADING:CAPS"></a>HB_OT_MATH_CONSTANT_MATH_LEADING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>mathLeading</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-AXIS-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_AXIS_HEIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>axisHeight</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-ACCENT-BASE-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>accentBaseHeight</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FLATTENED-ACCENT-BASE-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>flattenedAccentBaseHeight</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUBSCRIPT-SHIFT-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>subscriptShiftDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUBSCRIPT-TOP-MAX:CAPS"></a>HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>subscriptTopMax</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUBSCRIPT-BASELINE-DROP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>subscriptBaselineDropMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUPERSCRIPT-SHIFT-UP:CAPS"></a>HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>superscriptShiftUp</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUPERSCRIPT-SHIFT-UP-CRAMPED:CAPS"></a>HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>superscriptShiftUpCramped</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUPERSCRIPT-BOTTOM-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>superscriptBottomMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUPERSCRIPT-BASELINE-DROP-MAX:CAPS"></a>HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>superscriptBaselineDropMax</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUB-SUPERSCRIPT-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>subSuperscriptGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SUPERSCRIPT-BOTTOM-MAX-WITH-SUBSCRIPT:CAPS"></a>HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>superscriptBottomMaxWithSubscript</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SPACE-AFTER-SCRIPT:CAPS"></a>HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>spaceAfterScript</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-UPPER-LIMIT-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>upperLimitGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-UPPER-LIMIT-BASELINE-RISE-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>upperLimitBaselineRiseMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-LOWER-LIMIT-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>lowerLimitGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-LOWER-LIMIT-BASELINE-DROP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>lowerLimitBaselineDropMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STACK-TOP-SHIFT-UP:CAPS"></a>HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stackTopShiftUp</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STACK-TOP-DISPLAY-STYLE-SHIFT-UP:CAPS"></a>HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stackTopDisplayStyleShiftUp</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STACK-BOTTOM-SHIFT-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stackBottomShiftDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STACK-BOTTOM-DISPLAY-STYLE-SHIFT-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stackBottomDisplayStyleShiftDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STACK-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_STACK_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stackGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STACK-DISPLAY-STYLE-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stackDisplayStyleGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STRETCH-STACK-TOP-SHIFT-UP:CAPS"></a>HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stretchStackTopShiftUp</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STRETCH-STACK-BOTTOM-SHIFT-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stretchStackBottomShiftDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STRETCH-STACK-GAP-ABOVE-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stretchStackGapAboveMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-STRETCH-STACK-GAP-BELOW-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stretchStackGapBelowMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-NUMERATOR-SHIFT-UP:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionNumeratorShiftUp</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-NUMERATOR-DISPLAY-STYLE-SHIFT-UP:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionNumeratorDisplayStyleShiftUp</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-DENOMINATOR-SHIFT-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionDenominatorShiftDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-DENOMINATOR-DISPLAY-STYLE-SHIFT-DOWN:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionDenominatorDisplayStyleShiftDown</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-NUMERATOR-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionNumeratorGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-NUM-DISPLAY-STYLE-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionNumDisplayStyleGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-RULE-THICKNESS:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionRuleThickness</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-DENOMINATOR-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionDenominatorGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-FRACTION-DENOM-DISPLAY-STYLE-GAP-MIN:CAPS"></a>HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>fractionDenomDisplayStyleGapMin</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SKEWED-FRACTION-HORIZONTAL-GAP:CAPS"></a>HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>skewedFractionHorizontalGap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-SKEWED-FRACTION-VERTICAL-GAP:CAPS"></a>HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>skewedFractionVerticalGap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-OVERBAR-VERTICAL-GAP:CAPS"></a>HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>overbarVerticalGap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-OVERBAR-RULE-THICKNESS:CAPS"></a>HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>overbarRuleThickness</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-OVERBAR-EXTRA-ASCENDER:CAPS"></a>HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>overbarExtraAscender</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-UNDERBAR-VERTICAL-GAP:CAPS"></a>HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>underbarVerticalGap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-UNDERBAR-RULE-THICKNESS:CAPS"></a>HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>underbarRuleThickness</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-UNDERBAR-EXTRA-DESCENDER:CAPS"></a>HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>underbarExtraDescender</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-VERTICAL-GAP:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalVerticalGap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-DISPLAY-STYLE-VERTICAL-GAP:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalDisplayStyleVerticalGap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-RULE-THICKNESS:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalRuleThickness</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-EXTRA-ASCENDER:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalExtraAscender</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-KERN-BEFORE-DEGREE:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalKernBeforeDegree</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-KERN-AFTER-DEGREE:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalKernAfterDegree</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-RADICAL-DEGREE-BOTTOM-RAISE-PERCENT:CAPS"></a>HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>radicalDegreeBottomRaisePercent</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -911,23 +1116,31 @@ of a glyph.</p>
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-TOP-RIGHT:CAPS"></a>HB_OT_MATH_KERN_TOP_RIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The top right corner of the glyph.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-TOP-LEFT:CAPS"></a>HB_OT_MATH_KERN_TOP_LEFT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The top left corner of the glyph.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-BOTTOM-RIGHT:CAPS"></a>HB_OT_MATH_KERN_BOTTOM_RIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The bottom right corner of the glyph.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-BOTTOM-LEFT:CAPS"></a>HB_OT_MATH_KERN_BOTTOM_LEFT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The bottom left corner of the glyph.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -936,6 +1149,39 @@ of a glyph.</p>
 </div>
 <hr>
 <div class="refsect2">
+<a name="hb-ot-math-kern-entry-t"></a><h3>hb_ot_math_kern_entry_t</h3>
+<pre class="programlisting">typedef struct {
+  hb_position_t max_correction_height;
+  hb_position_t kern_value;
+} hb_ot_math_kern_entry_t;
+</pre>
+<p>Data type to hold math kerning (cut-in) information for a glyph.</p>
+<div class="refsect3">
+<a name="hb-ot-math-kern-entry-t.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-ot-math-kern-entry-t.max-correction-height"></a>max_correction_height</code></em>;</p></td>
+<td class="struct_member_description"><p>The maximum height at which this entry should be used</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-ot-math-kern-entry-t.kern-value"></a>kern_value</code></em>;</p></td>
+<td class="struct_member_description"><p>The kern value of the entry</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: <a class="link" href="api-index-3-4-0.html#api-index-3.4.0">3.4.0</a></p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="hb-ot-math-glyph-variant-t"></a><h3>hb_ot_math_glyph_variant_t</h3>
 <pre class="programlisting">typedef struct {
   hb_codepoint_t glyph;
@@ -981,8 +1227,11 @@ of a glyph.</p>
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="HB-OT-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS"></a>HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>This is an extender glyph part that
+can be repeated to reach the desired length.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -1044,6 +1293,6 @@ on the fly from parts.</p>
 </div>
 </div>
 <div class="footer">
-<hr>Generated by GTK-Doc V1.32.1</div>
+<hr>Generated by GTK-Doc V1.32</div>
 </body>
 </html>
\ No newline at end of file