Imported Upstream version 2.6.4
[platform/upstream/harfbuzz.git] / docs / html / harfbuzz-hb-ot-math.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
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">
13 </head>
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>
20 </td>
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>
25 </tr></table>
26 <div class="refentry">
27 <a name="harfbuzz-hb-ot-math"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
29 <td valign="top">
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>
32 </td>
33 <td class="gallery_image" valign="top" align="right"></td>
34 </tr></table></div>
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">
38 <colgroup>
39 <col width="150px" class="functions_return">
40 <col class="functions_name">
41 </colgroup>
42 <tbody>
43 <tr>
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>
46 </td>
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>
49 </td>
50 </tr>
51 <tr>
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>
54 </td>
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>
57 </td>
58 </tr>
59 <tr>
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>
62 </td>
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>
65 </td>
66 </tr>
67 <tr>
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>
70 </td>
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>
73 </td>
74 </tr>
75 <tr>
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>
78 </td>
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>
81 </td>
82 </tr>
83 <tr>
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>
86 </td>
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>
89 </td>
90 </tr>
91 <tr>
92 <td class="function_type">unsigned <span class="returnvalue">int</span>
93 </td>
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>
96 </td>
97 </tr>
98 <tr>
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>
101 </td>
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>
104 </td>
105 </tr>
106 <tr>
107 <td class="function_type">unsigned <span class="returnvalue">int</span>
108 </td>
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>
111 </td>
112 </tr>
113 </tbody>
114 </table></div>
115 </div>
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">
119 <colgroup>
120 <col width="150px" class="name">
121 <col class="description">
122 </colgroup>
123 <tbody>
124 <tr>
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>
127 </tr>
128 <tr>
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>
131 </tr>
132 <tr>
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>
135 </tr>
136 <tr>
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>
139 </tr>
140 <tr>
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>
143 </tr>
144 <tr>
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>
147 </tr>
148 <tr>
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>
151 </tr>
152 </tbody>
153 </table></div>
154 </div>
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
165 </pre>
166 </div>
167 <div class="refsect1">
168 <a name="harfbuzz-hb-ot-math.includes"></a><h2>Includes</h2>
169 <pre class="synopsis">#include &lt;hb-ot.h&gt;
170 </pre>
171 </div>
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>
178 </div>
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">
189 <colgroup>
190 <col width="150px" class="parameters_name">
191 <col class="parameters_description">
192 <col width="200px" class="parameters_annotations">
193 </colgroup>
194 <tbody><tr>
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>
198 </tr></tbody>
199 </table></div>
200 </div>
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>
204 </div>
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>
206 </div>
207 <hr>
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">
222 <colgroup>
223 <col width="150px" class="parameters_name">
224 <col class="parameters_description">
225 <col width="200px" class="parameters_annotations">
226 </colgroup>
227 <tbody>
228 <tr>
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>
232 </tr>
233 <tr>
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>
237 </tr>
238 </tbody>
239 </table></div>
240 </div>
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>
244 </div>
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>
246 </div>
247 <hr>
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
255 glyph index.</p>
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">
259 <colgroup>
260 <col width="150px" class="parameters_name">
261 <col class="parameters_description">
262 <col width="200px" class="parameters_annotations">
263 </colgroup>
264 <tbody>
265 <tr>
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>
269 </tr>
270 <tr>
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>
274 </tr>
275 </tbody>
276 </table></div>
277 </div>
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>
281 </div>
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>
283 </div>
284 <hr>
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
292 glyph index.</p>
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">
302 <colgroup>
303 <col width="150px" class="parameters_name">
304 <col class="parameters_description">
305 <col width="200px" class="parameters_annotations">
306 </colgroup>
307 <tbody>
308 <tr>
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>
312 </tr>
313 <tr>
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>
317 </tr>
318 </tbody>
319 </table></div>
320 </div>
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>
325 </p>
326 </div>
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>
328 </div>
329 <hr>
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>
339 . </p>
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>
342 . If such a height
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">
348 <colgroup>
349 <col width="150px" class="parameters_name">
350 <col class="parameters_description">
351 <col width="200px" class="parameters_annotations">
352 </colgroup>
353 <tbody>
354 <tr>
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>
358 </tr>
359 <tr>
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>
363 </tr>
364 <tr>
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>
368 </tr>
369 <tr>
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>
373 </tr>
374 </tbody>
375 </table></div>
376 </div>
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>
380 </div>
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>
382 </div>
383 <hr>
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">
393 <colgroup>
394 <col width="150px" class="parameters_name">
395 <col class="parameters_description">
396 <col width="200px" class="parameters_annotations">
397 </colgroup>
398 <tbody>
399 <tr>
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>
403 </tr>
404 <tr>
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>
408 </tr>
409 </tbody>
410 </table></div>
411 </div>
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>
415 </div>
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>
417 </div>
418 <hr>
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
434 considered.</div>
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">
438 <colgroup>
439 <col width="150px" class="parameters_name">
440 <col class="parameters_description">
441 <col width="200px" class="parameters_annotations">
442 </colgroup>
443 <tbody>
444 <tr>
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>
448 </tr>
449 <tr>
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>
453 </tr>
454 <tr>
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>
458 </tr>
459 <tr>
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>
463 </tr>
464 <tr>
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>
469 </tr>
470 <tr>
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>
474 </tr>
475 </tbody>
476 </table></div>
477 </div>
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>
481 </div>
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>
483 </div>
484 <hr>
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
496 considered.</div>
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">
500 <colgroup>
501 <col width="150px" class="parameters_name">
502 <col class="parameters_description">
503 <col width="200px" class="parameters_annotations">
504 </colgroup>
505 <tbody>
506 <tr>
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>
510 </tr>
511 <tr>
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>
515 </tr>
516 </tbody>
517 </table></div>
518 </div>
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>
522 </div>
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>
524 </div>
525 <hr>
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
539 in the font).</p>
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
543 considered.</div>
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">
547 <colgroup>
548 <col width="150px" class="parameters_name">
549 <col class="parameters_description">
550 <col width="200px" class="parameters_annotations">
551 </colgroup>
552 <tbody>
553 <tr>
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>
557 </tr>
558 <tr>
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>
562 </tr>
563 <tr>
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>
567 </tr>
568 <tr>
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>
572 </tr>
573 <tr>
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>
578 </tr>
579 <tr>
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>
583 </tr>
584 <tr>
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>
588 </tr>
589 </tbody>
590 </table></div>
591 </div>
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>
595 </div>
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>
597 </div>
598 </div>
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')
604 </pre>
605 </div>
606 <hr>
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')
610 </pre>
611 </div>
612 <hr>
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">
620 <colgroup>
621 <col width="300px" class="enum_members_name">
622 <col class="enum_members_description">
623 <col width="200px" class="enum_members_annotations">
624 </colgroup>
625 <tbody>
626 <tr>
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>
628 <td> </td>
629 <td> </td>
630 </tr>
631 <tr>
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>
633 <td> </td>
634 <td> </td>
635 </tr>
636 <tr>
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>
638 <td> </td>
639 <td> </td>
640 </tr>
641 <tr>
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>
643 <td> </td>
644 <td> </td>
645 </tr>
646 <tr>
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>
648 <td> </td>
649 <td> </td>
650 </tr>
651 <tr>
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>
653 <td> </td>
654 <td> </td>
655 </tr>
656 <tr>
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>
658 <td> </td>
659 <td> </td>
660 </tr>
661 <tr>
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>
663 <td> </td>
664 <td> </td>
665 </tr>
666 <tr>
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>
668 <td> </td>
669 <td> </td>
670 </tr>
671 <tr>
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>
673 <td> </td>
674 <td> </td>
675 </tr>
676 <tr>
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>
678 <td> </td>
679 <td> </td>
680 </tr>
681 <tr>
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>
683 <td> </td>
684 <td> </td>
685 </tr>
686 <tr>
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>
688 <td> </td>
689 <td> </td>
690 </tr>
691 <tr>
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>
693 <td> </td>
694 <td> </td>
695 </tr>
696 <tr>
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>
698 <td> </td>
699 <td> </td>
700 </tr>
701 <tr>
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>
703 <td> </td>
704 <td> </td>
705 </tr>
706 <tr>
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>
708 <td> </td>
709 <td> </td>
710 </tr>
711 <tr>
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>
713 <td> </td>
714 <td> </td>
715 </tr>
716 <tr>
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>
718 <td> </td>
719 <td> </td>
720 </tr>
721 <tr>
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>
723 <td> </td>
724 <td> </td>
725 </tr>
726 <tr>
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>
728 <td> </td>
729 <td> </td>
730 </tr>
731 <tr>
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>
733 <td> </td>
734 <td> </td>
735 </tr>
736 <tr>
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>
738 <td> </td>
739 <td> </td>
740 </tr>
741 <tr>
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>
743 <td> </td>
744 <td> </td>
745 </tr>
746 <tr>
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>
748 <td> </td>
749 <td> </td>
750 </tr>
751 <tr>
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>
753 <td> </td>
754 <td> </td>
755 </tr>
756 <tr>
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>
758 <td> </td>
759 <td> </td>
760 </tr>
761 <tr>
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>
763 <td> </td>
764 <td> </td>
765 </tr>
766 <tr>
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>
768 <td> </td>
769 <td> </td>
770 </tr>
771 <tr>
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>
773 <td> </td>
774 <td> </td>
775 </tr>
776 <tr>
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>
778 <td> </td>
779 <td> </td>
780 </tr>
781 <tr>
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>
783 <td> </td>
784 <td> </td>
785 </tr>
786 <tr>
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>
788 <td> </td>
789 <td> </td>
790 </tr>
791 <tr>
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>
793 <td> </td>
794 <td> </td>
795 </tr>
796 <tr>
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>
798 <td> </td>
799 <td> </td>
800 </tr>
801 <tr>
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>
803 <td> </td>
804 <td> </td>
805 </tr>
806 <tr>
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>
808 <td> </td>
809 <td> </td>
810 </tr>
811 <tr>
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>
813 <td> </td>
814 <td> </td>
815 </tr>
816 <tr>
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>
818 <td> </td>
819 <td> </td>
820 </tr>
821 <tr>
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>
823 <td> </td>
824 <td> </td>
825 </tr>
826 <tr>
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>
828 <td> </td>
829 <td> </td>
830 </tr>
831 <tr>
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>
833 <td> </td>
834 <td> </td>
835 </tr>
836 <tr>
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>
838 <td> </td>
839 <td> </td>
840 </tr>
841 <tr>
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>
843 <td> </td>
844 <td> </td>
845 </tr>
846 <tr>
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>
848 <td> </td>
849 <td> </td>
850 </tr>
851 <tr>
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>
853 <td> </td>
854 <td> </td>
855 </tr>
856 <tr>
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>
858 <td> </td>
859 <td> </td>
860 </tr>
861 <tr>
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>
863 <td> </td>
864 <td> </td>
865 </tr>
866 <tr>
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>
868 <td> </td>
869 <td> </td>
870 </tr>
871 <tr>
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>
873 <td> </td>
874 <td> </td>
875 </tr>
876 <tr>
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>
878 <td> </td>
879 <td> </td>
880 </tr>
881 <tr>
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>
883 <td> </td>
884 <td> </td>
885 </tr>
886 <tr>
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>
888 <td> </td>
889 <td> </td>
890 </tr>
891 <tr>
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>
893 <td> </td>
894 <td> </td>
895 </tr>
896 <tr>
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>
898 <td> </td>
899 <td> </td>
900 </tr>
901 <tr>
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>
903 <td> </td>
904 <td> </td>
905 </tr>
906 </tbody>
907 </table></div>
908 </div>
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>
910 </div>
911 <hr>
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
915 of a glyph.</p>
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">
919 <colgroup>
920 <col width="300px" class="enum_members_name">
921 <col class="enum_members_description">
922 <col width="200px" class="enum_members_annotations">
923 </colgroup>
924 <tbody>
925 <tr>
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>
927 <td> </td>
928 <td> </td>
929 </tr>
930 <tr>
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>
932 <td> </td>
933 <td> </td>
934 </tr>
935 <tr>
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>
937 <td> </td>
938 <td> </td>
939 </tr>
940 <tr>
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>
942 <td> </td>
943 <td> </td>
944 </tr>
945 </tbody>
946 </table></div>
947 </div>
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>
949 </div>
950 <hr>
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;
957 </pre>
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">
962 <colgroup>
963 <col width="300px" class="struct_members_name">
964 <col class="struct_members_description">
965 <col width="200px" class="struct_members_annotations">
966 </colgroup>
967 <tbody>
968 <tr>
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>
972 </tr>
973 <tr>
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>
977 </tr>
978 </tbody>
979 </table></div>
980 </div>
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>
982 </div>
983 <hr>
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">
990 <colgroup>
991 <col width="300px" class="enum_members_name">
992 <col class="enum_members_description">
993 <col width="200px" class="enum_members_annotations">
994 </colgroup>
995 <tbody><tr>
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>
997 <td> </td>
998 <td> </td>
999 </tr></tbody>
1000 </table></div>
1001 </div>
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>
1003 </div>
1004 <hr>
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;
1014 </pre>
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">
1021 <colgroup>
1022 <col width="300px" class="struct_members_name">
1023 <col class="struct_members_description">
1024 <col width="200px" class="struct_members_annotations">
1025 </colgroup>
1026 <tbody>
1027 <tr>
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>
1031 </tr>
1032 <tr>
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>
1036 </tr>
1037 <tr>
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>
1041 </tr>
1042 <tr>
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>
1046 </tr>
1047 <tr>
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>
1051 </tr>
1052 </tbody>
1053 </table></div>
1054 </div>
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>
1056 </div>
1057 </div>
1058 </div>
1059 <div class="footer">
1060 <hr>Generated by GTK-Doc V1.29</div>
1061 </body>
1062 </html>