1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>hb-ot-math: HarfBuzz Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
7 <link rel="home" href="index.html" title="HarfBuzz Manual">
8 <link rel="up" href="ch12.html" title="OpenType API">
9 <link rel="prev" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">
10 <link rel="next" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">
11 <meta name="generator" content="GTK-Doc V1.29 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
18 <a href="#harfbuzz-hb-ot-math.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
19 <a href="#harfbuzz-hb-ot-math.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22 <td><a accesskey="u" href="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="harfbuzz-hb-ot-layout.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="harfbuzz-hb-ot-name.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26 <div class="refentry">
27 <a name="harfbuzz-hb-ot-math"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
30 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-math.top_of_page"></a>hb-ot-math</span></h2>
31 <p>hb-ot-math — OpenType Math information</p>
33 <td class="gallery_image" valign="top" align="right"></td>
35 <div class="refsect1">
36 <a name="harfbuzz-hb-ot-math.functions"></a><h2>Functions</h2>
37 <div class="informaltable"><table class="informaltable" width="100%" border="0">
39 <col width="150px" class="functions_return">
40 <col class="functions_name">
44 <td class="function_type">
45 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
47 <td class="function_name">
48 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-has-data" title="hb_ot_math_has_data ()">hb_ot_math_has_data</a> <span class="c_punctuation">()</span>
52 <td class="function_type">
53 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
55 <td class="function_name">
56 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-constant" title="hb_ot_math_get_constant ()">hb_ot_math_get_constant</a> <span class="c_punctuation">()</span>
60 <td class="function_type">
61 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
63 <td class="function_name">
64 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-italics-correction" title="hb_ot_math_get_glyph_italics_correction ()">hb_ot_math_get_glyph_italics_correction</a> <span class="c_punctuation">()</span>
68 <td class="function_type">
69 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
71 <td class="function_name">
72 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-top-accent-attachment" title="hb_ot_math_get_glyph_top_accent_attachment ()">hb_ot_math_get_glyph_top_accent_attachment</a> <span class="c_punctuation">()</span>
76 <td class="function_type">
77 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
79 <td class="function_name">
80 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-kerning" title="hb_ot_math_get_glyph_kerning ()">hb_ot_math_get_glyph_kerning</a> <span class="c_punctuation">()</span>
84 <td class="function_type">
85 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
87 <td class="function_name">
88 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-is-glyph-extended-shape" title="hb_ot_math_is_glyph_extended_shape ()">hb_ot_math_is_glyph_extended_shape</a> <span class="c_punctuation">()</span>
92 <td class="function_type">unsigned <span class="returnvalue">int</span>
94 <td class="function_name">
95 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-variants" title="hb_ot_math_get_glyph_variants ()">hb_ot_math_get_glyph_variants</a> <span class="c_punctuation">()</span>
99 <td class="function_type">
100 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
102 <td class="function_name">
103 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-min-connector-overlap" title="hb_ot_math_get_min_connector_overlap ()">hb_ot_math_get_min_connector_overlap</a> <span class="c_punctuation">()</span>
107 <td class="function_type">unsigned <span class="returnvalue">int</span>
109 <td class="function_name">
110 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-get-glyph-assembly" title="hb_ot_math_get_glyph_assembly ()">hb_ot_math_get_glyph_assembly</a> <span class="c_punctuation">()</span>
116 <a name="hb-ot-math-glyph-variant-t"></a><a name="hb-ot-math-glyph-part-t"></a><div class="refsect1">
117 <a name="harfbuzz-hb-ot-math.other"></a><h2>Types and Values</h2>
118 <div class="informaltable"><table class="informaltable" width="100%" border="0">
120 <col width="150px" class="name">
121 <col class="description">
125 <td class="define_keyword">#define</td>
126 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-TAG-MATH:CAPS" title="HB_OT_TAG_MATH">HB_OT_TAG_MATH</a></td>
129 <td class="define_keyword">#define</td>
130 <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>
133 <td class="datatype_keyword">enum</td>
134 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" title="enum hb_ot_math_constant_t">hb_ot_math_constant_t</a></td>
137 <td class="datatype_keyword">enum</td>
138 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t">hb_ot_math_kern_t</a></td>
141 <td class="datatype_keyword"> </td>
142 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a></td>
145 <td class="datatype_keyword">enum</td>
146 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" title="enum hb_ot_math_glyph_part_flags_t">hb_ot_math_glyph_part_flags_t</a></td>
149 <td class="datatype_keyword"> </td>
150 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a></td>
155 <div class="refsect1">
156 <a name="harfbuzz-hb-ot-math.object-hierarchy"></a><h2>Object Hierarchy</h2>
157 <pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
158 <span class="lineart">├──</span> hb_ot_math_glyph_part_t
159 <span class="lineart">╰──</span> hb_ot_math_glyph_variant_t
160 <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
161 <span class="lineart">├──</span> hb_ot_math_constant_t
162 <span class="lineart">╰──</span> hb_ot_math_kern_t
163 <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
164 <span class="lineart">╰──</span> hb_ot_math_glyph_part_flags_t
167 <div class="refsect1">
168 <a name="harfbuzz-hb-ot-math.includes"></a><h2>Includes</h2>
169 <pre class="synopsis">#include <hb-ot.h>
172 <div class="refsect1">
173 <a name="harfbuzz-hb-ot-math.description"></a><h2>Description</h2>
174 <p>Functions for fetching mathematics layout data from OpenType fonts.</p>
175 <p>HarfBuzz itself does not implement a math layout solution. The
176 functions and types provided can be used by client programs to access
177 the font data necessary for typesetting OpenType Math layout.</p>
179 <div class="refsect1">
180 <a name="harfbuzz-hb-ot-math.functions_details"></a><h2>Functions</h2>
181 <div class="refsect2">
182 <a name="hb-ot-math-has-data"></a><h3>hb_ot_math_has_data ()</h3>
183 <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>
184 hb_ot_math_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
185 <p>Tests whether a face has a <code class="literal">MATH</code> table.</p>
186 <div class="refsect3">
187 <a name="hb-ot-math-has-data.parameters"></a><h4>Parameters</h4>
188 <div class="informaltable"><table class="informaltable" width="100%" border="0">
190 <col width="150px" class="parameters_name">
191 <col class="parameters_description">
192 <col width="200px" class="parameters_annotations">
195 <td class="parameter_name"><p>face</p></td>
196 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to test</p></td>
197 <td class="parameter_annotations"> </td>
201 <div class="refsect3">
202 <a name="hb-ot-math-has-data.returns"></a><h4>Returns</h4>
203 <p> true if the table is found, false otherwise</p>
205 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
208 <div class="refsect2">
209 <a name="hb-ot-math-get-constant"></a><h3>hb_ot_math_get_constant ()</h3>
210 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
211 hb_ot_math_get_constant (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
212 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" title="enum hb_ot_math_constant_t"><span class="type">hb_ot_math_constant_t</span></a> constant</code></em>);</pre>
213 <p>Fetches the specified math constant. For most constants, the value returned
214 is an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a>.</p>
215 <p>However, if the requested constant is <a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-CONSTANT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"><span class="type">HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</span></a>,
216 <a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-CONSTANT-SCRIPT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"><span class="type">HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN</span></a> or
217 <a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-CONSTANT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"><span class="type">HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</span></a>, then the return value is
218 an integer between 0 and 100 representing that percentage.</p>
219 <div class="refsect3">
220 <a name="hb-ot-math-get-constant.parameters"></a><h4>Parameters</h4>
221 <div class="informaltable"><table class="informaltable" width="100%" border="0">
223 <col width="150px" class="parameters_name">
224 <col class="parameters_description">
225 <col width="200px" class="parameters_annotations">
229 <td class="parameter_name"><p>font</p></td>
230 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
231 <td class="parameter_annotations"> </td>
234 <td class="parameter_name"><p>constant</p></td>
235 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" title="enum hb_ot_math_constant_t"><span class="type">hb_ot_math_constant_t</span></a> the constant to retrieve</p></td>
236 <td class="parameter_annotations"> </td>
241 <div class="refsect3">
242 <a name="hb-ot-math-get-constant.returns"></a><h4>Returns</h4>
243 <p> the requested constant or zero</p>
245 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
248 <div class="refsect2">
249 <a name="hb-ot-math-get-glyph-italics-correction"></a><h3>hb_ot_math_get_glyph_italics_correction ()</h3>
250 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
251 hb_ot_math_get_glyph_italics_correction
252 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
253 <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>);</pre>
254 <p>Fetches an italics-correction value (if one exists) for the specified
256 <div class="refsect3">
257 <a name="hb-ot-math-get-glyph-italics-correction.parameters"></a><h4>Parameters</h4>
258 <div class="informaltable"><table class="informaltable" width="100%" border="0">
260 <col width="150px" class="parameters_name">
261 <col class="parameters_description">
262 <col width="200px" class="parameters_annotations">
266 <td class="parameter_name"><p>font</p></td>
267 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
268 <td class="parameter_annotations"> </td>
271 <td class="parameter_name"><p>glyph</p></td>
272 <td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td>
273 <td class="parameter_annotations"> </td>
278 <div class="refsect3">
279 <a name="hb-ot-math-get-glyph-italics-correction.returns"></a><h4>Returns</h4>
280 <p> the italics correction of the glyph or zero</p>
282 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
285 <div class="refsect2">
286 <a name="hb-ot-math-get-glyph-top-accent-attachment"></a><h3>hb_ot_math_get_glyph_top_accent_attachment ()</h3>
287 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
288 hb_ot_math_get_glyph_top_accent_attachment
289 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
290 <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>);</pre>
291 <p>Fetches a top-accent-attachment value (if one exists) for the specified
293 <p>For any glyph that does not have a top-accent-attachment value - that is,
294 a glyph not covered by the <code class="literal">MathTopAccentAttachment</code> table (or, when
295 <em class="parameter"><code>font</code></em>
296 has no <code class="literal">MathTopAccentAttachment</code> table or no <code class="literal">MATH</code> table, any
297 glyph) - the function synthesizes a value, returning the position at
298 one-half the glyph's advance width.</p>
299 <div class="refsect3">
300 <a name="hb-ot-math-get-glyph-top-accent-attachment.parameters"></a><h4>Parameters</h4>
301 <div class="informaltable"><table class="informaltable" width="100%" border="0">
303 <col width="150px" class="parameters_name">
304 <col class="parameters_description">
305 <col width="200px" class="parameters_annotations">
309 <td class="parameter_name"><p>font</p></td>
310 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
311 <td class="parameter_annotations"> </td>
314 <td class="parameter_name"><p>glyph</p></td>
315 <td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td>
316 <td class="parameter_annotations"> </td>
321 <div class="refsect3">
322 <a name="hb-ot-math-get-glyph-top-accent-attachment.returns"></a><h4>Returns</h4>
323 <p> the top accent attachment of the glyph or 0.5 * the advance
324 width of <em class="parameter"><code>glyph</code></em>
327 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
330 <div class="refsect2">
331 <a name="hb-ot-math-get-glyph-kerning"></a><h3>hb_ot_math_get_glyph_kerning ()</h3>
332 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
333 hb_ot_math_get_glyph_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
334 <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>,
335 <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>,
336 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> correction_height</code></em>);</pre>
337 <p>Fetches the math kerning (cut-ins) value for the specified font, glyph index, and
338 <em class="parameter"><code>kern</code></em>
340 <p>If the MathKern table is found, the function examines it to find a height
341 value that is greater or equal to <em class="parameter"><code>correction_height</code></em>
343 value is found, corresponding kerning value from the table is returned. If
344 no such height value is found, the last kerning value is returned.</p>
345 <div class="refsect3">
346 <a name="hb-ot-math-get-glyph-kerning.parameters"></a><h4>Parameters</h4>
347 <div class="informaltable"><table class="informaltable" width="100%" border="0">
349 <col width="150px" class="parameters_name">
350 <col class="parameters_description">
351 <col width="200px" class="parameters_annotations">
355 <td class="parameter_name"><p>font</p></td>
356 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
357 <td class="parameter_annotations"> </td>
360 <td class="parameter_name"><p>glyph</p></td>
361 <td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td>
362 <td class="parameter_annotations"> </td>
365 <td class="parameter_name"><p>kern</p></td>
366 <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 value</p></td>
367 <td class="parameter_annotations"> </td>
370 <td class="parameter_name"><p>correction_height</p></td>
371 <td class="parameter_description"><p>the correction height to use to determine the kerning.</p></td>
372 <td class="parameter_annotations"> </td>
377 <div class="refsect3">
378 <a name="hb-ot-math-get-glyph-kerning.returns"></a><h4>Returns</h4>
379 <p> requested kerning value or zero</p>
381 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
384 <div class="refsect2">
385 <a name="hb-ot-math-is-glyph-extended-shape"></a><h3>hb_ot_math_is_glyph_extended_shape ()</h3>
386 <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>
387 hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
388 <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>);</pre>
389 <p>Tests whether the given glyph index is an extended shape in the face.</p>
390 <div class="refsect3">
391 <a name="hb-ot-math-is-glyph-extended-shape.parameters"></a><h4>Parameters</h4>
392 <div class="informaltable"><table class="informaltable" width="100%" border="0">
394 <col width="150px" class="parameters_name">
395 <col class="parameters_description">
396 <col width="200px" class="parameters_annotations">
400 <td class="parameter_name"><p>face</p></td>
401 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td>
402 <td class="parameter_annotations"> </td>
405 <td class="parameter_name"><p>glyph</p></td>
406 <td class="parameter_description"><p>The glyph index to test</p></td>
407 <td class="parameter_annotations"> </td>
412 <div class="refsect3">
413 <a name="hb-ot-math-is-glyph-extended-shape.returns"></a><h4>Returns</h4>
414 <p> true if the glyph is an extended shape, false otherwise</p>
416 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
419 <div class="refsect2">
420 <a name="hb-ot-math-get-glyph-variants"></a><h3>hb_ot_math_get_glyph_variants ()</h3>
421 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
422 hb_ot_math_get_glyph_variants (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
423 <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>,
424 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
425 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
426 <em class="parameter"><code>unsigned <span class="type">int</span> *variants_count</code></em>,
427 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t"><span class="type">hb_ot_math_glyph_variant_t</span></a> *variants</code></em>);</pre>
428 <p>Fetches the MathGlyphConstruction for the specified font, glyph index, and
429 direction. The corresponding list of size variants is returned as a list of
430 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t"><span class="type">hb_ot_math_glyph_variant_t</span></a> structs.</p>
431 <div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal
432 or vertical directions for the construction. Even though all <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a>
433 values are accepted, only the result of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is
435 <div class="refsect3">
436 <a name="hb-ot-math-get-glyph-variants.parameters"></a><h4>Parameters</h4>
437 <div class="informaltable"><table class="informaltable" width="100%" border="0">
439 <col width="150px" class="parameters_name">
440 <col class="parameters_description">
441 <col width="200px" class="parameters_annotations">
445 <td class="parameter_name"><p>font</p></td>
446 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
447 <td class="parameter_annotations"> </td>
450 <td class="parameter_name"><p>glyph</p></td>
451 <td class="parameter_description"><p>The index of the glyph to stretch</p></td>
452 <td class="parameter_annotations"> </td>
455 <td class="parameter_name"><p>direction</p></td>
456 <td class="parameter_description"><p>The direction of the stretching (horizontal or vertical)</p></td>
457 <td class="parameter_annotations"> </td>
460 <td class="parameter_name"><p>start_offset</p></td>
461 <td class="parameter_description"><p>offset of the first variant to retrieve</p></td>
462 <td class="parameter_annotations"> </td>
465 <td class="parameter_name"><p>variants_count</p></td>
466 <td class="parameter_description"><p>Input = the maximum number of variants to return;
467 Output = the actual number of variants returned. </p></td>
468 <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>]</span></td>
471 <td class="parameter_name"><p>variants</p></td>
472 <td class="parameter_description"><p>array of variants returned. </p></td>
473 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=variants_count]</span></td>
478 <div class="refsect3">
479 <a name="hb-ot-math-get-glyph-variants.returns"></a><h4>Returns</h4>
480 <p> the total number of size variants available or zero</p>
482 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
485 <div class="refsect2">
486 <a name="hb-ot-math-get-min-connector-overlap"></a><h3>hb_ot_math_get_min_connector_overlap ()</h3>
487 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
488 hb_ot_math_get_min_connector_overlap (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
489 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>);</pre>
490 <p>Fetches the MathVariants table for the specified font and returns the
491 minimum overlap of connecting glyphs that are required to draw a glyph
492 assembly in the specified direction.</p>
493 <div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal
494 or vertical directions for the construction. Even though all <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a>
495 values are accepted, only the result of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is
497 <div class="refsect3">
498 <a name="hb-ot-math-get-min-connector-overlap.parameters"></a><h4>Parameters</h4>
499 <div class="informaltable"><table class="informaltable" width="100%" border="0">
501 <col width="150px" class="parameters_name">
502 <col class="parameters_description">
503 <col width="200px" class="parameters_annotations">
507 <td class="parameter_name"><p>font</p></td>
508 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
509 <td class="parameter_annotations"> </td>
512 <td class="parameter_name"><p>direction</p></td>
513 <td class="parameter_description"><p>direction of the stretching (horizontal or vertical)</p></td>
514 <td class="parameter_annotations"> </td>
519 <div class="refsect3">
520 <a name="hb-ot-math-get-min-connector-overlap.returns"></a><h4>Returns</h4>
521 <p> requested minimum connector overlap or zero</p>
523 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
526 <div class="refsect2">
527 <a name="hb-ot-math-get-glyph-assembly"></a><h3>hb_ot_math_get_glyph_assembly ()</h3>
528 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
529 hb_ot_math_get_glyph_assembly (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
530 <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>,
531 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>,
532 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
533 <em class="parameter"><code>unsigned <span class="type">int</span> *parts_count</code></em>,
534 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t"><span class="type">hb_ot_math_glyph_part_t</span></a> *parts</code></em>,
535 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *italics_correction</code></em>);</pre>
536 <p>Fetches the GlyphAssembly for the specified font, glyph index, and direction.
537 Returned are a list of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t"><span class="type">hb_ot_math_glyph_part_t</span></a> glyph parts that can be
538 used to draw the glyph and an italics-correction value (if one is defined
540 <div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal
541 or vertical directions for the construction. Even though all <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a>
542 values are accepted, only the result of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is
544 <div class="refsect3">
545 <a name="hb-ot-math-get-glyph-assembly.parameters"></a><h4>Parameters</h4>
546 <div class="informaltable"><table class="informaltable" width="100%" border="0">
548 <col width="150px" class="parameters_name">
549 <col class="parameters_description">
550 <col width="200px" class="parameters_annotations">
554 <td class="parameter_name"><p>font</p></td>
555 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td>
556 <td class="parameter_annotations"> </td>
559 <td class="parameter_name"><p>glyph</p></td>
560 <td class="parameter_description"><p>The index of the glyph to stretch</p></td>
561 <td class="parameter_annotations"> </td>
564 <td class="parameter_name"><p>direction</p></td>
565 <td class="parameter_description"><p>direction of the stretching (horizontal or vertical)</p></td>
566 <td class="parameter_annotations"> </td>
569 <td class="parameter_name"><p>start_offset</p></td>
570 <td class="parameter_description"><p>offset of the first glyph part to retrieve</p></td>
571 <td class="parameter_annotations"> </td>
574 <td class="parameter_name"><p>parts_count</p></td>
575 <td class="parameter_description"><p>Input = maximum number of glyph parts to return;
576 Output = actual number of parts returned. </p></td>
577 <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>]</span></td>
580 <td class="parameter_name"><p>parts</p></td>
581 <td class="parameter_description"><p>the glyph parts returned. </p></td>
582 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=parts_count]</span></td>
585 <td class="parameter_name"><p>italics_correction</p></td>
586 <td class="parameter_description"><p>italics correction of the glyph assembly. </p></td>
587 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
592 <div class="refsect3">
593 <a name="hb-ot-math-get-glyph-assembly.returns"></a><h4>Returns</h4>
594 <p> the total number of parts in the glyph assembly</p>
596 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
599 <div class="refsect1">
600 <a name="harfbuzz-hb-ot-math.other_details"></a><h2>Types and Values</h2>
601 <div class="refsect2">
602 <a name="HB-OT-TAG-MATH:CAPS"></a><h3>HB_OT_TAG_MATH</h3>
603 <pre class="programlisting">#define HB_OT_TAG_MATH HB_TAG('M','A','T','H')
607 <div class="refsect2">
608 <a name="HB-OT-MATH-SCRIPT:CAPS"></a><h3>HB_OT_MATH_SCRIPT</h3>
609 <pre class="programlisting">#define HB_OT_MATH_SCRIPT HB_TAG('m','a','t','h')
613 <div class="refsect2">
614 <a name="hb-ot-math-constant-t"></a><h3>enum hb_ot_math_constant_t</h3>
615 <p>The 'MATH' table constants specified at
616 https://docs.microsoft.com/en-us/typography/opentype/spec/math</p>
617 <div class="refsect3">
618 <a name="hb-ot-math-constant-t.members"></a><h4>Members</h4>
619 <div class="informaltable"><table class="informaltable" width="100%" border="0">
621 <col width="300px" class="enum_members_name">
622 <col class="enum_members_description">
623 <col width="200px" class="enum_members_annotations">
627 <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>
632 <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>
637 <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>
642 <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>
647 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-MATH-LEADING:CAPS"></a>HB_OT_MATH_CONSTANT_MATH_LEADING</p></td>
652 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-AXIS-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_AXIS_HEIGHT</p></td>
657 <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>
662 <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>
667 <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>
672 <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>
677 <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>
682 <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>
687 <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>
692 <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>
697 <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>
702 <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>
707 <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>
712 <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>
717 <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>
722 <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>
727 <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>
732 <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>
737 <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>
742 <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>
747 <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>
752 <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>
757 <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>
762 <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>
767 <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>
772 <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>
777 <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>
782 <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>
787 <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>
792 <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>
797 <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>
802 <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>
807 <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>
812 <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>
817 <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>
822 <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>
827 <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>
832 <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>
837 <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>
842 <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>
847 <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>
852 <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>
857 <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>
862 <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>
867 <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>
872 <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>
877 <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>
882 <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>
887 <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>
892 <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>
897 <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>
902 <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>
909 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
912 <div class="refsect2">
913 <a name="hb-ot-math-kern-t"></a><h3>enum hb_ot_math_kern_t</h3>
914 <p>The math kerning-table types defined for the four corners
916 <div class="refsect3">
917 <a name="hb-ot-math-kern-t.members"></a><h4>Members</h4>
918 <div class="informaltable"><table class="informaltable" width="100%" border="0">
920 <col width="300px" class="enum_members_name">
921 <col class="enum_members_description">
922 <col width="200px" class="enum_members_annotations">
926 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-TOP-RIGHT:CAPS"></a>HB_OT_MATH_KERN_TOP_RIGHT</p></td>
931 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-TOP-LEFT:CAPS"></a>HB_OT_MATH_KERN_TOP_LEFT</p></td>
936 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-BOTTOM-RIGHT:CAPS"></a>HB_OT_MATH_KERN_BOTTOM_RIGHT</p></td>
941 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-BOTTOM-LEFT:CAPS"></a>HB_OT_MATH_KERN_BOTTOM_LEFT</p></td>
948 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
951 <div class="refsect2">
952 <a name="hb-ot-math-glyph-variant-t-struct"></a><h3>hb_ot_math_glyph_variant_t</h3>
953 <pre class="programlisting">typedef struct {
954 hb_codepoint_t glyph;
955 hb_position_t advance;
956 } hb_ot_math_glyph_variant_t;
958 <p>Data type to hold math-variant information for a glyph.</p>
959 <div class="refsect3">
960 <a name="hb-ot-math-glyph-variant-t.members"></a><h4>Members</h4>
961 <div class="informaltable"><table class="informaltable" width="100%" border="0">
963 <col width="300px" class="struct_members_name">
964 <col class="struct_members_description">
965 <col width="200px" class="struct_members_annotations">
969 <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-variant-t-struct.glyph"></a>glyph</code></em>;</p></td>
970 <td class="struct_member_description"><p>The glyph index of the variant</p></td>
971 <td class="struct_member_annotations"> </td>
974 <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-glyph-variant-t-struct.advance"></a>advance</code></em>;</p></td>
975 <td class="struct_member_description"><p>The advance width of the variant</p></td>
976 <td class="struct_member_annotations"> </td>
981 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
984 <div class="refsect2">
985 <a name="hb-ot-math-glyph-part-flags-t"></a><h3>enum hb_ot_math_glyph_part_flags_t</h3>
986 <p>Flags for math glyph parts.</p>
987 <div class="refsect3">
988 <a name="hb-ot-math-glyph-part-flags-t.members"></a><h4>Members</h4>
989 <div class="informaltable"><table class="informaltable" width="100%" border="0">
991 <col width="300px" class="enum_members_name">
992 <col class="enum_members_description">
993 <col width="200px" class="enum_members_annotations">
996 <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>
1002 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
1005 <div class="refsect2">
1006 <a name="hb-ot-math-glyph-part-t-struct"></a><h3>hb_ot_math_glyph_part_t</h3>
1007 <pre class="programlisting">typedef struct {
1008 hb_codepoint_t glyph;
1009 hb_position_t start_connector_length;
1010 hb_position_t end_connector_length;
1011 hb_position_t full_advance;
1012 hb_ot_math_glyph_part_flags_t flags;
1013 } hb_ot_math_glyph_part_t;
1015 <p>Data type to hold information for a "part" component of a math-variant glyph.
1016 Large variants for stretchable math glyphs (such as parentheses) can be constructed
1017 on the fly from parts.</p>
1018 <div class="refsect3">
1019 <a name="hb-ot-math-glyph-part-t.members"></a><h4>Members</h4>
1020 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1022 <col width="300px" class="struct_members_name">
1023 <col class="struct_members_description">
1024 <col width="200px" class="struct_members_annotations">
1028 <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.glyph"></a>glyph</code></em>;</p></td>
1029 <td class="struct_member_description"><p>The glyph index of the variant part</p></td>
1030 <td class="struct_member_annotations"> </td>
1033 <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-glyph-part-t-struct.start-connector-length"></a>start_connector_length</code></em>;</p></td>
1034 <td class="struct_member_description"><p>The length of the connector on the starting side of the variant part</p></td>
1035 <td class="struct_member_annotations"> </td>
1038 <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-glyph-part-t-struct.end-connector-length"></a>end_connector_length</code></em>;</p></td>
1039 <td class="struct_member_description"><p>The length of the connector on the ending side of the variant part</p></td>
1040 <td class="struct_member_annotations"> </td>
1043 <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-glyph-part-t-struct.full-advance"></a>full_advance</code></em>;</p></td>
1044 <td class="struct_member_description"><p>The total advance of the part</p></td>
1045 <td class="struct_member_annotations"> </td>
1048 <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" title="enum hb_ot_math_glyph_part_flags_t"><span class="type">hb_ot_math_glyph_part_flags_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.flags"></a>flags</code></em>;</p></td>
1049 <td class="struct_member_description"><p><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" title="enum hb_ot_math_glyph_part_flags_t"><span class="type">hb_ot_math_glyph_part_flags_t</span></a> flags for the part</p></td>
1050 <td class="struct_member_annotations"> </td>
1055 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
1059 <div class="footer">
1060 <hr>Generated by GTK-Doc V1.29</div>