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="ch13.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.32.1 (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>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="ch13.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="harfbuzz-hb-ot-layout.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="harfbuzz-hb-ot-name.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25 <div class="refentry">
26 <a name="harfbuzz-hb-ot-math"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
29 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-math.top_of_page"></a>hb-ot-math</span></h2>
30 <p>hb-ot-math — OpenType Math information</p>
32 <td class="gallery_image" valign="top" align="right"></td>
34 <div class="refsect1">
35 <a name="harfbuzz-hb-ot-math.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
38 <col width="150px" class="functions_proto_type">
39 <col class="functions_proto_name">
43 <td class="function_type">
44 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
46 <td class="function_name">
47 <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>
51 <td class="function_type">
52 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
54 <td class="function_name">
55 <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>
59 <td class="function_type">
60 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
62 <td class="function_name">
63 <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>
67 <td class="function_type">
68 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
70 <td class="function_name">
71 <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>
75 <td class="function_type">
76 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
78 <td class="function_name">
79 <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>
83 <td class="function_type">
84 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
86 <td class="function_name">
87 <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>
91 <td class="function_type">unsigned <span class="returnvalue">int</span>
93 <td class="function_name">
94 <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>
98 <td class="function_type">
99 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
101 <td class="function_name">
102 <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>
106 <td class="function_type">unsigned <span class="returnvalue">int</span>
108 <td class="function_name">
109 <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>
115 <div class="refsect1">
116 <a name="harfbuzz-hb-ot-math.other"></a><h2>Types and Values</h2>
117 <div class="informaltable"><table class="informaltable" width="100%" border="0">
119 <col width="150px" class="other_proto_type">
120 <col class="other_proto_name">
124 <td class="define_keyword">#define</td>
125 <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>
128 <td class="define_keyword">#define</td>
129 <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>
132 <td class="datatype_keyword">enum</td>
133 <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>
136 <td class="datatype_keyword">enum</td>
137 <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>
140 <td class="datatype_keyword"> </td>
141 <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>
144 <td class="datatype_keyword">enum</td>
145 <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>
148 <td class="datatype_keyword"> </td>
149 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a></td>
154 <div class="refsect1">
155 <a name="harfbuzz-hb-ot-math.includes"></a><h2>Includes</h2>
156 <pre class="synopsis">#include <hb-ot.h>
159 <div class="refsect1">
160 <a name="harfbuzz-hb-ot-math.description"></a><h2>Description</h2>
161 <p>Functions for fetching mathematics layout data from OpenType fonts.</p>
162 <p>HarfBuzz itself does not implement a math layout solution. The
163 functions and types provided can be used by client programs to access
164 the font data necessary for typesetting OpenType Math layout.</p>
166 <div class="refsect1">
167 <a name="harfbuzz-hb-ot-math.functions_details"></a><h2>Functions</h2>
168 <div class="refsect2">
169 <a name="hb-ot-math-has-data"></a><h3>hb_ot_math_has_data ()</h3>
170 <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>
171 hb_ot_math_has_data (<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>);</pre>
172 <p>Tests whether a face has a <code class="literal">MATH</code> table.</p>
173 <div class="refsect3">
174 <a name="hb-ot-math-has-data.parameters"></a><h4>Parameters</h4>
175 <div class="informaltable"><table class="informaltable" width="100%" border="0">
177 <col width="150px" class="parameters_name">
178 <col class="parameters_description">
179 <col width="200px" class="parameters_annotations">
182 <td class="parameter_name"><p>face</p></td>
183 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to test</p></td>
184 <td class="parameter_annotations"> </td>
188 <div class="refsect3">
189 <a name="hb-ot-math-has-data.returns"></a><h4>Returns</h4>
190 <p> true if the table is found, false otherwise</p>
192 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
195 <div class="refsect2">
196 <a name="hb-ot-math-get-constant"></a><h3>hb_ot_math_get_constant ()</h3>
197 <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>
198 hb_ot_math_get_constant (<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>,
199 <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>
200 <p>Fetches the specified math constant. For most constants, the value returned
201 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>
202 <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>,
203 <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
204 <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
205 an integer between 0 and 100 representing that percentage.</p>
206 <div class="refsect3">
207 <a name="hb-ot-math-get-constant.parameters"></a><h4>Parameters</h4>
208 <div class="informaltable"><table class="informaltable" width="100%" border="0">
210 <col width="150px" class="parameters_name">
211 <col class="parameters_description">
212 <col width="200px" class="parameters_annotations">
216 <td class="parameter_name"><p>font</p></td>
217 <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>
218 <td class="parameter_annotations"> </td>
221 <td class="parameter_name"><p>constant</p></td>
222 <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>
223 <td class="parameter_annotations"> </td>
228 <div class="refsect3">
229 <a name="hb-ot-math-get-constant.returns"></a><h4>Returns</h4>
230 <p> the requested constant or zero</p>
232 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
235 <div class="refsect2">
236 <a name="hb-ot-math-get-glyph-italics-correction"></a><h3>hb_ot_math_get_glyph_italics_correction ()</h3>
237 <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>
238 hb_ot_math_get_glyph_italics_correction
239 (<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>,
240 <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>
241 <p>Fetches an italics-correction value (if one exists) for the specified
243 <div class="refsect3">
244 <a name="hb-ot-math-get-glyph-italics-correction.parameters"></a><h4>Parameters</h4>
245 <div class="informaltable"><table class="informaltable" width="100%" border="0">
247 <col width="150px" class="parameters_name">
248 <col class="parameters_description">
249 <col width="200px" class="parameters_annotations">
253 <td class="parameter_name"><p>font</p></td>
254 <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>
255 <td class="parameter_annotations"> </td>
258 <td class="parameter_name"><p>glyph</p></td>
259 <td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td>
260 <td class="parameter_annotations"> </td>
265 <div class="refsect3">
266 <a name="hb-ot-math-get-glyph-italics-correction.returns"></a><h4>Returns</h4>
267 <p> the italics correction of the glyph or zero</p>
269 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
272 <div class="refsect2">
273 <a name="hb-ot-math-get-glyph-top-accent-attachment"></a><h3>hb_ot_math_get_glyph_top_accent_attachment ()</h3>
274 <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>
275 hb_ot_math_get_glyph_top_accent_attachment
276 (<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>,
277 <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>
278 <p>Fetches a top-accent-attachment value (if one exists) for the specified
280 <p>For any glyph that does not have a top-accent-attachment value - that is,
281 a glyph not covered by the <code class="literal">MathTopAccentAttachment</code> table (or, when
282 <em class="parameter"><code>font</code></em>
283 has no <code class="literal">MathTopAccentAttachment</code> table or no <code class="literal">MATH</code> table, any
284 glyph) - the function synthesizes a value, returning the position at
285 one-half the glyph's advance width.</p>
286 <div class="refsect3">
287 <a name="hb-ot-math-get-glyph-top-accent-attachment.parameters"></a><h4>Parameters</h4>
288 <div class="informaltable"><table class="informaltable" width="100%" border="0">
290 <col width="150px" class="parameters_name">
291 <col class="parameters_description">
292 <col width="200px" class="parameters_annotations">
296 <td class="parameter_name"><p>font</p></td>
297 <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>
298 <td class="parameter_annotations"> </td>
301 <td class="parameter_name"><p>glyph</p></td>
302 <td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td>
303 <td class="parameter_annotations"> </td>
308 <div class="refsect3">
309 <a name="hb-ot-math-get-glyph-top-accent-attachment.returns"></a><h4>Returns</h4>
310 <p> the top accent attachment of the glyph or 0.5 * the advance
311 width of <em class="parameter"><code>glyph</code></em>
314 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
317 <div class="refsect2">
318 <a name="hb-ot-math-get-glyph-kerning"></a><h3>hb_ot_math_get_glyph_kerning ()</h3>
319 <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>
320 hb_ot_math_get_glyph_kerning (<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>,
321 <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>,
322 <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>,
323 <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>
324 <p>Fetches the math kerning (cut-ins) value for the specified font, glyph index, and
325 <em class="parameter"><code>kern</code></em>
327 <p>If the MathKern table is found, the function examines it to find a height
328 value that is greater or equal to <em class="parameter"><code>correction_height</code></em>
330 value is found, corresponding kerning value from the table is returned. If
331 no such height value is found, the last kerning value is returned.</p>
332 <div class="refsect3">
333 <a name="hb-ot-math-get-glyph-kerning.parameters"></a><h4>Parameters</h4>
334 <div class="informaltable"><table class="informaltable" width="100%" border="0">
336 <col width="150px" class="parameters_name">
337 <col class="parameters_description">
338 <col width="200px" class="parameters_annotations">
342 <td class="parameter_name"><p>font</p></td>
343 <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>
344 <td class="parameter_annotations"> </td>
347 <td class="parameter_name"><p>glyph</p></td>
348 <td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td>
349 <td class="parameter_annotations"> </td>
352 <td class="parameter_name"><p>kern</p></td>
353 <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>
354 <td class="parameter_annotations"> </td>
357 <td class="parameter_name"><p>correction_height</p></td>
358 <td class="parameter_description"><p>the correction height to use to determine the kerning.</p></td>
359 <td class="parameter_annotations"> </td>
364 <div class="refsect3">
365 <a name="hb-ot-math-get-glyph-kerning.returns"></a><h4>Returns</h4>
366 <p> requested kerning value or zero</p>
368 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
371 <div class="refsect2">
372 <a name="hb-ot-math-is-glyph-extended-shape"></a><h3>hb_ot_math_is_glyph_extended_shape ()</h3>
373 <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>
374 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>,
375 <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>
376 <p>Tests whether the given glyph index is an extended shape in the face.</p>
377 <div class="refsect3">
378 <a name="hb-ot-math-is-glyph-extended-shape.parameters"></a><h4>Parameters</h4>
379 <div class="informaltable"><table class="informaltable" width="100%" border="0">
381 <col width="150px" class="parameters_name">
382 <col class="parameters_description">
383 <col width="200px" class="parameters_annotations">
387 <td class="parameter_name"><p>face</p></td>
388 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td>
389 <td class="parameter_annotations"> </td>
392 <td class="parameter_name"><p>glyph</p></td>
393 <td class="parameter_description"><p>The glyph index to test</p></td>
394 <td class="parameter_annotations"> </td>
399 <div class="refsect3">
400 <a name="hb-ot-math-is-glyph-extended-shape.returns"></a><h4>Returns</h4>
401 <p> true if the glyph is an extended shape, false otherwise</p>
403 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
406 <div class="refsect2">
407 <a name="hb-ot-math-get-glyph-variants"></a><h3>hb_ot_math_get_glyph_variants ()</h3>
408 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
409 hb_ot_math_get_glyph_variants (<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>,
410 <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>,
411 <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>,
412 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
413 <em class="parameter"><code>unsigned <span class="type">int</span> *variants_count</code></em>,
414 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t"><span class="type">hb_ot_math_glyph_variant_t</span></a> *variants</code></em>);</pre>
415 <p>Fetches the MathGlyphConstruction for the specified font, glyph index, and
416 direction. The corresponding list of size variants is returned as a list of
417 <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t"><span class="type">hb_ot_math_glyph_variant_t</span></a> structs.</p>
418 <div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal
419 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>
420 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
422 <div class="refsect3">
423 <a name="hb-ot-math-get-glyph-variants.parameters"></a><h4>Parameters</h4>
424 <div class="informaltable"><table class="informaltable" width="100%" border="0">
426 <col width="150px" class="parameters_name">
427 <col class="parameters_description">
428 <col width="200px" class="parameters_annotations">
432 <td class="parameter_name"><p>font</p></td>
433 <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>
434 <td class="parameter_annotations"> </td>
437 <td class="parameter_name"><p>glyph</p></td>
438 <td class="parameter_description"><p>The index of the glyph to stretch</p></td>
439 <td class="parameter_annotations"> </td>
442 <td class="parameter_name"><p>direction</p></td>
443 <td class="parameter_description"><p>The direction of the stretching (horizontal or vertical)</p></td>
444 <td class="parameter_annotations"> </td>
447 <td class="parameter_name"><p>start_offset</p></td>
448 <td class="parameter_description"><p>offset of the first variant to retrieve</p></td>
449 <td class="parameter_annotations"> </td>
452 <td class="parameter_name"><p>variants_count</p></td>
453 <td class="parameter_description"><p>Input = the maximum number of variants to return;
454 Output = the actual number of variants returned. </p></td>
455 <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>
458 <td class="parameter_name"><p>variants</p></td>
459 <td class="parameter_description"><p>array of variants returned. </p></td>
460 <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>
465 <div class="refsect3">
466 <a name="hb-ot-math-get-glyph-variants.returns"></a><h4>Returns</h4>
467 <p> the total number of size variants available or zero</p>
469 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
472 <div class="refsect2">
473 <a name="hb-ot-math-get-min-connector-overlap"></a><h3>hb_ot_math_get_min_connector_overlap ()</h3>
474 <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>
475 hb_ot_math_get_min_connector_overlap (<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>,
476 <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>
477 <p>Fetches the MathVariants table for the specified font and returns the
478 minimum overlap of connecting glyphs that are required to draw a glyph
479 assembly in the specified direction.</p>
480 <div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal
481 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>
482 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
484 <div class="refsect3">
485 <a name="hb-ot-math-get-min-connector-overlap.parameters"></a><h4>Parameters</h4>
486 <div class="informaltable"><table class="informaltable" width="100%" border="0">
488 <col width="150px" class="parameters_name">
489 <col class="parameters_description">
490 <col width="200px" class="parameters_annotations">
494 <td class="parameter_name"><p>font</p></td>
495 <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>
496 <td class="parameter_annotations"> </td>
499 <td class="parameter_name"><p>direction</p></td>
500 <td class="parameter_description"><p>direction of the stretching (horizontal or vertical)</p></td>
501 <td class="parameter_annotations"> </td>
506 <div class="refsect3">
507 <a name="hb-ot-math-get-min-connector-overlap.returns"></a><h4>Returns</h4>
508 <p> requested minimum connector overlap or zero</p>
510 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
513 <div class="refsect2">
514 <a name="hb-ot-math-get-glyph-assembly"></a><h3>hb_ot_math_get_glyph_assembly ()</h3>
515 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
516 hb_ot_math_get_glyph_assembly (<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>,
517 <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>,
518 <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>,
519 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
520 <em class="parameter"><code>unsigned <span class="type">int</span> *parts_count</code></em>,
521 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t"><span class="type">hb_ot_math_glyph_part_t</span></a> *parts</code></em>,
522 <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>
523 <p>Fetches the GlyphAssembly for the specified font, glyph index, and direction.
524 Returned are a list of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t"><span class="type">hb_ot_math_glyph_part_t</span></a> glyph parts that can be
525 used to draw the glyph and an italics-correction value (if one is defined
527 <div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal
528 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>
529 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
531 <div class="refsect3">
532 <a name="hb-ot-math-get-glyph-assembly.parameters"></a><h4>Parameters</h4>
533 <div class="informaltable"><table class="informaltable" width="100%" border="0">
535 <col width="150px" class="parameters_name">
536 <col class="parameters_description">
537 <col width="200px" class="parameters_annotations">
541 <td class="parameter_name"><p>font</p></td>
542 <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>
543 <td class="parameter_annotations"> </td>
546 <td class="parameter_name"><p>glyph</p></td>
547 <td class="parameter_description"><p>The index of the glyph to stretch</p></td>
548 <td class="parameter_annotations"> </td>
551 <td class="parameter_name"><p>direction</p></td>
552 <td class="parameter_description"><p>direction of the stretching (horizontal or vertical)</p></td>
553 <td class="parameter_annotations"> </td>
556 <td class="parameter_name"><p>start_offset</p></td>
557 <td class="parameter_description"><p>offset of the first glyph part to retrieve</p></td>
558 <td class="parameter_annotations"> </td>
561 <td class="parameter_name"><p>parts_count</p></td>
562 <td class="parameter_description"><p>Input = maximum number of glyph parts to return;
563 Output = actual number of parts returned. </p></td>
564 <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>
567 <td class="parameter_name"><p>parts</p></td>
568 <td class="parameter_description"><p>the glyph parts returned. </p></td>
569 <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>
572 <td class="parameter_name"><p>italics_correction</p></td>
573 <td class="parameter_description"><p>italics correction of the glyph assembly. </p></td>
574 <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>
579 <div class="refsect3">
580 <a name="hb-ot-math-get-glyph-assembly.returns"></a><h4>Returns</h4>
581 <p> the total number of parts in the glyph assembly</p>
583 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
586 <div class="refsect1">
587 <a name="harfbuzz-hb-ot-math.other_details"></a><h2>Types and Values</h2>
588 <div class="refsect2">
589 <a name="HB-OT-TAG-MATH:CAPS"></a><h3>HB_OT_TAG_MATH</h3>
590 <pre class="programlisting">#define HB_OT_TAG_MATH HB_TAG('M','A','T','H')
594 <div class="refsect2">
595 <a name="HB-OT-MATH-SCRIPT:CAPS"></a><h3>HB_OT_MATH_SCRIPT</h3>
596 <pre class="programlisting">#define HB_OT_MATH_SCRIPT HB_TAG('m','a','t','h')
600 <div class="refsect2">
601 <a name="hb-ot-math-constant-t"></a><h3>enum hb_ot_math_constant_t</h3>
602 <p>The 'MATH' table constants specified at
603 https://docs.microsoft.com/en-us/typography/opentype/spec/math</p>
604 <div class="refsect3">
605 <a name="hb-ot-math-constant-t.members"></a><h4>Members</h4>
606 <div class="informaltable"><table class="informaltable" width="100%" border="0">
608 <col width="300px" class="enum_members_name">
609 <col class="enum_members_description">
610 <col width="200px" class="enum_members_annotations">
614 <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>
619 <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>
624 <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>
629 <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>
634 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-MATH-LEADING:CAPS"></a>HB_OT_MATH_CONSTANT_MATH_LEADING</p></td>
639 <td class="enum_member_name"><p><a name="HB-OT-MATH-CONSTANT-AXIS-HEIGHT:CAPS"></a>HB_OT_MATH_CONSTANT_AXIS_HEIGHT</p></td>
644 <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>
649 <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>
654 <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>
659 <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>
664 <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>
669 <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>
674 <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>
679 <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>
684 <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>
689 <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>
694 <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>
699 <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>
704 <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>
709 <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>
714 <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>
719 <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>
724 <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>
729 <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>
734 <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>
739 <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>
744 <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>
749 <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>
754 <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>
759 <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>
764 <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>
769 <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>
774 <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>
779 <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>
784 <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>
789 <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>
794 <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>
799 <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>
804 <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>
809 <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>
814 <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>
819 <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>
824 <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>
829 <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>
834 <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>
839 <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>
844 <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>
849 <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>
854 <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>
859 <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>
864 <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>
869 <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>
874 <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>
879 <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>
884 <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>
889 <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>
896 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
899 <div class="refsect2">
900 <a name="hb-ot-math-kern-t"></a><h3>enum hb_ot_math_kern_t</h3>
901 <p>The math kerning-table types defined for the four corners
903 <div class="refsect3">
904 <a name="hb-ot-math-kern-t.members"></a><h4>Members</h4>
905 <div class="informaltable"><table class="informaltable" width="100%" border="0">
907 <col width="300px" class="enum_members_name">
908 <col class="enum_members_description">
909 <col width="200px" class="enum_members_annotations">
913 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-TOP-RIGHT:CAPS"></a>HB_OT_MATH_KERN_TOP_RIGHT</p></td>
918 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-TOP-LEFT:CAPS"></a>HB_OT_MATH_KERN_TOP_LEFT</p></td>
923 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-BOTTOM-RIGHT:CAPS"></a>HB_OT_MATH_KERN_BOTTOM_RIGHT</p></td>
928 <td class="enum_member_name"><p><a name="HB-OT-MATH-KERN-BOTTOM-LEFT:CAPS"></a>HB_OT_MATH_KERN_BOTTOM_LEFT</p></td>
935 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
938 <div class="refsect2">
939 <a name="hb-ot-math-glyph-variant-t"></a><h3>hb_ot_math_glyph_variant_t</h3>
940 <pre class="programlisting">typedef struct {
941 hb_codepoint_t glyph;
942 hb_position_t advance;
943 } hb_ot_math_glyph_variant_t;
945 <p>Data type to hold math-variant information for a glyph.</p>
946 <div class="refsect3">
947 <a name="hb-ot-math-glyph-variant-t.members"></a><h4>Members</h4>
948 <div class="informaltable"><table class="informaltable" width="100%" border="0">
950 <col width="300px" class="struct_members_name">
951 <col class="struct_members_description">
952 <col width="200px" class="struct_members_annotations">
956 <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.glyph"></a>glyph</code></em>;</p></td>
957 <td class="struct_member_description"><p>The glyph index of the variant</p></td>
958 <td class="struct_member_annotations"> </td>
961 <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.advance"></a>advance</code></em>;</p></td>
962 <td class="struct_member_description"><p>The advance width of the variant</p></td>
963 <td class="struct_member_annotations"> </td>
968 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
971 <div class="refsect2">
972 <a name="hb-ot-math-glyph-part-flags-t"></a><h3>enum hb_ot_math_glyph_part_flags_t</h3>
973 <p>Flags for math glyph parts.</p>
974 <div class="refsect3">
975 <a name="hb-ot-math-glyph-part-flags-t.members"></a><h4>Members</h4>
976 <div class="informaltable"><table class="informaltable" width="100%" border="0">
978 <col width="300px" class="enum_members_name">
979 <col class="enum_members_description">
980 <col width="200px" class="enum_members_annotations">
983 <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>
989 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
992 <div class="refsect2">
993 <a name="hb-ot-math-glyph-part-t"></a><h3>hb_ot_math_glyph_part_t</h3>
994 <pre class="programlisting">typedef struct {
995 hb_codepoint_t glyph;
996 hb_position_t start_connector_length;
997 hb_position_t end_connector_length;
998 hb_position_t full_advance;
999 hb_ot_math_glyph_part_flags_t flags;
1000 } hb_ot_math_glyph_part_t;
1002 <p>Data type to hold information for a "part" component of a math-variant glyph.
1003 Large variants for stretchable math glyphs (such as parentheses) can be constructed
1004 on the fly from parts.</p>
1005 <div class="refsect3">
1006 <a name="hb-ot-math-glyph-part-t.members"></a><h4>Members</h4>
1007 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1009 <col width="300px" class="struct_members_name">
1010 <col class="struct_members_description">
1011 <col width="200px" class="struct_members_annotations">
1015 <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.glyph"></a>glyph</code></em>;</p></td>
1016 <td class="struct_member_description"><p>The glyph index of the variant part</p></td>
1017 <td class="struct_member_annotations"> </td>
1020 <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.start-connector-length"></a>start_connector_length</code></em>;</p></td>
1021 <td class="struct_member_description"><p>The length of the connector on the starting side of the variant part</p></td>
1022 <td class="struct_member_annotations"> </td>
1025 <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.end-connector-length"></a>end_connector_length</code></em>;</p></td>
1026 <td class="struct_member_description"><p>The length of the connector on the ending side of the variant part</p></td>
1027 <td class="struct_member_annotations"> </td>
1030 <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.full-advance"></a>full_advance</code></em>;</p></td>
1031 <td class="struct_member_description"><p>The total advance of the part</p></td>
1032 <td class="struct_member_annotations"> </td>
1035 <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.flags"></a>flags</code></em>;</p></td>
1036 <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>
1037 <td class="struct_member_annotations"> </td>
1042 <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p>
1046 <div class="footer">
1047 <hr>Generated by GTK-Doc V1.32.1</div>