Imported Upstream version 2.6.7
[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="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">
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>
19 </td>
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>
24 </tr></table>
25 <div class="refentry">
26 <a name="harfbuzz-hb-ot-math"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
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>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
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">
37 <colgroup>
38 <col width="150px" class="functions_proto_type">
39 <col class="functions_proto_name">
40 </colgroup>
41 <tbody>
42 <tr>
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>
45 </td>
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>
48 </td>
49 </tr>
50 <tr>
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>
53 </td>
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>
56 </td>
57 </tr>
58 <tr>
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>
61 </td>
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>
64 </td>
65 </tr>
66 <tr>
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>
69 </td>
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>
72 </td>
73 </tr>
74 <tr>
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>
77 </td>
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>
80 </td>
81 </tr>
82 <tr>
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>
85 </td>
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>
88 </td>
89 </tr>
90 <tr>
91 <td class="function_type">unsigned <span class="returnvalue">int</span>
92 </td>
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>
95 </td>
96 </tr>
97 <tr>
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>
100 </td>
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>
103 </td>
104 </tr>
105 <tr>
106 <td class="function_type">unsigned <span class="returnvalue">int</span>
107 </td>
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>
110 </td>
111 </tr>
112 </tbody>
113 </table></div>
114 </div>
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">
118 <colgroup>
119 <col width="150px" class="other_proto_type">
120 <col class="other_proto_name">
121 </colgroup>
122 <tbody>
123 <tr>
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>
126 </tr>
127 <tr>
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>
130 </tr>
131 <tr>
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>
134 </tr>
135 <tr>
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>
138 </tr>
139 <tr>
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>
142 </tr>
143 <tr>
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>
146 </tr>
147 <tr>
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>
150 </tr>
151 </tbody>
152 </table></div>
153 </div>
154 <div class="refsect1">
155 <a name="harfbuzz-hb-ot-math.includes"></a><h2>Includes</h2>
156 <pre class="synopsis">#include &lt;hb-ot.h&gt;
157 </pre>
158 </div>
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>
165 </div>
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">
176 <colgroup>
177 <col width="150px" class="parameters_name">
178 <col class="parameters_description">
179 <col width="200px" class="parameters_annotations">
180 </colgroup>
181 <tbody><tr>
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>
185 </tr></tbody>
186 </table></div>
187 </div>
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>
191 </div>
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>
193 </div>
194 <hr>
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">
209 <colgroup>
210 <col width="150px" class="parameters_name">
211 <col class="parameters_description">
212 <col width="200px" class="parameters_annotations">
213 </colgroup>
214 <tbody>
215 <tr>
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>
219 </tr>
220 <tr>
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>
224 </tr>
225 </tbody>
226 </table></div>
227 </div>
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>
231 </div>
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>
233 </div>
234 <hr>
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
242 glyph index.</p>
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">
246 <colgroup>
247 <col width="150px" class="parameters_name">
248 <col class="parameters_description">
249 <col width="200px" class="parameters_annotations">
250 </colgroup>
251 <tbody>
252 <tr>
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>
256 </tr>
257 <tr>
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>
261 </tr>
262 </tbody>
263 </table></div>
264 </div>
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>
268 </div>
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>
270 </div>
271 <hr>
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
279 glyph index.</p>
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">
289 <colgroup>
290 <col width="150px" class="parameters_name">
291 <col class="parameters_description">
292 <col width="200px" class="parameters_annotations">
293 </colgroup>
294 <tbody>
295 <tr>
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>
299 </tr>
300 <tr>
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>
304 </tr>
305 </tbody>
306 </table></div>
307 </div>
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>
312 </p>
313 </div>
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>
315 </div>
316 <hr>
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>
326 . </p>
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>
329 . If such a height
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">
335 <colgroup>
336 <col width="150px" class="parameters_name">
337 <col class="parameters_description">
338 <col width="200px" class="parameters_annotations">
339 </colgroup>
340 <tbody>
341 <tr>
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>
345 </tr>
346 <tr>
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>
350 </tr>
351 <tr>
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>
355 </tr>
356 <tr>
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>
360 </tr>
361 </tbody>
362 </table></div>
363 </div>
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>
367 </div>
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>
369 </div>
370 <hr>
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">
380 <colgroup>
381 <col width="150px" class="parameters_name">
382 <col class="parameters_description">
383 <col width="200px" class="parameters_annotations">
384 </colgroup>
385 <tbody>
386 <tr>
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>
390 </tr>
391 <tr>
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>
395 </tr>
396 </tbody>
397 </table></div>
398 </div>
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>
402 </div>
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>
404 </div>
405 <hr>
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
421 considered.</div>
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">
425 <colgroup>
426 <col width="150px" class="parameters_name">
427 <col class="parameters_description">
428 <col width="200px" class="parameters_annotations">
429 </colgroup>
430 <tbody>
431 <tr>
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>
435 </tr>
436 <tr>
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>
440 </tr>
441 <tr>
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>
445 </tr>
446 <tr>
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>
450 </tr>
451 <tr>
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>
456 </tr>
457 <tr>
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>
461 </tr>
462 </tbody>
463 </table></div>
464 </div>
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>
468 </div>
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>
470 </div>
471 <hr>
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
483 considered.</div>
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">
487 <colgroup>
488 <col width="150px" class="parameters_name">
489 <col class="parameters_description">
490 <col width="200px" class="parameters_annotations">
491 </colgroup>
492 <tbody>
493 <tr>
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>
497 </tr>
498 <tr>
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>
502 </tr>
503 </tbody>
504 </table></div>
505 </div>
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>
509 </div>
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>
511 </div>
512 <hr>
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
526 in the font).</p>
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
530 considered.</div>
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">
534 <colgroup>
535 <col width="150px" class="parameters_name">
536 <col class="parameters_description">
537 <col width="200px" class="parameters_annotations">
538 </colgroup>
539 <tbody>
540 <tr>
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>
544 </tr>
545 <tr>
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>
549 </tr>
550 <tr>
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>
554 </tr>
555 <tr>
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>
559 </tr>
560 <tr>
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>
565 </tr>
566 <tr>
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>
570 </tr>
571 <tr>
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>
575 </tr>
576 </tbody>
577 </table></div>
578 </div>
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>
582 </div>
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>
584 </div>
585 </div>
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')
591 </pre>
592 </div>
593 <hr>
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')
597 </pre>
598 </div>
599 <hr>
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">
607 <colgroup>
608 <col width="300px" class="enum_members_name">
609 <col class="enum_members_description">
610 <col width="200px" class="enum_members_annotations">
611 </colgroup>
612 <tbody>
613 <tr>
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>
615 <td> </td>
616 <td> </td>
617 </tr>
618 <tr>
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>
620 <td> </td>
621 <td> </td>
622 </tr>
623 <tr>
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>
625 <td> </td>
626 <td> </td>
627 </tr>
628 <tr>
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>
630 <td> </td>
631 <td> </td>
632 </tr>
633 <tr>
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>
635 <td> </td>
636 <td> </td>
637 </tr>
638 <tr>
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>
640 <td> </td>
641 <td> </td>
642 </tr>
643 <tr>
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>
645 <td> </td>
646 <td> </td>
647 </tr>
648 <tr>
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>
650 <td> </td>
651 <td> </td>
652 </tr>
653 <tr>
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>
655 <td> </td>
656 <td> </td>
657 </tr>
658 <tr>
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>
660 <td> </td>
661 <td> </td>
662 </tr>
663 <tr>
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>
665 <td> </td>
666 <td> </td>
667 </tr>
668 <tr>
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>
670 <td> </td>
671 <td> </td>
672 </tr>
673 <tr>
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>
675 <td> </td>
676 <td> </td>
677 </tr>
678 <tr>
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>
680 <td> </td>
681 <td> </td>
682 </tr>
683 <tr>
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>
685 <td> </td>
686 <td> </td>
687 </tr>
688 <tr>
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>
690 <td> </td>
691 <td> </td>
692 </tr>
693 <tr>
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>
695 <td> </td>
696 <td> </td>
697 </tr>
698 <tr>
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>
700 <td> </td>
701 <td> </td>
702 </tr>
703 <tr>
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>
705 <td> </td>
706 <td> </td>
707 </tr>
708 <tr>
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>
710 <td> </td>
711 <td> </td>
712 </tr>
713 <tr>
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>
715 <td> </td>
716 <td> </td>
717 </tr>
718 <tr>
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>
720 <td> </td>
721 <td> </td>
722 </tr>
723 <tr>
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>
725 <td> </td>
726 <td> </td>
727 </tr>
728 <tr>
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>
730 <td> </td>
731 <td> </td>
732 </tr>
733 <tr>
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>
735 <td> </td>
736 <td> </td>
737 </tr>
738 <tr>
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>
740 <td> </td>
741 <td> </td>
742 </tr>
743 <tr>
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>
745 <td> </td>
746 <td> </td>
747 </tr>
748 <tr>
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>
750 <td> </td>
751 <td> </td>
752 </tr>
753 <tr>
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>
755 <td> </td>
756 <td> </td>
757 </tr>
758 <tr>
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>
760 <td> </td>
761 <td> </td>
762 </tr>
763 <tr>
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>
765 <td> </td>
766 <td> </td>
767 </tr>
768 <tr>
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>
770 <td> </td>
771 <td> </td>
772 </tr>
773 <tr>
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>
775 <td> </td>
776 <td> </td>
777 </tr>
778 <tr>
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>
780 <td> </td>
781 <td> </td>
782 </tr>
783 <tr>
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>
785 <td> </td>
786 <td> </td>
787 </tr>
788 <tr>
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>
790 <td> </td>
791 <td> </td>
792 </tr>
793 <tr>
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>
795 <td> </td>
796 <td> </td>
797 </tr>
798 <tr>
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>
800 <td> </td>
801 <td> </td>
802 </tr>
803 <tr>
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>
805 <td> </td>
806 <td> </td>
807 </tr>
808 <tr>
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>
810 <td> </td>
811 <td> </td>
812 </tr>
813 <tr>
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>
815 <td> </td>
816 <td> </td>
817 </tr>
818 <tr>
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>
820 <td> </td>
821 <td> </td>
822 </tr>
823 <tr>
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>
825 <td> </td>
826 <td> </td>
827 </tr>
828 <tr>
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>
830 <td> </td>
831 <td> </td>
832 </tr>
833 <tr>
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>
835 <td> </td>
836 <td> </td>
837 </tr>
838 <tr>
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>
840 <td> </td>
841 <td> </td>
842 </tr>
843 <tr>
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>
845 <td> </td>
846 <td> </td>
847 </tr>
848 <tr>
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>
850 <td> </td>
851 <td> </td>
852 </tr>
853 <tr>
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>
855 <td> </td>
856 <td> </td>
857 </tr>
858 <tr>
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>
860 <td> </td>
861 <td> </td>
862 </tr>
863 <tr>
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>
865 <td> </td>
866 <td> </td>
867 </tr>
868 <tr>
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>
870 <td> </td>
871 <td> </td>
872 </tr>
873 <tr>
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>
875 <td> </td>
876 <td> </td>
877 </tr>
878 <tr>
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>
880 <td> </td>
881 <td> </td>
882 </tr>
883 <tr>
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>
885 <td> </td>
886 <td> </td>
887 </tr>
888 <tr>
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>
890 <td> </td>
891 <td> </td>
892 </tr>
893 </tbody>
894 </table></div>
895 </div>
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>
897 </div>
898 <hr>
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
902 of a glyph.</p>
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">
906 <colgroup>
907 <col width="300px" class="enum_members_name">
908 <col class="enum_members_description">
909 <col width="200px" class="enum_members_annotations">
910 </colgroup>
911 <tbody>
912 <tr>
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>
914 <td> </td>
915 <td> </td>
916 </tr>
917 <tr>
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>
919 <td> </td>
920 <td> </td>
921 </tr>
922 <tr>
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>
924 <td> </td>
925 <td> </td>
926 </tr>
927 <tr>
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>
929 <td> </td>
930 <td> </td>
931 </tr>
932 </tbody>
933 </table></div>
934 </div>
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>
936 </div>
937 <hr>
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;
944 </pre>
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">
949 <colgroup>
950 <col width="300px" class="struct_members_name">
951 <col class="struct_members_description">
952 <col width="200px" class="struct_members_annotations">
953 </colgroup>
954 <tbody>
955 <tr>
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>
959 </tr>
960 <tr>
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>
964 </tr>
965 </tbody>
966 </table></div>
967 </div>
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>
969 </div>
970 <hr>
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">
977 <colgroup>
978 <col width="300px" class="enum_members_name">
979 <col class="enum_members_description">
980 <col width="200px" class="enum_members_annotations">
981 </colgroup>
982 <tbody><tr>
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>
984 <td> </td>
985 <td> </td>
986 </tr></tbody>
987 </table></div>
988 </div>
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>
990 </div>
991 <hr>
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;
1001 </pre>
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">
1008 <colgroup>
1009 <col width="300px" class="struct_members_name">
1010 <col class="struct_members_description">
1011 <col width="200px" class="struct_members_annotations">
1012 </colgroup>
1013 <tbody>
1014 <tr>
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>
1018 </tr>
1019 <tr>
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>
1023 </tr>
1024 <tr>
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>
1028 </tr>
1029 <tr>
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>
1033 </tr>
1034 <tr>
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>
1038 </tr>
1039 </tbody>
1040 </table></div>
1041 </div>
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>
1043 </div>
1044 </div>
1045 </div>
1046 <div class="footer">
1047 <hr>Generated by GTK-Doc V1.32.1</div>
1048 </body>
1049 </html>